Commit Graph

25 Commits

Author SHA1 Message Date
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
6b40004096 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
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
Birunthan Mohanathas
ac37dec517 Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Jim Chen
2f88413b81 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
2d678cec09 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
Jim Chen
49e9fbf62e 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
efd29e7f91 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
ba399d53a4 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
Nathan Froyd
3d8f91e432 Bug 1194806 - part 2 - mark overrides as such in widget/android/; r=snorp 2015-08-14 22:06:20 -04:00
Kartikaya Gupta
c756478ac7 Bug 1018980 - Kill some dead code in Fennec from the pre-OMTC days. r=snorp 2014-06-02 11:13:09 -04:00
Brad Lassey
68c0590258 bug 884792 - crash in nsXPCWrappedJS::Release, removeObserver being called off main thread r=kats 2013-06-19 13:55:35 -04:00
Brad Lassey
21f2493d5e bug 882196 - Android crash in nsXPCWrappedJS::AddRef, remove nsAppShell::NotifyObservers r=kats 2013-06-17 17:09:09 -04:00
Wes Johnston
16ba17afaf Bug 757680 - Add a pref to turn off event coalescing. r=kats 2012-08-09 12:54:36 -07:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Kartikaya Gupta
2e1ecb7814 Bug 740883 - Improve DRAW event coalescing behaviour for reduced latency. r=Cwiiis 2012-04-10 09:27:04 -05:00
Kartikaya Gupta
0a60a60faa Bug 740718 - Move event coalescing code to PostEvent and rearrange to avoid null pointer dereferences. r=blassey 2012-04-07 23:50:42 -05:00
Doug Turner
c12c438297 Bug 741868 - Revert the android sensor filter which dropped orientation and movement events. r=mwu 2012-04-04 13:39:14 -07:00
Doug Turner
986e12dd8b Bug 734324 - implement device motion - rotation rate and acceleration. r=jdm 2012-03-13 16:57:51 -07:00
Ed Morley
74f35e0ce5 Backout 8b74d5ae78c3 & c619bbb2951f (bug 734391), 772c994fa869 (bug 734324), fd23ff0f9dd1 (bug 734325), d1e037a9390e (bug 733653), 3a7bf79b5b2d (bug 733650) & 9d9392fce538 (bug 733652) for OS X M1 & M3 orange 2012-03-13 22:29:29 +00:00
Doug Turner
53a6fd03f8 Bug 734324 - implement device motion - rotation rate and acceleration. r=jdm 2012-03-13 10:00:02 -07:00
Brad Lassey
3525cf6232 bug 727847 - meter orientation events on android r=dougt 2012-02-16 23:03:57 -08:00
Brad Lassey
cff653877d bug 726930 - speed up tab thumbnails r=mfinkle 2012-02-17 10:52:26 -08:00
Brian R. Bondy
d0a93b0ace Bug 679226 - Fold widget/src into widget. r=roc 2012-01-03 22:09:29 -05:00