Index: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
diff --git a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
index 57ae8dea3348a3cfbe41ae484093189103aced6d..2622ea588061ab9126ebf9ca2e47252448f757be 100644 |
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp |
@@ -644,10 +644,15 @@ Resource* ResourceFetcher::RequestResource( |
params.Options().initiator_info.name); |
} |
- // An URL with the "cid" scheme can only be handled by an MHTML Archive. |
- // Abort the request when there is none. |
- if (!archive_ && resource_request.Url().ProtocolIs(kContentIdScheme)) |
+ // A main resource request with the "cid" scheme can only be handled by an |
+ // MHTML Archive. Abort the request when there is none. |
+ // Note: There are some embedders of WebView that are using Content-ID |
+ // URLs for sub-resources, even without any MHTMLArchive. Please see |
Torne
2017/07/14 13:55:47
Just a note (don't expect you to change this CL fo
arthursonzogni
2017/07/17 10:58:15
Thanks for this information.
Without this check,
|
+ // https://crbug.com/739658. |
+ if (!archive_ && factory.GetType() == Resource::kMainResource && |
+ resource_request.Url().ProtocolIs(kContentIdScheme)) { |
return nullptr; |
+ } |
bool is_data_url = resource_request.Url().ProtocolIsData(); |
bool is_static_data = is_data_url || substitute_data.IsValid() || archive_; |