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

Side by Side Diff: content/public/test/browser_test_utils.cc

Issue 2096493002: Make cc::CompositorFrames movable [Part 1 of 2] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Dana's nits Created 4 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/public/test/browser_test_utils.h" 5 #include "content/public/test/browser_test_utils.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <tuple> 8 #include <tuple>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 ->ScheduleComposite(); 1152 ->ScheduleComposite();
1153 } 1153 }
1154 1154
1155 FrameWatcher::FrameWatcher() : MessageFilter(), frames_to_wait_(0) {} 1155 FrameWatcher::FrameWatcher() : MessageFilter(), frames_to_wait_(0) {}
1156 1156
1157 FrameWatcher::~FrameWatcher() { 1157 FrameWatcher::~FrameWatcher() {
1158 } 1158 }
1159 1159
1160 void FrameWatcher::ReceivedFrameSwap(cc::CompositorFrameMetadata metadata) { 1160 void FrameWatcher::ReceivedFrameSwap(cc::CompositorFrameMetadata metadata) {
1161 --frames_to_wait_; 1161 --frames_to_wait_;
1162 last_metadata_ = metadata; 1162 last_metadata_ = std::move(metadata);
1163 if (frames_to_wait_ == 0) 1163 if (frames_to_wait_ == 0)
1164 quit_.Run(); 1164 quit_.Run();
1165 } 1165 }
1166 1166
1167 bool FrameWatcher::OnMessageReceived(const IPC::Message& message) { 1167 bool FrameWatcher::OnMessageReceived(const IPC::Message& message) {
1168 if (message.type() == ViewHostMsg_SwapCompositorFrame::ID) { 1168 if (message.type() == ViewHostMsg_SwapCompositorFrame::ID) {
1169 ViewHostMsg_SwapCompositorFrame::Param param; 1169 ViewHostMsg_SwapCompositorFrame::Param param;
1170 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param)) 1170 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param))
1171 return false; 1171 return false;
1172 std::unique_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); 1172 cc::CompositorFrame frame(std::move(std::get<1>(param)));
1173 std::get<1>(param).AssignTo(frame.get());
1174 1173
1175 BrowserThread::PostTask( 1174 BrowserThread::PostTask(
1176 BrowserThread::UI, FROM_HERE, 1175 BrowserThread::UI, FROM_HERE,
1177 base::Bind(&FrameWatcher::ReceivedFrameSwap, this, frame->metadata)); 1176 base::Bind(&FrameWatcher::ReceivedFrameSwap, this,
1177 base::Passed(std::move(frame.metadata))));
1178 } 1178 }
1179 return false; 1179 return false;
1180 } 1180 }
1181 1181
1182 void FrameWatcher::AttachTo(WebContents* web_contents) { 1182 void FrameWatcher::AttachTo(WebContents* web_contents) {
1183 DCHECK(web_contents); 1183 DCHECK(web_contents);
1184 RenderWidgetHostImpl* widget_host = RenderWidgetHostImpl::From( 1184 RenderWidgetHostImpl* widget_host = RenderWidgetHostImpl::From(
1185 web_contents->GetRenderViewHost()->GetWidget()); 1185 web_contents->GetRenderViewHost()->GetWidget());
1186 widget_host->GetProcess()->GetChannel()->AddFilter(this); 1186 widget_host->GetProcess()->GetChannel()->AddFilter(this);
1187 } 1187 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1274 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1274 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1275 if (ack_result_ != INPUT_EVENT_ACK_STATE_UNKNOWN) 1275 if (ack_result_ != INPUT_EVENT_ACK_STATE_UNKNOWN)
1276 return ack_result_; 1276 return ack_result_;
1277 base::RunLoop run_loop; 1277 base::RunLoop run_loop;
1278 base::AutoReset<base::Closure> reset_quit(&quit_, run_loop.QuitClosure()); 1278 base::AutoReset<base::Closure> reset_quit(&quit_, run_loop.QuitClosure());
1279 run_loop.Run(); 1279 run_loop.Run();
1280 return ack_result_; 1280 return ack_result_;
1281 } 1281 }
1282 1282
1283 } // namespace content 1283 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698