OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 } | 261 } |
262 | 262 |
263 void ElementShadow::distribute() | 263 void ElementShadow::distribute() |
264 { | 264 { |
265 host()->setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing:
:create(StyleChangeReason::Shadow)); | 265 host()->setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing:
:create(StyleChangeReason::Shadow)); |
266 WillBeHeapVector<RawPtrWillBeMember<HTMLShadowElement>, 32> shadowInsertionP
oints; | 266 WillBeHeapVector<RawPtrWillBeMember<HTMLShadowElement>, 32> shadowInsertionP
oints; |
267 DistributionPool pool(*host()); | 267 DistributionPool pool(*host()); |
268 | 268 |
269 for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadow
Root()) { | 269 for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadow
Root()) { |
270 HTMLShadowElement* shadowInsertionPoint = 0; | 270 HTMLShadowElement* shadowInsertionPoint = 0; |
271 const WillBeHeapVector<RefPtrWillBeMember<InsertionPoint> >& insertionPo
ints = root->descendantInsertionPoints(); | 271 const WillBeHeapVector<RefPtrWillBeMember<InsertionPoint>>& insertionPoi
nts = root->descendantInsertionPoints(); |
272 for (size_t i = 0; i < insertionPoints.size(); ++i) { | 272 for (size_t i = 0; i < insertionPoints.size(); ++i) { |
273 InsertionPoint* point = insertionPoints[i].get(); | 273 InsertionPoint* point = insertionPoints[i].get(); |
274 if (!point->isActive()) | 274 if (!point->isActive()) |
275 continue; | 275 continue; |
276 if (isHTMLShadowElement(*point)) { | 276 if (isHTMLShadowElement(*point)) { |
277 ASSERT(!shadowInsertionPoint); | 277 ASSERT(!shadowInsertionPoint); |
278 shadowInsertionPoint = toHTMLShadowElement(point); | 278 shadowInsertionPoint = toHTMLShadowElement(point); |
279 shadowInsertionPoints.append(shadowInsertionPoint); | 279 shadowInsertionPoints.append(shadowInsertionPoint); |
280 } else { | 280 } else { |
281 pool.distributeTo(point, this); | 281 pool.distributeTo(point, this); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
377 visitor->trace(m_nodeToInsertionPoints); | 377 visitor->trace(m_nodeToInsertionPoints); |
378 visitor->trace(m_selectFeatures); | 378 visitor->trace(m_selectFeatures); |
379 // Shadow roots are linked with previous and next pointers which are traced. | 379 // Shadow roots are linked with previous and next pointers which are traced. |
380 // It is therefore enough to trace one of the shadow roots here and the | 380 // It is therefore enough to trace one of the shadow roots here and the |
381 // rest will be traced from there. | 381 // rest will be traced from there. |
382 visitor->trace(m_shadowRoots.head()); | 382 visitor->trace(m_shadowRoots.head()); |
383 #endif | 383 #endif |
384 } | 384 } |
385 | 385 |
386 } // namespace | 386 } // namespace |
OLD | NEW |