OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013, Opera Software ASA. All rights reserved. | 2 * Copyright (c) 2013, Opera Software ASA. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 response.setHTTPStatusCode(statusCode); | 98 response.setHTTPStatusCode(statusCode); |
99 | 99 |
100 Platform::current()->getURLLoaderMockFactory()->registerErrorURL( | 100 Platform::current()->getURLLoaderMockFactory()->registerErrorURL( |
101 KURL(m_baseUrl, file), response, error); | 101 KURL(m_baseUrl, file), response, error); |
102 } | 102 } |
103 | 103 |
104 void registerRewriteURL(const char* fromURL, const char* toURL) { | 104 void registerRewriteURL(const char* fromURL, const char* toURL) { |
105 m_rewriteURLs.add(fromURL, toURL); | 105 m_rewriteURLs.add(fromURL, toURL); |
106 } | 106 } |
107 | 107 |
| 108 void registerSkipURL(const char* url) { |
| 109 m_skipURLs.append(KURL(m_baseUrl, url)); |
| 110 } |
| 111 |
108 void serialize(const char* url) { | 112 void serialize(const char* url) { |
109 FrameTestHelpers::loadFrame(m_helper.webView()->mainFrame(), | 113 FrameTestHelpers::loadFrame(m_helper.webView()->mainFrame(), |
110 KURL(m_baseUrl, url).getString().utf8().data()); | 114 KURL(m_baseUrl, url).getString().utf8().data()); |
111 FrameSerializer serializer(m_resources, *this); | 115 FrameSerializer serializer(m_resources, *this); |
112 Frame* frame = m_helper.webView()->mainFrameImpl()->frame(); | 116 Frame* frame = m_helper.webView()->mainFrameImpl()->frame(); |
113 for (; frame; frame = frame->tree().traverseNext()) { | 117 for (; frame; frame = frame->tree().traverseNext()) { |
114 // This is safe, because tests do not do cross-site navigation | 118 // This is safe, because tests do not do cross-site navigation |
115 // (and therefore don't have remote frames). | 119 // (and therefore don't have remote frames). |
116 serializer.serializeFrame(*toLocalFrame(frame)); | 120 serializer.serializeFrame(*toLocalFrame(frame)); |
117 } | 121 } |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 return false; | 168 return false; |
165 | 169 |
166 StringBuilder uriBuilder; | 170 StringBuilder uriBuilder; |
167 uriBuilder.append(m_rewriteFolder); | 171 uriBuilder.append(m_rewriteFolder); |
168 uriBuilder.append('/'); | 172 uriBuilder.append('/'); |
169 uriBuilder.append(m_rewriteURLs.get(completeURL)); | 173 uriBuilder.append(m_rewriteURLs.get(completeURL)); |
170 rewrittenLink = uriBuilder.toString(); | 174 rewrittenLink = uriBuilder.toString(); |
171 return true; | 175 return true; |
172 } | 176 } |
173 | 177 |
| 178 bool shouldSkipResourceWithURL(const KURL& url) { |
| 179 return m_skipURLs.contains(url); |
| 180 } |
| 181 |
174 FrameTestHelpers::WebViewHelper m_helper; | 182 FrameTestHelpers::WebViewHelper m_helper; |
175 WebString m_folder; | 183 WebString m_folder; |
176 KURL m_baseUrl; | 184 KURL m_baseUrl; |
177 Vector<SerializedResource> m_resources; | 185 Vector<SerializedResource> m_resources; |
178 HashMap<String, String> m_rewriteURLs; | 186 HashMap<String, String> m_rewriteURLs; |
| 187 Vector<String> m_skipURLs; |
179 String m_rewriteFolder; | 188 String m_rewriteFolder; |
180 }; | 189 }; |
181 | 190 |
182 TEST_F(FrameSerializerTest, HTMLElements) { | 191 TEST_F(FrameSerializerTest, HTMLElements) { |
183 setBaseFolder("frameserializer/elements/"); | 192 setBaseFolder("frameserializer/elements/"); |
184 | 193 |
185 registerURL("elements.html", "text/html"); | 194 registerURL("elements.html", "text/html"); |
186 registerURL("style.css", "style.css", "text/css"); | 195 registerURL("style.css", "style.css", "text/css"); |
187 registerURL("copyright.html", "empty.txt", "text/html"); | 196 registerURL("copyright.html", "empty.txt", "text/html"); |
188 registerURL("script.js", "empty.txt", "text/javascript"); | 197 registerURL("script.js", "empty.txt", "text/javascript"); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 registerURL("orange_background.png", "image.png", "image/png"); | 338 registerURL("orange_background.png", "image.png", "image/png"); |
330 registerURL("yellow_background.png", "image.png", "image/png"); | 339 registerURL("yellow_background.png", "image.png", "image/png"); |
331 registerURL("green_background.png", "image.png", "image/png"); | 340 registerURL("green_background.png", "image.png", "image/png"); |
332 registerURL("blue_background.png", "image.png", "image/png"); | 341 registerURL("blue_background.png", "image.png", "image/png"); |
333 registerURL("purple_background.png", "image.png", "image/png"); | 342 registerURL("purple_background.png", "image.png", "image/png"); |
334 registerURL("pink_background.png", "image.png", "image/png"); | 343 registerURL("pink_background.png", "image.png", "image/png"); |
335 registerURL("brown_background.png", "image.png", "image/png"); | 344 registerURL("brown_background.png", "image.png", "image/png"); |
336 registerURL("ul-dot.png", "image.png", "image/png"); | 345 registerURL("ul-dot.png", "image.png", "image/png"); |
337 registerURL("ol-dot.png", "image.png", "image/png"); | 346 registerURL("ol-dot.png", "image.png", "image/png"); |
338 | 347 |
| 348 registerURL("included_in_another_frame.css", "text/css"); |
| 349 registerSkipURL("included_in_another_frame.css"); |
| 350 |
339 serialize("css_test_page.html"); | 351 serialize("css_test_page.html"); |
340 | 352 |
341 EXPECT_EQ(15U, getResources().size()); | 353 EXPECT_EQ(15U, getResources().size()); |
342 | 354 |
343 EXPECT_FALSE(isSerialized("do_not_serialize.png", "image/png")); | 355 EXPECT_FALSE(isSerialized("do_not_serialize.png", "image/png")); |
| 356 EXPECT_FALSE(isSerialized("included_in_another_frame.css", "text/css")); |
344 | 357 |
345 EXPECT_TRUE(isSerialized("css_test_page.html", "text/html")); | 358 EXPECT_TRUE(isSerialized("css_test_page.html", "text/html")); |
346 EXPECT_TRUE(isSerialized("link_styles.css", "text/css")); | 359 EXPECT_TRUE(isSerialized("link_styles.css", "text/css")); |
347 EXPECT_TRUE(isSerialized("encoding.css", "text/css")); | 360 EXPECT_TRUE(isSerialized("encoding.css", "text/css")); |
348 EXPECT_TRUE(isSerialized("import_styles.css", "text/css")); | 361 EXPECT_TRUE(isSerialized("import_styles.css", "text/css")); |
349 EXPECT_TRUE(isSerialized("import_style_from_link.css", "text/css")); | 362 EXPECT_TRUE(isSerialized("import_style_from_link.css", "text/css")); |
350 EXPECT_TRUE(isSerialized("red_background.png", "image/png")); | 363 EXPECT_TRUE(isSerialized("red_background.png", "image/png")); |
351 EXPECT_TRUE(isSerialized("orange_background.png", "image/png")); | 364 EXPECT_TRUE(isSerialized("orange_background.png", "image/png")); |
352 EXPECT_TRUE(isSerialized("yellow_background.png", "image/png")); | 365 EXPECT_TRUE(isSerialized("yellow_background.png", "image/png")); |
353 EXPECT_TRUE(isSerialized("green_background.png", "image/png")); | 366 EXPECT_TRUE(isSerialized("green_background.png", "image/png")); |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 KURL(ParsedURLString, "http://foo.com?--"))); | 539 KURL(ParsedURLString, "http://foo.com?--"))); |
527 EXPECT_EQ("saved from url=(0020)http://foo.com/#-%2D", | 540 EXPECT_EQ("saved from url=(0020)http://foo.com/#-%2D", |
528 FrameSerializer::markOfTheWebDeclaration( | 541 FrameSerializer::markOfTheWebDeclaration( |
529 KURL(ParsedURLString, "http://foo.com#--"))); | 542 KURL(ParsedURLString, "http://foo.com#--"))); |
530 EXPECT_EQ("saved from url=(0026)http://foo.com/#bar-%2Dbaz", | 543 EXPECT_EQ("saved from url=(0026)http://foo.com/#bar-%2Dbaz", |
531 FrameSerializer::markOfTheWebDeclaration( | 544 FrameSerializer::markOfTheWebDeclaration( |
532 KURL(ParsedURLString, "http://foo.com#bar--baz"))); | 545 KURL(ParsedURLString, "http://foo.com#bar--baz"))); |
533 } | 546 } |
534 | 547 |
535 } // namespace blink | 548 } // namespace blink |
OLD | NEW |