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_frame_host.h" | 9 #include "content/public/browser/render_frame_host.h" |
10 #include "content/public/browser/render_process_host.h" | 10 #include "content/public/browser/render_process_host.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 | 29 |
30 // static | 30 // static |
31 GuestViewManagerFactory* GuestViewManager::factory_ = nullptr; | 31 GuestViewManagerFactory* GuestViewManager::factory_ = nullptr; |
32 | 32 |
33 GuestViewManager::GuestViewManager(content::BrowserContext* context) | 33 GuestViewManager::GuestViewManager(content::BrowserContext* context) |
34 : current_instance_id_(0), last_instance_id_removed_(0), context_(context) { | 34 : current_instance_id_(0), last_instance_id_removed_(0), context_(context) { |
35 } | 35 } |
36 | 36 |
37 GuestViewManager::~GuestViewManager() {} | 37 GuestViewManager::~GuestViewManager() {} |
38 | 38 |
39 // static. | 39 // static |
40 GuestViewManager* GuestViewManager::FromBrowserContext( | 40 GuestViewManager* GuestViewManager::FromBrowserContext( |
41 BrowserContext* context) { | 41 BrowserContext* context) { |
42 GuestViewManager* guest_manager = | 42 GuestViewManager* guest_manager = |
43 static_cast<GuestViewManager*>(context->GetUserData( | 43 static_cast<GuestViewManager*>(context->GetUserData( |
44 guestview::kGuestViewManagerKeyName)); | 44 guestview::kGuestViewManagerKeyName)); |
45 if (!guest_manager) { | 45 if (!guest_manager) { |
46 if (factory_) { | 46 if (factory_) { |
47 guest_manager = factory_->CreateGuestViewManager(context); | 47 guest_manager = factory_->CreateGuestViewManager(context); |
48 } else { | 48 } else { |
49 guest_manager = new GuestViewManager(context); | 49 guest_manager = new GuestViewManager(context); |
50 } | 50 } |
51 context->SetUserData(guestview::kGuestViewManagerKeyName, guest_manager); | 51 context->SetUserData(guestview::kGuestViewManagerKeyName, guest_manager); |
52 } | 52 } |
53 return guest_manager; | 53 return guest_manager; |
54 } | 54 } |
55 | 55 |
| 56 // static |
| 57 GuestViewManager* GuestViewManager::FromBrowserContextIfAvailable( |
| 58 BrowserContext* context) { |
| 59 return static_cast<GuestViewManager*>(context->GetUserData( |
| 60 guestview::kGuestViewManagerKeyName)); |
| 61 } |
| 62 |
56 content::WebContents* GuestViewManager::GetGuestByInstanceIDSafely( | 63 content::WebContents* GuestViewManager::GetGuestByInstanceIDSafely( |
57 int guest_instance_id, | 64 int guest_instance_id, |
58 int embedder_render_process_id) { | 65 int embedder_render_process_id) { |
59 if (!CanEmbedderAccessInstanceIDMaybeKill(embedder_render_process_id, | 66 if (!CanEmbedderAccessInstanceIDMaybeKill(embedder_render_process_id, |
60 guest_instance_id)) { | 67 guest_instance_id)) { |
61 return nullptr; | 68 return nullptr; |
62 } | 69 } |
63 return GetGuestByInstanceID(guest_instance_id); | 70 return GetGuestByInstanceID(guest_instance_id); |
64 } | 71 } |
65 | 72 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 | 307 |
301 auto guest_view = GuestViewBase::FromWebContents(it->second); | 308 auto guest_view = GuestViewBase::FromWebContents(it->second); |
302 if (!guest_view) | 309 if (!guest_view) |
303 return false; | 310 return false; |
304 | 311 |
305 return embedder_render_process_id == | 312 return embedder_render_process_id == |
306 guest_view->owner_web_contents()->GetRenderProcessHost()->GetID(); | 313 guest_view->owner_web_contents()->GetRenderProcessHost()->GetID(); |
307 } | 314 } |
308 | 315 |
309 } // namespace extensions | 316 } // namespace extensions |
OLD | NEW |