OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/browser/guest_view/guest_view_manager.h" | 5 #include "extensions/browser/guest_view/guest_view_manager.h" |
6 | 6 |
7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
8 #include "content/public/browser/browser_context.h" | 8 #include "content/public/browser/browser_context.h" |
9 #include "content/public/browser/render_process_host.h" | 9 #include "content/public/browser/render_process_host.h" |
10 #include "content/public/browser/render_view_host.h" | 10 #include "content/public/browser/render_view_host.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 callback.Run(NULL); | 129 callback.Run(NULL); |
130 return; | 130 return; |
131 } | 131 } |
132 guest->Init( | 132 guest->Init( |
133 embedder_extension_id, embedder_web_contents, create_params, callback); | 133 embedder_extension_id, embedder_web_contents, create_params, callback); |
134 } | 134 } |
135 | 135 |
136 content::WebContents* GuestViewManager::CreateGuestWithWebContentsParams( | 136 content::WebContents* GuestViewManager::CreateGuestWithWebContentsParams( |
137 const std::string& view_type, | 137 const std::string& view_type, |
138 const std::string& embedder_extension_id, | 138 const std::string& embedder_extension_id, |
139 content::WebContents* embedder_web_contents, | 139 int embedder_render_process_id, |
140 const content::WebContents::CreateParams& create_params) { | 140 const content::WebContents::CreateParams& create_params) { |
141 int guest_instance_id = GetNextInstanceID(); | 141 int guest_instance_id = GetNextInstanceID(); |
142 GuestViewBase* guest = | 142 GuestViewBase* guest = |
143 GuestViewBase::Create(context_, guest_instance_id, view_type); | 143 GuestViewBase::Create(context_, guest_instance_id, view_type); |
144 if (!guest) | 144 if (!guest) |
145 return NULL; | 145 return NULL; |
146 content::WebContents::CreateParams guest_create_params(create_params); | 146 content::WebContents::CreateParams guest_create_params(create_params); |
147 guest_create_params.guest_delegate = guest; | 147 guest_create_params.guest_delegate = guest; |
148 content::WebContents* guest_web_contents = | 148 content::WebContents* guest_web_contents = |
149 WebContents::Create(guest_create_params); | 149 WebContents::Create(guest_create_params); |
150 guest->InitWithWebContents( | 150 guest->InitWithWebContents(embedder_extension_id, |
151 embedder_extension_id, embedder_web_contents, guest_web_contents); | 151 embedder_render_process_id, |
| 152 guest_web_contents); |
152 return guest_web_contents; | 153 return guest_web_contents; |
153 } | 154 } |
154 | 155 |
155 content::WebContents* GuestViewManager::GetGuestByInstanceID( | 156 content::WebContents* GuestViewManager::GetGuestByInstanceID( |
156 content::WebContents* embedder_web_contents, | 157 content::WebContents* embedder_web_contents, |
157 int element_instance_id) { | 158 int element_instance_id) { |
158 int guest_instance_id = GetGuestInstanceIDForElementID(embedder_web_contents, | 159 int guest_instance_id = GetGuestInstanceIDForElementID(embedder_web_contents, |
159 element_instance_id); | 160 element_instance_id); |
160 if (guest_instance_id == guestview::kInstanceIDNone) | 161 if (guest_instance_id == guestview::kInstanceIDNone) |
161 return NULL; | 162 return NULL; |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 return true; | 301 return true; |
301 | 302 |
302 GuestViewBase* guest_view = GuestViewBase::FromWebContents(it->second); | 303 GuestViewBase* guest_view = GuestViewBase::FromWebContents(it->second); |
303 if (!guest_view) | 304 if (!guest_view) |
304 return false; | 305 return false; |
305 | 306 |
306 return embedder_render_process_id == guest_view->embedder_render_process_id(); | 307 return embedder_render_process_id == guest_view->embedder_render_process_id(); |
307 } | 308 } |
308 | 309 |
309 } // namespace extensions | 310 } // namespace extensions |
OLD | NEW |