| 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 dbd387441210ac256eb003eb4ae88f1f1ec8638a..8229632fee91d404bb51bfb9bef8a34f0c09cc03 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
| @@ -507,9 +507,9 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
|
| backing_store_scale_factor_(1),
|
| is_loading_(false),
|
| is_paused_for_resize_or_repaint_(false),
|
| + allow_pause_for_resize_or_repaint_(true),
|
| weak_factory_(this),
|
| fullscreen_parent_host_view_(NULL),
|
| - overlay_view_weak_factory_(this),
|
| software_frame_weak_ptr_factory_(this) {
|
| software_frame_manager_.reset(new SoftwareFrameManager(
|
| software_frame_weak_ptr_factory_.GetWeakPtr()));
|
| @@ -562,6 +562,10 @@ void RenderWidgetHostViewMac::SetAllowOverlappingViews(bool overlapping) {
|
| // TODO(ccameron): Remove callers of this function.
|
| }
|
|
|
| +void RenderWidgetHostViewMac::SetAllowPauseForResizeOrRepaint(bool allow) {
|
| + allow_pause_for_resize_or_repaint_ = allow;
|
| +}
|
| +
|
| ///////////////////////////////////////////////////////////////////////////////
|
| // RenderWidgetHostViewMac, RenderWidgetHostView implementation:
|
|
|
| @@ -1592,22 +1596,6 @@ void RenderWidgetHostViewMac::DestroyCompositingStateOnError() {
|
| // repeatedly.
|
| }
|
|
|
| -void RenderWidgetHostViewMac::SetOverlayView(
|
| - RenderWidgetHostViewMac* overlay, const gfx::Point& offset) {
|
| - if (overlay_view_)
|
| - overlay_view_->underlay_view_.reset();
|
| -
|
| - overlay_view_ = overlay->overlay_view_weak_factory_.GetWeakPtr();
|
| - overlay_view_->underlay_view_ = overlay_view_weak_factory_.GetWeakPtr();
|
| -}
|
| -
|
| -void RenderWidgetHostViewMac::RemoveOverlayView() {
|
| - if (overlay_view_) {
|
| - overlay_view_->underlay_view_.reset();
|
| - overlay_view_.reset();
|
| - }
|
| -}
|
| -
|
| bool RenderWidgetHostViewMac::GetLineBreakIndex(
|
| const std::vector<gfx::Rect>& bounds,
|
| const gfx::Range& range,
|
| @@ -2219,10 +2207,9 @@ void RenderWidgetHostViewMac::PauseForPendingResizeOrRepaintsAndDraw() {
|
| if (!render_widget_host_ || render_widget_host_->is_hidden())
|
| return;
|
|
|
| - // Pausing for the overlay/underlay view prevents the other one from receiving
|
| - // frames. This may lead to large delays, causing overlaps.
|
| - // See crbug.com/352020.
|
| - if (underlay_view_ || overlay_view_)
|
| + // Pausing for one view prevents others from receiving frames.
|
| + // This may lead to large delays, causing overlaps. See crbug.com/352020.
|
| + if (!allow_pause_for_resize_or_repaint_)
|
| return;
|
|
|
| // Ensure that all frames are acked before waiting for a frame to come in.
|
|
|