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

Unified Diff: content/renderer/pepper/plugin_instance_throttler_impl.h

Issue 1015023002: Plugin Power Saver: Throttle 'large' plugins that appear small. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/pepper/plugin_instance_throttler_impl.h
diff --git a/content/renderer/pepper/plugin_instance_throttler_impl.h b/content/renderer/pepper/plugin_instance_throttler_impl.h
index 54f17cfff9bdae5ac0f868fa777ef378d5fe78d2..b33db8e8558d3d3460f3edd84ecebdd541ba7200 100644
--- a/content/renderer/pepper/plugin_instance_throttler_impl.h
+++ b/content/renderer/pepper/plugin_instance_throttler_impl.h
@@ -13,6 +13,7 @@
#include "content/public/renderer/plugin_instance_throttler.h"
#include "ppapi/shared_impl/ppb_view_shared.h"
#include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/geometry/size.h"
namespace blink {
class WebInputEvent;
@@ -38,6 +39,7 @@ class CONTENT_EXPORT PluginInstanceThrottlerImpl
void MarkPluginEssential(PowerSaverUnthrottleMethod method) override;
void SetHiddenForPlaceholder(bool hidden) override;
blink::WebPlugin* GetWebPlugin() const override;
+ const gfx::Size& GetSize() const override;
void NotifyAudioThrottled() override;
void SetWebPlugin(blink::WebPlugin* web_plugin);
@@ -50,11 +52,10 @@ class CONTENT_EXPORT PluginInstanceThrottlerImpl
return state_ != THROTTLER_STATE_MARKED_ESSENTIAL;
}
- // Throttler needs to be initialized with the real plugin's view bounds.
void Initialize(RenderFrameImpl* frame,
const GURL& content_origin,
const std::string& plugin_module_name,
- const blink::WebRect& bounds);
+ const gfx::Size& unobscured_size);
// Called when the plugin flushes it's graphics context. Supplies the
// throttler with a candidate to use as the representative keyframe.
@@ -99,6 +100,9 @@ class CONTENT_EXPORT PluginInstanceThrottlerImpl
// Number of frames we've examined to find a keyframe.
int frames_examined_;
+ // Plugin's unobscured dimensions as of initialization.
+ gfx::Size unobscured_size_;
+
// Video plugins with throttled audio often stop generating frames.
// This timer is so we don't wait forever for candidate poster frames.
bool audio_throttled_;
« no previous file with comments | « content/renderer/pepper/pepper_webplugin_impl.cc ('k') | content/renderer/pepper/plugin_instance_throttler_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698