Commit Graph

70 Commits

Author SHA1 Message Date
Ryan Hunt
b4e8210bec Bug 1503655 part 10 - Remove unneeded includes for RenderFrameParent. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D11112
2018-11-06 15:34:59 -06:00
Ryan Hunt
8fc281bdb4 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
2018-11-01 15:15:46 -05:00
Ryan Hunt
40ca5048be Bug 1453425 - Add RepaintRequest for use of FrameMetrics in repaint requests. r=botond
FrameMetrics is currently used in about three ways.
  1. Main thread to APZ transactions
  2. Storing information in AsyncPanZoomController
  3. APZ to main thread repaint requests

There's overlap in the use of fields in all these use cases, but it's not perfect. In a
following commit, I'd like to change the information used for (1) to support relative
scroll offset updates. This information isn't needed for (2) or (3), so it would be
good to refactor FrameMetrics out into these use cases.

This commit refactors out (3) as it is fairly easy to do. I'd like to refactor (2) out
as well, but that is trickier. I'd like to leave that for a future followup.

Differential Revision: https://phabricator.services.mozilla.com/D7127
2018-09-19 13:50:20 -05: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
Kartikaya Gupta
a3620890c1 Bug 1445662 - Update RemoteContentController to allow the GPU process controller thread to be different from the compositor thread. r=rhunt
A couple of RemoteContentController methods get called on the controller
thread in the GPU process. This is the same as the compositor thread so
we could just do compositor-thread stuff here, but we will want to
support the controller thread being the main thread instead of the
compositor thread. So we detect those cases and bounce the message
accordingly.
2018-03-15 15:25:11 -04:00
Daniel Holbert
bb0a8b6602 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl
2017-10-27 16:10:06 -07:00
Botond Ballo
473f8337a1 Bug 1340415 - Ensure main-thread and async autoscrolling do not happen at the same time. r=kats
The two happening at the same time can lead to the APZ autoscroll being
cancelled due to APZ receiving a main-thread scroll offset update.

To achieve this:

  - The content process assumes APZ is handling the autoscroll until
    told otherwise.

  - If the parent process knows APZ won't handle an autoscroll, it
    tells the content process via its response to the Autoscroll:Start
    message. This covers all cases where APZ doesn't handle the
    autoscroll, except the case where APZCTreeManager itself rejects
    the autoscroll and it lives in the compositor process rather than
    the parent process.

  - If APZCTreeManager rejects an autoscroll and it lives in the
    compositor process, it sends an 'autoscroll-rejected-by-apz' message
    to the content process.

MozReview-Commit-ID: L62v4COai6W
2017-10-18 18:18:13 -04:00
Botond Ballo
4474d72e56 Bug 1385468 - Notify browser.xml when APZ cancels an AutoscrollAnimation. r=kats
The notification is sent via GeckoContentController, PAPZCTreeManager if
necessary (to go from the GPU process to the parent process), and the
observer service.

Naturally, the notification is not sent in the case where it's browser.xml
that initiates the shutdown.

MozReview-Commit-ID: IAaSf4HiDF4
2017-07-31 19:15:26 -04:00
Botond Ballo
cc96039050 Bug 1105109 - Notify content when APZ is handling an autoscroll. r=kats
MozReview-Commit-ID: BeuZt30fMpn
2017-07-26 19:32:57 -04:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Randall Barker
c955f482b1 Bug 1335895 - Android GeckoView Dynamic Toolbar Version 3 r=botond,dvander,jchen,kats
This version of the Dynamic Toolbar moves the animation of the toolbar
from the Android UI thread to the compositor thread. All animation for
showing and hiding the toolbar are done with the compositor and a static
snapshot of the real toolbar.

MozReview-Commit-ID: BCe8zpbkWQt
2017-04-20 15:15:14 -07:00
Botond Ballo
c65e635354 Bug 1328658 - Notify main thread of a failed attempt to start an APZ scrollbar drag. r=kats,tnikkel
MozReview-Commit-ID: ERm1sVNfoKL
2017-01-27 18:02:22 -05:00
Randall Barker
04ca0b97b8 Bug 1321644 - part 2, Remove AndroidBridge::PostTaskToUiThread from RemoteContentController.cpp r=botond 2016-12-23 09:08:39 -08:00
Wes Kocher
a18c5a0146 Backed out 2 changesets (bug 1321644) for android xpcshell bustage a=backout
Backed out changeset 60ba1893ecf3 (bug 1321644)
Backed out changeset c25bce77b775 (bug 1321644)
2016-12-22 18:16:23 -08:00
Randall Barker
2e9e7d9f46 Bug 1321644 - part 2, Remove AndroidBridge::PostTaskToUiThread from RemoteContentController.cpp r=botond 2016-12-22 16:15:14 -08:00
James Willcox
cabcdbe6da Bug 1306716 - Follow up to not pass references across threads (!) r=kats 2016-10-05 10:15:04 -05:00
Kartikaya Gupta
0a02bdb466 Bug 1306603 - Remove APZ code that uses the mozpasspointerevents update region. r=kanru
MozReview-Commit-ID: L8QQkoSjFTu
2016-10-05 08:26:59 -04:00
James Willcox
31604b05bb Bug 1306716 - Don't retrieve (and ref) the TabParent on a non-main thread r=kats 2016-10-04 15:16:18 -05:00
James Willcox
d229022cd1 Bug 1306716 - Call TabParent::SendHandleTap from the right thread on Android r=kats 2016-10-03 10:58:41 -05:00
Kartikaya Gupta
d5af77e8a9 Bug 1298886 - Fire magnify gesture events in the parent process if APZ is enabled but APZ zooming is disabled. r=botond,dvander
MozReview-Commit-ID: 1yhJW7OhI0A
2016-09-24 09:46:02 -04:00
Carsten "Tomcat" Book
2dfe81885a merge mozilla-inbound to mozilla-central a=merge 2016-09-22 11:55:12 +02:00
Kartikaya Gupta
46ee0669c7 Bug 1304457 - Add some missing mCanSend checks. r=dvander
MozReview-Commit-ID: Jctjbgilu5z
2016-09-21 13:51:23 -04:00
Kartikaya Gupta
b72d48c379 Bug 1304457 - Ensure that RemoteContentController doesn't try to send any messages after it has sent the Destroy message. r=dvander
MozReview-Commit-ID: 2tEb6nU049R
2016-09-21 13:51:21 -04:00
Kartikaya Gupta
fa522ade6a Bug 1298173 - Push HandleTap from the GPU process back to the parent process before passing it on to the child process. r=dvander
Sending it back via the parent process ensures that it will take the same path
that regular touch events do, and so guarantees that the Tap event won't overtake
the touch events and get dispatched to content first.

MozReview-Commit-ID: 8TiHY2PFPvE
2016-09-21 10:26:33 -04:00
Kartikaya Gupta
42a6254f18 Bug 1298173 - Remove redundant parameter. r=dvander
The parameter is always true if the tap type is a eSingleTap and false in
all other cases, so it's redundant. As it was added as an optimization in bug
1020199 removing it should be safe.

MozReview-Commit-ID: IPB8BUagQl6
2016-09-21 10:25:05 -04:00
Ryan Hunt
081cdf6104 Bug 1289650 - Convert APZChild into a wrapper around GeckoContentController. r=kats
MozReview-Commit-ID: L7ZG7EWKWEo
2016-08-10 16:51:45 -07:00
Ryan Hunt
8c016e29ae Bug 1289650 - Simplify RemoteContentController destruction. r=kats
MozReview-Commit-ID: 3E3kVvychou
2016-08-21 17:43:08 -07:00
Ryan Hunt
b4a64577e1 Bug 1289650 - Move PAPZ from PContent to PCompositorBridge. r=kats
MozReview-Commit-ID: GzU1iEVqSx6
2016-08-01 23:59:00 -07:00
Ryan Hunt
367f0130ba Bug 1289650 - Use PAPZCTreeManager in content process instead of PAPZ. r=kats
MozReview-Commit-ID: LRhvZlNqli
2016-07-31 12:39:00 -07:00
Sebastian Hengst
c42699270d Backed out changeset 9fa5ccaa8c6c (bug 1289650) 2016-08-24 23:15:49 +02:00
Sebastian Hengst
187e1ac303 Backed out changeset 1c7162137f66 (bug 1289650) 2016-08-24 23:15:44 +02:00
Sebastian Hengst
6245647f44 Backed out changeset beb32bdb4d1c (bug 1289650) 2016-08-24 23:15:39 +02:00
Sebastian Hengst
2c110674d6 Backed out changeset 4bc6e2713327 (bug 1289650) 2016-08-24 23:15:35 +02:00
Ryan Hunt
47cda812bf Bug 1289650 - Convert APZChild into a wrapper around GeckoContentController. r=kats
MozReview-Commit-ID: L7ZG7EWKWEo
2016-08-10 16:51:45 -07:00
Ryan Hunt
4df9900657 Bug 1289650 - Simplify RemoteContentController destruction. r=kats
MozReview-Commit-ID: 3E3kVvychou
2016-08-21 17:43:08 -07:00
Ryan Hunt
5745d2990f Bug 1289650 - Move PAPZ from PContent to PCompositorBridge. r=kats
MozReview-Commit-ID: GzU1iEVqSx6
2016-08-01 23:59:00 -07:00
Ryan Hunt
205148488b Bug 1289650 - Use PAPZCTreeManager in content process instead of PAPZ. r=kats
MozReview-Commit-ID: LRhvZlNqli
2016-07-31 12:39:00 -07:00
Kan-Ru Chen
a9b19d0584 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
2016-08-24 14:47:04 +08:00
Randall Barker
bac11cde77 Bug 1291373 - [geckoview] part 3, Remove MOZ_ANDROID_APZ r=botond,snorp 2016-08-16 14:33:43 -07:00
Kartikaya Gupta
52a4a4348a Bug 1250024 - Fix touch-tap event coordinate transformations when a fullzoom is applied. r=botond
There were a couple of problems when delivering tap gestures to content with
full zoom applied. One was that the ConverToGecko function converted the coords
into "CSS pixel" space by using the web content's CSS-to-LD scale, but also
applied that on the translation from the chrome area. Moving that conversion
to later in the process (after the coords got passed through TabParent::
AdjustTapToChildWidget) corrected that issue.

The other problem was that bits of code in APZEventState and APZCCallbackHelper
were using the widget->GetDefaultScale() value as the CSS-to-LD scale, but that
omitted the full zoom value. Getting the CSS-to-LD scale from the presShell and
propagating that through corrected that issue.

MozReview-Commit-ID: KdrkdEZslHo
2016-07-29 14:44:29 -04:00
Ryan Hunt
c9a4056474 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
a8c9d4892a Backed out changeset 3119db384fcc (bug 1281575) for bustage 2016-07-21 06:26:58 +02:00
Ryan Hunt
c3d4a9136d Bug 1281575 - Extract interface of APZCTreeManager for moving to GPUProcess. r=kats 2016-07-20 13:37:00 +02:00
Kartikaya Gupta
b1ccfa8ef7 Bug 1256339 - Collapse the different Handle*Tap functions in GeckoContentController into a single API. r=botond
This is just a refactoring, no functional changes intended.

MozReview-Commit-ID: GRJxVpNAlHC
2016-07-05 13:24:54 -04:00
David Anderson
377d55cdb8 Move Alloc/DeallocLayerTreeId calls to GPUProcessManager. (bug 1274149 part 3, r=mattwoodrow) 2016-05-23 00:27:57 -07:00
David Anderson
7d29494da2 Remove direct calls to CompositorBridgeParent::GetAPZCTreeManager. (bug 1274149 part 2, r=kats) 2016-05-23 00:27:51 -07:00