Commit Graph

1479 Commits

Author SHA1 Message Date
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