Index: sky/shell/ui/engine.cc |
diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc |
index 5cc3632ac65b71ded5b43154c9648920a822d20d..705fc224b89228af99f811a7583a594c21546a4a 100644 |
--- a/sky/shell/ui/engine.cc |
+++ b/sky/shell/ui/engine.cc |
@@ -14,6 +14,7 @@ |
#include "sky/services/platform/platform_impl.h" |
#include "sky/shell/ui/animator.h" |
#include "sky/shell/ui/input_event_converter.h" |
+#include "sky/shell/ui/internals.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
#include "third_party/skia/include/core/SkPictureRecorder.h" |
@@ -48,10 +49,10 @@ base::WeakPtr<Engine> Engine::GetWeakPtr() { |
} |
void Engine::Init(mojo::ScopedMessagePipeHandle service_provider_handle) { |
- mojo::ServiceProviderPtr service_provider = |
+ service_provider_ = |
mojo::MakeProxy<mojo::ServiceProvider>(service_provider_handle.Pass()); |
mojo::NetworkServicePtr network_service; |
- mojo::ConnectToService(service_provider.get(), &network_service); |
+ mojo::ConnectToService(service_provider_.get(), &network_service); |
platform_impl_.reset(new PlatformImpl(network_service.Pass())); |
blink::initialize(platform_impl_.get()); |
@@ -141,6 +142,11 @@ void Engine::scheduleVisualUpdate() { |
animator_->RequestFrame(); |
} |
+void Engine::didCreateIsolate(blink::WebLocalFrame* frame, |
+ Dart_Isolate isolate) { |
+ Internals::Create(isolate, service_provider_.Pass()); |
+} |
+ |
blink::ServiceProvider* Engine::services() { |
return this; |
} |