| Index: sky/engine/core/dom/shadow/ShadowRoot.cpp
|
| diff --git a/sky/engine/core/dom/shadow/ShadowRoot.cpp b/sky/engine/core/dom/shadow/ShadowRoot.cpp
|
| index 0faf6614c561d4a2cd9a734b6fddee1ba233ec1b..f2084717f2611d634fab3b1abd9a182f5df1dc5c 100644
|
| --- a/sky/engine/core/dom/shadow/ShadowRoot.cpp
|
| +++ b/sky/engine/core/dom/shadow/ShadowRoot.cpp
|
| @@ -29,6 +29,7 @@
|
|
|
| #include "sky/engine/bindings/core/v8/ExceptionState.h"
|
| #include "sky/engine/core/css/resolver/StyleResolver.h"
|
| +#include "sky/engine/core/dom/Document.h"
|
| #include "sky/engine/core/dom/ElementTraversal.h"
|
| #include "sky/engine/core/dom/StyleEngine.h"
|
| #include "sky/engine/core/dom/Text.h"
|
| @@ -112,6 +113,9 @@ void ShadowRoot::insertedInto(ContainerNode* insertionPoint)
|
| {
|
| DocumentFragment::insertedInto(insertionPoint);
|
|
|
| + if (inActiveDocument())
|
| + document().styleEngine()->addTreeScope(*this);
|
| +
|
| if (ShadowRoot* root = host()->containingShadowRoot())
|
| root->addChildShadowRoot();
|
| }
|
| @@ -124,6 +128,9 @@ void ShadowRoot::removedFrom(ContainerNode* insertionPoint)
|
| if (root)
|
| root->removeChildShadowRoot();
|
|
|
| + if (inActiveDocument())
|
| + document().styleEngine()->removeTreeScope(*this);
|
| +
|
| DocumentFragment::removedFrom(insertionPoint);
|
| }
|
|
|
|
|