Index: content/renderer/gpu/frame_swap_message_queue.cc |
diff --git a/content/renderer/gpu/frame_swap_message_queue.cc b/content/renderer/gpu/frame_swap_message_queue.cc |
index 5a313829cb14bdff612db09b06ed67116c6d0fec..84fcdd4e2ce8d7b3449906c6e081a8da2f453a9d 100644 |
--- a/content/renderer/gpu/frame_swap_message_queue.cc |
+++ b/content/renderer/gpu/frame_swap_message_queue.cc |
@@ -146,13 +146,17 @@ void FrameSwapMessageQueue::QueueMessageForFrame(MessageDeliveryPolicy policy, |
GetSubQueue(policy)->QueueMessage(source_frame_number, msg.Pass(), is_first); |
} |
-void FrameSwapMessageQueue::DidSwap(int source_frame_number) { |
+void FrameSwapMessageQueue::DidActivate(int source_frame_number) { |
base::AutoLock lock(lock_); |
- |
visual_state_queue_->DrainMessages(source_frame_number, |
&next_drain_messages_); |
} |
+void FrameSwapMessageQueue::DidSwap(int source_frame_number) { |
+ base::AutoLock lock(lock_); |
+ swap_queue_->DrainMessages(0, &next_drain_messages_); |
+} |
+ |
void FrameSwapMessageQueue::DidNotSwap(int source_frame_number, |
cc::SwapPromise::DidNotSwapReason reason, |
ScopedVector<IPC::Message>* messages) { |
@@ -164,21 +168,18 @@ void FrameSwapMessageQueue::DidNotSwap(int source_frame_number, |
visual_state_queue_->DrainMessages(source_frame_number, messages); |
break; |
case cc::SwapPromise::COMMIT_FAILS: |
- // Do not queue any responses here. |
- // If COMMIT_FAILS the renderer is shutting down, which will |
- // result in the RenderFrameHostImpl destructor firing the |
- // remaining response callbacks itself. |
+ case cc::SwapPromise::ACTIVATION_FAILS: |
+ // Do not queue any responses here. If ACTIVATION_FAILS or |
+ // COMMIT_FAILS the renderer is shutting down, which will result |
+ // in the RenderFrameHostImpl destructor firing the remaining |
+ // response callbacks itself. |
break; |
- default: |
- NOTREACHED(); |
} |
} |
void FrameSwapMessageQueue::DrainMessages( |
ScopedVector<IPC::Message>* messages) { |
lock_.AssertAcquired(); |
- |
- swap_queue_->DrainMessages(0, messages); |
messages->insert(messages->end(), |
next_drain_messages_.begin(), |
next_drain_messages_.end()); |