Index: chrome/browser/extensions/extension_tabs_module.cc |
=================================================================== |
--- chrome/browser/extensions/extension_tabs_module.cc (revision 88158) |
+++ chrome/browser/extensions/extension_tabs_module.cc (working copy) |
@@ -123,19 +123,6 @@ |
return keys::kWindowTypeValueNormal; |
} |
-bool IsCrashURL(const GURL& url) { |
- // GURL does not parse about: URL hosts, so compare against these entire URLs. |
- if (url == GURL(chrome::kAboutBrowserCrash) || |
- url == GURL(chrome::kAboutCrashURL)) |
- return true; |
- |
- // Catch any crash-like URL here. |
- return ((url.SchemeIs(chrome::kAboutScheme) || |
- url.SchemeIs(chrome::kChromeUIScheme)) && |
- (url.host() == chrome::kChromeUIBrowserCrashHost || |
- url.host() == chrome::kChromeUICrashHost)); |
-} |
- |
} // namespace |
int ExtensionTabUtil::GetWindowId(const Browser* browser) { |
@@ -415,16 +402,20 @@ |
keys::kInvalidUrlError, *i); |
return false; |
} |
- // Don't let the extension crash the browser or renderers. |
- if (IsCrashURL(url)) { |
- error_ = keys::kNoCrashBrowserError; |
- return false; |
- } |
urls.push_back(url); |
} |
} |
} |
+ // Don't let the extension crash the browser or renderers. |
+ GURL browser_crash(chrome::kAboutBrowserCrash); |
+ GURL renderer_crash(chrome::kAboutCrashURL); |
+ if (std::find(urls.begin(), urls.end(), browser_crash) != urls.end() || |
+ std::find(urls.begin(), urls.end(), renderer_crash) != urls.end()) { |
+ error_ = keys::kNoCrashBrowserError; |
+ return false; |
+ } |
+ |
// Look for optional tab id. |
if (args) { |
int tab_id; |
@@ -755,7 +746,8 @@ |
} |
// Don't let extensions crash the browser or renderers. |
- if (IsCrashURL(url)) { |
+ if (url == GURL(chrome::kAboutBrowserCrash) || |
+ url == GURL(chrome::kAboutCrashURL)) { |
error_ = keys::kNoCrashBrowserError; |
return false; |
} |
@@ -871,7 +863,7 @@ |
// -title |
// -favIconUrl |
- // Navigate the tab to a new location if the url is different. |
+ // Navigate the tab to a new location if the url different. |
std::string url_string; |
if (update_props->HasKey(keys::kUrlKey)) { |
EXTENSION_FUNCTION_VALIDATE(update_props->GetString( |
@@ -885,7 +877,8 @@ |
} |
// Don't let the extension crash the browser or renderers. |
- if (IsCrashURL(url)) { |
+ if (url == GURL(chrome::kAboutBrowserCrash) || |
+ url == GURL(chrome::kAboutCrashURL)) { |
error_ = keys::kNoCrashBrowserError; |
return false; |
} |