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

Unified Diff: chrome/browser/media/router/presentation_session_state_observer.cc

Issue 1430413003: [Media Router] Connection state change listening redesign part 2. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/presentation_session_state_observer.cc
diff --git a/chrome/browser/media/router/presentation_session_state_observer.cc b/chrome/browser/media/router/presentation_session_state_observer.cc
deleted file mode 100644
index 6b7a3e4b59409bbe3903404bfb79968f8eb542a8..0000000000000000000000000000000000000000
--- a/chrome/browser/media/router/presentation_session_state_observer.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/media/router/presentation_session_state_observer.h"
-
-#include "chrome/browser/media/router/media_router.h"
-
-namespace media_router {
-
-PresentationSessionStateObserver::PresentationSessionStateObserver(
- const content::SessionStateChangedCallback& state_changed_callback,
- const MediaRouteIdToPresentationSessionMapping* route_id_to_presentation,
- MediaRouter* router)
- : MediaRoutesObserver(router),
- state_changed_callback_(state_changed_callback),
- route_id_to_presentation_(route_id_to_presentation) {
- DCHECK(route_id_to_presentation_);
-}
-
-PresentationSessionStateObserver::~PresentationSessionStateObserver() {
-}
-
-void PresentationSessionStateObserver::OnPresentationSessionConnected(
- const MediaRoute::Id& route_id) {
- if (!ContainsValue(tracked_route_ids_, route_id))
- tracked_route_ids_.push_back(route_id);
- InvokeCallback(route_id, content::PRESENTATION_CONNECTION_STATE_CONNECTED);
-}
-
-void PresentationSessionStateObserver::Reset() {
- tracked_route_ids_.clear();
- previous_route_ids_.clear();
-}
-
-void PresentationSessionStateObserver::OnRoutesUpdated(
- const std::vector<MediaRoute>& routes) {
- std::vector<MediaRoute::Id> current_route_ids_;
- current_route_ids_.reserve(routes.size());
- for (const MediaRoute& route : routes)
- current_route_ids_.push_back(route.media_route_id());
-
- for (auto it = tracked_route_ids_.begin(); it != tracked_route_ids_.end();
- /*no-op*/) {
- const MediaRoute::Id& route_id = *it;
- if (ContainsValue(previous_route_ids_, route_id) &&
- !ContainsValue(current_route_ids_, route_id)) {
- InvokeCallback(route_id, content::PRESENTATION_CONNECTION_STATE_CLOSED);
- it = tracked_route_ids_.erase(it);
- } else {
- ++it;
- }
- }
- previous_route_ids_.swap(current_route_ids_);
-}
-
-void PresentationSessionStateObserver::InvokeCallback(
- const MediaRoute::Id& route_id,
- content::PresentationConnectionState new_state) {
- const content::PresentationSessionInfo* session_info =
- route_id_to_presentation_->Get(route_id);
- if (session_info)
- state_changed_callback_.Run(*session_info, new_state);
-}
-
-} // namespace media_router

Powered by Google App Engine
This is Rietveld 408576698