summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravi <avi@chromium.org>2014-09-23 15:55:33 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-23 22:55:44 +0000
commit861ff750672904fc73675b68a868b1372b69a07d (patch)
tree62b366ca52922522ed5129ea07fe0db9637a5ca1
parent7a06ab74d25486ac7ed79a61d7f90546ecab89fd (diff)
downloadchromium_src-861ff750672904fc73675b68a868b1372b69a07d.zip
chromium_src-861ff750672904fc73675b68a868b1372b69a07d.tar.gz
chromium_src-861ff750672904fc73675b68a868b1372b69a07d.tar.bz2
Only quit, restart, and inducebrowsercrashforrealz with chrome:// or about:.
BUG=416897 TEST=as in bug Review URL: https://codereview.chromium.org/595993002 Cr-Commit-Position: refs/heads/master@{#296292}
-rw-r--r--chrome/browser/browser_about_handler.cc8
-rw-r--r--content/browser/frame_host/debug_urls.cc2
-rw-r--r--content/public/common/url_constants.cc1
-rw-r--r--content/public/common/url_constants.h1
4 files changed, 7 insertions, 5 deletions
diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc
index c747986..ab30de4 100644
--- a/chrome/browser/browser_about_handler.cc
+++ b/chrome/browser/browser_about_handler.cc
@@ -89,15 +89,15 @@ bool WillHandleBrowserAboutURL(GURL* url,
}
bool HandleNonNavigationAboutURL(const GURL& url) {
- const std::string host(url.host());
+ const std::string spec(url.spec());
- if (host == chrome::kChromeUIRestartHost) {
+ if (LowerCaseEqualsASCII(spec, chrome::kChromeUIRestartURL)) {
// Call AttemptRestart after chrome::Navigate() completes to avoid access of
// gtk objects after they are destroyed by BrowserWindowGtk::Close().
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&chrome::AttemptRestart));
return true;
- } else if (host == chrome::kChromeUIQuitHost) {
+ } else if (LowerCaseEqualsASCII(spec, chrome::kChromeUIQuitURL)) {
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&chrome::AttemptExit));
return true;
@@ -107,7 +107,7 @@ bool HandleNonNavigationAboutURL(const GURL& url) {
#if !defined(OFFICIAL_BUILD)
#if (defined(OS_MACOSX) || defined(OS_WIN)) && defined(IPC_MESSAGE_LOG_ENABLED)
- if (LowerCaseEqualsASCII(url.spec(), chrome::kChromeUIIPCURL)) {
+ if (LowerCaseEqualsASCII(spec, chrome::kChromeUIIPCURL)) {
// Run the dialog. This will re-use the existing one if it's already up.
chrome::ShowAboutIPCDialog();
return true;
diff --git a/content/browser/frame_host/debug_urls.cc b/content/browser/frame_host/debug_urls.cc
index 6bfc3cc..0b2ca86 100644
--- a/content/browser/frame_host/debug_urls.cc
+++ b/content/browser/frame_host/debug_urls.cc
@@ -125,7 +125,7 @@ bool HandleDebugURL(const GURL& url, ui::PageTransition transition) {
if (IsAsanDebugURL(url))
return HandleAsanDebugURL(url);
- if (url.host() == kChromeUIBrowserCrashHost) {
+ if (url == GURL(kChromeUIBrowserCrashURL)) {
// Induce an intentional crash in the browser process.
CHECK(false);
return true;
diff --git a/content/public/common/url_constants.cc b/content/public/common/url_constants.cc
index ac65ded..33442bf 100644
--- a/content/public/common/url_constants.cc
+++ b/content/public/common/url_constants.cc
@@ -32,6 +32,7 @@ const char kChromeUITcmallocHost[] = "tcmalloc";
const char kChromeUITracingHost[] = "tracing";
const char kChromeUIWebRTCInternalsHost[] = "webrtc-internals";
+const char kChromeUIBrowserCrashURL[] = "chrome://inducebrowsercrashforrealz";
const char kChromeUICrashURL[] = "chrome://crash";
const char kChromeUIDumpURL[] = "chrome://crashdump";
const char kChromeUIGpuCleanURL[] = "chrome://gpuclean";
diff --git a/content/public/common/url_constants.h b/content/public/common/url_constants.h
index 7f125f7..8d4aa04 100644
--- a/content/public/common/url_constants.h
+++ b/content/public/common/url_constants.h
@@ -41,6 +41,7 @@ CONTENT_EXPORT extern const char kChromeUITracingHost[];
CONTENT_EXPORT extern const char kChromeUIWebRTCInternalsHost[];
// Full about URLs (including schemes).
+CONTENT_EXPORT extern const char kChromeUIBrowserCrashURL[];
CONTENT_EXPORT extern const char kChromeUICrashURL[];
CONTENT_EXPORT extern const char kChromeUIDumpURL[];
CONTENT_EXPORT extern const char kChromeUIGpuCleanURL[];