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

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

Issue 387863004: Revert 281866 "Mac ÜC: Make resize smooth" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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: trunk/src/content/browser/renderer_host/render_widget_host_view_mac.mm
===================================================================
--- trunk/src/content/browser/renderer_host/render_widget_host_view_mac.mm (revision 282673)
+++ trunk/src/content/browser/renderer_host/render_widget_host_view_mac.mm (working copy)
@@ -413,23 +413,10 @@
void RenderWidgetHostViewMac::SchedulePaintInRect(
const gfx::Rect& damage_rect_in_dip) {
- // Do not paint immediately because this is being called from deep inside
- // DelegatedFrameHost, and not all of its state is set up yet.
- if (browser_compositor_view_ && !browser_compositor_has_pending_paint_) {
- browser_compositor_has_pending_paint_ = true;
- base::MessageLoop::current()->PostTask(FROM_HERE,
- base::Bind(&RenderWidgetHostViewMac::DoBrowserCompositorPendingPaint,
- weak_factory_.GetWeakPtr()));
- }
+ if (browser_compositor_view_)
+ browser_compositor_view_->GetCompositor()->ScheduleFullRedraw();
}
-void RenderWidgetHostViewMac::DoBrowserCompositorPendingPaint() {
- if (browser_compositor_has_pending_paint_) {
- browser_compositor_view_->GetCompositor()->Draw();
- browser_compositor_has_pending_paint_ = false;
- }
-}
-
bool RenderWidgetHostViewMac::IsVisible() {
return !render_widget_host_->is_hidden();
}
@@ -481,10 +468,6 @@
return root_layer_.get();
}
-bool RenderWidgetHostViewMac::BrowserCompositorShouldDrawImmediately() {
- return is_paused_for_resize_or_repaint_;
-}
-
///////////////////////////////////////////////////////////////////////////////
// RenderWidgetHostViewBase, public:
@@ -501,12 +484,10 @@
: render_widget_host_(RenderWidgetHostImpl::From(widget)),
text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
can_compose_inline_(true),
- browser_compositor_has_pending_paint_(false),
browser_compositor_view_placeholder_(
new BrowserCompositorViewPlaceholderMac),
backing_store_scale_factor_(1),
is_loading_(false),
- is_paused_for_resize_or_repaint_(false),
weak_factory_(this),
fullscreen_parent_host_view_(NULL),
overlay_view_weak_factory_(this),
@@ -632,10 +613,6 @@
browser_compositor_view_.reset(new BrowserCompositorViewMac(this));
delegated_frame_host_->AddedToWindow();
delegated_frame_host_->WasShown();
- RenderWidgetHelper::SetRenderWidgetIDForWidget(
- browser_compositor_view_->GetView(),
- render_widget_host_->GetProcess()->GetID(),
- render_widget_host_->GetRoutingID());
}
void RenderWidgetHostViewMac::DestroyBrowserCompositorView() {
@@ -646,10 +623,7 @@
delegated_frame_host_->WasHidden();
delegated_frame_host_->RemovingFromWindow();
- RenderWidgetHelper::ResetRenderWidgetIDForWidget(
- browser_compositor_view_->GetView());
browser_compositor_view_.reset();
- browser_compositor_has_pending_paint_ = false;
}
void RenderWidgetHostViewMac::EnsureSoftwareLayer() {
@@ -1830,8 +1804,6 @@
software_frame_manager_->GetCurrentFrameSizeInDIP() ==
desired_size);
}
- if (browser_compositor_view_)
- return browser_compositor_view_->HasFrameWithSizeInDIP(desired_size);
return false;
}
@@ -1863,8 +1835,6 @@
frame->delegated_frame_data.Pass(),
frame->metadata.device_scale_factor,
frame->metadata.latency_info);
-
- DoBrowserCompositorPendingPaint();
} else if (frame->software_frame_data) {
if (!software_frame_manager_->SwapToNewFrame(
output_surface_id,
@@ -2219,6 +2189,11 @@
if (!render_widget_host_ || render_widget_host_->is_hidden())
return;
+ // Synchronized resizing does not yet work with browser compositor.
+ // http://crbug.com/388005
+ if (delegated_frame_host_)
+ 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.
@@ -2231,9 +2206,7 @@
SendPendingSwapAck();
// Wait for a frame of the right size to come in.
- is_paused_for_resize_or_repaint_ = true;
render_widget_host_->PauseForPendingResizeOrRepaints();
- is_paused_for_resize_or_repaint_ = false;
// Immediately draw any frames that haven't been drawn yet. This is necessary
// to keep the window and the window's contents in sync.
« no previous file with comments | « trunk/src/content/browser/renderer_host/render_widget_host_view_mac.h ('k') | trunk/src/content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698