| Index: content/browser/compositor/delegated_frame_host.cc
|
| diff --git a/content/browser/compositor/delegated_frame_host.cc b/content/browser/compositor/delegated_frame_host.cc
|
| index 8f362de8572e5cdd534aa4b8e947df9c4760abd4..0fb665771107286d2e7998bd7ea91318b81ba0e5 100644
|
| --- a/content/browser/compositor/delegated_frame_host.cc
|
| +++ b/content/browser/compositor/delegated_frame_host.cc
|
| @@ -376,7 +376,7 @@
|
| }
|
| last_output_surface_id_ = output_surface_id;
|
| }
|
| - bool skip_frame_size_mismatch = false;
|
| + bool immediate_ack = !compositor_;
|
| pending_delegated_ack_count_++;
|
|
|
| if (frame_size.IsEmpty()) {
|
| @@ -418,10 +418,10 @@
|
|
|
| gfx::Size desired_size = client_->DelegatedFrameHostDesiredSizeInDIP();
|
| if (desired_size != frame_size_in_dip && !desired_size.IsEmpty())
|
| - skip_frame_size_mismatch = true;
|
| + immediate_ack = true;
|
|
|
| cc::SurfaceFactory::DrawCallback ack_callback;
|
| - if (compositor_ && !skip_frame_size_mismatch) {
|
| + if (compositor_ && !immediate_ack) {
|
| ack_callback = base::Bind(&DelegatedFrameHost::SurfaceDrawn,
|
| AsWeakPtr(), output_surface_id);
|
| }
|
| @@ -457,9 +457,7 @@
|
| client_->DelegatedFrameHostGetLayer()->OnDelegatedFrameDamage(
|
| damage_rect_in_dip);
|
|
|
| - // Note that |compositor_| may be reset by SetShowSurface or
|
| - // SetShowDelegatedContent above.
|
| - if (!compositor_ || skip_frame_size_mismatch) {
|
| + if (immediate_ack) {
|
| SendDelegatedFrameAck(output_surface_id);
|
| } else if (!use_surfaces_) {
|
| std::vector<ui::LatencyInfo>::const_iterator it;
|
|
|