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

Side by Side Diff: Source/core/rendering/style/RenderStyle.cpp

Issue 790823003: Inherit propagation diff necessary for loaded web fonts. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/fast/css/font-face-inherit-repaint-expected.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 if (oldStyle->display() != newStyle->display() 180 if (oldStyle->display() != newStyle->display()
181 || oldStyle->hasPseudoStyle(FIRST_LETTER) != newStyle->hasPseudoStyle(FI RST_LETTER) 181 || oldStyle->hasPseudoStyle(FIRST_LETTER) != newStyle->hasPseudoStyle(FI RST_LETTER)
182 || oldStyle->columnSpan() != newStyle->columnSpan() 182 || oldStyle->columnSpan() != newStyle->columnSpan()
183 || !oldStyle->contentDataEquivalent(newStyle) 183 || !oldStyle->contentDataEquivalent(newStyle)
184 || oldStyle->hasTextCombine() != newStyle->hasTextCombine() 184 || oldStyle->hasTextCombine() != newStyle->hasTextCombine()
185 || oldStyle->justifyItems() != newStyle->justifyItems() 185 || oldStyle->justifyItems() != newStyle->justifyItems()
186 || oldStyle->alignItems() != newStyle->alignItems()) 186 || oldStyle->alignItems() != newStyle->alignItems())
187 return Reattach; 187 return Reattach;
188 188
189 if (*oldStyle == *newStyle)
190 return diffPseudoStyles(oldStyle, newStyle);
191
192 if (oldStyle->inheritedNotEqual(newStyle) 189 if (oldStyle->inheritedNotEqual(newStyle)
193 || oldStyle->hasExplicitlyInheritedProperties() 190 || oldStyle->hasExplicitlyInheritedProperties()
194 || newStyle->hasExplicitlyInheritedProperties()) 191 || newStyle->hasExplicitlyInheritedProperties())
195 return Inherit; 192 return Inherit;
196 193
194 if (*oldStyle == *newStyle)
195 return diffPseudoStyles(oldStyle, newStyle);
196
197 return NoInherit; 197 return NoInherit;
198 } 198 }
199 199
200 ItemPosition RenderStyle::resolveAlignment(const RenderStyle* parentStyle, const RenderStyle* childStyle, ItemPosition resolvedAutoPositionForRenderer) 200 ItemPosition RenderStyle::resolveAlignment(const RenderStyle* parentStyle, const RenderStyle* childStyle, ItemPosition resolvedAutoPositionForRenderer)
201 { 201 {
202 // The auto keyword computes to the parent's align-items computed value, or to "stretch", if not set or "auto". 202 // The auto keyword computes to the parent's align-items computed value, or to "stretch", if not set or "auto".
203 if (childStyle->alignSelf() == ItemPositionAuto) 203 if (childStyle->alignSelf() == ItemPositionAuto)
204 return (parentStyle->alignItems() == ItemPositionAuto) ? resolvedAutoPos itionForRenderer : parentStyle->alignItems(); 204 return (parentStyle->alignItems() == ItemPositionAuto) ? resolvedAutoPos itionForRenderer : parentStyle->alignItems();
205 return childStyle->alignSelf(); 205 return childStyle->alignSelf();
206 } 206 }
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 if (pseudoStyle->styleType() == pid) { 332 if (pseudoStyle->styleType() == pid) {
333 m_cachedPseudoStyles->remove(i); 333 m_cachedPseudoStyles->remove(i);
334 return; 334 return;
335 } 335 }
336 } 336 }
337 } 337 }
338 338
339 bool RenderStyle::inheritedNotEqual(const RenderStyle* other) const 339 bool RenderStyle::inheritedNotEqual(const RenderStyle* other) const
340 { 340 {
341 return inherited_flags != other->inherited_flags 341 return inherited_flags != other->inherited_flags
342 || inherited != other->inherited 342 || inherited != other->inherited
343 || m_svgStyle->inheritedNotEqual(other->m_svgStyle.get()) 343 || font().loadingCustomFonts() != other->font().loadingCustomFonts()
344 || rareInheritedData != other->rareInheritedData; 344 || m_svgStyle->inheritedNotEqual(other->m_svgStyle.get())
345 || rareInheritedData != other->rareInheritedData;
345 } 346 }
346 347
347 bool RenderStyle::inheritedDataShared(const RenderStyle* other) const 348 bool RenderStyle::inheritedDataShared(const RenderStyle* other) const
348 { 349 {
349 // This is a fast check that only looks if the data structures are shared. 350 // This is a fast check that only looks if the data structures are shared.
350 return inherited_flags == other->inherited_flags 351 return inherited_flags == other->inherited_flags
351 && inherited.get() == other->inherited.get() 352 && inherited.get() == other->inherited.get()
352 && m_svgStyle.get() == other->m_svgStyle.get() 353 && m_svgStyle.get() == other->m_svgStyle.get()
353 && rareInheritedData.get() == other->rareInheritedData.get(); 354 && rareInheritedData.get() == other->rareInheritedData.get();
354 } 355 }
(...skipping 1307 matching lines...) Expand 10 before | Expand all | Expand 10 after
1662 horizontal || includeLogicalRightEdge); 1663 horizontal || includeLogicalRightEdge);
1663 1664
1664 edges[BSLeft] = BorderEdge(borderLeftWidth(), 1665 edges[BSLeft] = BorderEdge(borderLeftWidth(),
1665 visitedDependentColor(CSSPropertyBorderLeftColor), 1666 visitedDependentColor(CSSPropertyBorderLeftColor),
1666 borderLeftStyle(), 1667 borderLeftStyle(),
1667 borderLeftIsTransparent(), 1668 borderLeftIsTransparent(),
1668 !horizontal || includeLogicalLeftEdge); 1669 !horizontal || includeLogicalLeftEdge);
1669 } 1670 }
1670 1671
1671 } // namespace blink 1672 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/fast/css/font-face-inherit-repaint-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698