diff options
author | baixo <baixo@chromium.org> | 2014-11-28 05:05:25 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-28 13:05:54 +0000 |
commit | 51f683a4ab3d4b4ce2b0cf38771e883f4b3375c2 (patch) | |
tree | b16845064de8bc9000f75c5a260b38c9f0bf6022 /gin | |
parent | 1ccaa9ed59352e3b2360bbbf2e7bdbbf2b9e844c (diff) | |
download | chromium_src-51f683a4ab3d4b4ce2b0cf38771e883f4b3375c2.zip chromium_src-51f683a4ab3d4b4ce2b0cf38771e883f4b3375c2.tar.gz chromium_src-51f683a4ab3d4b4ce2b0cf38771e883f4b3375c2.tar.bz2 |
Mac-specific bits for loading V8's initial snapshot from external files.
BUG=421063
Review URL: https://codereview.chromium.org/716193002
Cr-Commit-Position: refs/heads/master@{#306074}
Diffstat (limited to 'gin')
-rw-r--r-- | gin/isolate_holder.cc | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc index f7878bb..1e8486e 100644 --- a/gin/isolate_holder.cc +++ b/gin/isolate_holder.cc @@ -20,6 +20,9 @@ #include "gin/run_microtasks_observer.h" #ifdef V8_USE_EXTERNAL_STARTUP_DATA +#ifdef OS_MACOSX +#include "base/mac/foundation_util.h" +#endif // OS_MACOSX #include "base/path_service.h" #endif // V8_USE_EXTERNAL_STARTUP_DATA @@ -68,6 +71,14 @@ bool MapV8Files(base::FilePath* natives_path, base::FilePath* snapshot_path, return true; } + +const int v8_snapshot_dir = +#if defined(OS_ANDROID) + base::DIR_ANDROID_APP_DATA; +#elif defined(OS_POSIX) + base::DIR_EXE; +#endif // defined(OS_ANDROID) + #endif // V8_USE_EXTERNAL_STARTUP_DATA } // namespace @@ -79,18 +90,21 @@ bool IsolateHolder::LoadV8Snapshot() { if (g_mapped_natives && g_mapped_snapshot) return true; +#if !defined(OS_MACOSX) base::FilePath data_path; - PathService::Get( -#if defined(OS_ANDROID) - base::DIR_ANDROID_APP_DATA, -#elif defined(OS_POSIX) - base::DIR_EXE, -#endif - &data_path); + PathService::Get(v8_snapshot_dir, &data_path); DCHECK(!data_path.empty()); base::FilePath natives_path = data_path.AppendASCII("natives_blob.bin"); base::FilePath snapshot_path = data_path.AppendASCII("snapshot_blob.bin"); +#else // !defined(OS_MACOSX) + base::FilePath natives_path = base::mac::PathForFrameworkBundleResource( + CFSTR("natives_blob.bin")); + base::FilePath snapshot_path = base::mac::PathForFrameworkBundleResource( + CFSTR("snapshot_blob.bin")); + DCHECK(!natives_path.empty()); + DCHECK(!snapshot_path.empty()); +#endif // !defined(OS_MACOSX) return MapV8Files(&natives_path, &snapshot_path); } |