Title: [134008] trunk/Source/WebCore
Revision
134008
Author
[email protected]
Date
2012-11-08 22:17:31 -0800 (Thu, 08 Nov 2012)

Log Message

[Refactoring] Expose collectFeaturesFromSelector from RuleSet.cpp
https://bugs.webkit.org/show_bug.cgi?id=101692

Reviewed by Dimitri Glazkov.

We expose collectFeaturesFromSelector in RuleSet.cpp to use it for collecting ShadowDOM select attribute features.

No new tests, simple refactoring.

* css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::collectFeaturesFromSelector): Moved from RuleSet.cpp.
(WebCore):
* css/RuleFeature.h:
(WebCore):
(RuleFeatureSet):
* css/RuleSet.cpp:
(WebCore::collectFeaturesFromRuleData):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (134007 => 134008)


--- trunk/Source/WebCore/ChangeLog	2012-11-09 06:02:19 UTC (rev 134007)
+++ trunk/Source/WebCore/ChangeLog	2012-11-09 06:17:31 UTC (rev 134008)
@@ -1,3 +1,23 @@
+2012-11-08  Shinya Kawanaka  <[email protected]>
+
+        [Refactoring] Expose collectFeaturesFromSelector from RuleSet.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=101692
+
+        Reviewed by Dimitri Glazkov.
+
+        We expose collectFeaturesFromSelector in RuleSet.cpp to use it for collecting ShadowDOM select attribute features.
+
+        No new tests, simple refactoring.
+
+        * css/RuleFeature.cpp:
+        (WebCore::RuleFeatureSet::collectFeaturesFromSelector): Moved from RuleSet.cpp.
+        (WebCore):
+        * css/RuleFeature.h:
+        (WebCore):
+        (RuleFeatureSet):
+        * css/RuleSet.cpp:
+        (WebCore::collectFeaturesFromRuleData):
+
 2012-11-08  Robert Sesek  <[email protected]>
 
         Guard calls to WebKitSystemInterface media control drawing functions in RenderThemeMac with PLATFORM(MAC)

Modified: trunk/Source/WebCore/css/RuleFeature.cpp (134007 => 134008)


--- trunk/Source/WebCore/css/RuleFeature.cpp	2012-11-09 06:02:19 UTC (rev 134007)
+++ trunk/Source/WebCore/css/RuleFeature.cpp	2012-11-09 06:17:31 UTC (rev 134008)
@@ -29,6 +29,7 @@
 #include "config.h"
 #include "RuleFeature.h"
 
+#include "CSSSelector.h"
 #include "WebCoreMemoryInstrumentation.h"
 #include <wtf/MemoryInstrumentationHashMap.h>
 #include <wtf/MemoryInstrumentationHashSet.h>
@@ -36,6 +37,27 @@
 
 namespace WebCore {
 
+void RuleFeatureSet::collectFeaturesFromSelector(const CSSSelector* selector)
+{
+    if (selector->m_match == CSSSelector::Id)
+        idsInRules.add(selector->value().impl());
+    else if (selector->m_match == CSSSelector::Class)
+        classesInRules.add(selector->value().impl());
+    else if (selector->isAttributeSelector())
+        attrsInRules.add(selector->attribute().localName().impl());
+    switch (selector->pseudoType()) {
+    case CSSSelector::PseudoFirstLine:
+        usesFirstLineRules = true;
+        break;
+    case CSSSelector::PseudoBefore:
+    case CSSSelector::PseudoAfter:
+        usesBeforeAfterRules = true;
+        break;
+    default:
+        break;
+    }
+}
+
 void RuleFeatureSet::add(const RuleFeatureSet& other)
 {
     HashSet<AtomicStringImpl*>::const_iterator end = other.idsInRules.end();

Modified: trunk/Source/WebCore/css/RuleFeature.h (134007 => 134008)


--- trunk/Source/WebCore/css/RuleFeature.h	2012-11-09 06:02:19 UTC (rev 134007)
+++ trunk/Source/WebCore/css/RuleFeature.h	2012-11-09 06:17:31 UTC (rev 134008)
@@ -30,6 +30,7 @@
 namespace WebCore {
 
 class StyleRule;
+class CSSSelector;
 
 struct RuleFeature {
     RuleFeature(StyleRule* rule, unsigned selectorIndex, bool hasDocumentSecurityOrigin)
@@ -51,7 +52,11 @@
 
     void add(const RuleFeatureSet&);
     void clear();
+
+    void collectFeaturesFromSelector(const CSSSelector*);
+
     void reportMemoryUsage(MemoryObjectInfo*) const;
+
     HashSet<AtomicStringImpl*> idsInRules;
     HashSet<AtomicStringImpl*> classesInRules;
     HashSet<AtomicStringImpl*> attrsInRules;

Modified: trunk/Source/WebCore/css/RuleSet.cpp (134007 => 134008)


--- trunk/Source/WebCore/css/RuleSet.cpp	2012-11-09 06:02:19 UTC (rev 134007)
+++ trunk/Source/WebCore/css/RuleSet.cpp	2012-11-09 06:17:31 UTC (rev 134008)
@@ -157,38 +157,17 @@
     info.addMember(ruleSet);
 }
 
-static inline void collectFeaturesFromSelector(RuleFeatureSet& features, const CSSSelector* selector)
-{
-    if (selector->m_match == CSSSelector::Id)
-        features.idsInRules.add(selector->value().impl());
-    else if (selector->m_match == CSSSelector::Class)
-        features.classesInRules.add(selector->value().impl());
-    else if (selector->isAttributeSelector())
-        features.attrsInRules.add(selector->attribute().localName().impl());
-    switch (selector->pseudoType()) {
-    case CSSSelector::PseudoFirstLine:
-        features.usesFirstLineRules = true;
-        break;
-    case CSSSelector::PseudoBefore:
-    case CSSSelector::PseudoAfter:
-        features.usesBeforeAfterRules = true;
-        break;
-    default:
-        break;
-    }
-}
-
 static void collectFeaturesFromRuleData(RuleFeatureSet& features, const RuleData& ruleData)
 {
     bool foundSiblingSelector = false;
     for (CSSSelector* selector = ruleData.selector(); selector; selector = selector->tagHistory()) {
-        collectFeaturesFromSelector(features, selector);
+        features.collectFeaturesFromSelector(selector);
         
         if (CSSSelectorList* selectorList = selector->selectorList()) {
             for (CSSSelector* subSelector = selectorList->first(); subSelector; subSelector = CSSSelectorList::next(subSelector)) {
                 if (!foundSiblingSelector && selector->isSiblingSelector())
                     foundSiblingSelector = true;
-                collectFeaturesFromSelector(features, subSelector);
+                features.collectFeaturesFromSelector(subSelector);
             }
         } else if (!foundSiblingSelector && selector->isSiblingSelector())
             foundSiblingSelector = true;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to