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

Unified Diff: chrome/browser/profiles/profile_io_data.cc

Issue 2002433002: Handle online and offline redirects via interceptor and offline scheme (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 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: chrome/browser/profiles/profile_io_data.cc
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
index 1ac33c4f4d5fec393a781e23d957bf0346542e59..34679fa91786d0a6d4779e9cd253d31686451d9c 100644
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -126,6 +126,8 @@
#endif
#if defined(OS_ANDROID)
+#include "chrome/browser/android/offline_pages/offline_page_protocol_handler.h"
+#include "chrome/browser/android/offline_pages/offline_page_request_handler.h"
#include "content/public/browser/android/content_protocol_handler.h"
#endif // defined(OS_ANDROID)
@@ -1161,6 +1163,15 @@ void ProfileIOData::Init(
profile_params_->new_tab_page_interceptor.release());
}
+ // Install the Offline Page Interceptor.
+#if defined(OS_ANDROID)
+ std::unique_ptr<net::URLRequestInterceptor> offline_page_interceptor =
+ offline_pages::OfflinePageRequestHandler::CreateInterceptor(
+ profile_params_->profile);
+ if (offline_page_interceptor.get())
+ request_interceptors.push_back(offline_page_interceptor.release());
+#endif
+
std::unique_ptr<net::MultiLogCTVerifier> ct_verifier(
new net::MultiLogCTVerifier());
ct_verifier->AddLogs(io_thread_globals->ct_logs);
@@ -1241,6 +1252,10 @@ ProfileIOData::SetUpJobFactoryDefaults(
content::BrowserThread::GetBlockingPool()
->GetTaskRunnerWithShutdownBehavior(
base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)));
+ set_protocol = job_factory->SetProtocolHandler(
+ chrome::kOfflinePageScheme,
+ base::WrapUnique(new offline_pages::OfflinePageProtocolHandler(
+ profile_params_->profile)));
#endif
job_factory->SetProtocolHandler(
« no previous file with comments | « chrome/browser/android/tab_android.cc ('k') | chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698