| Index: chrome/browser/ui/ime/ime_window.cc
|
| diff --git a/chrome/browser/ui/ime/ime_window.cc b/chrome/browser/ui/ime/ime_window.cc
|
| index a8d1a75107c2c3e412fe51ccc6006f5cf9979d57..8ffead74605fa842b7c07c28bab65394cd39443d 100644
|
| --- a/chrome/browser/ui/ime/ime_window.cc
|
| +++ b/chrome/browser/ui/ime/ime_window.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/ui/ime/ime_window_observer.h"
|
| #include "content/public/browser/notification_service.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| +#include "content/public/browser/render_process_host.h"
|
| #include "content/public/browser/web_contents.h"
|
| #include "extensions/common/constants.h"
|
| #include "extensions/common/extension.h"
|
| @@ -28,6 +29,7 @@ namespace ui {
|
|
|
| ImeWindow::ImeWindow(Profile* profile,
|
| const extensions::Extension* extension,
|
| + content::RenderFrameHost* opener_render_frame_host,
|
| const std::string& url,
|
| Mode mode,
|
| const gfx::Rect& bounds)
|
| @@ -46,9 +48,19 @@ ImeWindow::ImeWindow(Profile* profile,
|
| if (!gurl.is_valid())
|
| gurl = extension->GetResourceURL(url);
|
|
|
| - content::SiteInstance* instance =
|
| - content::SiteInstance::CreateForURL(profile, gurl);
|
| - content::WebContents::CreateParams create_params(profile, instance);
|
| + content::SiteInstance* site_instance = opener_render_frame_host
|
| + ? opener_render_frame_host->GetSiteInstance() : nullptr;
|
| + if (!site_instance ||
|
| + site_instance->GetSiteURL().GetOrigin() != gurl.GetOrigin()) {
|
| + site_instance = content::SiteInstance::CreateForURL(profile, gurl);
|
| + }
|
| + content::WebContents::CreateParams create_params(profile, site_instance);
|
| + if (opener_render_frame_host) {
|
| + create_params.opener_render_process_id =
|
| + opener_render_frame_host->GetProcess()->GetID();
|
| + create_params.opener_render_frame_id =
|
| + opener_render_frame_host->GetRoutingID();
|
| + }
|
| web_contents_.reset(content::WebContents::Create(create_params));
|
| web_contents_->SetDelegate(this);
|
| content::OpenURLParams params(gurl, content::Referrer(), SINGLETON_TAB,
|
|
|