OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 } | 135 } |
136 | 136 |
137 void ShadowRoot::recalcStyle(StyleChange change) | 137 void ShadowRoot::recalcStyle(StyleChange change) |
138 { | 138 { |
139 // ShadowRoot doesn't support custom callbacks. | 139 // ShadowRoot doesn't support custom callbacks. |
140 ASSERT(!hasCustomStyleCallbacks()); | 140 ASSERT(!hasCustomStyleCallbacks()); |
141 | 141 |
142 StyleResolver* styleResolver = document()->styleResolver(); | 142 StyleResolver* styleResolver = document()->styleResolver(); |
143 styleResolver->pushParentShadowRoot(this); | 143 styleResolver->pushParentShadowRoot(this); |
144 | 144 |
| 145 // When we're set to lazyAttach we'll have a FullStyleChange and we'll need |
| 146 // to promote the change to a Force for all our descendants so they get a |
| 147 // recalc and will attach. |
| 148 if (styleChangeType() == FullStyleChange) |
| 149 change = Force; |
| 150 |
145 for (Node* child = firstChild(); child; child = child->nextSibling()) { | 151 for (Node* child = firstChild(); child; child = child->nextSibling()) { |
146 if (child->isElementNode()) | 152 if (child->isElementNode()) |
147 toElement(child)->recalcStyle(change); | 153 toElement(child)->recalcStyle(change); |
148 else if (child->isTextNode()) | 154 else if (child->isTextNode()) |
149 toText(child)->recalcTextStyle(change); | 155 toText(child)->recalcTextStyle(change); |
150 } | 156 } |
151 | 157 |
152 styleResolver->popParentShadowRoot(this); | 158 styleResolver->popParentShadowRoot(this); |
153 clearNeedsStyleRecalc(); | 159 clearNeedsStyleRecalc(); |
154 clearChildNeedsStyleRecalc(); | 160 clearChildNeedsStyleRecalc(); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 { | 267 { |
262 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM); | 268 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM); |
263 DocumentFragment::reportMemoryUsage(memoryObjectInfo); | 269 DocumentFragment::reportMemoryUsage(memoryObjectInfo); |
264 TreeScope::reportMemoryUsage(memoryObjectInfo); | 270 TreeScope::reportMemoryUsage(memoryObjectInfo); |
265 info.addMember(m_prev, "prev"); | 271 info.addMember(m_prev, "prev"); |
266 info.addMember(m_next, "next"); | 272 info.addMember(m_next, "next"); |
267 info.addMember(m_scopeDistribution, "scopeDistribution"); | 273 info.addMember(m_scopeDistribution, "scopeDistribution"); |
268 } | 274 } |
269 | 275 |
270 } | 276 } |
OLD | NEW |