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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 12277023: Define frame subscription interface and implementation on Mac (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: git fetch Created 7 years, 10 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/browser/renderer_host/render_widget_host_view_mac.mm
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 25e41f51adf7ed9a2cbc2ab5dda4ea46d7c6a120..647f25938c1c8d133f399e7d6d9ff3db53da20bf 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -38,6 +38,7 @@
#include "content/common/gpu/gpu_messages.h"
#include "content/common/plugin_messages.h"
#include "content/common/view_messages.h"
+#include "content/port/browser/render_widget_host_view_frame_subscriber.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/native_web_keyboard_event.h"
#import "content/public/browser/render_widget_host_view_mac_delegate.h"
@@ -1021,6 +1022,19 @@ bool RenderWidgetHostViewMac::CanCopyToVideoFrame() const {
compositing_iosurface_->HasIOSurface());
}
+bool RenderWidgetHostViewMac::CanSubscribeFrame() const {
+ return true;
+}
+
+void RenderWidgetHostViewMac::BeginFrameSubscription(
+ RenderWidgetHostViewFrameSubscriber* subscriber) {
+ frame_subscriber_.reset(subscriber);
+}
+
+void RenderWidgetHostViewMac::EndFrameSubscription() {
+ frame_subscriber_.reset();
+}
+
// Sets whether or not to accept first responder status.
void RenderWidgetHostViewMac::SetTakesFocusOnlyOnMouseDown(bool flag) {
[cocoa_view_ setTakesFocusOnlyOnMouseDown:flag];
@@ -1134,7 +1148,8 @@ bool RenderWidgetHostViewMac::CompositorSwapBuffers(uint64 surface_handle,
// later.
if (!about_to_validate_and_paint_) {
compositing_iosurface_->DrawIOSurface(cocoa_view_,
- ScaleFactor(cocoa_view_));
+ ScaleFactor(cocoa_view_),
+ frame_subscriber_.get());
}
return true;
}
@@ -2460,7 +2475,7 @@ gfx::Rect RenderWidgetHostViewMac::GetScaledOpenGLPixelRect(
}
renderWidgetHostView_->compositing_iosurface_->DrawIOSurface(
- self, ScaleFactor(self));
+ self, ScaleFactor(self), renderWidgetHostView_->frame_subscriber());
return;
}

Powered by Google App Engine
This is Rietveld 408576698