mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 02:14:43 +00:00
Bug 1714513 - Use ClipContentDescendants rather than ClipContainingBlockDescendants in nsPageContentFrame::BuildDisplayList. r=mattwoodrow
That way we guarantee to clip fixedpos boxes etc. This used to work
because this was further up the stack in nsPageFrame rather than
nsPageContentFrame:
029a5e8fa8 (l6.262)
Differential Revision: https://phabricator.services.mozilla.com/D116857
This commit is contained in:
parent
b35b40396e
commit
9f2318410c
@ -342,7 +342,7 @@ void nsPageContentFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
||||
// Overwrite current clip, since we're going to wrap in a transform and the
|
||||
// current clip is no longer meaningful.
|
||||
clipState.Clear();
|
||||
clipState.ClipContainingBlockDescendants(clipRect);
|
||||
clipState.ClipContentDescendants(clipRect);
|
||||
|
||||
if (StaticPrefs::layout_display_list_improve_fragmentation() &&
|
||||
pageNum <= 255) {
|
||||
|
@ -0,0 +1,21 @@
|
||||
<!doctype html>
|
||||
<title>Test reference</title>
|
||||
<style>
|
||||
body { margin: 0 }
|
||||
|
||||
#outer, #inner {
|
||||
background-color: purple;
|
||||
width: 50%;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
#inner {
|
||||
position: absolute;
|
||||
background-color: blue;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
}
|
||||
</style>
|
||||
<div id="outer">
|
||||
<div id="inner"></div>
|
||||
</div>
|
@ -0,0 +1,26 @@
|
||||
<!doctype html>
|
||||
<title>position: fixed doesn't overflow the margin area</title>
|
||||
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
||||
<link rel="author" title="Mozilla" href="https://mozilla.org">
|
||||
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1714513">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-position/#abspos-insets">
|
||||
<link rel="match" href="position-fixed-overflow-print-ref.html">
|
||||
<style>
|
||||
body { margin: 0 }
|
||||
|
||||
#outer, #inner {
|
||||
background-color: purple;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
#inner {
|
||||
position: fixed;
|
||||
background-color: blue;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
}
|
||||
</style>
|
||||
<div id="outer">
|
||||
<div id="inner"></div>
|
||||
</div>
|
Loading…
Reference in New Issue
Block a user