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

Side by Side Diff: chrome/browser/ui/webui/media_router/media_router_ui.cc

Issue 2859953002: Reland [Media Router] Custom Controls 3 - add plumbing through MRUI and MRWebUIMessageHandler (Closed)
Patch Set: Fix test failures Created 3 years, 7 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/ui/webui/media_router/media_router_ui.h" 5 #include "chrome/browser/ui/webui/media_router/media_router_ui.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <unordered_map> 9 #include <unordered_map>
10 #include <utility> 10 #include <utility>
(...skipping 13 matching lines...) Expand all
24 #include "chrome/browser/media/router/media_router_metrics.h" 24 #include "chrome/browser/media/router/media_router_metrics.h"
25 #include "chrome/browser/media/router/media_routes_observer.h" 25 #include "chrome/browser/media/router/media_routes_observer.h"
26 #include "chrome/browser/media/router/media_sinks_observer.h" 26 #include "chrome/browser/media/router/media_sinks_observer.h"
27 #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h" 27 #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h"
28 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" 28 #include "chrome/browser/media/router/presentation_service_delegate_impl.h"
29 #include "chrome/browser/profiles/profile.h" 29 #include "chrome/browser/profiles/profile.h"
30 #include "chrome/browser/sessions/session_tab_helper.h" 30 #include "chrome/browser/sessions/session_tab_helper.h"
31 #include "chrome/browser/ui/webui/media_router/media_router_localized_strings_pr ovider.h" 31 #include "chrome/browser/ui/webui/media_router/media_router_localized_strings_pr ovider.h"
32 #include "chrome/browser/ui/webui/media_router/media_router_resources_provider.h " 32 #include "chrome/browser/ui/webui/media_router/media_router_resources_provider.h "
33 #include "chrome/browser/ui/webui/media_router/media_router_webui_message_handle r.h" 33 #include "chrome/browser/ui/webui/media_router/media_router_webui_message_handle r.h"
34 #include "chrome/common/chrome_features.h"
34 #include "chrome/common/media_router/issue.h" 35 #include "chrome/common/media_router/issue.h"
35 #include "chrome/common/media_router/media_route.h" 36 #include "chrome/common/media_router/media_route.h"
36 #include "chrome/common/media_router/media_sink.h" 37 #include "chrome/common/media_router/media_sink.h"
37 #include "chrome/common/media_router/media_source.h" 38 #include "chrome/common/media_router/media_source.h"
38 #include "chrome/common/media_router/media_source_helper.h" 39 #include "chrome/common/media_router/media_source_helper.h"
39 #include "chrome/common/media_router/route_request_result.h" 40 #include "chrome/common/media_router/route_request_result.h"
40 #include "chrome/common/pref_names.h" 41 #include "chrome/common/pref_names.h"
41 #include "chrome/common/url_constants.h" 42 #include "chrome/common/url_constants.h"
42 #include "chrome/grit/generated_resources.h" 43 #include "chrome/grit/generated_resources.h"
43 #include "components/prefs/pref_service.h" 44 #include "components/prefs/pref_service.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 147 }
147 148
148 MediaRouterUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() {} 149 MediaRouterUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() {}
149 150
150 void MediaRouterUI::UIMediaRoutesObserver::OnRoutesUpdated( 151 void MediaRouterUI::UIMediaRoutesObserver::OnRoutesUpdated(
151 const std::vector<MediaRoute>& routes, 152 const std::vector<MediaRoute>& routes,
152 const std::vector<MediaRoute::Id>& joinable_route_ids) { 153 const std::vector<MediaRoute::Id>& joinable_route_ids) {
153 callback_.Run(routes, joinable_route_ids); 154 callback_.Run(routes, joinable_route_ids);
154 } 155 }
155 156
157 MediaRouterUI::UIMediaRouteControllerObserver::UIMediaRouteControllerObserver(
158 MediaRouterUI* ui,
159 scoped_refptr<MediaRouteController> controller)
160 : MediaRouteController::Observer(std::move(controller)), ui_(ui) {}
161 MediaRouterUI::UIMediaRouteControllerObserver::
162 ~UIMediaRouteControllerObserver() {}
163
164 void MediaRouterUI::UIMediaRouteControllerObserver::OnMediaStatusUpdated(
165 const MediaStatus& status) {
166 ui_->UpdateMediaRouteStatus(status);
167 }
168
169 void MediaRouterUI::UIMediaRouteControllerObserver::OnControllerInvalidated() {
170 ui_->OnRouteControllerInvalidated();
171 }
172
156 MediaRouterUI::MediaRouterUI(content::WebUI* web_ui) 173 MediaRouterUI::MediaRouterUI(content::WebUI* web_ui)
157 : ConstrainedWebDialogUI(web_ui), 174 : ConstrainedWebDialogUI(web_ui),
158 ui_initialized_(false), 175 ui_initialized_(false),
159 current_route_request_id_(-1), 176 current_route_request_id_(-1),
160 route_request_counter_(0), 177 route_request_counter_(0),
161 initiator_(nullptr), 178 initiator_(nullptr),
162 router_(nullptr), 179 router_(nullptr),
163 weak_factory_(this) { 180 weak_factory_(this) {
164 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this); 181 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this);
165 handler_ = handler.get(); 182 handler_ = handler.get();
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 MediaRouterMetrics::RecordMediaRouterDialogLoaded( 770 MediaRouterMetrics::RecordMediaRouterDialogLoaded(
754 base::Time::Now() - start_time_); 771 base::Time::Now() - start_time_);
755 start_time_ = base::Time(); 772 start_time_ = base::Time();
756 } 773 }
757 } 774 }
758 775
759 void MediaRouterUI::UpdateMaxDialogHeight(int height) { 776 void MediaRouterUI::UpdateMaxDialogHeight(int height) {
760 handler_->UpdateMaxDialogHeight(height); 777 handler_->UpdateMaxDialogHeight(height);
761 } 778 }
762 779
780 const MediaRouteController* MediaRouterUI::GetMediaRouteController() const {
781 return route_controller_observer_
782 ? route_controller_observer_->controller().get()
783 : nullptr;
784 }
785
786 void MediaRouterUI::OnMediaControllerUIAvailable(
787 const MediaRoute::Id& route_id) {
788 scoped_refptr<MediaRouteController> controller =
789 router_->GetRouteController(route_id);
790 if (!controller) {
791 DVLOG(1) << "Requested a route controller with an invalid route ID.";
792 return;
793 }
794 DVLOG_IF(1, route_controller_observer_)
795 << "Route controller observer unexpectedly exists.";
796 route_controller_observer_ =
797 base::MakeUnique<UIMediaRouteControllerObserver>(this, controller);
798 }
799
800 void MediaRouterUI::OnMediaControllerUIClosed() {
801 route_controller_observer_.reset();
802 }
803
804 void MediaRouterUI::OnRouteControllerInvalidated() {
805 route_controller_observer_.reset();
806 handler_->OnRouteControllerInvalidated();
807 }
808
809 void MediaRouterUI::UpdateMediaRouteStatus(const MediaStatus& status) {
810 handler_->UpdateMediaRouteStatus(status);
811 }
812
763 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const { 813 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const {
764 url::Origin origin = initiator_ 814 url::Origin origin = initiator_
765 ? url::Origin(initiator_->GetLastCommittedURL()) 815 ? url::Origin(initiator_->GetLastCommittedURL())
766 : url::Origin(); 816 : url::Origin();
767 return origin.Serialize(); 817 return origin.Serialize();
768 } 818 }
769 819
770 } // namespace media_router 820 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698