diff options
author | ckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-05 12:40:24 +0000 |
---|---|---|
committer | ckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-05 12:40:24 +0000 |
commit | 594458abf9aa343f8a7d3d43a5e576188307844b (patch) | |
tree | 500554e99ad114c4e68ec547c35312baf2387cf6 /chrome/browser/browser_about_handler.cc | |
parent | 945621b527983598e80c675da814a90075ea96cf (diff) | |
download | chromium_src-594458abf9aa343f8a7d3d43a5e576188307844b.zip chromium_src-594458abf9aa343f8a7d3d43a5e576188307844b.tar.gz chromium_src-594458abf9aa343f8a7d3d43a5e576188307844b.tar.bz2 |
Move non-navigation URL handlers to HandleNonNavigationAboutURL
R=sky
BUG=271324
Review URL: https://codereview.chromium.org/105203002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238957 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_about_handler.cc')
-rw-r--r-- | chrome/browser/browser_about_handler.cc | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc index 1197f04..28d1f18 100644 --- a/chrome/browser/browser_about_handler.cc +++ b/chrome/browser/browser_about_handler.cc @@ -65,14 +65,6 @@ bool WillHandleBrowserAboutURL(GURL* url, } else if (host == chrome::kChromeUIHelpHost) { host = chrome::kChromeUIUberHost; path = chrome::kChromeUIHelpHost + url->path(); - } else if (host == chrome::kChromeUIRestartHost) { - // Call AttemptRestart after chrome::Navigate() completes to avoid access of - // gtk objects after they are destoyed by BrowserWindowGtk::Close(). - base::MessageLoop::current()->PostTask(FROM_HERE, - base::Bind(&chrome::AttemptRestart)); - } else if (host == chrome::kChromeUIQuitHost) { - base::MessageLoop::current()->PostTask(FROM_HERE, - base::Bind(&chrome::AttemptExit)); } GURL::Replacements replacements; @@ -86,6 +78,20 @@ bool WillHandleBrowserAboutURL(GURL* url, } bool HandleNonNavigationAboutURL(const GURL& url) { + const std::string host(url.host()); + + if (host == chrome::kChromeUIRestartHost) { + // 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) { + base::MessageLoop::current()->PostTask(FROM_HERE, + base::Bind(&chrome::AttemptExit)); + return true; + } + // chrome://ipc/ is currently buggy, so we disable it for official builds. #if !defined(OFFICIAL_BUILD) |