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 <set> | 7 #include <set> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 #include "chrome/browser/chromeos/fileapi/file_system_backend.h" | 150 #include "chrome/browser/chromeos/fileapi/file_system_backend.h" |
151 #include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h" | 151 #include "chrome/browser/chromeos/fileapi/mtp_file_system_backend_delegate.h" |
152 #include "chrome/browser/chromeos/login/startup_utils.h" | 152 #include "chrome/browser/chromeos/login/startup_utils.h" |
153 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 153 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
154 #include "chrome/browser/chromeos/system/input_device_settings.h" | 154 #include "chrome/browser/chromeos/system/input_device_settings.h" |
155 #include "chromeos/chromeos_switches.h" | 155 #include "chromeos/chromeos_switches.h" |
156 #include "components/user_manager/user_manager.h" | 156 #include "components/user_manager/user_manager.h" |
157 #elif defined(OS_LINUX) | 157 #elif defined(OS_LINUX) |
158 #include "chrome/browser/chrome_browser_main_linux.h" | 158 #include "chrome/browser/chrome_browser_main_linux.h" |
159 #elif defined(OS_ANDROID) | 159 #elif defined(OS_ANDROID) |
| 160 #include "base/android/apk_assets.h" |
| 161 #include "base/android/build_info.h" |
160 #include "chrome/browser/android/new_tab_page_url_handler.h" | 162 #include "chrome/browser/android/new_tab_page_url_handler.h" |
161 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" | 163 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" |
162 #include "chrome/browser/chrome_browser_main_android.h" | 164 #include "chrome/browser/chrome_browser_main_android.h" |
163 #include "chrome/common/descriptors_android.h" | 165 #include "chrome/common/descriptors_android.h" |
164 #include "components/crash/browser/crash_dump_manager_android.h" | 166 #include "components/crash/browser/crash_dump_manager_android.h" |
165 #include "components/service_tab_launcher/browser/android/service_tab_launcher.h
" | 167 #include "components/service_tab_launcher/browser/android/service_tab_launcher.h
" |
166 #include "ui/base/resource/resource_bundle_android.h" | 168 #include "ui/base/resource/resource_bundle_android.h" |
167 #elif defined(OS_POSIX) | 169 #elif defined(OS_POSIX) |
168 #include "chrome/browser/chrome_browser_main_posix.h" | 170 #include "chrome/browser/chrome_browser_main_posix.h" |
169 #endif | 171 #endif |
(...skipping 2047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2217 FileDescriptorInfo* mappings, | 2219 FileDescriptorInfo* mappings, |
2218 std::map<int, base::MemoryMappedFile::Region>* regions) { | 2220 std::map<int, base::MemoryMappedFile::Region>* regions) { |
2219 int fd = ui::GetMainAndroidPackFd( | 2221 int fd = ui::GetMainAndroidPackFd( |
2220 &(*regions)[kAndroidUIResourcesPakDescriptor]); | 2222 &(*regions)[kAndroidUIResourcesPakDescriptor]); |
2221 mappings->Share(kAndroidUIResourcesPakDescriptor, fd); | 2223 mappings->Share(kAndroidUIResourcesPakDescriptor, fd); |
2222 | 2224 |
2223 fd = ui::GetCommonResourcesPackFd( | 2225 fd = ui::GetCommonResourcesPackFd( |
2224 &(*regions)[kAndroidChrome100PercentPakDescriptor]); | 2226 &(*regions)[kAndroidChrome100PercentPakDescriptor]); |
2225 mappings->Share(kAndroidChrome100PercentPakDescriptor, fd); | 2227 mappings->Share(kAndroidChrome100PercentPakDescriptor, fd); |
2226 | 2228 |
2227 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | 2229 if (!locale_pak_fd_.is_valid()) { |
2228 const std::string locale = GetApplicationLocale(); | 2230 const std::string locale = GetApplicationLocale(); |
2229 base::FilePath locale_pak = ResourceBundle::GetSharedInstance(). | 2231 if (ui::GetLocalePaksStoredInApk()) { |
2230 GetLocaleFilePath(locale, false); | 2232 std::string pak_path = ui::GetPathForAndroidLocalePakWithinApk(locale); |
2231 base::File file(locale_pak, flags); | 2233 locale_pak_fd_.reset( |
2232 DCHECK(file.IsValid()); | 2234 base::android::OpenApkAsset(pak_path, &locale_pak_region_)); |
2233 mappings->Transfer(kAndroidLocalePakDescriptor, | 2235 } else { |
2234 base::ScopedFD(file.TakePlatformFile())); | 2236 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
| 2237 base::FilePath locale_pak = ResourceBundle::GetSharedInstance(). |
| 2238 GetLocaleFilePath(locale, false); |
| 2239 base::File file(locale_pak, flags); |
| 2240 locale_pak_fd_.reset(file.TakePlatformFile()); |
| 2241 locale_pak_region_ = base::MemoryMappedFile::Region::kWholeFile; |
| 2242 } |
| 2243 DCHECK(locale_pak_fd_.is_valid()); |
| 2244 } |
| 2245 mappings->Share(kAndroidLocalePakDescriptor, locale_pak_fd_.get()); |
| 2246 regions->insert( |
| 2247 std::make_pair(kAndroidLocalePakDescriptor, locale_pak_region_)); |
2235 | 2248 |
2236 if (breakpad::IsCrashReporterEnabled()) { | 2249 if (breakpad::IsCrashReporterEnabled()) { |
2237 file = breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( | 2250 base::File file = |
2238 child_process_id); | 2251 breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( |
| 2252 child_process_id); |
2239 if (file.IsValid()) { | 2253 if (file.IsValid()) { |
2240 mappings->Transfer(kAndroidMinidumpDescriptor, | 2254 mappings->Transfer(kAndroidMinidumpDescriptor, |
2241 base::ScopedFD(file.TakePlatformFile())); | 2255 base::ScopedFD(file.TakePlatformFile())); |
2242 } else { | 2256 } else { |
2243 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " | 2257 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " |
2244 "be disabled for this process."; | 2258 "be disabled for this process."; |
2245 } | 2259 } |
2246 } | 2260 } |
2247 | 2261 |
2248 base::FilePath app_data_path; | 2262 base::FilePath app_data_path; |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2429 switches::kDisableWebRtcEncryption, | 2443 switches::kDisableWebRtcEncryption, |
2430 }; | 2444 }; |
2431 to_command_line->CopySwitchesFrom(from_command_line, | 2445 to_command_line->CopySwitchesFrom(from_command_line, |
2432 kWebRtcDevSwitchNames, | 2446 kWebRtcDevSwitchNames, |
2433 arraysize(kWebRtcDevSwitchNames)); | 2447 arraysize(kWebRtcDevSwitchNames)); |
2434 } | 2448 } |
2435 } | 2449 } |
2436 #endif // defined(ENABLE_WEBRTC) | 2450 #endif // defined(ENABLE_WEBRTC) |
2437 | 2451 |
2438 } // namespace chrome | 2452 } // namespace chrome |
OLD | NEW |