Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Unified Diff: Source/bindings/core/v8/CallbackPromiseAdapter.h

Issue 1211353004: (WONT COMMIT) Pass a boPass a bool object allocated on heap to CallbackPromiseAdapter::onSuccess (2) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698