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

Unified Diff: mojo/public/cpp/bindings/message.h

Issue 2766523002: mojo: MessageReceiver*::AcceptWithResponder() now take a unique_ptr to the responder (Closed)
Patch Set: fix mac compile, use ignore_result more Created 3 years, 9 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
Index: mojo/public/cpp/bindings/message.h
diff --git a/mojo/public/cpp/bindings/message.h b/mojo/public/cpp/bindings/message.h
index 65d6cecee64af3d8a9928dc8051583a31b8ee984..8e0d2561983a651b07964a48ced9c224302959c4 100644
--- a/mojo/public/cpp/bindings/message.h
+++ b/mojo/public/cpp/bindings/message.h
@@ -184,13 +184,11 @@ class MessageReceiverWithResponder : public MessageReceiver {
// message. The responder's Accept method may be called during
// AcceptWithResponder or some time after its return.
//
- // NOTE: Upon returning true, AcceptWithResponder assumes ownership of
- // |responder| and will delete it after calling |responder->Accept| or upon
- // its own destruction.
- //
- // TODO(yzshen): consider changing |responder| to
- // std::unique_ptr<MessageReceiver>.
- virtual bool AcceptWithResponder(Message* message, MessageReceiver* responder)
+ // NOTE: If AcceptWithReponder returns false, |responder| may be deleted
+ // immediately. Otherwise it will delete it after calling |responder->Accept|
+ // or upon its own destruction.
+ virtual bool AcceptWithResponder(Message* message,
+ std::unique_ptr<MessageReceiver> responder)
WARN_UNUSED_RESULT = 0;
};
@@ -223,15 +221,12 @@ class MessageReceiverWithResponderStatus : public MessageReceiver {
// message. Any of the responder's methods (Accept or IsValid) may be called
// during AcceptWithResponder or some time after its return.
//
- // NOTE: Upon returning true, AcceptWithResponder assumes ownership of
- // |responder| and will delete it after calling |responder->Accept| or upon
- // its own destruction.
- //
- // TODO(yzshen): consider changing |responder| to
- // std::unique_ptr<MessageReceiver>.
+ // NOTE: If AcceptWithReponder returns false, |responder| may be deleted
+ // immediately. Otherwise it will delete it after calling |responder->Accept|
yzshen1 2017/03/21 16:10:00 ditto.
watk 2017/03/22 07:09:15 Done.
+ // or upon its own destruction.
virtual bool AcceptWithResponder(Message* message,
- MessageReceiverWithStatus* responder)
- WARN_UNUSED_RESULT = 0;
+ std::unique_ptr<MessageReceiverWithStatus>
+ responder) WARN_UNUSED_RESULT = 0;
};
class MOJO_CPP_BINDINGS_EXPORT PassThroughFilter

Powered by Google App Engine
This is Rietveld 408576698