Index: content/renderer/gpu/frame_update_message_queue.h |
diff --git a/content/renderer/gpu/frame_swap_message_queue.h b/content/renderer/gpu/frame_update_message_queue.h |
similarity index 70% |
rename from content/renderer/gpu/frame_swap_message_queue.h |
rename to content/renderer/gpu/frame_update_message_queue.h |
index 51eb229ed7871ed8367a2b39c19c741d868ee28b..d043d1ca7333d85fd144cf3af4de5d51ed36f705 100644 |
--- a/content/renderer/gpu/frame_swap_message_queue.h |
+++ b/content/renderer/gpu/frame_update_message_queue.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_RENDERER_GPU_FRAME_SWAP_MESSAGE_QUEUE_H_ |
-#define CONTENT_RENDERER_GPU_FRAME_SWAP_MESSAGE_QUEUE_H_ |
+#ifndef CONTENT_RENDERER_GPU_FRAME_UPDATE_MESSAGE_QUEUE_H_ |
+#define CONTENT_RENDERER_GPU_FRAME_UPDATE_MESSAGE_QUEUE_H_ |
#include <map> |
#include <vector> |
@@ -13,6 +13,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/scoped_vector.h" |
#include "base/synchronization/lock.h" |
+#include "cc/output/activation_promise.h" |
#include "cc/output/swap_promise.h" |
#include "content/common/content_export.h" |
#include "content/renderer/message_delivery_policy.h" |
@@ -23,19 +24,19 @@ class Message; |
namespace content { |
-class FrameSwapMessageSubQueue; |
+class FrameUpdateMessageSubQueue; |
// Queue used to keep track of which IPC::Messages should be sent along with a |
// particular compositor frame swap. |
-class CONTENT_EXPORT FrameSwapMessageQueue |
- : public base::RefCountedThreadSafe<FrameSwapMessageQueue> { |
+class CONTENT_EXPORT FrameUpdateMessageQueue |
+ : public base::RefCountedThreadSafe<FrameUpdateMessageQueue> { |
public: |
class CONTENT_EXPORT SendMessageScope { |
public: |
virtual ~SendMessageScope() {} |
}; |
- FrameSwapMessageQueue(); |
+ FrameUpdateMessageQueue(); |
// Queues message to be returned on a matching DrainMessages call. |
// |
@@ -52,6 +53,16 @@ class CONTENT_EXPORT FrameSwapMessageQueue |
// Returns true if there are no messages in the queue. |
bool Empty() const; |
+ // Should be called when a successful activate occurs. |
+ // |
+ // |source_frame_number| frame number for which the activate occurred. |
+ void DidActivate(int source_frame_number, |
+ ScopedVector<IPC::Message>* messages); |
+ |
+ void DidNotActivate(int source_frame_number, |
+ cc::Promise::DidNotActivate::Reason reason, |
+ ScopedVector<IPC::Message>* messages); |
+ |
// Should be called when a successful swap occurs. The messages for that swap |
// can be obtained by calling DrainMessages. |
// |
@@ -67,7 +78,7 @@ class CONTENT_EXPORT FrameSwapMessageQueue |
// messages asynchronously. This vector will contain those |
// messages. |
void DidNotSwap(int source_frame_number, |
- cc::SwapPromise::DidNotSwapReason reason, |
+ cc::Promise::DidNotSwap::Reason reason, |
ScopedVector<IPC::Message>* messages); |
// A SendMessageScope object must be held by the caller when this method is |
@@ -76,7 +87,7 @@ class CONTENT_EXPORT FrameSwapMessageQueue |
// |messages| vector to store messages, it's not cleared, only appended to. |
// The method will append messages queued for frame numbers lower |
// or equal to |source_frame_number| |
- void DrainMessages(ScopedVector<IPC::Message>* messages); |
+ void DrainMessagesForSwap(ScopedVector<IPC::Message>* messages); |
// SendMessageScope is used to make sure that messages sent from different |
// threads (impl/main) are scheduled in the right order on the IO threads. |
@@ -89,20 +100,20 @@ class CONTENT_EXPORT FrameSwapMessageQueue |
std::vector<IPC::Message>* dest); |
private: |
- friend class base::RefCountedThreadSafe<FrameSwapMessageQueue>; |
+ friend class base::RefCountedThreadSafe<FrameUpdateMessageQueue>; |
- FrameSwapMessageSubQueue* GetSubQueue(MessageDeliveryPolicy policy); |
+ FrameUpdateMessageSubQueue* GetSubQueue(MessageDeliveryPolicy policy); |
- ~FrameSwapMessageQueue(); |
+ ~FrameUpdateMessageQueue(); |
mutable base::Lock lock_; |
- scoped_ptr<FrameSwapMessageSubQueue> visual_state_queue_; |
- scoped_ptr<FrameSwapMessageSubQueue> swap_queue_; |
- ScopedVector<IPC::Message> next_drain_messages_; |
+ scoped_ptr<FrameUpdateMessageSubQueue> visual_state_queue_; |
+ scoped_ptr<FrameUpdateMessageSubQueue> swap_queue_; |
+ scoped_ptr<FrameUpdateMessageSubQueue> activation_queue_; |
- DISALLOW_COPY_AND_ASSIGN(FrameSwapMessageQueue); |
+ DISALLOW_COPY_AND_ASSIGN(FrameUpdateMessageQueue); |
}; |
} // namespace content |
-#endif // CONTENT_RENDERER_GPU_FRAME_SWAP_MESSAGE_QUEUE_H_ |
+#endif // CONTENT_RENDERER_GPU_FRAME_UPDATE_MESSAGE_QUEUE_H_ |