| 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 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 } | 167 } |
| 168 } | 168 } |
| 169 } | 169 } |
| 170 m_cache.removeAll(toRemove); | 170 m_cache.removeAll(toRemove); |
| 171 m_additionsSinceLastSweep = 0; | 171 m_additionsSinceLastSweep = 0; |
| 172 } | 172 } |
| 173 #endif | 173 #endif |
| 174 | 174 |
| 175 bool MatchedPropertiesCache::isCacheable(const Element* element, const RenderSty
le* style, const RenderStyle* parentStyle) | 175 bool MatchedPropertiesCache::isCacheable(const Element* element, const RenderSty
le* style, const RenderStyle* parentStyle) |
| 176 { | 176 { |
| 177 // FIXME: CSSPropertyWebkitWritingMode modifies state when applying to docum
ent element. We can't skip the applying by caching. | |
| 178 if (element == element->document().documentElement() && element->document().
writingModeSetOnDocumentElement()) | |
| 179 return false; | |
| 180 if (style->unique() || (style->styleType() != NOPSEUDO && parentStyle->uniqu
e())) | 177 if (style->unique() || (style->styleType() != NOPSEUDO && parentStyle->uniqu
e())) |
| 181 return false; | 178 return false; |
| 182 if (style->hasAppearance()) | 179 if (style->hasAppearance()) |
| 183 return false; | 180 return false; |
| 184 if (style->zoom() != RenderStyle::initialZoom()) | 181 if (style->zoom() != RenderStyle::initialZoom()) |
| 185 return false; | 182 return false; |
| 186 if (style->writingMode() != RenderStyle::initialWritingMode()) | 183 if (style->writingMode() != RenderStyle::initialWritingMode()) |
| 187 return false; | 184 return false; |
| 188 // The cache assumes static knowledge about which properties are inherited. | 185 // The cache assumes static knowledge about which properties are inherited. |
| 189 if (parentStyle->hasExplicitlyInheritedProperties()) | 186 if (parentStyle->hasExplicitlyInheritedProperties()) |
| 190 return false; | 187 return false; |
| 191 return true; | 188 return true; |
| 192 } | 189 } |
| 193 | 190 |
| 194 void MatchedPropertiesCache::trace(Visitor* visitor) | 191 void MatchedPropertiesCache::trace(Visitor* visitor) |
| 195 { | 192 { |
| 196 #if ENABLE(OILPAN) | 193 #if ENABLE(OILPAN) |
| 197 visitor->trace(m_cache); | 194 visitor->trace(m_cache); |
| 198 #endif | 195 #endif |
| 199 } | 196 } |
| 200 | 197 |
| 201 } | 198 } |
| OLD | NEW |