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

Unified Diff: extensions/renderer/api/display_source/display_source_session.h

Issue 1730583002: [chrome.displaySource] further implementation of call completion callbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments from Antony Created 4 years, 10 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: extensions/renderer/api/display_source/display_source_session.h
diff --git a/extensions/renderer/api/display_source/display_source_session.h b/extensions/renderer/api/display_source/display_source_session.h
index 2c4053cb65e0e0d08bdb7dfdbf9f8a4599ff4f8b..548958ed2fc661dc5d9cedb0cc658810a94b69f8 100644
--- a/extensions/renderer/api/display_source/display_source_session.h
+++ b/extensions/renderer/api/display_source/display_source_session.h
@@ -23,10 +23,10 @@ using DisplaySourceErrorType = api::display_source::ErrorType;
// This class represents a generic display source session interface.
class DisplaySourceSession {
public:
- using SinkIdCallback = base::Callback<void(int sink_id)>;
+ using CompletionCallback =
+ base::Callback<void(bool success, const std::string& error_description)>;
using ErrorCallback =
- base::Callback<void(int sink_id,
- DisplaySourceErrorType error_type,
+ base::Callback<void(DisplaySourceErrorType error_type,
const std::string& error_description)>;
// State flow is ether:
@@ -47,36 +47,43 @@ class DisplaySourceSession {
// Starts the session.
// The session state should be set to 'Establishing' immediately after this
// method is called.
- virtual void Start() = 0;
+ // |callback| : Called with 'success' flag set to 'true' if the session is
+ // successfully started (state should be set to 'Established')
+ //
+ // Called with 'success' flag set to 'false' if the session
+ // has failed to start (state should be set back to 'Idle').
+ // The 'error_description' argument contains description of
+ // an error that had caused the call falure.
+ virtual void Start(const CompletionCallback& callback) = 0;
// Terminates the session.
// The session state should be set to 'Terminating' immediately after this
// method is called.
- virtual void Terminate() = 0;
+ // |callback| : Called with 'success' flag set to 'true' if the session is
+ // successfully terminated (state should be set to 'Idle')
+ //
+ // Called with 'success' flag set to 'false' if the session
+ // could not terminate (state should not be modified).
+ // The 'error_description' argument contains description of
+ // an error that had caused the call falure.
+ virtual void Terminate(const CompletionCallback& callback) = 0;
State state() const { return state_; }
// Sets the callbacks invoked to inform about the session's state changes.
// It is required to set the callbacks before the session is started.
- // |started_callback| : Called when the session was actually started (state
- // should be set to 'Established')
- // |terminated_callback| : Called when the session was actually started (state
+ // |terminated_callback| : Called when session was terminated (state
// should be set to 'Idle')
// |error_callback| : Called if a fatal error has occured and the session
- // either cannot be started (if was invoked in
- // 'Establishing' state) or will be terminated soon for
- // emergency reasons (if was invoked in 'Established'
- // state).
- void SetCallbacks(const SinkIdCallback& started_callback,
- const SinkIdCallback& terminated_callback,
- const ErrorCallback& error_callback);
+ // will be terminated soon for emergency reasons.
+ void SetNotificationCallbacks(const base::Closure& terminated_callback,
+ const ErrorCallback& error_callback);
protected:
DisplaySourceSession();
State state_;
- SinkIdCallback started_callback_;
- SinkIdCallback terminated_callback_;
+ base::Closure terminated_callback_;
ErrorCallback error_callback_;
private:

Powered by Google App Engine
This is Rietveld 408576698