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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBox.cpp

Issue 1490063002: Implement Paint Containment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unnecessary adjustStyleForContainment declaration Created 5 years 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 { 97 {
98 setIsBox(); 98 setIsBox();
99 } 99 }
100 100
101 PaintLayerType LayoutBox::layerTypeRequired() const 101 PaintLayerType LayoutBox::layerTypeRequired() const
102 { 102 {
103 // hasAutoZIndex only returns true if the element is positioned or a flex-it em since 103 // hasAutoZIndex only returns true if the element is positioned or a flex-it em since
104 // position:static elements that are not flex-items get their z-index coerce d to auto. 104 // position:static elements that are not flex-items get their z-index coerce d to auto.
105 if (isPositioned() || createsGroup() || hasClipPath() || hasTransformRelated Property() 105 if (isPositioned() || createsGroup() || hasClipPath() || hasTransformRelated Property()
106 || style()->hasCompositorProxy() || hasHiddenBackface() || hasReflection () || style()->specifiesColumns() 106 || style()->hasCompositorProxy() || hasHiddenBackface() || hasReflection () || style()->specifiesColumns()
107 || !style()->hasAutoZIndex() || style()->shouldCompositeForCurrentAnimat ions()) 107 || !style()->hasAutoZIndex() || style()->shouldCompositeForCurrentAnimat ions())
chrishtr 2015/12/09 01:41:46 !hasAutoZIndex should be enough, line 110 will be
leviw_travelin_and_unemployed 2015/12/09 21:09:24 Good point :)
108 return NormalPaintLayer; 108 return NormalPaintLayer;
109 109
110 if (hasOverflowClip()) 110 if (hasOverflowClip() || style()->containsPaint())
111 return OverflowClipPaintLayer; 111 return OverflowClipPaintLayer;
112 112
113 return NoPaintLayer; 113 return NoPaintLayer;
114 } 114 }
115 115
116 void LayoutBox::willBeDestroyed() 116 void LayoutBox::willBeDestroyed()
117 { 117 {
118 clearOverrideSize(); 118 clearOverrideSize();
119 clearContainingBlockOverrideSize(); 119 clearContainingBlockOverrideSize();
120 clearExtraInlineAndBlockOffests(); 120 clearExtraInlineAndBlockOffests();
(...skipping 4718 matching lines...) Expand 10 before | Expand all | Expand 10 after
4839 StyleImage* borderImage = style()->borderImage().image(); 4839 StyleImage* borderImage = style()->borderImage().image();
4840 return borderImage && borderImage->canRender() && borderImage->isLoaded(); 4840 return borderImage && borderImage->canRender() && borderImage->isLoaded();
4841 } 4841 }
4842 4842
4843 ShapeOutsideInfo* LayoutBox::shapeOutsideInfo() const 4843 ShapeOutsideInfo* LayoutBox::shapeOutsideInfo() const
4844 { 4844 {
4845 return ShapeOutsideInfo::isEnabledFor(*this) ? ShapeOutsideInfo::info(*this) : nullptr; 4845 return ShapeOutsideInfo::isEnabledFor(*this) ? ShapeOutsideInfo::info(*this) : nullptr;
4846 } 4846 }
4847 4847
4848 } // namespace blink 4848 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698