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

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

Issue 1212623002: Support snapshots in sky_shell (again) (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 | « sky/engine/core/script/dart_controller.h ('k') | sky/engine/public/sky/sky_view.cc » ('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_controller.h" 5 #include "sky/engine/core/script/dart_controller.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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 Dart_Isolate isolate = dart_state()->isolate(); 142 Dart_Isolate isolate = dart_state()->isolate();
143 DartIsolateScope isolate_scope(isolate); 143 DartIsolateScope isolate_scope(isolate);
144 DartApiScope dart_api_scope; 144 DartApiScope dart_api_scope;
145 145
146 Dart_Handle library = Dart_RootLibrary(); 146 Dart_Handle library = Dart_RootLibrary();
147 if (LogIfError(library)) 147 if (LogIfError(library))
148 return; 148 return;
149 DartInvokeAppField(library, ToDart("main"), 0, nullptr); 149 DartInvokeAppField(library, ToDart("main"), 0, nullptr);
150 } 150 }
151 151
152 void DartController::LoadSnapshot(const KURL& url, mojo::URLResponsePtr response ) { 152 void DartController::RunFromSnapshot(
153 mojo::ScopedDataPipeConsumerHandle snapshot) {
153 snapshot_loader_ = adoptPtr(new DartSnapshotLoader(dart_state())); 154 snapshot_loader_ = adoptPtr(new DartSnapshotLoader(dart_state()));
154 snapshot_loader_->LoadSnapshot( 155 snapshot_loader_->LoadSnapshot(
155 response->body.Pass(), 156 snapshot.Pass(),
156 base::Bind(&DartController::DidLoadSnapshot, weak_factory_.GetWeakPtr())); 157 base::Bind(&DartController::DidLoadSnapshot, weak_factory_.GetWeakPtr()));
157 } 158 }
158 159
159 void DartController::RunFromLibrary(const String& name, 160 void DartController::RunFromLibrary(const String& name,
160 DartLibraryProvider* library_provider) { 161 DartLibraryProvider* library_provider) {
161 DartState::Scope scope(dart_state()); 162 DartState::Scope scope(dart_state());
162 CreateEmptyRootLibraryIfNeeded(); 163 CreateEmptyRootLibraryIfNeeded();
163 164
164 DartLibraryLoader& loader = dart_state()->library_loader(); 165 DartLibraryLoader& loader = dart_state()->library_loader();
165 loader.set_library_provider(library_provider); 166 loader.set_library_provider(library_provider);
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 nullptr, // Isolate interrupt callback. 429 nullptr, // Isolate interrupt callback.
429 UnhandledExceptionCallback, IsolateShutdownCallback, 430 UnhandledExceptionCallback, IsolateShutdownCallback,
430 // File IO callbacks. 431 // File IO callbacks.
431 nullptr, nullptr, nullptr, nullptr, nullptr)); 432 nullptr, nullptr, nullptr, nullptr, nullptr));
432 // Wait for load port- ensures handle watcher and service isolates are 433 // Wait for load port- ensures handle watcher and service isolates are
433 // running. 434 // running.
434 Dart_ServiceWaitForLoadPort(); 435 Dart_ServiceWaitForLoadPort();
435 } 436 }
436 437
437 } // namespace blink 438 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/core/script/dart_controller.h ('k') | sky/engine/public/sky/sky_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698