| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) | 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights
reserved. |
| 4 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 4 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 | 195 |
| 196 if (*oldStyle == *newStyle) | 196 if (*oldStyle == *newStyle) |
| 197 return diffPseudoStyles(*oldStyle, *newStyle); | 197 return diffPseudoStyles(*oldStyle, *newStyle); |
| 198 | 198 |
| 199 if (oldStyle->hasExplicitlyInheritedProperties()) | 199 if (oldStyle->hasExplicitlyInheritedProperties()) |
| 200 return Inherit; | 200 return Inherit; |
| 201 | 201 |
| 202 return NoInherit; | 202 return NoInherit; |
| 203 } | 203 } |
| 204 | 204 |
| 205 ItemPosition ComputedStyle::resolveAlignment(const ComputedStyle& parentStyle, c
onst ComputedStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutObject
) | 205 static const StyleSelfAlignmentData resolvedSelfAlignment(const StyleSelfAlignme
ntData& value, ItemPosition normalValueBehavior) |
| 206 { | 206 { |
| 207 // The auto keyword computes to the parent's align-items computed value, or
to "stretch", if not set or "auto". | 207 ASSERT(value.position() != ItemPositionAuto); |
| 208 if (childStyle.alignSelfPosition() == ItemPositionAuto) | 208 if (value.position() == ItemPositionNormal) |
| 209 return (parentStyle.alignItemsPosition() == ItemPositionAuto) ? resolved
AutoPositionForLayoutObject : parentStyle.alignItemsPosition(); | 209 return {normalValueBehavior, OverflowAlignmentDefault}; |
| 210 return childStyle.alignSelfPosition(); | 210 return value; |
| 211 } | 211 } |
| 212 | 212 |
| 213 const StyleSelfAlignmentData ComputedStyle::resolvedAlignment(const ComputedStyl
e& parentStyle, ItemPosition resolvedAutoPositionForLayoutObject) const | 213 const StyleSelfAlignmentData ComputedStyle::resolvedAlignItems(ItemPosition norm
alValueBehaviour) const |
| 214 { | 214 { |
| 215 // The auto keyword computes to the parent's align-items computed value, or
to "stretch", if not set or "auto". | 215 return resolvedSelfAlignment(alignItems(), normalValueBehaviour); |
| 216 if (alignSelfPosition() == ItemPositionAuto) { | |
| 217 if (parentStyle.alignItemsPosition() == ItemPositionAuto) | |
| 218 return {resolvedAutoPositionForLayoutObject, OverflowAlignmentDefaul
t}; | |
| 219 return parentStyle.alignItems(); | |
| 220 } | |
| 221 return alignSelf(); | |
| 222 } | 216 } |
| 223 | 217 |
| 224 ItemPosition ComputedStyle::resolveJustification(const ComputedStyle& parentStyl
e, const ComputedStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutOb
ject) | 218 const StyleSelfAlignmentData ComputedStyle::resolvedAlignSelf(const ComputedStyl
e& parentStyle, ItemPosition normalValueBehaviour) const |
| 225 { | 219 { |
| 226 if (childStyle.justifySelfPosition() == ItemPositionAuto) | 220 // The auto keyword computes to the parent's align-items computed value. |
| 227 return (parentStyle.justifyItemsPosition() == ItemPositionAuto) ? resolv
edAutoPositionForLayoutObject : parentStyle.justifyItemsPosition(); | 221 // We will return the behaviour of 'normal' value if needed, which is specif
ic of each layout model. |
| 228 return childStyle.justifySelfPosition(); | 222 if (alignSelfPosition() == ItemPositionAuto) |
| 223 return parentStyle.resolvedAlignItems(normalValueBehaviour); |
| 224 return resolvedSelfAlignment(alignSelf(), normalValueBehaviour); |
| 225 } |
| 226 |
| 227 const StyleSelfAlignmentData ComputedStyle::resolvedJustifyItems(ItemPosition no
rmalValueBehaviour) const |
| 228 { |
| 229 return resolvedSelfAlignment(justifyItems(), normalValueBehaviour); |
| 230 } |
| 231 |
| 232 |
| 233 const StyleSelfAlignmentData ComputedStyle::resolvedJustifySelf(const ComputedSt
yle& parentStyle, ItemPosition normalValueBehaviour) const |
| 234 { |
| 235 // The auto keyword computes to the parent's justify-items computed value. |
| 236 // We will return the behaviour of 'normal' value if needed, which is specif
ic of each layout model. |
| 237 if (justifySelfPosition() == ItemPositionAuto) |
| 238 return parentStyle.resolvedJustifyItems(normalValueBehaviour); |
| 239 return resolvedSelfAlignment(justifySelf(), normalValueBehaviour); |
| 229 } | 240 } |
| 230 | 241 |
| 231 static inline ContentPosition resolvedContentAlignmentPosition(const StyleConten
tAlignmentData& value, const StyleContentAlignmentData& normalValueBehavior) | 242 static inline ContentPosition resolvedContentAlignmentPosition(const StyleConten
tAlignmentData& value, const StyleContentAlignmentData& normalValueBehavior) |
| 232 { | 243 { |
| 233 return (value.position() == ContentPositionNormal && value.distribution() ==
ContentDistributionDefault) ? normalValueBehavior.position() : value.position()
; | 244 return (value.position() == ContentPositionNormal && value.distribution() ==
ContentDistributionDefault) ? normalValueBehavior.position() : value.position()
; |
| 234 } | 245 } |
| 235 | 246 |
| 236 static inline ContentDistributionType resolvedContentAlignmentDistribution(const
StyleContentAlignmentData& value, const StyleContentAlignmentData& normalValueB
ehavior) | 247 static inline ContentDistributionType resolvedContentAlignmentDistribution(const
StyleContentAlignmentData& value, const StyleContentAlignmentData& normalValueB
ehavior) |
| 237 { | 248 { |
| 238 return (value.position() == ContentPositionNormal && value.distribution() ==
ContentDistributionDefault) ? normalValueBehavior.distribution() : value.distri
bution(); | 249 return (value.position() == ContentPositionNormal && value.distribution() ==
ContentDistributionDefault) ? normalValueBehavior.distribution() : value.distri
bution(); |
| (...skipping 1642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1881 if (!shadowList) | 1892 if (!shadowList) |
| 1882 return false; | 1893 return false; |
| 1883 for (size_t i = shadowList->shadows().size(); i--; ) { | 1894 for (size_t i = shadowList->shadows().size(); i--; ) { |
| 1884 if (shadowList->shadows()[i].color().isCurrentColor()) | 1895 if (shadowList->shadows()[i].color().isCurrentColor()) |
| 1885 return true; | 1896 return true; |
| 1886 } | 1897 } |
| 1887 return false; | 1898 return false; |
| 1888 } | 1899 } |
| 1889 | 1900 |
| 1890 } // namespace blink | 1901 } // namespace blink |
| OLD | NEW |