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

Side by Side Diff: cc/test/fake_external_begin_frame_source.cc

Issue 2323123002: Make disable vsync run the renderer independently (Closed)
Patch Set: Created 4 years, 3 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 "cc/test/fake_external_begin_frame_source.h" 5 #include "cc/test/fake_external_begin_frame_source.h"
6 6
7 #include "base/location.h" 7 #include "base/location.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 DCHECK(obs); 51 DCHECK(obs);
52 DCHECK(observers_.find(obs) != observers_.end()); 52 DCHECK(observers_.find(obs) != observers_.end());
53 53
54 observers_.erase(obs); 54 observers_.erase(obs);
55 if (observers_.empty()) 55 if (observers_.empty())
56 begin_frame_task_.Cancel(); 56 begin_frame_task_.Cancel();
57 if (client_) 57 if (client_)
58 client_->OnRemoveObserver(obs); 58 client_->OnRemoveObserver(obs);
59 } 59 }
60 60
61 bool FakeExternalBeginFrameSource::IsThrottled() const {
62 return true;
63 }
64
61 void FakeExternalBeginFrameSource::TestOnBeginFrame( 65 void FakeExternalBeginFrameSource::TestOnBeginFrame(
62 const BeginFrameArgs& args) { 66 const BeginFrameArgs& args) {
63 DCHECK(CalledOnValidThread()); 67 DCHECK(CalledOnValidThread());
64 std::set<BeginFrameObserver*> observers(observers_); 68 std::set<BeginFrameObserver*> observers(observers_);
65 for (auto* obs : observers) 69 for (auto* obs : observers)
66 obs->OnBeginFrame(args); 70 obs->OnBeginFrame(args);
67 if (tick_automatically_) 71 if (tick_automatically_)
68 PostTestOnBeginFrame(); 72 PostTestOnBeginFrame();
69 } 73 }
70 74
71 void FakeExternalBeginFrameSource::PostTestOnBeginFrame() { 75 void FakeExternalBeginFrameSource::PostTestOnBeginFrame() {
72 begin_frame_task_.Reset( 76 begin_frame_task_.Reset(
73 base::Bind(&FakeExternalBeginFrameSource::TestOnBeginFrame, 77 base::Bind(&FakeExternalBeginFrameSource::TestOnBeginFrame,
74 weak_ptr_factory_.GetWeakPtr())); 78 weak_ptr_factory_.GetWeakPtr()));
75 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( 79 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
76 FROM_HERE, 80 FROM_HERE,
77 base::Bind(begin_frame_task_.callback(), 81 base::Bind(begin_frame_task_.callback(),
78 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE)), 82 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE)),
79 base::TimeDelta::FromMilliseconds(milliseconds_per_frame_)); 83 base::TimeDelta::FromMilliseconds(milliseconds_per_frame_));
80 } 84 }
81 85
82 } // namespace cc 86 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698