summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/browser_about_handler.cc14
-rw-r--r--chrome/common/url_constants.cc2
-rw-r--r--chrome/common/url_constants.h2
3 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc
index d7c14fc..4c8226e 100644
--- a/chrome/browser/browser_about_handler.cc
+++ b/chrome/browser/browser_about_handler.cc
@@ -65,7 +65,6 @@ using base::TimeDelta;
namespace {
// The paths used for the about pages.
-const char kCachePath[] = "cache";
const char kDnsPath[] = "dns";
const char kHistogramsPath[] = "histograms";
const char kObjectsPath[] = "objects";
@@ -783,6 +782,19 @@ bool WillHandleBrowserAboutURL(GURL* url, Profile* profile) {
return true;
}
+ // Handle rewriting net-internal URLs. This allows us to load
+ // about:net-internal.
+ if (StartsWithASCII(url->spec(), chrome::kAboutNetInternalURL, true)) {
+ // Create a mapping from about:net-internal to the view-net-internal:
+ // internal URL.
+ std::string path;
+ size_t split = url->spec().find('/');
+ if (split != std::string::npos)
+ path = url->spec().substr(split + 1);
+ *url = GURL(std::string(chrome::kViewNetInternalScheme) + ":" + path);
+ return true;
+ }
+
// Handle URL to crash the browser process.
if (LowerCaseEqualsASCII(url->spec(), chrome::kAboutBrowserCrash)) {
// Induce an intentional crash in the browser process.
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
index 03d048f..ed128cd 100644
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -21,12 +21,14 @@ const char kMailToScheme[] = "mailto";
const char kPrintScheme[] = "print";
const char kUserScriptScheme[] = "chrome-user-script";
const char kViewCacheScheme[] = "view-cache";
+const char kViewNetInternalScheme[] = "view-net-internal";
const char kViewSourceScheme[] = "view-source";
const char kStandardSchemeSeparator[] = "://";
const char kAboutBlankURL[] = "about:blank";
const char kAboutCacheURL[] = "about:cache";
+const char kAboutNetInternalURL[] = "about:net-internal";
const char kAboutCrashURL[] = "about:crash";
const char kAboutHangURL[] = "about:hang";
const char kAboutMemoryURL[] = "about:memory";
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
index 5917aaa..c647339 100644
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -25,6 +25,7 @@ extern const char kMailToScheme[];
extern const char kPrintScheme[];
extern const char kUserScriptScheme[];
extern const char kViewCacheScheme[];
+extern const char kViewNetInternalScheme[];
extern const char kViewSourceScheme[];
// Used to separate a standard scheme and the hostname: "://".
@@ -34,6 +35,7 @@ extern const char kStandardSchemeSeparator[];
extern const char kAboutBlankURL[];
extern const char kAboutBrowserCrash[];
extern const char kAboutCacheURL[];
+extern const char kAboutNetInternalURL[];
extern const char kAboutCrashURL[];
extern const char kAboutHangURL[];
extern const char kAboutMemoryURL[];