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

Side by Side Diff: chromecast/browser/cast_content_browser_client.cc

Issue 2174613002: Geolocation: move creation of the GeolocationDelegate to the embedders (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « chromecast/browser/cast_content_browser_client.h ('k') | content/browser/browser_main_loop.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chromecast/browser/cast_content_browser_client.h" 5 #include "chromecast/browser/cast_content_browser_client.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 10 matching lines...) Expand all
21 #include "build/build_config.h" 21 #include "build/build_config.h"
22 #include "chromecast/base/cast_constants.h" 22 #include "chromecast/base/cast_constants.h"
23 #include "chromecast/base/cast_paths.h" 23 #include "chromecast/base/cast_paths.h"
24 #include "chromecast/base/chromecast_switches.h" 24 #include "chromecast/base/chromecast_switches.h"
25 #include "chromecast/browser/cast_browser_context.h" 25 #include "chromecast/browser/cast_browser_context.h"
26 #include "chromecast/browser/cast_browser_main_parts.h" 26 #include "chromecast/browser/cast_browser_main_parts.h"
27 #include "chromecast/browser/cast_browser_process.h" 27 #include "chromecast/browser/cast_browser_process.h"
28 #include "chromecast/browser/cast_network_delegate.h" 28 #include "chromecast/browser/cast_network_delegate.h"
29 #include "chromecast/browser/cast_quota_permission_context.h" 29 #include "chromecast/browser/cast_quota_permission_context.h"
30 #include "chromecast/browser/cast_resource_dispatcher_host_delegate.h" 30 #include "chromecast/browser/cast_resource_dispatcher_host_delegate.h"
31 #include "chromecast/browser/geolocation/cast_access_token_store.h"
32 #include "chromecast/browser/media/cma_message_filter_host.h" 31 #include "chromecast/browser/media/cma_message_filter_host.h"
33 #include "chromecast/browser/service/cast_service_simple.h" 32 #include "chromecast/browser/service/cast_service_simple.h"
34 #include "chromecast/browser/url_request_context_factory.h" 33 #include "chromecast/browser/url_request_context_factory.h"
35 #include "chromecast/common/global_descriptors.h" 34 #include "chromecast/common/global_descriptors.h"
36 #include "chromecast/media/audio/cast_audio_manager.h" 35 #include "chromecast/media/audio/cast_audio_manager.h"
37 #include "chromecast/media/cma/backend/media_pipeline_backend_manager.h" 36 #include "chromecast/media/cma/backend/media_pipeline_backend_manager.h"
38 #include "chromecast/public/media/media_pipeline_backend.h" 37 #include "chromecast/public/media/media_pipeline_backend.h"
39 #include "components/crash/content/app/breakpad_linux.h" 38 #include "components/crash/content/app/breakpad_linux.h"
40 #include "components/crash/content/browser/crash_handler_host_linux.h" 39 #include "components/crash/content/browser/crash_handler_host_linux.h"
41 #include "components/network_hints/browser/network_hints_impl.h" 40 #include "components/network_hints/browser/network_hints_impl.h"
42 #include "content/public/browser/browser_thread.h" 41 #include "content/public/browser/browser_thread.h"
43 #include "content/public/browser/certificate_request_result_type.h" 42 #include "content/public/browser/certificate_request_result_type.h"
44 #include "content/public/browser/client_certificate_delegate.h" 43 #include "content/public/browser/client_certificate_delegate.h"
45 #include "content/public/browser/geolocation_delegate.h"
46 #include "content/public/browser/render_process_host.h" 44 #include "content/public/browser/render_process_host.h"
47 #include "content/public/browser/resource_dispatcher_host.h" 45 #include "content/public/browser/resource_dispatcher_host.h"
48 #include "content/public/browser/web_contents.h" 46 #include "content/public/browser/web_contents.h"
49 #include "content/public/common/content_descriptors.h" 47 #include "content/public/common/content_descriptors.h"
50 #include "content/public/common/content_switches.h" 48 #include "content/public/common/content_switches.h"
51 #include "content/public/common/url_constants.h" 49 #include "content/public/common/url_constants.h"
52 #include "content/public/common/web_preferences.h" 50 #include "content/public/common/web_preferences.h"
53 #include "net/ssl/ssl_cert_request_info.h" 51 #include "net/ssl/ssl_cert_request_info.h"
54 #include "net/url_request/url_request_context_getter.h" 52 #include "net/url_request/url_request_context_getter.h"
55 #include "services/shell/public/cpp/interface_registry.h" 53 #include "services/shell/public/cpp/interface_registry.h"
(...skipping 26 matching lines...) Expand all
82 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend, 80 base::Bind(&CastContentBrowserClient::CreateMediaPipelineBackend,
83 base::Unretained(browser_client)), 81 base::Unretained(browser_client)),
84 base::Bind(&CastContentBrowserClient::CreateCdmFactory, 82 base::Bind(&CastContentBrowserClient::CreateCdmFactory,
85 base::Unretained(browser_client)))); 83 base::Unretained(browser_client))));
86 return std::unique_ptr<::shell::Service>( 84 return std::unique_ptr<::shell::Service>(
87 new ::media::MojoMediaApplication(std::move(mojo_media_client), 85 new ::media::MojoMediaApplication(std::move(mojo_media_client),
88 quit_closure)); 86 quit_closure));
89 } 87 }
90 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS) 88 #endif // defined(ENABLE_MOJO_MEDIA_IN_BROWSER_PROCESS)
91 89
92 // A provider of services for Geolocation.
93 class CastGeolocationDelegate : public content::GeolocationDelegate {
94 public:
95 explicit CastGeolocationDelegate(CastBrowserContext* context)
96 : context_(context) {}
97
98 scoped_refptr<content::AccessTokenStore> CreateAccessTokenStore() override {
99 return new CastAccessTokenStore(context_);
100 }
101
102 private:
103 CastBrowserContext* context_;
104
105 DISALLOW_COPY_AND_ASSIGN(CastGeolocationDelegate);
106 };
107
108 } // namespace 90 } // namespace
109 91
110 CastContentBrowserClient::CastContentBrowserClient() 92 CastContentBrowserClient::CastContentBrowserClient()
111 : cast_browser_main_parts_(nullptr), 93 : cast_browser_main_parts_(nullptr),
112 url_request_context_factory_(new URLRequestContextFactory()) {} 94 url_request_context_factory_(new URLRequestContextFactory()) {}
113 95
114 CastContentBrowserClient::~CastContentBrowserClient() { 96 CastContentBrowserClient::~CastContentBrowserClient() {
115 content::BrowserThread::DeleteSoon( 97 content::BrowserThread::DeleteSoon(
116 content::BrowserThread::IO, 98 content::BrowserThread::IO,
117 FROM_HERE, 99 FROM_HERE,
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 // GLES2 contexts can be lost to a power-save mode, which breaks GPU canvas 278 // GLES2 contexts can be lost to a power-save mode, which breaks GPU canvas
297 // apps. 279 // apps.
298 if (process_type == switches::kGpuProcess) { 280 if (process_type == switches::kGpuProcess) {
299 command_line->AppendSwitch(switches::kGpuNoContextLost); 281 command_line->AppendSwitch(switches::kGpuNoContextLost);
300 } 282 }
301 #endif 283 #endif
302 284
303 AppendExtraCommandLineSwitches(command_line); 285 AppendExtraCommandLineSwitches(command_line);
304 } 286 }
305 287
306 content::GeolocationDelegate*
307 CastContentBrowserClient::CreateGeolocationDelegate() {
308 return new CastGeolocationDelegate(
309 CastBrowserProcess::GetInstance()->browser_context());
310 }
311
312 void CastContentBrowserClient::OverrideWebkitPrefs( 288 void CastContentBrowserClient::OverrideWebkitPrefs(
313 content::RenderViewHost* render_view_host, 289 content::RenderViewHost* render_view_host,
314 content::WebPreferences* prefs) { 290 content::WebPreferences* prefs) {
315 prefs->allow_scripts_to_close_windows = true; 291 prefs->allow_scripts_to_close_windows = true;
316 // TODO(lcwu): http://crbug.com/391089. This pref is set to true by default 292 // TODO(lcwu): http://crbug.com/391089. This pref is set to true by default
317 // because some content providers such as YouTube use plain http requests 293 // because some content providers such as YouTube use plain http requests
318 // to retrieve media data chunks while running in a https page. This pref 294 // to retrieve media data chunks while running in a https page. This pref
319 // should be disabled once all the content providers are no longer doing that. 295 // should be disabled once all the content providers are no longer doing that.
320 prefs->allow_running_insecure_content = true; 296 prefs->allow_running_insecure_content = true;
321 297
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 process_type, dumps_path, false /* upload */); 537 process_type, dumps_path, false /* upload */);
562 // StartUploaderThread() even though upload is diferred. 538 // StartUploaderThread() even though upload is diferred.
563 // Breakpad-related memory is freed in the uploader thread. 539 // Breakpad-related memory is freed in the uploader thread.
564 crash_handler->StartUploaderThread(); 540 crash_handler->StartUploaderThread();
565 return crash_handler; 541 return crash_handler;
566 } 542 }
567 #endif // !defined(OS_ANDROID) 543 #endif // !defined(OS_ANDROID)
568 544
569 } // namespace shell 545 } // namespace shell
570 } // namespace chromecast 546 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/browser/cast_content_browser_client.h ('k') | content/browser/browser_main_loop.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698