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

Unified Diff: third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp

Issue 2816403002: test all
Patch Set: fix sharedworker Created 3 years, 8 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/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 1816f8d687c68baf6db35b3566b50c292c224325..2b2264e23d2e52e9df496f49b52637946fd87aef 100644
--- a/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp
@@ -421,8 +421,9 @@ Resource* ResourceFetcher::ResourceForStaticData(
response.SetTextEncodingName(archive_resource->TextEncoding());
}
- Resource* resource = factory.Create(params.GetResourceRequest(),
- params.Options(), params.Charset());
+ Resource* resource =
+ factory.Create(params.GetResourceRequest(), params.Options(),
+ params.Charset(), &Context());
resource->SetNeedsSynchronousCacheHit(substitute_data.ForceSynchronousLoad());
// FIXME: We should provide a body stream here.
resource->ResponseReceived(response, nullptr);
@@ -443,8 +444,9 @@ Resource* ResourceFetcher::ResourceForBlockedRequest(
const FetchParameters& params,
const ResourceFactory& factory,
ResourceRequestBlockedReason blocked_reason) {
- Resource* resource = factory.Create(params.GetResourceRequest(),
- params.Options(), params.Charset());
+ Resource* resource =
+ factory.Create(params.GetResourceRequest(), params.Options(),
+ params.Charset(), &Context());
resource->GetError(ResourceError::CancelledDueToAccessCheckError(
params.Url(), blocked_reason));
return resource;
@@ -585,7 +587,7 @@ Resource* ResourceFetcher::RequestResource(
if (!resource && !is_data_url && archive_)
return nullptr;
}
- if (!resource) {
+ if (!resource && IsMainThread()) {
resource =
GetMemoryCache()->ResourceForURL(params.Url(), GetCacheIdentifier());
}
@@ -734,14 +736,15 @@ Resource* ResourceFetcher::CreateResourceForLoading(
const String& charset,
const ResourceFactory& factory) {
const String cache_identifier = GetCacheIdentifier();
- DCHECK(!GetMemoryCache()->ResourceForURL(params.GetResourceRequest().Url(),
+ DCHECK(!IsMainThread() ||
+ !GetMemoryCache()->ResourceForURL(params.GetResourceRequest().Url(),
cache_identifier));
RESOURCE_LOADING_DVLOG(1) << "Loading Resource for "
<< params.GetResourceRequest().Url().ElidedString();
- Resource* resource =
- factory.Create(params.GetResourceRequest(), params.Options(), charset);
+ Resource* resource = factory.Create(params.GetResourceRequest(),
+ params.Options(), charset, &Context());
resource->SetLinkPreload(params.IsLinkPreload());
if (params.IsSpeculativePreload()) {
resource->SetPreloadDiscoveryTime(params.PreloadDiscoveryTime());
@@ -750,7 +753,7 @@ Resource* ResourceFetcher::CreateResourceForLoading(
// - Don't add main resource to cache to prevent reuse.
// - Don't add the resource if its body will not be stored.
- if (factory.GetType() != Resource::kMainResource &&
+ if (IsMainThread() && factory.GetType() != Resource::kMainResource &&
params.Options().data_buffering_policy != kDoNotBufferData) {
GetMemoryCache()->Add(resource);
}
@@ -1260,7 +1263,7 @@ void ResourceFetcher::MoveResourceLoaderToNonBlocking(ResourceLoader* loader) {
bool ResourceFetcher::StartLoad(Resource* resource) {
DCHECK(resource);
DCHECK(resource->StillNeedsLoad());
- if (!Context().ShouldLoadNewResource(resource->GetType())) {
+ if (IsMainThread() && !Context().ShouldLoadNewResource(resource->GetType())) {
GetMemoryCache()->Remove(resource);
return false;
}

Powered by Google App Engine
This is Rietveld 408576698