| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 static bool parentStyleForcesZIndexToCreateStackingContext(const RenderStyle* pa
rentStyle) | 159 static bool parentStyleForcesZIndexToCreateStackingContext(const RenderStyle* pa
rentStyle) |
| 160 { | 160 { |
| 161 return isDisplayFlexibleBox(parentStyle->display()) || isDisplayGridBox(pare
ntStyle->display()); | 161 return isDisplayFlexibleBox(parentStyle->display()) || isDisplayGridBox(pare
ntStyle->display()); |
| 162 } | 162 } |
| 163 | 163 |
| 164 static bool hasWillChangeThatCreatesStackingContext(const RenderStyle* style, El
ement* e) | 164 static bool hasWillChangeThatCreatesStackingContext(const RenderStyle* style, El
ement* e) |
| 165 { | 165 { |
| 166 for (size_t i = 0; i < style->willChangeProperties().size(); ++i) { | 166 for (size_t i = 0; i < style->willChangeProperties().size(); ++i) { |
| 167 switch (style->willChangeProperties()[i]) { | 167 switch (style->willChangeProperties()[i]) { |
| 168 case CSSPropertyOpacity: | 168 case CSSPropertyOpacity: |
| 169 case CSSPropertyTransform: |
| 169 case CSSPropertyWebkitTransform: | 170 case CSSPropertyWebkitTransform: |
| 171 case CSSPropertyTransformStyle: |
| 170 case CSSPropertyWebkitTransformStyle: | 172 case CSSPropertyWebkitTransformStyle: |
| 173 case CSSPropertyPerspective: |
| 171 case CSSPropertyWebkitPerspective: | 174 case CSSPropertyWebkitPerspective: |
| 172 case CSSPropertyWebkitMask: | 175 case CSSPropertyWebkitMask: |
| 173 case CSSPropertyWebkitMaskBoxImage: | 176 case CSSPropertyWebkitMaskBoxImage: |
| 174 case CSSPropertyWebkitClipPath: | 177 case CSSPropertyWebkitClipPath: |
| 175 case CSSPropertyWebkitBoxReflect: | 178 case CSSPropertyWebkitBoxReflect: |
| 176 case CSSPropertyWebkitFilter: | 179 case CSSPropertyWebkitFilter: |
| 177 case CSSPropertyZIndex: | 180 case CSSPropertyZIndex: |
| 178 case CSSPropertyPosition: | 181 case CSSPropertyPosition: |
| 179 return true; | 182 return true; |
| 180 case CSSPropertyMixBlendMode: | 183 case CSSPropertyMixBlendMode: |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 || style->hasIsolation() | 232 || style->hasIsolation() |
| 230 || style->position() == StickyPosition | 233 || style->position() == StickyPosition |
| 231 || style->position() == FixedPosition | 234 || style->position() == FixedPosition |
| 232 || isInTopLayer(e, style) | 235 || isInTopLayer(e, style) |
| 233 || hasWillChangeThatCreatesStackingContext(style, e) | 236 || hasWillChangeThatCreatesStackingContext(style, e) |
| 234 )) | 237 )) |
| 235 style->setZIndex(0); | 238 style->setZIndex(0); |
| 236 | 239 |
| 237 // will-change:transform should result in the same rendering behavior as hav
ing a transform, | 240 // will-change:transform should result in the same rendering behavior as hav
ing a transform, |
| 238 // including the creation of a containing block for fixed position descendan
ts. | 241 // including the creation of a containing block for fixed position descendan
ts. |
| 239 if (!style->hasTransform() && style->willChangeProperties().contains(CSSProp
ertyWebkitTransform)) { | 242 if (!style->hasTransform() && (style->willChangeProperties().contains(CSSPro
pertyWebkitTransform) || style->willChangeProperties().contains(CSSPropertyTrans
form))) { |
| 240 bool makeIdentity = true; | 243 bool makeIdentity = true; |
| 241 style->setTransform(TransformOperations(makeIdentity)); | 244 style->setTransform(TransformOperations(makeIdentity)); |
| 242 } | 245 } |
| 243 | 246 |
| 244 if (doesNotInheritTextDecoration(style, e)) | 247 if (doesNotInheritTextDecoration(style, e)) |
| 245 style->setTextDecorationsInEffect(style->textDecoration()); | 248 style->setTextDecorationsInEffect(style->textDecoration()); |
| 246 else | 249 else |
| 247 style->addToTextDecorationsInEffect(style->textDecoration()); | 250 style->addToTextDecorationsInEffect(style->textDecoration()); |
| 248 | 251 |
| 249 // If either overflow value is not visible, change to auto. | 252 // If either overflow value is not visible, change to auto. |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 if (style->writingMode() != TopToBottomWritingMode && (style->display() == B
OX || style->display() == INLINE_BOX)) | 442 if (style->writingMode() != TopToBottomWritingMode && (style->display() == B
OX || style->display() == INLINE_BOX)) |
| 440 style->setWritingMode(TopToBottomWritingMode); | 443 style->setWritingMode(TopToBottomWritingMode); |
| 441 | 444 |
| 442 if (isDisplayFlexibleBox(parentStyle->display()) || isDisplayGridBox(parentS
tyle->display())) { | 445 if (isDisplayFlexibleBox(parentStyle->display()) || isDisplayGridBox(parentS
tyle->display())) { |
| 443 style->setFloating(NoFloat); | 446 style->setFloating(NoFloat); |
| 444 style->setDisplay(equivalentBlockDisplay(style->display(), style->isFloa
ting(), !m_useQuirksModeStyles)); | 447 style->setDisplay(equivalentBlockDisplay(style->display(), style->isFloa
ting(), !m_useQuirksModeStyles)); |
| 445 } | 448 } |
| 446 } | 449 } |
| 447 | 450 |
| 448 } | 451 } |
| OLD | NEW |