| Index: third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
|
| diff --git a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
|
| index d196b2b19a0490179b782435e78aa8a9271ddcc6..3379845abfbe1e8253d3093dd35f01a253c1187d 100644
|
| --- a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
|
| +++ b/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
|
| @@ -198,10 +198,12 @@ class WebFrameSerializerSanitizationTest : public WebFrameSerializerTest {
|
|
|
| ~WebFrameSerializerSanitizationTest() override {}
|
|
|
| - String generateMHTMLParts(const String& url, const String& fileName) {
|
| + String generateMHTMLParts(const String& url,
|
| + const String& fileName,
|
| + const String& mimeType = "text/html") {
|
| KURL parsedURL(ParsedURLString, url);
|
| URLTestHelpers::registerMockedURLLoad(parsedURL, fileName,
|
| - "frameserialization/", "text/html");
|
| + "frameserialization/", mimeType);
|
| FrameTestHelpers::loadFrame(mainFrameImpl(), url.utf8().data());
|
| WebThreadSafeData result = WebFrameSerializer::generateMHTMLParts(
|
| WebString("boundary"), mainFrameImpl(), &m_mhtmlDelegate);
|
| @@ -274,4 +276,12 @@ TEST_F(WebFrameSerializerSanitizationTest, RemoveHiddenElements) {
|
| EXPECT_NE(WTF::kNotFound, mhtml.find("<div"));
|
| }
|
|
|
| +// Regression test for crbug.com/678893, where in some cases serializing an
|
| +// image document could cause code to pick an element from an empty container.
|
| +TEST_F(WebFrameSerializerSanitizationTest, FromBrokenImageDocument) {
|
| + String mhtml = generateMHTMLParts("http://www.test.com", "broken-image.png",
|
| + "image/png");
|
| + EXPECT_TRUE(mhtml.isEmpty());
|
| +}
|
| +
|
| } // namespace blink
|
|
|