| 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 11 matching lines...) Expand all Loading... |
| 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 #include "config.h" | 27 #include "config.h" |
| 28 #include "core/dom/shadow/ElementShadow.h" | 28 #include "core/dom/shadow/ElementShadow.h" |
| 29 | 29 |
| 30 #include "core/css/StyleSheetList.h" | 30 #include "core/css/StyleSheetList.h" |
| 31 #include "core/dom/ElementTraversal.h" | 31 #include "core/dom/ElementTraversal.h" |
| 32 #include "core/dom/NoEventDispatchAssertion.h" | |
| 33 #include "core/dom/NodeTraversal.h" | 32 #include "core/dom/NodeTraversal.h" |
| 34 #include "core/dom/shadow/ContentDistribution.h" | 33 #include "core/dom/shadow/ContentDistribution.h" |
| 35 #include "core/html/HTMLContentElement.h" | 34 #include "core/html/HTMLContentElement.h" |
| 36 #include "core/html/HTMLShadowElement.h" | 35 #include "core/html/HTMLShadowElement.h" |
| 37 #include "core/inspector/InspectorInstrumentation.h" | 36 #include "core/inspector/InspectorInstrumentation.h" |
| 37 #include "platform/EventDispatchForbiddenScope.h" |
| 38 #include "platform/ScriptForbiddenScope.h" | 38 #include "platform/ScriptForbiddenScope.h" |
| 39 | 39 |
| 40 namespace blink { | 40 namespace blink { |
| 41 | 41 |
| 42 class DistributionPool FINAL { | 42 class DistributionPool FINAL { |
| 43 STACK_ALLOCATED(); | 43 STACK_ALLOCATED(); |
| 44 public: | 44 public: |
| 45 explicit DistributionPool(const ContainerNode&); | 45 explicit DistributionPool(const ContainerNode&); |
| 46 void clear(); | 46 void clear(); |
| 47 ~DistributionPool(); | 47 ~DistributionPool(); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 | 137 |
| 138 ElementShadow::~ElementShadow() | 138 ElementShadow::~ElementShadow() |
| 139 { | 139 { |
| 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 NoEventDispatchAssertion 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::AuthorShadowRoot && (!youngestShadowRoot() || younge
stShadowRoot()->type() == ShadowRoot::UserAgentShadowRoot)) |
| 151 shadowHost.willAddFirstAuthorShadowRoot(); | 151 shadowHost.willAddFirstAuthorShadowRoot(); |
| 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); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 visitor->trace(m_nodeToInsertionPoints); | 361 visitor->trace(m_nodeToInsertionPoints); |
| 362 visitor->trace(m_selectFeatures); | 362 visitor->trace(m_selectFeatures); |
| 363 // Shadow roots are linked with previous and next pointers which are traced. | 363 // Shadow roots are linked with previous and next pointers which are traced. |
| 364 // It is therefore enough to trace one of the shadow roots here and the | 364 // It is therefore enough to trace one of the shadow roots here and the |
| 365 // rest will be traced from there. | 365 // rest will be traced from there. |
| 366 visitor->trace(m_shadowRoots.head()); | 366 visitor->trace(m_shadowRoots.head()); |
| 367 #endif | 367 #endif |
| 368 } | 368 } |
| 369 | 369 |
| 370 } // namespace | 370 } // namespace |
| OLD | NEW |