| Index: extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc
|
| diff --git a/extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc b/extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc
|
| index 67edf4b120bfb8d4c4af00453432916ef8ead318..f6d1104fd7ddf10170690c1efd65126fec35d275 100644
|
| --- a/extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc
|
| +++ b/extensions/renderer/api/display_source/wifi_display/wifi_display_session.cc
|
| @@ -42,6 +42,8 @@ void WiFiDisplaySession::Start() {
|
| DCHECK(state_ == DisplaySourceSession::Idle);
|
| service_->Connect(params_.sink_id, params_.auth_method, params_.auth_data);
|
| state_ = DisplaySourceSession::Establishing;
|
| + if (!started_callback_.is_null())
|
| + started_callback_.Run(params_.sink_id);
|
| }
|
|
|
| void WiFiDisplaySession::Terminate() {
|
| @@ -61,35 +63,26 @@ void WiFiDisplaySession::Terminate() {
|
| }
|
| }
|
|
|
| -void WiFiDisplaySession::OnConnected(
|
| - int32_t sink_id, const mojo::String& ip_address) {
|
| - if (sink_id == params_.sink_id) {
|
| - DCHECK(state_ != DisplaySourceSession::Established);
|
| - ip_address_ = ip_address;
|
| - state_ = DisplaySourceSession::Established;
|
| - }
|
| -
|
| - if (!started_callback_.is_null())
|
| - started_callback_.Run(sink_id);
|
| +void WiFiDisplaySession::OnEstablished(const mojo::String& ip_address) {
|
| + DCHECK(state_ != DisplaySourceSession::Established);
|
| + ip_address_ = ip_address;
|
| + state_ = DisplaySourceSession::Established;
|
| }
|
|
|
| -void WiFiDisplaySession::OnDisconnected(int32_t sink_id) {
|
| - if (sink_id == params_.sink_id) {
|
| - DCHECK(state_ == DisplaySourceSession::Established ||
|
| - state_ == DisplaySourceSession::Terminating);
|
| - state_ = DisplaySourceSession::Idle;
|
| - }
|
| -
|
| +void WiFiDisplaySession::OnTerminated() {
|
| + DCHECK(state_ != DisplaySourceSession::Idle);
|
| + state_ = DisplaySourceSession::Idle;
|
| if (!terminated_callback_.is_null())
|
| - terminated_callback_.Run(sink_id);
|
| + terminated_callback_.Run(params_.sink_id);
|
| }
|
|
|
| -void WiFiDisplaySession::OnError(
|
| - int32_t sink_id, int32_t type, const mojo::String& description) {
|
| +void WiFiDisplaySession::OnError(int32_t type,
|
| + const mojo::String& description) {
|
| DCHECK(type > api::display_source::ERROR_TYPE_NONE
|
| && type <= api::display_source::ERROR_TYPE_LAST);
|
| if (!error_callback_.is_null())
|
| - error_callback_.Run(sink_id, static_cast<ErrorType>(type), description);
|
| + error_callback_.Run(params_.sink_id, static_cast<ErrorType>(type),
|
| + description);
|
| }
|
|
|
| void WiFiDisplaySession::OnMessage(const mojo::String& data) {
|
| @@ -103,8 +96,7 @@ void WiFiDisplaySession::OnConnectionError() {
|
| kErrorInternal);
|
| }
|
|
|
| - if (state_ == DisplaySourceSession::Established ||
|
| - state_ == DisplaySourceSession::Terminating) {
|
| + if (state_ != DisplaySourceSession::Idle) {
|
| // We must explicitly notify the session termination as it will never
|
| // arrive from browser process (IPC is broken).
|
| if (!terminated_callback_.is_null())
|
|
|