| Index: chrome/browser/ui/browser_navigator.cc
|
| diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
|
| index bac5a9315fc94c15d8a38233b0aa7469b226e124..c109a24c2a337a2c47dcc25b32b3af6fd1eab436 100644
|
| --- a/chrome/browser/ui/browser_navigator.cc
|
| +++ b/chrome/browser/ui/browser_navigator.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/command_line.h"
|
| #include "chrome/browser/browser_url_handler.h"
|
| +#include "chrome/browser/extensions/extension_service.h"
|
| #include "chrome/browser/extensions/extension_tab_helper.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/tabs/tab_strip_model.h"
|
| @@ -34,8 +35,11 @@ SiteInstance* GetSiteInstance(TabContents* source_contents, Profile* profile,
|
| // If url is a WebUI or extension, we need to be sure to use the right type
|
| // of renderer process up front. Otherwise, we create a normal SiteInstance
|
| // as part of creating the tab.
|
| - if (ChromeWebUIFactory::GetInstance()->UseWebUIForURL(profile, url))
|
| + ExtensionService* service = profile->GetExtensionService();
|
| + if (ChromeWebUIFactory::GetInstance()->UseWebUIForURL(profile, url) ||
|
| + (service && service->GetExtensionByWebExtent(url))) {
|
| return SiteInstance::CreateSiteInstanceForURL(profile, url);
|
| + }
|
|
|
| if (!source_contents)
|
| return NULL;
|
|
|