OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "ui/accelerated_widget_mac/window_resize_helper_mac.h" | 5 #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <list> | 9 #include <list> |
10 | 10 |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 return g_window_resize_helper.Pointer(); | 294 return g_window_resize_helper.Pointer(); |
295 } | 295 } |
296 | 296 |
297 void WindowResizeHelperMac::Init( | 297 void WindowResizeHelperMac::Init( |
298 const scoped_refptr<base::SingleThreadTaskRunner>& target_task_runner) { | 298 const scoped_refptr<base::SingleThreadTaskRunner>& target_task_runner) { |
299 DCHECK(!task_runner_); | 299 DCHECK(!task_runner_); |
300 task_runner_ = new PumpableTaskRunner( | 300 task_runner_ = new PumpableTaskRunner( |
301 base::Bind(&WindowResizeHelperMac::EventTimedWait), target_task_runner); | 301 base::Bind(&WindowResizeHelperMac::EventTimedWait), target_task_runner); |
302 } | 302 } |
303 | 303 |
| 304 void WindowResizeHelperMac::ShutdownForTests() { |
| 305 task_runner_ = nullptr; |
| 306 } |
| 307 |
304 bool WindowResizeHelperMac::WaitForSingleTaskToRun( | 308 bool WindowResizeHelperMac::WaitForSingleTaskToRun( |
305 const base::TimeDelta& max_delay) { | 309 const base::TimeDelta& max_delay) { |
306 PumpableTaskRunner* pumpable_task_runner = | 310 PumpableTaskRunner* pumpable_task_runner = |
307 static_cast<PumpableTaskRunner*>(task_runner_.get()); | 311 static_cast<PumpableTaskRunner*>(task_runner_.get()); |
308 if (!pumpable_task_runner) | 312 if (!pumpable_task_runner) |
309 return false; | 313 return false; |
310 return pumpable_task_runner->WaitForSingleWrappedTaskToRun(max_delay); | 314 return pumpable_task_runner->WaitForSingleWrappedTaskToRun(max_delay); |
311 } | 315 } |
312 | 316 |
313 WindowResizeHelperMac::WindowResizeHelperMac() {} | 317 WindowResizeHelperMac::WindowResizeHelperMac() {} |
314 WindowResizeHelperMac::~WindowResizeHelperMac() {} | 318 WindowResizeHelperMac::~WindowResizeHelperMac() {} |
315 | 319 |
316 void WindowResizeHelperMac::EventTimedWait(base::WaitableEvent* event, | 320 void WindowResizeHelperMac::EventTimedWait(base::WaitableEvent* event, |
317 base::TimeDelta delay) { | 321 base::TimeDelta delay) { |
318 base::ThreadRestrictions::ScopedAllowWait allow_wait; | 322 base::ThreadRestrictions::ScopedAllowWait allow_wait; |
319 event->TimedWait(delay); | 323 event->TimedWait(delay); |
320 } | 324 } |
321 | 325 |
322 } // namespace ui | 326 } // namespace ui |
OLD | NEW |