OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/base_switches.h" | 12 #include "base/base_switches.h" |
13 #include "base/bind.h" | 13 #include "base/bind.h" |
14 #include "base/bind_helpers.h" | 14 #include "base/bind_helpers.h" |
15 #include "base/command_line.h" | 15 #include "base/command_line.h" |
16 #include "base/files/scoped_file.h" | 16 #include "base/files/scoped_file.h" |
| 17 #include "base/json/json_reader.h" |
17 #include "base/lazy_instance.h" | 18 #include "base/lazy_instance.h" |
18 #include "base/macros.h" | 19 #include "base/macros.h" |
19 #include "base/memory/ptr_util.h" | 20 #include "base/memory/ptr_util.h" |
20 #include "base/metrics/histogram_macros.h" | 21 #include "base/metrics/histogram_macros.h" |
21 #include "base/path_service.h" | 22 #include "base/path_service.h" |
22 #include "base/strings/string_number_conversions.h" | 23 #include "base/strings/string_number_conversions.h" |
23 #include "base/strings/string_split.h" | 24 #include "base/strings/string_split.h" |
24 #include "base/strings/string_util.h" | 25 #include "base/strings/string_util.h" |
25 #include "base/strings/stringprintf.h" | 26 #include "base/strings/stringprintf.h" |
26 #include "base/strings/utf_string_conversions.h" | 27 #include "base/strings/utf_string_conversions.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 #include "chrome/common/chrome_paths.h" | 100 #include "chrome/common/chrome_paths.h" |
100 #include "chrome/common/chrome_switches.h" | 101 #include "chrome/common/chrome_switches.h" |
101 #include "chrome/common/env_vars.h" | 102 #include "chrome/common/env_vars.h" |
102 #include "chrome/common/features.h" | 103 #include "chrome/common/features.h" |
103 #include "chrome/common/logging_chrome.h" | 104 #include "chrome/common/logging_chrome.h" |
104 #include "chrome/common/pepper_permission_util.h" | 105 #include "chrome/common/pepper_permission_util.h" |
105 #include "chrome/common/pref_names.h" | 106 #include "chrome/common/pref_names.h" |
106 #include "chrome/common/render_messages.h" | 107 #include "chrome/common/render_messages.h" |
107 #include "chrome/common/secure_origin_whitelist.h" | 108 #include "chrome/common/secure_origin_whitelist.h" |
108 #include "chrome/common/url_constants.h" | 109 #include "chrome/common/url_constants.h" |
| 110 #include "chrome/grit/browser_resources.h" |
109 #include "chrome/grit/generated_resources.h" | 111 #include "chrome/grit/generated_resources.h" |
110 #include "chrome/installer/util/google_update_settings.h" | 112 #include "chrome/installer/util/google_update_settings.h" |
111 #include "chromeos/chromeos_constants.h" | 113 #include "chromeos/chromeos_constants.h" |
112 #include "components/autofill/content/browser/content_autofill_driver_factory.h" | 114 #include "components/autofill/content/browser/content_autofill_driver_factory.h" |
113 #include "components/autofill/core/common/autofill_switches.h" | 115 #include "components/autofill/core/common/autofill_switches.h" |
114 #include "components/cdm/browser/cdm_message_filter_android.h" | 116 #include "components/cdm/browser/cdm_message_filter_android.h" |
115 #include "components/cloud_devices/common/cloud_devices_switches.h" | 117 #include "components/cloud_devices/common/cloud_devices_switches.h" |
116 #include "components/content_settings/core/browser/content_settings_utils.h" | 118 #include "components/content_settings/core/browser/content_settings_utils.h" |
117 #include "components/content_settings/core/browser/cookie_settings.h" | 119 #include "components/content_settings/core/browser/cookie_settings.h" |
118 #include "components/content_settings/core/browser/host_content_settings_map.h" | 120 #include "components/content_settings/core/browser/host_content_settings_map.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 #include "content/public/browser/site_instance.h" | 157 #include "content/public/browser/site_instance.h" |
156 #include "content/public/browser/storage_partition.h" | 158 #include "content/public/browser/storage_partition.h" |
157 #include "content/public/browser/vpn_service_proxy.h" | 159 #include "content/public/browser/vpn_service_proxy.h" |
158 #include "content/public/browser/web_contents.h" | 160 #include "content/public/browser/web_contents.h" |
159 #include "content/public/common/child_process_host.h" | 161 #include "content/public/common/child_process_host.h" |
160 #include "content/public/common/content_descriptors.h" | 162 #include "content/public/common/content_descriptors.h" |
161 #include "content/public/common/content_features.h" | 163 #include "content/public/common/content_features.h" |
162 #include "content/public/common/content_switches.h" | 164 #include "content/public/common/content_switches.h" |
163 #include "content/public/common/mojo_shell_connection.h" | 165 #include "content/public/common/mojo_shell_connection.h" |
164 #include "content/public/common/sandbox_type.h" | 166 #include "content/public/common/sandbox_type.h" |
| 167 #include "content/public/common/service_names.h" |
165 #include "content/public/common/url_utils.h" | 168 #include "content/public/common/url_utils.h" |
166 #include "content/public/common/web_preferences.h" | 169 #include "content/public/common/web_preferences.h" |
167 #include "device/usb/public/interfaces/chooser_service.mojom.h" | 170 #include "device/usb/public/interfaces/chooser_service.mojom.h" |
168 #include "device/usb/public/interfaces/device_manager.mojom.h" | 171 #include "device/usb/public/interfaces/device_manager.mojom.h" |
169 #include "gin/v8_initializer.h" | 172 #include "gin/v8_initializer.h" |
170 #include "net/base/mime_util.h" | 173 #include "net/base/mime_util.h" |
171 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" | 174 #include "net/base/registry_controlled_domains/registry_controlled_domain.h" |
172 #include "net/cookies/canonical_cookie.h" | 175 #include "net/cookies/canonical_cookie.h" |
173 #include "net/cookies/cookie_options.h" | 176 #include "net/cookies/cookie_options.h" |
174 #include "net/ssl/ssl_cert_request_info.h" | 177 #include "net/ssl/ssl_cert_request_info.h" |
(...skipping 2791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2966 } | 2969 } |
2967 | 2970 |
2968 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications( | 2971 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications( |
2969 OutOfProcessMojoApplicationMap* apps) { | 2972 OutOfProcessMojoApplicationMap* apps) { |
2970 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) | 2973 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) |
2971 apps->insert(std::make_pair("mojo:media", | 2974 apps->insert(std::make_pair("mojo:media", |
2972 base::ASCIIToUTF16("Media App"))); | 2975 base::ASCIIToUTF16("Media App"))); |
2973 #endif | 2976 #endif |
2974 } | 2977 } |
2975 | 2978 |
| 2979 std::unique_ptr<base::Value> |
| 2980 ChromeContentBrowserClient::GetServiceManifestOverlay( |
| 2981 const std::string& name) { |
| 2982 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 2983 int id = -1; |
| 2984 if (name == content::kBrowserMojoApplicationName) |
| 2985 id = IDR_CONTENT_BROWSER_MANIFEST_OVERLAY; |
| 2986 if (id == -1) |
| 2987 return nullptr; |
| 2988 |
| 2989 base::StringPiece manifest_contents = |
| 2990 rb.GetRawDataResourceForScale(id, ui::ScaleFactor::SCALE_FACTOR_NONE); |
| 2991 return base::JSONReader::Read(manifest_contents); |
| 2992 } |
| 2993 |
2976 void ChromeContentBrowserClient::OpenURL( | 2994 void ChromeContentBrowserClient::OpenURL( |
2977 content::BrowserContext* browser_context, | 2995 content::BrowserContext* browser_context, |
2978 const content::OpenURLParams& params, | 2996 const content::OpenURLParams& params, |
2979 const base::Callback<void(content::WebContents*)>& callback) { | 2997 const base::Callback<void(content::WebContents*)>& callback) { |
2980 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 2998 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
2981 | 2999 |
2982 #if BUILDFLAG(ANDROID_JAVA_UI) | 3000 #if BUILDFLAG(ANDROID_JAVA_UI) |
2983 ServiceTabLauncher::GetInstance()->LaunchTab(browser_context, params, | 3001 ServiceTabLauncher::GetInstance()->LaunchTab(browser_context, params, |
2984 callback); | 3002 callback); |
2985 #else | 3003 #else |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3176 if (channel <= kMaxDisableEncryptionChannel) { | 3194 if (channel <= kMaxDisableEncryptionChannel) { |
3177 static const char* const kWebRtcDevSwitchNames[] = { | 3195 static const char* const kWebRtcDevSwitchNames[] = { |
3178 switches::kDisableWebRtcEncryption, | 3196 switches::kDisableWebRtcEncryption, |
3179 }; | 3197 }; |
3180 to_command_line->CopySwitchesFrom(from_command_line, | 3198 to_command_line->CopySwitchesFrom(from_command_line, |
3181 kWebRtcDevSwitchNames, | 3199 kWebRtcDevSwitchNames, |
3182 arraysize(kWebRtcDevSwitchNames)); | 3200 arraysize(kWebRtcDevSwitchNames)); |
3183 } | 3201 } |
3184 } | 3202 } |
3185 #endif // defined(ENABLE_WEBRTC) | 3203 #endif // defined(ENABLE_WEBRTC) |
OLD | NEW |