Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" | 5 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/containers/scoped_ptr_hash_map.h" | 9 #include "base/containers/scoped_ptr_hash_map.h" |
| 10 #include "base/containers/small_map.h" | 10 #include "base/containers/small_map.h" |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 171 | 171 |
| 172 const std::vector<MediaRoute::Id> PresentationFrame::GetRouteIds() const { | 172 const std::vector<MediaRoute::Id> PresentationFrame::GetRouteIds() const { |
| 173 std::vector<MediaRoute::Id> route_ids; | 173 std::vector<MediaRoute::Id> route_ids; |
| 174 for (const auto& e : presentation_id_to_route_id_) | 174 for (const auto& e : presentation_id_to_route_id_) |
| 175 route_ids.push_back(e.second); | 175 route_ids.push_back(e.second); |
| 176 return route_ids; | 176 return route_ids; |
| 177 } | 177 } |
| 178 | 178 |
| 179 bool PresentationFrame::SetScreenAvailabilityListener( | 179 bool PresentationFrame::SetScreenAvailabilityListener( |
| 180 content::PresentationScreenAvailabilityListener* listener) { | 180 content::PresentationScreenAvailabilityListener* listener) { |
| 181 if (sinks_observer_ && sinks_observer_->listener() == listener) { | 181 if (sinks_observer_ && sinks_observer_->listener() == listener) |
| 182 return false; | |
| 183 | |
| 184 MediaSource source(GetMediaSourceFromListener(listener)); | |
| 185 PresentationMediaSinksObserver* sinks_observer = | |
| 186 new PresentationMediaSinksObserver(router_, listener, source); | |
| 187 | |
| 188 if (!sinks_observer->is_active()) { | |
| 189 listener->OnScreenAvailabilityNotSupported(); | |
|
whywhat
2015/09/29 12:29:22
I think you need to make sinks_observer a scoped_p
mlamouri (slow - plz ping)
2015/09/29 14:44:52
Good catch!
| |
| 182 return false; | 190 return false; |
| 183 } | 191 } |
| 184 MediaSource source(GetMediaSourceFromListener(listener)); | 192 |
| 185 sinks_observer_.reset( | 193 sinks_observer_.reset(sinks_observer); |
| 186 new PresentationMediaSinksObserver(router_, listener, source)); | |
| 187 return true; | 194 return true; |
| 188 } | 195 } |
| 189 | 196 |
| 190 bool PresentationFrame::RemoveScreenAvailabilityListener( | 197 bool PresentationFrame::RemoveScreenAvailabilityListener( |
| 191 content::PresentationScreenAvailabilityListener* listener) { | 198 content::PresentationScreenAvailabilityListener* listener) { |
| 192 if (sinks_observer_ && sinks_observer_->listener() == listener) { | 199 if (sinks_observer_ && sinks_observer_->listener() == listener) { |
| 193 sinks_observer_.reset(); | 200 sinks_observer_.reset(); |
| 194 return true; | 201 return true; |
| 195 } | 202 } |
| 196 return false; | 203 return false; |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 741 bool PresentationServiceDelegateImpl::HasScreenAvailabilityListenerForTest( | 748 bool PresentationServiceDelegateImpl::HasScreenAvailabilityListenerForTest( |
| 742 int render_process_id, | 749 int render_process_id, |
| 743 int render_frame_id, | 750 int render_frame_id, |
| 744 const MediaSource::Id& source_id) const { | 751 const MediaSource::Id& source_id) const { |
| 745 RenderFrameHostId render_frame_host_id(render_process_id, render_frame_id); | 752 RenderFrameHostId render_frame_host_id(render_process_id, render_frame_id); |
| 746 return frame_manager_->HasScreenAvailabilityListenerForTest( | 753 return frame_manager_->HasScreenAvailabilityListenerForTest( |
| 747 render_frame_host_id, source_id); | 754 render_frame_host_id, source_id); |
| 748 } | 755 } |
| 749 | 756 |
| 750 } // namespace media_router | 757 } // namespace media_router |
| OLD | NEW |