Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: extensions/browser/guest_view/guest_view_manager.cc

Issue 880983006: GuestView: Show status bubbles in browser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only call ForEachGuest if a GuestViewManager exists Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/browser/guest_view/guest_view_manager.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « extensions/browser/guest_view/guest_view_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698