Commit Graph

761 Commits

Author SHA1 Message Date
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Doug Thayer
35bd3f0b0d Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU
2018-04-29 18:21:20 -07:00
Cosmin Sabou
65e12679b2 Backed out changeset 531593bacc4e (bug 1448040) for Android build bustages on HangAnnotations.h. CLOSED TREE 2018-06-07 19:22:31 +03:00
Doug Thayer
9710c4d367 Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU
2018-04-29 18:21:20 -07:00
Emilio Cobos Álvarez
6100dee429 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
James Willcox
520eafbd32 Bug 1453501 - Immediately create Compositor on Android r=jchen,rbarker
Currently we don't create the Compositor until we have a valid surface
to render into. This causes a race that can result in us not being able
to display anything at all once a surface is provided and the compositor
is started. It seems the easiest thing to do right now is to avoid the
race by starting the Compositor immediately.

MozReview-Commit-ID: HkdVL3LBNZB
2018-05-14 11:12:39 -05:00
shindli
c10632a81e Backed out 3 changesets (bug 1453501) for bustage in build/build/src/gfx/gl/GLContextProviderEGL.cpp on a CLOSED TREE
Backed out changeset 8b53a7b34121 (bug 1453501)
Backed out changeset c07588586701 (bug 1453501)
Backed out changeset 6c231423492b (bug 1453501)
2018-05-14 17:05:14 +03:00
James Willcox
87edda71ff Bug 1453501 - Immediately create Compositor on Android r=jchen,rbarker
Currently we don't create the Compositor until we have a valid surface
to render into. This causes a race that can result in us not being able
to display anything at all once a surface is provided and the compositor
is started. It seems the easiest thing to do right now is to avoid the
race by starting the Compositor immediately.

MozReview-Commit-ID: HkdVL3LBNZB
2018-05-14 08:15:38 -05:00
Jim Chen
5102149dbf Bug 1458327 - 1. Pass init-data instead of settings to Window; r=esawin
Instead of passing a live settings object to the native Window, pass a
static initialization data bundle to the Window. The bundle contains
settings at the time of creation. All changes to settings after creation
are updated through events, rather than the live object.

Using a live object between Gecko and UI threads has some drawbacks,
including the need to lock the object, and the fact it won't work with
remote runtimes across processes.

MozReview-Commit-ID: 1DngLfJ0Fnc
2018-05-04 21:08:10 -04:00
Zhang Junzhi
4e076672d1 Bug 1358017 - Part 4: Implements the auto-dir scrolling feature(without the "honour root" functionality) in APZ r=kats
This commit implements the auto-dir scrolling functionality in APZ, based on
part 1 to part 3. However, the functionality of mousewheel.autodir.honourroot
will be implemented in a future.

MozReview-Commit-ID: 9xai99x71gh
2018-03-16 19:23:53 +08:00
Nathan Froyd
c415bb3846 Bug 1448016 - make some Android widget constructors explicit; r=snorp
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
Kartikaya Gupta
5df2dfffc9 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP
2018-03-24 19:06:01 -04:00
James Willcox
e51d3b14f0 Bug 1422137 - Rename NativePanZoomController to PanZoomController r=rbarker
MozReview-Commit-ID: DUdekq4OV2e
2018-03-22 12:39:53 -05:00
Boris Zbarsky
72b3558850 Bug 1446711 part 7. Switch the nsIDOMMouseEvent::MOZ_SOURCE_* constants over to MouseEventBinding. r=qdot
We can't include MouseEventBinding.h in MouseEvents.h because that produces
this include loop:

MouseEventBinding.h -> UIEventBinding.h ->
nsGlobalWindow.h -> nsGlobalWindowInner.h -> nsRefreshDriver.h ->
AnimationEventDispatcher.h -> AnimationComparator.h -> Animation.h ->
EffectCompositor.h -> PseudoElementHashEntry.h -> Element.h ->
PointerEventHandler.h -> MouseEvents.h -> MouseEventBinding.h

MozReview-Commit-ID: 6FNksGil7uD
2018-03-20 00:16:06 -04:00
Kartikaya Gupta
60181110ea Bug 1441324 - Extract an APZInputBridge interface from IAPZCTreeManager. r=rhunt
This separates the methods that are used to deliver input events
synchronously over IPDL to the compositor; this interface will be
remoted over a new APZInputBridge IPDL protocol in future patches.

MozReview-Commit-ID: 1f3V9SUKlfW
2018-03-16 16:28:18 -04:00
Jim Chen
c394d91b71 Bug 1442250 - 5. Reset native queue early when transferring; r=esawin
When we reset the old native queue when transferring to another session,
perform the reset right after the transfer() call, instead of in
onTransfer(), which is too late for clearing stale pending calls.

Then, after transferring to a new queue, let Gecko call Window.onReady
to set the new queue's state if needed. That way the Java queue state is
consistent with the Gecko state.

MozReview-Commit-ID: CUXGrhR4FCD
2018-03-09 12:34:38 -05:00
Michael Kaply
b5a6239d48 Bug 1342288 - Remove PresentationMediaPlayerManager. r=snorp
MozReview-Commit-ID: 4H46ahWTntR
2018-03-06 16:33:42 -06:00
James Willcox
5c4f4fd1d7 Bug 1432485 - Add GeckoSession.NavigationListener.onNewSession r=jchen,esawin
This allows apps to decide which GeckoSession should handle a load that
will be in a new window (e.g., window.open()).

MozReview-Commit-ID: BkJM93489Ga
2018-02-22 09:18:32 -06:00
Boris Zbarsky
be90e72263 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Boris Zbarsky
565892490c Bug 1436508 part 16. Remove nsIDOMSimpleGestureEvent. r=masayuki
MozReview-Commit-ID: 8JDovhthKtx
2018-02-09 11:17:10 -05:00
Nick Alexander
bd263914ea Bug 1419581 - Part 3: Guard PresentationMediaPlayer windows with MOZ_NATIVE_DEVICES. r=jchen
MozReview-Commit-ID: 3ZlVUMufn2g
2018-01-05 11:35:00 -08:00
Brindusan Cristian
40d299f257 Backed out 7 changesets (bug 1419581) as requested by nalexander a=backout
Backed out changeset 7f41dd3bbc2d (bug 1419581)
Backed out changeset d4d42899e5cd (bug 1419581)
Backed out changeset 78828bf781d7 (bug 1419581)
Backed out changeset 5224db0c36aa (bug 1419581)
Backed out changeset 072108d16590 (bug 1419581)
Backed out changeset f8b3e95f18e4 (bug 1419581)
Backed out changeset 5f7645a19bf1 (bug 1419581)
2018-01-24 22:28:19 +02:00
Nick Alexander
a495afbfd9 Bug 1419581 - Part 3: Guard PresentationMediaPlayer windows with MOZ_NATIVE_DEVICES. r=jchen
MozReview-Commit-ID: 3ZlVUMufn2g
2018-01-05 11:35:00 -08:00
Ryan VanderMeulen
e8c58c5f80 Backed out 7 changesets (bug 1419581) for incorrect android:debuggable. r=nalexander
Backed out changeset bd1e3857b5ba (bug 1419581)
Backed out changeset be888fa125dc (bug 1419581)
Backed out changeset 44bcb609e721 (bug 1419581)
Backed out changeset a7d75667c58b (bug 1419581)
Backed out changeset 2ea82ff4a757 (bug 1419581)
Backed out changeset 8f1655752d43 (bug 1419581)
Backed out changeset 65195aae48d8 (bug 1419581)
2018-01-17 15:54:22 -05:00
Nick Alexander
80764e64e7 Bug 1419581 - Part 3: Guard PresentationMediaPlayer windows with MOZ_NATIVE_DEVICES. r=jchen
MozReview-Commit-ID: 3ZlVUMufn2g
2018-01-05 11:35:00 -08:00
Margareta Eliza Balazs
ad9f945f12 Backed out 7 changesets (bug 1419581) for B bustage on /builds/worker/workspace/build/src/widget/android/nsWindow.h:0 on a CLOSED TREE
Backed out changeset 1af5a54e829d (bug 1419581)
Backed out changeset c9aef37de282 (bug 1419581)
Backed out changeset 8d0855cb17b7 (bug 1419581)
Backed out changeset d0eba5853ab6 (bug 1419581)
Backed out changeset bc4cda1cc57c (bug 1419581)
Backed out changeset 93547276fba8 (bug 1419581)
Backed out changeset 45b5309a73cb (bug 1419581)
2018-01-17 00:03:19 +02:00
Nick Alexander
e3504ae615 Bug 1419581 - Part 3: Guard PresentationMediaPlayer windows with MOZ_NATIVE_DEVICES. r=jchen
MozReview-Commit-ID: 3ZlVUMufn2g
2018-01-05 11:35:00 -08:00
Andrew McCreight
b1354b9fe7 Bug 1410209, part 4 - Add names to some IPC runnables. r=kanru
This patch requires that each instance of IPC's RunnableFunction is
passed in a name, like the non-IPC RunnableFunction.

MozReview-Commit-ID: Atu1W3Rl66S
2017-10-27 13:39:28 -07:00
Jim Chen
dad9753bdd Bug 1425553 - Only process input calls when Gecko is ready; r=esawin
Track the Gecko ready state in TextInputController through
GeckoSession's NativeQueue, and only pass through input calls when Gecko
is ready.

MozReview-Commit-ID: KugQ6whg2QA
2017-12-19 17:02:46 -05:00
Jim Chen
c13580ef17 Bug 1416918 - 3. Use TextInputController in GeckoView; r=esawin
Use the new TextInputController API in GeckoView to process key events
and input method interactions.

MozReview-Commit-ID: H0oyCDkGHul
2017-12-13 22:57:21 -05:00
Jim Chen
fbc94cb8de Bug 1416918 - 1. Add TextInputController; r=esawin
Add TextInputController and add a getter for it in GeckoSession.
TextInputController is used to process key events and to interact with
the input method manager.

MozReview-Commit-ID: 1j2Moqukf8U
2017-12-13 22:57:21 -05:00
Jim Chen
806f265d41 Bug 1422728 - Don't try to open GeckoSession window synchronously; r=snorp
As a startup optimization, we tried to open the GeckoSession window
synchronously in certain situations, but apparently that's conflicting
with some other code to cause deadlocks.

MozReview-Commit-ID: 88uhr7leVy1
2017-12-08 21:53:10 -05:00
Jim Chen
c995d47ab2 Bug 1416330 - 3. Update Fennec code to not use LayerView; r=rbarker
Use GeckoSession/LayerSession or GeckoView in Fennec code instead of
using LayerView.

MozReview-Commit-ID: Iod7XsqKy1e
2017-12-04 11:50:20 -05:00
Sebastian Hengst
9c1eef62e3 merge mozilla-central to autoland. r=merge a=merge 2017-12-01 01:30:16 +02:00
Dylan Roeh
58032e8c10 Bug 1412678 - Ensure the window most recently interacted with is the active window. r=snorp 2017-11-30 09:00:05 -06:00
Jim Chen
ebc5007c31 Bug 1416316 - 3. Update NPZC usages; r=rbarker
Remove NPZC references from LayerView, and add an NPZC getter in
LayerSession. Use the new APIs in GeckoView to forward events to NPZC.

MozReview-Commit-ID: 1UcJkpW0XuM
2017-11-30 13:25:50 -05:00
Jim Chen
6bf1b192b3 Bug 1416316 - 2. Clean up NativePanZoomController; r=rbarker
Clean up the NativePanZoomController object including,

1) Remove references to LayerView because NPZC will be created and used
by LayerSession.

2) Rename `mDestroyed` to `mAttached` because NPZC now needs to support
cases where it's used before being attached, in addition to after being
destroyed.

3) Move origin of synthesized event coordinates from the screen to the
surface in native code, so we don't need to do the same thing in Java.

4) Invoke all callbacks from native code on the UI thread.

MozReview-Commit-ID: Fu4XIY59yKw
2017-11-30 13:25:50 -05:00
Jim Chen
7dd42804b4 Bug 1416316 - 1. Move overscroll to LayerSession; r=rbarker
There is some overscroll handling code in NativePanZoomController that
should be moved, along with other overscroll code in LayerView, to
LayerSession. LayerSession now provides a getter for
OverscrollEdgeEffect, which is cleaned up to have a public API with
documentation.

MozReview-Commit-ID: LkKHFS8OkR7
2017-11-30 13:25:50 -05:00
Jim Chen
3681507e9f Bug 1416319 - 1. Move content-document-is-displayed flag to native code; r=rbarker
One fix I forgot to make in bug 1416310 is to change the code to reset
the flag in LayerView. I think it's better if we just moved the whole
thing to native code, since we don't really use the flag in Java.

MozReview-Commit-ID: 9cbcYb89LhC
2017-11-22 14:12:22 -05:00
Jim Chen
12d4120f12 Bug 1416310 - 4. Don't use GeckoLayerClient in native code; r=rbarker
Use LayerSession::Compositor or NativePanZoomController to call back
into Java from nsWindow.

MozReview-Commit-ID: 9JUKAE5XQK1
2017-11-20 17:17:02 -05:00
Jim Chen
2357bcaefa Bug 1415994 - 6b. Track GeckoDisplay origin changes; r=snorp
Add a `screenOriginChanged` callback to GeckoDisplay.Listener, which
informs Gecko of changes in the origin of the display. The origin
translates to coordinates for web APIs like screenX/screenY and certain
other calculations.

Also, make GeckoDisplay listen to layout changes in the view tree (by
overriding gatherTransparentRegion as an optimization), and call
`screenOriginChanged` accordingly.

MozReview-Commit-ID: C72EHCkbV3T
2017-11-14 18:18:35 -05:00
Jim Chen
3a912ad454 Bug 1415994 - 5. Use LayerSession from GeckoSession; r=snorp
Make GeckoSession inherit from LayerSession, and connect its Compositor
to native code as part of the GeckoSession routine.

MozReview-Commit-ID: wQaH1A0a7z
2017-11-14 18:18:35 -05:00
Jim Chen
221fb2f02a Bug 1415994 - 4. Use LayerSession in native code; r=snorp
Make native code use LayerSession::Compositor instead of
LayerView::Compositor. Also, make some callbacks happen on the UI thread
to make the Java code cleaner.

MozReview-Commit-ID: KhuHel7Zfdn
2017-11-14 18:18:35 -05:00
Jim Chen
523bc36d2a Bug 1415994 - 1. Don't report screen size in GeckoLayerClient; r=rbarker
We don't actually use the screen size through GeckoLayerClient anymore.
Getting rid of it lets us get rid of the Context field in
GeckoLayerClient as well.

MozReview-Commit-ID: GM1jlhAZm4T
2017-11-14 18:18:34 -05:00
Jim Chen
e806245b7a Bug 1415074 - Fix unresponsiveness after restoring GeckoView states; r=jchen
Fix a bug where GeckoView becomes unresponsive to dispatched events
after restoring states, due to the native queue not being restored.
r=me for small, tested patch.

MozReview-Commit-ID: K1cVjjNaZK1
2017-11-07 01:53:11 -05:00
Jim Chen
f5a0854900 Bug 1413698 - 2. Move GeckoView to GeckoSession; r=snorp
Rename GeckoView to GeckoSession. Strip out parts of it that depended on
being a subclass of View. Also strip out parts of it that dealt with
switching EventDispatcher and NativeQueue, because now there's only one
copy of each for each GeckoSession.

MozReview-Commit-ID: J699twtpmTS
2017-11-06 14:54:09 -05:00
Jim Chen
676da58b5d Bug 1413698 - 1. Separate out attach() from open() in GeckoView.Window; r=snorp
Right now, `GeckoView.Window.open()` consists of opening a new Gecko
nsWindow and attaching it to the opening GeckoView. This patch separates
the attaching step into an `Window.attach()` function that was renamed
from `Window.reattach()`. Going forward, `Window.open()` and
`Window.close()` will correspond to opening and closing a session, which
`Window.attach()` will correspond to attaching a display to a session.

MozReview-Commit-ID: 94Un74pwizY
2017-11-06 14:54:08 -05:00
Jim Chen
203417ecce Bug 1412872 - 4. Handle negate scroll pref in native code; r=rbarker
Handle the negate_wheel_scroll pref in native code so we don't depend on
PrefsHelper in NativePanZoomController.

MozReview-Commit-ID: 14YCcrDlObz
2017-11-01 14:54:03 -04:00
Jim Chen
9276b259cd Bug 1412872 - 3. Remove native GeckoView loadUri call; r=snorp
Remove the native GeckoView loadUri call because it's Fennec-only.
Replace the call with a Fennec-only "Tab:OpenUri" event.

MozReview-Commit-ID: 7xZW9aceoPL
2017-11-01 14:54:03 -04:00