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

Side by Side Diff: chrome/browser/task_manager/guest_information.cc

Issue 1102173002: Move GuestView layer in browser to components (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test change to build Created 5 years, 7 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
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 "chrome/browser/task_manager/guest_information.h" 5 #include "chrome/browser/task_manager/guest_information.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/task_manager/renderer_resource.h" 10 #include "chrome/browser/task_manager/renderer_resource.h"
11 #include "chrome/browser/task_manager/resource_provider.h" 11 #include "chrome/browser/task_manager/resource_provider.h"
12 #include "chrome/browser/task_manager/task_manager.h" 12 #include "chrome/browser/task_manager/task_manager.h"
13 #include "chrome/browser/task_manager/task_manager_util.h" 13 #include "chrome/browser/task_manager/task_manager_util.h"
14 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "components/favicon/content/content_favicon_driver.h" 15 #include "components/favicon/content/content_favicon_driver.h"
16 #include "components/guest_view/browser/guest_view_base.h"
16 #include "content/public/browser/notification_service.h" 17 #include "content/public/browser/notification_service.h"
17 #include "content/public/browser/render_frame_host.h" 18 #include "content/public/browser/render_frame_host.h"
18 #include "content/public/browser/render_process_host.h" 19 #include "content/public/browser/render_process_host.h"
19 #include "content/public/browser/render_view_host.h" 20 #include "content/public/browser/render_view_host.h"
20 #include "content/public/browser/render_widget_host_iterator.h" 21 #include "content/public/browser/render_widget_host_iterator.h"
21 #include "content/public/browser/site_instance.h" 22 #include "content/public/browser/site_instance.h"
22 #include "content/public/browser/web_contents.h" 23 #include "content/public/browser/web_contents.h"
23 #include "extensions/browser/guest_view/guest_view_base.h"
24 #include "extensions/strings/grit/extensions_strings.h" 24 #include "extensions/strings/grit/extensions_strings.h"
25 #include "ui/base/l10n/l10n_util.h" 25 #include "ui/base/l10n/l10n_util.h"
26 #include "ui/gfx/image/image.h" 26 #include "ui/gfx/image/image.h"
27 #include "ui/gfx/image/image_skia.h" 27 #include "ui/gfx/image/image_skia.h"
28 28
29 using content::RenderProcessHost; 29 using content::RenderProcessHost;
30 using content::RenderViewHost; 30 using content::RenderViewHost;
31 using content::RenderWidgetHost; 31 using content::RenderWidgetHost;
32 using content::WebContents; 32 using content::WebContents;
33 using extensions::Extension; 33 using extensions::Extension;
34 using guestview::GuestViewBase;
34 35
35 namespace task_manager { 36 namespace task_manager {
36 37
37 class GuestResource : public RendererResource { 38 class GuestResource : public RendererResource {
38 public: 39 public:
39 explicit GuestResource(content::RenderViewHost* render_view_host); 40 explicit GuestResource(content::RenderViewHost* render_view_host);
40 ~GuestResource() override; 41 ~GuestResource() override;
41 42
42 // Resource methods: 43 // Resource methods:
43 Type GetType() const override; 44 Type GetType() const override;
(...skipping 17 matching lines...) Expand all
61 Resource::Type GuestResource::GetType() const { 62 Resource::Type GuestResource::GetType() const {
62 return GUEST; 63 return GUEST;
63 } 64 }
64 65
65 base::string16 GuestResource::GetTitle() const { 66 base::string16 GuestResource::GetTitle() const {
66 WebContents* web_contents = GetWebContents(); 67 WebContents* web_contents = GetWebContents();
67 if (!web_contents) { 68 if (!web_contents) {
68 const int message_id = IDS_EXTENSION_TASK_MANAGER_WEBVIEW_TAG_PREFIX; 69 const int message_id = IDS_EXTENSION_TASK_MANAGER_WEBVIEW_TAG_PREFIX;
69 return l10n_util::GetStringFUTF16(message_id, base::string16()); 70 return l10n_util::GetStringFUTF16(message_id, base::string16());
70 } 71 }
71 extensions::GuestViewBase* guest = 72 GuestViewBase* guest = GuestViewBase::FromWebContents(web_contents);
72 extensions::GuestViewBase::FromWebContents(web_contents);
73 return l10n_util::GetStringFUTF16( 73 return l10n_util::GetStringFUTF16(
74 guest->GetTaskPrefix(), 74 guest->GetTaskPrefix(),
75 util::GetTitleFromWebContents(web_contents)); 75 util::GetTitleFromWebContents(web_contents));
76 } 76 }
77 77
78 gfx::ImageSkia GuestResource::GetIcon() const { 78 gfx::ImageSkia GuestResource::GetIcon() const {
79 WebContents* web_contents = GetWebContents(); 79 WebContents* web_contents = GetWebContents();
80 if (web_contents) { 80 if (web_contents) {
81 favicon::FaviconDriver* favicon_driver = 81 favicon::FaviconDriver* favicon_driver =
82 favicon::ContentFaviconDriver::FromWebContents(web_contents); 82 favicon::ContentFaviconDriver::FromWebContents(web_contents);
(...skipping 10 matching lines...) Expand all
93 //////////////////////////////////////////////////////////////////////////////// 93 ////////////////////////////////////////////////////////////////////////////////
94 // GuestInformation class 94 // GuestInformation class
95 //////////////////////////////////////////////////////////////////////////////// 95 ////////////////////////////////////////////////////////////////////////////////
96 96
97 GuestInformation::GuestInformation() {} 97 GuestInformation::GuestInformation() {}
98 98
99 GuestInformation::~GuestInformation() {} 99 GuestInformation::~GuestInformation() {}
100 100
101 bool GuestInformation::CheckOwnership(WebContents* web_contents) { 101 bool GuestInformation::CheckOwnership(WebContents* web_contents) {
102 // Guest WebContentses are created and owned internally by the content layer. 102 // Guest WebContentses are created and owned internally by the content layer.
103 return extensions::GuestViewBase::IsGuest(web_contents); 103 return GuestViewBase::IsGuest(web_contents);
104 } 104 }
105 105
106 void GuestInformation::GetAll(const NewWebContentsCallback& callback) { 106 void GuestInformation::GetAll(const NewWebContentsCallback& callback) {
107 scoped_ptr<content::RenderWidgetHostIterator> widgets( 107 scoped_ptr<content::RenderWidgetHostIterator> widgets(
108 content::RenderWidgetHost::GetRenderWidgetHosts()); 108 content::RenderWidgetHost::GetRenderWidgetHosts());
109 while (content::RenderWidgetHost* widget = widgets->GetNextHost()) { 109 while (content::RenderWidgetHost* widget = widgets->GetNextHost()) {
110 if (widget->IsRenderView()) { 110 if (widget->IsRenderView()) {
111 content::RenderViewHost* rvh = content::RenderViewHost::From(widget); 111 content::RenderViewHost* rvh = content::RenderViewHost::From(widget);
112 WebContents* web_contents = WebContents::FromRenderViewHost(rvh); 112 WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
113 if (web_contents && extensions::GuestViewBase::IsGuest(web_contents)) 113 if (web_contents && GuestViewBase::IsGuest(web_contents))
114 callback.Run(web_contents); 114 callback.Run(web_contents);
115 } 115 }
116 } 116 }
117 } 117 }
118 118
119 scoped_ptr<RendererResource> GuestInformation::MakeResource( 119 scoped_ptr<RendererResource> GuestInformation::MakeResource(
120 WebContents* web_contents) { 120 WebContents* web_contents) {
121 return scoped_ptr<RendererResource>( 121 return scoped_ptr<RendererResource>(
122 new GuestResource(web_contents->GetRenderViewHost())); 122 new GuestResource(web_contents->GetRenderViewHost()));
123 } 123 }
124 124
125 } // namespace task_manager 125 } // namespace task_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698