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 2378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2389 for (size_t i = 0; i < extra_parts_.size(); ++i) { | 2389 for (size_t i = 0; i < extra_parts_.size(); ++i) { |
2390 extra_parts_[i]->GetAdditionalFileSystemBackends( | 2390 extra_parts_[i]->GetAdditionalFileSystemBackends( |
2391 browser_context, storage_partition_path, additional_backends); | 2391 browser_context, storage_partition_path, additional_backends); |
2392 } | 2392 } |
2393 } | 2393 } |
2394 | 2394 |
2395 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 2395 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
2396 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | 2396 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( |
2397 const CommandLine& command_line, | 2397 const CommandLine& command_line, |
2398 int child_process_id, | 2398 int child_process_id, |
2399 std::vector<FileDescriptorInfo>* mappings) { | 2399 FileDescriptorInfo* mappings) { |
2400 #if defined(OS_ANDROID) | 2400 #if defined(OS_ANDROID) |
2401 base::FilePath data_path; | 2401 base::FilePath data_path; |
2402 PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &data_path); | 2402 PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &data_path); |
2403 DCHECK(!data_path.empty()); | 2403 DCHECK(!data_path.empty()); |
2404 | 2404 |
2405 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | 2405 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
2406 base::FilePath chrome_resources_pak = | 2406 base::FilePath chrome_resources_pak = |
2407 data_path.AppendASCII("chrome_100_percent.pak"); | 2407 data_path.AppendASCII("chrome_100_percent.pak"); |
2408 base::File file(chrome_resources_pak, flags); | 2408 base::File file(chrome_resources_pak, flags); |
2409 DCHECK(file.IsValid()); | 2409 DCHECK(file.IsValid()); |
2410 mappings->push_back(FileDescriptorInfo(kAndroidChrome100PercentPakDescriptor, | 2410 mappings->Transfer(kAndroidChrome100PercentPakDescriptor, |
2411 FileDescriptor(file.Pass()))); | 2411 ScopedFD(file.TakePlatformFile())); |
2412 | 2412 |
2413 const std::string locale = GetApplicationLocale(); | 2413 const std::string locale = GetApplicationLocale(); |
2414 base::FilePath locale_pak = ResourceBundle::GetSharedInstance(). | 2414 base::FilePath locale_pak = ResourceBundle::GetSharedInstance(). |
2415 GetLocaleFilePath(locale, false); | 2415 GetLocaleFilePath(locale, false); |
2416 file.Initialize(locale_pak, flags); | 2416 file.Initialize(locale_pak, flags); |
2417 DCHECK(file.IsValid()); | 2417 DCHECK(file.IsValid()); |
2418 mappings->push_back(FileDescriptorInfo(kAndroidLocalePakDescriptor, | 2418 mappings->Transfer(kAndroidLocalePakDescriptor, |
2419 FileDescriptor(file.Pass()))); | 2419 ScopedFD(file.TakePlatformFile())); |
2420 | 2420 |
2421 base::FilePath resources_pack_path; | 2421 base::FilePath resources_pack_path; |
2422 PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); | 2422 PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); |
2423 file.Initialize(resources_pack_path, flags); | 2423 file.Initialize(resources_pack_path, flags); |
2424 DCHECK(file.IsValid()); | 2424 DCHECK(file.IsValid()); |
2425 mappings->push_back(FileDescriptorInfo(kAndroidUIResourcesPakDescriptor, | 2425 mappings->Transfer(kAndroidUIResourcesPakDescriptor, |
2426 FileDescriptor(file.Pass()))); | 2426 ScopedFD(file.TakePlatformFile())); |
2427 | 2427 |
2428 if (breakpad::IsCrashReporterEnabled()) { | 2428 if (breakpad::IsCrashReporterEnabled()) { |
2429 file = breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( | 2429 file = breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( |
2430 child_process_id); | 2430 child_process_id); |
2431 if (file.IsValid()) { | 2431 if (file.IsValid()) { |
2432 mappings->push_back(FileDescriptorInfo(kAndroidMinidumpDescriptor, | 2432 mappings->Transfer(kAndroidMinidumpDescriptor, |
2433 FileDescriptor(file.Pass()))); | 2433 ScopedFD(file.TakePlatformFile())); |
2434 } else { | 2434 } else { |
2435 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " | 2435 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " |
2436 "be disabled for this process."; | 2436 "be disabled for this process."; |
2437 } | 2437 } |
2438 } | 2438 } |
2439 | 2439 |
2440 base::FilePath app_data_path; | 2440 base::FilePath app_data_path; |
2441 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); | 2441 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); |
2442 DCHECK(!app_data_path.empty()); | 2442 DCHECK(!app_data_path.empty()); |
2443 | 2443 |
2444 flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | 2444 flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
2445 base::FilePath icudata_path = | 2445 base::FilePath icudata_path = |
2446 app_data_path.AppendASCII("icudtl.dat"); | 2446 app_data_path.AppendASCII("icudtl.dat"); |
2447 base::File icudata_file(icudata_path, flags); | 2447 base::File icudata_file(icudata_path, flags); |
2448 DCHECK(icudata_file.IsValid()); | 2448 DCHECK(icudata_file.IsValid()); |
2449 mappings->push_back(FileDescriptorInfo(kAndroidICUDataDescriptor, | 2449 mappings->Transfer(kAndroidICUDataDescriptor, |
2450 FileDescriptor(icudata_file.Pass()))); | 2450 ScopedFD(icudata_file.TakePlatformFile())); |
2451 | 2451 |
2452 #else | 2452 #else |
2453 int crash_signal_fd = GetCrashSignalFD(command_line); | 2453 int crash_signal_fd = GetCrashSignalFD(command_line); |
2454 if (crash_signal_fd >= 0) { | 2454 if (crash_signal_fd >= 0) { |
2455 mappings->push_back(FileDescriptorInfo(kCrashDumpSignal, | 2455 mappings->Share(kCrashDumpSignal, crash_signal_fd); |
2456 FileDescriptor(crash_signal_fd, | |
2457 false))); | |
2458 } | 2456 } |
2459 #endif // defined(OS_ANDROID) | 2457 #endif // defined(OS_ANDROID) |
2460 } | 2458 } |
2461 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) | 2459 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) |
2462 | 2460 |
2463 #if defined(OS_WIN) | 2461 #if defined(OS_WIN) |
2464 const wchar_t* ChromeContentBrowserClient::GetResourceDllName() { | 2462 const wchar_t* ChromeContentBrowserClient::GetResourceDllName() { |
2465 return chrome::kBrowserResourcesDll; | 2463 return chrome::kBrowserResourcesDll; |
2466 } | 2464 } |
2467 | 2465 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2593 switches::kDisableWebRtcEncryption, | 2591 switches::kDisableWebRtcEncryption, |
2594 }; | 2592 }; |
2595 to_command_line->CopySwitchesFrom(from_command_line, | 2593 to_command_line->CopySwitchesFrom(from_command_line, |
2596 kWebRtcDevSwitchNames, | 2594 kWebRtcDevSwitchNames, |
2597 arraysize(kWebRtcDevSwitchNames)); | 2595 arraysize(kWebRtcDevSwitchNames)); |
2598 } | 2596 } |
2599 } | 2597 } |
2600 #endif // defined(ENABLE_WEBRTC) | 2598 #endif // defined(ENABLE_WEBRTC) |
2601 | 2599 |
2602 } // namespace chrome | 2600 } // namespace chrome |
OLD | NEW |