summaryrefslogtreecommitdiffstats
path: root/gin
diff options
context:
space:
mode:
authorbaixo <baixo@chromium.org>2014-11-28 05:05:25 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-28 13:05:54 +0000
commit51f683a4ab3d4b4ce2b0cf38771e883f4b3375c2 (patch)
treeb16845064de8bc9000f75c5a260b38c9f0bf6022 /gin
parent1ccaa9ed59352e3b2360bbbf2e7bdbbf2b9e844c (diff)
downloadchromium_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.cc28
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);
}