OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/thread_proxy.h" | 5 #include "cc/trees/thread_proxy.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 } | 327 } |
328 | 328 |
329 void ThreadProxy::WillBeginImplFrame(const BeginFrameArgs& args) { | 329 void ThreadProxy::WillBeginImplFrame(const BeginFrameArgs& args) { |
330 impl().layer_tree_host_impl->WillBeginImplFrame(args); | 330 impl().layer_tree_host_impl->WillBeginImplFrame(args); |
331 if (impl().last_processed_begin_main_frame_args.IsValid()) { | 331 if (impl().last_processed_begin_main_frame_args.IsValid()) { |
332 // Last processed begin main frame args records the frame args that we sent | 332 // Last processed begin main frame args records the frame args that we sent |
333 // to the main thread for the last frame that we've processed. If that is | 333 // to the main thread for the last frame that we've processed. If that is |
334 // set, that means the current frame is one past the frame in which we've | 334 // set, that means the current frame is one past the frame in which we've |
335 // finished the processing. | 335 // finished the processing. |
336 impl().layer_tree_host_impl->RecordMainFrameTiming( | 336 impl().layer_tree_host_impl->RecordMainFrameTiming( |
337 impl().last_processed_begin_main_frame_args, | 337 impl().last_processed_begin_main_frame_args, args); |
338 impl().layer_tree_host_impl->CurrentBeginFrameArgs()); | |
339 impl().last_processed_begin_main_frame_args = BeginFrameArgs(); | 338 impl().last_processed_begin_main_frame_args = BeginFrameArgs(); |
340 } | 339 } |
341 } | 340 } |
342 | 341 |
343 void ThreadProxy::OnResourcelessSoftareDrawStateChanged( | 342 void ThreadProxy::OnResourcelessSoftareDrawStateChanged( |
344 bool resourceless_draw) { | 343 bool resourceless_draw) { |
345 DCHECK(IsImplThread()); | 344 DCHECK(IsImplThread()); |
346 impl().scheduler->SetResourcelessSoftareDraw(resourceless_draw); | 345 impl().scheduler->SetResourcelessSoftareDraw(resourceless_draw); |
347 } | 346 } |
348 | 347 |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 return true; | 554 return true; |
556 } | 555 } |
557 | 556 |
558 void ThreadProxy::FinishAllRenderingOnImpl(CompletionEvent* completion) { | 557 void ThreadProxy::FinishAllRenderingOnImpl(CompletionEvent* completion) { |
559 TRACE_EVENT0("cc", "ThreadProxy::FinishAllRenderingOnImplThread"); | 558 TRACE_EVENT0("cc", "ThreadProxy::FinishAllRenderingOnImplThread"); |
560 DCHECK(IsImplThread()); | 559 DCHECK(IsImplThread()); |
561 impl().layer_tree_host_impl->FinishAllRendering(); | 560 impl().layer_tree_host_impl->FinishAllRendering(); |
562 completion->Signal(); | 561 completion->Signal(); |
563 } | 562 } |
564 | 563 |
565 void ThreadProxy::ScheduledActionSendBeginMainFrame() { | 564 void ThreadProxy::ScheduledActionSendBeginMainFrame( |
| 565 const BeginFrameArgs& args) { |
566 unsigned int begin_frame_id = nextBeginFrameId++; | 566 unsigned int begin_frame_id = nextBeginFrameId++; |
567 benchmark_instrumentation::ScopedBeginFrameTask begin_frame_task( | 567 benchmark_instrumentation::ScopedBeginFrameTask begin_frame_task( |
568 benchmark_instrumentation::kSendBeginFrame, begin_frame_id); | 568 benchmark_instrumentation::kSendBeginFrame, begin_frame_id); |
569 scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state( | 569 scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state( |
570 new BeginMainFrameAndCommitState); | 570 new BeginMainFrameAndCommitState); |
571 begin_main_frame_state->begin_frame_id = begin_frame_id; | 571 begin_main_frame_state->begin_frame_id = begin_frame_id; |
572 begin_main_frame_state->begin_frame_args = | 572 begin_main_frame_state->begin_frame_args = args; |
573 impl().layer_tree_host_impl->CurrentBeginFrameArgs(); | |
574 begin_main_frame_state->scroll_info = | 573 begin_main_frame_state->scroll_info = |
575 impl().layer_tree_host_impl->ProcessScrollDeltas(); | 574 impl().layer_tree_host_impl->ProcessScrollDeltas(); |
576 begin_main_frame_state->memory_allocation_limit_bytes = | 575 begin_main_frame_state->memory_allocation_limit_bytes = |
577 impl().layer_tree_host_impl->memory_allocation_limit_bytes(); | 576 impl().layer_tree_host_impl->memory_allocation_limit_bytes(); |
578 begin_main_frame_state->evicted_ui_resources = | 577 begin_main_frame_state->evicted_ui_resources = |
579 impl().layer_tree_host_impl->EvictedUIResourcesExist(); | 578 impl().layer_tree_host_impl->EvictedUIResourcesExist(); |
580 // TODO(vmpstr): This needs to be fixed if | 579 // TODO(vmpstr): This needs to be fixed if |
581 // main_frame_before_activation_enabled is set, since we might run this code | 580 // main_frame_before_activation_enabled is set, since we might run this code |
582 // twice before recording a duration. crbug.com/469824 | 581 // twice before recording a duration. crbug.com/469824 |
583 impl().last_begin_main_frame_args = begin_main_frame_state->begin_frame_args; | 582 impl().last_begin_main_frame_args = begin_main_frame_state->begin_frame_args; |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 | 1186 |
1188 base::WeakPtr<ProxyMain> ThreadProxy::GetMainWeakPtr() { | 1187 base::WeakPtr<ProxyMain> ThreadProxy::GetMainWeakPtr() { |
1189 return main_thread_weak_ptr_; | 1188 return main_thread_weak_ptr_; |
1190 } | 1189 } |
1191 | 1190 |
1192 base::WeakPtr<ProxyImpl> ThreadProxy::GetImplWeakPtr() { | 1191 base::WeakPtr<ProxyImpl> ThreadProxy::GetImplWeakPtr() { |
1193 return impl_thread_weak_ptr_; | 1192 return impl_thread_weak_ptr_; |
1194 } | 1193 } |
1195 | 1194 |
1196 } // namespace cc | 1195 } // namespace cc |
OLD | NEW |