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

Side by Side Diff: sky/engine/core/script/dart_init.cc

Issue 1233463002: Ban dart:mirrors in Sky (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 5 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 | sky/sdk/lib/widgets/tabs.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "sky/engine/core/script/dart_init.h" 5 #include "sky/engine/core/script/dart_init.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 namespace { 67 namespace {
68 68
69 void CreateEmptyRootLibraryIfNeeded() { 69 void CreateEmptyRootLibraryIfNeeded() {
70 if (Dart_IsNull(Dart_RootLibrary())) { 70 if (Dart_IsNull(Dart_RootLibrary())) {
71 Dart_LoadScript(Dart_NewStringFromCString("dart:empty"), Dart_EmptyString(), 71 Dart_LoadScript(Dart_NewStringFromCString("dart:empty"), Dart_EmptyString(),
72 0, 0); 72 0, 0);
73 } 73 }
74 } 74 }
75 75
76 static const char* kDartArgs[] = {
77 "--enable_mirrors=false",
76 #if ENABLE(DART_STRICT) 78 #if ENABLE(DART_STRICT)
77 static const char* kCheckedModeArgs[] = {"--enable_asserts", 79 "--enable_asserts",
78 "--enable_type_checks", 80 "--enable_type_checks",
79 "--error_on_bad_type", 81 "--error_on_bad_type",
80 "--error_on_bad_override", 82 "--error_on_bad_override",
81 #if WTF_OS_IOS 83 #if WTF_OS_IOS
82 "--no-profile" 84 "--no-profile"
85 #endif
83 #endif 86 #endif
84 }; 87 };
85 #endif
86 88
87 void UnhandledExceptionCallback(Dart_Handle error) { 89 void UnhandledExceptionCallback(Dart_Handle error) {
88 LOG(ERROR) << Dart_GetError(error); 90 LOG(ERROR) << Dart_GetError(error);
89 } 91 }
90 92
91 void IsolateShutdownCallback(void* callback_data) { 93 void IsolateShutdownCallback(void* callback_data) {
92 // TODO(dart) 94 // TODO(dart)
93 } 95 }
94 96
95 bool IsServiceIsolateURL(const char* url_name) { 97 bool IsServiceIsolateURL(const char* url_name) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 163
162 Dart_ExitIsolate(); 164 Dart_ExitIsolate();
163 165
164 CHECK(Dart_IsolateMakeRunnable(isolate)); 166 CHECK(Dart_IsolateMakeRunnable(isolate));
165 return isolate; 167 return isolate;
166 } 168 }
167 169
168 } // namespace 170 } // namespace
169 171
170 void InitDartVM() { 172 void InitDartVM() {
171 int argc = 0;
172 const char** argv = nullptr;
173
174 #if ENABLE(DART_STRICT)
175 argc = arraysize(kCheckedModeArgs);
176 argv = kCheckedModeArgs;
177 #endif
178
179 dart::bin::BootstrapDartIo(); 173 dart::bin::BootstrapDartIo();
180 174
181 CHECK(Dart_SetVMFlags(argc, argv)); 175 CHECK(Dart_SetVMFlags(arraysize(kDartArgs), kDartArgs));
182 // This should be called before calling Dart_Initialize. 176 // This should be called before calling Dart_Initialize.
183 DartDebugger::InitDebugger(); 177 DartDebugger::InitDebugger();
184 CHECK(Dart_Initialize(kDartVmIsolateSnapshotBuffer, 178 CHECK(Dart_Initialize(kDartVmIsolateSnapshotBuffer,
185 IsolateCreateCallback, 179 IsolateCreateCallback,
186 nullptr, // Isolate interrupt callback. 180 nullptr, // Isolate interrupt callback.
187 UnhandledExceptionCallback, IsolateShutdownCallback, 181 UnhandledExceptionCallback, IsolateShutdownCallback,
188 // File IO callbacks. 182 // File IO callbacks.
189 nullptr, nullptr, nullptr, nullptr, nullptr)); 183 nullptr, nullptr, nullptr, nullptr, nullptr));
190 // Wait for load port- ensures handle watcher and service isolates are 184 // Wait for load port- ensures handle watcher and service isolates are
191 // running. 185 // running.
192 Dart_ServiceWaitForLoadPort(); 186 Dart_ServiceWaitForLoadPort();
193 } 187 }
194 188
195 } // namespace blink 189 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | sky/sdk/lib/widgets/tabs.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698