Commit Graph

751 Commits

Author SHA1 Message Date
Nick Alexander
4844550e39 Bug 1256401 - Part 2: Remove references to b2gdroid. r=fabrice
MozReview-Commit-ID: 63yJGdgPbhe
2016-03-18 14:41:51 -07:00
Makoto Kato
f73b416fee Bug 1255707 - Part 1. Remove ContentCreationNotifier. r=snorp
ContentCreationNotifier is unnecessary because nsWindow::GetAndroidScreenBounds is ununsed after bug 1182665

MozReview-Commit-ID: JvchWCuxf96
2016-03-15 11:40:12 +09:00
Masayuki Nakano
7c66f41d76 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
729ac8041f Bug 1251346 - Fennec should not generate touch events from mouse events. r=kats 2016-03-14 16:56:46 -07:00
Randall Barker
ada1cb6694 Bug 1248090 - Fix nsWindow::NPZCSupport unsafe usage of nsWindow::WidgetToScreenOffset r=snorp 2016-03-11 11:03:50 -08:00
Randall Barker
227c2292ec 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
21e585443f 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
9c73b547fe 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
2f9cb55372 Bug 1252802 - Web page scrolls when dragging caret in editable, r=snorp 2016-03-10 18:06:13 -05:00
Bob
ab55bb9ea3 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
Jim Chen
f0ac1c11e3 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
Kartikaya Gupta
6cda26a6e2 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
5beb9023d0 Bug 1246984 - Fix scrolling on Blackberry capacitive keyboard - r=kats 2016-02-22 09:36:22 +00:00
Randall Barker
cabab0ef78 Bug 1225936 - Support scroll events in APZ on Fennec r=kats,jchen 2016-02-12 15:00:34 -08:00
Jim Chen
32db56c022 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
82870a9c22 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
Birunthan Mohanathas
bfee0fb40c Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jim Chen
408f9ac1e8 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
7f399ced34 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
Phil Ringnalda
d871b9515f 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
245cd6a02f Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Phil Ringnalda
9d510a804d Merge m-c to m-i 2016-01-30 09:43:42 -08:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Mark Capella
d393adc106 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
1e840a2e4a Bug 1243547 - Route scroll position adjusting for surface shifting directly to APZC. r=rbarker 2016-01-28 16:00:05 -05:00
Randall Barker
24bbb99c82 Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-27 07:45:31 -08:00
Sebastian Hengst
2f853f6c63 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
d064785ab0 Bug 1230674 - part 2, Add overscroll API to Android nsWindow r=snorp 2016-01-26 12:02:51 -08:00
Nicholas Nethercote
da19ce6e70 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.
2015-11-22 20:32:29 -08:00
Jim Chen
ad96d31c33 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
aa61485159 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
9a9ca1223b 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
ace5af054a 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
a5464b1a25 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
752510687a 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
Jim Chen
796a53d777 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
Jonathan Kew
d74daaf3aa Bug 890156 - patch 0.2 - Remove the (unused) aRect parameter from nsBaseWidget::BaseCreate. r=kats 2016-01-13 07:32:55 +00:00
Jim Chen
579c634b7a 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
cf9c1babd9 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
c0702570a3 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
d70fe064b6 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
cf73205e96 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
1f403e6400 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
d4cf5757b3 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
e56235cd4f 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
163eb40ca3 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
02fea99837 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
6032b19e9b 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
7ed136b880 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
97742ebb77 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