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

Side by Side Diff: chrome/browser/media/router/presentation_media_sinks_observer.cc

Issue 1693963003: Pass origin to StartObservingMediaSinks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cache off media source Created 4 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 unified diff | Download patch
OLDNEW
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_media_sinks_observer.h" 5 #include "chrome/browser/media/router/presentation_media_sinks_observer.h"
6 6
7 #include "chrome/browser/media/router/media_router.h" 7 #include "chrome/browser/media/router/media_router.h"
8 #include "chrome/browser/media/router/media_source.h" 8 #include "chrome/browser/media/router/media_source.h"
9 #include "content/public/browser/presentation_screen_availability_listener.h" 9 #include "content/public/browser/presentation_screen_availability_listener.h"
10 10
11 namespace media_router { 11 namespace media_router {
12 12
13 PresentationMediaSinksObserver::PresentationMediaSinksObserver( 13 PresentationMediaSinksObserver::PresentationMediaSinksObserver(
14 MediaRouter* router, 14 MediaRouter* router,
15 content::PresentationScreenAvailabilityListener* listener, 15 content::PresentationScreenAvailabilityListener* listener,
16 const MediaSource& source) 16 const MediaSource& source)
17 : MediaSinksObserver(router, source), 17 : MediaSinksObserver(router, source),
18 listener_(listener), 18 listener_(listener),
19 previous_availablity_(UNKNOWN) { 19 previous_availablity_(UNKNOWN) {
20 DCHECK(router); 20 DCHECK(router);
21 DCHECK(listener_); 21 DCHECK(listener_);
22 DCHECK(!source.Empty()); 22 DCHECK(!source.Empty());
23 } 23 }
24 24
25 PresentationMediaSinksObserver::~PresentationMediaSinksObserver() { 25 PresentationMediaSinksObserver::~PresentationMediaSinksObserver() {
26 } 26 }
27 27
28 void PresentationMediaSinksObserver::OnSinksReceived( 28 void PresentationMediaSinksObserver::OnSinksReceived(
29 const MediaSource& incomingSource,
29 const std::vector<MediaSink>& result) { 30 const std::vector<MediaSink>& result) {
31 if (!incomingSource.Equals(source()))
mark a. foltz 2016/03/03 22:58:36 Derek: Should this be a DCHECK()?
matt.boetger 2016/03/04 00:22:11 This method WILL be called with other sources unle
32 return;
33
30 Availability current_availability = result.empty() ? UNAVAILABLE : AVAILABLE; 34 Availability current_availability = result.empty() ? UNAVAILABLE : AVAILABLE;
31 35
32 DVLOG(1) << "PresentationMediaSinksObserver::OnSinksReceived: " 36 DVLOG(1) << "PresentationMediaSinksObserver::OnSinksReceived: "
33 << source().ToString() << " " 37 << source().ToString() << " "
34 << (result.empty() ? "unavailable" : "available"); 38 << (result.empty() ? "unavailable" : "available");
35 39
36 // Don't send if new result is same as previous. 40 // Don't send if new result is same as previous.
37 if (previous_availablity_ != current_availability) 41 if (previous_availablity_ != current_availability)
38 listener_->OnScreenAvailabilityChanged(current_availability == AVAILABLE); 42 listener_->OnScreenAvailabilityChanged(current_availability == AVAILABLE);
39 43
40 previous_availablity_ = current_availability; 44 previous_availablity_ = current_availability;
41 } 45 }
42 46
43 } // namespace media_router 47 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698