Index: cc/output/output_surface.cc |
diff --git a/cc/output/output_surface.cc b/cc/output/output_surface.cc |
index 2ffcf95901f8885463802adeb584ef27c739847b..812f46bb3cc326dc45ee47643102d700bd03b7c2 100644 |
--- a/cc/output/output_surface.cc |
+++ b/cc/output/output_surface.cc |
@@ -39,7 +39,7 @@ OutputSurface::OutputSurface(scoped_refptr<ContextProvider> context_provider) |
max_frames_pending_(0), |
pending_swap_buffers_(0), |
needs_begin_frame_(false), |
- begin_frame_pending_(false), |
+ client_ready_for_begin_frame_(true), |
client_(NULL), |
check_for_retroactive_begin_frame_pending_(false), |
external_stencil_test_enabled_(false) {} |
@@ -54,7 +54,7 @@ OutputSurface::OutputSurface( |
max_frames_pending_(0), |
pending_swap_buffers_(0), |
needs_begin_frame_(false), |
- begin_frame_pending_(false), |
+ client_ready_for_begin_frame_(true), |
client_(NULL), |
check_for_retroactive_begin_frame_pending_(false), |
external_stencil_test_enabled_(false) {} |
@@ -71,7 +71,7 @@ OutputSurface::OutputSurface( |
max_frames_pending_(0), |
pending_swap_buffers_(0), |
needs_begin_frame_(false), |
- begin_frame_pending_(false), |
+ client_ready_for_begin_frame_(true), |
client_(NULL), |
check_for_retroactive_begin_frame_pending_(false), |
external_stencil_test_enabled_(false) {} |
@@ -133,7 +133,7 @@ void OutputSurface::SetNeedsRedrawRect(gfx::Rect damage_rect) { |
void OutputSurface::SetNeedsBeginFrame(bool enable) { |
TRACE_EVENT1("cc", "OutputSurface::SetNeedsBeginFrame", "enable", enable); |
needs_begin_frame_ = enable; |
- begin_frame_pending_ = false; |
+ client_ready_for_begin_frame_ = true; |
if (frame_rate_controller_) { |
BeginFrameArgs skipped = frame_rate_controller_->SetActive(enable); |
if (skipped.IsValid()) |
@@ -145,14 +145,14 @@ void OutputSurface::SetNeedsBeginFrame(bool enable) { |
void OutputSurface::BeginFrame(const BeginFrameArgs& args) { |
TRACE_EVENT2("cc", "OutputSurface::BeginFrame", |
- "begin_frame_pending_", begin_frame_pending_, |
+ "client_ready_for_begin_frame_", client_ready_for_begin_frame_, |
"pending_swap_buffers_", pending_swap_buffers_); |
- if (!needs_begin_frame_ || begin_frame_pending_ || |
+ if (!needs_begin_frame_ || !client_ready_for_begin_frame_ || |
(pending_swap_buffers_ >= max_frames_pending_ && |
max_frames_pending_ > 0)) { |
skipped_begin_frame_args_ = args; |
} else { |
- begin_frame_pending_ = true; |
+ client_ready_for_begin_frame_ = false; |
client_->BeginFrame(args); |
// args might be an alias for skipped_begin_frame_args_. |
// Do not reset it before calling BeginFrame! |
@@ -192,7 +192,6 @@ void OutputSurface::CheckForRetroactiveBeginFrame() { |
} |
void OutputSurface::DidSwapBuffers() { |
- begin_frame_pending_ = false; |
pending_swap_buffers_++; |
TRACE_EVENT1("cc", "OutputSurface::DidSwapBuffers", |
"pending_swap_buffers_", pending_swap_buffers_); |
@@ -213,7 +212,7 @@ void OutputSurface::OnSwapBuffersComplete(const CompositorFrameAck* ack) { |
void OutputSurface::DidLoseOutputSurface() { |
TRACE_EVENT0("cc", "OutputSurface::DidLoseOutputSurface"); |
- begin_frame_pending_ = false; |
+ client_ready_for_begin_frame_ = true; |
pending_swap_buffers_ = 0; |
client_->DidLoseOutputSurface(); |
} |