OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 #include "content/renderer/media/crypto/render_cdm_factory.h" | 74 #include "content/renderer/media/crypto/render_cdm_factory.h" |
75 #include "content/renderer/media/media_stream_dispatcher.h" | 75 #include "content/renderer/media/media_stream_dispatcher.h" |
76 #include "content/renderer/media/media_stream_renderer_factory.h" | 76 #include "content/renderer/media/media_stream_renderer_factory.h" |
77 #include "content/renderer/media/midi_dispatcher.h" | 77 #include "content/renderer/media/midi_dispatcher.h" |
78 #include "content/renderer/media/render_media_log.h" | 78 #include "content/renderer/media/render_media_log.h" |
79 #include "content/renderer/media/user_media_client_impl.h" | 79 #include "content/renderer/media/user_media_client_impl.h" |
80 #include "content/renderer/media/webmediaplayer_ms.h" | 80 #include "content/renderer/media/webmediaplayer_ms.h" |
81 #include "content/renderer/mojo/service_registry_js_wrapper.h" | 81 #include "content/renderer/mojo/service_registry_js_wrapper.h" |
82 #include "content/renderer/notification_permission_dispatcher.h" | 82 #include "content/renderer/notification_permission_dispatcher.h" |
83 #include "content/renderer/npapi/plugin_channel_host.h" | 83 #include "content/renderer/npapi/plugin_channel_host.h" |
| 84 #include "content/renderer/pepper/plugin_instance_throttler_impl.h" |
84 #include "content/renderer/push_messaging/push_messaging_dispatcher.h" | 85 #include "content/renderer/push_messaging/push_messaging_dispatcher.h" |
85 #include "content/renderer/render_frame_proxy.h" | 86 #include "content/renderer/render_frame_proxy.h" |
86 #include "content/renderer/render_process.h" | 87 #include "content/renderer/render_process.h" |
87 #include "content/renderer/render_thread_impl.h" | 88 #include "content/renderer/render_thread_impl.h" |
88 #include "content/renderer/render_view_impl.h" | 89 #include "content/renderer/render_view_impl.h" |
89 #include "content/renderer/render_widget_fullscreen_pepper.h" | 90 #include "content/renderer/render_widget_fullscreen_pepper.h" |
90 #include "content/renderer/renderer_webapplicationcachehost_impl.h" | 91 #include "content/renderer/renderer_webapplicationcachehost_impl.h" |
91 #include "content/renderer/renderer_webcolorchooser_impl.h" | 92 #include "content/renderer/renderer_webcolorchooser_impl.h" |
92 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" | 93 #include "content/renderer/screen_orientation/screen_orientation_dispatcher.h" |
93 #include "content/renderer/shared_worker_repository.h" | 94 #include "content/renderer/shared_worker_repository.h" |
(...skipping 1515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1609 } | 1610 } |
1610 | 1611 |
1611 blink::WebNode RenderFrameImpl::GetContextMenuNode() const { | 1612 blink::WebNode RenderFrameImpl::GetContextMenuNode() const { |
1612 return context_menu_node_; | 1613 return context_menu_node_; |
1613 } | 1614 } |
1614 | 1615 |
1615 blink::WebPlugin* RenderFrameImpl::CreatePlugin( | 1616 blink::WebPlugin* RenderFrameImpl::CreatePlugin( |
1616 blink::WebFrame* frame, | 1617 blink::WebFrame* frame, |
1617 const WebPluginInfo& info, | 1618 const WebPluginInfo& info, |
1618 const blink::WebPluginParams& params, | 1619 const blink::WebPluginParams& params, |
1619 PluginPowerSaverMode power_saver_mode) { | 1620 scoped_ptr<content::PluginInstanceThrottler> throttler) { |
1620 DCHECK_EQ(frame_, frame); | 1621 DCHECK_EQ(frame_, frame); |
1621 #if defined(ENABLE_PLUGINS) | 1622 #if defined(ENABLE_PLUGINS) |
1622 bool pepper_plugin_was_registered = false; | 1623 bool pepper_plugin_was_registered = false; |
1623 scoped_refptr<PluginModule> pepper_module(PluginModule::Create( | 1624 scoped_refptr<PluginModule> pepper_module(PluginModule::Create( |
1624 this, info, &pepper_plugin_was_registered)); | 1625 this, info, &pepper_plugin_was_registered)); |
1625 if (pepper_plugin_was_registered) { | 1626 if (pepper_plugin_was_registered) { |
1626 if (pepper_module.get()) { | 1627 if (pepper_module.get()) { |
1627 return new PepperWebPluginImpl(pepper_module.get(), params, this, | 1628 return new PepperWebPluginImpl( |
1628 power_saver_mode); | 1629 pepper_module.get(), params, this, |
| 1630 make_scoped_ptr( |
| 1631 static_cast<PluginInstanceThrottlerImpl*>(throttler.release()))); |
1629 } | 1632 } |
1630 } | 1633 } |
1631 #if defined(OS_CHROMEOS) | 1634 #if defined(OS_CHROMEOS) |
1632 LOG(WARNING) << "Pepper module/plugin creation failed."; | 1635 LOG(WARNING) << "Pepper module/plugin creation failed."; |
1633 return NULL; | 1636 return NULL; |
1634 #else | 1637 #else |
1635 // TODO(jam): change to take RenderFrame. | 1638 // TODO(jam): change to take RenderFrame. |
1636 return new WebPluginImpl(frame, params, info.path, render_view_, this); | 1639 return new WebPluginImpl(frame, params, info.path, render_view_, this); |
1637 #endif | 1640 #endif |
1638 #else | 1641 #else |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1764 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( | 1767 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( |
1765 GetContentClient()->renderer()->CreateBrowserPluginDelegate( | 1768 GetContentClient()->renderer()->CreateBrowserPluginDelegate( |
1766 this, mime_type, GURL(params.url))); | 1769 this, mime_type, GURL(params.url))); |
1767 return BrowserPluginManager::Get()->CreateBrowserPlugin( | 1770 return BrowserPluginManager::Get()->CreateBrowserPlugin( |
1768 this, browser_plugin_delegate.Pass()); | 1771 this, browser_plugin_delegate.Pass()); |
1769 } | 1772 } |
1770 | 1773 |
1771 | 1774 |
1772 WebPluginParams params_to_use = params; | 1775 WebPluginParams params_to_use = params; |
1773 params_to_use.mimeType = WebString::fromUTF8(mime_type); | 1776 params_to_use.mimeType = WebString::fromUTF8(mime_type); |
1774 return CreatePlugin(frame, info, params_to_use, POWER_SAVER_MODE_ESSENTIAL); | 1777 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); |
1775 #else | 1778 #else |
1776 return NULL; | 1779 return NULL; |
1777 #endif // defined(ENABLE_PLUGINS) | 1780 #endif // defined(ENABLE_PLUGINS) |
1778 } | 1781 } |
1779 | 1782 |
1780 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( | 1783 blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer( |
1781 blink::WebLocalFrame* frame, | 1784 blink::WebLocalFrame* frame, |
1782 const blink::WebURL& url, | 1785 const blink::WebURL& url, |
1783 blink::WebMediaPlayerClient* client) { | 1786 blink::WebMediaPlayerClient* client) { |
1784 return createMediaPlayer(frame, url, client, NULL); | 1787 return createMediaPlayer(frame, url, client, NULL); |
(...skipping 2546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4331 | 4334 |
4332 #if defined(ENABLE_BROWSER_CDMS) | 4335 #if defined(ENABLE_BROWSER_CDMS) |
4333 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 4336 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
4334 if (!cdm_manager_) | 4337 if (!cdm_manager_) |
4335 cdm_manager_ = new RendererCdmManager(this); | 4338 cdm_manager_ = new RendererCdmManager(this); |
4336 return cdm_manager_; | 4339 return cdm_manager_; |
4337 } | 4340 } |
4338 #endif // defined(ENABLE_BROWSER_CDMS) | 4341 #endif // defined(ENABLE_BROWSER_CDMS) |
4339 | 4342 |
4340 } // namespace content | 4343 } // namespace content |
OLD | NEW |