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

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

Issue 2264153002: [Presentation API] Add support for multiple URLs in PresentationRequest on Media Router UI side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Mark's comments, add unit test for CMWMS Created 4 years, 3 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 <vector>
mark a. foltz 2016/09/02 23:00:37 Put in .h
takumif 2016/09/06 21:53:20 Done.
8
7 #include "chrome/browser/media/router/media_router.h" 9 #include "chrome/browser/media/router/media_router.h"
8 #include "chrome/browser/media/router/media_source.h" 10 #include "chrome/browser/media/router/media_source.h"
9 #include "content/public/browser/presentation_screen_availability_listener.h" 11 #include "content/public/browser/presentation_screen_availability_listener.h"
10 12
11 namespace media_router { 13 namespace media_router {
12 14
13 PresentationMediaSinksObserver::PresentationMediaSinksObserver( 15 PresentationMediaSinksObserver::PresentationMediaSinksObserver(
14 MediaRouter* router, 16 MediaRouter* router,
15 content::PresentationScreenAvailabilityListener* listener, 17 content::PresentationScreenAvailabilityListener* listener,
16 const MediaSource& source, 18 const MediaSource& source,
17 const GURL& origin) 19 const GURL& origin)
18 : MediaSinksObserver(router, source, origin), 20 : MediaSinksObserver(router, source, origin),
19 listener_(listener), 21 listener_(listener),
20 previous_availablity_(UNKNOWN) { 22 previous_availablity_(UNKNOWN) {
21 DCHECK(router); 23 DCHECK(router);
22 DCHECK(listener_); 24 DCHECK(listener_);
23 DCHECK(!source.Empty());
24 } 25 }
25 26
26 PresentationMediaSinksObserver::~PresentationMediaSinksObserver() { 27 PresentationMediaSinksObserver::~PresentationMediaSinksObserver() {
27 } 28 }
28 29
29 void PresentationMediaSinksObserver::OnSinksReceived( 30 void PresentationMediaSinksObserver::OnSinksReceived(
30 const std::vector<MediaSink>& result) { 31 const std::vector<MediaSink>& result) {
31 Availability current_availability = result.empty() ? UNAVAILABLE : AVAILABLE; 32 Availability current_availability = result.empty() ? UNAVAILABLE : AVAILABLE;
32 33
33 DVLOG(1) << "PresentationMediaSinksObserver::OnSinksReceived: " 34 DVLOG(1) << "PresentationMediaSinksObserver::OnSinksReceived: "
34 << source().ToString() << " " 35 << source().ToString() << " "
35 << (result.empty() ? "unavailable" : "available"); 36 << (result.empty() ? "unavailable" : "available");
36 37
37 // Don't send if new result is same as previous. 38 // Don't send if new result is same as previous.
38 if (previous_availablity_ != current_availability) 39 if (previous_availablity_ != current_availability)
39 listener_->OnScreenAvailabilityChanged(current_availability == AVAILABLE); 40 listener_->OnScreenAvailabilityChanged(current_availability == AVAILABLE);
40 41
41 previous_availablity_ = current_availability; 42 previous_availablity_ = current_availability;
42 } 43 }
43 44
44 } // namespace media_router 45 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698