OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef GIN_RUN_MICROTASKS_OBSERVER_H_ |
| 6 #define GIN_RUN_MICROTASKS_OBSERVER_H_ |
| 7 |
| 8 #include "base/message_loop/message_loop.h" |
| 9 #include "v8/include/v8.h" |
| 10 |
| 11 namespace gin { |
| 12 |
| 13 // Runs any pending v8 Microtasks each time a task is completed. |
| 14 // TODO(hansmuller); At some point perhaps this can be replaced with |
| 15 // the (currently experimental) Isolate::SetAutorunMicrotasks() method. |
| 16 |
| 17 class RunMicrotasksObserver : public base::MessageLoop::TaskObserver { |
| 18 public: |
| 19 RunMicrotasksObserver(v8::Isolate* isolate); |
| 20 |
| 21 virtual void WillProcessTask(const base::PendingTask& pending_task) OVERRIDE; |
| 22 virtual void DidProcessTask(const base::PendingTask& pending_task) OVERRIDE; |
| 23 |
| 24 private: |
| 25 v8::Isolate* isolate_; |
| 26 }; |
| 27 |
| 28 } // namespace gin |
| 29 |
| 30 #endif // GIN_RUN_MICROTASKS_OBSERVER_H_ |
OLD | NEW |