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