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

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 849723002: Plugin Power Saver: Make PepperPluginInstanceThrottler interface public. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 | « content/renderer/render_frame_impl.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 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
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
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
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
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
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698