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> |
11 | 11 |
12 #include "base/guid.h" | 12 #include "base/guid.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "base/memory/ptr_util.h" | 14 #include "base/memory/ptr_util.h" |
15 #include "base/strings/string_util.h" | 15 #include "base/strings/string_util.h" |
16 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
17 #include "base/trace_event/trace_event.h" | 17 #include "base/trace_event/trace_event.h" |
18 #include "build/build_config.h" | 18 #include "build/build_config.h" |
19 #include "chrome/browser/browser_process.h" | 19 #include "chrome/browser/browser_process.h" |
20 #include "chrome/browser/media/router/create_presentation_connection_request.h" | 20 #include "chrome/browser/media/router/create_presentation_connection_request.h" |
| 21 #include "chrome/browser/media/router/event_page_request_manager.h" |
| 22 #include "chrome/browser/media/router/event_page_request_manager_factory.h" |
21 #include "chrome/browser/media/router/issues_observer.h" | 23 #include "chrome/browser/media/router/issues_observer.h" |
22 #include "chrome/browser/media/router/media_router.h" | 24 #include "chrome/browser/media/router/media_router.h" |
23 #include "chrome/browser/media/router/media_router_factory.h" | 25 #include "chrome/browser/media/router/media_router_factory.h" |
24 #include "chrome/browser/media/router/media_router_feature.h" | 26 #include "chrome/browser/media/router/media_router_feature.h" |
25 #include "chrome/browser/media/router/media_router_metrics.h" | 27 #include "chrome/browser/media/router/media_router_metrics.h" |
26 #include "chrome/browser/media/router/media_routes_observer.h" | 28 #include "chrome/browser/media/router/media_routes_observer.h" |
27 #include "chrome/browser/media/router/media_sinks_observer.h" | 29 #include "chrome/browser/media/router/media_sinks_observer.h" |
28 #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h" | 30 #include "chrome/browser/media/router/mojo/media_router_mojo_impl.h" |
29 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" | 31 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" |
30 #include "chrome/browser/profiles/profile.h" | 32 #include "chrome/browser/profiles/profile.h" |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this); | 225 auto handler = base::MakeUnique<MediaRouterWebUIMessageHandler>(this); |
224 handler_ = handler.get(); | 226 handler_ = handler.get(); |
225 | 227 |
226 // Create a WebUIDataSource containing the chrome://media-router page's | 228 // Create a WebUIDataSource containing the chrome://media-router page's |
227 // content. | 229 // content. |
228 std::unique_ptr<content::WebUIDataSource> html_source( | 230 std::unique_ptr<content::WebUIDataSource> html_source( |
229 content::WebUIDataSource::Create(chrome::kChromeUIMediaRouterHost)); | 231 content::WebUIDataSource::Create(chrome::kChromeUIMediaRouterHost)); |
230 | 232 |
231 content::WebContents* wc = web_ui->GetWebContents(); | 233 content::WebContents* wc = web_ui->GetWebContents(); |
232 DCHECK(wc); | 234 DCHECK(wc); |
| 235 content::BrowserContext* context = wc->GetBrowserContext(); |
233 | 236 |
234 router_ = | 237 router_ = MediaRouterFactory::GetApiForBrowserContext(context); |
235 MediaRouterFactory::GetApiForBrowserContext(wc->GetBrowserContext()); | 238 event_page_request_manager_ = |
| 239 EventPageRequestManagerFactory::GetApiForBrowserContext(context); |
236 | 240 |
237 // Allows UI to load extensionview. | 241 // Allows UI to load extensionview. |
238 // TODO(haibinlu): limit object-src to current extension once crbug/514866 | 242 // TODO(haibinlu): limit object-src to current extension once crbug/514866 |
239 // is fixed. | 243 // is fixed. |
240 html_source->OverrideContentSecurityPolicyObjectSrc("object-src chrome:;"); | 244 html_source->OverrideContentSecurityPolicyObjectSrc("object-src chrome:;"); |
241 | 245 |
242 AddLocalizedStrings(html_source.get()); | 246 AddLocalizedStrings(html_source.get()); |
243 AddMediaRouterUIResources(html_source.get()); | 247 AddMediaRouterUIResources(html_source.get()); |
244 // Ownership of |html_source| is transferred to the BrowserContext. | 248 // Ownership of |html_source| is transferred to the BrowserContext. |
245 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), | 249 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
851 ? GetExtensionName(gurl, extensions::ExtensionRegistry::Get( | 855 ? GetExtensionName(gurl, extensions::ExtensionRegistry::Get( |
852 Profile::FromWebUI(web_ui()))) | 856 Profile::FromWebUI(web_ui()))) |
853 : TruncateHost(GetHostFromURL(gurl)); | 857 : TruncateHost(GetHostFromURL(gurl)); |
854 } | 858 } |
855 | 859 |
856 const std::set<MediaCastMode>& MediaRouterUI::cast_modes() const { | 860 const std::set<MediaCastMode>& MediaRouterUI::cast_modes() const { |
857 return cast_modes_; | 861 return cast_modes_; |
858 } | 862 } |
859 | 863 |
860 const std::string& MediaRouterUI::GetRouteProviderExtensionId() const { | 864 const std::string& MediaRouterUI::GetRouteProviderExtensionId() const { |
861 // TODO(crbug.com/597778): remove reference to MediaRouterMojoImpl | 865 return event_page_request_manager_->media_route_provider_extension_id(); |
862 return static_cast<MediaRouterMojoImpl*>(router_) | |
863 ->media_route_provider_extension_id(); | |
864 } | 866 } |
865 | 867 |
866 void MediaRouterUI::SetUIInitializationTimer(const base::Time& start_time) { | 868 void MediaRouterUI::SetUIInitializationTimer(const base::Time& start_time) { |
867 DCHECK(!start_time.is_null()); | 869 DCHECK(!start_time.is_null()); |
868 start_time_ = start_time; | 870 start_time_ = start_time; |
869 } | 871 } |
870 | 872 |
871 void MediaRouterUI::OnUIInitiallyLoaded() { | 873 void MediaRouterUI::OnUIInitiallyLoaded() { |
872 if (!start_time_.is_null()) { | 874 if (!start_time_.is_null()) { |
873 MediaRouterMetrics::RecordMediaRouterDialogPaint(base::Time::Now() - | 875 MediaRouterMetrics::RecordMediaRouterDialogPaint(base::Time::Now() - |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
921 } | 923 } |
922 | 924 |
923 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const { | 925 std::string MediaRouterUI::GetSerializedInitiatorOrigin() const { |
924 url::Origin origin = initiator_ | 926 url::Origin origin = initiator_ |
925 ? url::Origin(initiator_->GetLastCommittedURL()) | 927 ? url::Origin(initiator_->GetLastCommittedURL()) |
926 : url::Origin(); | 928 : url::Origin(); |
927 return origin.Serialize(); | 929 return origin.Serialize(); |
928 } | 930 } |
929 | 931 |
930 } // namespace media_router | 932 } // namespace media_router |
OLD | NEW |