Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index c733bf1be8ffffef6abd272717722c6a206d8c45..fe5e5f7499ac5db77edf93b8bc39efedd5bf9e97 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -617,9 +617,17 @@ TabContents* Browser::OpenApplicationTab(Profile* profile, |
if (launch_type == ExtensionPrefs::LAUNCH_PINNED) |
add_type |= TabStripModel::ADD_PINNED; |
+ // For extensions lacking launch urls, determine a reasonable fallback. |
+ GURL extension_url = extension->GetFullLaunchURL(); |
+ if (!extension_url.is_valid()) { |
+ extension_url = extension->options_url(); |
+ if (!extension_url.is_valid()) |
+ extension_url = GURL("chrome://extensions/"); |
Andrew T Wilson (Slow)
2011/01/22 01:32:14
You should use chrome::kChromeUIExtensionsURL here
The wrong rickcam account
2011/01/22 01:42:30
Done.
|
+ } |
+ |
// TODO(erikkay): START_PAGE doesn't seem like the right transition in all |
// cases. |
- browser::NavigateParams params(browser, extension->GetFullLaunchURL(), |
+ browser::NavigateParams params(browser, extension_url, |
PageTransition::START_PAGE); |
params.tabstrip_add_types = add_type; |