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

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

Issue 2905313002: Revert of Send FrameSwapMessageQueue's messages in QueueMessageSwapPromise (Closed)
Patch Set: Created 3 years, 6 months 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 "base/command_line.h" 7 #include "base/command_line.h"
8 #include "content/common/view_messages.h"
9 #include "content/public/common/content_switches.h" 8 #include "content/public/common/content_switches.h"
10 #include "content/public/renderer/render_thread.h" 9 #include "content/public/renderer/render_thread.h"
11 #include "content/renderer/gpu/frame_swap_message_queue.h" 10 #include "content/renderer/gpu/frame_swap_message_queue.h"
12 #include "ipc/ipc_sync_message_filter.h" 11 #include "ipc/ipc_sync_message_filter.h"
13 12
14 namespace content { 13 namespace content {
15 14
16 QueueMessageSwapPromise::QueueMessageSwapPromise( 15 QueueMessageSwapPromise::QueueMessageSwapPromise(
17 scoped_refptr<IPC::SyncMessageFilter> message_sender, 16 scoped_refptr<IPC::SyncMessageFilter> message_sender,
18 scoped_refptr<content::FrameSwapMessageQueue> message_queue, 17 scoped_refptr<content::FrameSwapMessageQueue> message_queue,
(...skipping 23 matching lines...) Expand all
42 #endif 41 #endif
43 message_queue_->DidActivate(source_frame_number_); 42 message_queue_->DidActivate(source_frame_number_);
44 // The OutputSurface will take care of the Drain+Send. 43 // The OutputSurface will take care of the Drain+Send.
45 } 44 }
46 45
47 void QueueMessageSwapPromise::WillSwap(cc::CompositorFrameMetadata* metadata) { 46 void QueueMessageSwapPromise::WillSwap(cc::CompositorFrameMetadata* metadata) {
48 #if DCHECK_IS_ON() 47 #if DCHECK_IS_ON()
49 DCHECK(!completed_); 48 DCHECK(!completed_);
50 #endif 49 #endif
51 message_queue_->DidSwap(source_frame_number_); 50 message_queue_->DidSwap(source_frame_number_);
52 { 51 // The OutputSurface will take care of the Drain+Send.
53 std::unique_ptr<FrameSwapMessageQueue::SendMessageScope>
54 send_message_scope = message_queue_->AcquireSendMessageScope();
55 std::vector<std::unique_ptr<IPC::Message>> messages;
56 message_queue_->DrainMessages(&messages);
57 std::vector<IPC::Message> messages_to_send;
58 FrameSwapMessageQueue::TransferMessages(&messages, &messages_to_send);
59 if (!messages_to_send.empty()) {
60 metadata->frame_token = message_queue_->AllocateFrameToken();
61 message_sender_->Send(new ViewHostMsg_FrameSwapMessages(
62 message_queue_->routing_id(), metadata->frame_token,
63 messages_to_send));
64 }
65 // ~send_message_scope.
66 }
67 PromiseCompleted(); 52 PromiseCompleted();
68 } 53 }
69 54
70 void QueueMessageSwapPromise::DidSwap() {} 55 void QueueMessageSwapPromise::DidSwap() {}
71 56
72 cc::SwapPromise::DidNotSwapAction QueueMessageSwapPromise::DidNotSwap( 57 cc::SwapPromise::DidNotSwapAction QueueMessageSwapPromise::DidNotSwap(
73 DidNotSwapReason reason) { 58 DidNotSwapReason reason) {
74 #if DCHECK_IS_ON() 59 #if DCHECK_IS_ON()
75 DCHECK(!completed_); 60 DCHECK(!completed_);
76 #endif 61 #endif
(...skipping 12 matching lines...) Expand all
89 #if DCHECK_IS_ON() 74 #if DCHECK_IS_ON()
90 completed_ = true; 75 completed_ = true;
91 #endif 76 #endif
92 } 77 }
93 78
94 int64_t QueueMessageSwapPromise::TraceId() const { 79 int64_t QueueMessageSwapPromise::TraceId() const {
95 return 0; 80 return 0;
96 } 81 }
97 82
98 } // namespace content 83 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/frame_swap_message_queue_unittest.cc ('k') | content/renderer/gpu/queue_message_swap_promise_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698