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

10417 Коммитов

Автор SHA1 Сообщение Дата
Wes Kocher 7a8adb69f4 Merge m-c to inbound, a=merge
MozReview-Commit-ID: jMFiwJkgHA
2017-08-25 17:27:14 -07:00
Matt Woodrow a3ffb3d06c Bug 1381753 - Recompute visible regions for ContainerLayers without intermediate surfaces when needed for invalidation. r=mstange 2017-08-25 15:41:29 +12:00
Ethan Lin f0d8375feb Bug 1391202 - Add NotifyInvalidation mechanism for layers-free mode. r=kats
MozReview-Commit-ID: G82DgErNTRq

--HG--
extra : rebase_source : 3cd74f1b10758ddb796d3dc254f9bde03fb9f7b8
2017-08-23 23:03:43 +08:00
Ryan VanderMeulen 3d0158833d Merge autoland to m-c. a=merge 2017-08-24 20:20:08 -04:00
Mason Chang 7620bec375 Bug 1393142 - Don't reset transform if RotatedBuffer didn't set it. r=bas 2017-08-24 11:03:16 -07:00
Sebastian Hengst ab6a6e1367 merge mozilla-central to autoland. r=merge a=merge 2017-08-24 13:30:00 +02:00
Sebastian Hengst aeacc34883 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 6TGQRm8SSk0
2017-08-24 13:28:57 +02:00
sotaro 3e6b55cd91 Bug 1392163 - Remove ImageBridgeChild::DispatchReleaseTextureClient() r=nical 2017-08-24 11:05:59 +09:00
Ethan Lin d5901012b5 Bug 1391541 - Correct the transform for layers-free fallback. r=kats
MozReview-Commit-ID: v9hVeUmY3E

--HG--
extra : rebase_source : 11f63f57d083d9d464f81b54cb99c58aeed8119b
2017-08-22 13:55:49 +08:00
Ethan Lin 376639c99a Bug 1392921 - In TopmostScrollId(), return FrameMetrics::NULL_SCROLL_ID when the scroll id stack is empty. r=kats
MozReview-Commit-ID: 3kmgsisMhW5

--HG--
extra : rebase_source : d9e20940fcc5c1790dbf4f3b6b2769b1fd054121
2017-08-23 14:46:38 +08:00
Kartikaya Gupta fda8ec623e Bug 1358771 - Don't set the resolution on the main-thread from an APZ repaint request that was triggered by a main-thread update. r=tnikkel
Conceptually, a repaint request that arrives in APZCCallbackHelper with
!GetScrollOffsetUpdated() is a repaint request that the APZ is sending in
response to a main-thread update it received. The purpose of the repaint
request is mainly to update the displayport margins; the scroll position
and resolution should not have changed. Therefore actively trying to set
the scroll position or resolution as a result of these repaint requests
should at best be a no-op but often triggers unnecessary clobbering of things
that are in-flight, or extra reflows. This can result in buggy behaviour.
Bug 1286179 avoided doing this for the scroll position, and this patch does
the equivalent thing for zooming.

MozReview-Commit-ID: 91RbRP0ZHBe

--HG--
extra : rebase_source : 7bb97075619f5435705d369a695d37aa1c972278
2017-08-21 12:51:43 -04:00
Sebastian Hengst c5b98b786f merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE
--HG--
extra : amend_source : 138539eda803df4aa7fa2d161e78ad36cf3f55ef
2017-08-23 16:31:21 +02:00
Sebastian Hengst 99e5cb9c14 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: GSKVB94r7Kk
2017-08-23 16:29:51 +02:00
Nicolas Silva 9f6f1a7d88 Bug 1390840 - Add prefs to display the debugging view of webrender's texture cache and intermediate targets. r=jrmuizel 2017-08-23 12:00:37 +02:00
Wes Kocher 655a23a70a Merge m-c to autoland, a=merge
MozReview-Commit-ID: CxIXNml1xZW
2017-08-22 17:24:16 -07:00
Wes Kocher 6dd42e2664 Merge inbound to central, a=merge
MozReview-Commit-ID: BMWuqvmTljV
2017-08-22 17:07:23 -07:00
Masatoshi Kimura 5f035965ac Bug 1390209 - Remove unused nsIDOMHTML*Element interfaces. r=qdot
MozReview-Commit-ID: DagD3IHhRZy

--HG--
extra : rebase_source : 2add5ad8e9181ba9bf29f53a6df75b730ab5ea78
2017-08-15 01:31:47 +09:00
sotaro 8687f49efa Bug 1387845 - Add more NS_BUILD_REFCNT_LOGGING in AtomicRefCountedWithFinalize r=nical 2017-08-23 13:49:29 +09:00
sotaro 0fdce34238 Bug 1390731 - Add pointer check to GetRootCompositorBridgeParent() r=kats 2017-08-23 13:44:22 +09:00
Kevin Chen 0ea8e971ce Bug 1390452 - Check texture compatibility when ensuring the texture source; r=bas
MozReview-Commit-ID: LjFvMezb1TV

--HG--
extra : rebase_source : 1b8da7ed75da9da547aef22b1f535fc0567e1b7f
2017-08-17 15:31:09 +08:00
peter chang f68e87377c Bug 1391499 - Apply the inherited scale from ancestors, r=kats
To render the nested transforms properly, we need to store the inherited scale from ancestors for children.
Then apply the inherited scale for children's bounds

MozReview-Commit-ID: KYyibUD8J2j

--HG--
extra : rebase_source : fe2aeb842af477475767d0cf22c780c36b2487f0
2017-08-18 21:51:19 +08:00
Sebastian Hengst 4814ba9f4f Backed out changeset 326d1e6cf7b1 (bug 1393031) for bustage at gfx/layers/opengl/MacIOSurfaceTextureHostOGL.cpp:178: no member named 'AddExternalImage' in 'mozilla::wr::WebRenderAPI' on OS X and also bustage on Windows. r=backout on a CLOSED TREE 2017-08-25 12:42:01 +02:00
Nicolas Silva d415c1134b Bug 1393031 - Expose WebRender's ResourceUpdates to C++. r=sotaro 2017-08-25 11:58:00 +02:00
Sebastian Hengst 8066ec372a Backed out changeset 3b8bb2bc1ac0 (bug 1381753) for unexpectedly passing web-platform-reftest /css/css-transforms-2/transform3d-sorting-001.html. r=backout 2017-08-25 11:51:21 +02:00
Sebastian Hengst 2f56a032cd merge mozilla-central to autoland. r=merge a=merge 2017-08-22 11:50:08 +02:00
sotaro 05fe97938e Bug 1391557 - Remove LayerTransactionParent::layer_manager() r=nical 2017-08-22 10:16:51 +09:00
sotaro 9ec0764889 Bug 1387659 - Add Layer::Disconnect() calling in LayerTransactionParent::Destroy() r=nical 2017-08-22 10:10:20 +09:00
Wes Kocher 7459418fd6 Backed out 16 changesets (bug 1364714) for android reftest failures in out-of-bounds-selectedindex.html a=backout
Backed out changeset b00b74e9d34b (bug 1364714)
Backed out changeset 1f52db2530d3 (bug 1364714)
Backed out changeset e3dda4fe9dae (bug 1364714)
Backed out changeset ff188112de35 (bug 1364714)
Backed out changeset 0e26a8c07cae (bug 1364714)
Backed out changeset e0cf94cb8666 (bug 1364714)
Backed out changeset 6f758a7673d3 (bug 1364714)
Backed out changeset 4b915e42b36d (bug 1364714)
Backed out changeset 80ca8faf1dac (bug 1364714)
Backed out changeset 2bd5a2d0ea09 (bug 1364714)
Backed out changeset aa5a89aac5ea (bug 1364714)
Backed out changeset 7634973c46ad (bug 1364714)
Backed out changeset b02a1d99e603 (bug 1364714)
Backed out changeset a297dc40177e (bug 1364714)
Backed out changeset 40e902ed7dbe (bug 1364714)
Backed out changeset d653fc499c9b (bug 1364714)

MozReview-Commit-ID: AyHF7oPwAs4
2017-08-21 16:16:29 -07:00
Ethan Lin a5fdb1e628 Bug 1392502 - Fix 2d/3d transform check in StackingContextHelper. r=mtseng
MozReview-Commit-ID: DYY7wBWrrlv

--HG--
extra : rebase_source : 2a539f3c23cbe54f63c3e443db2cea6808b28277
2017-08-22 14:40:39 +08:00
Jeff Muizelaar fe9318a51b Bug 1390290. Use default stride for blob images. r=kats
This lets tiled images work.
The bindings code turns 0 into None
2017-08-21 12:57:15 -04:00
Sebastian Hengst 441fc1a176 Backed out changeset b9c53ad8893b (bug 1390840) 2017-08-21 18:38:22 +02:00
Nicolas Silva 55bbef54aa Bug 1390840 - Add prefs to display the debugging view of webrender's texture cache and intermediate targets. r=jrmuizel 2017-08-21 18:22:56 +02:00
Jonathan Kew 36864d9d74 Bug 1364714 followup, use precise fuzzy-if() range in APZ scroll reftest annotations. r=me 2017-08-21 14:59:42 +01:00
Jonathan Kew 6c0ec2b9ea Bug 1364714 - Adjust fuzzy() annotations on async-scrollbar tests. r=dholbert 2017-08-21 14:37:50 +01:00
Stone Shih dd2e7962f3 Bug 1361067 Part3: Tweak test_touch_listeners_impacting_wheel.html to synthesize mousemove before taking control of refresh driver. r=kats.
MozReview-Commit-ID: HLPcPFXxvAz
2017-08-18 07:32:52 +08:00
Kartikaya Gupta 7fe3b1b02c Bug 1391770 - Don't allow a faraway second tap to start a one-touch-pinch gesture. r=botond
This patch adds a new tolerance pref, which controls how far the second touchdown
is allowed to be from the first touchdown when detecting a multi-tap gesture
such as double-tap or one-touch-pinch. This stops the one-touch-pinch code
from inadvertently triggering when the user does a tap followed by a second tap
far away from the first.

The default value for the new pref is 5x the touch-start tolerance pref. This
seems to provide a reasonable behaviour for me, although this value could
probably be tuned.

MozReview-Commit-ID: 63aAyGCbvoN

--HG--
extra : rebase_source : 36e9bd66d165c8d746ea7b5d6c33e9cf2771194a
2017-08-19 08:50:55 -04:00
Wes Kocher c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Wes Kocher b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Wes Kocher f10eee4259 Backed out 16 changesets (bug 1364714) for android reftest failures in out-of-bounds-selectedindex.html a=backout
Backed out changeset b00b74e9d34b (bug 1364714)
Backed out changeset 1f52db2530d3 (bug 1364714)
Backed out changeset e3dda4fe9dae (bug 1364714)
Backed out changeset ff188112de35 (bug 1364714)
Backed out changeset 0e26a8c07cae (bug 1364714)
Backed out changeset e0cf94cb8666 (bug 1364714)
Backed out changeset 6f758a7673d3 (bug 1364714)
Backed out changeset 4b915e42b36d (bug 1364714)
Backed out changeset 80ca8faf1dac (bug 1364714)
Backed out changeset 2bd5a2d0ea09 (bug 1364714)
Backed out changeset aa5a89aac5ea (bug 1364714)
Backed out changeset 7634973c46ad (bug 1364714)
Backed out changeset b02a1d99e603 (bug 1364714)
Backed out changeset a297dc40177e (bug 1364714)
Backed out changeset 40e902ed7dbe (bug 1364714)
Backed out changeset d653fc499c9b (bug 1364714)

MozReview-Commit-ID: AyHF7oPwAs4

--HG--
extra : source : bccc691242c5460e58c6aac1bd3fd63d15037b4a
2017-08-21 16:16:29 -07:00
Alexis Beingessner 9c4535798f Bug 1357545 - handle text-shadows/decorations with webrender (layers-free) r=jrmuizel
This replaces our DrawTargetCapture hack with a similar but more powerful TextDrawTarget
hack. The old design had several limitations:

* It couldn't handle shadows
* It couldn't handle selections
* It couldn't handle font/color changes in a single text-run
* It couldn't handle decorations (underline, overline, line-through)

Mostly this was a consequence of the fact that it only modified the start and end
of the rendering algorithm, and therefore couldn't distinguish draw calls for different
parts of the text.

This new design is based on a similar principle as DrawTargetCapture, but also passes
down the TextDrawTarget in the drawing arguments, so that the drawing algorithm can
notify us of changes in phase (e.g. "now we're doing underlines"). This also lets us
directly pass data to TextDrawTarget when possible (as is done for shadows and selections).

In doing this, I also improved the logic copied from ContainsOnlyColoredGlyphs to handle
changes in font/color mid-text-run (which can happen because of font fallback).

The end result is:

* We handle all shadows natively
* We handle all selections natively
* We handle all decorations natively
* We handle font/color changes in a single text-run
    * Although we still hackily intercept draw calls
    * But we don't need to buffer commands, reducing total memcopies

In addition, this change integrates webrender's PushTextShadow and PushLine APIs,
which were designed for this use case. This is only done in the layerless path;
WebrenderTextLayer continues to be semantically limited, as we aren't actively
maintaining non-layers-free webrender anymore.

This also doesn't modify TextLayers, to minimize churn. In theory they can be
augmented to support the richer semantics that TextDrawTarget has, but there's
little motivation since the API is largely unused with this change.

MozReview-Commit-ID: 4IjTsSW335h

--HG--
extra : rebase_source : d69f69648ade5c7a8e6bb756f4b8ab9e2543e576
2017-06-19 10:58:28 -04:00
Wes Kocher c1383cebf3 Merge m-c to autoland, a=merge
MozReview-Commit-ID: KLrOCT1a7El
2017-08-17 16:23:45 -07:00
Kartikaya Gupta 57563f2293 Bug 1389138 - Push scroll layers in layers-free WR. r=mstange
This patch takes the existing code (which allows recursively pushing the necessary
part of a clip chain) and folds it into another recursive function that
operates on the ASR chain. Now the ASR recursion is the primary one, and
clips are pushed for each ASR as needed.

This code was partly modelled after the code in
ContainerState::SetupScrollingMetadata, which also iterates over the
ASRs and clips.

MozReview-Commit-ID: 1qaFPY7Ja7

--HG--
extra : rebase_source : 623b116c293e86d063e5acfa4a01f5104719f560
2017-08-17 11:07:03 -04:00
Kartikaya Gupta 1155831470 Bug 1389138 - Introduce a variant type to allow unifying the clip and scroll ids. r=mstange
This allows us to keep a single stack where we track both clip ids and
scroll ids with the correct interleaving order that they were pushed in.

MozReview-Commit-ID: DHHfR8JnnBw

--HG--
extra : rebase_source : f2f80e89a400d5b9982d138b29e534701b247072
2017-08-17 11:06:31 -04:00
Kartikaya Gupta 9f20fdccff Bug 1389138 - Extract a helper PushScrollLayer method. r=mstange
MozReview-Commit-ID: CqKOvxWCWZE

--HG--
extra : rebase_source : 99f77b7629ab39e78316fc890ea3253ce51f8732
2017-08-17 11:06:12 -04:00
Andrew Osmond ec1a805248 Bug 1389021 - Release the compositor thread after CompositorManagerParent IPDL reference is released. r=nical
We need to ensure the compositor thread is released but we cannot upon
freeing CompositorManagerParent to do that. This is because it needs to
live longer than the thread so that shared memory allocated with this
top level protocol can be freed after the fact. As such, just release
the thread reference after IPDL has released CompositorManagerParent.
2017-08-17 09:24:07 -04:00
Carsten "Tomcat" Book 99aa3f8e70 Merge mozilla-central to mozilla-inbound 2017-08-17 13:13:10 +02:00
Ryan Hunt c2d4c1f9aa Bug 1390755 - Reorder functions in PaintThread and CompositorBridgeChild. r=mchang
MozReview-Commit-ID: 26Cbc9S0Zls

--HG--
extra : rebase_source : b9c557a8a29f9f01539d56b79b11cb5696e5e8a6
extra : histedit_source : 6717e70a114b88e693f2d390b1db15cc54b52ab1
2017-08-16 16:53:15 -05:00
Ryan Hunt f695471892 Bug 1390755 - Rename PaintThread and CompositorBridgeChild methods to be more unified. r=mchang
MozReview-Commit-ID: FpwIqEmmvbg

--HG--
extra : rebase_source : 6577c8591748b65752bde1ff30e2f183a52cd3ec
extra : histedit_source : 0d08ed24d071a85159be34e7194ed6dc3cdda65f
2017-08-16 16:02:13 -05:00
Ryan Hunt 0b44973fe4 Bug 1390755 - Ensure PaintThread::EndTransaction runs before IPDL messages are resumed. r=mchang
MozReview-Commit-ID: GdSKTxtqWRA

--HG--
extra : rebase_source : 68a114d00f292ad57c995e77bd7d013fb8a4d098
extra : histedit_source : 340ca92a22d96beda099d08d58548504d3bc6d61
2017-08-16 13:55:57 -05:00
Ryan Hunt c909502278 Bug 1390755 - Notify the paint thread that a layer transaction is completed so it can unblock the main thread. r=mchang
MozReview-Commit-ID: 7kQHWUwek7v

--HG--
extra : rebase_source : a1837e2f3425b241b578a8903f60e43c2606cdaf
2017-08-16 01:04:41 -05:00
Sebastian Hengst 8b042b8f29 Backed out changeset 20c649cb4a21 (bug 1389138) for bustage at dist/include/mozilla/layers/ScrollingLayersHelper.h:22: class 'FrameMetrics' was previously declared as a struct. r=backout 2017-08-17 21:08:57 +02:00
Sebastian Hengst 953d244299 Backed out changeset 442b037713d6 (bug 1389138) 2017-08-17 21:08:20 +02:00
Sebastian Hengst a9b6459ba5 Backed out changeset 321176b458a5 (bug 1389138) 2017-08-17 21:08:09 +02:00
Kartikaya Gupta cb97ff3374 Bug 1389139 - Add support for transform and perspective display items to layers-free APZ. r=jrmuizel
A basic sanity check here seems to produce the correct behaviour but I'm
not at all confident that this will always do the correct thing in more
complex cases or when perspectives are involved. However this is hard to
test and get working without the testing infrastructure up and running
so I'd rather land this simple code first and then dig into the more
complex cases once we have a way to catch regressions.

MozReview-Commit-ID: E4HytiZowEn

--HG--
extra : rebase_source : c7466092298aebf66926e8e0bdf58eb4651f0f19
2017-08-16 12:50:37 -04:00
Kartikaya Gupta 623ddc7d69 Bug 1389138 - Push scroll layers in layers-free WR. r=mstange
This patch takes the existing code (which allows recursively pushing the necessary
part of a clip chain) and folds it into another recursive function that
operates on the ASR chain. Now the ASR recursion is the primary one, and
clips are pushed for each ASR as needed.

This code was partly modelled after the code in
ContainerState::SetupScrollingMetadata, which also iterates over the
ASRs and clips.

MozReview-Commit-ID: 1qaFPY7Ja7

--HG--
extra : rebase_source : 0c1879531e77998254d2ccaf87479154b179545a
2017-08-17 11:07:03 -04:00
Kartikaya Gupta b3f900ac81 Bug 1389138 - Introduce a variant type to allow unifying the clip and scroll ids. r=mstange
This allows us to keep a single stack where we track both clip ids and
scroll ids with the correct interleaving order that they were pushed in.

MozReview-Commit-ID: DHHfR8JnnBw

--HG--
extra : rebase_source : 1eff7698ecc724b5457bdf67a6c4a70605038184
2017-08-17 11:06:31 -04:00
Kartikaya Gupta 1be666ff10 Bug 1389138 - Extract a helper PushScrollLayer method. r=mstange
MozReview-Commit-ID: CqKOvxWCWZE

--HG--
extra : rebase_source : e752afc5d579501f476425643b6502a6a10bdda8
2017-08-17 11:06:12 -04:00
Botond Ballo a6bad948ee Bug 1390321 - Remove the no-longer-used IAPZCTreeManager::CancelAnimation() function. r=kats
MozReview-Commit-ID: Ln7zJPnSUvV

--HG--
extra : rebase_source : 788e5be8be5547d72a7d82feca8141228153a6fe
2017-08-14 17:12:22 -04:00
Matt Woodrow 032751ce40 Bug 1381753 - Recompute visible regions for ContainerLayers without intermediate surfaces when needed for invalidation. r=mstange 2017-08-25 15:41:29 +12:00
Carsten "Tomcat" Book eea1986e03 merge mozilla-inbound to mozilla-central a=merge 2017-08-16 11:23:24 +02:00
sotaro 12647820ef Bug 1390413 - Remove unnecessary webrender keys deletion r=kats 2017-08-16 10:09:35 +09:00
Ethan Lin 671b0d46aa Bug 1389433 - Fix the offset of the fallback image for layers-free. r=mtseng
Originally we use the nsDisplayItem::ToReferenceFrame() to get the offset. But the
function doesn't consider some style effects. We should take the top-left corner
of the display item bounds as the offset.

MozReview-Commit-ID: LiPcA0vjoD7

--HG--
extra : rebase_source : 2711ca3d1b05c3f0aae6943f959b9ab41b273200
2017-08-14 16:10:21 +08:00
Carsten "Tomcat" Book 6b36e00b7c merge mozilla-inbound to mozilla-central a=merge 2017-08-15 11:42:11 +02:00
Ryan Hunt c2b3db2bf5 Bug 1389539 - Remove unused ResetCompositor declaration. r=jrmuizel
MozReview-Commit-ID: 9dK2eYYvidS

--HG--
extra : rebase_source : 306feca93b1ad246ff22b43d001560b2aee83765
extra : source : 17ff23c6314b402ec2e92bb14343a3b5b677b823
2017-08-10 15:33:26 -05:00
Ryan Hunt 2bf4c04dc3 Bug 1389335 - Only check APZTestDataEnabled when APZPaintLogHelper is created. r=botond
MozReview-Commit-ID: 50JCZSIcLIn

--HG--
extra : rebase_source : 131d06bf77d3c35b05d8f30b4d904f932e544492
extra : source : e96f885e6bf924faa83ff27b6087a16c28a904cf
2017-08-14 00:48:11 -04:00
Wes Kocher 2458d6b297 Merge m-c to autoland, a=merge
MozReview-Commit-ID: KfZgcCxrZcg
2017-08-14 17:59:46 -07:00
Wes Kocher 214677ea41 Merge autoland to central, a=merge
MozReview-Commit-ID: 9BfFPDy1vO7

--HG--
rename : browser/extensions/onboarding/content/img/icons_search-colored.svg => browser/extensions/onboarding/content/img/icons_singlesearch-colored.svg
rename : browser/extensions/onboarding/content/img/icons_search.svg => browser/extensions/onboarding/content/img/icons_singlesearch.svg
2017-08-14 17:28:19 -07:00
Morris Tseng 6391dec171 Bug 1389027 - Support nsDisplayPerspective in layers-free mode. r=kats
MozReview-Commit-ID: K0RCuQ8WEE3
2017-08-14 17:31:55 +08:00
Milan Sreckovic e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
Milan Sreckovic f330369b4e Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .h files in gfx/*. r=botond
MozReview-Commit-ID: 4knfAC1HTI1

--HG--
extra : rebase_source : 6ac939b478d22d429e8643e6ba96e372d8220bfb
2017-08-14 08:28:11 -04:00
Kartikaya Gupta d5eeda62c7 Bug 1378944 - Stop running some APZ mochitests with chaos mode since it causes sandbox failures and doesn't provide much value. r=jld
MozReview-Commit-ID: CTAAqtXRou0

--HG--
extra : rebase_source : 5c163edc2162f23c04b092a6471b9761b6915f94
2017-08-14 17:33:37 -04:00
Kartikaya Gupta a857960541 Bug 1388955 - Allow helper_iframe_pan to scroll a little less than the expected 50 pixels on Windows. r=botond
MozReview-Commit-ID: AJyzXsszpIr

--HG--
extra : rebase_source : 7a79bcfced9721cce8b2327d7412c54cb6badf3b
2017-08-14 16:25:58 -04:00
Ethan Lin 1d1cb1f032 Bug 1388634 - Set correct sampling filter when pushing image. r=kats
MozReview-Commit-ID: BkKbL2l0AYb

--HG--
extra : rebase_source : 0fb6b785ddf00df2aa1452c3b16cbad3978386df
2017-08-09 14:27:46 +08:00
sotaro 9708a9d0a8 Bug 1390004 - Add pointer check to CompositorBridgeParent::StopAndClearResources() r=kats 2017-08-15 10:41:41 +09:00
vincentliu 0e04033fd2 Bug 1389428 - Labeling for ParentAsyncMessages in PCompositorBridge channel. r=bevistseng 2017-08-15 09:37:51 +08:00
Wes Kocher 7a772df5bf Merge m-c to inbound, a=merge
MozReview-Commit-ID: BYZASFIrXxp
2017-08-14 17:58:17 -07:00
Mason Chang 3d88e66f5a Bug 1388921 Resume IPC Messages after we send sync textures. r=mattwoodrow 2017-08-14 14:27:03 -07:00
Stone Shih 393c62eba7 Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Mason Chang a7da7e14fb Bug 1387639 Sync Textures once all async OMTP paints are done. r=mattwoodrow 2017-08-10 21:41:31 -07:00
Wes Kocher a5fc391fdf Merge m-c to autoland a=merge
MozReview-Commit-ID: LsPv9Mdodvf
2017-08-11 13:39:17 -07:00
Wes Kocher 5a4357c768 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Ryan Hunt 3e8077123f Bug 1387551 - Handle "general.smoothScroll" with async keyboard scrolling. r=kats
This commit modifies AsyncPanZoomController to scroll immediately for any keyboard
scrolls when the pref, "general.smoothScroll" is disabled.

MozReview-Commit-ID: 3lfRMOCC7er

--HG--
extra : source : 9e9480d318f92811828756267c4b4fb7ea2fcf1b
2017-08-08 14:53:04 -05:00
Ryan Hunt 8013236c20 Bug 1388466 - Sync focus sequence numbers when the compositor is reset. r=kats
When a compositor is recreated, either from a driver reset or a GPU process crash, the
focus sequence number in content persists, and when APZ is recreated, content will have
a higher sequence number.

There are two ways of handling this: either resetting all of content's focus sequence
numbers to zero to match the new focus state, or updating the new focus state to the
latest sequence number in content.

This commit does the latter by detecting when the focus state was newly created and
syncing it's sequence number to content if content is ahead.

MozReview-Commit-ID: GkIp7AWyaFw

--HG--
extra : source : b6339570bbd8576447f128359278868fb6d1d8e7
2017-08-10 15:07:35 -05:00
Kartikaya Gupta e8bad265b2 Bug 1389492 - Ensure the helper_key_scroll waits for repaints from the main-thread scroll to finish before triggering the async scroll. r=rhunt
MozReview-Commit-ID: EsYz5LSc83Q

--HG--
extra : rebase_source : 5b64fd13068b7058c91942d164906cf32e9864a4
2017-08-11 10:37:25 -04:00
Wes Kocher cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Sebastian Hengst 51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Sebastian Hengst 7f85daeb2a Backed out changeset e9985564e081 (bug 1388162) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:20 +02:00
Matt Woodrow 95f2e31f88 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange 2017-08-07 16:07:43 +12:00
Sylvestre Ledru 8382a92592 Bug 1387002 - Replace .size() by .empty() when applicable in gfx/ r=nical
MozReview-Commit-ID: BIrMZHj6BBZ

--HG--
extra : rebase_source : df064bc9628d3a78c153f2455fa4861a95abca8e
2017-08-03 12:02:35 +02:00
Ryan VanderMeulen 6eb7aef00e Merge m-c to autoland. a=merge 2017-08-09 18:51:26 -04:00
Mason Chang ce7bf90ba4 Bug 1386965 - Support async painting component-alpha layers. r=dvander 2017-08-09 09:39:07 -07:00
Kartikaya Gupta b36bbd4e9a Bug 1386483 - Push, push, push the clips, caching all the way. r=jrmuizel,mstange
This patch ensures that we push clips in WR for each display item,
reflecting the display item's clip chain as computed in Gecko. A display
item will often share part or most of its clip chain with other display
items, so we try to reuse the corresponding WR clip ids as much as we
can instead of defining new duplicated clips.

MozReview-Commit-ID: LkBh8LIpQ4J

--HG--
extra : rebase_source : 5af1de0931f1d059e98b5c66b15988961503e114
2017-08-08 15:43:29 -04:00
Kartikaya Gupta f10ce62128 Bug 1386483 - Split the wr_dp_push_clip method into two to allow reusing clips. r=jrmuizel
MozReview-Commit-ID: 90BEJGs8wGg

--HG--
extra : rebase_source : 9ef113bee43391c00912457afc395284899a23cb
2017-08-08 15:43:17 -04:00
sotaro 162dcae649 Bug 1385003 - Use a different WebRenderAPI instance for each WebRenderBridgeParent. r=kats
Previously, the WebRenderBridgeParent for each content layer tree would use the
same WebRenderAPI instance as the top-level WebRenderBridgeParent for that window.
However, in order to make the namespacing changes work we now need to use a
separate WebRenderAPI instance for each WebRenderBridgeParent. The content
WebRenderAPIs are cloned from the parent one, so that they all share the same
backend, but can allocate resource IDs in distinct namespaces.

MozReview-Commit-ID: 7VTFL8F09n7

--HG--
extra : rebase_source : 2da1d03abc23bd7852e4b12fe133889bd80cad53
2017-08-09 08:46:25 -04:00
Kartikaya Gupta 8487cf859b Bug 1385003 - Drop the hacky gecko IdNamespace allocator and use the IdNamespace from WR to avoid mismatches. r=sotaro
MozReview-Commit-ID: 410h1ZkWBGL

--HG--
extra : rebase_source : c9172918eee2dbe290b09b3753e52f6998aa9173
2017-07-31 14:21:18 -04:00
Kartikaya Gupta 8783a1affd Bug 1385003 - Use PlainOldDataSerializer for WR struct serialization to avoid getting them out of sync. r=jrmuizel
MozReview-Commit-ID: 6x3G0Ik6PJj

--HG--
extra : rebase_source : ed22985d0944d0c023467fb6339113ba09a58038
2017-08-09 08:07:11 -04:00
sotaro 481dd4d078 Bug 1380979 - Enable DXGITextureHostD3D11 usage with WebRender r=nical 2017-08-09 14:28:15 +09:00
sotaro 5ae793d1a7 Bug 1388254 - Fix borrowed DrawTarget's transform of DXGITextureData r=nical 2017-08-09 10:38:18 +09:00
Joel Maher 0003b91c8f Bug 1388356 - add pref apz.test.fails_with_native_injection for windows to allow touch based events to work in windows 10 tests. r=kats
MozReview-Commit-ID: 3QJ1aFpxGxY
2017-08-08 15:08:04 -04:00
David Anderson dbe6ce6a3f Bug 1385101 Part 2 Hold TextureClients alive during async painting. r=mattwoodrow,mchang 2017-08-05 11:54:11 -07:00
David Anderson 8ac742dba7 Bug 1385101 Part 1 - Create CapturedPaintState in ContentClient rather than ClientPaintedLayer. r=mchang 2017-08-05 11:25:45 -07:00
Stone Shih f5cb5ecde2 Backed out changeset 07b66fb75c71 (bug 1351148) 2017-08-11 15:19:37 +08:00
vincentliu ab39d5cc75 Bug 1386487 - Add checking mechanism if ID3D11Buffer created fail. r=rhunt, dvander 2017-08-09 23:23:18 +08:00
Ethan Lin 80ffba5a9e Bug 1387455 - Add nullptr check for the draw target in WebRenderLayerManager::GenerateFallbackData. r=kats
MozReview-Commit-ID: Dk8WiqOmA1y

--HG--
extra : rebase_source : 91f66b56b70e7cf6401baed1a84fa63bc422dc8b
2017-08-07 10:10:58 +08:00
Mason Chang cddef9fa41 Bug 1386966. Coalesce OMTP drawtarget flushes until finished painting a layer. r=dvander 2017-08-09 08:24:15 -07:00
Kartikaya Gupta b239f49bcb Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: 1wBFnJnYCwC

--HG--
extra : rebase_source : 542f814af9369fe712af76fc2a8c78de26c6227f
2017-08-10 14:00:08 -04:00
Sebastian Hengst 5d5e6ac39c Backed out changeset 972371dc461b (bug 1370682) 2017-08-10 18:28:55 +02:00
Kartikaya Gupta 7027ecc44b Bug 1370682 - Send DisplayItemClip's RoundedRect clips to WR. r=mstange
This was spot-tested by taking the
layout/reftests/border-radius-clipping-1.html testcase, removing the
border, and fiddling with the border-radius values. Without this patch,
the div always appears with rectangular corners but with this patch the
border-radius value is respected correctly.

MozReview-Commit-ID: Cu1K3rLjm0V

--HG--
extra : rebase_source : b5994faceb9dd7e52222714bdbc5b06886d26415
2017-08-09 19:19:03 -04:00
Stone Shih b15ea606eb Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
JerryShih 5d101602fb Bug 1357299 - P12: Add SyncObject in RendererOGL. v2. r=nical
With DXVA2 hardware-video-decoding, the RendererOGL should have a
synchronization mechanism to prevent the flickering of video texture.
Create a SyncObject in RendererOGL to do the texture synchronization.

The WebRenderAPI also exposes the RendererOGL's SyncHandle to
WebRenderBridgeParent. Then, the WebRenderBridgeParent could pass this SyncHandle
to the video decoding module for texture synchronization.

MozReview-Commit-ID: toQ2mO5fzG
2017-08-07 18:15:25 +08:00
JerryShih 061742e951 Bug 1357299 - P11: Update layers, dxva and vr module to use SyncObjectChild. v3. r=mattwoodrow,dvander
MozReview-Commit-ID: 4HTPz0YcYHq
2017-08-07 18:15:24 +08:00
JerryShih 3d8f544df7 Bug 1357299 - P10-1: Update MLGDeviceD3D11 and CompositorD3D11 to use SyncObjectHost. r=dvander
From bug 1163440, there is an additional AcquireSync() call around the swapChain::Present(). Export the KeyedMutex from SyncObjectD3D11Host for this synchronization.

MozReview-Commit-ID: 8mPs4jKj67W
2017-08-07 18:15:24 +08:00
JerryShih e60ceae85f Bug 1357299 - P10: Update MLGDeviceD3D11 and CompositorD3D11 to use SyncObjectHost. v2. r=mattwoodrow,dvander
MozReview-Commit-ID: 1a0Ho7smkAx
2017-08-07 18:15:24 +08:00
JerryShih 50bd333891 Bug 1357299 - P9: Do the refactoring for SyncObject. v2. r=mattwoodrow,dvander
The MLGDeviceD3D11, CompositorD3D11 and TextureClient use the same synchronization mechanism.
Create the new SyncObjectClient/Host types for reusing code.

Add SyncObject.cpp/h and create two new data types: SyncObjectClient and SyncObjectHost.
The SyncObjectClient is used for the TextureClient synchronization at client side.
The SyncObjectHost is used for the TextureHost synchronization in renderers such
as MLGDeviceD3D11 and CompositorD3D11.

MozReview-Commit-ID: 3l56WK1aZ15
2017-08-07 18:15:23 +08:00
JerryShih 339fc2e58c Bug 1357299 - P7: Fix unified-build build break. r=mattwoodrow
MozReview-Commit-ID: GSUxyWUfBVt
2017-08-07 18:15:23 +08:00
JerryShih f488575a07 Bug 1357299 - P3: Support DXGI texture type for WR. v2. r=nical
Create the corresponding RenderTextureHost type and WR commands for DXGI texture type.

The DXGITextureHostD3D11 will use 1 or 2 image keys for non-nv12 and nv12 texture format.

The DXGIYCbCrTextureHostD3D11 is a special case. The WR uses ANGLE in windows platform,
but the ANGLE doesn't support A8 format directx texture directly. So, we use libyuv to
convert the DXGIYCbCrTextureHostD3D11 texture buffer into RGBA format buffer and use
WR::AddImage() for that image. This is a slow code path. We will refine this case later.

The whole RenderD3D11TextureHostOGL implementation is in the next patch.

MozReview-Commit-ID: F4mPCALj1OY
2017-08-07 18:15:22 +08:00
JerryShih 9fdb7a255f Bug 1357299 - P2: Remove the unused IsWrappingNativeHandle() function in WebRenderTextureHost. r=nical
All WR texture related codes are move into GetWRImageKeys(), AddWRImage() and PushExternalImage().
Each texture type could generate its WR commands individually. So, this "mIsWrappingNativeHandle" flag is not used anymore.

MozReview-Commit-ID: 1TITkGRemAr
2017-08-07 18:15:21 +08:00
sotaro 9be589ac3c Bug 1387352 - Avoids falling into the fallback codepath for async ImageContainers in layers-free mode r=kats 2017-08-07 11:09:50 +09:00
David Anderson 783e6ecfd6 Add diagnostics for the crash in bug 1387467. r=milan 2017-08-05 01:32:25 -07:00
Sebastian Hengst f257cde65c Backed out changeset c044d8842861 (bug 1387467) for build bustage at FrameBuilder.cpp:154 (no member GetName). r=backout on a CLOSED TREE 2017-08-05 11:54:09 +02:00
David Anderson 20c4bd2549 Add diagnostics for the crash in bug 1387467. r=milan 2017-08-05 01:32:25 -07:00
Mason Chang ab70851265 Bug 1386849 - Always force CompositorBridgeChild::NotifyFinishedAsyncPaint. r=dvander 2017-08-03 22:55:44 -07:00
Ryan Hunt 2dbd25ee8a Bug 1384980 - Add a doc comment for apz.keyboard.enabled. r=botond
MozReview-Commit-ID: 5pQXqmUzxJQ

--HG--
extra : rebase_source : c14735e1fde801b8ee9eb388006e7012627ab33f
2017-08-04 11:31:49 -04:00
Ryan Hunt 767be953a9 Bug 1385071 - Allow keyboard APZ with passive listeners, behind a pref. r=kats
This commit adds the pref, 'apz.keyboard.passive-listeners', to allow web
content to have passive key event listeners and use keyboard APZ. When we are
allowing passive listeners, we need to dispatch the input to content and can
no longer consume the event. So we use mHandledByAPZ in nsXBLWindowKeyHandler
to determine whether we still need to do the default action, or whether it
has been done by APZ.

MozReview-Commit-ID: 2HAC6DjDyPZ

--HG--
extra : rebase_source : 77543ef3f28bdbb8ef77e984097ce75cdf333c82
2017-07-27 19:53:57 -04:00
Ryan Hunt c38e071dbe Bug 1385071 - Add another method to EventTarget for detecting only non-passive key listeners. r=smaug
This is for adding a pref that will allow web content to have key listeners
and use keyboard APZ, if they are marked passive. This commit also reworks
the function names and comments to make them more accurate.

MozReview-Commit-ID: LGDaVQOK1CS

--HG--
extra : rebase_source : a6bb4b7fff3488dea62b9114aa164814c74561a4
2017-07-27 19:46:44 -04:00
sotaro a773ee4276 Bug 1354411 - Rebuild CompositorSessions if WebRender is disabled r=kats
When WebRender creation is failed, WebRender is disabled in gecko. There is a case that WebRenderBridgeParents exist when WebRender is disabled. To handle this, gecko needs to rebuild all CompositorSessions.

There is also a problem related to gfxVars::UseWebRender on compositor thread. If e10s is enabled, but no-gpu process(default on linux and mac), gfxVars::UseWebRender change is soon notified by compositor thread tasks. If WebRender creation failure happens at 2nd WebRender creation, several WebRenderBridgeParents for 1st WebRender could exist. IPC messages from WebRenderLayerManager are normally async, then there is a chance that the WebRenderBridgeParents receive the messages after the gfxVars::UseWebRender change. Further the gfxVars::UseWebRender change in content process could be delayed than WebRenderBridgeParents, then content process does not have a way to stop sending PWebRenderBridge IPC until the change of gfxVars::UseWebRender is received. WebRenderBridgeParent related tasks handle the message, but some tasks are done based on gfxVars::UseWebRender. At this time, gfxVars::UseWebRender returned false on compositor thread, then it cause unexpected result for WebRenderBridgeParent and WebRender. To addres this inconsistent situation, WebRenderBridgeParent related tasks on compositor thread stop to use gfxVars::UseWebRender.
2017-08-04 14:36:41 +09:00
David Anderson b56bbf2305 Change the subdoc invalidation callback to handle overflow. (bug 1345891 part 5, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson aae46b02d1 Handle 3d context bounds overflow in LayerTreeInvalidation. (bug 1345891 part 4, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson 2cc63ceef3 Handle invalidation bounds overflow in ContainerLayerMLGPU. (bug 1345891 part 3, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
David Anderson bb8c6e5f61 Handle bounds overflow in consumers of LayerTreeInvalidation. (bug 1345891 part 2, r=mattwoodrow) 2017-08-03 21:22:48 -07:00
David Anderson e74ca7f347 Refactor LayerTreeInvalidation::ComputeChangeInternal's signature to handle overflow. (bug 1345891 part 1, r=mattwoodrow) 2017-08-03 21:22:48 -07:00
Mason Chang 7dc5a03ec2 Bug 1386073 Don't set RotatedBuffer's returned DrawTarget transform with omtp. r=dvander 2017-08-03 20:51:30 -07:00
Mason Chang 68b377c1ce Bug 1383916 Prep a DrawTarget to be drawn to on the paint thread. r=dvander 2017-08-03 08:50:32 -07:00
Sebastian Hengst 5cfce14aba merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-03 12:17:50 +02:00
Sebastian Hengst 50d2d60772 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5MywkQxECqB
2017-08-03 11:46:00 +02:00
Ethan Lin 2f3e874c80 Bug 1386553 - Move boundary calculations from each item's CreateWebRenderCommands to StackingContextHelper constructor. r=kats
MozReview-Commit-ID: 7PJIghki2g2

--HG--
extra : rebase_source : cc54e11719239814eee6f6e6f7360fbc0d10f0ad
2017-08-03 17:41:41 +08:00
David Anderson 79f94b4bc8 Skip over layers with degenerate transforms. (bug 1381352, r=mattwoodrow) 2017-08-02 23:48:44 -07:00
sotaro 1b714b3485 Bug 1386903 - Fix IPDL reference handling of CrossProcessCompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-03 18:36:55 +09:00
Sebastian Hengst a1ff1e3d1d Backed out changeset e5b859d66536 (bug 1386553) for Windows bustage at layers/StackingContextHelper.h(50). r=backout on a CLOSED TREE 2017-08-03 09:57:53 +02:00
Ethan Lin a05d601f59 Bug 1386553 - Move boundary calculations from each item's CreateWebRenderCommands to StackingContextHelper constructor. r=kats
MozReview-Commit-ID: 7PJIghki2g2
2017-08-03 15:24:25 +08:00
Morris Tseng 65beb79d45 Bug 1379920 - Support canvas in layers free mode. r=kats
MozReview-Commit-ID: 42jOb3fzodb
2017-08-03 13:55:15 +08:00
Morris Tseng 27195d489d Bug 1379920 - Introduce mLastCanvasDatas. r=kats
mLastCanvasDatas store used WebRenderCanvasData in last full
transaction. So that in next empty transaction, we can update canvas
content through mLastCanvasDatas.

MozReview-Commit-ID: 2H2m8R7Kzwf
2017-08-03 13:55:15 +08:00
Morris Tseng 23c9ce9b7b Bug 1379920 - Introduce WebRenderCanvasData. r=kats
MozReview-Commit-ID: 4aBfWib1bQq
2017-08-03 13:55:14 +08:00
Morris Tseng f3d4ff499f Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel
This patch move common canvas interfaces out of layer. So I create a
base class CanvasRenderer which move interfaces from CanvasLayer.
CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer
from ClientCanvasLayer and WebRenderCanvasRenderer from
WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the
non layers free mode and WebRenderCanvasRendererAsync for the layers
free mode.

Summary all changes in this patch.
* Move class CanvasLayer::Data to CanvasRenderer.h and rename it to
CanvasInitializeData. Because this class not only use by layer but also
* Move BasicCanvasLayer::UpdateSurface to
CopyableCanvasRenderer::ReadbackSurface.
* CanvasClient::Update now accepts ShareableCanvasRenderer as parameter.
not CanvasLayer.
use by layers-free mode. Move it out of layer's class makes more sense.
* Add InitializeCanvasRenderer in the canvas related classes to
initialize CanvasRenderer without involved layer.
* All canvas layer has function "CreateCanvasRendererInternal" that
initialize corresponding CanvasRenderer.

* Description of all CanvasRenderer classes:
** CanvasRenderer: Based classes.
** CopyableCanvasRenderer: Can readback canvas content to a
SourceSurface. Use by BasicCanvasLayer.
** ShareableCanvasRenderer: Provide IPC capabilities that allow sending
canvas content over IPC. This is pure virtual class because the IPC handling is
different in different LayerManager.
** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager.
Use by ClientCanvasLayer.
** WebRenderCanvasRenderer: Implement IPC handling for
WebRenderLayerManager.
** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer.
** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender.

class diagram shows below:

                      +--------------+
                      |CanvasRenderer|
                      +-------+------+
                              ^
                              |
                  +----------------------+
                  |CopyableCanvasRenderer|
                  +----------------------+
                              ^
                              |
                  +-----------+-----------+
                  |ShareableCanvasRenderer|
                  +-----+-----------------+
                        ^      ^
          +-------------+      +-------+
          |                            |
+--------------------+       +---------+-------------+
|ClientCanvasRenderer|       |WebRenderCanvasRenderer|
+--------------------+       +--------+--+-----------+
                                      ^  ^
              +-----------------------+  +----+
              |                               |
+-------------+-------------+   +-------------+--------------+
|WebRenderCanvasRendererSync|   |WebRenderCanvasRendererAsync|
+---------------------------+   +----------------------------+

MozReview-Commit-ID: 5hqQ19W169r
2017-08-03 13:55:14 +08:00
Morris Tseng 4fa6ccb4b3 Bug 1379920 - Rename Copy/ShareableCanvasLayer to Copy/ShareableCanvasRenderer. r=nical,jrmuizel
MozReview-Commit-ID: 9PItJtYtpCY

--HG--
rename : gfx/layers/CopyableCanvasLayer.cpp => gfx/layers/CopyableCanvasRenderer.cpp
rename : gfx/layers/CopyableCanvasLayer.h => gfx/layers/CopyableCanvasRenderer.h
rename : gfx/layers/ShareableCanvasLayer.cpp => gfx/layers/ShareableCanvasRenderer.cpp
rename : gfx/layers/ShareableCanvasLayer.h => gfx/layers/ShareableCanvasRenderer.h
2017-08-03 13:55:14 +08:00
Morris Tseng 2ecf605b8b Bug 1379920 - Add aAsync param to AddPipelineIdForAsyncCompositable and rename it to AddPipelineIdForCompositable. r=sotaro
When empty transaction in layers free mode, we don't rebuild whole
display list. But the canvas content will be updated and send the
content to parent by CanvasClient. We need some mechanism just like
async video which can update the content without rebuild the dl. But
CanvasClient doesn't use ImageBridge at all. So I slightly modify
AddPipelineIdForAsyncCompositable to let it support the Compostiable
either store in ImageBridge or WebRenderBridgeParent.

MozReview-Commit-ID: 3mKv13Pgc2k
2017-08-03 13:55:13 +08:00
Morris Tseng c956c9f91d Bug 1379920 - Fix unified build error. r=nical
MozReview-Commit-ID: Dx50fOh737p
2017-08-03 13:55:13 +08:00
Morris Tseng fbee651cc7 Bug 1378606 - Support mix-blend-mode in layers-free mode.
MozReview-Commit-ID: LNORKj1bUYq
2017-08-03 11:27:45 +08:00
Morris Tseng 5c89592091 Bug 1383212 - Store WebRenderLayerManager by RefPtr instead of raw pointer. r=kats
MozReview-Commit-ID: ArzdU60bIOE
2017-08-03 11:20:53 +08:00
Wes Kocher 851b59bdbe Merge m-c to inbound a=merge
MozReview-Commit-ID: 1p4eNdfSz9p
2017-08-02 17:46:32 -07:00
Wes Kocher baf6cddc4c Merge inbound to central, a=merge
MozReview-Commit-ID: 9NFjSEt96iT
2017-08-02 17:11:51 -07:00
David Anderson 6fc9eaab4a Don't flush async paints on the main thread. (bug 1386517, r=mattwoodrow) 2017-08-02 11:37:31 -07:00
Randall Barker 96a2116ce5 Bug 1370544 - Ensure EGLSurface is created with the same EGLConfig as the context r=jgilbert
MozReview-Commit-ID: 1cN7VzCa2lV
2017-08-02 17:09:37 -07:00
Botond Ballo a69196a7bc 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

--HG--
extra : rebase_source : 80855ac7d3ae44c393dde96650b330cc737f69d6
2017-07-31 19:15:26 -04:00
David Anderson ba247834e2 Always visit children of container layers, in case they have asynchronous animations outside of the precomputed visible bounds. (bug 1382382, r=mattwoodrow) 2017-08-02 14:24:13 -07:00
sotaro a17b90875f Bug 1386505 - Fix IPDL reference handling of CompositorBridgeParent::AllocPWebRenderBridgeParent() r=nical 2017-08-02 22:21:17 +09:00
Phil Ringnalda 2ef9ec6589 Backed out changeset 525c6c747a7a (bug 1383916) for Windows 8 reftest failures
CLOSED TREE

MozReview-Commit-ID: LvxYj7DmsGX
2017-08-01 23:07:18 -07:00
David Anderson c5e4aacb3f Handle resampled painted layers after occlusion culling. (bug 1385961, r=mattwoodrow)
--HG--
extra : rebase_source : 239abc310f202c527f0f1cb64f5d2d01cd3be15a
2017-08-01 15:40:32 -07:00
Mason Chang 788361e0d9 Bug 1383916. Prep and flush draw targets on the paint thread with OMTP. r=dvander 2017-07-31 20:56:01 -07:00
Wes Kocher 5df77c43f9 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IJRYyJu1sWm
2017-08-02 17:42:10 -07:00
Botond Ballo ae01f40e30 Bug 1386742 - Fix a transcription error in the APZ autoscroll calculation. r=kats
MozReview-Commit-ID: DNVBRR6wucU

--HG--
extra : rebase_source : 45097a948b6a26cf1dbc1ed53741cd180d22b34a
2017-08-02 13:51:30 -04:00
Ethan Lin a1f704c881 Bug 1384839 - Part4. Use A8 format when painting mask image. r=kats
MozReview-Commit-ID: 9vMkBxRNAUv

--HG--
extra : rebase_source : 164011beb656b7b97f0854baeedabbe85c2f9321
2017-07-31 14:00:29 +08:00
Ethan Lin a79f89c36a Bug 1384839 - Part2. Add BuildWrMaskImage() for creating WrImageMask. r=kats
MozReview-Commit-ID: 5S3CRSLX5wY

--HG--
extra : rebase_source : aeedbdf986d6f53b1f9410bbe5608dc45226c8f7
2017-07-28 11:49:05 +08:00
Ethan Lin 582a02967a Bug 1384839 - Part1. Extract the generation of fallback data from PushItemAsImage into a helper function to reuse it for mask painting. r=kats
MozReview-Commit-ID: FUP6bZyfalQ

--HG--
extra : rebase_source : fcea78dc934761c1e6517bd11bd3a9233f4405c6
2017-07-28 11:30:05 +08:00
Sebastian Hengst ddd4030358 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: IrMqWiJhwan
2017-08-01 11:23:57 +02:00
Wes Kocher 3c2dc39278 Merge m-c to inbound, a=merge
MozReview-Commit-ID: BgPWEtPV0sy
2017-07-31 17:49:47 -07:00
Mason Chang e74cbf6505 Bug 1384756 - Don't support component alpha layers with OMTP. r=dvander 2017-07-31 16:48:56 -07:00
Kartikaya Gupta f852cfa561 Bug 1386020 - Use wr::IdNamespace instead of uint32_t for the WR namespace. r=sotaro
MozReview-Commit-ID: JbQNgNQHobO

--HG--
extra : rebase_source : c16f17e37e94a41127410daed01f32ec4b06cb91
2017-07-31 16:31:10 -04:00
Kartikaya Gupta c3e4aef0b4 Bug 1384616 - Save APZ-relevant scrollbar data into the WR scroll data for layers-free transactions. r=jrmuizel
MozReview-Commit-ID: 6DQz9N6Wq0H

--HG--
extra : rebase_source : 8a113d4a53e1562b55cc05a0bc411675a2ca9eb1
2017-07-31 15:27:30 -04:00
Kartikaya Gupta 4ed905c664 Bug 1384616 - Save APZ-relevant data from fixed-pos items in the WR scroll data for layers-free transactions. r=jrmuizel
MozReview-Commit-ID: HAFnrCVM9pZ

--HG--
extra : rebase_source : 9b7f5f7a3487501061b0526bfc92b06ef5593a88
2017-07-31 15:27:29 -04:00
Kartikaya Gupta 89f405f2be Bug 1384616 - Allow building a tree structure in WebRenderScrollData for layers-free transactions. r=jrmuizel
The three main changes in this patch are:
(1) Move the code to emplace_back a new WebRenderLayerScrollData to
after the display list recursion. This is necessary so that when we
empty the temporary mLayerScrollData stack into the final mScrollData
structure things end up in the right order.
(2) Maintain a stack of ASRs as we recurse so that when we are building
a given WebRenderLayerScrollData, we don't add scroll metadatas that
are already present on its ancestors.
(3) Compute the number of descendants created for each layer scroll
data item and record it, so that we can properly reconstruct the
shape of the tree.

MozReview-Commit-ID: BSdX78AqBNZ

--HG--
extra : rebase_source : 0bb4133572d74fb756476e1c5954b17f114fe7d0
2017-07-31 15:27:29 -04:00
Kartikaya Gupta 3b8aaa896a Bug 1384616 - Change how display items put their APZ-relevant info into the WebRenderScrollData. r=jrmuizel
Instead of the WebRenderLayerScrollData code knowing about all the
different display item types, it makes more sense to move this logic
into the display items.

In addition to avoiding dis-encapsulating the data from nsDisplayItem subclasses,
this makes it easier to handle two specific scenarios:
(1) the case where an nsDisplayItem A subclasses another nsDisplayItem B, but A
and B have different types returned by GetType(). Previously A and B would have
to be handled explicitly in the WebRenderLayerScrollData switch statements,
which doesn't scale well if new types are added. With the new approach the
virtual function is shared down from A to B and so takes care of it. This is
particularly relevant for types like nsDisplayOwnLayer which have a number of
subclasses.

(2) the case where a display item *might* have APZ-relevant information.
In this case the type of the item alone is not sufficient to determine
if we need to create a new WebRenderLayerScrollData for it. Instead, we
need to access specific state inside the display item. This is now
handled by the UpdateScrollData function returning true when passed
nullptr arguments, and replaces the switch statement in
WebRenderLayerManager that updated forceNewLayerData.

MozReview-Commit-ID: FlfHlgSccSn

--HG--
extra : rebase_source : d1fe841724cc6020433aea31ffb5214d8a44d0a9
2017-07-31 15:27:29 -04:00
Botond Ballo fafef4638c Bug 1105109 - ScrollInputMethod telemetry for APZ autoscrolling. r=kats
MozReview-Commit-ID: 5ICwYnZTcm9

--HG--
extra : rebase_source : ab29eb3d0d9dc83daa5843e4cef66fe58d9d2267
2017-07-28 16:32:42 -04:00
Botond Ballo 3916c49dc6 Bug 1105109 - Put APZ autoscrolling behind a pref. r=kats
For now, the pref is off by default.

MozReview-Commit-ID: BtzmFGIAGey

--HG--
extra : rebase_source : a85b20059ae904cc18241e128974bbe8ee060468
2017-07-28 19:01:52 -04:00
Botond Ballo e0c06e98b6 Bug 1105109 - Notify content when APZ is handling an autoscroll. r=kats
MozReview-Commit-ID: BeuZt30fMpn

--HG--
extra : rebase_source : 0d96639d873d12e63d981b3bc50b08360fb10d59
2017-07-26 19:32:57 -04:00
Botond Ballo e54b8b4984 Bug 1105109 - Have the parent process notify APZ of the start and stop of autoscrolling. r=kats
The messages are routed through nsITabParent, nsIWidget, and IAPZCTreeManager
(the latter possibly remoted via PAPZCTreeManager if out-of-process compositing
is used).

MozReview-Commit-ID: 1zXzLa1fqpG

--HG--
extra : rebase_source : c482816ecbaec0a889d817851ee15be186b2a49c
2017-07-26 19:33:02 -04:00
Botond Ballo 23e65cc51e Bug 1105109 - Add autoscrolling support to AsyncPanZoomController. r=kats
This involves adding a new type of AsyncPanZoomAnimation, a new APZC state,
and methods to start and stop autoscrolling.

MozReview-Commit-ID: BEYPJIR30Lw

--HG--
extra : rebase_source : 81a96fd73348853f9e1a94a9f72f7de0073cc66f
2017-07-28 15:04:00 -04:00
David Anderson 427fc1d03c Include visible region changes in the cached invalid region for ContainerLayers. (bug 1381666 part 4, r=mattwoodrow) 2017-07-31 12:29:18 -07:00
David Anderson 264a0b8e7e Fix a coordinate space bug in the cached invalid region of container layers. (bug 1381666 part 3, r=mattwoodrow) 2017-07-31 12:28:54 -07:00
David Anderson 4d45c02ee0 Add helper functions for dumping MLGTextures as files. (bug 1381666 part 2, r=mattwoodrow) 2017-07-31 12:28:41 -07:00
David Anderson b05dbf58c2 Add helpers for debugging Advanced Layers with RenderDoc. (bug 1381666 part 1, r=mattwoodrow) 2017-07-31 12:28:26 -07:00
sotaro 45948ad968 Bug 1384869 - Fix ImageCompositeNotification when WebRender is enabled r=nical 2017-07-31 13:00:06 +09:00
Wes Kocher 316fd8283a Merge m-c to inbound, a=merge
MozReview-Commit-ID: KcxntLtRalL

--HG--
rename : taskcluster/actions/__init__.py => taskcluster/taskgraph/actions/__init__.py
rename : taskcluster/actions/add-new-jobs.py => taskcluster/taskgraph/actions/add-new-jobs.py
rename : taskcluster/actions/registry.py => taskcluster/taskgraph/actions/registry.py
rename : taskcluster/actions/retrigger.py => taskcluster/taskgraph/actions/retrigger.py
rename : taskcluster/actions/run_missing_tests.py => taskcluster/taskgraph/actions/run_missing_tests.py
rename : taskcluster/actions/test-retrigger-action.py => taskcluster/taskgraph/actions/test-retrigger-action.py
rename : taskcluster/actions/util.py => taskcluster/taskgraph/actions/util.py
2017-07-28 17:54:59 -07:00
Wes Kocher 40c3480d89 Merge inbound to central, a=merge
MozReview-Commit-ID: JNxfwQh0cac

--HG--
rename : gfx/layers/wr/WebRenderCompositableHolder.h => gfx/layers/wr/AsyncImagePipelineManager.h
2017-07-28 17:40:43 -07:00
Kartikaya Gupta adeda831a6 Bug 1372880 - Followup to fix typo in function name. r=me
MozReview-Commit-ID: J2D0Cb6DRNJ
2017-07-28 12:57:13 -04:00
Nicolas Silva ef3943612a Bug 1383786 - Fix unified build issue. r=sotaro 2017-07-28 14:08:05 +02:00
Nicolas Silva c6cb34826b Bug 1383786 - Rename WebRenderCompositableHolder into AsyncImagePipelineManager. r=sotaro
--HG--
rename : gfx/layers/wr/WebRenderCompositableHolder.cpp => gfx/layers/wr/AsyncImagePipelineManager.cpp
rename : gfx/layers/wr/WebRenderCompositableHolder.h => gfx/layers/wr/AsyncImagePipelineManager.h
2017-07-25 10:54:36 +02:00
Nicolas Silva 08bf19b694 Bug 1383786 - Rename GetImageKey into GenerateImageKey. r=sotaro 2017-07-25 10:54:20 +02:00
sotaro b8bc54df5a Bug 1372880 - Add WebRender creation failure handling r=aosmond 2017-07-28 18:22:21 +09:00
Carsten "Tomcat" Book 28bdd40776 Merge mozilla-central to mozilla-inbound 2017-07-28 09:48:24 +02:00
Carsten "Tomcat" Book 6ddad46b40 Backed out changeset 1662b38e3107 (bug 1351148) 2017-07-28 09:20:23 +02:00
Carsten "Tomcat" Book d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Mason Chang cc5d07571f Bug 1381973 - Lazily create the reference DT in DrawTargetCapture. r=dvander 2017-07-26 15:43:00 -07:00
sotaro eaf00c953c Bug 1377619 - Add EndTransaction to on screen timing log for WebRender r=nical 2017-07-28 08:05:56 +09:00
Ehsan Akhgari 6fc1019dc6 Bug 1385368 - Pass aTextIDs as a const reference; r=mystor 2017-07-28 15:27:59 -04:00
Ryan Hunt 0599df77a5 Bug 1383365 - Add a test to assert async key scrolling happens. r=botond
MozReview-Commit-ID: 13XydDOHXUE

--HG--
extra : rebase_source : 6824ddf0e0d00134b49147fee21ee4e75455ff29
extra : source : 1db44c2e79032184d3fb96d34e84052aa73b603a
extra : histedit_source : 9acc007ccd27100af79a297f24a3221cd63337f2
2017-07-23 12:42:26 -04:00
Ryan Hunt 52d2be54b8 Bug 1383365 - Add in missing code for mActiveKeyboardBlock in InputQueue. r=kats
MozReview-Commit-ID: EUq8wPS1aDZ

--HG--
extra : rebase_source : 3d684c76e67c3cbc2434e41f343232d6e6a69366
extra : source : d02ae74dab6da0990ecabcc3bcdeeaf3ba07ebf9
extra : histedit_source : d4724c5f7141ce6a9256482a9d1ebc2e1656f4de
2017-07-26 20:31:40 -04:00
Ryan Hunt 292142a929 Bug 1383365 - Fix APZ focus target log parameter order. r=botond
MozReview-Commit-ID: DJtXaylyseg

--HG--
extra : rebase_source : cb1228dcd6923884e3304c7b51851dee07964706
extra : source : 14d0e2a451e769dcd23f1a47f954b31231519dae
2017-07-23 13:58:19 -04:00
Ethan Lin 413b71eafc Bug 1382985 - Support image animation for layers-free mode. r=kats
We should do SchedulePaint in nsImageFrame for layers-free mode and set
invalid flag to make sure the image will be repainted.

MozReview-Commit-ID: 2lXElZ151Qa

--HG--
extra : rebase_source : 56045f66f3b36afe8a6327b841d80073f1d038cb
2017-07-24 14:43:55 +08:00
Kearwood Gilbert 21d51ec691 Bug 1310665 - macOS OpenVR Support r=daoshengmu,mattwoodrow
MozReview-Commit-ID: 9CDJpFOcFUB

--HG--
extra : rebase_source : ab1f13bd733a6f295570f58940191b333868a088
extra : source : d527620e9351a04bc70689af6a7369dd09ffeef0
2017-07-04 13:50:40 -07:00