| Index: chrome/browser/ui/browser.cc
|
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
| index c733bf1be8ffffef6abd272717722c6a206d8c45..11fc1c1106670472d16e1fa001b362a38ff85951 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::kChromeUIExtensionsURL);
|
| + }
|
| +
|
| // 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;
|
|
|
|
|