Iteration becomes wrong when ImageBridgeParent::GetInstance() fails in NotifyImageComposites().
Differential Revision: https://phabricator.services.mozilla.com/D18172
--HG--
extra : moz-landing-system : lando
For screen-space rasterized images, we provide the shader with the
UV corners of an image. The shaders then interpolate between the corners
as an intermediate step of finding their UV to assign to a vertex.
When the transformation is perspective, the corners stop being
representative in real screen space, and the old code didn't handle the
case of a corner being out of the positive hemisphere. This change
doesn't do perspective division on Rust side and defers this to the
shader, which can do division *after* interpolation between corners.
This change makes us handle the near plane better and resolves clipping
problems with perspective-interpolated images that occured due to
precision issues of perspective divided corners.
Differential Revision: https://phabricator.services.mozilla.com/D18123
--HG--
extra : moz-landing-system : lando
There are two mochitests need to be changed. Both of contents have very large
element (5000px, 5000px), to avoid expanding the layout viewport to the large
size we restrict the minimum scale to 1.0 so that we can still check the layout
scroll range.
Also with this minimum scale size usage change, no-zoom-ref.html doesn't render
the horizontal scrollbar on _desktops_ for some reasons (presumably
reftest-async-zoom affects it, and possibly the reasons are the same as bug
1385145 or bug 1269739). Instead of fixing the issue on desktops, I am going to
take a workaround to add explicit minimum-scale value here, it somehow renders
the scrollbar on desktops too.
Note that the reftest added in this commit fails without this fix.
Depends on D18041
Differential Revision: https://phabricator.services.mozilla.com/D18042
--HG--
extra : moz-landing-system : lando
All helper htmls define a viewport meta tag, we should set the pref for safety.
Differential Revision: https://phabricator.services.mozilla.com/D18038
--HG--
extra : moz-landing-system : lando
It turns out that setting the parent link on a clip chain is no longer
needed (and probably hasn't been since WR started applying a stacking
context's clip to the SC's contents). In fact it can produce incorrect
behaviour in some cases, because it doesn't match the semantics of
Gecko's clip chains. This removes the parent link on the Gecko side and
adds a test for this scenario.
Differential Revision: https://phabricator.services.mozilla.com/D18101
--HG--
extra : moz-landing-system : lando
Implement scaling of borders using the same scale extraction and clamping to
nearest power of two that gecko uses in FrameLayerBuilder::ChooseScale.
Differential Revision: https://phabricator.services.mozilla.com/D17456
--HG--
extra : moz-landing-system : lando
Note that the dirty rect assertions don't seem to quite work yet, but
Glenn is going to take over that last piece.
Depends on D17995
Differential Revision: https://phabricator.services.mozilla.com/D17996
--HG--
extra : moz-landing-system : lando
The current code panics with an out-of-bounds access here if picture
caching is used outside an iframe.
Depends on D17994
Differential Revision: https://phabricator.services.mozilla.com/D17995
--HG--
extra : moz-landing-system : lando
Per discussion with gw, the current behavior is an oversight. We also
want to expose this to wrench.
Depends on D17993
Differential Revision: https://phabricator.services.mozilla.com/D17994
--HG--
extra : moz-landing-system : lando
There are various testing-only things we want to do here, specifically
copying around dirty regions, and shrinking the tile size. We could make
each of these specific options and thread them all through to the right
places, but that adds complexity without a use-case. So we just add a
simple testing mode for wrench.
Differential Revision: https://phabricator.services.mozilla.com/D17991
--HG--
extra : moz-landing-system : lando
This should help increase our WebRender usage so we're more likely to learn
about problems with minimal additional risk.
Differential Revision: https://phabricator.services.mozilla.com/D18020
--HG--
extra : moz-landing-system : lando
Now that we no longer guarantee that a picture with perspective transform is rasterized in local space, we need to ensure that the shaders don't apply perspective correction to the texture coordinates twice.
For that to be the case, we pass an extra flag to the plane splitting shader, and un-do the perspective correction if it's not enabled.
Differential Revision: https://phabricator.services.mozilla.com/D17854
--HG--
extra : moz-landing-system : lando
Now that we no longer guarantee that a picture with perspective transform is rasterized in local space, we need to ensure that the shaders don't apply perspective correction to the texture coordinates twice.
For that to be the case, we pass an extra flag to the plane splitting shader, and un-do the perspective correction if it's not enabled.
Differential Revision: https://phabricator.services.mozilla.com/D17854
--HG--
extra : moz-landing-system : lando
WebRenderBridgeParent::RemoveEpochDataPriorTo() does not check when animation is added by using epoch. Then there is a case that animation is deleted too early.
Differential Revision: https://phabricator.services.mozilla.com/D17799
--HG--
extra : moz-landing-system : lando