12011-04-13 Roland Steiner <rolandsteiner@chromium.org>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
6 https://bugs.webkit.org/show_bug.cgi?id=52963
7
8 .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
9 .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
10 .) Merged setTreeScope() with setTreeScopeRecursively()
11 .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
12
13 No new tests. (No new functionality)
14
15 * dom/ContainerNode.cpp: call setTreeScopeRecursively() to update current containing scope
16 (WebCore::ContainerNode::removeAllChildren):
17 (WebCore::ContainerNode::takeAllChildrenFrom):
18 (WebCore::ContainerNode::removeBetween):
19 (WebCore::ContainerNode::removeChildren):
20 (WebCore::ContainerNode::parserAddChild):
21 * dom/Document.cpp:
22 (WebCore::Document::Document):
23 (WebCore::Document::~Document):
24 (WebCore::Document::removedLastRef):
25 (WebCore::Document::setDocType):
26 * dom/Document.h:
27 * dom/Element.h:
28 * dom/Node.cpp:
29 (WebCore::Node::treeScope):
30 (WebCore::Node::setTreeScopeRecursively): merge setTreeScope()
31 * dom/Node.h:
32 (WebCore::Node::document):
33 * dom/ShadowRoot.cpp:
34 (WebCore::ShadowRoot::ShadowRoot):
35 (WebCore::ShadowRoot::~ShadowRoot):
36 (WebCore::ShadowRoot::nodeName):
37 (WebCore::ShadowRoot::nodeType):
38 (WebCore::ShadowRoot::cloneNode):
39 (WebCore::ShadowRoot::childTypeAllowed):
40 * dom/ShadowRoot.h:
41 (WebCore::toShadowRoot):
42 * dom/TreeScope.cpp:
43 (WebCore::TreeScope::TreeScope):
44 (WebCore::TreeScope::setParentTreeScope):
45 * dom/TreeScope.h:
46 * rendering/RenderSlider.cpp:
47