Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Unified Diff: sky/engine/core/rendering/RenderLayerClipper.cpp

Issue 686633002: First pass at removing position:fixed. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.cpp ('k') | sky/engine/core/rendering/RenderLayerModelObject.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/RenderLayerClipper.cpp
diff --git a/sky/engine/core/rendering/RenderLayerClipper.cpp b/sky/engine/core/rendering/RenderLayerClipper.cpp
index 9f699a3394ed7fb4df3953d503d81b315c43beb2..93532b6c5906a6de88010aec37e5c2c5b205ee15 100644
--- a/sky/engine/core/rendering/RenderLayerClipper.cpp
+++ b/sky/engine/core/rendering/RenderLayerClipper.cpp
@@ -52,13 +52,7 @@ namespace blink {
static void adjustClipRectsForChildren(const RenderObject& renderer, ClipRects& clipRects)
{
EPosition position = renderer.style()->position();
- // A fixed object is essentially the root of its containing block hierarchy, so when
- // we encounter such an object, we reset our clip rects to the fixedClipRect.
- if (position == FixedPosition) {
- clipRects.setPosClipRect(clipRects.fixedClipRect());
- clipRects.setOverflowClipRect(clipRects.fixedClipRect());
- clipRects.setFixed(true);
- } else if (position == RelativePosition) {
+ if (position == RelativePosition) {
clipRects.setPosClipRect(clipRects.overflowClipRect());
} else if (position == AbsolutePosition) {
clipRects.setOverflowClipRect(clipRects.posClipRect());
@@ -81,7 +75,6 @@ static void applyClipRects(const ClipRectsContext& context, RenderObject& render
LayoutRect newClip = toRenderBox(renderer).clipRect(offset);
clipRects.setPosClipRect(intersection(newClip, clipRects.posClipRect()));
clipRects.setOverflowClipRect(intersection(newClip, clipRects.overflowClipRect()));
- clipRects.setFixedClipRect(intersection(newClip, clipRects.fixedClipRect()));
}
}
@@ -304,12 +297,8 @@ void RenderLayerClipper::calculateClipRects(const ClipRectsContext& context, Cli
static ClipRect backgroundClipRectForPosition(const ClipRects& parentRects, EPosition position)
{
- if (position == FixedPosition)
- return parentRects.fixedClipRect();
-
if (position == AbsolutePosition)
return parentRects.posClipRect();
-
return parentRects.overflowClipRect();
}
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.cpp ('k') | sky/engine/core/rendering/RenderLayerModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698