forked from BrowserWorks/Waterfox
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1494801: Don't add additional "contain:paint" clipping on scroll …
…frames. r=mattwoodrow The contain:paint clipping would be redundant and hence unnecessary in this scenario, because: - Scroll frames already clip their descendant frames. - contain:paint has other (non-clipping-related) effects that prevent descendant frames from escaping the scrollframe ancestor. So, no further clipping is required. This is a behavior change - it works around an issue that makes us fail to repaint mousewheel-scrolled content inside of any scrollframe that returns true from ShouldApplyOverflowClipping(). Differential Revision: https://phabricator.services.mozilla.com/D12056 --HG-- extra : moz-landing-system : lando
- Loading branch information
Showing
4 changed files
with
41 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
layout/reftests/async-scrolling/contain-paint-scrollable-frame-1-ref.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
<!DOCTYPE HTML> | ||
<html> | ||
<body> | ||
<div style="width:400px; height:200px; | ||
border:2px solid black; background: lime;"> | ||
</div> | ||
</body> | ||
</html> |
26 changes: 26 additions & 0 deletions
26
layout/reftests/async-scrolling/contain-paint-scrollable-frame-1.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<!DOCTYPE HTML> | ||
<html reftest-async-scroll> | ||
<body> | ||
<div style="width:400px; height:200px; overflow:hidden; | ||
border:2px solid black; background: red; | ||
contain:paint;" | ||
reftest-displayport-x="0" reftest-displayport-y="0" | ||
reftest-displayport-w="800" reftest-displayport-h="2000" | ||
reftest-async-scroll-x="0" reftest-async-scroll-y="100"> | ||
<!-- This element is what we're hoping will fill the scrollport | ||
when the reftest snapshot is taken: --> | ||
<div style="background: lime; margin-top: 100px; height: 600px"></div> | ||
|
||
<!-- This element is just to be sure the scrollframe's "contain:paint" | ||
styling is actually having an effect. "contain:paint" should make the | ||
scrollframe become a containing block for this fixed-pos element, and | ||
then this element will position itself off the bottom of the | ||
scrollframe and will be entirely clipped. If we fail to honor | ||
"contain:paint" for some reason, then this element will instead use | ||
the *viewport* as its containing block, and it'll show up in the | ||
reftest snapshot and cause the reftest to fail. --> | ||
<div style="position: fixed; top: 320px; width: 50px; height: 50px; | ||
background: purple;"></div> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters