| OLD | NEW |
| 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 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ | 5 #ifndef BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ |
| 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ | 6 #define BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ |
| 7 | 7 |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 | 9 |
| 10 #include <list> | 10 #include <list> |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 ~MessagePumpForGpu() override; | 157 ~MessagePumpForGpu() override; |
| 158 | 158 |
| 159 // Factory methods. | 159 // Factory methods. |
| 160 static void InitFactory(); | 160 static void InitFactory(); |
| 161 static std::unique_ptr<MessagePump> CreateMessagePumpForGpu(); | 161 static std::unique_ptr<MessagePump> CreateMessagePumpForGpu(); |
| 162 | 162 |
| 163 // MessagePump methods: | 163 // MessagePump methods: |
| 164 void ScheduleWork() override; | 164 void ScheduleWork() override; |
| 165 void ScheduleDelayedWork(const TimeTicks& delayed_work_time) override; | 165 void ScheduleDelayedWork(const TimeTicks& delayed_work_time) override; |
| 166 | 166 |
| 167 // TODO (stanisc): crbug.com/596190: Remove this after the signaling issue | |
| 168 // has been investigated. | |
| 169 // This should be used for diagnostic only. If message pump wake-up mechanism | |
| 170 // is based on auto-reset event this call would reset the event to unset | |
| 171 // state. | |
| 172 bool WasSignaled() override; | |
| 173 | |
| 174 private: | 167 private: |
| 175 // MessagePumpWin methods: | 168 // MessagePumpWin methods: |
| 176 void DoRunLoop() override; | 169 void DoRunLoop() override; |
| 177 | 170 |
| 178 void WaitForWork(); | 171 void WaitForWork(); |
| 179 bool ProcessNextMessage(); | 172 bool ProcessNextMessage(); |
| 180 | 173 |
| 181 win::ScopedHandle event_; | 174 win::ScopedHandle event_; |
| 182 | 175 |
| 183 // Used to help diagnose hangs. | 176 // Used to help diagnose hangs. |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 // The completion port associated with this thread. | 284 // The completion port associated with this thread. |
| 292 win::ScopedHandle port_; | 285 win::ScopedHandle port_; |
| 293 // This list will be empty almost always. It stores IO completions that have | 286 // This list will be empty almost always. It stores IO completions that have |
| 294 // not been delivered yet because somebody was doing cleanup. | 287 // not been delivered yet because somebody was doing cleanup. |
| 295 std::list<IOItem> completed_io_; | 288 std::list<IOItem> completed_io_; |
| 296 }; | 289 }; |
| 297 | 290 |
| 298 } // namespace base | 291 } // namespace base |
| 299 | 292 |
| 300 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ | 293 #endif // BASE_MESSAGE_LOOP_MESSAGE_PUMP_WIN_H_ |
| OLD | NEW |