Title: [138658] trunk/Source/WebCore
Revision
138658
Author
aba...@webkit.org
Date
2013-01-02 15:06:14 -0800 (Wed, 02 Jan 2013)

Log Message

HTML preload scanner doesn't need to remember whether we're scanning the body
https://bugs.webkit.org/show_bug.cgi?id=105945

Reviewed by Eric Seidel.

As far as I can tell, no one uses this state.

* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::CSSPreloadScanner):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::PreloadTask::preload):
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
(WebCore::HTMLPreloadScanner::processToken):
* html/parser/HTMLPreloadScanner.h:
(HTMLPreloadScanner):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::preload):
* loader/cache/CachedResourceLoader.h:
(CachedResourceLoader):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (138657 => 138658)


--- trunk/Source/WebCore/ChangeLog	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/ChangeLog	2013-01-02 23:06:14 UTC (rev 138658)
@@ -1,3 +1,29 @@
+2013-01-02  Adam Barth  <aba...@webkit.org>
+
+        HTML preload scanner doesn't need to remember whether we're scanning the body
+        https://bugs.webkit.org/show_bug.cgi?id=105945
+
+        Reviewed by Eric Seidel.
+
+        As far as I can tell, no one uses this state.
+
+        * html/parser/CSSPreloadScanner.cpp:
+        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
+        (WebCore::CSSPreloadScanner::scan):
+        (WebCore::CSSPreloadScanner::emitRule):
+        * html/parser/CSSPreloadScanner.h:
+        (CSSPreloadScanner):
+        * html/parser/HTMLPreloadScanner.cpp:
+        (WebCore::PreloadTask::preload):
+        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
+        (WebCore::HTMLPreloadScanner::processToken):
+        * html/parser/HTMLPreloadScanner.h:
+        (HTMLPreloadScanner):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::preload):
+        * loader/cache/CachedResourceLoader.h:
+        (CachedResourceLoader):
+
 2013-01-02  Abhishek Arya  <infe...@chromium.org>
 
         Crash in WebCore::Element::cloneElementWithoutChildren.

Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp (138657 => 138658)


--- trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.cpp	2013-01-02 23:06:14 UTC (rev 138658)
@@ -40,7 +40,6 @@
 
 CSSPreloadScanner::CSSPreloadScanner(Document* document)
     : m_state(Initial)
-    , m_scanningBody(false)
     , m_document(document)
 {
 }
@@ -52,10 +51,8 @@
     m_ruleValue.clear();
 }
 
-void CSSPreloadScanner::scan(const HTMLToken& token, bool scanningBody)
+void CSSPreloadScanner::scan(const HTMLToken& token)
 {
-    m_scanningBody = scanningBody;
-
     const HTMLToken::DataVector& characters = token.characters();
     for (HTMLToken::DataVector::const_iterator iter = characters.begin(); iter != characters.end() && m_state != DoneParsingImportRules; ++iter)
         tokenize(*iter);
@@ -200,7 +197,7 @@
         if (!value.isEmpty()) {
             CachedResourceRequest request(ResourceRequest(m_document->completeURL(value)));
             request.setInitiator(cachedResourceRequestInitiators().css);
-            m_document->cachedResourceLoader()->preload(CachedResource::CSSStyleSheet, request, String(), m_scanningBody);
+            m_document->cachedResourceLoader()->preload(CachedResource::CSSStyleSheet, request, String());
         }
         m_state = Initial;
     } else if (equalIgnoringCase("charset", m_rule.characters(), m_rule.length()))

Modified: trunk/Source/WebCore/html/parser/CSSPreloadScanner.h (138657 => 138658)


--- trunk/Source/WebCore/html/parser/CSSPreloadScanner.h	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/html/parser/CSSPreloadScanner.h	2013-01-02 23:06:14 UTC (rev 138658)
@@ -40,7 +40,7 @@
     explicit CSSPreloadScanner(Document*);
 
     void reset();
-    void scan(const HTMLToken&, bool scanningBody);
+    void scan(const HTMLToken&);
 
 private:
     enum State {
@@ -63,7 +63,6 @@
     StringBuilder m_rule;
     StringBuilder m_ruleValue;
 
-    bool m_scanningBody;
     Document* m_document;
 };
 

Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp (138657 => 138658)


--- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.cpp	2013-01-02 23:06:14 UTC (rev 138658)
@@ -123,7 +123,7 @@
         m_urlToLoad = stripLeadingAndTrailingHTMLSpaces(attributeValue);
     }
 
-    void preload(Document* document, bool scanningBody, const KURL& baseURL)
+    void preload(Document* document, const KURL& baseURL)
     {
         if (m_urlToLoad.isEmpty())
             return;
@@ -133,12 +133,12 @@
         request.setInitiator(tagName());
         if (m_tagName == scriptTag) {
             request.mutableResourceRequest().setAllowCookies(crossOriginModeAllowsCookies());
-            cachedResourceLoader->preload(CachedResource::Script, request, m_charset, scanningBody);
+            cachedResourceLoader->preload(CachedResource::Script, request, m_charset);
         }
         else if (m_tagName == imgTag || (m_tagName == inputTag && m_inputIsImage))
-            cachedResourceLoader->preload(CachedResource::ImageResource, request, String(), scanningBody);
+            cachedResourceLoader->preload(CachedResource::ImageResource, request, String());
         else if (m_tagName == linkTag && m_linkIsStyleSheet && m_linkMediaAttributeIsScreen) 
-            cachedResourceLoader->preload(CachedResource::CSSStyleSheet, request, m_charset, scanningBody);
+            cachedResourceLoader->preload(CachedResource::CSSStyleSheet, request, m_charset);
     }
 
     const AtomicString& tagName() const { return m_tagName; }
@@ -165,7 +165,6 @@
     : m_document(document)
     , m_cssScanner(document)
     , m_tokenizer(HTMLTokenizer::create(HTMLDocumentParser::usePreHTML5ParserQuirks(document)))
-    , m_bodySeen(false)
     , m_inStyle(false)
 {
 }
@@ -192,7 +191,7 @@
 {
     if (m_inStyle) {
         if (m_token.type() == HTMLTokenTypes::Character)
-            m_cssScanner.scan(m_token, scanningBody());
+            m_cssScanner.scan(m_token);
         else if (m_token.type() == HTMLTokenTypes::EndTag) {
             m_inStyle = false;
             m_cssScanner.reset();
@@ -205,23 +204,15 @@
     PreloadTask task(m_token);
     m_tokenizer->updateStateFor(task.tagName(), m_document->frame());
 
-    if (task.tagName() == bodyTag)
-        m_bodySeen = true;
-
     if (task.tagName() == styleTag)
         m_inStyle = true;
 
     if (task.tagName() == baseTag)
         updatePredictedBaseElementURL(KURL(m_document->url(), task.baseElementHref()));
 
-    task.preload(m_document, scanningBody(), m_predictedBaseElementURL.isEmpty() ? m_document->baseURL() : m_predictedBaseElementURL);
+    task.preload(m_document, m_predictedBaseElementURL.isEmpty() ? m_document->baseURL() : m_predictedBaseElementURL);
 }
 
-bool HTMLPreloadScanner::scanningBody() const
-{
-    return m_document->body() || m_bodySeen;
-}
-
 void HTMLPreloadScanner::updatePredictedBaseElementURL(const KURL& baseElementURL)
 {
     // The first <base> element is the one that wins.

Modified: trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h (138657 => 138658)


--- trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/html/parser/HTMLPreloadScanner.h	2013-01-02 23:06:14 UTC (rev 138658)
@@ -48,7 +48,6 @@
 
 private:
     void processToken();
-    bool scanningBody() const;
     void updatePredictedBaseElementURL(const KURL& baseElementURL);
 
     Document* m_document;
@@ -56,7 +55,6 @@
     CSSPreloadScanner m_cssScanner;
     OwnPtr<HTMLTokenizer> m_tokenizer;
     HTMLToken m_token;
-    bool m_bodySeen;
     bool m_inStyle;
     KURL m_predictedBaseElementURL;
 };

Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (138657 => 138658)


--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp	2013-01-02 23:06:14 UTC (rev 138658)
@@ -790,11 +790,8 @@
     ASSERT(m_requestCount > -1);
 }
 
-void CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest& request, const String& charset, bool referencedFromBody)
+void CachedResourceLoader::preload(CachedResource::Type type, CachedResourceRequest& request, const String& charset)
 {
-    // FIXME: Rip this out when we are sure it is no longer necessary (even for mobile).
-    UNUSED_PARAM(referencedFromBody);
-
     bool delaySubresourceLoad = true;
 #if PLATFORM(IOS) || PLATFORM(CHROMIUM)
     delaySubresourceLoad = false;

Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (138657 => 138658)


--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h	2013-01-02 23:03:24 UTC (rev 138657)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h	2013-01-02 23:06:14 UTC (rev 138658)
@@ -130,7 +130,7 @@
     bool isPreloaded(const String& urlString) const;
     void clearPreloads();
     void clearPendingPreloads();
-    void preload(CachedResource::Type, CachedResourceRequest&, const String& charset, bool referencedFromBody);
+    void preload(CachedResource::Type, CachedResourceRequest&, const String& charset);
     void checkForPendingPreloads();
     void printPreloadStats();
     bool canRequest(CachedResource::Type, const KURL&, bool forPreload = false);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to