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

Unified Diff: public/platform/WebCallbacks.h

Issue 1240763002: CallbackPromiseAdapter types should be more compatible with WebCallbacks (3/3). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 5 years, 4 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 | « Source/modules/serviceworkers/ServiceWorkerError.cpp ('k') | public/platform/WebGeofencingProvider.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: public/platform/WebCallbacks.h
diff --git a/public/platform/WebCallbacks.h b/public/platform/WebCallbacks.h
index c402780427c417c3b285b7573150c2707081ac56..51f83ae16b3bddfd574116616b708efd6677f671 100644
--- a/public/platform/WebCallbacks.h
+++ b/public/platform/WebCallbacks.h
@@ -35,6 +35,14 @@
namespace blink {
+// A WebCallbacks<S, T> represents a callback object. Typically it is created
+// in Blink and passed to Chromium, and onSuccess or onError will be called
+// from Chromium.
+// When transferring ownership, use |WebPrivatePassOwnPtr<X>| as a type
+// parameter. Otherwise, |const X&| or |X| for a type parameter. It is
+// generally not preferred to use |X*| because the object ownership is not well
+// specified.
+
template<typename S, typename T>
class WebCallbacks {
public:
@@ -67,66 +75,6 @@ public:
virtual void onError() {}
};
-// WebPassOwnPtr<T> adapter: defined for migration purpose and should
-// be deleted in the future.
-
-template <typename S, typename T>
-class WebCallbacks<WebPassOwnPtr<S>, WebPassOwnPtr<T>> {
-public:
- virtual ~WebCallbacks() {}
- virtual void onSuccess(WebPassOwnPtr<S>) {}
- void onSuccess(const S& r) { onSuccess(adoptWebPtr(new S(r))); }
- virtual void onError(WebPassOwnPtr<T>) {}
- void onError(const T& e) { onError(adoptWebPtr(new T(e))); }
-
- void onSuccess(S* r) { onSuccess(adoptWebPtr(r)); }
- void onError(T* e) { onError(adoptWebPtr(e)); }
-};
-
-template <typename S>
-class WebCallbacks<WebPassOwnPtr<S>, void> {
-public:
- virtual ~WebCallbacks() {}
- virtual void onSuccess(WebPassOwnPtr<S>) {}
- virtual void onSuccess(const S& r) { onSuccess(adoptWebPtr(new S(r))); }
- virtual void onError() {}
-
- void onSuccess(S* r) { onSuccess(adoptWebPtr(r)); }
-};
-
-template <typename T>
-class WebCallbacks<void, WebPassOwnPtr<T>> {
-public:
- virtual ~WebCallbacks() {}
- virtual void onSuccess() {}
- virtual void onError(WebPassOwnPtr<T>) {}
- void onError(const T& e) { onError(adoptWebPtr(new T(e))); }
-
- void onError(T* e) { onError(adoptWebPtr(e)); }
-};
-
-template <typename T>
-class WebCallbacks<bool*, WebPassOwnPtr<T>> {
-public:
- virtual ~WebCallbacks() {}
- void onSuccess(bool b) { onSuccess(&b); }
- virtual void onError(WebPassOwnPtr<T>) {}
- void onError(const T& e) { onError(adoptWebPtr(new T(e))); }
-
- virtual void onSuccess(bool* b) {}
- void onError(T* e) { onError(adoptWebPtr(e)); }
-};
-
-template <>
-class WebCallbacks<bool*, void> {
-public:
- virtual ~WebCallbacks<bool*, void>() {}
- void onSuccess(bool b) { onSuccess(&b); }
- virtual void onError() {}
-
- virtual void onSuccess(bool *b) {}
-};
-
} // namespace blink
#endif
« no previous file with comments | « Source/modules/serviceworkers/ServiceWorkerError.cpp ('k') | public/platform/WebGeofencingProvider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698