OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/gpu/frame_swap_message_queue.h" | 5 #include "content/renderer/gpu/frame_swap_message_queue.h" |
6 #include "ipc/ipc_message.h" | 6 #include "ipc/ipc_message.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace content { | 9 namespace content { |
10 | 10 |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 } | 230 } |
231 | 231 |
232 TEST_F(FrameSwapMessageQueueTest, TestDidNotSwapCommitFails) { | 232 TEST_F(FrameSwapMessageQueueTest, TestDidNotSwapCommitFails) { |
233 ScopedVector<IPC::Message> messages; | 233 ScopedVector<IPC::Message> messages; |
234 | 234 |
235 QueueNextSwapMessage(CloneMessage(first_message_)); | 235 QueueNextSwapMessage(CloneMessage(first_message_)); |
236 QueueVisualStateMessage(2, CloneMessage(second_message_)); | 236 QueueVisualStateMessage(2, CloneMessage(second_message_)); |
237 QueueVisualStateMessage(3, CloneMessage(third_message_)); | 237 QueueVisualStateMessage(3, CloneMessage(third_message_)); |
238 | 238 |
239 queue_->DidNotSwap(2, cc::SwapPromise::COMMIT_FAILS, &messages); | 239 queue_->DidNotSwap(2, cc::SwapPromise::COMMIT_FAILS, &messages); |
240 ASSERT_EQ(1u, messages.size()); | 240 ASSERT_EQ(0u, messages.size()); |
241 ASSERT_TRUE(HasMessageForId(messages, second_message_.routing_id())); | |
242 messages.clear(); | 241 messages.clear(); |
243 | 242 |
244 queue_->DidNotSwap(3, cc::SwapPromise::COMMIT_FAILS, &messages); | 243 queue_->DidNotSwap(3, cc::SwapPromise::COMMIT_FAILS, &messages); |
245 ASSERT_EQ(1u, messages.size()); | 244 ASSERT_EQ(0u, messages.size()); |
246 ASSERT_TRUE(HasMessageForId(messages, third_message_.routing_id())); | |
247 messages.clear(); | 245 messages.clear(); |
248 | 246 |
249 DrainMessages(1, &messages); | 247 DrainMessages(1, &messages); |
250 ASSERT_EQ(1u, messages.size()); | 248 ASSERT_EQ(1u, messages.size()); |
251 ASSERT_TRUE(HasMessageForId(messages, first_message_.routing_id())); | 249 ASSERT_TRUE(HasMessageForId(messages, first_message_.routing_id())); |
252 } | 250 } |
253 | 251 |
254 class NotifiesDeletionMessage : public IPC::Message { | 252 class NotifiesDeletionMessage : public IPC::Message { |
255 public: | 253 public: |
256 NotifiesDeletionMessage(bool* deleted, const IPC::Message& other) | 254 NotifiesDeletionMessage(bool* deleted, const IPC::Message& other) |
(...skipping 25 matching lines...) Expand all Loading... |
282 bool message_deleted = false; | 280 bool message_deleted = false; |
283 QueueVisualStateMessage(1, | 281 QueueVisualStateMessage(1, |
284 make_scoped_ptr(new NotifiesDeletionMessage( | 282 make_scoped_ptr(new NotifiesDeletionMessage( |
285 &message_deleted, first_message_))); | 283 &message_deleted, first_message_))); |
286 queue_->DidSwap(1); | 284 queue_->DidSwap(1); |
287 queue_ = NULL; | 285 queue_ = NULL; |
288 ASSERT_TRUE(message_deleted); | 286 ASSERT_TRUE(message_deleted); |
289 } | 287 } |
290 | 288 |
291 } // namespace content | 289 } // namespace content |
OLD | NEW |