Index: sky/shell/ui/engine.cc |
diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc |
index e8b6560e8acb863017db49d69f5643281ba4bb60..86be709f497a7840e4f39f9c74aec781e3922383 100644 |
--- a/sky/shell/ui/engine.cc |
+++ b/sky/shell/ui/engine.cc |
@@ -119,6 +119,8 @@ void Engine::OnInputEvent(InputEventPtr event) { |
} |
void Engine::LoadURL(const mojo::String& url) { |
+ if (web_view_) |
+ web_view_->close(); |
web_view_ = blink::WebView::create(this); |
ConfigureSettings(web_view_->settings()); |
web_view_->setMainFrame(blink::WebLocalFrame::create(this)); |
@@ -126,6 +128,11 @@ void Engine::LoadURL(const mojo::String& url) { |
web_view_->mainFrame()->load(GURL(url)); |
} |
+void Engine::frameDetached(blink::WebFrame* frame) { |
+ // |frame| is invalid after here. |
+ frame->close(); |
+} |
+ |
void Engine::initializeLayerTreeView() { |
} |
@@ -133,5 +140,22 @@ void Engine::scheduleVisualUpdate() { |
animator_->RequestFrame(); |
} |
+blink::ServiceProvider* Engine::services() { |
+ return this; |
+} |
+ |
+mojo::NavigatorHost* Engine::NavigatorHost() { |
+ return this; |
+} |
+ |
+void Engine::RequestNavigate(mojo::Target target, |
+ mojo::URLRequestPtr request) { |
+ // Ignoring target for now. |
+ LoadURL(request->url); |
abarth-chromium
2015/02/25 23:21:32
We should do this asynchronously.
|
+} |
+ |
+void Engine::DidNavigateLocally(const mojo::String& url) { |
+} |
+ |
} // namespace shell |
} // namespace sky |