Index: third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp |
diff --git a/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp |
index ed5a1335ce325f48e202737bed9fac3eb0d07d91..37199c58ed05d222faa1e9b31a04970a03accbb4 100644 |
--- a/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp |
+++ b/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp |
@@ -79,9 +79,13 @@ class FrameSerializerTest : public testing::Test, |
void setRewriteURLFolder(const char* folder) { m_rewriteFolder = folder; } |
+ void registerURL(const KURL& url, const char* file, const char* mimeType) { |
+ registerMockedURLLoad(url, WebString::fromUTF8(file), m_folder, |
+ WebString::fromUTF8(mimeType)); |
+ } |
+ |
void registerURL(const char* url, const char* file, const char* mimeType) { |
- registerMockedURLLoad(KURL(m_baseUrl, url), WebString::fromUTF8(file), |
- m_folder, WebString::fromUTF8(mimeType)); |
+ registerURL(KURL(m_baseUrl, url), file, mimeType); |
} |
void registerURL(const char* file, const char* mimeType) { |
@@ -105,6 +109,10 @@ class FrameSerializerTest : public testing::Test, |
m_rewriteURLs.add(fromURL, toURL); |
} |
+ void registerSkipURL(const char* url) { |
+ m_skipURLs.append(KURL(m_baseUrl, url)); |
+ } |
+ |
void serialize(const char* url) { |
FrameTestHelpers::loadFrame(m_helper.webView()->mainFrame(), |
KURL(m_baseUrl, url).getString().utf8().data()); |
@@ -119,9 +127,7 @@ class FrameSerializerTest : public testing::Test, |
Vector<SerializedResource>& getResources() { return m_resources; } |
- const SerializedResource* getResource(const char* urlString, |
- const char* mimeType) { |
- const KURL url(m_baseUrl, urlString); |
+ const SerializedResource* getResource(const KURL& url, const char* mimeType) { |
String mime(mimeType); |
for (size_t i = 0; i < m_resources.size(); ++i) { |
const SerializedResource& resource = m_resources[i]; |
@@ -132,6 +138,12 @@ class FrameSerializerTest : public testing::Test, |
return nullptr; |
} |
+ const SerializedResource* getResource(const char* urlString, |
+ const char* mimeType) { |
+ const KURL url(m_baseUrl, urlString); |
+ return getResource(url, mimeType); |
+ } |
+ |
bool isSerialized(const char* url, const char* mimeType = 0) { |
return getResource(url, mimeType); |
} |
@@ -171,11 +183,16 @@ class FrameSerializerTest : public testing::Test, |
return true; |
} |
+ bool shouldSkipResourceWithURL(const KURL& url) { |
+ return m_skipURLs.contains(url); |
+ } |
+ |
FrameTestHelpers::WebViewHelper m_helper; |
WebString m_folder; |
KURL m_baseUrl; |
Vector<SerializedResource> m_resources; |
HashMap<String, String> m_rewriteURLs; |
+ Vector<String> m_skipURLs; |
String m_rewriteFolder; |
}; |
@@ -336,11 +353,19 @@ TEST_F(FrameSerializerTest, CSS) { |
registerURL("ul-dot.png", "image.png", "image/png"); |
registerURL("ol-dot.png", "image.png", "image/png"); |
+ const KURL imageUrlFromDataUrl(toKURL("http://www.dataurl.com"), |
+ "fuchsia_background.png"); |
+ registerURL(imageUrlFromDataUrl, "image.png", "image/png"); |
+ |
+ registerURL("included_in_another_frame.css", "text/css"); |
+ registerSkipURL("included_in_another_frame.css"); |
+ |
serialize("css_test_page.html"); |
- EXPECT_EQ(15U, getResources().size()); |
+ EXPECT_EQ(16U, getResources().size()); |
EXPECT_FALSE(isSerialized("do_not_serialize.png", "image/png")); |
+ EXPECT_FALSE(isSerialized("included_in_another_frame.css", "text/css")); |
EXPECT_TRUE(isSerialized("css_test_page.html", "text/html")); |
EXPECT_TRUE(isSerialized("link_styles.css", "text/css")); |
@@ -358,6 +383,8 @@ TEST_F(FrameSerializerTest, CSS) { |
EXPECT_TRUE(isSerialized("ul-dot.png", "image/png")); |
EXPECT_TRUE(isSerialized("ol-dot.png", "image/png")); |
+ EXPECT_TRUE(getResource(imageUrlFromDataUrl, "image/png")); |
+ |
// Ensure encodings are specified. |
EXPECT_TRUE( |
getSerializedData("link_styles.css", "text/css").startsWith("@charset")); |