Title: [121217] trunk/Source
Revision
121217
Author
[email protected]
Date
2012-06-25 19:52:11 -0700 (Mon, 25 Jun 2012)

Log Message

Unreviewed, rolling out r121206.
http://trac.webkit.org/changeset/121206
https://bugs.webkit.org/show_bug.cgi?id=89935

[chromium] webkit_unit_tests
WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
(Requested by ukai on #webkit).

Patch by Sheriff Bot <[email protected]> on 2012-06-25

Source/WebCore:

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit/chromium:

* tests/EventListenerTest.cpp:
* tests/FrameTestHelpers.cpp:
(WebKit::FrameTestHelpers::registerMockedURLLoad):
(WebKit::FrameTestHelpers::createWebViewAndLoad):
* tests/FrameTestHelpers.h:
(FrameTestHelpers):
* tests/ListenerLeakTest.cpp:
(WebKit::ListenerLeakTest::RunTest):
* tests/WebFrameTest.cpp:
(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):
* tests/WebViewTest.cpp:
(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (121216 => 121217)


--- trunk/Source/WebCore/ChangeLog	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebCore/ChangeLog	2012-06-26 02:52:11 UTC (rev 121217)
@@ -1,3 +1,16 @@
+2012-06-25  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r121206.
+        http://trac.webkit.org/changeset/121206
+        https://bugs.webkit.org/show_bug.cgi?id=89935
+
+        [chromium] webkit_unit_tests
+        WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
+        (Requested by ukai on #webkit).
+
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::scheduleArchiveLoad):
+
 2012-06-25  Anantanarayanan G Iyengar  <[email protected]>
 
         [chromium] Ensure that the compositor code which is aware of flipped status of video-textures

Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (121216 => 121217)


--- trunk/Source/WebCore/loader/DocumentLoader.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -689,9 +689,6 @@
 #endif
 #if ENABLE(MHTML)
     case Archive::MHTML:
-        // Schedule this loader without a resource so that resource completion/failure notifications are still fired (which will trigger a call to ResourceLoader.didFail).
-        m_pendingSubstituteResources.set(loader, 0);
-        deliverSubstituteResourcesAfterDelay();
         return true; // Always fail the load for resources not included in the MHTML.
 #endif
     default:

Modified: trunk/Source/WebKit/chromium/ChangeLog (121216 => 121217)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 02:52:11 UTC (rev 121217)
@@ -1,3 +1,29 @@
+2012-06-25  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r121206.
+        http://trac.webkit.org/changeset/121206
+        https://bugs.webkit.org/show_bug.cgi?id=89935
+
+        [chromium] webkit_unit_tests
+        WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
+        (Requested by ukai on #webkit).
+
+        * tests/EventListenerTest.cpp:
+        * tests/FrameTestHelpers.cpp:
+        (WebKit::FrameTestHelpers::registerMockedURLLoad):
+        (WebKit::FrameTestHelpers::createWebViewAndLoad):
+        * tests/FrameTestHelpers.h:
+        (FrameTestHelpers):
+        * tests/ListenerLeakTest.cpp:
+        (WebKit::ListenerLeakTest::RunTest):
+        * tests/WebFrameTest.cpp:
+        (WebKit::WebFrameTest::registerMockedHttpURLLoad):
+        (WebKit::WebFrameTest::registerMockedChromeURLLoad):
+        * tests/WebViewTest.cpp:
+        (WebKit::TEST_F):
+        (WebKit::WebViewTest::testAutoResize):
+        (WebKit::WebViewTest::testTextInputType):
+
 2012-06-25  Adam Barth  <[email protected]>
 
         [Chromium] Let the embedder override the max page scale factor set by the page

Modified: trunk/Source/WebKit/chromium/tests/EventListenerTest.cpp (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/EventListenerTest.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/EventListenerTest.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -78,7 +78,7 @@
         std::string baseURL("http://www.example.com/");
         std::string fileName("listener/mutation_event_listener.html");
         bool executeScript = true;
-        FrameTestHelpers::registerMockedURLLoadAsHTML(baseURL, fileName);
+        FrameTestHelpers::registerMockedURLLoad(baseURL, fileName);
         m_webView = FrameTestHelpers::createWebViewAndLoad(baseURL + fileName, executeScript);
     }
 

Modified: trunk/Source/WebKit/chromium/tests/FrameTestHelpers.cpp (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/FrameTestHelpers.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/FrameTestHelpers.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -46,16 +46,16 @@
 namespace WebKit {
 namespace FrameTestHelpers {
 
-
-void registerMockedURLLoad(const std::string& base, const std::string& fileName, const std::string& mimeType)
+void registerMockedURLLoad(const std::string& base, const std::string& fileName)
 {
-    registerMockedURLLoad(GURL(base + fileName), fileName, mimeType);
+    registerMockedURLLoad(GURL(base + fileName), fileName);
 }
 
-void registerMockedURLLoad(const GURL& url, const std::string& fileName, const std::string& mimeType)
+void registerMockedURLLoad(GURL url, const std::string& fileName)
 {
-    WebURLResponse response(url);
-    response.setMIMEType(WebString::fromUTF8(mimeType));
+    WebURLResponse response;
+    response.initialize();
+    response.setMIMEType("text/html");
 
     std::string filePath = webkit_support::GetWebKitRootDir().utf8();
     filePath += "/Source/WebKit/chromium/tests/data/";
@@ -64,16 +64,6 @@
     webkit_support::RegisterMockedURL(url, response, WebString::fromUTF8(filePath));
 }
 
-void registerMockedURLLoadAsHTML(const std::string& base, const std::string& fileName)
-{
-    registerMockedURLLoadAsHTML(GURL(base + fileName), fileName);
-}
-
-void registerMockedURLLoadAsHTML(const GURL& url, const std::string& fileName)
-{
-    registerMockedURLLoad(url, fileName, "text/html");
-}
-
 void loadFrame(WebFrame* frame, const std::string& url)
 {
     WebURLRequest urlRequest;
@@ -107,8 +97,6 @@
     if (!webViewClient)
         webViewClient = defaultWebViewClient();
     WebView* webView = WebView::create(webViewClient);
-    webView->settings()->setImagesEnabled(true);
-    webView->settings()->setLoadsImagesAutomatically(true);
     webView->settings()->setJavaScriptEnabled(enableJavascript);
     webView->initializeMainFrame(webFrameClient);
 

Modified: trunk/Source/WebKit/chromium/tests/FrameTestHelpers.h (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/FrameTestHelpers.h	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/FrameTestHelpers.h	2012-06-26 02:52:11 UTC (rev 121217)
@@ -44,11 +44,9 @@
 
 namespace FrameTestHelpers {
 
-void registerMockedURLLoadAsHTML(const std::string& base, const std::string& fileName);
+void registerMockedURLLoad(const std::string& base, const std::string& fileName);
 // Like the previous overload, but it allows more flexibility in the url since it is given by the caller.
-void registerMockedURLLoadAsHTML(const GURL&, const std::string& fileName);
-void registerMockedURLLoad(const std::string& base, const std::string& fileName, const std::string& mimeType);
-void registerMockedURLLoad(const GURL&, const std::string& fileName, const std::string& mimeType);
+void registerMockedURLLoad(GURL, const std::string& fileName);
 
 void loadFrame(WebFrame*, const std::string& url);
 

Modified: trunk/Source/WebKit/chromium/tests/ListenerLeakTest.cpp (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/ListenerLeakTest.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/ListenerLeakTest.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -90,7 +90,7 @@
         std::string baseURL("http://www.example.com/");
         std::string fileName(filename);
         bool executeScript = true;
-        FrameTestHelpers::registerMockedURLLoadAsHTML(baseURL, fileName);
+        FrameTestHelpers::registerMockedURLLoad(baseURL, fileName);
         m_webView = FrameTestHelpers::createWebViewAndLoad(baseURL + fileName, executeScript);
     }
 

Modified: trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/WebFrameTest.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -73,12 +73,12 @@
 
     void registerMockedHttpURLLoad(const std::string& fileName)
     {
-        FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, fileName);
+        FrameTestHelpers::registerMockedURLLoad(m_baseURL, fileName);
     }
 
     void registerMockedChromeURLLoad(const std::string& fileName)
     {
-        FrameTestHelpers::registerMockedURLLoadAsHTML(m_chromeURL, fileName);
+        FrameTestHelpers::registerMockedURLLoad(m_chromeURL, fileName);
     }
 
 protected:

Modified: trunk/Source/WebKit/chromium/tests/WebViewTest.cpp (121216 => 121217)


--- trunk/Source/WebKit/chromium/tests/WebViewTest.cpp	2012-06-26 02:28:35 UTC (rev 121216)
+++ trunk/Source/WebKit/chromium/tests/WebViewTest.cpp	2012-06-26 02:52:11 UTC (rev 121217)
@@ -117,7 +117,7 @@
 
 TEST_F(WebViewTest, FocusIsInactive)
 {
-    FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, "visible_iframe.html");
+    FrameTestHelpers::registerMockedURLLoad(m_baseURL, "visible_iframe.html");
     WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visible_iframe.html");
 
     webView->setFocus(true);
@@ -145,7 +145,7 @@
 
 TEST_F(WebViewTest, ActiveState)
 {
-    FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, "visible_iframe.html");
+    FrameTestHelpers::registerMockedURLLoad(m_baseURL, "visible_iframe.html");
     WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "visible_iframe.html");
 
     ASSERT_TRUE(webView);
@@ -169,7 +169,7 @@
 {
     AutoResizeWebViewClient client;
     std::string url = "" + "specify_size.html?" + pageWidth + ":" + pageHeight;
-    FrameTestHelpers::registerMockedURLLoadAsHTML(GURL(url), "specify_size.html");
+    FrameTestHelpers::registerMockedURLLoad(GURL(url), "specify_size.html");
     WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true, 0, &client);
     client.testData().setWebView(webView);
 
@@ -268,7 +268,7 @@
 
 void WebViewTest::testTextInputType(WebTextInputType expectedType, const std::string& htmlFile)
 {
-    FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, htmlFile);
+    FrameTestHelpers::registerMockedURLLoad(m_baseURL, htmlFile);
     WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + htmlFile);
     webView->setInitialFocus(false);
     EXPECT_EQ(expectedType, webView->textInputType());
@@ -308,7 +308,7 @@
 
 TEST_F(WebViewTest, SetEditableSelectionOffsets)
 {
-    FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, "input_field_populated.html");
+    FrameTestHelpers::registerMockedURLLoad(m_baseURL, "input_field_populated.html");
     WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "input_field_populated.html");
     webView->setInitialFocus(false);
     webView->setEditableSelectionOffsets(5, 13);
@@ -316,7 +316,7 @@
     EXPECT_EQ("56789abc", frame->selectionAsText());
     webView->close();
 
-    FrameTestHelpers::registerMockedURLLoadAsHTML(m_baseURL, "content_editable_populated.html");
+    FrameTestHelpers::registerMockedURLLoad(m_baseURL, "content_editable_populated.html");
     webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_editable_populated.html");
     webView->setInitialFocus(false);
     webView->setEditableSelectionOffsets(8, 19);
@@ -325,42 +325,4 @@
     webView->close();
 }
 
-class TestWebViewClient : public WebViewClient {
-public:
-    TestWebViewClient() : m_didStartLoading(false), m_didStopLoading(false), m_loadProgress(0) { }
-    virtual void didStartLoading() { m_didStartLoading = true; }
-    virtual void didStopLoading() { m_didStopLoading = true; }
-    virtual void didChangeLoadProgress(WebFrame*, double loadProgress) { m_loadProgress = loadProgress; }
-
-    bool loadingStarted() const { return m_didStartLoading; }
-    bool loadingStopped() const { return m_didStopLoading; }
-    double loadProgress() const { return m_loadProgress; }
-
-private:
-    bool m_didStartLoading;
-    bool m_didStopLoading;
-    double m_loadProgress;
-};
-
-TEST_F(WebViewTest, MHTMLWithMissingResourceFinishesLoading)
-{
-    TestWebViewClient webViewClient;
-
-    std::string fileName = "page_with_image.mht";
-    std::string fileDir = webkit_support::GetWebKitRootDir().utf8();
-    fileDir.append("/Source/WebKit/chromium/tests/data/");
-    // Making file loading works in unit-tests would require some additional work.
-    // Mocking them as regular URLs works fine in the meantime.
-    FrameTestHelpers::registerMockedURLLoad("file://" + fileDir, fileName, "multipart/related");
-    WebView* webView = FrameTestHelpers::createWebViewAndLoad("file://" + fileDir + fileName, true, 0, &webViewClient);
-    webkit_support::RunAllPendingMessages();
-
-    EXPECT_TRUE(webViewClient.loadingStarted());
-    EXPECT_TRUE(webViewClient.loadingStopped());
-    EXPECT_EQ(1.0, webViewClient.loadProgress());
-
-    // Close the WebView after checking the loading state and progress, as the close() call triggers a stop loading callback.
-    webView->close();
 }
-
-}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to