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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 || oldStyle->specifiesAutoColumns() != newStyle->specifiesAutoColumns() | 182 || oldStyle->specifiesAutoColumns() != newStyle->specifiesAutoColumns() |
183 || !oldStyle->contentDataEquivalent(newStyle) | 183 || !oldStyle->contentDataEquivalent(newStyle) |
184 || oldStyle->hasTextCombine() != newStyle->hasTextCombine()) | 184 || oldStyle->hasTextCombine() != newStyle->hasTextCombine()) |
185 return Reattach; | 185 return Reattach; |
186 | 186 |
187 if (*oldStyle == *newStyle) | 187 if (*oldStyle == *newStyle) |
188 return comparePseudoStyles(oldStyle, newStyle); | 188 return comparePseudoStyles(oldStyle, newStyle); |
189 | 189 |
190 if (oldStyle->inheritedNotEqual(newStyle) | 190 if (oldStyle->inheritedNotEqual(newStyle) |
191 || oldStyle->hasExplicitlyInheritedProperties() | 191 || oldStyle->hasExplicitlyInheritedProperties() |
192 || newStyle->hasExplicitlyInheritedProperties()) | 192 || newStyle->hasExplicitlyInheritedProperties() |
| 193 || !oldStyle->textDecorationsEqual(newStyle)) |
193 return Inherit; | 194 return Inherit; |
194 | 195 |
195 return NoInherit; | 196 return NoInherit; |
196 } | 197 } |
197 | 198 |
198 void RenderStyle::inheritFrom(const RenderStyle* inheritParent, IsAtShadowBounda
ry isAtShadowBoundary) | 199 void RenderStyle::inheritFrom(const RenderStyle* inheritParent, IsAtShadowBounda
ry isAtShadowBoundary) |
199 { | 200 { |
200 if (isAtShadowBoundary == AtShadowBoundary) { | 201 if (isAtShadowBoundary == AtShadowBoundary) { |
201 // Even if surrounding content is user-editable, shadow DOM should act a
s a single unit, and not necessarily be editable | 202 // Even if surrounding content is user-editable, shadow DOM should act a
s a single unit, and not necessarily be editable |
202 EUserModify currentUserModify = userModify(); | 203 EUserModify currentUserModify = userModify(); |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
330 | 331 |
331 bool RenderStyle::inheritedDataShared(const RenderStyle* other) const | 332 bool RenderStyle::inheritedDataShared(const RenderStyle* other) const |
332 { | 333 { |
333 // This is a fast check that only looks if the data structures are shared. | 334 // This is a fast check that only looks if the data structures are shared. |
334 return inherited_flags == other->inherited_flags | 335 return inherited_flags == other->inherited_flags |
335 && inherited.get() == other->inherited.get() | 336 && inherited.get() == other->inherited.get() |
336 && m_svgStyle.get() == other->m_svgStyle.get() | 337 && m_svgStyle.get() == other->m_svgStyle.get() |
337 && rareInheritedData.get() == other->rareInheritedData.get(); | 338 && rareInheritedData.get() == other->rareInheritedData.get(); |
338 } | 339 } |
339 | 340 |
| 341 bool RenderStyle::textDecorationsEqual(const RenderStyle* other) const |
| 342 { |
| 343 return textDecorationColor() == other->textDecorationColor() |
| 344 && textDecorationStyle() == other->textDecorationStyle() |
| 345 && textDecoration() == other->textDecoration(); |
| 346 } |
| 347 |
340 static bool positionedObjectMovedOnly(const LengthBox& a, const LengthBox& b, co
nst Length& width) | 348 static bool positionedObjectMovedOnly(const LengthBox& a, const LengthBox& b, co
nst Length& width) |
341 { | 349 { |
342 // If any unit types are different, then we can't guarantee | 350 // If any unit types are different, then we can't guarantee |
343 // that this was just a movement. | 351 // that this was just a movement. |
344 if (a.left().type() != b.left().type() | 352 if (a.left().type() != b.left().type() |
345 || a.right().type() != b.right().type() | 353 || a.right().type() != b.right().type() |
346 || a.top().type() != b.top().type() | 354 || a.top().type() != b.top().type() |
347 || a.bottom().type() != b.bottom().type()) | 355 || a.bottom().type() != b.bottom().type()) |
348 return false; | 356 return false; |
349 | 357 |
(...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1619 } | 1627 } |
1620 | 1628 |
1621 void RenderStyle::setBorderImageOutset(const BorderImageLengthBox& outset) | 1629 void RenderStyle::setBorderImageOutset(const BorderImageLengthBox& outset) |
1622 { | 1630 { |
1623 if (surround->border.m_image.outset() == outset) | 1631 if (surround->border.m_image.outset() == outset) |
1624 return; | 1632 return; |
1625 surround.access()->border.m_image.setOutset(outset); | 1633 surround.access()->border.m_image.setOutset(outset); |
1626 } | 1634 } |
1627 | 1635 |
1628 } // namespace WebCore | 1636 } // namespace WebCore |
OLD | NEW |