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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 #if !ENABLE(OILPAN) | 140 #if !ENABLE(OILPAN) |
141 removeDetachedShadowRoots(); | 141 removeDetachedShadowRoots(); |
142 #endif | 142 #endif |
143 } | 143 } |
144 | 144 |
145 ShadowRoot& ElementShadow::addShadowRoot(Element& shadowHost, ShadowRoot::Shadow
RootType type) | 145 ShadowRoot& ElementShadow::addShadowRoot(Element& shadowHost, ShadowRoot::Shadow
RootType type) |
146 { | 146 { |
147 EventDispatchForbiddenScope assertNoEventDispatch; | 147 EventDispatchForbiddenScope assertNoEventDispatch; |
148 ScriptForbiddenScope forbidScript; | 148 ScriptForbiddenScope forbidScript; |
149 | 149 |
150 if (type == ShadowRoot::AuthorShadowRoot && (!youngestShadowRoot() || younge
stShadowRoot()->type() == ShadowRoot::UserAgentShadowRoot)) | 150 if (type == ShadowRoot::OpenShadowRoot && (!youngestShadowRoot() || youngest
ShadowRoot()->type() == ShadowRoot::ClosedShadowRoot)) |
151 shadowHost.willAddFirstAuthorShadowRoot(); | 151 shadowHost.willAddFirstOpenShadowRoot(); |
152 | 152 |
153 for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadow
Root()) | 153 for (ShadowRoot* root = youngestShadowRoot(); root; root = root->olderShadow
Root()) |
154 root->lazyReattachIfAttached(); | 154 root->lazyReattachIfAttached(); |
155 | 155 |
156 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = ShadowRoot::create(shadowHost.do
cument(), type); | 156 RefPtrWillBeRawPtr<ShadowRoot> shadowRoot = ShadowRoot::create(shadowHost.do
cument(), type); |
157 shadowRoot->setParentOrShadowHostNode(&shadowHost); | 157 shadowRoot->setParentOrShadowHostNode(&shadowHost); |
158 shadowRoot->setParentTreeScope(shadowHost.treeScope()); | 158 shadowRoot->setParentTreeScope(shadowHost.treeScope()); |
159 m_shadowRoots.push(shadowRoot.get()); | 159 m_shadowRoots.push(shadowRoot.get()); |
160 setNeedsDistributionRecalc(); | 160 setNeedsDistributionRecalc(); |
161 | 161 |
(...skipping 215 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 |