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 666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
677 return CONTENT_SETTINGS_TYPE_DEFAULT; | 677 return CONTENT_SETTINGS_TYPE_DEFAULT; |
678 } | 678 } |
679 } | 679 } |
680 | 680 |
681 } // namespace | 681 } // namespace |
682 | 682 |
683 namespace chrome { | 683 namespace chrome { |
684 | 684 |
685 ChromeContentBrowserClient::ChromeContentBrowserClient() | 685 ChromeContentBrowserClient::ChromeContentBrowserClient() |
686 : prerender_tracker_(NULL), | 686 : prerender_tracker_(NULL), |
| 687 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 688 v8_natives_fd_(-1), |
| 689 v8_snapshot_fd_(-1), |
| 690 #endif // OS_POSIX && !OS_MACOSX |
687 weak_factory_(this) { | 691 weak_factory_(this) { |
688 #if defined(ENABLE_PLUGINS) | 692 #if defined(ENABLE_PLUGINS) |
689 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) | 693 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) |
690 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); | 694 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); |
691 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i) | 695 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i) |
692 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]); | 696 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]); |
693 for (size_t i = 0; i < arraysize(kPredefinedAllowedSocketOrigins); ++i) | 697 for (size_t i = 0; i < arraysize(kPredefinedAllowedSocketOrigins); ++i) |
694 allowed_socket_origins_.insert(kPredefinedAllowedSocketOrigins[i]); | 698 allowed_socket_origins_.insert(kPredefinedAllowedSocketOrigins[i]); |
695 | 699 |
696 extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart); | 700 extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart); |
(...skipping 1697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2394 extra_parts_[i]->GetAdditionalFileSystemBackends( | 2398 extra_parts_[i]->GetAdditionalFileSystemBackends( |
2395 browser_context, storage_partition_path, additional_backends); | 2399 browser_context, storage_partition_path, additional_backends); |
2396 } | 2400 } |
2397 } | 2401 } |
2398 | 2402 |
2399 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 2403 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
2400 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( | 2404 void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( |
2401 const base::CommandLine& command_line, | 2405 const base::CommandLine& command_line, |
2402 int child_process_id, | 2406 int child_process_id, |
2403 FileDescriptorInfo* mappings) { | 2407 FileDescriptorInfo* mappings) { |
| 2408 #if defined(V8_USE_EXTERNAL_STARTUP_DATA) |
| 2409 if (v8_snapshot_fd_.get() == -1 && v8_natives_fd_.get() == -1) { |
| 2410 base::FilePath v8_data_path; |
| 2411 PathService::Get(gin::IsolateHolder::kV8SnapshotBasePathKey, &v8_data_path); |
| 2412 DCHECK(!v8_data_path.empty()); |
| 2413 |
| 2414 int file_flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
| 2415 base::FilePath v8_natives_data_path = |
| 2416 v8_data_path.AppendASCII(gin::IsolateHolder::kNativesFileName); |
| 2417 base::FilePath v8_snapshot_data_path = |
| 2418 v8_data_path.AppendASCII(gin::IsolateHolder::kSnapshotFileName); |
| 2419 base::File v8_natives_data_file(v8_natives_data_path, file_flags); |
| 2420 base::File v8_snapshot_data_file(v8_snapshot_data_path, file_flags); |
| 2421 DCHECK(v8_natives_data_file.IsValid()); |
| 2422 DCHECK(v8_snapshot_data_file.IsValid()); |
| 2423 v8_natives_fd_.reset(v8_natives_data_file.TakePlatformFile()); |
| 2424 v8_snapshot_fd_.reset(v8_snapshot_data_file.TakePlatformFile()); |
| 2425 } |
| 2426 mappings->Share(kV8NativesDataDescriptor, v8_natives_fd_.get()); |
| 2427 mappings->Share(kV8SnapshotDataDescriptor, v8_snapshot_fd_.get()); |
| 2428 #endif // V8_USE_EXTERNAL_STARTUP_DATA |
| 2429 |
2404 #if defined(OS_ANDROID) | 2430 #if defined(OS_ANDROID) |
2405 base::FilePath data_path; | 2431 base::FilePath data_path; |
2406 PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &data_path); | 2432 PathService::Get(ui::DIR_RESOURCE_PAKS_ANDROID, &data_path); |
2407 DCHECK(!data_path.empty()); | 2433 DCHECK(!data_path.empty()); |
2408 | 2434 |
2409 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | 2435 int flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
2410 base::FilePath chrome_resources_pak = | 2436 base::FilePath chrome_resources_pak = |
2411 data_path.AppendASCII("chrome_100_percent.pak"); | 2437 data_path.AppendASCII("chrome_100_percent.pak"); |
2412 base::File file(chrome_resources_pak, flags); | 2438 base::File file(chrome_resources_pak, flags); |
2413 DCHECK(file.IsValid()); | 2439 DCHECK(file.IsValid()); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2445 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); | 2471 PathService::Get(base::DIR_ANDROID_APP_DATA, &app_data_path); |
2446 DCHECK(!app_data_path.empty()); | 2472 DCHECK(!app_data_path.empty()); |
2447 | 2473 |
2448 flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | 2474 flags = base::File::FLAG_OPEN | base::File::FLAG_READ; |
2449 base::FilePath icudata_path = | 2475 base::FilePath icudata_path = |
2450 app_data_path.AppendASCII(base::i18n::kIcuDataFileName); | 2476 app_data_path.AppendASCII(base::i18n::kIcuDataFileName); |
2451 base::File icudata_file(icudata_path, flags); | 2477 base::File icudata_file(icudata_path, flags); |
2452 DCHECK(icudata_file.IsValid()); | 2478 DCHECK(icudata_file.IsValid()); |
2453 mappings->Transfer(kAndroidICUDataDescriptor, | 2479 mappings->Transfer(kAndroidICUDataDescriptor, |
2454 base::ScopedFD(icudata_file.TakePlatformFile())); | 2480 base::ScopedFD(icudata_file.TakePlatformFile())); |
2455 | |
2456 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | |
2457 base::FilePath v8_data_path; | |
2458 PathService::Get(base::DIR_ANDROID_APP_DATA, &v8_data_path); | |
2459 DCHECK(!v8_data_path.empty()); | |
2460 | |
2461 int file_flags = base::File::FLAG_OPEN | base::File::FLAG_READ; | |
2462 base::FilePath v8_natives_data_path = | |
2463 v8_data_path.AppendASCII(gin::IsolateHolder::kNativesFileName); | |
2464 base::FilePath v8_snapshot_data_path = | |
2465 v8_data_path.AppendASCII(gin::IsolateHolder::kSnapshotFileName); | |
2466 base::File v8_natives_data_file(v8_natives_data_path, file_flags); | |
2467 base::File v8_snapshot_data_file(v8_snapshot_data_path, file_flags); | |
2468 DCHECK(v8_natives_data_file.IsValid()); | |
2469 DCHECK(v8_snapshot_data_file.IsValid()); | |
2470 mappings->Transfer(kV8NativesDataDescriptor, | |
2471 base::ScopedFD(v8_natives_data_file.TakePlatformFile())); | |
2472 mappings->Transfer(kV8SnapshotDataDescriptor, | |
2473 base::ScopedFD(v8_snapshot_data_file.TakePlatformFile())); | |
2474 #endif // V8_USE_EXTERNAL_STARTUP_DATA | |
2475 | |
2476 #else | 2481 #else |
2477 int crash_signal_fd = GetCrashSignalFD(command_line); | 2482 int crash_signal_fd = GetCrashSignalFD(command_line); |
2478 if (crash_signal_fd >= 0) { | 2483 if (crash_signal_fd >= 0) { |
2479 mappings->Share(kCrashDumpSignal, crash_signal_fd); | 2484 mappings->Share(kCrashDumpSignal, crash_signal_fd); |
2480 } | 2485 } |
2481 #endif // defined(OS_ANDROID) | 2486 #endif // defined(OS_ANDROID) |
2482 } | 2487 } |
2483 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) | 2488 #endif // defined(OS_POSIX) && !defined(OS_MACOSX) |
2484 | 2489 |
2485 #if defined(OS_WIN) | 2490 #if defined(OS_WIN) |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2634 switches::kDisableWebRtcEncryption, | 2639 switches::kDisableWebRtcEncryption, |
2635 }; | 2640 }; |
2636 to_command_line->CopySwitchesFrom(from_command_line, | 2641 to_command_line->CopySwitchesFrom(from_command_line, |
2637 kWebRtcDevSwitchNames, | 2642 kWebRtcDevSwitchNames, |
2638 arraysize(kWebRtcDevSwitchNames)); | 2643 arraysize(kWebRtcDevSwitchNames)); |
2639 } | 2644 } |
2640 } | 2645 } |
2641 #endif // defined(ENABLE_WEBRTC) | 2646 #endif // defined(ENABLE_WEBRTC) |
2642 | 2647 |
2643 } // namespace chrome | 2648 } // namespace chrome |
OLD | NEW |