Commit Graph

1748 Commits

Author SHA1 Message Date
Jim Chen
e4028af97d Bug 1257319 - Update auto-generated bindings; r=me
Update auto-generated bindings. The jni-stubs.inc change is due to the
fact that we still have old-style native methods in GeckoAppShell.
2016-03-22 22:24:31 -04:00
Jim Chen
2025f2f89b Bug 1257319 - Add notifyObservers methods to GeckoAppShell; r=snorp
Add notifyObservers and the synchronous syncNotifyObservers methods to
GeckoAppShell to replace the BROADCAST event.
2016-03-22 22:24:31 -04:00
David Anderson
f3dc22db8d Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow)
--HG--
rename : gfx/layers/ipc/CompositorChild.cpp => gfx/layers/ipc/CompositorBridgeChild.cpp
rename : gfx/layers/ipc/CompositorChild.h => gfx/layers/ipc/CompositorBridgeChild.h
rename : gfx/layers/ipc/CompositorParent.cpp => gfx/layers/ipc/CompositorBridgeParent.cpp
rename : gfx/layers/ipc/CompositorParent.h => gfx/layers/ipc/CompositorBridgeParent.h
2016-03-22 14:08:38 -04:00
Nick Alexander
e90bd4aabb Bug 1256401 - Part 2: Remove references to b2gdroid. r=fabrice
MozReview-Commit-ID: 63yJGdgPbhe

--HG--
extra : rebase_source : 2256e0a12588703a83f4cba06971231ac3c64592
extra : amend_source : 1f35a04191f37225986bd7ff4d0b6b2c34a71b05
extra : histedit_source : 82d351700936c8e1297eeca91ce00f96340e2f2c
2016-03-18 14:41:51 -07:00
Jim Chen
15ee4d0aaa Bug 1255461 - Notify pref handlers when pseudo-prefs change; r=snorp
When "pseudo-prefs" change, the Java side expects the same change
notification as regular prefs.
2016-03-18 15:18:51 -04:00
Makoto Kato
a2d62a5ab3 Bug 1255707 - Part 1. Remove ContentCreationNotifier. r=snorp
ContentCreationNotifier is unnecessary because nsWindow::GetAndroidScreenBounds is ununsed after bug 1182665

MozReview-Commit-ID: JvchWCuxf96

--HG--
extra : rebase_source : 677e5701f3b1923fcd63f98f6f5d4b1bcc40884d
2016-03-15 11:40:12 +09:00
Masayuki Nakano
e65433cc66 Bug 1137572 part.3 Use pseudo IME context when TextEventDispatcher has input transaction which is not for native event handler r=smaug 2016-03-16 13:47:47 +09:00
Randall Barker
9a7d54c34b Bug 1251346 - Fennec should not generate touch events from mouse events. r=kats 2016-03-14 16:56:46 -07:00
Randall Barker
103ad74923 Bug 1248090 - Fix nsWindow::NPZCSupport unsafe usage of nsWindow::WidgetToScreenOffset r=snorp 2016-03-11 11:03:50 -08:00
Randall Barker
960adce8b4 Bug 1232338 - part 2, Fix mouse hover events to have correct refPoint value when C++APZ is enabled r=jchen 2016-03-11 11:03:50 -08:00
Jim Chen
2b624272eb Bug 1254629 - Ensure content root is in document when flushing IME changes; r=esawin
One work-around for the bug is to ensure that our content root is in a
document when flushing IME changes, because when an input becomes
hidden, the previous content root is removed from the document.
2016-03-11 13:47:22 -05:00
Jim Chen
fc50ab814f Bug 1254629 - Make onKeyEvent more efficient; r=esawin
When handling synthetic keys, don't remove existing compositions and
don't check for certain early exit conditions.
2016-03-11 13:47:22 -05:00
Mark Capella
aa9ca8ef90 Bug 1252802 - Web page scrolls when dragging caret in editable, r=snorp 2016-03-10 18:06:13 -05:00
Carsten "Tomcat" Book
6e681479dc Merge mozilla-central to fx-team 2016-03-04 13:40:08 +01:00
Sebastian Kaspari
d652a7e6b4 Bug 1240710 - Pick (temporary) download directory depending on whether permission has been granted. r=nalexander,paolo,jchen
As soon as the user clicks on a link to download a file Gecko will start the download - even before prompting the
user. This led to problems when the user hadn't granted the permission to write to the downloads directory yet. The
download would fail even though the user (later) accepted the permission.

With this patch we will start the download to the app's cache directory (only if we do not have the permission) and
prompt the user. As soon as the user has accepted the permission the download will be moved to the public downloads
directory (even while still downloading). If the permission is denied the download will be cancelled.

After the permission has been granted all subsequent downloads will start writing to the downloads directory
directly.


MozReview-Commit-ID: CCqk9h7Sxor

--HG--
extra : rebase_source : 1634a39dcf6fff2d8eca88e28b3f3fb72dc97540
2016-02-18 15:11:42 +00:00
Makoto Kato
cb4e448046 Bug 1252808 - Don't use mozilla_sampler_stop() directly. r=snorp
When SPS profiler is disabled (breakpad is disabled etc), mozilla_sampler_stop() is undefined.  We should use profiler_stop() instead.  profiler_stop calls mozilla_sampler_stop() when SPS profiler is built.

MozReview-Commit-ID: LmuDJEQV7Pr

--HG--
extra : rebase_source : 741a68fea1a76152d332c1ce97a926dab41d4073
2016-03-03 18:16:56 +09:00
Jim Chen
a0129dc275 Bug 1250314 - Let changes flush when committing or canceling composition; r=esawin
Flush IME changes when committing or canceling the composition, before
sending a notification, so that the Gecko and Java sides are on the same
page.

Also, use the GeckoEditableListener constants when calling notifyIME so
we don't rely on the Gecko platform constants having the same values as
our Java constants.
2016-02-26 14:38:57 -05:00
Milan Sreckovic
548b45eaca Bug 1249640: Part 4 Android to use new blocking. r=snorp 2016-02-22 14:23:00 +01:00
Bob
bd8cdd84ef Bug 730192 - allow headset controls to function by passing media keyevents through to Android OS; r=jchen 2016-03-01 07:49:54 -05:00
Kartikaya Gupta
eb1055aff7 Bug 1249943 - Make test_basic_pan work on Fennec and Linux as well. r=botond
This patch convers the APZ:TransformEnd notification from a MessageManager message
to an observer notification so that it is more general and works on other platforms.

MozReview-Commit-ID: 8SSir828Ch7
2016-02-25 11:15:14 -05:00
L. David Baron
e73ad62be0 Back out changeset 027c6cc12078 (bug 1249943) for making test_basic_pan.html permafail (timeout) on Linux, on a CLOSED TREE. 2016-02-24 15:57:29 -08:00
Kartikaya Gupta
2e5e8ea0d9 Bug 1249943 - Make test_basic_pan work on Fennec and Linux as well. r=botond
This patch convers the APZ:TransformEnd notification from a MessageManager message
to an observer notification so that it is more general and works on other platforms.

MozReview-Commit-ID: 8SSir828Ch7
2016-02-24 13:19:45 -05:00
Sebastian Hengst
61814a3698 Backed out changeset 21222476d9d9 (bug 1249640) 2016-02-24 19:01:29 +01:00
Milan Sreckovic
2a65d9908f Bug 1249640: Part 4 Android to use new blocking. r=snorp 2016-02-22 14:23:00 +01:00
Kartikaya Gupta
2548d417f5 Bug 1249915 - Add ability to synthesize native touch events on Fennec for mochitests. r=snorp
MozReview-Commit-ID: Dit8QhqJSYc
2016-02-23 10:17:46 -05:00
Edwin Flores
32d5c9e7b2 Bug 1246984 - Fix scrolling on Blackberry capacitive keyboard - r=kats 2016-02-22 09:36:22 +00:00
Jim Chen
f0b94011a2 Bug 1248695 - Check for null browser app object when handling UI telemetry events; r=snorp
The nsAppShell mBrowserApp object may not have been initialized when
handling UI telemetry events. In that case, we should bail instead of
crashing.
2016-02-16 16:57:49 -05:00
Randall Barker
0c9de745f2 Bug 1225936 - Support scroll events in APZ on Fennec r=kats,jchen 2016-02-12 15:00:34 -08:00
Jim Chen
47c75a8d3e Bug 1246788 - Properly synchronize and manage UI thread tasks; r=rbarker
Add proper synchronization to the UI thread task queue so we don't run
into race conditions. Also use UniquePtr to manage the contained task,
to fix a previous memory leak.
2016-02-10 18:54:55 -05:00
Jim Chen
c3f9472ecd Bug 1241558 - Don't ignore Gecko selection when Gecko commits composition; r=esawin
When Java is changing the composition, we should ignore the Gecko
selection. However, when Gecko is committing its composition, we should
not be ignoring the corresponding Gecko selection change. In other
words, we should only ignore selection changes when we know the change
is from Java.
2016-02-09 23:36:41 -05:00
Jim Chen
601b987884 Bug 1244875 - Update auto-generated bindings; r=me 2016-02-09 17:27:29 -05:00
Jim Chen
cea91f9d3e Bug 1244875 - Update JNI usages; r=snorp
Update JNI usages to match the changes in JNI templates.
2016-02-09 17:27:28 -05:00
Jim Chen
46edf980e0 Bug 1244875 - Refactor JNI templates; r=snorp
Improve the performance of JNI calls by making JNI calls require a
Context object. LocalRef inherits from Context and can make calls
directly. Non-local Ref classes will generate a Context object when
making a call. The patch also makes the template design cleaner in
several cases.
2016-02-09 17:27:28 -05:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jim Chen
6c833a3654 Bug 1243070 - Remove obsolete size-change code; r=snorp
Remove obsolete SIZE_CHANGED event and its handler in nsWindow. Also
remove some other supporting code (such as gAndroidBounds and the
FORCED_RESIZE event) that should be unnecessary by now.
2016-02-01 17:38:14 -05:00
Jim Chen
f25839a719 Bug 1243070 - Use native method to notify window size change; r=snorp
Convert the SIZE_CHANGED event to a native method in GLController, and
carry over the SIZE_CHANGED implementation to the new implementation in
GLController. Some other changes were made for correctness in handling
size changes.
2016-02-01 17:38:14 -05:00
Jim Chen
5e98c7369d Bug 1243069 - Control GeckoThread state entirely from C++ code; r=snorp
Right now, we rely on browser.js sending Gecko:Ready, to set the
GeckoThread state to RUNNING upon receiving Gecko:Ready. This patch
gets rid of this dependency on browser.js and Gecko:Ready.
2016-02-01 17:38:14 -05:00
Jim Chen
15812cbffb Bug 1243049 - Convert browser.js prefs code to use observer; r=margaret
Convert the old prefs code in browser.js to use observer notifications
that are sent by the new PrefsHelper implementation, in order to handle
pseudo-prefs.
2016-02-01 17:38:14 -05:00
Jim Chen
2b4561b520 Bug 1243049 - Implement new PrefsHelper native methods; r=snorp
Implement the PrefsHelper native methods. The previous browser.js
implementation supported "pseudo-prefs" that did not exist as actual
prefs, but was accessible through PrefsHelper. In order to accommodate
these pseudo-prefs, we send observer notifications in order to
communicate with browser.js about prefs that we don't support.
2016-02-01 17:38:13 -05:00
Jim Chen
4bf5d00b79 Bug 1243049 - Update native bindings for PrefsHelper; r=me
Update auto-generated native bindings for PrefsHelper.
2016-02-01 17:38:13 -05:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Phil Ringnalda
a39d6e46e4 Merge m-c to m-i 2016-01-30 09:43:42 -08:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Mark Capella
1cccfbae8e Bug 1240286 - Deleting text with backspace causes the action bar to glitch, r=smaug, TYLin, jchen 2016-01-30 00:08:55 -05:00
Kartikaya Gupta
661c759eec Bug 1243547 - Route scroll position adjusting for surface shifting directly to APZC. r=rbarker
--HG--
extra : commitid : 2aa3HgQj1wD
2016-01-28 16:00:05 -05:00
Randall Barker
567ea9f9c9 Bug 1230674 - part 3, Add overscroll api to GeckoContentController and AndroidContentController r=snorp,kats 2016-01-27 07:45:31 -08:00
Randall Barker
7f542bcf8f Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-27 07:45:31 -08:00
Randall Barker
128b372b50 Bug 1230674 - part 1, Add Overscroll API to NativePanZoomController r=snorp 2016-01-27 07:45:31 -08:00
AJ Kerrigan
f8ecfe01de Bug 1230750 - Export GENERATED_FILES headers from moz.build. r=ted.mielczarek
Add GENERATED_FILES headers to EXPORTS inside moz.build, and
remove associated Makefile.in rules.

--HG--
extra : transplant_source : %EC%0DbV%C3%5B%97%E7%E8f%E9%26%22F%F2%DB%27h%DAW
2016-01-24 02:19:45 -05:00
Sebastian Hengst
c44d227bee Backed out 5 changesets (bug 1230674) for webgl bustage and crashes. r=backout on a CLOSED TREE
Backed out changeset 07cdcb9b4565 (bug 1230674)
Backed out changeset d21d089c447f (bug 1230674)
Backed out changeset a26de45cdb6a (bug 1230674)
Backed out changeset 59ec0033bd22 (bug 1230674)
Backed out changeset 74a06f6d85e1 (bug 1230674)
2016-01-26 22:40:18 +01:00
Randall Barker
975d71eed8 Bug 1230674 - part 3, Add overscroll api to GeckoContentController and AndroidContentController r=snorp,kats 2016-01-26 12:02:51 -08:00
Randall Barker
9edb1640ea Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-26 12:02:51 -08:00
Randall Barker
1efc136470 Bug 1230674 - part 1, Add Overscroll API to NativePanZoomController r=snorp 2016-01-26 12:02:51 -08:00
Eugen Sawin
c8c5cdce50 Bug 1192539 - [1.3] Add MediaCodecList JNI query support. r=snorp 2016-01-26 13:50:51 +01:00
Carsten "Tomcat" Book
0886f9ef68 Merge mozilla-central to fx-team 2016-01-18 14:24:37 +01:00
Sebastian Kaspari
27711ce457 Bug 1227603 - Add support for sub-distributions based on MCC/MNC (SIM). r=margaret,mfinkle
We will now search for distributions in the following folders:

 * 1) Data distributions (APK or OTA):
   * 1.1) <dataDir>/distribution/<mcc>/<mnc> - For bundled distributions for specific network providers
   * 1.2) <dataDir>/distribution/<mcc>       - For bundled distributions for specific countries
   * 1.3) <dataDir>/distribution/default     - For bundled distributions with no matching mcc/mnc
   * 1.4) <dataDir>/distribution             - Default non-bundled distribution

 * 2) System distributions:
   * 2.1) /system/<package>/distribution/<mcc>/<mnc> - For bundled distributions for specific network providers
   * 2.2) /system/<package>/distribution/<mcc>       - For bundled distributions for specific countries
   * 2.3) /system/<package>/distribution/default     - For bundled distributions with no matching mcc/mnc
   * 2.4) /system/<package>/distribution             - Default non-bundled system distribution

--HG--
extra : commitid : BQteGpZX27n
extra : rebase_source : 34d4d468377a9b7487b734fdbb3a8a741828167f
extra : amend_source : b93804da7e3e97c46a3dd7a95da1c3b65e2a29d4
2016-01-15 10:11:34 +01:00
Jim Chen
11fce4fc7d Bug 1238761 - Autogenerate constants for MotionEvent; r=snorp
This patch autogenerates constants for MotionEvent to replace the manual
definitions in AndroidJavaWrappers.
2016-01-15 13:05:45 -05:00
Jim Chen
06c79783a7 Bug 1238761 - Remove obsolete APZ code; r=rbarker
With APZC supporting multiple nsWindows, this patch removes some
obsolete APZ code, including the previous implementation of
NativePanZoomController native methods in AndroidJNI.cpp, and the
various static members of nsWindow.
2016-01-15 13:05:45 -05:00
Jim Chen
fd05d10f32 Bug 1238761 - Rewrite AndroidContentController to work with multiple nsWindows; r=rbarker
This patch rewrites AndroidContentController to get rid of any
dependencies on a static nsWindow or APZC tree manager.
2016-01-15 13:05:45 -05:00
Jim Chen
4ae7f3043b Bug 1238761 - Attach NativePanZoomController through GLController; r=snorp
This patch adds a way to attach a particular NativePanZoomController
instance held by LayerView to a particular nsWindow instance. Because
LayerView already calls GLController.SetLayerClient during
initialization, this patch renames it to attachToJava and modifies it to
accept an additional NPZC parameter. In the new AttachToJava
implementation, we create or reuse a NPZCSupport object and associate it
with the NPZC instance.
2016-01-15 13:05:45 -05:00
Jim Chen
4f73924298 Bug 1238761 - Implement NativePanZoomController native methods; r=rbarker
This patch adds the NPZCSupport class to nsWindow and use it to
implement the NPZC native methods that were implemented in
AndroidJNI.cpp. For HandleMotionEvent, the code also includes a portion
from AndroidJavaWrapper::MakeMultitouchEvent.
2016-01-15 13:05:45 -05:00
Jim Chen
bd5c7ad120 Bug 1238761 - Add specializations of jni::Ref for primitive arrays; r=snorp
This patch adds specializations of jni::Ref for primitive arrays like
IntArray and FloatArray, so that the arrays can be accessed through the
GetElement, GetElements, and Length members.
2016-01-15 13:05:44 -05:00
Jim Chen
10166a711a Bug 1238761 - Switch NativePanZoomController to use native methods; r=rbarker
This patch turns NativePanZoomController's MotionEvent handler into a
native method, and it adds the WrapForJNI annotations to all native
methods so that bindings will be automatically generated for them.
2016-01-15 13:05:44 -05:00
Nicholas Nethercote
76dfc05b83 Bug 1239589 - Change nsBaseWidget::mBounds to a LayoutDeviceIntRect. r=kats.
This patch removes dozens of ToUnknown/FromUnknown conversions and doesn't add
any new ones, which is nice. It also removes UntypedDevPixelsToCocoaPoints(),
which is no longer needed.

--HG--
extra : rebase_source : 81288126b582402408518aecfc304bc128e05d15
2015-11-22 20:32:29 -08:00
Jim Chen
bd05e534d1 Bug 1238413 - Guard against drawing methods being called during compositor shutdown; r=snorp
When waiting for the compositor to shut down, it's possible for
nsWindow::DrawWindowunderlay and DrawWindowOverlay to be called. In that
case, the GL controller is already destroyed, and we should just bail.
2016-01-14 18:20:02 -05:00
Jan de Mooij
a057dc3075 Bug 1237201 part 9 - Fix remaining issues. r=nfroyd
--HG--
extra : rebase_source : fcb2bebb2a30c813b577d6f0f753cd04c69db2c3
2016-01-14 22:12:13 +01:00
Jim Chen
d07b0750ba Bug 1237932 - Fix crash when renewing EGL surface fails; r=snorp
We shouldn't crash when renewing an EGL surface fails, because the
compositor is able to handle it gracefully.
2016-01-13 14:35:27 -05:00
Jim Chen
85514b694a Bug 1237690 - Fix possible deadlock in nsAppShell::SyncRunEvent; r=snorp
In order to prevent the deadlock, we need to release sAppShellLock when
we start waiting in SyncRunEvent. However, we cannot simply unlock it
before the wait because that introduces an out-of-order unlocking wrt
mSyncRunMonitor, which can cause further deadlocks. So this patch
converts mSyncRunMoitor to a condvar and make it use sAppShellLock. That
then involves making aAppShellLock a Mutex instead of a StaticMutex. The
final result is having one lock (sAppShellLock), which supports any
other condvars that we have like mSyncRunFinished.
2016-01-13 14:35:27 -05:00
Jonathan Kew
84b8c3a0a4 Bug 890156 - patch 0.3 - Create a version of nsIWidget::Create that takes Desktop pixels, because that's what we actually need to pass in some cases. r=mstange 2016-01-13 07:32:55 +00:00
Jonathan Kew
3d48351585 Bug 890156 - patch 0.2 - Remove the (unused) aRect parameter from nsBaseWidget::BaseCreate. r=kats 2016-01-13 07:32:55 +00:00
Nicholas Nethercote
88696a303a Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
This patch:

- Makes the following substitutions (plus necessary namespace qualifiers:

    gfxImageFormat::ARGB32      --> SurfaceFormat::A8R8G8B8_UINT32
    gfxImageFormat::RGB24       --> SurfaceFormat::X8R8G8B8_UINT32
    gfxImageFormat::A8          --> SurfaceFormat::A8
    gfxImageFormat::RGB16_565   --> SurfaceFormat::R5G6B5_UINT16
    gfxImageFormat::Unknown     --> SurfaceFormat::UNKNOWN

- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
  removed soon.

- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
  replace calls to them with CairoFormatToGfxFormat() and
  GfxFormatToCairoFormat().

- Removes ParamTraits<gfxImageFormat>.

- Add namespace qualifiers to SurfaceFormat instances where necessary.

--HG--
extra : rebase_source : f56e92b1593957a9e4e00171100bc7605816e696
2016-01-07 20:57:38 -08:00
Carsten "Tomcat" Book
c3c9e7c565 merge mozilla-inbound to mozilla-central a=merge 2016-01-07 11:50:57 +01:00
Andrzej Hunt
b2f4ef185e Bug 826400 - Part 3: Simplify homescreen shortcut creation, and use apple-touch-icon if available r=nalexander,jchen
--HG--
extra : commitid : Lrq38uwy1sQ
2015-12-29 11:49:54 -08:00
Bob Owen
fdd98bfb6b Bug 1156742 Part 9: Add a new nsIDeviceContextSpec for proxied printing. r=roc
This also changes aPrintToFileName parameter for BeginDocument to an nsAString& from char16_t*.
Having a char16_t* caused a pain with VS2105 where wchar_t != char16_t (as on VS2103), after it had been sent over IPDL.
This could have been worked around with casting, but this seemed like the tidier solution.
2016-01-05 10:08:57 +00:00
Jim Chen
e9f77a4e94 Bug 1236654 - Properly shut down GLController on nsWindow closing; r=snorp
When nsWindow closes, notify GLController to shut down. To ensure any
pending calls on the UI thread are processed first, post a Runnable to
the UI thread that disposes the GLController on the UI thread.
2016-01-06 21:33:18 -05:00
Jim Chen
b1d1302458 Bug 1236643 - Reorder GeckoEditable destruction sequence; r=esawin
To guarantee that GeckoInputConnection and GeckoEditable are not used by
GeckoView after GeckoEditable has been destroyed, we need to make sure a
certain sequence is followed. We should first unset the
InputConnectionListener in GeckoView on the UI thread; then unset the
GeckoEditableListener on the IC thread; and finally finish destroying
the GeckoEditable instance through disposeNative. This patch merges this
logic with the initialization logic in GeckoEditable.onViewChange, so
that onViewChange can be used for both initialization and destruction.
2016-01-06 21:33:18 -05:00
Jim Chen
ae79cbc8c0 Bug 1236640 - Make selection change part of the IME change transaction; r=esawin
We notify IME text changes in transactions. We should make selection
change notification part of that transaction.
2016-01-06 21:33:18 -05:00
Jim Chen
4eb690b916 Bug 1235246 - Configure GeckoLayerClient after GLController is initialized; r=snorp
LayerView used to call GeckoLayerClient.onGeckoReady directly if Gecko
is sufficiently loaded. However, onGeckoReady indirectly calls
GLController.createCompositor, and it's possible for the
createCompositor event to be prioritized so that it happens before we
initialize GLController, causing a crash. This patch moves the
onGeckoReady call to the Gecko thread, after GLController is
initialized, to avoid this race condition.
2016-01-06 21:33:18 -05:00
Jim Chen
da40f09d48 Bug 1235246 - Only prioritize compositor events in GLController; r=snorp
Only three GLController events -- CreateCompositor, PauseCompositor, and
OnResumedCompositor should be prioritized through GLControllerEvent. The
other GLController events should follow the normal event queue ordering
to prevent race conditions.
2016-01-06 21:33:17 -05:00
Jim Chen
dd04b2cada Bug 1235475 - Crash at the exception source when an exception is in native code; r=snorp
When we have a Java exception in native code, the Java stack in the
exception will not be very useful because the top frame is the native
entry point. In this case, the native stack is more useful. However,
currently we don't get a good native stack in this situation because we
go through Java when handling the exception, and the native stack we get
will have a lot of unknown frames inside libdvm or libart. This patch
makes us stay in native code when handling an uncaught exception from
native code, so that we get a good native stack.
2015-12-30 18:36:41 -05:00
Jim Chen
c42db7f1e4 Bug 1233812 - Move SyncRunEvent to nsAppShell; r=snorp
This patch moves the SyncRunEvent logic from GLControllerSupport to
nsAppShell, as it could be useful elsewhere. This patch fixes a race
condition related to shutdown, where a deadlock could occur if Gecko
shuts down when another thread is waiting for a synchronous event to
finish running. This patch also fixes a crash on shutdown when we tried
to create a mutex after the deadlock detector has shut down.
2015-12-23 22:03:35 -05:00
Jim Chen
008886b9a1 Bug 1233812 - Fix possible race in accessing nsAppShell instance; r=snorp
When getting nsAppShell from another thread, there could be a race with
nsAppShell being destroyed on the main thread. This patch makes the raw
nsAppShell pointer only accessible from the main thread, and use a
static mutex to coordinate accessing nsAppShell from other threads.
2015-12-23 22:03:35 -05:00
Jim Chen
ac9893acc0 Bug 1233812 - Remove obsolete methods in GeckoAppShell; r=snorp
These methods were from the XUL Fennec days and are obsolete.
2015-12-23 22:03:35 -05:00
Jim Chen
e7f1a2326e Bug 1229403 - Use existing states if possible when initializing GeckoView; r=snorp
This patch changes onAttachedToWindow in GeckoView, so that if we have
states that have been restored, we use those states for initialization
instead of creating new states (e.g. opening a new nsWindow). Because
the GLController instance is associated with the nsWindow instance, we
need to keep the GLController instance as part of our saved states. This
patch also adds a reattach method to GeckoView.Window, because
GeckoEditable needs to be notified when its target View changes.
2015-12-23 22:03:35 -05:00
Jim Chen
3dc603713a Bug 1232456 - Create EGL surface through widget; r=snorp
This patch makes GLContextProviderEGL create EGL surfaces through
nsWindow/nsIWidget on Android. nsWindow then calls GLController in Java
to actually create the surface.
2015-12-23 22:03:34 -05:00
Jim Chen
61ae086c99 Bug 1227706 - Remove unused GLController calls and events; r=snorp
Remove GLController calls and events in GeckoAppShell and GeckoEvent
that were made obsolete by the new native calls.
2015-12-23 22:03:34 -05:00
Jim Chen
7e8d79c4ee Bug 1227706 - Get rid of compositor singletons in nsWindow; r=snorp
Now that we properly support individual compositors for nsWindows, we
should get rid of the static singletons that held the compositor
objects.
2015-12-23 22:03:34 -05:00
Jim Chen
827f34efc0 Bug 1227706 - Implement nsWindow::GLControllerSupport; r=snorp
This patch adds native method implementations in GLControllerSupport to
manage compositor creation/pause/resume.
2015-12-23 22:03:34 -05:00
Jim Chen
325ee148ee Bug 1227706 - Let GeckoView manage GLController instances; r=snorp
GLController instances are associated with a particular nsWindow, rather
than a particular View. Therefore, we need to let GeckoView manage
GLController instances, as part of GeckoView's handling of saving and
restoring states.
2015-12-23 22:03:34 -05:00
Jim Chen
43d7399cf2 Bug 1227706 - Add native methods to GLController; r=snorp
One nsWindow will have one corresponding GLController, and using native
GLController methods instead of GeckoEvents lets us control the
compositor for each nsWindow separately.
2015-12-23 22:03:34 -05:00
Jim Chen
ffdf60106d Bug 1227706 - Rename nsWindow::Natives to nsWindow::GeckoViewSupport; r=snorp
GeckoViewSupport better reflects the purpose of the class and will match
the GLControllerSupport class that another patch is adding. This patch
also changes the way GeckoViewSupport is constructed in order to be more
encapsulating.
2015-12-23 22:03:34 -05:00
Jim Chen
11f74c6395 Bug 1227731 - Add ability to redirect proxied native calls; r=snorp
This patch adds a way to set the target of a proxied native call, so the
call goes to another C++ function / class member than the original
target.
2015-12-23 22:03:34 -05:00
Jim Chen
94b3e4800e Bug 1227727 - Remove geckoConnected method in LayerView; r=snorp
Right now LayerView depends on geckoConnected being called by GeckoApp
or GeckoView during its initialization. However, we can get rid of it
and let LayerView handle the task itself. As part of this change, screen
depth overriding is moved to native code in nsAppShell.
2015-12-23 22:03:33 -05:00
Jim Chen
df400b3573 Bug 1227719 - Autogenerate LayerRenderer.Frame; r=snorp
This patch adds auto-generated bindings for LayerRenderer.Frame, and
uses the new bindings in nsWindow, in place of the old manual bindings
in AndroidJavaWrappers.
2015-12-23 22:03:33 -05:00
Wes Kocher
a5249b6201 Backed out 25 changesets (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE
Backed out changeset 31c0aadae8e7 (bug 1156742)
Backed out changeset f08df57ff700 (bug 1156742)
Backed out changeset 90c026d5dcb1 (bug 1156742)
Backed out changeset 8c6d14d80238 (bug 1156742)
Backed out changeset 72d86b0471c9 (bug 1156742)
Backed out changeset 363829accc09 (bug 1156742)
Backed out changeset 16360fe94d54 (bug 1156742)
Backed out changeset 5355c636a81a (bug 1156742)
Backed out changeset 18844d26b873 (bug 1156742)
Backed out changeset 99df86591613 (bug 1156742)
Backed out changeset 7ac1c7e15a11 (bug 1156742)
Backed out changeset de352000aae1 (bug 1156742)
Backed out changeset 4dd34ea230c6 (bug 1156742)
Backed out changeset 48c6ce65a5c2 (bug 1156742)
Backed out changeset dd52947f73c6 (bug 1156742)
Backed out changeset 5fe429ee880c (bug 1156742)
Backed out changeset dedca8fb19b0 (bug 1156742)
Backed out changeset d748b1354f92 (bug 1156742)
Backed out changeset 7f8e59588518 (bug 1156742)
Backed out changeset b90d302c57f6 (bug 1156742)
Backed out changeset 7a4da453572c (bug 1156742)
Backed out changeset a40eea914519 (bug 1156742)
Backed out changeset 99a8859afcdb (bug 1156742)
Backed out changeset 4934e88b2d7a (bug 1156742)
Backed out changeset 79733166f05e (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE

--HG--
extra : amend_source : beeb6abbcc724b79ac166e828efa78dc4c5301da
2015-12-21 13:47:33 -08:00
Bob Owen
529a96f97d Bug 1156742 Part 9: Add a new nsIDeviceContextSpec for proxied printing. r=roc
This also changes aPrintToFileName parameter for BeginDocument to an nsAString& from char16_t*.
Having a char16_t* caused a pain with VS2105 where wchar_t != char16_t (as on VS2103), after it had been sent over IPDL.
This could have been worked around with casting, but this seemed like the tidier solution.
2015-12-21 20:33:13 +00:00
Chenxia Liu
da2898fc75 Bug 1212611 - Use system notification for website notifications in Android. r=mfinkle
--HG--
extra : commitid : oACcpGDIty
extra : rebase_source : 93dc1a5a70af14f96a7ddd6bc829db838f0646ce
2015-12-03 10:56:04 -05:00
Mark Capella
d4c7277278 Bug 1230617 - Editing text in an input field causes actionbar jank, r=snorp 2015-12-14 18:53:26 -05:00
Jim Chen
36fbf6e593 Bug 1051556 - Re-flush IME changes when querying text triggers more changes; r=esawin
We send query text events when flushing IME changes, and sometimes these
events make Gecko commit more pending changes. In that case, we should
try flushing again, so we pick up the new changes.

This patch also makes the process of flushing text changes
transactional, so that if we have to bail due to more pending changes,
nothing will be committed.
2015-12-12 10:18:43 -05:00
Carsten "Tomcat" Book
59623fd557 Merge mozilla-central to fx-team 2015-12-11 11:44:43 +01:00
Masayuki Nakano
da7a2f4f8d Bug 1179632 part.2 WidgetCompositionEvent should store NativeIMEContext which caused the event and PuppetWidget should store it for GetNativeIMEContext() r=smaug, sr=smaug 2015-12-11 15:15:57 +09:00
Masayuki Nakano
6cad726628 Bug 1179632 part.1 native IME context should not be stored in InputContext but should be able to retrieve with nsIWidget::GetNativeData() r=smaug 2015-12-11 15:15:57 +09:00
Kartikaya Gupta
d8274721d5 Bug 1230522 - Make some unimplemented functions not be native. r=rbarker
--HG--
extra : commitid : 2Gky2VCfkfA
2015-12-10 17:23:07 -05:00
sgiles
74808cdfa6 Bug 1230838 - Let hover events fall through to Gecko when accessibility is turned on - don't throw an exception in the NativePanZoomController when default prevented. r=kats 2015-12-10 13:20:53 -05:00
Reuben Morais
b51e2336d8 Bug 1212679 - Handle KitKat default messaging app intents. r=fabrice r=snorp 2015-12-08 14:43:09 -05:00
Phil Ringnalda
ee2f5588bc Back out 4 changesets (bug 1051556) for java.lang.IllegalArgumentExceptions
CLOSED TREE

Backed out changeset c89683497d23 (bug 1051556)
Backed out changeset c3f4c2d01bad (bug 1051556)
Backed out changeset 4a83a8594ddc (bug 1051556)
Backed out changeset fe3d880efce8 (bug 1051556)
2015-12-09 18:20:51 -08:00
Jim Chen
71d7f2ead5 Bug 1051556 - Re-flush IME changes when querying text triggers more changes; r=esawin
We send query text events when flushing IME changes, and sometimes these
events make Gecko commit more pending changes. In that case, we should
try flushing again, so we pick up the new changes.

This patch also makes the process of flushing text changes
transactional, so that if we have to bail due to more pending changes,
nothing will be committed.
2015-12-09 17:46:45 -05:00
Nicholas Nethercote
90bbac13cc Bug 1229237 (part 3) - Make nsIWidget::Invalidate() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 1afe44a5ab2a3d5478010fc23ba1891ab297bde6
2015-11-16 21:18:31 -08:00
Nicholas Nethercote
74e40cebb1 Bug 1229237 (part 2) - Make nsIWidget::DrawWindowUnderlay() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 0563312f21ea9bf88399377f977c6b21c60a07b6
2015-11-16 20:34:00 -08:00
Nicholas Nethercote
1fb25d8609 Bug 1229237 (part 1) - Make nsIWidget::{Create,CreateChildren}() take a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 08407e76083534ad39dd34d2535ec09c95e506db
2015-11-16 00:35:18 -08:00
Carsten "Tomcat" Book
5adcabb340 merge mozilla-inbound to mozilla-central a=merge 2015-12-02 15:20:57 +01:00
Jim Chen
ed2c2e5b1c Bug 1227604 - Fix compositor event order; r=snorp
When the queue only contains compositor events, a compositor event
should go to the back of the queue to maintain order.

--HG--
extra : commitid : I7bHvJCe68o
2015-12-01 13:48:18 -08:00
Sebastian Kaspari
33f113a021 Bug 1189336 - (Part 1) Rename RestrictedProfiles to Restrictions. r=ally
RestrictedProfiles: The name of the class can be confusing because it handles
guest profiles and restricted profiles. We might even query it from a normal
profile.

--HG--
rename : mobile/android/base/RestrictedProfiles.java => mobile/android/base/Restrictions.java
extra : commitid : BtjvH8aWSlk
extra : rebase_source : 262c9537d7e93658ceea6f94c8481a393ddd3072
2015-11-11 12:29:07 +01:00
sgiles
55af4f89c3 Bug 1224604 - Handle Hover events when TalkBack is enabled. r=kats 2015-11-25 15:25:11 +00:00
Nicholas Nethercote
52b3d826da Bug 1225007 (part 1, attempt 3) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : e4b3bb36c18822557f7724a58979eddd9d8cac62
2015-11-19 14:10:38 +11:00
Jan Varga
736e2d562c Bug 961049 - Part 8: Move getFileReferences() from PContent under new protocol PBackgroundIndexedDBUtils; r=baku 2015-11-22 10:44:33 +01:00
Mark Capella
e7b070ed41 Bug 1215959 - (GeckoCaret2) Upgrade Core and AccessibleCaret, r=smaug 2015-12-01 15:25:06 -05:00
Phil Ringnalda
87802cdbad Backed out 2 changesets (bug 1225007) for frequent OS X "Shouldn't return empty rect" assertion failures, a=backout
Backed out changeset c5b352c74b35 (bug 1225007)
Backed out changeset 8a513c70ce7c (bug 1225007)
2015-11-19 20:55:26 -08:00
Nicholas Nethercote
ce671f3678 Bug 1225007 (part 1, attempt 2) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ea132cb4a6eda3553682114f3a1a280acfaf0aa3
2015-11-19 14:10:38 +11:00
Nicholas Nethercote
26b0d282a5 Backout 52ba24123046 and 66768d6a50fa (bug 1225007) for causing lots of test assertions on Mac. CLOSED TREE 2015-11-17 17:02:39 -08:00
Nicholas Nethercote
eb12a384c0 Bug 1225007 (part 1) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ad3466d05e476ebf65affdde3fca52494e1327cb
2015-11-15 21:37:52 -08:00
Nicholas Nethercote
1615245145 Bug 1224482 (part 5) - Avoid excessive mozilla:: prefixes in nsIWidget and its subclasses. r=kats.
A couple of typedefs make things a lot nicer.

--HG--
extra : rebase_source : ca9f02e31301601af1b0f975c5c111945af4d5e7
2015-11-13 01:37:02 -08:00
Nicholas Nethercote
369f54f3a3 Bug 1224482 (part 1) - Tweak typed/untyped versions of Get{,Client,Screen}Bounds(). r=kats.
In nsIWidget, GetBoundsUntyped(), GetClientBoundsUntyped() and
GetScreenBoundsUntyped() are currently the primary implementations, and the
untyped versions are defined on top of them. This patch flips that around.

--HG--
extra : rebase_source : 15b2f08f90bf4d1e209c6cb885f6a6e3b8db6708
2015-11-12 16:04:52 -08:00
Kartikaya Gupta
f0ee7dc630 Bug 1224325 - Ensure the coordinates passed to Gesture:SingleTap have the resolution unapplied so that they are in the RCD's CSS space. r=rbarker
--HG--
extra : commitid : 4nriCnBX1P5
2015-11-13 17:14:45 -05:00
Kartikaya Gupta
6b4995e92f Bug 1223296 - Fire a Gesture:SingleTap message to browser.js even on the C++ APZ codepath. r=rbarker
--HG--
extra : commitid : GvuSYOt7CxQ
2015-11-13 15:10:52 -05:00
Kartikaya Gupta
8b57a39a60 Bug 1223296 - Fire the MozMouseHittest event even if the C++ APZ is enabled. r=rbarker,botond
--HG--
extra : commitid : 7J4EjtaTGHs
2015-11-13 15:10:52 -05:00
Kartikaya Gupta
820bc62753 Bug 1223296 - Extract the function that dispatches a MozMouseHittest into a helper. r=rbarker
--HG--
extra : commitid : ImT31n1mpgZ
2015-11-13 15:10:51 -05:00
Nicholas Nethercote
f1b954f437 Bug 1224403 (part 12) - Remove WidgetToScreenOffsetUntyped(). r=kats.
There are few enough calls now that using WidgetToScreenOffset() +
ToUnknownPoint() is a better approach.

--HG--
extra : rebase_source : 18ec6677f6416b02069a646b6f45dcfaa4045671
2015-11-12 15:37:18 -08:00
Nicholas Nethercote
ad0dd8414a Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.

--HG--
extra : rebase_source : 6bfb15bfc4698e2eba7d4db55497299d3dffcd51
2015-11-09 21:37:32 -08:00
Nicholas Nethercote
9895f2b525 Bug 1223310 (part 1) - Pass a LayoutDeviceIntPoint instead of an nsIntPoint to InitEvent(). r=kats.
Also use direct assignment for some LayoutDeviceIntPoint assignments, rather
than doing it field-by-field.

--HG--
extra : rebase_source : cff1ec8f1ed3ab1924a07d2227044f646019f0cf
2015-11-09 21:37:32 -08:00
Randall Barker
02228538d3 Bug 1223440 - Implement NativePanZoomController::setIsLongpressEnabled so long-press detection can be disabled during testing. r=kats
--HG--
extra : commitid : al8R68DZJ5
2015-11-10 12:47:48 -05:00
Nicholas Nethercote
ab7974e9a5 Bug 1222943 (part 1) - Change Touch::mRadius from nsIntPoint to LayoutDeviceIntPoint. r=kats.
This adds a three missing unit conversions for touch radii.

--HG--
extra : rebase_source : 353494783099ed0520cc69ae691a4cf5360c9b20
2015-11-09 21:37:31 -08:00
sgiles
185a4ee15f Bug 1174228 - Set up TYPE_APP for navigator.getDeviceStorage for B2GDroid r=dhylands 2015-11-06 05:55:40 +00:00
Jim Chen
244a51f96c Bug 1216666 - Update composition as part of replacing text or changing span; r=esawin
Currently, GeckoEditable periodically fires update composition events to
update the Gecko composition styling. To make the code more efficient
and more robust in dealing with content JS code, this patch merges these
events into events like replacing text, setting span, and removing span.
As a result, a setComposingText call now results in one replacing text
event instead of a replacing text event plus an update composition event.
2015-11-03 11:53:58 -05:00
Jim Chen
5bd4b9906b Bug 1216666 - Separate out Gecko selection from Java selection; r=esawin
Currently, the Gecko-side selection tries to mirror the Java-side
selection, but this is difficult because the Gecko selection has some
subtle but important behavior differences from the Java selection.
This patch separates out Gecko selection from Java selection so that
they're only loosely coupled. The two selections will periodically
synchronize through events and notifications, but at certain times they
may fall out-of-sync, for example when a composition is active. This
shouldn't affect functionality in a major way, and it's an acceptable
trade-off.
2015-11-03 11:53:57 -05:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Nicholas Nethercote
a34d272e2b Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas.
--HG--
extra : rebase_source : 1efcfb2522e823e55b5c7b77531a9d2c42c49c8b
2015-10-22 23:01:31 -07:00
Jim Chen
3e72d502e6 Bug 1209465 - Work around TextComposition workaround; r=esawin
TextComposition has a workaround where committing a composition as-is
doesn't work, when the composition consists of a single ideographic
space character [1]. This patch works around that workaround by sending
a regular commit event instead of a commit-as-is event.

[1] http://mxr.mozilla.org/mozilla-central/source/dom/events/TextComposition.cpp?rev=f4215b484d52#243
2015-10-27 14:22:05 -04:00
Jim Chen
f4bb277325 Bug 1211704 - Remove obsolete GeckoEvent definitions; r=esawin
Remove obsolete GeckoEvent definitions from GeckoEvent.java and
AndroidJavaWrappers.cpp/h.
2015-10-22 17:45:47 -04:00
Jim Chen
0516bbb465 Bug 1211704 - Let GeckoEditable call disposeNative; r=esawin
Right now we call disposeNative on GeckoEditable in the
nsWindow::Natives destructor. However, we may still have pending native
calls in the event queue at that point, and these events will cause
exceptions when handled. This patch makes GeckoEditable call
disposeNative, after ensuring there's no pending calls.
2015-10-22 17:45:47 -04:00
Jim Chen
4bce9b46f1 Bug 1211704 - Count key and IME events as UI events; r=esawin
GeckoEvent.KEY_EVENT and GeckoEvent.IME_EVENT used to count as UI events
for the hang monitor. We should count the new native calls as native
events too through this patch.
2015-10-22 17:45:47 -04:00
Jim Chen
a252cfa4a2 Bug 1211704 - Convert IME event handler in nsWindow to native calls; r=esawin
Move the IME event handler implementation in nsWindow::OnIMEEvent to
individual native calls in nsWindow::Natives. This patch also moves most
member variables and helper functions related to IME to inside
nsWindow::Natives. This has the benefit of better organization and saves
some memory because only the top-level nsWindow now keeps IME states.

GetIMEComposition and RemoveIMEComposition are kept inside nsWindow
because they are not strictly related to IME events, and they are used
by some other event handlers in nsWindow.
2015-10-22 17:45:47 -04:00
Jim Chen
aecd53254d Bug 1211704 - Add GeckoEditable native methods; r=esawin
These native methods will replace the IME events used by GeckoEditable.
2015-10-22 17:45:46 -04:00
Jim Chen
0ba77ec5dc Bug 1215139 - Discard stale native calls after nsWindow destruction; r=snorp
In the period after nsWindow is destroyed, but before disposeNative is
called, we should discard any pending native calls. These calls would
result in exceptions anyways because the nsWindow weak pointer is now
null. After disposeNative is called, any native calls will still result
in exceptions because in that case, it's Java code's responsibility to
ensure that calls are not made after disposeNative is called.
2015-10-22 17:45:46 -04:00
Jim Chen
1b57167834 Bug 1215139 - Separate out nsWindow closing from disposeNative; r=snorp
This patch adds a separate close() call to nsWindow, and let the
GeckoView decide whether to make that call or not. This lets us use the
static version of disposeNative. If nsWindow is destroyed in the
meantime, we still want to call disposeNative, which would only be
possible using the static version of disposeNative.
2015-10-22 17:45:46 -04:00
Jim Chen
be2a6f1785 Bug 1215139 - Make NativeImpl::DisposeNative a static member; r=snorp
It's helpful to have a static DisposeNative when disposing of instances
that are still associated with a native object through an null weak
pointer. In that case, we can't call instance methods because the weak
pointer is null, but we can still call static methods.
2015-10-22 17:45:46 -04:00
Jim Chen
2fc5a1968c Bug 1210585 - Fix parameter names; r=me 2015-10-22 17:45:46 -04:00
Jim Chen
bcd5cb22cb Bug 1210585 - Implement new key event handler in nsWindow; r=esawin
This patch implements a new key event handler in nsWindow to replace the
previous implementation.

nsWindow::HandleSpecialKey was removed because it's a relic from XUL
Fennec and I believe we no longer need it for native Fennec.
2015-10-22 17:45:46 -04:00
Jim Chen
1b1fe2fdef Bug 1210585 - Add native calls for key events; r=esawin
This patch adds a native call to GeckoEditable that will handle key
events instead of using GeckoEvent.KEY_EVENT.
2015-10-22 17:45:46 -04:00
Jim Chen
5df5e2c3dd Bug 1210585 - Generate bindings for KeyEvent; r=snorp
Autogenerate C++ bindings for the SDK class KeyEvent.
2015-10-22 17:45:45 -04:00
Wes Kocher
5d86c836d6 Merge m-c to b2ginbound, a=merge CLOSED TREE 2015-10-21 16:40:00 -07:00
Fabrice Desré
f48726bc24 Bug 1216839 - Crash when loading icon from android:// protocol with xhr r=sicking 2015-10-21 13:53:08 -07:00
Jim Chen
aacb32b312 Bug 1207642 - Work around Dalvik bug by realigning stack on JNI entry. r=snorp
Use the force_align_arg_pointer attribute to force realigning stack at JNI entry points.
2015-10-21 08:27:00 -04:00
Phil Ringnalda
98800b5233 Merge m-c to b-i
CLOSED TREE
2015-10-17 20:00:32 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Hansu Kim
634317f368 Bug 1112712 - DOM key mapping for soft1 soft2 and call keys r=schien
--HG--
extra : amend_source : 12897e7dc7681ea285088153a258983e6b90e5a1
2015-10-16 11:04:11 -07:00
Jim Chen
13b339824b Bug 1211919 - Allow quitting when asked explicitly; r=snorp
Right now we don't allow quitting Fennec when the last nsWindow closes
(e.g. when the last GeckoView is destroyed) because we want to keep the
Gecko thread running throughout the app process lifetime. However, when
we are asked to quit explicitly through nsIAppStartup::Quit, we should
release the hold on nsAppStartup and allow quitting to continue.
2015-10-15 15:49:48 -04:00
Reuben Morais
1e26ba3392 Bug 748391 - Implement markMessageRead on the Android backend. r=snorp 2015-10-13 01:08:51 -03:00
Masayuki Nakano
c892b229d9 Bug 1211352 part.3 nsIWidget::GetIMEupdatePreference() for each platform should not request any notifications while a plugin has focus r=m_kato 2015-10-10 10:21:02 +09:00
Wes Kocher
45375c9d90 Merge m-c to inbound, a=merge 2015-10-08 14:35:43 -07:00
Carsten "Tomcat" Book
6e07fc601b Merge m-c to fx-team 2015-10-08 16:11:56 +02:00
Reuben Morais
8c408a1045 Bug 1197010 - Implement Android backend for createMessageCursor/createThreadCursor. r=snorp 2015-10-06 19:40:38 -03:00
Jim Chen
2c8727a14d Bug 1209574 - Switch GeckoInputConnection for each new GeckoView; r=esawin
The GeckoEditable instance doesn't change for each nsWindow instance.
However, because a GeckoInputConnection is associated with a GeckoView,
when we create a new GeckoView, we need to attach a new
GeckoInputConnection to the existing nsWindow's GeckoEditable. This
patch makes us do that inside nsWindow::Natives::Open by calling
GeckoEditable.OnViewChange.
2015-10-08 15:25:49 -04:00
Jim Chen
7088159257 Bug 1209574 - Move GeckoEditable management to nsWindow; r=esawin
This patch removes the GeckoEditable code in GeckoAppShell, and make
nsWindow create a GeckoEditable for itself when opening a window.
Instead of calling GeckoAppShell, nsWindow can now call GeckoEditable
methods directly.
2015-10-08 15:25:49 -04:00
Jim Chen
8d2a72b981 Bug 1209574 - Generate constants for non-accessible static final fields; r=snorp
We try to generate a C++ constant for static final fields, but that
was failing for inaccessible fields. Now we set the field to be
accessible so that we do end up generating a C++ constant.
2015-10-08 15:25:49 -04:00
Jim Chen
e924946ea2 Bug 1200426 - Convert PROCESS_OBJECT GeckoEvent to native call; r=snorp
The PROCESS_OBJECT GeckoEvent is used to set the layer client object in
Gecko once Gecko is done loading. This patch converts it to a native
call in GeckoView.Window.
2015-10-08 15:25:49 -04:00
Ahmed Khalil
3f5aa180f0 Bug 1201926 - Add support for keyed histograms to Fennec's Telemetry module, r=nalexander 2015-10-08 11:32:52 +05:30
Wes Kocher
b89687d936 Backed out changeset 3f9ca060b8d0 (bug 1197010) for android build failures 2015-10-06 16:18:13 -07:00
Reuben Morais
94f2455f3b Bug 1197010 - Implement Android backend for createMessageCursor/createThreadCursor. r=snorp 2015-10-06 19:40:38 -03:00
Reuben Morais
576abdd9db Bug 1172740 - Implement Android HAL backend for alarms. r=snorp 2015-10-01 14:40:53 -03:00
Jim Chen
08e3d9ccd5 Bug 1200343 - Implment PrefsHelper native calls; r=snorp
This patch implements the PrefsHelper native calls for getting prefs;
2015-09-28 12:07:10 -04:00
Jim Chen
eb87f7d742 Bug 1200343 - Remove pref events from GeckoEvent; r=snorp
Now that we use native calls, we can remove the pref-related events from
GeckoEvent.
2015-09-28 12:07:09 -04:00
Jim Chen
5c45d400b9 Bug 1200343 - Add native calls for pref events; r=snorp
This patch adds two native calls to PrefsHelper to avoid using
GeckoEvent for getting prefs.
2015-09-28 12:07:09 -04:00
Jim Chen
011890c91d Bug 1200343 - Add JNI wrapper for object arrays; r=snorp
This patch adds a specialization for jni::Ref<jni::ObjectArray>, which
includes members for getting the length of the array and accessing
array elements.
2015-09-28 12:07:09 -04:00
Jim Chen
3d7c253ff0 Bug 1208041 - Fix race condition when coalescing viewport events; r=snorp
We have a pretty messy system of coalescing viewport events that
introduced a race condition during the recent JNI refactoring. This
patch makes that code simpler and fixes the race condition. Instead of
keeping track of a previous viewport event, we now scan the event queue
for previous viewport events. This shouldn't be a perf concern because
we only scan the queue for viewport and native callback events, and stop
scanning as soon as we find another kind of event.
2015-09-28 12:07:09 -04:00
James Willcox
8b40e8df70 Bug 1182665 - Don't try to call JNI methods in nsScreenManagerAndroid if it's not available r=esawin 2015-09-28 09:36:59 -05:00
James Willcox
45564cbbb2 Bug 1182665 - Use a direct JNI call to determine screen size in nsScreenManagerAndroid r=jchen 2015-09-28 09:36:56 -05:00
Wes Kocher
e143a6410c Backed out 4 changesets (bug 1200343) for android talos failures
Backed out changeset 67dc42cbf02b (bug 1200343)
Backed out changeset b077acafcebb (bug 1200343)
Backed out changeset e115ca114601 (bug 1200343)
Backed out changeset 905e1fb54fd4 (bug 1200343)
2015-09-25 13:21:58 -07:00
Jim Chen
a0ed6d9e5e Bug 1200343 - Implment PrefsHelper native calls; r=snorp
This patch implements the PrefsHelper native calls for getting prefs;
2015-09-25 15:03:35 -04:00
Jim Chen
83e034c311 Bug 1200343 - Remove pref events from GeckoEvent; r=snorp
Now that we use native calls, we can remove the pref-related events from
GeckoEvent.
2015-09-25 15:03:35 -04:00
Jim Chen
2c4f8e6d64 Bug 1200343 - Add native calls for pref events; r=snorp
This patch adds two native calls to PrefsHelper to avoid using
GeckoEvent for getting prefs.
2015-09-25 15:03:34 -04:00
Jim Chen
3460f51c9f Bug 1200343 - Add JNI wrapper for object arrays; r=snorp
This patch adds a specialization for jni::Ref<jni::ObjectArray>, which
includes members for getting the length of the array and accessing
array elements.
2015-09-25 15:03:34 -04:00
Wes Kocher
04128a0432 Merge m-c to inbound, a=merge 2015-09-24 17:14:17 -07:00
Fabrice Desré
d4aa7f63e2 Bug 1204557 - Stop using base64 for native app icons in the application registry r=jchen 2015-09-24 11:53:05 -07:00
Nicholas Nethercote
842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07:00
Chris Peterson
71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Jeff Walden
4046fe1490 Bug 1179003 - Convert the infallible objectClassIs proxy hook into a fallible getBuiltinClass hook that indicates class type via outparam. r=efaust, r=bz on DOM bits, r=billm on IPC bits
--HG--
extra : rebase_source : 6ddc3727c411fdfced6338e5e383a10572575f0f
2015-08-28 21:55:40 -07:00
Jim Chen
e6f22f3cfa Bug 1197957 - Switch PROFILE_READY state to correspond to profile-after-change; r=snorp
Originally, the GeckoThread PROFILE_READY state was chosen to correspond
to the profile-do-change event, to give priority to JNI code (e.g.
window creation) over other events that may be registered under
profile-after-change event. However, this leads to broken tests because
our testing infra expects things like window creation to happen during
profile-after-change at the earliest. This is because we have to wait
for addons like SpecialPowers to be loaded between profile-do-change and
profile-after-change. This patch changes the PROFILE_READY state to
correspond to the profile-after-change event, so things are consistent
again.
2015-09-21 10:13:33 -04:00
Jim Chen
635fd10c85 Bug 1197957 - Dispatch nsWindow native calls to Gecko thread; r=snorp
A C++ class that implments native JNI methods can choose to inherit
UsesGeckoThreadProxy. Once enabled, all native JNI calls on that class
will be automatically dispatched to the Gecko thread as a runnable event.
2015-09-21 10:13:33 -04:00
Jim Chen
99ef489a78 Bug 1197957 - Implement GeckoView.Window.open in nsWindow; r=snorp
nsWindow will implement native methods of GeckoView.Window. This patch
implements the open method, which opens a new window in the same manner
as the CLH, and associates the new nsWindow with the GeckoView.Window
instance.
2015-09-21 10:13:32 -04:00
Jim Chen
1f5985cce7 Bug 1197957 - Introduce GeckoView.Window class; r=snorp
GeckoView.Window is a class that acts as the interface between
GeckoView in Java and nsWindow in C++. It will contain native methods
that GeckoView will use to interact with nsWindow.

On initialization, Window.open is called to create a nsWindow and
establish the JNI association between Window and the native nsWindow.
Then, whenever Window instance methods are called, the JNI stubs will
automatically call members of nsWindow.
2015-09-21 10:13:32 -04:00
Jim Chen
f57ad9e80a Bug 1197976 - Provide compatibility with AndroidGeckoEvent; r=snorp
With the new nsAppShell event loop based on runnable events, we need to
implement AndroidGeckoEvent handling as a runnable event. This patch adds
nsAppShell::LegacyGeckoEvent and adopts its implementation from existing
code that handle AndroidGeckoEvent.
2015-09-21 10:13:32 -04:00
Jim Chen
d01f456063 Bug 1197976 - Use runnable events for nsAppShell event loop; r=snorp
nsAppShell is currently based on AndroidGeckoEvent objects, which mirror
GeckoEvent on the Java side. With GeckoEvent going away, we will be
gradually removing AndroidGeckoEvent as well. This patch makes the
nsAppShell event loop based on runnable objects, which derive from
nsAppShell::Event. Using runnable objects is much more flexible and allows
us, for example, to post a lambda to the event loop to be run later.
2015-09-21 10:13:32 -04:00
Dylan Roeh
ee309b2869 Bug 1189881 - Move GeckoJavaSampler::getProfilerTime out of AndroidJNI.cpp. r=jchen 2015-09-17 16:17:26 -05:00
Jim Chen
797447c09d Bug 1197974 - Don't exit Gecko on Android even if there's no window; r=snorp
Gecko on Android follows the Android app model where it never stops
until it is killed by the system or told explicitly to quit. Therefore,
we should exit Gecko when there is no window or the last window is closed.
2015-09-18 09:17:10 -04:00
Fabrice Desré
5f8b1e5325 Bug 1205142 - Disable Android keyboard r=jchen 2015-09-16 09:24:17 -07:00
Fabrice Desré
2089103a21 Bug 1203428 - E10S for device storage API r=cyu 2015-09-15 11:01:07 -07:00
Masayuki Nakano
392c27e8be Bug 895274 part.263 Rename NS_SIMPLE_GESTURE_MAGNIFY_START to eMagnifyGestureStart r=smaug 2015-09-15 00:14:37 +09:00
Masayuki Nakano
ff1973548a Bug 895274 part.262 Rename NS_SIMPLE_GESTURE_MAGNIFY_UPDATE to eMagnifyGestureUpdate r=smaug 2015-09-15 00:14:37 +09:00
Masayuki Nakano
4afa8d0be3 Bug 895274 part.261 Rename NS_SIMPLE_GESTURE_MAGNIFY to eMagnifyGesture r=smaug 2015-09-15 00:14:37 +09:00
Masayuki Nakano
683794135c Bug 895274 part.244 Rename NS_TOUCH_CANCEL to eTouchCancel r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
51d7268995 Bug 895274 part.243 Rename NS_TOUCH_END to eTouchEnd r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
52a7afe36c Bug 895274 part.242 Rename NS_TOUCH_MOVE to eTouchMove r=smaug 2015-09-15 00:14:35 +09:00
Masayuki Nakano
7a48a6f2ab Bug 895274 part.241 Rename NS_TOUCH_START to eTouchStart r=smaug 2015-09-15 00:14:34 +09:00
Kartikaya Gupta
711b35cb56 Bug 1201581 - Hook up the syncFrameMetrics call to sync metrics info from the compositor to Java-land on each composite. r=rbarker
--HG--
extra : commitid : JByEVaIboTo
2015-09-11 21:58:16 -04:00
Wes Kocher
ca0fa7c1cb Backed out 4 changesets (bug 1182665) for android reftest orange CLOSED TREE
Backed out changeset 719a4fbded10 (bug 1182665)
Backed out changeset 9559cead8d08 (bug 1182665)
Backed out changeset 4080fb4b9a7f (bug 1182665)
Backed out changeset c8549221c366 (bug 1182665)
2015-09-11 11:21:56 -07:00
Wes Kocher
bd52f994bf Backed out changeset 4b301ec04c21 (bug 1182665) for android reftest orange CLOSED TREE 2015-09-11 11:21:04 -07:00
James Willcox
d203f90a3e Bug 1182665 - Don't try to call JNI methods in nsScreenManagerAndroid if it's not available r=esawin 2015-09-11 09:09:46 -05:00
James Willcox
226e891da2 Bug 1182665 - Use a direct JNI call to determine screen size in nsScreenManagerAndroid r=jchen 2015-09-11 09:09:18 -05:00
Masayuki Nakano
888b2103ea Bug 895274 part.194 Rename NS_COMPOSITION_COMMIT to eCompositionCommit r=smaug 2015-09-11 21:21:27 +09:00
Masayuki Nakano
ed4dac1ca6 Bug 895274 part.193 Rename NS_COMPOSITION_CHANGE to eCompositionChange r=smaug 2015-09-11 21:21:27 +09:00
Masayuki Nakano
0f2bfad9b1 Bug 895274 part.190 Rename NS_COMPOSITION_START to eCompositionStart r=smaug 2015-09-11 21:21:27 +09:00
Masayuki Nakano
966f685af3 Bug 895274 part.188 Rename NS_COMPOSITION_COMMIT_AS_IS to eCompositionCommitAsIs r=smaug 2015-09-11 21:21:26 +09:00
Kartikaya Gupta
e45e2f99e5 Bug 1151102 - Add some diagnostic logging. r=snorp
--HG--
extra : commitid : HGgmg6anUOh
2015-09-09 23:22:19 -04:00
Masayuki Nakano
e463292274 Bug 895274 part.153 Rename NS_QUERY_TEXT_CONTENT to eQueryTextContent r=smaug 2015-09-10 10:40:05 +09:00
Masayuki Nakano
a8fd5ffc76 Bug 895274 part.152 Rename NS_QUERY_SELECTED_TEXT to eQuerySelectedText r=smaug 2015-09-10 10:40:05 +09:00
Masayuki Nakano
d177b04a17 Bug 895274 part.145 Rename NS_SELECTION_SET to eSetSelection r=smaug 2015-09-08 23:33:38 +09:00
Kartikaya Gupta
f0e19c3fe8 Bug 1197824 - Add a zoom-constraints-updated message. r=snorp
With this patch the ZoomConstraintsClient updates get broadcast via the observer
service on Android, allowing code in browser.js to switch over to using it.

--HG--
extra : commitid : FZvsgS8s2oT
2015-09-03 10:30:41 -04:00
Masayuki Nakano
cafe2dfc67 Bug 895274 part.51 Rename NS_CONTEXTMENU to eContextMenu r=smaug 2015-09-01 00:20:06 +09:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Xidorn Quan
bb9bcca6c0 Bug 1196163 followup 2 - Fix android bustage. 2015-08-29 12:30:32 +10:00
Xidorn Quan
b8b06dc08c Bug 1196163 followup - Fix build bustage on Android.
--HG--
extra : rebase_source : 964d1961561b97c77ac313e4d79a52421946417e
2015-08-29 11:43:28 +10:00
Xidorn Quan
f46a93871a Bug 1196163 part 1 - Use nsSizeMode instead of int32_t for nsIWidget::{SizeMode,SetSizeMode}. r=roc
--HG--
extra : source : cf438b9cb26ae512f792f075e4e22537ad6a38a7
2015-08-29 11:12:41 +10:00
Masayuki Nakano
83f18479ed Bug 895274 part.38 Rename NS_MOUSE_MOZLONGTAP to eMouseLongTap r=smaug 2015-08-29 08:58:33 +09:00
Masayuki Nakano
e41398ce2f Bug 895274 part.35 Rename NS_MOUSE_MOZHITTEST to eMouseHitTest r=smaug 2015-08-29 08:58:32 +09:00
Masayuki Nakano
bd4bf17fbd Bug 895274 part.29 Rename NS_MOUSE_EXIT_WIDGET to eMouseExitFromWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
9895f90eca Bug 895274 part.28 Rename NS_MOUSE_ENTER_WIDGET to eMouseEnterIntoWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
717c415187 Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00
Masayuki Nakano
ba5b3f3fe6 Bug 895274 part.11 Rename NS_KEY_DOWN to eKeyDown r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
28c9f34179 Bug 895274 part.10 Rename NS_KEY_UP to eKeyUp r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
d311a11cc1 Bug 895274 part.9 Rename NS_KEY_PRESS to eKeyPress r=smaug 2015-08-29 08:58:27 +09:00
Masayuki Nakano
6ecfef2cde Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Masayuki Nakano
0d22745cda Bug 895274 part.3 Make the enum of event messages a named enum IGNORE IDL r=smaug 2015-08-26 21:56:59 +09:00
Jim Chen
b62c5aa0a3 Bug 1192043 - Add support for proxying native calls; r=snorp
If a C++ class implements native calls that all return void, it can
choose to have those calls go through a custom proxy function by
inheriting from mozilla::jni::UsesNativeCallProxy and override the
ProxyNativeCall member.

ProxyNativeCall accepts a rvalue reference to a
functor object specific to each call, and can alter the calling
environment (e.g. dispatch the call to another thread) before issuing
the actual native call through the functor's operator().

Any JNI refs contained in the call are automatically turned into global
refs so that the call can continue to work outside of the original JNI
call.

Native call proxy will be used to implement automatic dispatching of
native calls from the main thread to run on the Gecko thread.
2015-08-25 14:52:16 -04:00
Jim Chen
b8013723d5 Bug 1192043 - Fix compile errors in Natives.h; r=snorp
This patch fixes a compile error when using WeakPtr, where Impl* was
expected but SupportsWeakPtr<Impl>* was given.

This patch also fixes a compile error when using the DisposeNative
implementation provided by the autogenerated Natives class. e.g.,

> struct Foo : Bar::Natives<Foo> {
>     using Bar::Natives<Foo>::DisposeNative;
> };

This uses a default implementation of DisposeNative instead of a custom
implementation, and resulted in a compile error that this patch fixes.
2015-08-25 14:52:16 -04:00
Jim Chen
8323512edf Bug 1192043 - Clean up NativeStubImpl template parameters; r=snorp
The mangled name of a NativeStubImpl instantiation is longer than
necessary because of the ReturnType arg. This patch turns it into a bool
parameter. It also reorders the parameters for cleanness.
2015-08-25 14:52:16 -04:00
Jim Chen
4403af4250 Bug 1192043 - Add more JNIEnv support and null-check refs in JNI ref classs; r=snorp
Add more constructors in LocalRef and GlobalRef to accommodate use cases
where a JNIEnv is already available for performance reasons. Also add
more null-checks when creating references for performance reasons.
2015-08-25 14:52:16 -04:00
Jim Chen
192182c441 Bug 1195496 - Implement speculative connection method in GeckoThread; r=snorp
One thing we do in the Fennec CLH is to make a speculative connection
based on the URI that's passed in. However, by the time the CLH runs,
we're far along into startup, and the advantage of a speculative
connection is reduced. This patch implements making speculative
connection as a method in GeckoThread, so that Fennec can make a
speculative connection without relying on the Fennec CLH.
2015-08-19 18:14:47 -04:00
Jim Chen
93533110bc Bug 1195496 - Add PROFILE_READY Gecko state; r=snorp
Many Gecko operations depend on the profile being available. This
patch adds a PROFILE_READY Gecko state so that we can queue calls
until profile is loaded.
2015-08-19 18:14:47 -04:00
Masayuki Nakano
66f2c27305 Bug 895274 part.1 Rename WidgetEvent::message to WidgetEvent::mMessage r=smaug 2015-08-22 10:34:51 +09:00
William Chen
6d6411c090 Bug 1131470 - Part 2: Update screen configuration HAL to report orientation angle. r=snorp,mwu
--HG--
extra : rebase_source : c6eb4dd4f54b1e9db7e7d2c39e535ba4bcd8af1f
2015-08-18 14:55:15 -07:00
William Chen
3c9928ced9 Bug 1131470 - Part 1: Rename existing use of ScreenOrientation to ScreenOrientationInternal. r=baku
--HG--
extra : rebase_source : 72e978d48e8356da9e8c66adfa0a97983034aa5a
2015-08-18 14:55:09 -07:00
Kartikaya Gupta
1db1586922 Bug 1180295 - Implement seamless snapping to the stable state. r=rbarker
--HG--
extra : commitid : BCRW1BHPhL8
2015-08-18 14:27:20 -04:00
Kartikaya Gupta
3fd3f3cf8e Bug 1180295 - Stop clipping the content while the toolbar is in the process of sliding off. r=rbarker
--HG--
extra : commitid : IMjRmklIhXd
2015-08-18 14:27:19 -04:00
Kartikaya Gupta
29e63f503a Bug 1180295 - Store the viewport width and height as integers instead of floats in ImmutableViewportMetrics. r=rbarker
--HG--
extra : commitid : 8UdQhaVHspN
2015-08-18 14:27:19 -04:00
Kartikaya Gupta
b4105053c9 Bug 1180295 - Rip out the Fennec code to set the screen render offset. r=rbarker
--HG--
extra : commitid : 3e4iu6iVnfs
2015-08-18 14:27:18 -04:00
Nathan Froyd
5108c14a08 Bug 1194806 - part 5 - mark function pointer-to-members with JNICALL appropriately; r=snorp,jchen 2015-08-14 23:03:45 -04:00
Nathan Froyd
03c1f240be Bug 1194806 - part 4 - use |typename| to refer to trait class typedefs, not |class|; r=jchen 2015-08-14 22:34:16 -04:00
Nathan Froyd
bd24a2df58 Bug 1194806 - part 3 - consistently declare dom::mobilemessage::SmsFilterData as a class; r=snorp 2015-08-14 22:22:50 -04:00
Nathan Froyd
160a6405bb Bug 1194806 - part 2 - mark overrides as such in widget/android/; r=snorp 2015-08-14 22:06:20 -04:00
Nathan Froyd
a64d0e54a5 Bug 1194806 - part 1 - consistently declare mozilla::jni::detail::TypeAdaptor as a struct; r=jchen
clang doesn't like it when we declare things as a struct in one place
and a class in another.  This change makes all the current usages
consistent and clang happy.
2015-08-14 21:59:27 -04:00
Randall Barker
cba97f4dd0 Bug 1188225 - Implement ChromeProcessController::HandleDoubleTap. r=botond
--HG--
extra : rebase_source : 305df059dcdaa23962a0864036e7fd8b179c1c42
2015-08-13 18:26:00 -04:00
Aryeh Gregor
d587425b77 Bug 1179451 - Part 5: Delete nsRefPtr<T>::operator T*()&&. r=froydnj
--HG--
extra : rebase_source : 9e1680bb0eb7c38de14cd1974fbd03988780a3bc
2015-08-13 15:22:48 +03:00
Jim Chen
63dc585f5c Bug 1194360 - Remove use of inherited constructors; r=snorp
GeneratedJNIWrappers.h was updated in bug 1192079 to use inherited
constructors, which is a gcc 4.8 feature. Many people are still using an
older version of NDK which only comes with gcc 4.7.
2015-08-13 16:57:34 -04:00
Jim Chen
24514e7c7a Bug 1192082 - Followup to iniialize/deinitialize JNI in nsAppShell; r=me 2015-08-13 16:57:34 -04:00
Jim Chen
ee3de3a3c3 Bug 1192082 - Iniialize/deinitialize JNI in nsAppShell; r=snorp
First we need to set the Gecko thread JNIEnv* in nsAndroidStartup, but
after that we can initialize and deinitialize the rest of JNI, including
AndroidBridge, in GeckoAppShell. This makes nsAppShell control the
AndroidBridge lifetime. Over time, parts of the AndroidBridge
functionality will be migrated to nsAppShell.
2015-08-13 00:53:40 -04:00
Jim Chen
3921c06e27 Bug 1192082 - De-clutter AndroidBridge init/deinit; r=snorp
Merge all the init code into AndroidBridge constructor and
AndroidBridge::ConstructBridge; merge all the deinit code into
AndroidBridge destructor and AndroidBridge::DeconstructBridge.

In particular, the SetMainThread call is obsolete and removed.
2015-08-13 00:53:39 -04:00
Jim Chen
b2e48dacd7 Bug 1192082 - Expose AndroidBridge arguments through GeckoThread; r=snorp
AndroidBridge needed some arguments during its initialization. We'll
provide those arguments in GeckoThread, which AndroidBridge will access.
2015-08-13 00:53:39 -04:00
Jim Chen
1d42b8bea5 Bug 1192082 - Get rid of GeckoAppShell.nativeInit; r=snorp
Instead of letting AndroidBridge be constructed separately, we'll let
Gecko construct AndroidBridge.
2015-08-13 00:53:39 -04:00
Jim Chen
b85528ed4a Bug 1192082 - Expose GeckoThread states to C++; r=me 2015-08-13 00:53:39 -04:00
Jim Chen
a11aee77b7 Bug 1192079 - Update generated code; r=me 2015-08-13 00:53:39 -04:00
Jim Chen
d1f529698f Bug 1192077 - Convert AndroidBridge JNIEnv calls; r=esawin 2015-08-13 00:53:39 -04:00
Jim Chen
3599e8ef4f Bug 1192077 - Move AndroidBridge JNIEnv calls to jni/Utils; r=esawin
Calls like GetJNIForThread should now belong in jni/Utils. Moving the
calls also reduce clutter in AndroidBridge.
2015-08-13 00:53:39 -04:00
Jim Chen
29ee442159 Bug 1189995 - Move GeckoAppShell.pumpMessageLoop to GeckoThread; r=esawin
This method is used by Gecko to pump the Android message loop, and it's
also more suited to GeckoThread than GeckoAppShell.
2015-08-13 00:53:39 -04:00
Terrence Cole
de72ab688b Bug 1191529 - Remove JSIdArray and AutoIdArray and replace with Rooted<IdVector>; r=mccr8, r=jonco
* * *
imported patch 2_remove_AutoIdArray_gk

--HG--
extra : rebase_source : f4492f209248c7ae4b74d7d0345c51fa893167da
2015-08-05 11:02:00 -07:00
Nick Robson
49e872dc7e Bug 1075089 - Move popup menu frame offset to LookAndFeel and fix default offset for OS X. r=Enn
--HG--
extra : rebase_source : 7817fea6ea95e9dfc486f797114e1cfb778d5230
2015-08-04 16:41:00 -04:00
Mark Capella
0d84a92357 Bug 1191161 - p3 - Surprise update-generated-wrappers changes, r=jchen 2015-08-07 02:09:08 -04:00
Birunthan Mohanathas
7315345693 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Jim Chen
11d1c03111 Bug 1187552 - Make NativeJSContainer use direct ownership model; r=snorp
Make NativeJSContainer/NativeJSObject Java objects own their
corresponding C++ objects directly, to reduce an extra
allocation/deallocation for each object and to simplify code.
2015-08-04 17:47:28 -04:00
Jim Chen
81d1a5cdea Bug 1187552 - Support direct ownership of C++ objects by Java objects; r=snorp
Add a direct ownership model where the Java object owns the
corresponding C++ object directly, in addition to the WeakPtr model
where the Java object owns a WeakPtr to the C++ object. The WeakPtr
model is chosen when the implementing C++ class inherits from
SupportsWeakPtr. Otherwise, the direct ownership model is chosen. Under
the direct ownership model, a UniquePtr object must be used to attach
the containing C++ object to a Java object, to ensure ownership is
passed on to the Java object.
2015-08-04 17:47:28 -04:00
Jim Chen
d900eeb8ba Bug 1187088 - Use UNIFIED_SOURCES in widget/android; r=snorp
Fix some compiling errors in unified mode due to header dependency
issues.
2015-08-04 17:47:28 -04:00
Jim Chen
30e5b85a48 Bug 1186467 - Rewrite NativeJSContainer to use new native JNI scheme; r=snorp
This patch makes NativeJSContainer use per-instance native methods.
NativeJSContainer is also updated to use smart JNI reference classes.
2015-08-04 17:47:28 -04:00
Jim Chen
8739443257 Bug 1186467 - Update generated JNI bindings; r=me 2015-08-04 17:47:28 -04:00
Jim Chen
d836e4a08d Bug 1186467 - Add some JNI utilities for convenience; r=snorp
This patch adds:
* Conversion operator from String::Param to String::LocalRef.
* More overloads of the jni::ThrowException function.
* name members to built-in types like jni::Object, jni::String, etc.
  This allows using jni::Accessors::EnsureClassRef on built-in types
  to get built-in class refs (e.g. jclass for java/lang/String).
* Ability to implicitly convert LocalRef<Cls> to LocalRef<Object>
* Fixes for bugs in LocalRef/GlobalRef where new refs are not created.
* Fixes for inaccurate uses of mozilla::Forward in favor of mozilla::Move
2015-08-04 17:47:28 -04:00
Gian-Carlo Pascutto
1634fa4444 Bug 1189058 - Don't spin the Event loop while setting up WebRTC + Java. r=snorp 2015-07-30 19:53:38 +02:00
Carsten "Tomcat" Book
060e1dcfe0 Backed out changeset 7edc58c272f1 (bug 1075089) for causing OS X 10.6 marionette failures in test_single_finger_desktop.py testSingleFingerMouse.test_double_tap on a CLOSED TREE 2015-07-31 14:49:40 +02:00
Carsten "Tomcat" Book
7005e3bf85 Merge mozilla-central to mozilla-inbound on a CLOSED TREE 2015-07-31 13:50:49 +02:00
Nick Robson
58f8aa5dac Bug 1075089 - Moved popup menu frame offset to LookAndFeel, fixed default offset for OS X. r=enn 2015-07-30 15:00:00 +02:00
Sebastian Kaspari
d7f1de6d04 Bug 1187260 - Simplify RestrictedProfiles class. r=ally
This patch transforms RestrictedProfiles to delegate isAllowed() and
canLoadUrl() calls to an object implementing the RestrictionConfiguration
interface.

DefaultConfiguration, GuestProfileConfiguration and
RestrictedProfileConfiguration are implementing RestrictionConfiguration
and will take care of handling the restrictions for the different types
of profiles.

--HG--
extra : commitid : LQ2YsdyG6oR
extra : rebase_source : 015f7f02c6e7fded16d3811a71f0ae23547e5f71
2015-07-24 19:47:31 +02:00
Matt Woodrow
d2d5e5b9a3 Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -04:00
Wes Kocher
ec1078c65a Backed out 6 changesets (bug 1150944, bug 1034370) for build failures in WebGLContext.cpp CLOSED TREE
Backed out changeset e2a6160242e5 (bug 1150944)
Backed out changeset 1c510537d20b (bug 1150944)
Backed out changeset 7ae813666ed5 (bug 1150944)
Backed out changeset 2f29ac2e31cd (bug 1150944)
Backed out changeset bf7681b1567e (bug 1150944)
Backed out changeset 79c6b8d014d2 (bug 1034370)
2015-07-29 14:16:17 -07:00
Matt Woodrow
501c8bec02 Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -04:00
Jim Chen
0ba08b84f8 Bug 1186517 - Generate JNI bindings for Bundle; r=snorp
Add Bundle to the list of SDK classes to generate JNI bindings for. The
generated bindings, like other SDK classes, use XPCOM-style nsresult
to indicate success/failure, and return values through out-parameters.
2015-07-29 15:11:15 -04:00
Jim Chen
64eb7d8aff Bug 1186517 - Adjust white spacing in generated files; r=me 2015-07-29 15:11:15 -04:00
Jim Chen
2003ec14dd Bug 1186530 - Fix compile error when using native methods with ref parameters; r=snorp
We use Ref::From() inside TypeAdapter<Ref>::ToNative to convert a raw JNI
ref argument to a Ref argument for the C++ function. However, that
generates a compile error, unless we make TypeAdapter<Ref> a friend of
Ref, because we intentionally made Ref's copy constructor private and
returning from TypeAdapter<Ref>::ToNative requires the copy constructor.
2015-07-29 15:11:15 -04:00
Jim Chen
7ec24cf6cd Bug 1186530 - Add support for instance native pointers; r=snorp
Introduce a JNIObject class that serves as a base class for classes
that wish to use per-instance native methods. JNIObject includes a long
native pointer field that the C++ code accesses to associate the Java
object instance with a C++ object instance.
2015-07-29 15:11:15 -04:00
Jim Chen
d8c5fab450 Bug 1182641 - Implement new native methods for ANRReporter; r=snorp 2015-07-29 15:11:15 -04:00
Jim Chen
29b2279606 Bug 1182641 - Update autogenerated code; r=me 2015-07-29 15:11:15 -04:00
Byron Campen [:bwc]
abecbdc851 Bug 1188590: Don't sync dispatch if we're already on main. r=snorp, a=abillings
--HG--
extra : rebase_source : fdc736fac46ff2f1939d55b00407350f88345932
2015-07-28 16:56:34 -05:00
Qiang Lu
b3eee8c12c Bug 1178069 - Check devices capability before enable use of vp8 hardware acceleration using android.media.MediaCodecList and android.media.MediaCodecInfo r=jrmuizel
--HG--
extra : amend_source : f7d209e2dd0bdb9a67c563b5bd2d51da4af56ba8
extra : histedit_source : d8226f7240c5d19d9d2f08f9fc07a83e158505a2%2Cde0d48144261c643fcb23c0f7756906aeded1708
2015-07-24 12:45:55 -07:00
Ryan VanderMeulen
a33e05c88c Merge inbound to m-c. a=merge 2015-07-17 10:26:22 -04:00
David Anderson
65475c97d0 Move compositor backend decisions into gfxPlatform. (bug 1179051 part 3, r=mattwoodrow)
--HG--
extra : rebase_source : 43cdb0e1b5d464f8d6a0cc7a0b2e36d1b34e8595
2015-07-16 15:18:05 -07:00
Dylan Roeh
da72780b45 Bug 1172567 - Use GetLongField rather than GetIntField for jEGLSurfacePointerField when the API version is >= 20. r=snorp 2015-07-10 10:11:20 -05:00
Jim Chen
56938c8fc9 Bug 1178850 - Update generated files; r=me 2015-07-10 23:41:36 -04:00
Jim Chen
788c0ad4c8 Bug 1178850 - Add supporting classes for native JNI calls; r=snorp 2015-07-10 23:41:36 -04:00
Jim Chen
42c05f4a28 Bug 1178850 - Make mozilla::jni::Param more intuitive to use; r=snorp 2015-07-10 23:41:35 -04:00
Masayuki Nakano
b5c03e059a Bug 1176954 part.5 IMENotification::TextChangeDataBase should have a state which indicates that it's not initialized r=smaug 2015-07-11 10:53:55 +09:00
Masayuki Nakano
c1fdc81cac Bug 1176954 part.4 Define IMENotification::TextChangeDataBase and whose member names should be same as IMEContentObserver::TextChangeData's r=smaug 2015-07-11 10:53:55 +09:00