summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_about_handler.cc
diff options
context:
space:
mode:
authorckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-05 12:40:24 +0000
committerckocagil@chromium.org <ckocagil@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-05 12:40:24 +0000
commit594458abf9aa343f8a7d3d43a5e576188307844b (patch)
tree500554e99ad114c4e68ec547c35312baf2387cf6 /chrome/browser/browser_about_handler.cc
parent945621b527983598e80c675da814a90075ea96cf (diff)
downloadchromium_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.cc22
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)