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

11621 Коммитов

Автор SHA1 Сообщение Дата
Martin Stransky b887819c71 Bug 1464037 - Replace GL_PROVIDER_GLX by MOZ_X11 to build X11 dependent code, r=lsalzman
In order to have useful Wayland builds we need ability to switch
between GL backends run-time - to use EGL backend for Wayland and GLX backend for X11.

GL_PROVIDER_GLX is used exclusively for GLX GL backend, so let's replace GL_PROVIDER_GLX
build-time check by more general MOZ_X11 check which determines X11 dependent code
and it's valid for both X11 and Wayland builds.

MozReview-Commit-ID: HYobrHveoaP

--HG--
extra : rebase_source : 2d359355ee747f5898d27d8a28d66114f4135f5b
2018-05-24 14:06:31 +02:00
Daniel Zielas 6e81464d99 Bug 1455182 - Additional cleanup to nsDisplayOwnLayer and ScrollbarData. r=botond
--HG--
extra : rebase_source : d0dd9840dab41e6a2dbd3427fafbf03b741441a1
2018-05-25 07:20:39 +02:00
Kartikaya Gupta 017058da2f Bug 1240708 - Follow-up to repair indentation damage. r=me and DONTBUILD 2018-05-25 16:04:09 -04:00
Kartikaya Gupta ed86544f35 Bug 1462903 - Always send a display list for a new async image pipeline so WR doesn't complain. r=sotaro
MozReview-Commit-ID: IXM8EhkcdjE

--HG--
extra : rebase_source : 171e399dd506b65261f7bc8296e9bc806152eef1
2018-05-24 09:59:28 -04:00
Ryan Hunt 8a29e10e3e Bug 1462411 - Move FlushAsyncPaints to ClientLayerManager::EndTransactionInternal. r=mattwoodrow
This commit moves FlushAsyncPaints to EndTransactionInternal, which allows
us to continue async painting during DLB and FLB. We still flush async paints
before rasterizing into layers as we aren't triple buffered.

--HG--
extra : amend_source : 6ee4f511008c60fe1f52f7a260ef7d5b5e3c0c92
2018-05-16 15:42:46 -05:00
Andreea Pavel 2c92aa2095 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-05-24 01:03:40 +03:00
Jonathan Kew 71787557ea Bug 1392147 - Test/expectation adjustments for the change in default font on Android. r=xidorn 2018-05-23 13:52:08 +01:00
Kartikaya Gupta a04df563ee Bug 1462961 - Ensure the WebRenderLayerScrollData structure matches the APZ requirements. r=jrmuizel
In cases where we were carrying down a transform from a
nsDisplayTransform and then applying it to a child item's WRLSD, we
could get incorrect behaviour when that child item had a different ASR
(and therefore had a different APZ instance). This patch corrects that
behaviour by ensuring that when we run into this case we fall back to
creating two WRLSD items instead of one, where the new WRLSD is the
parent of the other one, and holds the transform. The child WRLSD has
the data from the child item's ASR.

MozReview-Commit-ID: BE6HuZjwc8v

--HG--
extra : rebase_source : 436e81d1b6b1fcda44ef77b21eb893075d294f41
2018-05-23 16:08:18 -04:00
Kartikaya Gupta 2e785a4671 Bug 1462961 - Refactor to save a nsDisplayTransform* instead of just the transform matrix. r=jrmuizel
Instead of just storing the gfx::Matrix from the nsDisplayTransform on
the stacking context for scrolldata use, we now store a pointer to the
entire nsDisplayTransform item. We will need this in the next patch.
This patch should not have any functional changes.

MozReview-Commit-ID: 7qsZpL3Ka0X

--HG--
extra : rebase_source : b42957c83ef0591e72fa5b58ceb6650fda96e0b2
2018-05-23 16:08:18 -04:00
Kartikaya Gupta 327db9db3c Bug 1462961 - Dump the WebRenderScrollData as well when DUMP_LISTS is defined. r=jrmuizel
MozReview-Commit-ID: 181OoWNkWBs

--HG--
extra : rebase_source : 67bbf53060a042bc45f0292c10700cbff0608196
2018-05-23 16:08:18 -04:00
Andrew Osmond 1f74824f6b Bug 1451297. r=nical 2018-05-22 11:25:49 -04:00
Kartikaya Gupta 8e7e2dbdb4 Bug 1454042 - Allow missing pipeline information for cross-process iframes. r=sotaro
We should always have the pipeline information for in-process things like
async images, but for cross-process iframes we might not have the information
right away if the content process doesn't get around to sending it for a while.

MozReview-Commit-ID: 18F5nqilXoV

--HG--
extra : rebase_source : 610046cbaaefb38b8e11bda857fd64a00722df27
2018-05-18 10:31:18 -04:00
Jeff Muizelaar 83228f30bd Bug 1461849. Include a residual offset for blob images. r=mstange
This lets us improve the illuision that there's not an intermediate surface
being used when drawing SVG. i.e. if content is transformed by 0.5px
the 0.5px transform is included when drawing the SVG content.

MozReview-Commit-ID: ChfbTFblVdR

--HG--
extra : rebase_source : 24144fe05b73ceeaa8499218fdae82035f674e39
2018-05-16 10:31:27 -04:00
Jeff Muizelaar d142ce9731 Bug 1461849. Snapping surface transform. r=mstange
Capture a snapping surface transform. This is used
by svg/blob code to compute an fractional offset
to the nearest intermediate surface.

MozReview-Commit-ID: 6EFNvluvzvA

--HG--
extra : rebase_source : f26e7fa823883e93742970c2e8d687319a7eaf5b
2018-05-16 18:14:46 -04:00
Jeff Muizelaar dc69cd9e79 Bug 1461849. Don't reset the invalid rect. r=mstange
I believe this was a left-over from an old strategy where we didn't clear the
items, tried to reuse them but kept made an invalid rect for the old size. Now
that we clear the items this shouldn't be needed. I added the assert to make
sure things are what we expect.

MozReview-Commit-ID: 9btmmSmkl8S

--HG--
extra : rebase_source : 698f4a7e0fb802698f3e86b9fa8e654c5d604ec4
2018-05-17 18:16:10 -04:00
Kartikaya Gupta 63feb7051a Bug 1425565 - Use the container ASR for sticky items when building WebRender clips. r=mstange
Even if the sticky item has a fixed descendant, we want to use the
sticky container item's "real" ASR when computing the WR clips because
otherwise the WR item doesn't get attached to the correct scrolling
layer.

MozReview-Commit-ID: JVnzEIBeLKp

--HG--
extra : rebase_source : 806e43eb65d46eb5151e21b0a5eb09168b2df82d
2018-05-18 15:19:47 -04:00
Ryan Hunt 95f916f190 Bug 1461775 - Create paint worker threads in response to a device reset instead of preemptively. r=bas
--HG--
extra : rebase_source : 83f98d01b416c8ac52c36809416be92d94120463
2018-05-15 13:36:11 -05:00
Ryan Hunt 7f81c73bae Bug 1461786 - Rename references to tile positions to tile coords. r=nical
This is the other half of the commit renaming the TileUnit to TileCoordUnit. It
also includes some small style cleanups.

--HG--
extra : rebase_source : ebf7a275bed518d1419a2e3c23b67f36601a1089
2018-04-20 09:42:35 -05:00
Ryan Hunt 29301de2b0 Bug 1461786 - Move MultiTiledContentClient to its own file. r=nical
SingleTiledContentClient has it's own file and this helps make ContentClient slimmer.

--HG--
rename : gfx/layers/client/TiledContentClient.cpp => gfx/layers/client/MultiTiledContentClient.cpp
rename : gfx/layers/client/TiledContentClient.h => gfx/layers/client/MultiTiledContentClient.h
extra : rebase_source : 7c70cfa04f9faa840b2aa8a81680486e4ed0245e
2018-04-19 16:20:42 -05:00
Ryan Hunt 981575402e Bug 1461786 - Rename TilePoint and TileSize to refer to tile coord space. r=nical
TileCoord is a (very slightly) better name for this unit in my opinion, and I'd
like to add a TileBuffer unit in the future which might get confused if there
is an unprefixed Tile unit.

--HG--
extra : rebase_source : 968f508f2195c12fd4840e2415130b1b36fd3e29
2018-04-19 16:03:24 -05:00
Margareta Eliza Balazs d4b9e50875 Merge inbound to mozilla-central. a=merge 2018-05-16 13:00:51 +03:00
Matt Woodrow 33d829994f Bug 1460491 - Part 2: Only recompute visibility for items if they are newly added to this layer, or intersect one that changed. r=jnicol
MozReview-Commit-ID: EAgvVQGsSPE

--HG--
extra : rebase_source : 44bc132a95d6d1b7e9cc3c22adcd4166a099237c
2018-05-16 16:02:37 +12:00
Matt Woodrow 0d65266918 Bug 1460491 - Part 1: Split nsDisplayItem::mVisibleRect into two members, one for each stated purpose. Gets rid of the save/restore since we no longer modify the building rect. r=jnicol
MozReview-Commit-ID: 5wcsSoZRN44

--HG--
extra : rebase_source : 1bf7d655b048a972e392514542aee171e20afe82
2018-05-16 15:56:32 +12:00
Hiroyuki Ikezoe b63fbaf5f6 Bug 1460389 - Constify arguments for StackingContextHelper ctor. r=kats
MozReview-Commit-ID: 14fu7EYESwu

--HG--
extra : rebase_source : 48dd25d7ad42abde9643d4fec50bff9aa08c41ef
2018-05-15 08:59:33 +09:00
Kartikaya Gupta 8186c1e30a Bug 1461122 - Ensure we recomposite when getting a main-thread scroll offset update. r=botond
With non-WebRender, the composite is triggered unconditionally when we receive
the transaction from the content side, so we never needed this. The previous
patch adds the composite for the equivalent WebRender codepath, but it's better
to do it explicitly in NotifyLayersUpdated as well. The reason for this is that
with WebRender, this code runs on the updater thread which is not the same as
the compositor thread - so the composition that is scheduled from
WebRenderBridgeParent upon receiving the transaction might happen before the
scroll offset update is actually applied. Triggering a composition from
NotifyLayersUpdated should be a no-op in the cases where a composition is already
scheduled, but in cases where it has not been scheduled, it will schedule one
to ensure the scroll offset update gets composited properly.

MozReview-Commit-ID: Luf76J6QDkr

--HG--
extra : rebase_source : a130f1cf22973910767e96c69962d8b621c0d368
2018-05-15 08:49:36 -04:00
Kartikaya Gupta d07e6d261b Bug 1461122 - Clean up the composition flow for empty transactions. r=sotaro
This is mostly just refactoring to make the code more understandable. However,
there are a couple of functional changes:
- If we have scroll offset updates we now schedule a composite instead of
  sending the DidComposite right away. This is needed because we want to
  actually composite the scroll offset change.
- If there are WebRenderParentCommands provided, we process them and update the
  epoch in a single transaction, instead of splitting it across two transactions
  for no good reason.

MozReview-Commit-ID: 2HCa19EGxUD

--HG--
extra : rebase_source : f7cdc1b46fbca96b2124582f29c791f8944c1fc9
2018-05-15 08:49:34 -04:00
Kartikaya Gupta 26d10c1120 Bug 1461122 - Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
MozReview-Commit-ID: 5glDqCdvkQG

--HG--
extra : rebase_source : e7bcf7d338b79002e30a7647c15669f1958409e2
2018-05-15 08:49:29 -04:00
Bogdan Tara fbf34d5681 Backed out 3 changesets (bug 1461122) for build bustages on workspace/build/src/obj-firefox/dist/include/mozilla/layers/CompositorBridgeParent.h CLOSED TREE
Backed out changeset 90445f7b62cd (bug 1461122)
Backed out changeset 9f87280ba566 (bug 1461122)
Backed out changeset 0efbd05857c2 (bug 1461122)
2018-05-15 15:13:08 +03:00
Kartikaya Gupta 4faa5a5649 Bug 1461122 - Ensure we recomposite when getting a main-thread scroll offset update. r=botond
With non-WebRender, the composite is triggered unconditionally when we receive
the transaction from the content side, so we never needed this. The previous
patch adds the composite for the equivalent WebRender codepath, but it's better
to do it explicitly in NotifyLayersUpdated as well. The reason for this is that
with WebRender, this code runs on the updater thread which is not the same as
the compositor thread - so the composition that is scheduled from
WebRenderBridgeParent upon receiving the transaction might happen before the
scroll offset update is actually applied. Triggering a composition from
NotifyLayersUpdated should be a no-op in the cases where a composition is already
scheduled, but in cases where it has not been scheduled, it will schedule one
to ensure the scroll offset update gets composited properly.

MozReview-Commit-ID: Luf76J6QDkr

--HG--
extra : rebase_source : 3e8cc6c9cd6fb79ab1f7ec3d1e38a34a2c7f6011
2018-05-14 13:19:14 -04:00
Kartikaya Gupta 8677ec2d23 Bug 1461122 - Clean up the composition flow for empty transactions. r=sotaro
This is mostly just refactoring to make the code more understandable. However,
there are a couple of functional changes:
- If we have scroll offset updates we now schedule a composite instead of
  sending the DidComposite right away. This is needed because we want to
  actually composite the scroll offset change.
- If there are WebRenderParentCommands provided, we process them and update the
  epoch in a single transaction, instead of splitting it across two transactions
  for no good reason.

MozReview-Commit-ID: 2HCa19EGxUD

--HG--
extra : rebase_source : e5643b83914b47889e4bde6c0f8658fedb3d54fc
2018-05-14 13:19:13 -04:00
Kartikaya Gupta 976a28d5ae Bug 1461122 - Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
MozReview-Commit-ID: 5glDqCdvkQG

--HG--
extra : rebase_source : b3d50c9ffaa1b829b8a23fc5e16d15d1509eb080
2018-05-14 13:19:13 -04:00
Margareta Eliza Balazs 17675612bf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-14 19:49:50 +03:00
Kartikaya Gupta 56f43bc35b Bug 1437036 - Implement GetLastTransactionId in WebRenderLayerManager. r=hiro
MozReview-Commit-ID: CLymsb5w3pk

--HG--
extra : rebase_source : e2c5ee70c637305d6057953bf5fb135d1ccf3831
2018-05-14 08:53:52 -04:00
sotaro 0098e3b6c3 Bug 1460496 - Remove WebRenderCanvasRendererSync r=nical 2018-05-14 10:25:47 +09:00
James Willcox 2448df528a Bug 1453501 - Allow the compositor to be created in a paused state r=kats
MozReview-Commit-ID: B0wc8MYaBJg
2018-05-14 11:12:39 -05:00
Alexis Beingessner c9ec03e046 Bug 1451424 - emit a dispatch-to-content hittest region for all svg blobs. r=kats,mstange
MozReview-Commit-ID: 9yCF8dacZ7V

--HG--
extra : rebase_source : 1616231586866cc689d56757f3b93beb3886cda6
2018-05-08 18:32:42 -04:00
Hiroyuki Ikezoe 4ff74a279c Bug 1461023 - Disable the assertion that checks the previous opacity animation value exists when we skip computing opacity animation. r=kats
We are going to re-enable the assertion with a proper fix in bug 1459775.

MozReview-Commit-ID: 2jy6vIImqD

--HG--
extra : rebase_source : ce81b8b2f7dfb47f7db07e820989a65eac38859a
2018-05-12 08:01:46 +09:00
Kartikaya Gupta bc221bf045 Bug 1460988 - Don't hold the layer trees lock while making calls that block on WR threads. r=sotaro
MozReview-Commit-ID: BKNf5wpG1br

--HG--
extra : rebase_source : bd4d382095c5f562f31fb2ba2ad0098fd1944c00
2018-05-11 16:36:22 -04:00
Kartikaya Gupta d067a7cdae Bug 1452390 - Implement paint-skipping support in WebRender. r=botond
The majority of this patch is just plumbing. The interesting parts are
in WebRenderLayerManager and APZUpdater/WebRenderScrollData. Unlike
ClientLayerManager, which updates the FrameMetrics on the client side
and sends the modified version over to the compositor, this WR version
just sends the update info over to the compositor, which then applies
the update to the metrics saved in APZUpdater before triggering the
hit-testing tree rebuild.

MozReview-Commit-ID: 4latUMa8RFw

--HG--
extra : rebase_source : d0aeaf5a9c8107bbcaf8b0da6d68a0f47f455be5
2018-05-11 21:18:22 -04:00
Kartikaya Gupta 1324d322fd Bug 1452390 - Make WebRenderScrollData::HasMetadataFor work properly on the parent side. r=botond
MozReview-Commit-ID: A2ScgCFVZ8J

--HG--
extra : rebase_source : 981b8ca3e5916397db0db523a044d4e984359e79
2018-05-11 21:18:21 -04:00
Kartikaya Gupta 2b4b8a09ab Bug 1457466 - Make the GenerateFrame transaction bypass the scene builder thread. r=nical
This allows frames to be generated by the render backend thread even
while the scene builder thread is busy with a long scene build. The
GenerateFrame transaction also contains APZ and OMTA information, so
this allows the user to scroll and view OMTAnimations during long scene
builds.

MozReview-Commit-ID: KG5YC2KwIaH

--HG--
extra : rebase_source : 3ba559aa22a3a036a3b3a034ea20caacdc8c864a
2018-05-11 09:09:19 -04:00
Kartikaya Gupta d3693ff0d7 Bug 1457466 - Trigger a render/composite after an async scene build has been swapped in. r=nical
MozReview-Commit-ID: DLROm9gg544

--HG--
extra : rebase_source : d7ecffdfcb87b3148e5486b4f6810a6e73a9dcf3
2018-05-11 09:09:16 -04:00
Brian Birtles f8c518344a Bug 1456394 - Rename AnimationEffectReadOnly to AnimationEffect; r=bz,hiro
MozReview-Commit-ID: 8jzJiCWt5vs

--HG--
rename : dom/animation/AnimationEffectReadOnly.cpp => dom/animation/AnimationEffect.cpp
rename : dom/animation/AnimationEffectReadOnly.h => dom/animation/AnimationEffect.h
rename : dom/webidl/AnimationEffectReadOnly.webidl => dom/webidl/AnimationEffect.webidl
extra : rebase_source : 2bd6490fe9be47cfb760bda81a63c33ba0b0397d
2018-05-07 11:15:16 +09:00
Brian Birtles 3184f30162 Bug 1456394 - Merge KeyframeEffectReadOnly and KeyframeEffect; r=bz,hiro
MozReview-Commit-ID: FvTMGjxfRXk

--HG--
extra : rebase_source : 8f7fd0903c9ca2f545dce2633eb797345a7517f8
2018-05-07 11:08:59 +09:00
Brian Birtles 9622b88217 Bug 1456394 - Rename KeyframeEffectReadOnly.{h,cpp} to KeyframeEffect.{h,cpp}; r=bz,hiro
MozReview-Commit-ID: 5Q7oQV8vmgS

--HG--
rename : dom/animation/KeyframeEffectReadOnly.cpp => dom/animation/KeyframeEffect.cpp
rename : dom/animation/KeyframeEffectReadOnly.h => dom/animation/KeyframeEffect.h
extra : rebase_source : cdc8448e7d07376691ef9187f7d6f4424800b690
2018-05-07 11:07:06 +09:00
Kartikaya Gupta 788be8ad4e Bug 1460289 - Reduce scope of indirect layer tree lock in RecvAdoptChild. r=sotaro
In particular, this change makes it so that we are not holding the lock
when we clone the WebRenderAPI, because that can result in a deadlock.

MozReview-Commit-ID: 33OGZdFMjEA

--HG--
extra : rebase_source : 4a1aeb81e3316a119d6b0aa798d827314543a70b
2018-05-09 15:23:30 -04:00
shindli 42cb453a11 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 58d7215e3c Bug 1453501 - Allow the compositor to be created in a paused state r=kats
MozReview-Commit-ID: B0wc8MYaBJg
2018-05-14 08:15:38 -05:00
Hiroyuki Ikezoe bb70206bd8 Bug 1459895 - Avoid underflow in TimeStamp in the middle of the calcuration of animation's ready time. r=birtles
MozReview-Commit-ID: EsvEIHGMXUa

--HG--
extra : rebase_source : 9567449a59df1232eb3197384e769740eeafdb15
2018-05-09 10:47:51 +09:00
Hiroyuki Ikezoe dd11d8f6fc Bug 1320608 - Add an assertion that checks AnimationInfo::GetGenerationFromFrame() receives the primary frame or the first continuation frame. r=birtles
MozReview-Commit-ID: FFjXbZT4sDQ

--HG--
extra : rebase_source : e3024f8c3c0a18aeaf2ebfb61f69950392a22813
2018-05-09 05:54:10 +09:00