| 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 2df2a6fbf7b1934c2c8863d10e2cf03c7a8cc23e..5785fc7890779e4fd690ab0ed1b8ec6f075f7c26 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"
|
| @@ -1019,6 +1020,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];
|
| @@ -1132,7 +1146,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;
|
| }
|
| @@ -2458,7 +2473,7 @@ gfx::Rect RenderWidgetHostViewMac::GetScaledOpenGLPixelRect(
|
| }
|
|
|
| renderWidgetHostView_->compositing_iosurface_->DrawIOSurface(
|
| - self, ScaleFactor(self));
|
| + self, ScaleFactor(self), renderWidgetHostView_->frame_subscriber());
|
| return;
|
| }
|
|
|
|
|