Граф коммитов

2282 Коммитов

Автор SHA1 Сообщение Дата
Agi Sferro 32866173fc Bug 1436754 - Merge LayerSession into GeckoSession; r=snorp,jchen
Depends on D10990

Differential Revision: https://phabricator.services.mozilla.com/D10991

--HG--
extra : moz-landing-system : lando
2018-11-09 17:04:38 +00:00
Jonathan Watt b5bfd3a7ea Bug 1505316 p2. Rename aWidgetType to aAppearance in widget code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D11156

--HG--
extra : rebase_source : c908a6d6419c6462453cb8b745effc583d767902
extra : source : 07e12bc71a8d96b52b1a1bbc8dc7545ae4454a4f
2018-10-24 16:24:57 +01:00
Jonathan Watt 587108c41f Bug 1505316 p1. Use StyleAppearance instead of WidgetType in widget code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D11155

--HG--
extra : rebase_source : 7cbb8c381adfc49803c1bc0e90f4609f6cc7e6d0
2018-10-24 12:47:20 +01:00
Jim Chen 841b637299 Bug 1490391 - 2. Queue synchronize replies if we already queued some replies; r=esawin
If we already queued some synchronize replies, we should queue any
additional replies so that we don't prematurely reply to an event that
has not finished processing yet.

Also add delay for synchronize replies when a `OnImeUpdateComposition`
call is being processed.

Differential Revision: https://phabricator.services.mozilla.com/D9850
2018-11-06 00:12:07 -05:00
Jim Chen 12453d9645 Bug 1499429 - 5. Make setting editable parent async; r=esawin
Currently we make a sync call from the child process to the parent
process to retrieve the IGeckoEditableParent instance. However, that can
lead to deadlocks when a11y code makes parent-to-child async calls at
the same time. This patch makes the call async to avoid the deadlock.

Differential Revision: https://phabricator.services.mozilla.com/D10663
2018-11-06 00:12:07 -05:00
Jim Chen 8a599aa552 Bug 1499429 - 3. Transfer to new GeckoEditableParent during session transfer; r=esawin
During a session transfer, update existing GeckoEditableChild instances
in the parent and child processes to use the new GeckoEditableParent
instance that corresponds to the new session. If the GeckoEditableChild
has focus, take additional steps to make sure the GeckoEditableParent
receives current input context and focus information.

Differential Revision: https://phabricator.services.mozilla.com/D8996
2018-11-06 00:12:06 -05:00
Jim Chen 2944534e33 Bug 1499429 - 2. Set default GeckoEditableChild from native code; r=esawin
Set the default GeckoEditableChild from C++, so we can keep the same
GeckoEditableChild instance across session transfers, and only have a
different GeckoEditableParent instance after each transfer.

Differential Revision: https://phabricator.services.mozilla.com/D8995
2018-11-06 00:12:06 -05:00
shindli 7c0a5e2aef Merge inbound to mozilla-central. a=merge 2018-11-03 11:40:50 +02:00
Gerald Squelart 1d2a9c227e Bug 1503468 - Add more AUTO_PROFILER_THREAD_SLEEP's - r=mstange
These are around wait functions that already had an IDLE marker.

Differential Revision: https://phabricator.services.mozilla.com/D10671

--HG--
extra : moz-landing-system : lando
2018-11-02 16:26:50 +00:00
Ryan Hunt 2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

Differential Revision: https://phabricator.services.mozilla.com/D10722

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
James Willcox d64eea208c Bug 1405081 - Add WebRequest, WebResponse, and GeckoWebExecutor to GeckoView r=jchen,esawin
This exposes Gecko networking to GeckoView apps. It includes speculative connections, name resolution, and a Fetch-like HTTP API.

Differential Revision: https://phabricator.services.mozilla.com/D7799

squash to executor
2018-11-01 09:52:23 -05:00
Dylan Roeh 242b002ed0 Bug 1503658 - Add isFennec attribute to nsIAndroidBridge. r=snorp 2018-10-31 13:56:08 -05:00
Makoto Kato 90f9f1ea2a Bug 1500876 - Remove PContent::GetSystemColors sync IPC. r=snorp,mccr8
Content process of Android uses sync IPC when initializing LookAndFeel. But
current e10s has LookAndFeel cache for start up of content process.
So we should use it, then remove sync IPC for start up performance

Differential Revision: https://phabricator.services.mozilla.com/D9750

--HG--
extra : moz-landing-system : lando
2018-10-29 01:35:47 +00:00
Csoregi Natalia f95bae0402 Backed out changeset 9a3a43e8743d (bug 1493081) for bustages on AccessibleWrap.cpp. CLOSED TREE 2018-10-22 12:00:29 +03:00
Jan Horak 9ac0f986e7 Bug 1493081 - Added nsIWidget::GetDesktopToDeviceScaleByScreen for scale factor lookup by window position; r=mattwoodrow
We've added nsIWidget::GetDesktopToDeviceScaleByScreen which will return scale factor of the newly placed window
according to its position on the display. This change is to move implementation to the nsIWidget derived classes.
We need that for GTK Wayland, because on the Wayland we cannot determine absolute position of the window, we
need to use parent's window scale factor. For other platforms the GetDesktopToDeviceScaleByScreen is implemented
in nsBaseWidget.

Differential Revision: https://phabricator.services.mozilla.com/D7290

--HG--
extra : moz-landing-system : lando
2018-10-12 17:03:54 +00:00
Eitan Isaacson d220e1c023 Bug 1499188 - Make accessibility entry input type an int in bundle message. r=jchen,Jamie
Differential Revision: https://phabricator.services.mozilla.com/D8871

--HG--
extra : moz-landing-system : lando
2018-10-16 16:43:16 +00:00
Eitan Isaacson 3bb071595c Bug 1479037 - Introduce native event support 4/4. r=jchen,yzen?jamie
Depends on D6683

Differential Revision: https://phabricator.services.mozilla.com/D6684

--HG--
extra : moz-landing-system : lando
2018-10-11 16:22:11 +00:00
Dorel Luca 92a3152cee Backed out 4 changesets (bug 1479037) on dev's request for causing android crashes. a=backout
Backed out changeset 85f8ca59f747 (bug 1479037)
Backed out changeset 630601f0663e (bug 1479037)
Backed out changeset c926c6470235 (bug 1479037)
Backed out changeset f8a20bd86895 (bug 1479037)
2018-10-10 18:52:59 +03:00
Eitan Isaacson 8102b1e502 Bug 1479037 - Introduce native event support 4/4. r=jchen,yzen?jamie
Depends on D6683

Differential Revision: https://phabricator.services.mozilla.com/D6684

--HG--
extra : moz-landing-system : lando
2018-10-09 17:21:01 +00:00
James Willcox 9eadd7710b Bug 1486596 - Hold a WeakRef to EventDispatcher from native code r=jchen 2018-10-03 13:02:46 -05:00
James Willcox 923748371f Bug 1486596 - Hold a WeakRef to LayerSession::Compositor from nsWindow r=jchen 2018-10-03 13:02:45 -05:00
James Willcox 010a4a02a5 Bug 1486596 - Hold a WeakRef to PanZoomController from nsWindow r=jchen 2018-10-03 13:02:45 -05:00
James Willcox 075ccc9563 Bug 1486596 - Hold a WeakRef to GeckoSession.Window from nsWindow r=jchen
This is necessary so that GeckoSession.Window can be garbage
collected, at which point the finalizer will close the
underlying nsWindow.
2018-10-03 13:02:44 -05:00
James Willcox f0e249edac Bug 1486596 - Add WeakRef support to mozilla::jni r=jchen 2018-10-03 13:02:44 -05:00
Jim Chen 713d1d9d23 Bug 1492308 - 5. Make various objects use the new disposal mechanism; r=snorp
Make LayerViewSupport, NPZCSupport, GeckoEditableSupport, and
SessionAccessibility use the new disposal mechanism to ensure the
disposal is performed safely.

Differential Revision: https://phabricator.services.mozilla.com/D7110

--HG--
extra : moz-landing-system : lando
2018-10-02 19:59:40 +00:00
Jim Chen e38164a080 Bug 1492308 - 4. Add new mechanism for safely disposing native objects; r=snorp
Add a new mechanism in NativePtr::Detach to safely dispose objects. A
new disposer Runnable is passed to OnDetach functions. The OnDetach
functions invoke the disposer after changing the object state. The
disposer then makes sure the object hasn't been attached to another
native object in the meantime. Disposal is only performed when the
current native object matches the original one.

Differential Revision: https://phabricator.services.mozilla.com/D7109

--HG--
extra : moz-landing-system : lando
2018-10-02 19:59:37 +00:00
Jim Chen 4e55f50285 Bug 1492308 - 2. Create new native handle before clearing old one; r=snorp
Create a new native handle first before deleting any old ones, so we can
be sure the new handle would not have the same value as the old handle,
which can confuse our code.

Differential Revision: https://phabricator.services.mozilla.com/D7107

--HG--
extra : moz-landing-system : lando
2018-10-02 19:59:32 +00:00
Eitan Isaacson 0206ea9620 Bug 1479034 - Make GeckoView's SessionAccessibility a JNIObject associated with a nsWindow. r=jchen 2018-09-21 16:03:35 -07:00
Ehsan Akhgari 8d7c2999dc Bug 1491594 - Remove the XPCOM registration for the native theme renderer r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6275

--HG--
extra : moz-landing-system : lando
2018-09-20 01:20:55 +00:00
Ehsan Akhgari 77ce9e051f Backout changeset b4f8cb6afab6 (bug 1491594) for talos performance regressions 2018-09-18 18:33:56 -04:00
Jim Chen e87c3096e6 Bug 1442176 - 1. Remove current pin-on-caret-drag code; r=snorp
Remove the current code that pins the toolbar on caret drag, which only
works for Fennec.

Differential Revision: https://phabricator.services.mozilla.com/D5189
2018-09-17 17:47:21 -04:00
Jim Chen fe39a234fe Bug 1449567 - Don't reattach compositor for the same compositor object; r=snorp
If we're trying to detach and reattach the same compositor object for
whatever reason, we should skip it so we don't inadvertently end up not
attaching the object at all.

Differential Revision: https://phabricator.services.mozilla.com/D5608

--HG--
extra : moz-landing-system : lando
2018-09-17 17:29:30 +00:00
Ehsan Akhgari 7c90f6f4f5 Bug 1491594 - Remove the XPCOM registration for the native theme renderer; r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5961
2018-09-16 13:51:21 -04:00
Andreea Pavel 737bd284b4 Backed out changeset 52573727971b (bug 1449567) for braking android build bustages on a CLOSED TREE 2018-09-16 07:29:22 +03:00
Jim Chen 5055667930 Bug 1449567 - Don't reattach compositor for the same compositor object; r=snorp
If we're trying to detach and reattach the same compositor object for
whatever reason, we should skip it so we don't inadvertently end up not
attaching the object at all.

Differential Revision: https://phabricator.services.mozilla.com/D5608

--HG--
extra : moz-landing-system : lando
2018-09-13 16:25:26 +00:00
Hiroyuki Ikezoe d879a93c1d Bug 1478505 - Run test_mq_prefers_reduced_motion_dynamic.html on Android. r=jchen
To make the test work properly, there needs two functions.  One is just setting
a value for testing and sending the notificaiton for the value changes, the
other one is to reset the state for testing.

The test itself will be introduced in bug 1486971, especially in
https://phabricator.services.mozilla.com/D5004

Depends on D5503

Differential Revision: https://phabricator.services.mozilla.com/D5504

--HG--
extra : moz-landing-system : lando
2018-09-15 10:05:37 +00:00
Hiroyuki Ikezoe 2948ca3af5 Bug 1478505 - Implement prefers-reduced-motion on Android. r=jchen
Depends on D5502

Differential Revision: https://phabricator.services.mozilla.com/D5503

--HG--
extra : moz-landing-system : lando
2018-09-15 10:03:42 +00:00
Hiroyuki Ikezoe 670b9b1d28 Bug 1478505 - Rename GeckoInputDeviceListener to GeckoSystemStateListener. r=jchen
Because we are going to use it for prefers-reduced-motion media feature which
is tied to a system setting.

Differential Revision: https://phabricator.services.mozilla.com/D5502

--HG--
rename : mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoInputDeviceListener.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoSystemStateListener.java
rename : widget/android/GeckoInputDeviceListener.h => widget/android/GeckoSystemStateListener.h
extra : moz-landing-system : lando
2018-09-15 10:03:29 +00:00
Hiroyuki Ikezoe b2160ed2cf Bug 1035774 - Support dynamic input device changes for Android. r=jchen
Though we can't write automation tests for this, I have confirmed that the input
device added/removed are properly notified to 'browser.xul'. Unfortunately the
notifications don't reach to conent documents because of bug 1478212, but I've
also confirmed they did reach to content documents with replacing
MediaFeatureValuesChanged with MediaFeatureValuesChangedAllDocuments in
nsPresContext::RefreshSystemMetrics().

Differential Revision: https://phabricator.services.mozilla.com/D3303
2018-08-14 16:38:03 +09:00
Hiroyuki Ikezoe 2b678040eb Bug 1035774 - Introduce functions to get the capabilities for the primary pointer and for all available pointers on Android. r=jchen
There is no API that we can tell which input device is the primary pointer
device on Android, so we assume that the first pointer-type input device
in the list of InputDevice.getDevice is the primary one.

Test results on L-01F (a variant of LG-G2):
 - Normal boot
   The touchscreen is the primary device
   - Plugged a mouse
      The touchscreen is the primary device

 - Boot with a plugged mouse
   The mouse is the primary device
   - Plugged off the mouse
      The touchscreen is now the primary device
   - Plugged the mouse again
      The touchscreen is the primary device

Classification in getPointerCapablities refered to chrome impelementation [1].
In addition to the classification, we add SOURCE_JOYSTICK as a 'COARSE' and
'HOVER_CAPABLE' device.

[1] d4c8983688/ui/android/java/src/org/chromium/ui/base/TouchDevice.java (72)

Differential Revision: https://phabricator.services.mozilla.com/D3302
2018-08-14 16:38:03 +09:00
Gabriele Svelto b0e6709e13 Bug 1476250 - Simplify HAL initialization and shutdown to reduce the chance of leaks and UAFs r=froydnj
This patch initializes some HAL components greedily so that we can get rid of
lazy initializers within the code. Observers are still lazily initialized
because they can be instanced within content processes but that doesn't always
happen and we don't want to pay the memory price for structures we don't use.

Shutdown is now happening at a fixed time for all HAL components save
WakeLocks. This ensures that we don't destroy an object while still iterating
over it, something that could happen before.

Finally a workaround for a compiler limitation has been removed.

Differential Revision: https://phabricator.services.mozilla.com/D3100

--HG--
extra : moz-landing-system : lando
2018-08-31 20:29:30 +00:00
Gabriele Svelto 6bddc0a55e Bug 1486772 - Refactor the screen-orientation types and headers r=smaug
This patch removes the 'ScreenOrientationInternal' type from
dom/base/ScreenOrientation.h and moves it into the
HalScreenConfiguration.h header, renaming it simply to 'ScreenOrientation'
in the process. This has several knock-off effects:

- It allows files that needed ScreenOrientationInternal to include a much
  smaller header than before

- It greatly reduces the number of headers pulled in when including Hal.h

- It clarifies the role of the type. The 'Internal' part in the name had
  nothing to do with it being part of the implementation. The type was public
  and called that way only to avoid clashing with the 'ScreenOrientation'
  class. Since we moved it into a different namespace it can be renamed
  safely.

- It allows a file that was manually re-declaring 'ScreenConfigurationInternal'
  type to use the original one

- Finally this fixes a few files which were missing headers they actually
  required but that would still build because unified compilation put them into
  units that already had those headers thanks to ScreenConfiguration.h

Differential Revision: https://phabricator.services.mozilla.com/D4458

--HG--
extra : moz-landing-system : lando
2018-08-29 20:54:56 +00:00
Jan Henning 07d61a0e0f Bug 1485833 - Use a backwards compatible way of handling NDK changes in jni.h. r=jchen
When building with the NDK clang, which is the easiest way of building locally,
NDK r17 doesn't work for ARM builds because of a broken clang, and while the
NDK r18-beta fixes that problem, for some people it causes a different set of
issues.
Since NDK r15c doesn't have the ndk-version.h headers, switch to a different
way of bridging the differences that allows people to continue building with
r15c locally.

Differential Revision: https://phabricator.services.mozilla.com/D4471

--HG--
extra : moz-landing-system : lando
2018-08-28 20:05:36 +00:00
Jan Henning e04236b5f9 Bug 1484823 - Fix Android build errors with NDK r18-beta1. r=snorp
Getting a working local build with the system clang might be tricky, while
building with NDK r17 clang is broken (bug 1484723).
NDK r18-beta1 fixes this, but also made all jvalue* method parameters in jni.h
const,so in order to support building with it we need to adjust our relevant
function types, too.

Differential Revision: https://phabricator.services.mozilla.com/D3832

--HG--
extra : moz-landing-system : lando
2018-08-22 16:01:33 +00:00
Ehsan Akhgari a07f6c3866 Bug 1484848 - Remove the XPCOM component registrations for window and child window; r=mstange 2018-08-21 16:20:28 -04:00
Randall Barker 91e6e6d242 Bug 1484463 - Remove GeckoAppShell.setScreenDepthOverride(). r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D3813

--HG--
extra : moz-landing-system : lando
2018-08-20 19:11:09 +00:00
Jan Henning 619de3dc05 Bug 1476106 - Part 4 - Refresh ScreenManager data when detecting orientation changes. r=snorp
As of bug 1475875, cached screen data is now held by Gecko, so
- we no longer need to cache the screen size (retrieval of which can be
  expensive when called en masse, as required e.g. by font inflation) within
  GeckoAppShell, and
- we need to trigger a refresh of that data instead when the activity
  orientation changes.

MozReview-Commit-ID: JsY6sBCcOih

--HG--
extra : rebase_source : f286f3b01732bd724da3988c4713adb7329a5fae
2018-08-02 22:03:59 +02:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
James Willcox f1b8f63457 Bug 1475875 - Use ScreenManager on Android r=esawin,jchen
This ensures we have screen information with e10s.

MozReview-Commit-ID: 1zghxZuLqr3
2018-08-07 14:14:32 -05:00
James Willcox 0a29f4fcc4 Backed out Bug 1475875 due to Chromecast breakage. r=backout
MozReview-Commit-ID: IUjur089BVS
2018-07-31 13:11:14 -05:00