OLD | NEW |
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 Loading... |
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" | |
35 #include "chrome/common/media_router/issue.h" | 34 #include "chrome/common/media_router/issue.h" |
36 #include "chrome/common/media_router/media_route.h" | 35 #include "chrome/common/media_router/media_route.h" |
37 #include "chrome/common/media_router/media_sink.h" | 36 #include "chrome/common/media_router/media_sink.h" |
38 #include "chrome/common/media_router/media_source.h" | 37 #include "chrome/common/media_router/media_source.h" |
39 #include "chrome/common/media_router/media_source_helper.h" | 38 #include "chrome/common/media_router/media_source_helper.h" |
40 #include "chrome/common/media_router/route_request_result.h" | 39 #include "chrome/common/media_router/route_request_result.h" |
41 #include "chrome/common/pref_names.h" | 40 #include "chrome/common/pref_names.h" |
42 #include "chrome/common/url_constants.h" | 41 #include "chrome/common/url_constants.h" |
43 #include "chrome/grit/generated_resources.h" | 42 #include "chrome/grit/generated_resources.h" |
44 #include "components/prefs/pref_service.h" | 43 #include "components/prefs/pref_service.h" |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 } | 146 } |
148 | 147 |
149 MediaRouterUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() {} | 148 MediaRouterUI::UIMediaRoutesObserver::~UIMediaRoutesObserver() {} |
150 | 149 |
151 void MediaRouterUI::UIMediaRoutesObserver::OnRoutesUpdated( | 150 void MediaRouterUI::UIMediaRoutesObserver::OnRoutesUpdated( |
152 const std::vector<MediaRoute>& routes, | 151 const std::vector<MediaRoute>& routes, |
153 const std::vector<MediaRoute::Id>& joinable_route_ids) { | 152 const std::vector<MediaRoute::Id>& joinable_route_ids) { |
154 callback_.Run(routes, joinable_route_ids); | 153 callback_.Run(routes, joinable_route_ids); |
155 } | 154 } |
156 | 155 |
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 | |
173 MediaRouterUI::MediaRouterUI(content::WebUI* web_ui) | 156 MediaRouterUI::MediaRouterUI(content::WebUI* web_ui) |
174 : ConstrainedWebDialogUI(web_ui), | 157 : ConstrainedWebDialogUI(web_ui), |
175 ui_initialized_(false), | 158 ui_initialized_(false), |
176 current_route_request_id_(-1), | 159 current_route_request_id_(-1), |
177 route_request_counter_(0), | 160 route_request_counter_(0), |
178 initiator_(nullptr), | 161 initiator_(nullptr), |
179 router_(nullptr), | 162 router_(nullptr), |
180 weak_factory_(this) { | 163 weak_factory_(this) { |
181 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this); | 164 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this); |
182 handler_ = handler.get(); | 165 handler_ = handler.get(); |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 MediaRouterMetrics::RecordMediaRouterDialogLoaded( | 753 MediaRouterMetrics::RecordMediaRouterDialogLoaded( |
771 base::Time::Now() - start_time_); | 754 base::Time::Now() - start_time_); |
772 start_time_ = base::Time(); | 755 start_time_ = base::Time(); |
773 } | 756 } |
774 } | 757 } |
775 | 758 |
776 void MediaRouterUI::UpdateMaxDialogHeight(int height) { | 759 void MediaRouterUI::UpdateMaxDialogHeight(int height) { |
777 handler_->UpdateMaxDialogHeight(height); | 760 handler_->UpdateMaxDialogHeight(height); |
778 } | 761 } |
779 | 762 |
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 | |
813 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const { | 763 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const { |
814 url::Origin origin = initiator_ | 764 url::Origin origin = initiator_ |
815 ? url::Origin(initiator_->GetLastCommittedURL()) | 765 ? url::Origin(initiator_->GetLastCommittedURL()) |
816 : url::Origin(); | 766 : url::Origin(); |
817 return origin.Serialize(); | 767 return origin.Serialize(); |
818 } | 768 } |
819 | 769 |
820 } // namespace media_router | 770 } // namespace media_router |
OLD | NEW |