| Index: chrome/browser/chrome_content_browser_client.cc
|
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
| index 28382b921452de51c659ab88d84c5da821893bf2..5d457f8249d97bf526f899337a7a27ba669ccd4c 100644
|
| --- a/chrome/browser/chrome_content_browser_client.cc
|
| +++ b/chrome/browser/chrome_content_browser_client.cc
|
| @@ -126,6 +126,7 @@
|
| #include "content/public/browser/web_contents_view.h"
|
| #include "content/public/common/child_process_host.h"
|
| #include "content/public/common/content_descriptors.h"
|
| +#include "content/public/common/url_utils.h"
|
| #include "extensions/browser/view_type_utils.h"
|
| #include "extensions/common/constants.h"
|
| #include "extensions/common/switches.h"
|
| @@ -803,6 +804,7 @@ void ChromeContentBrowserClient::GuestWebContentsCreated(
|
| void ChromeContentBrowserClient::GuestWebContentsAttached(
|
| WebContents* guest_web_contents,
|
| WebContents* embedder_web_contents,
|
| + const GURL& embedder_frame_url,
|
| const base::DictionaryValue& extra_params) {
|
| Profile* profile = Profile::FromBrowserContext(
|
| embedder_web_contents->GetBrowserContext());
|
| @@ -812,9 +814,8 @@ void ChromeContentBrowserClient::GuestWebContentsAttached(
|
| NOTREACHED();
|
| return;
|
| }
|
| - const GURL& url = embedder_web_contents->GetSiteInstance()->GetSiteURL();
|
| const Extension* extension =
|
| - service->extensions()->GetExtensionOrAppByURL(url);
|
| + service->extensions()->GetExtensionOrAppByURL(embedder_frame_url);
|
| if (!extension) {
|
| // It's ok to return here, since we could be running a browser plugin
|
| // outside an extension, and don't need to attach a
|
| @@ -2342,6 +2343,9 @@ bool ChromeContentBrowserClient::SupportsBrowserPlugin(
|
| switches::kEnableBrowserPluginForAllViewTypes))
|
| return true;
|
|
|
| + if (content::HasWebUIScheme(site_url))
|
| + return true;
|
| +
|
| Profile* profile = Profile::FromBrowserContext(browser_context);
|
| ExtensionService* service =
|
| extensions::ExtensionSystem::Get(profile)->extension_service();
|
|
|