diff options
author | avi <avi@chromium.org> | 2014-09-23 15:55:33 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-23 22:55:44 +0000 |
commit | 861ff750672904fc73675b68a868b1372b69a07d (patch) | |
tree | 62b366ca52922522ed5129ea07fe0db9637a5ca1 | |
parent | 7a06ab74d25486ac7ed79a61d7f90546ecab89fd (diff) | |
download | chromium_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.cc | 8 | ||||
-rw-r--r-- | content/browser/frame_host/debug_urls.cc | 2 | ||||
-rw-r--r-- | content/public/common/url_constants.cc | 1 | ||||
-rw-r--r-- | content/public/common/url_constants.h | 1 |
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[]; |