Index: third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
index 119ebc11724f619c1c2c255d55614b3697a294bf..1767fda10fb88df3a6fa8edcdc3f53e9312b372b 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
+++ b/third_party/WebKit/Source/bindings/core/v8/V8Initializer.cpp |
@@ -61,6 +61,7 @@ |
#include "public/platform/WebThread.h" |
#include "wtf/AddressSanitizer.h" |
#include "wtf/ArrayBufferContents.h" |
+#include "wtf/LeakAnnotations.h" |
#include "wtf/RefPtr.h" |
#include "wtf/text/WTFString.h" |
#include <v8-debug.h> |
@@ -191,8 +192,9 @@ namespace { |
static RejectedPromises& rejectedPromisesOnMainThread() |
{ |
+ WTF_ANNOTATE_SCOPED_MEMORY_LEAK; |
ASSERT(isMainThread()); |
- DEFINE_STATIC_LOCAL(RefPtrWillBePersistent<RejectedPromises>, rejectedPromises, (adoptRefWillBeNoop(new RejectedPromises()))); |
+ DEFINE_STATIC_LOCAL(RefPtrWillBePersistent<RejectedPromises>, rejectedPromises, (RejectedPromises::create())); |
return *rejectedPromises; |
} |
@@ -203,6 +205,11 @@ void V8Initializer::reportRejectedPromisesOnMainThread() |
rejectedPromisesOnMainThread().processQueue(); |
} |
+void V8Initializer::disposeRejectedPromisesOnMainThread() |
+{ |
+ rejectedPromisesOnMainThread().dispose(); |
+} |
+ |
static void promiseRejectHandlerInMainThread(v8::PromiseRejectMessage data) |
{ |
ASSERT(isMainThread()); |