Commit graph

417 commits

Author SHA1 Message Date
Masayuki Nakano
0789f7b595 Bug 1217700 part.1 nsIWidget should return reference to IMENotificationRequests r=m_kato
IMEContentObserver may need to change notifications to send when TextInputProcessor begins input transaction.  In current design, IMEContentObserver needs to retrieve IMENotificationRequests at every change.  However, if nsIWidget returns a reference to its IMENotificationRequests, IMEContentObserver can call it only once.

For that purpose, this patch changes nsIWidget::GetIMENotificationRequests() to nsIWidget::IMENotificationRequestsRef() and make it return |const IMENotificationRequests&|.  However, if the lifetime of the instance of IMENotificationRequest is shorter than the widget instance's, it's dangerous.  Therefore, it always returns TextEventDispatcher::mIMENotificationRequests.  TextEventDispatcher's lifetime is longer than the widget.  Therefore, this guarantees the lifetime.

On the other hand, widget needs to update TextEventDispatcher::mIMENotificationRequests before calls of nsIWidget::IMENotificationRequestsRef().  Therefore, this patch makes TextEventDispatcher update proper IMENotificationRequests when it gets focus or starts new input transaction and clear mIMENotificationRequests when it loses focus.

Note that TextEventDispatcher gets proper requests both from native text event dispatcher listener (typically, implemented by native IME handler class) and TextInputProcessor when TextInputProcessor has input transaction because even if TextInputProcessor overrides native IME, native IME still needs to know the content changes since they may get new input transaction after that.

However, there may not be native IME handler in content process.  If it runs in Android, PuppetWidget may have native IME handler because widget directly handles IME in e10s mode for Android.  Otherwise, native IME handler is in its parent process.  So, if TextInputHandler has input transaction in content process, PuppetWidget needs to behave as native event handler.  Therefore, this patch makes PuppetWidget inherit TextEventDispatcherListener and implements PuppetWidget::IMENotificationRequestsRef().

MozReview-Commit-ID: 2SW3moONTOX

--HG--
extra : rebase_source : d2634ada6c33dbf7a966fadb68608411ee24bfab
2017-04-15 01:35:58 +09:00
Masatoshi Kimura
14b8ca8af8 Bug 1356565 - Use AddFloatVarCache to cache layout.css.devPixelsPerPx. r=kanru
MozReview-Commit-ID: HZ9pBiU17H3

--HG--
extra : rebase_source : 4c8dba672927362e7ecace6d49ad1452af7bc1e2
extra : source : 348f81ec40a7894fbf1c7c5112beafb79970b956
2017-04-09 01:28:54 +09:00
Masayuki Nakano
61ce5526c6 Bug 1296220 Rename nsIMEUpdatePreference to mozilla::widget::IMEUpdatePreference r=m_kato
MozReview-Commit-ID: 2rIXTlwA6my

--HG--
extra : rebase_source : a51be3edd717092738c2b5e8ccc4f60540712bfd
2017-04-11 21:24:55 +09:00
Masatoshi Kimura
8f857ca1d0 Bug 1353493 - Cache the return value for nsIWidget::DefaultScaleOverride(). r=kanru
MozReview-Commit-ID: ExP179bxbHe

--HG--
extra : rebase_source : cf242fe02c009fb4f37028000f63c0c1774546cc
extra : intermediate-source : aa0b3009c855c71279f404fb211126ae8bb07b85
extra : source : 80abe5b0a796774e8aef7690e7c8c0be6892f4c1
2017-04-06 23:30:09 +09:00
Kartikaya Gupta
44f27a56e4 Bug 1343977 - Extract nsAutoRollup into a more self-contained class and clean it up some. No functional changes intended. r=enndeakin+6102
This just decouples nsAutoRollup from the widget class, which it isn't really
bound to anyway because the internal data is static. We'll need to be able to
use nsAutoRollup independently in the next patch.

MozReview-Commit-ID: 1dxSLTr4g1K

--HG--
extra : rebase_source : 6f6964ca046b6f88e5c99c944a08b1c563f17837
2017-03-13 10:44:56 -04:00
Jim Chen
53a1107cd1 Bug 1343075 - Use GeckoEditableSupport from PuppetWidget; r=masayuki r=rbarker r=snorp r=esawin
Bug 1343075 - 1a. Add TextEventDispatcherListener::GetIMEUpdatePreference; r=masayuki

Add a GetIMEUpdatePreference method to TextEventDispatcherListener to
optionally control which IME notifications are received by NotifyIME.
This patch also makes nsBaseWidget forward its GetIMEUpdatePreference
call to the widget's native TextEventDispatcherListener.

Bug 1343075 - 1b. Implement GetIMEUpdatePreference for all TextEventDispatcherListener; r=masayuki

This patch implements GetIMEUpdatePreference for all
TextEventDispatcherListener implementations, by moving previous
implementations of nsIWidget::GetIMEUpdatePreference.

Bug 1343075 - 2. Allow setting a PuppetWidget's native TextEventDispatcherListener; r=masayuki

In PuppetWidget, add getter and setter for the widget's native
TextEventDispatcherListener. This allows overriding of PuppetWidget's
default IME handling. For example, on Android, the PuppetWidget's native
TextEventDispatcherListener will communicate directly with Java IME code
in the main process.

Bug 1343075 - 3. Add AIDL interface for main process; r=rbarker

Add AIDL definition and implementation for an interface for the main
process that child processes can access.

Bug 1343075 - 4. Set Gecko thread JNIEnv for child process; r=snorp

Add a JNIEnv* parameter to XRE_SetAndroidChildFds, which is used to set
the Gecko thread JNIEnv for child processes. XRE_SetAndroidChildFds is
the only Android-specific entry point for child processes, so I think
it's the most logical place to initialize JNI.

Bug 1343075 - 5. Support multiple remote GeckoEditableChild; r=esawin

Support remote GeckoEditableChild instances that are created in the
content processes and connect to the parent process GeckoEditableParent
through binders.

Support having multiple GeckoEditableChild instances in GeckoEditable by
keeping track of which child is currently focused, and only allow
calls to/from the focused child by using access tokens.

Bug 1343075 - 6. Add method to get GeckoEditableParent instance; r=esawin

Add IProcessManager.getEditableParent, which a content process can call
to get the GeckoEditableParent instance that corresponds to a given
content process tab, from the main process.

Bug 1343075 - 7. Support GeckoEditableSupport in content processes; r=esawin

Support creating and running GeckoEditableSupport attached to a
PuppetWidget in content processes.

Because we don't know PuppetWidget's lifetime as well as nsWindow's,
when attached to PuppetWidget, we need to attach/detach our native
object on focus/blur, respectively.

Bug 1343075 - 8. Connect GeckoEditableSupport on PuppetWidget creation; r=esawin

Listen to the "tab-child-created" notification and attach our content
process GeckoEditableSupport to the new PuppetWidget.

Bug 1343075 - 9. Update auto-generated bindings; r=me
2017-03-07 22:34:39 -05:00
Jim Chen
e559b260ee Bug 1137567 - Make nsWindow for Android use TextEventDispatcher; r=esawin r=rbarker r=masayuki r=snorp
Bug 1137567 - 1. Allow dispatching key events during composition; r=esawin

We potentially dispatch key events during composition to provide
compatibility for pages that only listen to key events.

Bug 1137567 - 2. Allow keyboard events in DispatchInputEvent when not on APZ thread; r=rbarker

We use nsIWidget::DispatchInputEvent to dispatch our keyboard events on
the Gecko thread, which on Android is not the APZ controller thread. We
should allow these events to pass instead of crashing.

Bug 1137567 - 3. Add GeckoEditableSupport class to support TextEventDispatcher; r=masayuki

Add a separate GeckoEditableSupport class, which implements
TextEventDispatcherListener and uses TextEventDispatcher for IME
operations. The new class is entirely separate from nsWindow to allow it
to be independently used in content processes as well.

Most of the code is copied from nsWindow::GeckoViewSupport, and adapted
to use TextEventDispatcher.

Bug 1137567 - 4. Make nsWindow::WindowPtr available for outside classes; r=snorp

Make nsWindow::WindowPtr available not just for classes inside nsWindow
but for outside classes as well. Also, add support for RefPtr native
objects to nsWindow::NativePtr.

Bug 1137567 - 5. Use GeckoEditableSupport in nsWindow; r=esawin

Use the new GeckoEditableSupport class in nsWindow to replace the
previous code in nsWindow::GeckoViewSupport. GeckoEditable native
methods now go to GeckoEditableSupport instead of GeckoViewSupport.

Several native methods in GeckoEditable are changed from
dispatchTo="proxy" to dispatchTo="gecko", because we no longer need the
special nsWindow::WindowEvent wrapper for our native calls.

Bug 1137567 - 6. Use pushPrefEnv in test_assign_event_data.html; r=masayuki

setAndObserveCompositionPref in test_assign_event_data.html does not
invoke the callback if the pref is already set. This patch changes it to
use SpecialPowers.pushPrefEnv so the callback is always invoked.
2017-03-01 15:29:30 -05:00
sotaro
18236d82ab Bug 1340510 - Fix nsBaseWidget::RevokeTransactionIdAllocator() r=nical 2017-02-20 10:57:06 +09:00
Kartikaya Gupta
f62b8b3b3f Merge m-c to graphics
MozReview-Commit-ID: IN2hMCjMHLL

--HG--
rename : browser/components/extensions/test/browser/browser_ext_url_overrides.js => browser/components/extensions/test/browser/browser_ext_url_overrides_newtab.js
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillContent.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillHandler.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/FormAutofillHeuristics.jsm
rename : browser/extensions/formautofill/content/FormAutofillContent.js => browser/extensions/formautofill/content/FormAutofillFrameScript.js
rename : browser/themes/shared/devedition/urlbar-history-dropmarker.svg => browser/themes/shared/compacttheme/urlbar-history-dropmarker.svg
rename : config/tests/makefiles/autodeps/check_mkdir.tpy => config/tests/makefiles/autodeps/check_mkdir.py
rename : dom/bindings/MozMap.h => dom/bindings/Record.h
rename : dom/bindings/parser/tests/test_mozmap.py => dom/bindings/parser/tests/test_record.py
rename : dom/file/File.cpp => dom/file/BaseBlobImpl.cpp
rename : dom/file/File.h => dom/file/BaseBlobImpl.h
rename : dom/file/File.cpp => dom/file/Blob.cpp
rename : dom/file/File.h => dom/file/Blob.h
rename : dom/file/File.cpp => dom/file/BlobImpl.cpp
rename : dom/file/File.h => dom/file/BlobImpl.h
rename : dom/file/File.cpp => dom/file/EmptyBlobImpl.cpp
rename : dom/file/File.h => dom/file/EmptyBlobImpl.h
rename : dom/file/File.cpp => dom/file/FileBlobImpl.cpp
rename : dom/file/File.h => dom/file/FileBlobImpl.h
rename : dom/file/File.cpp => dom/file/MemoryBlobImpl.cpp
rename : dom/file/File.h => dom/file/MemoryBlobImpl.h
rename : dom/file/File.cpp => dom/file/StreamBlobImpl.cpp
rename : dom/file/File.h => dom/file/StreamBlobImpl.h
rename : dom/file/File.h => dom/file/StringBlobImpl.h
rename : dom/file/File.h => dom/file/TemporaryBlobImpl.h
rename : dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.cpp => dom/media/platforms/wrappers/MediaDataDecoderProxy.cpp
rename : dom/media/platforms/agnostic/gmp/MediaDataDecoderProxy.h => dom/media/platforms/wrappers/MediaDataDecoderProxy.h
rename : dom/tests/mochitest/general/test_interfaces.html => dom/tests/mochitest/general/test_interfaces.js
rename : dom/workers/test/test_navigator.html => dom/workers/test/test_navigator.js
rename : js/src/jsautokw.py => js/src/frontend/GenerateReservedWords.py
rename : js/src/vm/Keywords.h => js/src/frontend/ReservedWords.h
rename : layout/base/RestyleManager.cpp => layout/base/GeckoRestyleManager.cpp
rename : layout/base/RestyleManager.h => layout/base/GeckoRestyleManager.h
rename : layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002-ref.xht => layout/reftests/bugs/1313772-ref.xhtml
rename : layout/reftests/w3c-css/submitted/ui3/box-sizing-replaced-002.xht => layout/reftests/bugs/1313772.xhtml
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/deny_public_fields/Cargo.toml
rename : servo/components/jstraceable_derive/Cargo.toml => servo/components/domobject_derive/Cargo.toml
rename : servo/components/plugins/lints/ban.rs => servo/components/script_plugins/ban.rs
rename : servo/components/plugins/jstraceable.rs => servo/components/script_plugins/jstraceable.rs
rename : servo/components/plugins/lib.rs => servo/components/script_plugins/lib.rs
rename : servo/components/plugins/lints/unrooted_must_root.rs => servo/components/script_plugins/unrooted_must_root.rs
rename : servo/components/plugins/utils.rs => servo/components/script_plugins/utils.rs
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length-manual.html
rename : testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex.html => testing/web-platform/tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex-manual.html
rename : testing/web-platform/tests/preload/link_header_preload_delay_onload.html.headers => testing/web-platform/tests/preload/link-header-preload-delay-onload.html.headers
rename : testing/web-platform/tests/preload/link_header_preload.html.headers => testing/web-platform/tests/preload/link-header-preload.html.headers
rename : services/sync/tests/unit/test_extension_storage_crypto.js => toolkit/components/extensions/test/xpcshell/test_ext_storage_sync_crypto.js
rename : toolkit/components/telemetry/TelemetryComms.h => toolkit/components/telemetry/ipc/TelemetryComms.h
rename : toolkit/components/telemetry/TelemetryIPCAccumulator.cpp => toolkit/components/telemetry/ipc/TelemetryIPCAccumulator.cpp
rename : toolkit/components/telemetry/TelemetryIPCAccumulator.h => toolkit/components/telemetry/ipc/TelemetryIPCAccumulator.h
extra : amend_source : 7411c39541f0b530b4b94cf359dc73e385abea4d
2017-02-17 23:33:24 -05:00
Nicolas Silva
f7a266bd62 Bug 1335799 - Update WR layers and FFI/bindings code for the webrender update. r=jrmuizel
MozReview-Commit-ID: Hv3MwSr97Op
2017-02-14 13:34:15 -05:00
Kartikaya Gupta
3c3b72b692 Bug 1337085 - Add a gfxVar to control whether or not webrender is enabled. r=sotaro
MozReview-Commit-ID: 8Ebc0DbhYbZ
2017-02-06 22:22:36 -05:00
Kartikaya Gupta
6580d884b2 Merge m-c to graphics
MozReview-Commit-ID: uU8MPphFqj
2017-02-02 13:38:51 -05:00
Kartikaya Gupta
ca041b7c5a Merge m-c to graphics
MozReview-Commit-ID: FOyS87VawTT
2017-01-25 08:52:04 -05:00
Kartikaya Gupta
2d5a95cae6 Bug 1333122 - Remove gfxPrefs::WebRenderEnabled() to avoid it being used inappopriately; do WR and APZ decision-making during compositor creation. r=dvander?
MozReview-Commit-ID: Fkv6G35BcFw
2017-01-24 08:03:08 -05:00
Kartikaya Gupta
b66c471aef Merge m-c to graphics
MozReview-Commit-ID: LyU2woFOt7O
2017-01-18 13:48:56 -05:00
Kartikaya Gupta
cf091ea0eb Bug 1328066 - Don't broadcast the live-resize events to all browser windows unnecessarily. r=mstange
The machinery for suppressing the displayport during live resizes
was using the Observer service. However, in the case of multiple
browser windows, this meant that all the open browser windows would
have their displayport suppressed if *any* of the browser windows
was being resized. This was mostly ok, as the displayport suppression
would be turned off once the resize ended. However, the code to
kick off a repaint with the unsuppressed displayport would only get
triggered on one of the windows (whichever happened to process the
unsuppress message last).

This patch stops using the Observer service for the implementation
machinery, and instead locates the active TabParent of the relevant
nsWindow, and invokes the displayport suppression directly on that.
This fixes the repainting bug and also avoids unnecessarily
broadcasting the suppression/unsuppression notification to windows
that don't neccessarily need it.

MozReview-Commit-ID: LBHOgOW9KUp
2017-02-01 10:38:16 -05:00
Kartikaya Gupta
1f7f98193e Bug 1326421 - Add a compositor option for WebRender being enabled or not. r=dvander
MozReview-Commit-ID: LeQRgKSn0Ql
2017-01-13 15:16:51 -05:00
Kartikaya Gupta
1f97dac250 Back out 4 csets from bug 1326421 because of various test failures. r=backout 2017-01-13 17:07:59 -05:00
Kartikaya Gupta
4f75c822cd Bug 1326421 - Clean up remaining uses of gfxPrefs::WebRenderEnabled. r=dvander
MozReview-Commit-ID: 4qE5l4cuHlk
2017-01-13 15:16:52 -05:00
Kartikaya Gupta
c9bbaf820c Bug 1326421 - Add a compositor option for WebRender being enabled or not. r=dvander
MozReview-Commit-ID: LeQRgKSn0Ql
2017-01-13 15:16:51 -05:00
Ryan Hunt
04951a435e Merge m-c to graphics 2017-01-13 10:14:22 -06:00
David Anderson
1dde5b07ae Fix bogus check in OnRenderingDeviceReset. (bug 1333329 part 4, r=rhunt)
--HG--
extra : rebase_source : d945ac735c11dc9e3835b580aba28e900502e26e
2017-01-24 11:23:12 -08:00
David Anderson
db4c9b67ef Ignore paints when a content device reset has not yet been acknowledged. (bug 1333329 part 3, r=rhunt)
--HG--
extra : rebase_source : 689b0a02d35a2cc145f4e207fa7a34994ca3b727
2017-01-24 11:23:12 -08:00
David Anderson
c74b40959d Replace async image container IDs with a typed struct. (bug 1323957 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : 4ff77f95ef818f59edb3d3b167548d84773a416f
2017-01-17 18:47:05 -08:00
Kartikaya Gupta
6c437b31b9 Bug 1330037 - Introduce a CompositorOptions struct that holds options on a per-compositor basis. r=dvander
MozReview-Commit-ID: Kja7zpCDmp3

--HG--
extra : rebase_source : 001c841957ca7abe0ae3b3793b674e1986e4575c
2017-01-12 17:29:41 -05:00
Kartikaya Gupta
5e2e8f8f8e Merge m-c to graphics
MozReview-Commit-ID: 5ovnMmSOiZX
2017-01-09 10:18:37 -05:00
Kartikaya Gupta
4233ee5fec Merge m-c to graphics
MozReview-Commit-ID: E0Sr26LKcZx
2016-12-21 10:16:15 -05:00
Nicholas Nethercote
523bee37b8 Bug 1325234 (part 9) - Remove remaining NS_IMETHOD_ occurrences from nsIWidget. r=mstange.
|virtual T| is clearer than |NS_IMETHOD_(T)|.

--HG--
extra : rebase_source : 9c8f423d7a89782a4d790a50e137071271086eed
2016-12-21 15:27:20 +11:00
Nicholas Nethercote
ea1e2ca6ce Bug 1325234 (part 5) - Streamline nsIWidget::SetCursor (both versions). r=jimm.
This patch changes one from |NS_IMETHOD| to |virtual nsresult| and the other to
|virtual void|.

--HG--
extra : rebase_source : 55af71c01dc75d6bf7c63191e9cfabc9f5368ffa
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
0eaecf55da Bug 1325234 (part 4) - Streamline nsIWidget::{SetFocus,SetNonClientMargins}(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual nsresult|.

--HG--
extra : rebase_source : 5e54c2fd340c393b33c9e1dcf20a80fe2f41b2f4
2016-12-21 11:13:08 +11:00
Nicholas Nethercote
a8699ee61d Bug 1325234 (part 1) - Streamline nsIWidget::NotifyIME. r=jimm.
This patch changes it from |NS_IMETHOD| to |virtual nsresult|. The callsites
were a mix of checked and unchecked so using |MOZ_MUST_USE| didn't feel
appropriate.

--HG--
extra : rebase_source : 471ca43dcd565ddd1761d01df344c30e4e04a9ec
2016-12-20 09:55:30 +11:00
sotaro
cb00bc0288 Bug 1320284 - Remove some MOZ_ENABLE_WEBRENDER r=nical? 2016-12-15 14:05:38 +09:00
Kartikaya Gupta
dd70fb88f4 Merge m-c to graphics
MozReview-Commit-ID: C13IwWOpf64
2016-12-14 09:32:38 -05:00
Kartikaya Gupta
7383fcbb4a Merge m-c to graphics
MozReview-Commit-ID: KhxBqJbwxv8
2016-12-06 23:45:24 -05:00
sotaro
8726336a39 Bug 1320284 - Switch WebRender by Pref r=nical? 2016-12-04 17:40:52 +09:00
sotaro
af7a090b59 Bug 1321183 - Deliver TextureFactoryIdentifier r=nical 2016-12-01 12:02:37 +09:00
Kartikaya Gupta
1edfa44b56 Merge m-c to graphics
MozReview-Commit-ID: E9vVT9ZNSAJ

--HG--
rename : layout/base/FrameLayerBuilder.cpp => layout/painting/FrameLayerBuilder.cpp
2016-11-22 10:21:45 -05:00
David Anderson
22b001c0b6 Delay the DidComposite call in ClientLayerManager's destructor. (bug 1305829, r=mattwoodrow) 2016-11-21 20:12:55 -08:00
Nicholas Nethercote
b2889711de Bug 1299335 (part 6) - Streamline nsIWidget::{Move,Resize}Client(). r=mstange.
This patch changes them from |NS_IMETHOD| to |virtual void| because the return
values are never used.

--HG--
extra : rebase_source : a456f0035e66cf025305e5b3e2450057e368f3a8
2016-12-19 14:38:19 +11:00
Nicholas Nethercote
d0912b2968 Bug 1299335 (part 4) - Streamline nsIWidget::HideWindowChrome. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from the android nsIWidget instance,
  because it can use the nsBaseWidget one.

--HG--
extra : rebase_source : 0791d3cb05907d6b41879549b52f3a33018abf45
2016-12-16 10:54:12 +11:00
Nicholas Nethercote
1dab0c3072 Bug 1299335 (part 3) - Streamline nsIWidget::SetParent. r=mstange.
This patch removes its return value, because none of the call sites check it
except for one non-vital assertion.

--HG--
extra : rebase_source : 3471c4e22394b8a05c6708d0f8469686ffad9814
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
efc5071ff2 Bug 1299335 (part 2) - Streamline nsIWidget::SetIcon. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : a1a04193bc3940f1468c7c235f6d6e0341d0f1c2
2016-12-16 10:54:11 +11:00
Nicholas Nethercote
3970265787 Bug 1299335 (part 1) - Change some nsIWidget function return values from |NS_IMETHOD| to |virtual MOZ_MUST_USE nsresult|. r=jimm.
Specifically: OnDefaultButtonLoaded, AttachNativeKeyEvent, BeginMoveDrag,
BeginResizeDrag, GetAttention. These are all fallible functions whose result is
always checked.

The patch also moves some trivial function definitions from nsBaseWidget.cpp to
nsBaseWidget.h, and removes the android BeginResizeDrag() because it can
use the nsBaseWidget one.

--HG--
extra : rebase_source : ef32a41b547bcbc21f7df0043f683307470b136e
2016-12-16 10:54:02 +11:00
Mozilla Graphics Team
9cc9061246 Bug 1317774 - Add non-gfx code needed to use WebRender in gecko. r=gfx
This completes the migration of code from the github branch to the graphics
project repo. At this point all webrender-related code should be disabled
unless --enable-webrender is provided in the mozconfig.

MozReview-Commit-ID: Dea8rxM6UPL
2016-11-16 08:54:51 -05:00
Kevin Wern
b2052e9ddc Bug 1304044 - implement auxclick r=smaug
After click events with button 2 or 3 are fired, fire auxclick, a new
event intended to represent a non-primary mouse click. Because this
event, based on the design examples and blink's implementation, is
intended to be used with content listeners, always dispatch on content
listeners--not just those that force all events to be dispatched (i.e.
document/window). This diverges from the behavior of our click events
from non-primary buttons.

Eventually, we hope this will replace click events for non-primary
buttons. For now, leave those events for compatibility reasons.

Additionally, add handling of this new event, where necessary.

MozReview-Commit-ID: 8osozM4h6Ya

--HG--
extra : rebase_source : 558261dd0d0b9241efa84ca168c50455850af03a
2016-11-30 19:48:02 -05:00
David Anderson
2c5e03e62e Don't reset devices for each tab when the compositor resets. (bug 1316788, r=rhunt) 2016-11-14 11:47:01 -08:00
Sylvestre Ledru
ce25a09be6 Bug 1338086 - Remove useless else blocks in order to reduce complexity widget/ r=mstange
MozReview-Commit-ID: AjL8H7aHLkm

--HG--
extra : rebase_source : 29f7974567a43ae5b19b5b1c08de5c9ad12993ba
2017-02-09 10:58:25 +01:00
Sylvestre Ledru
a4563a219e Bug 1317973 - Use auto type specifier for variable declarations to improve code readability and maintainability r=tnikkel
MozReview-Commit-ID: 5RDrGaxV3E4

--HG--
extra : rebase_source : d79b2fe895a158c7caffb12f76773fde652c86f9
2016-11-16 15:22:36 +01:00
Carsten "Tomcat" Book
846adaea6c merge mozilla-inbound to mozilla-central a=merge 2016-11-09 16:38:04 +01:00
Kartikaya Gupta
7e39a2bc59 Bug 1315974 - When creating the widget layer manager, don't assume it will always be a ClientLayerManager. r=mattwoodrow
MozReview-Commit-ID: 8r037jdHJ0E

--HG--
extra : rebase_source : 5f0e406ea6eb497b72f40054ba50cf64a6bd7dfb
2016-11-08 10:42:26 -05:00
Kartikaya Gupta
57f37706cc Bug 1315477 - Add a AsBasicLayerManager() function and use instead of static_casts. r=mattwoodrow
MozReview-Commit-ID: DV6XZBEXw85

--HG--
extra : rebase_source : b82f2ea2d073292c2a9514ba8a4c2d0c8397d90a
2016-11-07 11:38:45 -05:00
Kevin Wern
19f18efeac Bug 687787: support focusin/focusout based on webkit/blink r=smaug
Blink and webkit launch focusin after focus and focusout after blur. Despite
this contradiction with the spec, it is best to mirror this new way, as there
is little guidance or existing code to clarify implementation amiguities that
can arise from the spec.

If focus/blur is fired on a window or document, or the event triggers a change
of focus, do not fire the corresponding focusin/focusout. Otherwise, always
fire the corresponding event.

Additionally, add a mochitest and a w3c-platform-test.

MozReview-Commit-ID: AgQ8JBxKIqK
2016-10-06 21:39:53 -04:00
Ryan Hunt
fec86bdccd Bug 1313199 - Allow sending reset compositor messages over IPDl. r=dvander
--HG--
extra : rebase_source : 6d949e758d35e40702aa8e8022a6482ed7dbe280
2016-11-06 12:56:53 -06:00
Kevin Chen
95701b6cbf Bug 1309829 - Remove redundant IdentifyTextureHost call. r=dvander 2016-10-17 20:33:00 +02:00
Chris Peterson
e78e23c03d Bug 1310399 - Fix -Wshadow warning in widget/nsBaseWidget.cpp. r=jimm
widget/nsBaseWidget.cpp:1970:14 [-Wshadow] declaration shadows a local variable
2016-10-17 22:37:52 -07:00
Nicolas Silva
9f87d72b3f Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-07 11:08:32 +02:00
Jim Mathies
cf37bc5e58 Bug 1295596 - Remove release asserts from nsBaseWidget::AddChild associated with existing sibling checks. r=bsmedberg
MozReview-Commit-ID: CjIdIWP5nI1
2016-10-06 08:43:38 -05:00
Carsten "Tomcat" Book
2a026d93ba Backed out changeset 9fbc16390ef7 (bug 1299860) for bustage on a CLOSED TREE 2016-10-06 17:04:40 +02:00
Nicolas Silva
f10342b425 Bug 1299860 - Don't use the compositor backend of a popup with ImageBridge and VRManager. r=Bas 2016-10-06 16:39:56 +02:00
Sebastian Hengst
5d422e2b6b Backed out changeset b982a2199355 (bug 1295596) for build bustage. r=backout on a CLOSED TREE 2016-10-04 21:11:59 +02:00
Jim Mathies
fc6f4e741a Bug 1295596 - Remove release asserts from nsBaseWidget::AddChild associated with existing sibling checks. r=bsmedberg
MozReview-Commit-ID: HMCO1xq3pXd
2016-09-06 14:01:13 -05:00
Phil Ringnalda
400813c30b Merge m-i to m-c, a=merge 2016-09-30 23:24:52 -07:00
Milan Sreckovic
80890cacbd Bug 1306383: The top level window logic for the OS X is different. r=dvander
MozReview-Commit-ID: KP5C9LuITkx

--HG--
extra : rebase_source : b78332208aabfa14d7ab93774eb83a31d6b43b14
2016-09-29 13:14:11 -04:00
Kartikaya Gupta
1d5a942431 Bug 1300421 - Back out 4 csets from bug 1288760 for regressing event coordinate reporting. r=jfkthame
MozReview-Commit-ID: AJ2PkSfYCpv
2016-09-29 10:20:52 -04:00
Carsten "Tomcat" Book
dd4336be5d Backed out changeset 9ce619a6dcae (bug 1305628) for crashes 2016-09-28 11:12:07 +02:00
David Anderson
053ecfd3c3 Fix vsync sometimes not firing after the GPU process crashes. (bug 1305628, r=mattwoodrow) 2016-09-28 01:20:12 -07:00
Sebastian Hengst
a026f5edf9 Backed out changeset 7bcb0c169466 (bug 1305628) for crashing with mozilla::OffTheBooksMutex::Lock. r=backout 2016-09-27 23:21:47 +02:00
David Anderson
ea061497c3 Fix vsync sometimes not firing after the GPU process crashes. (bug 1305628, r=mattwoodrow) 2016-09-27 13:15:55 -07:00
Matt Woodrow
55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
David Anderson
56cd5719ee Fix vsync sometimes not firing after the GPU process crashes. (bug 1305628, r=mattwoodrow) 2016-09-30 01:23:52 -07:00
David Anderson
a03cd76c24 Recreate widget compositors when the GPU process dies. (bug 1300936 part 2, r=mattwoodrow)
--HG--
extra : rebase_source : 8b6770bcad64a21001efd5d75f0502672282fcab
2016-09-20 01:16:03 -07:00
Tanuja Sawant
50e09326b3 Bug 1285940 - Remove code to disambiguate overloads that is no longer necessary. r=botond
MozReview-Commit-ID: 5fBkxmGP1Cr

--HG--
extra : amend_source : b6c0917ef257f39ee707836d46d60b5d00364bad
2016-09-17 13:38:11 +05:30
Manish Goregaokar
aad318e17a Bug 1300337 - Replace None_ variants from nsStyleConsts.h with None; r=heycam,TYLin
MozReview-Commit-ID: CxHzbEzjLxT

--HG--
extra : rebase_source : 232f90b8b107f7fb49f47a29a4e493660b8a7d87
2016-09-04 00:16:58 +05:30
Michael Layzell
e67b01fcd0 Bug 1018486 - Part 3: Changes in widget/cocoa/, r=mstange
MozReview-Commit-ID: DhvanRhe9XE
2016-09-07 10:50:38 -04:00
Nicholas Nethercote
5bf56904c4 Bug 1296993 (part 8) - Streamline nsIWidget::CaptureMouse. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : 1c42bb32a662f2659c934a245ecd0025045120a5
2016-08-25 14:10:02 +10:00
Nicholas Nethercote
d960fbd475 Bug 1296993 (part 5) - Streamline nsIWidget::SetWindow{ShadowStyle,TitlebarColor,Class}. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from the android nsIWidget instance,
  because it can use the nsBaseWidget one.

--HG--
extra : rebase_source : f276e1629fcd0ffccb8c8dbec7bba6639a5ebd9f
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
4390cb4f8d Bug 1296993 (part 4) - Streamline nsIWidget::PlaceBehind. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : 82733f682c9e254e20354cc6908955a1e7485ee7
2016-08-25 13:43:27 +10:00
Nicholas Nethercote
672f94a22d Bug 1296993 (part 2) - Streamline nsIWidget::Set{,Fake}Modal. r=mstange.
This patch does the following.

- Removes the return value, because none of the call sites check it.

- Removes the empty implementations from several nsIWidget instances, because
  they can use the nsBaseWidget one.

--HG--
extra : rebase_source : b8a0d9a49b31929dd06af9e61fc57f484af7671d
2016-08-25 13:43:26 +10:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Nicholas Nethercote
00246f9dff Bug 1293596 (part 8) - Make nsIWidget::EnableDragDrop() infallible. r=jimm.
Its return value is only checked in one low-value assertion.

The patch also does the following.

- Removes the Android and GTK overloadings of EnableDragDrop(), which are
  identical to the nsBaseWidget one.

- Streamlines the Windows implementation: fixes the indentation and takes
  advantage of infallible |new|.

--HG--
extra : rebase_source : d090848cf5ea2e92c0188b07559c1e1f3899829f
2016-08-22 09:16:50 +10:00
Nicholas Nethercote
367d94e34e Bug 1293596 (part 7) - Make nsIWidget::Destroy infallible. r=karlt.
--HG--
extra : rebase_source : 403d279c432c70671aa85991868d006c1f2da81d
2016-08-10 10:04:11 +10:00
Nicholas Nethercote
8bc855b22d Bug 1293596 (part 6) - Make nsIWidget::SetSizeMode() infallible. r=mstange,baku.
The only implementation of SetSizeMode() that can fail is the nsCocoaWindow
one, on an Objective C exception, which is unlikely and can be swallowed.

This allows some nsGlobalWindow functions to become infallible as well.

--HG--
extra : rebase_source : 85d54185f63d2c138ee3f3e0e0bfe3b5e805a981
2016-08-22 09:15:49 +10:00
Nicholas Nethercote
3fda0deee8 Bug 1293596 (part 5) - Tweak nsIWidget::MakeFullScreen{,WithNativeTransition}(). r=mstange.
They don't need to be NS_IMETHOD.

The patch also gives nsBaseWidget an InfallibleMakeFullScreen() function, which
avoids the need for some checks.
2016-08-19 09:27:28 +10:00
Nicholas Nethercote
8f79833e36 Bug 1293596 (part 3) - Remove GetNonClientMargins. r=mstange.
It's dead code -- the only use is a recursive call within
nsWindow::GetNonClientMargins().
2016-08-19 09:03:13 +10:00
Nicholas Nethercote
67af4817e9 Bug 1293596 (part 2) - Rework nsIWidget bounds getters. r=mstange.
This patch makes GetBounds(), GetScreenBounds() and GetClientBounds() more
obviously infallible, like existing functions such as GetNaturalBounds() and
GetClientSize(). This results in clearer behaviour in nsCocoaWindow.mm if
Objective C exceptions occur. Along the way, the patch removes some useless
failure checks for these functions.

The patch also removes the NS_IMETHOD from GetRestoredBounds and makes that
function MOZ_MUST_USE.
2016-08-19 09:03:04 +10:00
Nicholas Nethercote
8e6f32c5b4 Bug 1293596 (part 1) - Don't use NS_IMETHOD for nsIWidget::AttachViewToTopLevel. r=karlt. 2016-08-10 10:04:08 +10:00
Jonathan Kew
0a3cede058 Bug 1288760 patch 2.0 - Move nsBaseWidget::GetWidgetScreen() up to the nsIWidget interface, to make it usable from DOM Event code. r=emk 2016-08-18 08:31:22 +01:00
Igor
175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Kearwood (Kip) Gilbert
434f167559 Bug 1250244 - Part 7: Implement WebVR 1.0 API,r=bz
MozReview-Commit-ID: JTOmaWePlJq
2016-02-24 15:54:50 -08:00
Nicholas Nethercote
735fccd3ce Bug 1293603 (part 3) - Remove erroneous NS_METHOD uses in widget/. r=erahm.
All these occurrences are for methods declared with NS_IMETHOD, and so they
should be NS_IMETHODIMP instead of NS_METHOD.

--HG--
extra : rebase_source : 50b0c0f46cab6a13cc27ad48fb24503b9a491463
2016-08-09 14:03:13 +10:00
Yura Zenevich
7d6abb5975 Bug 527003 - separating XPCOM parts from nsAccessibilityService. Removing a11y service in favour of using nsAccessibilityService directly. Adding support for a11y service shutdown. r=surkov
MozReview-Commit-ID: KKeywNi3fQb
2016-08-08 20:51:39 -04:00
Kartikaya Gupta
713c58caee Bug 1289435 - Extract a helper function to dispatch MultiTouchInput to APZ if applicable and then to Gecko. r=mstange
This also modifies the windows widget code to use this new helper function, as
it avoids an unnecessary round-trip where a MultiTouchInput gets converted to
a WidgetTouchEvent (in nsWindow.cpp) and then back to a MultiTouchInput (in
APZCTreeManager.cpp)

MozReview-Commit-ID: 1WGbfINTW6c
2016-08-03 12:06:58 -04:00
Kartikaya Gupta
ebadfda552 Bug 1289435 - Ensure that the synthesized native touch events have sane timestamps. r=mstange
MozReview-Commit-ID: 6QxB7XBx7T7
2016-08-03 12:06:58 -04:00
Andi-Bogdan Postelnicu
edffc3c8ec Bug 1289792 - removed member variable mAPZResult and used a local one in Run(). r=vlad
MozReview-Commit-ID: JPkE1cSg4HP

--HG--
extra : rebase_source : 8d66dda7390b1d88763f9eb1ad49c542a2c247ca
2016-07-27 17:39:13 +03:00
Kartikaya Gupta
166816e4b0 Bug 1287576 - Update the touch-behavior notification code to behave like the set-target-apzc notification code. r=botond
In particular, this change uses the root frame of the touch target document,
so that the correct presShell resolution is used when doing the touch-action
hit test.

MozReview-Commit-ID: 2bra6PIRqkR
2016-07-25 20:35:03 -04:00
Kartikaya Gupta
d8e85035dd Bug 1288187 - Extract a helper function to manage synthetic touch points for widgets that don't have more specific handling. r=botond
MozReview-Commit-ID: EFlHnN700vc
2016-07-25 17:33:09 -07:00
Ryan Hunt
5c1e3a17b8 Bug 1281575 - Extract interface of APZCTreeManager for moving to GPUProcess. r=kats
MozReview-Commit-ID: 7tO2kkTNFk2
2016-07-20 13:37:00 +02:00
Carsten "Tomcat" Book
5b86ab83e3 Backed out changeset 3119db384fcc (bug 1281575) for bustage 2016-07-21 06:26:58 +02:00
Ryan Hunt
de1e16b8e9 Bug 1281575 - Extract interface of APZCTreeManager for moving to GPUProcess. r=kats 2016-07-20 13:37:00 +02:00