Index: Source/bindings/core/v8/CallbackPromiseAdapter.h |
diff --git a/Source/bindings/core/v8/CallbackPromiseAdapter.h b/Source/bindings/core/v8/CallbackPromiseAdapter.h |
index 666bccc485d7bb2689fa90a0413408c824ddb41b..205e04c06d308b5dda1dce74a6645662a242fe02 100644 |
--- a/Source/bindings/core/v8/CallbackPromiseAdapter.h |
+++ b/Source/bindings/core/v8/CallbackPromiseAdapter.h |
@@ -36,6 +36,10 @@ |
namespace blink { |
+// TODO(nhiroki): Remove ifdef hack after Chromium-side patch is landed. |
+// http://crbug.com/493531 |
+#define CRBUG_493531 |
+ |
// This class provides an easy way to convert from a Script-exposed |
// class (i.e. a class that has a toV8() overload) that uses Promises |
// to a WebKit API class that uses WebCallbacks. You can define |
@@ -182,13 +186,13 @@ public: |
} |
virtual ~CallbackPromiseAdapter() { } |
- // TODO(nhiroki): onSuccess should take ownership of a bool object for |
- // consistency. (http://crbug.com/493531) |
+ // Takes ownership of |result|. |
virtual void onSuccess(bool* result) override |
{ |
+ OwnPtr<bool> ownPtr = adoptPtr(result); |
if (!m_resolver->executionContext() || m_resolver->executionContext()->activeDOMObjectsAreStopped()) |
return; |
- m_resolver->resolve(*result); |
+ m_resolver->resolve(*ownPtr); |
} |
// Takes ownership of |error|. |
@@ -244,13 +248,13 @@ public: |
} |
virtual ~CallbackPromiseAdapter() { } |
- // TODO(nhiroki): onSuccess should take ownership of a bool object for |
- // consistency. (http://crbug.com/493531) |
+ // Takes ownership of |result|. |
virtual void onSuccess(bool* result) override |
{ |
+ OwnPtr<bool> ownPtr = adoptPtr(result); |
if (!m_resolver->executionContext() || m_resolver->executionContext()->activeDOMObjectsAreStopped()) |
return; |
- m_resolver->resolve(*result); |
+ m_resolver->resolve(*ownPtr); |
haraken
2015/07/03 05:57:49
This will end up with calling resolveOrReject(OwnP
yhirano
2015/07/03 06:04:12
This statement passes |*ownPtr| of type |bool|, so
haraken
2015/07/03 06:09:06
ah, OK. Then what's the merit of using an OwnPtr?
nhiroki
2015/07/03 06:59:39
Sorry, I'm not really sure why you feel this a bit
|
} |
virtual void onError() override |