Chromium Code Reviews| 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 |