Title: [113016] trunk/Source/WebCore
Revision
113016
Author
[email protected]
Date
2012-04-03 05:11:05 -0700 (Tue, 03 Apr 2012)

Log Message

Simplify CSSStyleSelector constructor through the use of a helper function
https://bugs.webkit.org/show_bug.cgi?id=82940

Reviewed by Andreas Kling.

No behavior change, thus no tests.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore):
(WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
* css/CSSStyleSelector.h:
(CSSStyleSelector):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (113015 => 113016)


--- trunk/Source/WebCore/ChangeLog	2012-04-03 12:11:04 UTC (rev 113015)
+++ trunk/Source/WebCore/ChangeLog	2012-04-03 12:11:05 UTC (rev 113016)
@@ -1,3 +1,19 @@
+2012-04-03  Eric Seidel  <[email protected]>
+
+        Simplify CSSStyleSelector constructor through the use of a helper function
+        https://bugs.webkit.org/show_bug.cgi?id=82940
+
+        Reviewed by Andreas Kling.
+
+        No behavior change, thus no tests.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::CSSStyleSelector):
+        (WebCore):
+        (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
+        * css/CSSStyleSelector.h:
+        (CSSStyleSelector):
+
 2012-04-03  Yury Semikhatsky  <[email protected]>
 
         Web Inspector: Database::Database::id field in the protocol should have type integer not string

Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (113015 => 113016)


--- trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-04-03 12:11:04 UTC (rev 113015)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-04-03 12:11:05 UTC (rev 113016)
@@ -401,25 +401,8 @@
     OwnPtr<RuleSet> tempUserStyle = RuleSet::create();
     if (CSSStyleSheet* pageUserSheet = document->pageUserSheet())
         tempUserStyle->addRulesFromSheet(pageUserSheet, *m_medium, this);
-    if (const Vector<RefPtr<CSSStyleSheet> >* pageGroupUserSheets = document->pageGroupUserSheets()) {
-        unsigned length = pageGroupUserSheets->size();
-        for (unsigned i = 0; i < length; i++) {
-            if (pageGroupUserSheets->at(i)->isUserStyleSheet())
-                tempUserStyle->addRulesFromSheet(pageGroupUserSheets->at(i).get(), *m_medium, this);
-            else
-                m_authorStyle->addRulesFromSheet(pageGroupUserSheets->at(i).get(), *m_medium, this);
-        }
-    }
-    if (const Vector<RefPtr<CSSStyleSheet> >* documentUserSheets = document->documentUserSheets()) {
-        unsigned length = documentUserSheets->size();
-        for (unsigned i = 0; i < length; i++) {
-            if (documentUserSheets->at(i)->isUserStyleSheet())
-                tempUserStyle->addRulesFromSheet(documentUserSheets->at(i).get(), *m_medium, this);
-            else
-                m_authorStyle->addRulesFromSheet(documentUserSheets->at(i).get(), *m_medium, this);
-        }
-    }
-
+    addAuthorRulesAndCollectUserRulesFromSheets(document->pageGroupUserSheets(), *tempUserStyle);
+    addAuthorRulesAndCollectUserRulesFromSheets(document->documentUserSheets(), *tempUserStyle);
     if (tempUserStyle->m_ruleCount > 0 || tempUserStyle->m_pageRules.size() > 0)
         m_userStyle = tempUserStyle.release();
 
@@ -434,7 +417,22 @@
 
     appendAuthorStylesheets(0, document->styleSheets()->vector());
 }
-    
+
+void CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets(const Vector<RefPtr<CSSStyleSheet> >* userSheets, RuleSet& userStyle)
+{
+    if (!userSheets)
+        return;
+
+    unsigned length = userSheets->size();
+    for (unsigned i = 0; i < length; i++) {
+        const RefPtr<CSSStyleSheet>& sheet = userSheets->at(i);
+        if (sheet->isUserStyleSheet())
+            userStyle.addRulesFromSheet(sheet.get(), *m_medium, this);
+        else
+            m_authorStyle->addRulesFromSheet(sheet.get(), *m_medium, this);
+    }
+}
+
 static PassOwnPtr<RuleSet> makeRuleSet(const Vector<CSSStyleSelector::RuleFeature>& rules)
 {
     size_t size = rules.size();

Modified: trunk/Source/WebCore/css/CSSStyleSelector.h (113015 => 113016)


--- trunk/Source/WebCore/css/CSSStyleSelector.h	2012-04-03 12:11:04 UTC (rev 113015)
+++ trunk/Source/WebCore/css/CSSStyleSelector.h	2012-04-03 12:11:05 UTC (rev 113016)
@@ -399,6 +399,8 @@
 private:
     static RenderStyle* s_styleNotYetAvailable;
 
+    void addAuthorRulesAndCollectUserRulesFromSheets(const Vector<RefPtr<CSSStyleSheet> >*, RuleSet& userStyle);
+
     void cacheBorderAndBackground();
 
     void mapFillAttachment(CSSPropertyID, FillLayer*, CSSValue*);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to