12011-06-07 Roland Steiner <rolandsteiner@chromium.org>
2
3 Reviewed by NOBODY (OOPS!).
4
5 Bug 49142 - Implement HTML5 style scoped attribute
6 https://bugs.webkit.org/show_bug.cgi?id=49142
7
8 Add a new map to RuleSet that contains rules from <style scoped> elements.
9 Add plumbing to register and unregister <style scoped> elements from their parents.
10 Extend rule matching for scoped style rules.
11
12 No new tests. (OOPS!)
13
14 * WebCore.xcodeproj/project.pbxproj:
15 * css/CSSStyleSelector.cpp:
16 (WebCore::RuleSet::getIDRules):
17 (WebCore::RuleSet::getClassRules):
18 (WebCore::RuleSet::getTagRules):
19 (WebCore::RuleSet::getPseudoRules):
20 (WebCore::RuleSet::getUniversalRules):
21 (WebCore::RuleSet::getPageRules):
22 (WebCore::RuleSet::scopedRules):
23 (WebCore::CSSStyleSelector::pushParentStackFrame):
24 (WebCore::CSSStyleSelector::matchRules):
25 (WebCore::CSSStyleSelector::fastStyleSheetScopeIsAnAncestor):
26 (WebCore::CSSStyleSelector::slowStyleSheetScopeIsAnAncestor):
27 (WebCore::matchesInTreeScope):
28 (WebCore::CSSStyleSelector::matchRulesForList):
29 (WebCore::RuleData::RuleData):
30 (WebCore::RuleSet::addToRuleSet):
31 (WebCore::RuleSet::addRule):
32 (WebCore::RuleSet::determineRulesScope):
33 (WebCore::RuleSet::addRulesFromSheet):
34 (WebCore::RuleSet::addStyleRule):
35 (WebCore::collectFeaturesFromList):
36 (WebCore::RuleSet::collectFeatures):
37 (WebCore::CSSStyleSelector::matchPageRulesForList):
38 * css/CSSStyleSelector.h:
39 (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
40 * css/CSSStyleSheet.cpp:
41 (WebCore::CSSStyleSheet::findOwnerNode):
42 (WebCore::CSSStyleSheet::document):
43 * css/CSSStyleSheet.h:
44 * dom/ContainerNode.h:
45 (WebCore::ContainerNode::registerScopedHTMLStyleChild):
46 (WebCore::ContainerNode::unregisterScopedHTMLStyleChild):
47 (WebCore::ContainerNode::hasScopedHTMLStyleChild):
48 * dom/Element.cpp:
49 (WebCore::Element::registerScopedHTMLStyleChild):
50 (WebCore::Element::unregisterScopedHTMLStyleChild):
51 (WebCore::Element::hasScopedHTMLStyleChild):
52 * dom/Element.h:
53 * dom/ElementRareData.h:
54 (WebCore::ElementRareData::ElementRareData):
55 (WebCore::ElementRareData::registerScopedHTMLStyleChild):
56 (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
57 (WebCore::ElementRareData::hasScopedHTMLStyleChild):
58 * dom/ShadowRoot.h:
59 (WebCore::ShadowRoot::registerScopedHTMLStyleChild):
60 (WebCore::ShadowRoot::unregisterScopedHTMLStyleChild):
61 (WebCore::ShadowRoot::hasScopedHTMLStyleChild):
62 * html/HTMLAttributeNames.in:
63 * html/HTMLStyleElement.cpp:
64 (WebCore::HTMLStyleElement::insertedIntoDocument):
65 (WebCore::HTMLStyleElement::willRemove):
66 (WebCore::HTMLStyleElement::scoped):
67 * html/HTMLStyleElement.h:
68