| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index 684b2c292ed9448a739e46b8358bb0339eb69d43..6a91140a4d04b682b75070c55955e824a209f8b1 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -4113,6 +4113,24 @@ class V8_EXPORT Isolate {
|
| };
|
|
|
| /**
|
| + * Do not run microtasks while this scope is active, even if microtasks are
|
| + * automatically executed otherwise.
|
| + */
|
| + class V8_EXPORT SuppressMicrotaskExecutionScope {
|
| + public:
|
| + explicit SuppressMicrotaskExecutionScope(Isolate* isolate);
|
| + ~SuppressMicrotaskExecutionScope();
|
| +
|
| + private:
|
| + internal::Isolate* isolate_;
|
| +
|
| + // Prevent copying of Scope objects.
|
| + SuppressMicrotaskExecutionScope(const SuppressMicrotaskExecutionScope&);
|
| + SuppressMicrotaskExecutionScope& operator=(
|
| + const SuppressMicrotaskExecutionScope&);
|
| + };
|
| +
|
| + /**
|
| * Types of garbage collections that can be requested via
|
| * RequestGarbageCollectionForTesting.
|
| */
|
| @@ -4361,6 +4379,22 @@ class V8_EXPORT Isolate {
|
| */
|
| void RemoveCallCompletedCallback(CallCompletedCallback callback);
|
|
|
| + /**
|
| + * Experimental: Runs the Microtask Work Queue until empty
|
| + */
|
| + void RunMicrotasks();
|
| +
|
| + /**
|
| + * Experimental: Enqueues the callback to the Microtask Work Queue
|
| + */
|
| + void EnqueueMicrotask(Handle<Function> microtask);
|
| +
|
| + /**
|
| + * Experimental: Controls whether the Microtask Work Queue is automatically
|
| + * run when the script call depth decrements to zero.
|
| + */
|
| + void SetAutorunMicrotasks(bool autorun);
|
| +
|
| private:
|
| template<class K, class V, class Traits> friend class PersistentValueMap;
|
|
|
| @@ -4724,17 +4758,23 @@ class V8_EXPORT V8 {
|
|
|
| /**
|
| * Experimental: Runs the Microtask Work Queue until empty
|
| + *
|
| + * Deprecated: Use methods on Isolate instead.
|
| */
|
| static void RunMicrotasks(Isolate* isolate);
|
|
|
| /**
|
| * Experimental: Enqueues the callback to the Microtask Work Queue
|
| + *
|
| + * Deprecated: Use methods on Isolate instead.
|
| */
|
| static void EnqueueMicrotask(Isolate* isolate, Handle<Function> microtask);
|
|
|
| /**
|
| * Experimental: Controls whether the Microtask Work Queue is automatically
|
| * run when the script call depth decrements to zero.
|
| + *
|
| + * Deprecated: Use methods on Isolate instead.
|
| */
|
| static void SetAutorunMicrotasks(Isolate *source, bool autorun);
|
|
|
|
|