| 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 3988f1fa6ef9c923322d845418415ff959301997..072bc66ab821e03b850cd8a13c084b683100b51b 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -48,7 +48,6 @@
|
| #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
|
| #import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_helper.h"
|
| #import "content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.h"
|
| -#include "content/browser/renderer_host/resize_lock.h"
|
| #import "content/browser/renderer_host/text_input_client_mac.h"
|
| #include "content/common/accessibility_messages.h"
|
| #include "content/common/edit_command.h"
|
| @@ -403,17 +402,17 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
| namespace content {
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// DelegatedFrameHost, public:
|
| +// BrowserCompositorMacClient, public:
|
|
|
| -ui::Layer* RenderWidgetHostViewMac::DelegatedFrameHostGetLayer() const {
|
| - return browser_compositor_->GetRootLayer();
|
| +NSView* RenderWidgetHostViewMac::BrowserCompositorMacGetNSView() const {
|
| + return cocoa_view_;
|
| }
|
|
|
| -bool RenderWidgetHostViewMac::DelegatedFrameHostIsVisible() const {
|
| +bool RenderWidgetHostViewMac::BrowserCompositorMacIsVisible() const {
|
| return !render_widget_host_->is_hidden();
|
| }
|
|
|
| -SkColor RenderWidgetHostViewMac::DelegatedFrameHostGetGutterColor(
|
| +SkColor RenderWidgetHostViewMac::BrowserCompositorMacGetGutterColor(
|
| SkColor color) const {
|
| // When making an element on the page fullscreen the element's background
|
| // may not match the page's, so use black as the gutter color to avoid
|
| @@ -425,92 +424,35 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
| return color;
|
| }
|
|
|
| -gfx::Size RenderWidgetHostViewMac::DelegatedFrameHostDesiredSizeInDIP() const {
|
| - return GetViewBounds().size();
|
| -}
|
| -
|
| -bool RenderWidgetHostViewMac::DelegatedFrameCanCreateResizeLock() const {
|
| - // Mac uses the RenderWidgetResizeHelper instead of a resize lock.
|
| - return false;
|
| -}
|
| -
|
| -std::unique_ptr<ResizeLock>
|
| -RenderWidgetHostViewMac::DelegatedFrameHostCreateResizeLock(
|
| - bool defer_compositor_lock) {
|
| - NOTREACHED();
|
| - return std::unique_ptr<ResizeLock>();
|
| -}
|
| -
|
| -void RenderWidgetHostViewMac::DelegatedFrameHostResizeLockWasReleased() {
|
| - NOTREACHED();
|
| -}
|
| -
|
| -void RenderWidgetHostViewMac::DelegatedFrameHostSendCompositorSwapAck(
|
| +void RenderWidgetHostViewMac::BrowserCompositorMacSendCompositorSwapAck(
|
| int output_surface_id,
|
| const cc::CompositorFrameAck& ack) {
|
| render_widget_host_->Send(new ViewMsg_SwapCompositorFrameAck(
|
| render_widget_host_->GetRoutingID(), output_surface_id, ack));
|
| }
|
|
|
| -void RenderWidgetHostViewMac::DelegatedFrameHostSendReclaimCompositorResources(
|
| - int output_surface_id,
|
| - const cc::CompositorFrameAck& ack) {
|
| +void RenderWidgetHostViewMac::
|
| + BrowserCompositorMacSendReclaimCompositorResources(
|
| + int output_surface_id,
|
| + const cc::CompositorFrameAck& ack) {
|
| render_widget_host_->Send(new ViewMsg_ReclaimCompositorResources(
|
| render_widget_host_->GetRoutingID(), output_surface_id, ack));
|
| }
|
|
|
| -void RenderWidgetHostViewMac::DelegatedFrameHostOnLostCompositorResources() {
|
| +void RenderWidgetHostViewMac::BrowserCompositorMacOnLostCompositorResources() {
|
| render_widget_host_->ScheduleComposite();
|
| }
|
|
|
| -void RenderWidgetHostViewMac::DelegatedFrameHostUpdateVSyncParameters(
|
| +void RenderWidgetHostViewMac::BrowserCompositorMacUpdateVSyncParameters(
|
| const base::TimeTicks& timebase,
|
| const base::TimeDelta& interval) {
|
| render_widget_host_->UpdateVSyncParameters(timebase, interval);
|
| }
|
|
|
| -void RenderWidgetHostViewMac::SetBeginFrameSource(
|
| - cc::BeginFrameSource* source) {
|
| - if (begin_frame_source_ && needs_begin_frames_)
|
| - begin_frame_source_->RemoveObserver(this);
|
| - begin_frame_source_ = source;
|
| - if (begin_frame_source_ && needs_begin_frames_)
|
| - begin_frame_source_->AddObserver(this);
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// cc::BeginFrameSourceBase, public:
|
| -
|
| -void RenderWidgetHostViewMac::OnSetNeedsBeginFrames(bool needs_begin_frames) {
|
| - if (needs_begin_frames_ == needs_begin_frames)
|
| - return;
|
| -
|
| - needs_begin_frames_ = needs_begin_frames;
|
| - if (begin_frame_source_) {
|
| - if (needs_begin_frames_)
|
| - begin_frame_source_->AddObserver(this);
|
| - else
|
| - begin_frame_source_->RemoveObserver(this);
|
| - }
|
| -}
|
| -
|
| -void RenderWidgetHostViewMac::OnBeginFrame(
|
| +void RenderWidgetHostViewMac::BrowserCompositorMacSendBeginFrame(
|
| const cc::BeginFrameArgs& args) {
|
| - browser_compositor_->GetDelegatedFrameHost()->SetVSyncParameters(
|
| - args.frame_time, args.interval);
|
| render_widget_host_->Send(
|
| new ViewMsg_BeginFrame(render_widget_host_->GetRoutingID(), args));
|
| - last_begin_frame_args_ = args;
|
| -}
|
| -
|
| -const cc::BeginFrameArgs& RenderWidgetHostViewMac::LastUsedBeginFrameArgs()
|
| - const {
|
| - return last_begin_frame_args_;
|
| -}
|
| -
|
| -void RenderWidgetHostViewMac::OnBeginFrameSourcePausedChanged(
|
| - bool paused) {
|
| - // Only used on Android WebView.
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| @@ -556,8 +498,6 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
| allow_pause_for_resize_or_repaint_(true),
|
| is_guest_view_hack_(is_guest_view_hack),
|
| fullscreen_parent_host_view_(nullptr),
|
| - begin_frame_source_(nullptr),
|
| - needs_begin_frames_(false),
|
| weak_factory_(this) {
|
| // |cocoa_view_| owns us and we will be deleted when |cocoa_view_|
|
| // goes away. Since we autorelease it, our caller must put
|
| @@ -601,8 +541,7 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
|
|
| UnlockMouse();
|
|
|
| - // Ensure that the browser compositor is destroyed in a safe order.
|
| - browser_compositor_->Destroy();
|
| + browser_compositor_.reset();
|
|
|
| // We are owned by RenderWidgetHostViewCocoa, so if we go away before the
|
| // RenderWidgetHost does we need to tell it not to hold a stale pointer to
|
| @@ -1012,7 +951,7 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
|
|
| // Delete the delegated frame state, which will reach back into
|
| // render_widget_host_.
|
| - browser_compositor_->Destroy();
|
| + browser_compositor_.reset();
|
|
|
| // Make sure none of our observers send events for us to process after
|
| // we release render_widget_host_.
|
| @@ -1194,6 +1133,10 @@ float FlipYFromRectToScreen(float y, float rect_height) {
|
| }
|
| }
|
|
|
| +void RenderWidgetHostViewMac::OnSetNeedsBeginFrames(bool needs_begin_frames) {
|
| + browser_compositor_->SetNeedsBeginFrames(needs_begin_frames);
|
| +}
|
| +
|
| void RenderWidgetHostViewMac::KillSelf() {
|
| if (!weak_factory_.HasWeakPtrs()) {
|
| [cocoa_view_ setHidden:YES];
|
|
|