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

Unified Diff: content/browser/browser_url_handler_impl.cc

Issue 923183003: Move URL fixup to a preliminary phase that doesn't affect virtual URLs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Avoid duplicate code Created 5 years, 10 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/browser_url_handler_impl.cc
diff --git a/content/browser/browser_url_handler_impl.cc b/content/browser/browser_url_handler_impl.cc
index 7ea7ff787b9950512615abcde874d22daa6ebe6c..438feb3ac4ec7df6b51cebf8b76970cdcefce9e6 100644
--- a/content/browser/browser_url_handler_impl.cc
+++ b/content/browser/browser_url_handler_impl.cc
@@ -88,7 +88,8 @@ BrowserURLHandlerImpl* BrowserURLHandlerImpl::GetInstance() {
return Singleton<BrowserURLHandlerImpl>::get();
}
-BrowserURLHandlerImpl::BrowserURLHandlerImpl() {
+BrowserURLHandlerImpl::BrowserURLHandlerImpl() :
+ fixup_handler_(null_handler()) {
AddHandlerPair(&DebugURLHandler, BrowserURLHandlerImpl::null_handler());
GetContentClient()->browser()->BrowserURLHandlerCreated(this);
@@ -100,6 +101,11 @@ BrowserURLHandlerImpl::BrowserURLHandlerImpl() {
BrowserURLHandlerImpl::~BrowserURLHandlerImpl() {
}
+void BrowserURLHandlerImpl::SetFixupHandler(URLHandler handler) {
+ DCHECK_EQ(null_handler(), fixup_handler_);
+ fixup_handler_ = handler;
+}
+
void BrowserURLHandlerImpl::AddHandlerPair(URLHandler handler,
URLHandler reverse_handler) {
url_handlers_.push_back(HandlerPair(handler, reverse_handler));
@@ -118,6 +124,13 @@ void BrowserURLHandlerImpl::RewriteURLIfNecessary(
}
}
+void BrowserURLHandlerImpl::FixupURLBeforeRewrite(
+ GURL* url,
+ BrowserContext* browser_context) {
+ if (fixup_handler_)
+ fixup_handler_(url, browser_context);
+}
+
bool BrowserURLHandlerImpl::ReverseURLRewrite(
GURL* url, const GURL& original, BrowserContext* browser_context) {
for (size_t i = 0; i < url_handlers_.size(); ++i) {
« no previous file with comments | « content/browser/browser_url_handler_impl.h ('k') | content/browser/frame_host/navigation_controller_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698