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

Unified Diff: content/browser/loader/resource_dispatcher_host_impl.cc

Issue 2368923003: Support the Clear-Site-Data header on resource requests (Closed)
Patch Set: Addressed comments, formatted. Created 3 years, 6 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: content/browser/loader/resource_dispatcher_host_impl.cc
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc
index 3fdda2620bbb87dacc2312e990c25efba61e7cfa..579365b016a428f2cf2d93dd932df8e76c15a64c 100644
--- a/content/browser/loader/resource_dispatcher_host_impl.cc
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc
@@ -39,6 +39,7 @@
#include "content/browser/appcache/chrome_appcache_service.h"
#include "content/browser/bad_message.h"
#include "content/browser/blob_storage/chrome_blob_storage_context.h"
+#include "content/browser/browsing_data/clear_site_data_throttle.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/frame_host/navigation_request_info.h"
#include "content/browser/loader/async_resource_handler.h"
@@ -360,7 +361,10 @@ ResourceDispatcherHostImpl::ResourceDispatcherHostImpl(
allow_cross_origin_auth_prompt_(false),
create_download_handler_intercept_(download_handler_intercept),
main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()),
- io_thread_task_runner_(io_thread_runner) {
+ io_thread_task_runner_(io_thread_runner),
+ experimental_web_features_enabled_(
+ base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableExperimentalWebPlatformFeatures)) {
DCHECK(main_thread_task_runner_->BelongsToCurrentThread());
DCHECK(!g_resource_dispatcher_host);
g_resource_dispatcher_host = this;
@@ -1555,6 +1559,14 @@ ResourceDispatcherHostImpl::AddStandardHandlers(
base::MakeUnique<WakeLockResourceThrottle>(request->url().host()));
}
+ // The experimental Clear-Site-Data throttle.
+ if (experimental_web_features_enabled_) {
+ std::unique_ptr<ResourceThrottle> clear_site_data_throttle =
+ ClearSiteDataThrottle::MaybeCreateThrottleForRequest(request);
+ if (clear_site_data_throttle)
+ throttles.push_back(std::move(clear_site_data_throttle));
+ }
+
// TODO(ricea): Stop looking this up so much.
ResourceRequestInfoImpl* info = ResourceRequestInfoImpl::ForRequest(request);
throttles.push_back(scheduler_->ScheduleRequest(child_id, route_id,
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_impl.h ('k') | content/public/browser/content_browser_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698