Index: content/renderer/presentation/presentation_dispatcher.cc |
diff --git a/content/renderer/presentation/presentation_dispatcher.cc b/content/renderer/presentation/presentation_dispatcher.cc |
index 1a249e8ad08b8883e459bd383960f605dc803fea..9eb9c679569150bb720d5c320bf872014cf3cbdf 100644 |
--- a/content/renderer/presentation/presentation_dispatcher.cc |
+++ b/content/renderer/presentation/presentation_dispatcher.cc |
@@ -336,6 +336,11 @@ |
presentation::PresentationSessionInfoPtr session_info) { |
if (!controller_) |
return; |
+ |
+ // Reset the callback to get the next event. |
+ presentation_service_->ListenForDefaultSessionStart(base::Bind( |
+ &PresentationDispatcher::OnDefaultSessionStarted, |
+ base::Unretained(this))); |
if (!session_info.is_null()) { |
controller_->didStartDefaultSession( |
@@ -421,6 +426,9 @@ |
binding_.Bind(GetProxy(&client_ptr)); |
presentation_service_->SetClient(client_ptr.Pass()); |
+ presentation_service_->ListenForDefaultSessionStart(base::Bind( |
+ &PresentationDispatcher::OnDefaultSessionStarted, |
+ base::Unretained(this))); |
presentation_service_->ListenForSessionStateChange(); |
} |