Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: content/renderer/gpu/queue_message_swap_promise_unittest.cc

Issue 2580493002: Splitting DidSwap in cc::SwapPromise into WillSwap and DidSwap (Closed)
Patch Set: remove blank line Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/queue_message_swap_promise.h" 5 #include "content/renderer/gpu/queue_message_swap_promise.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 data[i].source_frame_number).release()); 113 data[i].source_frame_number).release());
114 } 114 }
115 } 115 }
116 116
117 void CleanupPromises() { 117 void CleanupPromises() {
118 for (ScopedVector<cc::SwapPromise>::iterator i = promises_.begin(); 118 for (ScopedVector<cc::SwapPromise>::iterator i = promises_.begin();
119 i != promises_.end(); 119 i != promises_.end();
120 ++i) { 120 ++i) {
121 if (*i) { 121 if (*i) {
122 (*i)->DidActivate(); 122 (*i)->DidActivate();
123 (*i)->DidSwap(NULL); 123 (*i)->WillSwap(NULL);
vmpstr 2016/12/15 21:54:32 Does this need a DidSwap as well?
Saman Sami 2016/12/15 22:11:58 Done.
124 } 124 }
125 } 125 }
126 } 126 }
127 127
128 protected: 128 protected:
129 void VisualStateSwapPromiseDidNotSwap( 129 void VisualStateSwapPromiseDidNotSwap(
130 cc::SwapPromise::DidNotSwapReason reason); 130 cc::SwapPromise::DidNotSwapReason reason);
131 131
132 base::MessageLoop message_loop_; 132 base::MessageLoop message_loop_;
133 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 133 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
134 scoped_refptr<TestSyncMessageFilter> sync_message_filter_; 134 scoped_refptr<TestSyncMessageFilter> sync_message_filter_;
135 std::vector<IPC::Message> messages_; 135 std::vector<IPC::Message> messages_;
136 ScopedVector<cc::SwapPromise> promises_; 136 ScopedVector<cc::SwapPromise> promises_;
137 137
138 private: 138 private:
139 std::vector<std::unique_ptr<IPC::Message>> next_swap_messages_; 139 std::vector<std::unique_ptr<IPC::Message>> next_swap_messages_;
140 140
141 DISALLOW_COPY_AND_ASSIGN(QueueMessageSwapPromiseTest); 141 DISALLOW_COPY_AND_ASSIGN(QueueMessageSwapPromiseTest);
142 }; 142 };
143 143
144 TEST_F(QueueMessageSwapPromiseTest, NextSwapPolicySchedulesMessageForNextSwap) { 144 TEST_F(QueueMessageSwapPromiseTest, NextSwapPolicySchedulesMessageForNextSwap) {
145 QueueMessageData data[] = { 145 QueueMessageData data[] = {
146 /* { policy, source_frame_number } */ 146 /* { policy, source_frame_number } */
147 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1}, 147 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1},
148 }; 148 };
149 QueueMessages(data, arraysize(data)); 149 QueueMessages(data, arraysize(data));
150 150
151 ASSERT_TRUE(promises_[0]); 151 ASSERT_TRUE(promises_[0]);
152 promises_[0]->DidActivate(); 152 promises_[0]->DidActivate();
153 promises_[0]->DidSwap(NULL); 153 promises_[0]->WillSwap(NULL);
vmpstr 2016/12/15 21:54:31 DidSwap as well?
Saman Sami 2016/12/15 22:11:58 Done.
154 154
155 EXPECT_TRUE(DirectSendMessages().empty()); 155 EXPECT_TRUE(DirectSendMessages().empty());
156 EXPECT_FALSE(frame_swap_message_queue_->Empty()); 156 EXPECT_FALSE(frame_swap_message_queue_->Empty());
157 // frame_swap_message_queue_->DidSwap(1); 157 // frame_swap_message_queue_->WillSwap(1);
158 EXPECT_TRUE(NextSwapHasMessage(messages_[0])); 158 EXPECT_TRUE(NextSwapHasMessage(messages_[0]));
159 } 159 }
160 160
161 TEST_F(QueueMessageSwapPromiseTest, NextSwapPolicyNeedsAtMostOnePromise) { 161 TEST_F(QueueMessageSwapPromiseTest, NextSwapPolicyNeedsAtMostOnePromise) {
162 QueueMessageData data[] = { 162 QueueMessageData data[] = {
163 /* { policy, source_frame_number } */ 163 /* { policy, source_frame_number } */
164 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1}, 164 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1},
165 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1}, 165 {MESSAGE_DELIVERY_POLICY_WITH_NEXT_SWAP, 1},
166 }; 166 };
167 QueueMessages(data, arraysize(data)); 167 QueueMessages(data, arraysize(data));
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 TEST_F(QueueMessageSwapPromiseTest, VisualStateSwapPromiseDidActivate) { 247 TEST_F(QueueMessageSwapPromiseTest, VisualStateSwapPromiseDidActivate) {
248 QueueMessageData data[] = { 248 QueueMessageData data[] = {
249 /* { policy, source_frame_number } */ 249 /* { policy, source_frame_number } */
250 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 1}, 250 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 1},
251 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 1}, 251 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 1},
252 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 2}, 252 {MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE, 2},
253 }; 253 };
254 QueueMessages(data, arraysize(data)); 254 QueueMessages(data, arraysize(data));
255 255
256 promises_[0]->DidActivate(); 256 promises_[0]->DidActivate();
257 promises_[0]->DidSwap(NULL); 257 promises_[0]->WillSwap(NULL);
vmpstr 2016/12/15 21:54:31 DidSwap as well?
Saman Sami 2016/12/15 22:11:58 Done.
258 ASSERT_FALSE(promises_[1]); 258 ASSERT_FALSE(promises_[1]);
259 std::vector<std::unique_ptr<IPC::Message>> messages; 259 std::vector<std::unique_ptr<IPC::Message>> messages;
260 messages.swap(NextSwapMessages()); 260 messages.swap(NextSwapMessages());
261 EXPECT_EQ(2u, messages.size()); 261 EXPECT_EQ(2u, messages.size());
262 EXPECT_TRUE(ContainsMessage(messages, messages_[0])); 262 EXPECT_TRUE(ContainsMessage(messages, messages_[0]));
263 EXPECT_TRUE(ContainsMessage(messages, messages_[1])); 263 EXPECT_TRUE(ContainsMessage(messages, messages_[1]));
264 EXPECT_FALSE(ContainsMessage(messages, messages_[2])); 264 EXPECT_FALSE(ContainsMessage(messages, messages_[2]));
265 265
266 promises_[2]->DidActivate(); 266 promises_[2]->DidActivate();
267 promises_[2]->DidNotSwap(cc::SwapPromise::SWAP_FAILS); 267 promises_[2]->DidNotSwap(cc::SwapPromise::SWAP_FAILS);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 TEST_F(QueueMessageSwapPromiseTest, VisualStateSwapPromiseDidNotSwapSwapFails) { 318 TEST_F(QueueMessageSwapPromiseTest, VisualStateSwapPromiseDidNotSwapSwapFails) {
319 VisualStateSwapPromiseDidNotSwap(cc::SwapPromise::SWAP_FAILS); 319 VisualStateSwapPromiseDidNotSwap(cc::SwapPromise::SWAP_FAILS);
320 } 320 }
321 321
322 TEST_F(QueueMessageSwapPromiseTest, 322 TEST_F(QueueMessageSwapPromiseTest,
323 VisualStateSwapPromiseDidNotSwapActivationFails) { 323 VisualStateSwapPromiseDidNotSwapActivationFails) {
324 VisualStateSwapPromiseDidNotSwap(cc::SwapPromise::ACTIVATION_FAILS); 324 VisualStateSwapPromiseDidNotSwap(cc::SwapPromise::ACTIVATION_FAILS);
325 } 325 }
326 326
327 } // namespace content 327 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698