Index: sky/engine/tonic/dart_library_loader.cc |
diff --git a/sky/engine/tonic/dart_library_loader.cc b/sky/engine/tonic/dart_library_loader.cc |
index 6e9525eefa5cd3cf33d3b18140bc017043c5cf6e..ac7228e66c24aa58c78eafbe3bb544e5813427ab 100644 |
--- a/sky/engine/tonic/dart_library_loader.cc |
+++ b/sky/engine/tonic/dart_library_loader.cc |
@@ -26,13 +26,13 @@ namespace blink { |
class DartLibraryLoader::Job : public DartDependency, |
public DataPipeDrainer::Client { |
public: |
- Job(DartLibraryLoader* loader, const String& name) |
+ Job(DartLibraryLoader* loader, const std::string& name) |
: loader_(loader), name_(name), weak_factory_(this) { |
loader->library_provider()->GetLibraryAsStream( |
name, base::Bind(&Job::OnStreamAvailable, weak_factory_.GetWeakPtr())); |
} |
- const String& name() const { return name_; } |
+ const std::string& name() const { return name_; } |
protected: |
DartLibraryLoader* loader_; |
@@ -55,7 +55,7 @@ class DartLibraryLoader::Job : public DartDependency, |
} |
// Subclasses must implement OnDataComplete. |
- String name_; |
+ std::string name_; |
OwnPtr<DataPipeDrainer> drainer_; |
base::WeakPtrFactory<Job> weak_factory_; |
@@ -63,9 +63,9 @@ class DartLibraryLoader::Job : public DartDependency, |
class DartLibraryLoader::ImportJob : public Job { |
public: |
- ImportJob(DartLibraryLoader* loader, const String& name) : Job(loader, name) { |
+ ImportJob(DartLibraryLoader* loader, const std::string& name) : Job(loader, name) { |
TRACE_EVENT_ASYNC_BEGIN1("sky", "DartLibraryLoader::ImportJob", this, "url", |
- name.ascii().toStdString()); |
+ name); |
} |
private: |
@@ -78,10 +78,10 @@ class DartLibraryLoader::ImportJob : public Job { |
class DartLibraryLoader::SourceJob : public Job { |
public: |
- SourceJob(DartLibraryLoader* loader, const String& name, Dart_Handle library) |
+ SourceJob(DartLibraryLoader* loader, const std::string& name, Dart_Handle library) |
: Job(loader, name), library_(loader->dart_state(), library) { |
TRACE_EVENT_ASYNC_BEGIN1("sky", "DartLibraryLoader::SourceJob", this, "url", |
- name.ascii().toStdString()); |
+ name); |
} |
Dart_PersistentHandle library() const { return library_.value(); } |
@@ -207,24 +207,26 @@ void DartLibraryLoader::WaitForDependencies( |
adoptPtr(new DependencyWatcher(dependencies, callback))); |
} |
-void DartLibraryLoader::LoadLibrary(const String& name) { |
- const auto& result = pending_libraries_.add(name, nullptr); |
- if (result.isNewEntry) { |
+void DartLibraryLoader::LoadLibrary(const std::string& name) { |
+ const auto& result = pending_libraries_.insert(std::make_pair(name, nullptr)); |
+ if (result.second) { |
+ // New entry. |
OwnPtr<Job> job = adoptPtr(new ImportJob(this, name)); |
- result.storedValue->value = job.get(); |
+ result.first->second = job.get(); |
jobs_.add(job.release()); |
} |
if (dependency_catcher_) |
- dependency_catcher_->AddDependency(result.storedValue->value); |
+ dependency_catcher_->AddDependency(result.first->second); |
} |
Dart_Handle DartLibraryLoader::Import(Dart_Handle library, Dart_Handle url) { |
- LoadLibrary(StringFromDart(url)); |
+ LoadLibrary(StdStringFromDart(url)); |
return Dart_True(); |
} |
Dart_Handle DartLibraryLoader::Source(Dart_Handle library, Dart_Handle url) { |
- OwnPtr<Job> job = adoptPtr(new SourceJob(this, StringFromDart(url), library)); |
+ OwnPtr<Job> job = |
+ adoptPtr(new SourceJob(this, StdStringFromDart(url), library)); |
if (dependency_catcher_) |
dependency_catcher_->AddDependency(job.get()); |
jobs_.add(job.release()); |
@@ -245,14 +247,14 @@ void DartLibraryLoader::DidCompleteImportJob( |
WatcherSignaler watcher_signaler(*this, job); |
Dart_Handle result = Dart_LoadLibrary( |
- StringToDart(dart_state_, job->name()), |
+ StdStringToDart(job->name()), |
Dart_NewStringFromUTF8(buffer.data(), buffer.size()), 0, 0); |
if (Dart_IsError(result)) { |
- LOG(ERROR) << "Error Loading " << job->name().utf8().data() << " " |
+ LOG(ERROR) << "Error Loading " << job->name() << " " |
<< Dart_GetError(result); |
} |
- pending_libraries_.remove(job->name()); |
+ pending_libraries_.erase(job->name()); |
jobs_.remove(job); |
} |
@@ -266,11 +268,11 @@ void DartLibraryLoader::DidCompleteSourceJob( |
Dart_Handle result = Dart_LoadSource( |
Dart_HandleFromPersistent(job->library()), |
- StringToDart(dart_state_, job->name()), |
+ StdStringToDart(job->name()), |
Dart_NewStringFromUTF8(buffer.data(), buffer.size()), 0, 0); |
if (Dart_IsError(result)) { |
- LOG(ERROR) << "Error Loading " << job->name().utf8().data() << " " |
+ LOG(ERROR) << "Error Loading " << job->name() << " " |
<< Dart_GetError(result); |
} |
@@ -283,7 +285,7 @@ void DartLibraryLoader::DidFailJob(Job* job) { |
WatcherSignaler watcher_signaler(*this, job); |
- LOG(ERROR) << "Library Load failed: " << job->name().utf8().data(); |
+ LOG(ERROR) << "Library Load failed: " << job->name(); |
// TODO(eseidel): Call Dart_LibraryHandleError in the SourceJob case? |
jobs_.remove(job); |