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> |
(...skipping 2789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2800 DCHECK(backend->CanHandleType(storage::kFileSystemTypeExternal)); | 2800 DCHECK(backend->CanHandleType(storage::kFileSystemTypeExternal)); |
2801 additional_backends->push_back(backend); | 2801 additional_backends->push_back(backend); |
2802 #endif | 2802 #endif |
2803 | 2803 |
2804 for (size_t i = 0; i < extra_parts_.size(); ++i) { | 2804 for (size_t i = 0; i < extra_parts_.size(); ++i) { |
2805 extra_parts_[i]->GetAdditionalFileSystemBackends( | 2805 extra_parts_[i]->GetAdditionalFileSystemBackends( |
2806 browser_context, storage_partition_path, additional_backends); | 2806 browser_context, storage_partition_path, additional_backends); |
2807 } | 2807 } |
2808 } | 2808 } |
2809 | 2809 |
2810 #if defined(OS_ANDROID) | 2810 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
2811 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | 2811 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( |
2812 const base::CommandLine& command_line, | 2812 const base::CommandLine& command_line, |
2813 int child_process_id, | 2813 int child_process_id, |
2814 FileDescriptorInfo* mappings, | 2814 FileDescriptorInfo* mappings) { |
2815 std::map<int, base::MemoryMappedFile::Region>* regions) { | 2815 #if defined(OS_ANDROID) |
2816 int fd = ui::GetMainAndroidPackFd( | 2816 base::MemoryMappedFile::Region region; |
2817 &(*regions)[kAndroidUIResourcesPakDescriptor]); | 2817 int fd = ui::GetMainAndroidPackFd(®ion); |
2818 mappings->Share(kAndroidUIResourcesPakDescriptor, fd); | 2818 mappings->ShareWithRegion(kAndroidUIResourcesPakDescriptor, fd, region); |
2819 | 2819 |
2820 fd = ui::GetCommonResourcesPackFd( | 2820 fd = ui::GetCommonResourcesPackFd(®ion); |
2821 &(*regions)[kAndroidChrome100PercentPakDescriptor]); | 2821 mappings->ShareWithRegion(kAndroidChrome100PercentPakDescriptor, fd, region); |
2822 mappings->Share(kAndroidChrome100PercentPakDescriptor, fd); | |
2823 | 2822 |
2824 fd = ui::GetLocalePackFd(&(*regions)[kAndroidLocalePakDescriptor]); | 2823 fd = ui::GetLocalePackFd(®ion); |
2825 mappings->Share(kAndroidLocalePakDescriptor, fd); | 2824 mappings->ShareWithRegion(kAndroidLocalePakDescriptor, fd, region); |
2826 | 2825 |
2827 if (breakpad::IsCrashReporterEnabled()) { | 2826 if (breakpad::IsCrashReporterEnabled()) { |
2828 base::File file = | 2827 base::File file = |
2829 breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( | 2828 breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile( |
2830 child_process_id); | 2829 child_process_id); |
2831 if (file.IsValid()) { | 2830 if (file.IsValid()) { |
2832 mappings->Transfer(kAndroidMinidumpDescriptor, | 2831 mappings->Transfer(kAndroidMinidumpDescriptor, |
2833 base::ScopedFD(file.TakePlatformFile())); | 2832 base::ScopedFD(file.TakePlatformFile())); |
2834 } else { | 2833 } else { |
2835 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " | 2834 LOG(ERROR) << "Failed to create file for minidump, crash reporting will " |
2836 "be disabled for this process."; | 2835 "be disabled for this process."; |
2837 } | 2836 } |
2838 } | 2837 } |
2839 | 2838 |
2840 base::FilePath app_data_path; | 2839 base::FilePath app_data_path; |
2841 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); | 2840 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); |
2842 DCHECK(!app_data_path.empty()); | 2841 DCHECK(!app_data_path.empty()); |
2843 } | 2842 #else |
2844 #elif defined(OS_POSIX) && !defined(OS_MACOSX) | |
2845 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | |
2846 const base::CommandLine& command_line, | |
2847 int child_process_id, | |
2848 FileDescriptorInfo* mappings) { | |
2849 int crash_signal_fd = GetCrashSignalFD(command_line); | 2843 int crash_signal_fd = GetCrashSignalFD(command_line); |
2850 if (crash_signal_fd >= 0) { | 2844 if (crash_signal_fd >= 0) { |
2851 mappings->Share(kCrashDumpSignal, crash_signal_fd); | 2845 mappings->Share(kCrashDumpSignal, crash_signal_fd); |
2852 } | 2846 } |
| 2847 #endif // defined(OS_ANDROID) |
2853 } | 2848 } |
2854 #endif // defined(OS_ANDROID) | 2849 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) |
2855 | 2850 |
2856 #if defined(OS_WIN) | 2851 #if defined(OS_WIN) |
2857 base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType( | 2852 base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType( |
2858 int sandbox_type) const { | 2853 int sandbox_type) const { |
2859 base::string16 sid; | 2854 base::string16 sid; |
2860 | 2855 |
2861 #if defined(GOOGLE_CHROME_BUILD) | 2856 #if defined(GOOGLE_CHROME_BUILD) |
2862 const version_info::Channel channel = chrome::GetChannel(); | 2857 const version_info::Channel channel = chrome::GetChannel(); |
2863 | 2858 |
2864 // It's possible to have a SxS installation running at the same time as a | 2859 // It's possible to have a SxS installation running at the same time as a |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3371 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() { | 3366 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() { |
3372 return variations::GetVariationParamValue( | 3367 return variations::GetVariationParamValue( |
3373 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; | 3368 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; |
3374 } | 3369 } |
3375 | 3370 |
3376 bool ChromeContentBrowserClient:: | 3371 bool ChromeContentBrowserClient:: |
3377 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { | 3372 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { |
3378 return variations::GetVariationParamValue( | 3373 return variations::GetVariationParamValue( |
3379 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; | 3374 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; |
3380 } | 3375 } |
OLD | NEW |