| Index: ui/compositor/compositor.cc
|
| diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
| index 2a2dd0342dee12f52473cb2060acf35497aabfb7..b4a51d6ac8a05b07f4f0ec677d57097e439c42e7 100644
|
| --- a/ui/compositor/compositor.cc
|
| +++ b/ui/compositor/compositor.cc
|
| @@ -359,6 +359,14 @@ void CompositorLock::CancelLock() {
|
| // static
|
| void DrawWaiterForTest::Wait(Compositor* compositor) {
|
| DrawWaiterForTest waiter;
|
| + waiter.wait_for_commit_ = false;
|
| + waiter.WaitImpl(compositor);
|
| +}
|
| +
|
| +// static
|
| +void DrawWaiterForTest::WaitForCommit(Compositor* compositor) {
|
| + DrawWaiterForTest waiter;
|
| + waiter.wait_for_commit_ = true;
|
| waiter.WaitImpl(compositor);
|
| }
|
|
|
| @@ -376,6 +384,8 @@ void DrawWaiterForTest::WaitImpl(Compositor* compositor) {
|
| }
|
|
|
| void DrawWaiterForTest::OnCompositingDidCommit(Compositor* compositor) {
|
| + if (wait_for_commit_)
|
| + wait_run_loop_->Quit();
|
| }
|
|
|
| void DrawWaiterForTest::OnCompositingStarted(Compositor* compositor,
|
| @@ -383,7 +393,8 @@ void DrawWaiterForTest::OnCompositingStarted(Compositor* compositor,
|
| }
|
|
|
| void DrawWaiterForTest::OnCompositingEnded(Compositor* compositor) {
|
| - wait_run_loop_->Quit();
|
| + if (!wait_for_commit_)
|
| + wait_run_loop_->Quit();
|
| }
|
|
|
| void DrawWaiterForTest::OnCompositingAborted(Compositor* compositor) {
|
| @@ -758,11 +769,6 @@ void Compositor::DidCommitAndDrawFrame() {
|
| FOR_EACH_OBSERVER(CompositorObserver,
|
| observer_list_,
|
| OnCompositingStarted(this, start_time));
|
| - // If we're threaded without a swap complete callback, we have to
|
| - // call DidCompleteSwapBuffersManually.
|
| - if (g_compositor_thread &&
|
| - !host_->GetRendererCapabilities().using_swap_complete_callback)
|
| - DidCompleteSwapBuffers();
|
| }
|
|
|
| void Compositor::DidCompleteSwapBuffers() {
|
|
|