Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index d4a55d6075564736399c4b010ae9cb21a701d9df..6cca40b11e63460c4dcc664b43906faebf3b6a5f 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -406,12 +406,18 @@ void RenderWidget::Resize(const gfx::Size& new_size, |
// Resize should have caused an invalidation of the entire view. |
DCHECK(new_size.IsEmpty() || is_accelerated_compositing_active_ || |
paint_aggregator_.HasPendingUpdate()); |
- } else if (!RenderThreadImpl::current()->short_circuit_size_updates()) { |
piman
2013/05/14 22:19:43
I think you want to keep this check, as my underst
Xianzhu
2013/05/14 22:34:25
Done.
|
+ } else { |
+ resize_ack = NO_RESIZE_ACK; |
+ } |
+ |
+ if (new_size.IsEmpty() || physical_backing_size.IsEmpty()) { |
+ // For empty size or empty physical_backing_size, there is no next paint |
+ // (along with which to send the ack) until they are set to non-empty. |
resize_ack = NO_RESIZE_ACK; |
} |
// Send the Resize_ACK flag once we paint again if requested. |
- if (resize_ack == SEND_RESIZE_ACK && !new_size.IsEmpty()) |
+ if (resize_ack == SEND_RESIZE_ACK) |
set_next_paint_is_resize_ack(); |
if (fullscreen_change) |
@@ -419,8 +425,7 @@ void RenderWidget::Resize(const gfx::Size& new_size, |
// If a resize ack is requested and it isn't set-up, then no more resizes will |
// come in and in general things will go wrong. |
- DCHECK(resize_ack != SEND_RESIZE_ACK || new_size.IsEmpty() || |
- next_paint_is_resize_ack()); |
+ DCHECK(resize_ack != SEND_RESIZE_ACK || next_paint_is_resize_ack()); |
} |
void RenderWidget::OnClose() { |