OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 25 matching lines...) Expand all Loading... |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 void Microtask::performCheckpoint(v8::Isolate* isolate) { | 38 void Microtask::performCheckpoint(v8::Isolate* isolate) { |
39 if (ScriptForbiddenScope::isScriptForbidden()) | 39 if (ScriptForbiddenScope::isScriptForbidden()) |
40 return; | 40 return; |
41 v8::MicrotasksScope::PerformCheckpoint(isolate); | 41 v8::MicrotasksScope::PerformCheckpoint(isolate); |
42 } | 42 } |
43 | 43 |
44 static void microtaskFunctionCallback(void* data) { | 44 static void microtaskFunctionCallback(void* data) { |
45 std::unique_ptr<WTF::Closure> task = | 45 std::unique_ptr<WTF::Closure> task = |
46 wrapUnique(static_cast<WTF::Closure*>(data)); | 46 WTF::wrapUnique(static_cast<WTF::Closure*>(data)); |
47 (*task)(); | 47 (*task)(); |
48 } | 48 } |
49 | 49 |
50 void Microtask::enqueueMicrotask(std::unique_ptr<WTF::Closure> callback) { | 50 void Microtask::enqueueMicrotask(std::unique_ptr<WTF::Closure> callback) { |
51 v8::Isolate* isolate = v8::Isolate::GetCurrent(); | 51 v8::Isolate* isolate = v8::Isolate::GetCurrent(); |
52 isolate->EnqueueMicrotask(µtaskFunctionCallback, | 52 isolate->EnqueueMicrotask(µtaskFunctionCallback, |
53 static_cast<void*>(callback.release())); | 53 static_cast<void*>(callback.release())); |
54 } | 54 } |
55 | 55 |
56 } // namespace blink | 56 } // namespace blink |
OLD | NEW |