Chromium Code Reviews| Index: content/app/content_main_runner.cc |
| diff --git a/content/app/content_main_runner.cc b/content/app/content_main_runner.cc |
| index 2016a6172093aadf755fe3240b3aedfed721cf9d..8ee19e3e97229ab2a1b515000f86a5566d74b05d 100644 |
| --- a/content/app/content_main_runner.cc |
| +++ b/content/app/content_main_runner.cc |
| @@ -54,17 +54,13 @@ |
| #include "content/public/common/content_switches.h" |
| #include "content/public/common/main_function_params.h" |
| #include "content/public/common/sandbox_init.h" |
| +#include "gin/v8_initializer.h" |
| #include "ipc/ipc_descriptors.h" |
| #include "media/base/media.h" |
| #include "ppapi/features/features.h" |
| #include "ui/base/ui_base_paths.h" |
| #include "ui/base/ui_base_switches.h" |
| -#if defined(V8_USE_EXTERNAL_STARTUP_DATA) && \ |
| - !defined(CHROME_MULTIPLE_DLL_BROWSER) |
| -#include "gin/v8_initializer.h" |
| -#endif |
| - |
| #if defined(OS_WIN) |
| #include <malloc.h> |
| #include <cstring> |
| @@ -187,34 +183,50 @@ void InitializeV8IfNeeded( |
| if (process_type == switches::kGpuProcess) |
| return; |
| -#if defined(V8_USE_EXTERNAL_STARTUP_DATA) |
| #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| base::FileDescriptorStore& file_descriptor_store = |
| base::FileDescriptorStore::GetInstance(); |
| base::MemoryMappedFile::Region region; |
| +#endif |
| + |
| +#if defined(V8_USE_EXTERNAL_STARTUP_DATA) |
| +#if defined(OS_POSIX) && !defined(OS_MACOSX) |
| base::ScopedFD v8_snapshot_fd = |
| file_descriptor_store.MaybeTakeFD(kV8SnapshotDataDescriptor, ®ion); |
| if (v8_snapshot_fd.is_valid()) { |
| gin::V8Initializer::LoadV8SnapshotFromFD(v8_snapshot_fd.get(), |
| region.offset, region.size); |
| - } else { |
| - gin::V8Initializer::LoadV8Snapshot(); |
| - } |
| - base::ScopedFD v8_natives_fd = |
| - file_descriptor_store.MaybeTakeFD(kV8NativesDataDescriptor, ®ion); |
| - if (v8_natives_fd.is_valid()) { |
| - gin::V8Initializer::LoadV8NativesFromFD(v8_natives_fd.get(), |
| - region.offset, region.size); |
| - } else { |
| - gin::V8Initializer::LoadV8Natives(); |
| - } |
| -#else |
| -#if !defined(CHROME_MULTIPLE_DLL_BROWSER) |
| + } else { |
| gin::V8Initializer::LoadV8Snapshot(); |
| + } |
| + base::ScopedFD v8_natives_fd = |
| + file_descriptor_store.MaybeTakeFD(kV8NativesDataDescriptor, ®ion); |
| + if (v8_natives_fd.is_valid()) { |
| + gin::V8Initializer::LoadV8NativesFromFD(v8_natives_fd.get(), region.offset, |
| + region.size); |
| + } else { |
| gin::V8Initializer::LoadV8Natives(); |
| + } |
| +#else |
| +#if !defined(CHROME_MULTIPLE_DLL_BROWSER) |
| + gin::V8Initializer::LoadV8Snapshot(); |
| + gin::V8Initializer::LoadV8Natives(); |
| #endif // !CHROME_MULTIPLE_DLL_BROWSER |
| #endif // OS_POSIX && !OS_MACOSX |
| #endif // V8_USE_EXTERNAL_STARTUP_DATA |
| + |
| +#if defined(OS_POSIX) && !defined(OS_MACOSX) |
| + base::ScopedFD v8_context_fd = |
| + file_descriptor_store.MaybeTakeFD(kV8ContextDataDescriptor, ®ion); |
|
Yuki
2017/04/28 13:48:27
Here and there, you seem calling "a snapshot of V8
peria
2017/06/01 08:33:30
Done.
|
| + if (v8_context_fd.is_valid()) { |
| + gin::V8Initializer::LoadV8ContextFromFD(v8_context_fd.get(), region.offset, |
|
Yuki
2017/04/28 13:48:27
LoadV8ContextSnapshotFromFD?
peria
2017/06/01 08:33:31
Done.
|
| + region.size); |
| + } else { |
| + gin::V8Initializer::LoadV8Context(); |
| + } |
| +#elif !defined(CHROME_MULTIPLE_DLL_BROWSER) |
| + gin::V8Initializer::LoadV8Context(); |
| +#endif // OS |
| } |
| } // namespace |