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 "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 Loading... |
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 Loading... |
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 |
OLD | NEW |