Index: third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp |
diff --git a/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp b/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp |
index 9f21b6665a3165a2db2e9d5eefa2935a9790a0b4..c90c0dcabfc1176c772d875fac9599bdbec3771a 100644 |
--- a/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp |
+++ b/third_party/WebKit/Source/core/loader/WorkerFetchContext.cpp |
@@ -7,14 +7,17 @@ |
#include "core/frame/Deprecation.h" |
#include "core/frame/UseCounter.h" |
#include "core/loader/MixedContentChecker.h" |
+#include "core/probe/CoreProbes.h" |
#include "core/timing/WorkerGlobalScopePerformance.h" |
#include "core/workers/WorkerClients.h" |
#include "core/workers/WorkerGlobalScope.h" |
+#include "platform/RuntimeEnabledFeatures.h" |
#include "platform/Supplementable.h" |
#include "platform/WebTaskRunner.h" |
#include "platform/exported/WrappedResourceRequest.h" |
#include "platform/loader/fetch/ResourceFetcher.h" |
#include "platform/scheduler/child/web_scheduler.h" |
+#include "platform/weborigin/SecurityPolicy.h" |
#include "public/platform/Platform.h" |
#include "public/platform/WebMixedContent.h" |
#include "public/platform/WebMixedContentContextType.h" |
@@ -122,15 +125,18 @@ SecurityContext* WorkerFetchContext::GetParentSecurityContext() const { |
bool WorkerFetchContext::ShouldBlockRequestByInspector( |
const ResourceRequest& resource_request) const { |
- // TODO(horo): Implement this. |
- return false; |
+ bool should_block_request = false; |
+ probe::shouldBlockRequest(worker_global_scope_, resource_request, |
+ &should_block_request); |
+ return should_block_request; |
kinuko
2017/05/22 06:53:40
I think now this can be implemented in BaseFetchCo
horo
2017/05/22 07:32:17
Done.
|
} |
void WorkerFetchContext::DispatchDidBlockRequest( |
const ResourceRequest& resource_request, |
const FetchInitiatorInfo& fetch_initiator_info, |
ResourceRequestBlockedReason blocked_reason) const { |
- // TODO(horo): Implement this. |
+ probe::didBlockRequest(worker_global_scope_, resource_request, nullptr, |
+ fetch_initiator_info, blocked_reason); |
} |
void WorkerFetchContext::ReportLocalLoadFailed(const KURL&) const { |
@@ -174,6 +180,11 @@ bool WorkerFetchContext::IsControlledByServiceWorker() const { |
void WorkerFetchContext::PrepareRequest(ResourceRequest& request, |
RedirectType) { |
+ String user_agent = worker_global_scope_->UserAgent(); |
+ probe::applyUserAgentOverride(worker_global_scope_, &user_agent); |
+ DCHECK(!user_agent.IsNull()); |
+ request.SetHTTPUserAgent(AtomicString(user_agent)); |
+ |
request.OverrideLoadingIPCType(WebURLRequest::LoadingIPCType::kMojo); |
WrappedResourceRequest webreq(request); |
web_context_->WillSendRequest(webreq); |
@@ -195,6 +206,15 @@ void WorkerFetchContext::AddAdditionalRequestHeaders(ResourceRequest& request, |
request.SetHTTPHeaderField("Save-Data", "on"); |
} |
+void WorkerFetchContext::DispatchWillSendRequest( |
+ unsigned long identifier, |
+ ResourceRequest& request, |
+ const ResourceResponse& redirect_response, |
+ const FetchInitiatorInfo& initiator_info) { |
+ probe::willSendRequest(worker_global_scope_, identifier, nullptr, request, |
+ redirect_response, initiator_info); |
+} |
+ |
void WorkerFetchContext::DispatchDidReceiveResponse( |
unsigned long identifier, |
const ResourceResponse& response, |
@@ -212,6 +232,38 @@ void WorkerFetchContext::DispatchDidReceiveResponse( |
web_context_->DidDisplayContentWithCertificateErrors(response.Url()); |
} |
} |
+ probe::didReceiveResourceResponse(worker_global_scope_, identifier, nullptr, |
+ response, resource); |
+} |
+ |
+void WorkerFetchContext::DispatchDidReceiveData(unsigned long identifier, |
+ const char* data, |
+ int data_length) { |
+ probe::didReceiveData(worker_global_scope_, identifier, nullptr, data, |
+ data_length); |
+} |
+ |
+void WorkerFetchContext::DispatchDidReceiveEncodedData( |
+ unsigned long identifier, |
+ int encoded_data_length) { |
+ probe::didReceiveEncodedDataLength(worker_global_scope_, identifier, |
+ encoded_data_length); |
kinuko
2017/05/22 06:53:40
ditto
horo
2017/05/22 07:32:17
Done.
horo
2017/05/22 10:42:39
Ah, BaseFetchContext's |execution_context_| is nul
|
+} |
+ |
+void WorkerFetchContext::DispatchDidFinishLoading(unsigned long identifier, |
+ double finish_time, |
+ int64_t encoded_data_length, |
+ int64_t decoded_body_length) { |
+ probe::didFinishLoading(worker_global_scope_, identifier, nullptr, |
+ finish_time, encoded_data_length, |
+ decoded_body_length); |
+} |
+ |
+void WorkerFetchContext::DispatchDidFail(unsigned long identifier, |
+ const ResourceError& error, |
+ int64_t encoded_data_length, |
+ bool is_internal_request) { |
+ probe::didFailLoading(worker_global_scope_, identifier, error); |
} |
void WorkerFetchContext::AddResourceTiming(const ResourceTimingInfo& info) { |