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

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

Issue 1784533004: [Media Router] Add origins to sink query results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix test 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/media_sinks_observer.h" 5 #include "chrome/browser/media/router/media_sinks_observer.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/stl_util.h"
8 #include "chrome/browser/media/router/media_router.h" 9 #include "chrome/browser/media/router/media_router.h"
9 10
11 #if DCHECK_IS_ON()
12 #include "base/auto_reset.h"
13 #endif
14
10 namespace media_router { 15 namespace media_router {
11 16
12 MediaSinksObserver::MediaSinksObserver(MediaRouter* router, 17 MediaSinksObserver::MediaSinksObserver(MediaRouter* router,
13 const MediaSource& source) 18 const MediaSource& source,
14 : source_(source), router_(router), initialized_(false) { 19 const GURL& origin)
20 : source_(source), origin_(origin), router_(router), initialized_(false) {
15 DCHECK(router_); 21 DCHECK(router_);
16 } 22 }
17 23
18 MediaSinksObserver::~MediaSinksObserver() { 24 MediaSinksObserver::~MediaSinksObserver() {
25 #if DCHECK_IS_ON()
26 DCHECK(!in_on_sinks_updated_);
27 #endif
28
19 if (initialized_) 29 if (initialized_)
20 router_->UnregisterMediaSinksObserver(this); 30 router_->UnregisterMediaSinksObserver(this);
21 } 31 }
22 32
23 bool MediaSinksObserver::Init() { 33 bool MediaSinksObserver::Init() {
24 if (initialized_) 34 if (initialized_)
25 return true; 35 return true;
26 36
27 initialized_ = router_->RegisterMediaSinksObserver(this); 37 initialized_ = router_->RegisterMediaSinksObserver(this);
28 return initialized_; 38 return initialized_;
29 } 39 }
30 40
41 void MediaSinksObserver::OnSinksUpdated(const std::vector<MediaSink>& sinks,
42 const std::vector<GURL>& origins) {
43 #if DCHECK_IS_ON()
44 base::AutoReset<bool> reset_in_on_sinks_updated(&in_on_sinks_updated_, true);
45 #endif
46
47 if (origins.empty() || ContainsValue(origins, origin_))
48 OnSinksReceived(sinks);
49 else
50 OnSinksReceived(std::vector<MediaSink>());
51 }
52
31 } // namespace media_router 53 } // namespace media_router
OLDNEW
« no previous file with comments | « chrome/browser/media/router/media_sinks_observer.h ('k') | chrome/browser/media/router/media_sinks_observer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698