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

Unified Diff: sky/engine/core/script/dart_loader.cc

Issue 1147413003: Teach sky_viewer about the new main.dart hotness (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Turn off SkyView by defaultw Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/script/dart_loader.h ('k') | sky/engine/public/sky/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/script/dart_loader.cc
diff --git a/sky/engine/core/script/dart_loader.cc b/sky/engine/core/script/dart_loader.cc
index 4f60c5aa46fa6ffc173af17813d7e40802a795b7..773637a59789831f3d890e495baa385abf130375 100644
--- a/sky/engine/core/script/dart_loader.cc
+++ b/sky/engine/core/script/dart_loader.cc
@@ -47,8 +47,15 @@ class DartLoader::Job : public DartDependency,
public MojoFetcher::Client,
public DataPipeDrainer::Client {
public:
- Job(DartLoader* loader, const KURL& url)
- : loader_(loader), url_(url), fetcher_(this, url) {}
+ Job(DartLoader* loader, const KURL& url, mojo::URLResponsePtr response)
+ : loader_(loader), url_(url)
+ {
+ if (!response) {
+ fetcher_ = adoptPtr(new MojoFetcher(this, url));
+ } else {
+ OnReceivedResponse(response.Pass());
+ }
+ }
const KURL& url() const { return url_; }
@@ -74,14 +81,14 @@ class DartLoader::Job : public DartDependency,
// Subclasses must implement OnDataComplete.
KURL url_;
- MojoFetcher fetcher_;
+ OwnPtr<MojoFetcher> fetcher_;
OwnPtr<DataPipeDrainer> drainer_;
};
class DartLoader::ImportJob : public Job {
public:
- ImportJob(DartLoader* loader, const KURL& url)
- : Job(loader, url) {
+ ImportJob(DartLoader* loader, const KURL& url, mojo::URLResponsePtr response = nullptr)
+ : Job(loader, url, response.Pass()) {
TRACE_EVENT_ASYNC_BEGIN1("sky", "DartLoader::ImportJob", this,
"url", url.string().ascii().toStdString());
}
@@ -97,7 +104,7 @@ class DartLoader::ImportJob : public Job {
class DartLoader::SourceJob : public Job {
public:
SourceJob(DartLoader* loader, const KURL& url, Dart_Handle library)
- : Job(loader, url), library_(loader->dart_state(), library) {
+ : Job(loader, url, nullptr), library_(loader->dart_state(), library) {
TRACE_EVENT_ASYNC_BEGIN1("sky", "DartLoader::SourceJob", this,
"url", url.string().ascii().toStdString());
}
@@ -231,7 +238,7 @@ void DartLoader::WaitForDependencies(
adoptPtr(new DependencyWatcher(dependencies, callback)));
}
-void DartLoader::LoadLibrary(const KURL& url) {
+void DartLoader::LoadLibrary(const KURL& url, mojo::URLResponsePtr response) {
const auto& result = pending_libraries_.add(url.string(), nullptr);
if (result.isNewEntry) {
OwnPtr<Job> job = adoptPtr(new ImportJob(this, url));
« no previous file with comments | « sky/engine/core/script/dart_loader.h ('k') | sky/engine/public/sky/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698