Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Side by Side Diff: content/app/content_main_runner.cc

Issue 832393003: [gin] Fingerprint the V8 snapshot files on Windows and verify before loading the snapshot. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix 'all' target when v8_use_external_startup_data==0 Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | gin/BUILD.gn » ('j') | gin/isolate_holder.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "content/public/app/content_main_runner.h" 5 #include "content/public/app/content_main_runner.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/allocator/allocator_extension.h" 9 #include "base/allocator/allocator_extension.h"
10 #include "base/at_exit.h" 10 #include "base/at_exit.h"
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 RegisterContentSchemes(true); 714 RegisterContentSchemes(true);
715 715
716 #if defined(OS_ANDROID) 716 #if defined(OS_ANDROID)
717 int icudata_fd = base::GlobalDescriptors::GetInstance()->MaybeGet( 717 int icudata_fd = base::GlobalDescriptors::GetInstance()->MaybeGet(
718 kAndroidICUDataDescriptor); 718 kAndroidICUDataDescriptor);
719 if (icudata_fd != -1) 719 if (icudata_fd != -1)
720 CHECK(base::i18n::InitializeICUWithFileDescriptor(icudata_fd)); 720 CHECK(base::i18n::InitializeICUWithFileDescriptor(icudata_fd));
721 else 721 else
722 CHECK(base::i18n::InitializeICU()); 722 CHECK(base::i18n::InitializeICU());
723 723
724 #ifdef V8_USE_EXTERNAL_STARTUP_DATA 724 #if defined(V8_USE_EXTERNAL_STARTUP_DATA)
725 int v8_natives_fd = base::GlobalDescriptors::GetInstance()->MaybeGet( 725 int v8_natives_fd = base::GlobalDescriptors::GetInstance()->MaybeGet(
726 kV8NativesDataDescriptor); 726 kV8NativesDataDescriptor);
727 int v8_snapshot_fd = base::GlobalDescriptors::GetInstance()->MaybeGet( 727 int v8_snapshot_fd = base::GlobalDescriptors::GetInstance()->MaybeGet(
728 kV8SnapshotDataDescriptor); 728 kV8SnapshotDataDescriptor);
729 if (v8_natives_fd != -1 && v8_snapshot_fd != -1) { 729 if (v8_natives_fd != -1 && v8_snapshot_fd != -1) {
730 CHECK(gin::IsolateHolder::LoadV8SnapshotFD(v8_natives_fd, 730 CHECK(gin::IsolateHolder::LoadV8SnapshotFD(v8_natives_fd,
731 v8_snapshot_fd)); 731 v8_snapshot_fd));
732 } else { 732 } else {
733 CHECK(gin::IsolateHolder::LoadV8Snapshot()); 733 CHECK(gin::IsolateHolder::LoadV8Snapshot());
734 } 734 }
735 #endif // V8_USE_EXTERNAL_STARTUP_DATA 735 #endif // V8_USE_EXTERNAL_STARTUP_DATA
736 736
737 #else 737 #else
738 CHECK(base::i18n::InitializeICU()); 738 CHECK(base::i18n::InitializeICU());
739 #ifdef V8_USE_EXTERNAL_STARTUP_DATA 739 #if defined(V8_USE_EXTERNAL_STARTUP_DATA)
740 #if defined(OS_WIN)
741 CHECK(gin::IsolateHolder::LoadAndVerifyV8Snapshot());
grt (UTC plus 2) 2015/01/08 17:46:35 why should consumers need to know which platforms
rmcilroy 2015/01/08 18:54:14 Sounds reasonable, done.
742 #else
740 CHECK(gin::IsolateHolder::LoadV8Snapshot()); 743 CHECK(gin::IsolateHolder::LoadV8Snapshot());
741 #endif // V8_USE_EXTERNAL_STARTUP_DATA 744 #endif // OS_WIN
742 #endif // OS_ANDROID 745 #endif // V8_USE_EXTERNAL_STARTUP_DATA
746 #endif // OS_ANDROID
743 747
744 InitializeStatsTable(command_line); 748 InitializeStatsTable(command_line);
745 749
746 if (delegate_) 750 if (delegate_)
747 delegate_->PreSandboxStartup(); 751 delegate_->PreSandboxStartup();
748 752
749 if (!process_type.empty()) 753 if (!process_type.empty())
750 CommonSubprocessInit(process_type); 754 CommonSubprocessInit(process_type);
751 755
752 #if defined(OS_WIN) 756 #if defined(OS_WIN)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 852
849 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl); 853 DISALLOW_COPY_AND_ASSIGN(ContentMainRunnerImpl);
850 }; 854 };
851 855
852 // static 856 // static
853 ContentMainRunner* ContentMainRunner::Create() { 857 ContentMainRunner* ContentMainRunner::Create() {
854 return new ContentMainRunnerImpl(); 858 return new ContentMainRunnerImpl();
855 } 859 }
856 860
857 } // namespace content 861 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | gin/BUILD.gn » ('j') | gin/isolate_holder.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698