Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Unified Diff: third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp

Issue 2247063002: Allow loading MHTML archive from content scheme (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Helper function and test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp
diff --git a/third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp b/third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp
index 26fe8ab4d8e1b3b88d67c43482a0c6c3288da1db..9131ef53a18073d115a005e10d464e09507419e3 100644
--- a/third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp
+++ b/third_party/WebKit/Source/platform/mhtml/MHTMLArchive.cpp
@@ -69,9 +69,9 @@ MHTMLArchive::MHTMLArchive()
MHTMLArchive* MHTMLArchive::create(const KURL& url, PassRefPtr<SharedBuffer> data)
{
- // MHTML pages can only be loaded from local URLs and http/https URLs.
+ // MHTML pages can only be loaded from local URLs, http/https URLs, and content URLs(Android specific).
// The latter is now allowed due to full sandboxing enforcement on MHTML pages.
- if (!SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()) && !url.protocolIsInHTTPFamily())
+ if (!SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()) && !url.protocolIsInHTTPFamily() && !canLoadContent(url))
jianli 2016/08/17 20:27:21 I think it would be better to move all these check
Vivian 2016/08/17 20:38:17 Done.
return nullptr;
MHTMLParser parser(data);
@@ -91,6 +91,14 @@ MHTMLArchive* MHTMLArchive::create(const KURL& url, PassRefPtr<SharedBuffer> dat
return archive;
}
+bool MHTMLArchive::canLoadContent(const KURL& url)
+{
+#if OS(ANDROID)
+ return url.protocolIs("content");
+#endif
+ return false;
+}
+
void MHTMLArchive::generateMHTMLHeader(
const String& boundary, const String& title, const String& mimeType,
SharedBuffer& outputBuffer)
« no previous file with comments | « third_party/WebKit/Source/platform/mhtml/MHTMLArchive.h ('k') | third_party/WebKit/Source/web/tests/MHTMLTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698