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

Unified Diff: sky/shell/ui/engine.h

Issue 952273003: Make WebView::close not crash and start to fix navigation in SkyShell (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Fixed Created 5 years, 10 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/shell/ui/animator.cc ('k') | sky/shell/ui/engine.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/shell/ui/engine.h
diff --git a/sky/shell/ui/engine.h b/sky/shell/ui/engine.h
index dfec785c63f283451a8649ea25e0f9f44f817d04..004050e06f5572fbffa23a289eb85a0288e01458 100644
--- a/sky/shell/ui/engine.h
+++ b/sky/shell/ui/engine.h
@@ -11,7 +11,9 @@
#include "base/single_thread_task_runner.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/system/core.h"
+#include "mojo/services/navigation/public/interfaces/navigation.mojom.h"
#include "skia/ext/refptr.h"
+#include "sky/engine/public/platform/ServiceProvider.h"
#include "sky/engine/public/web/WebFrameClient.h"
#include "sky/engine/public/web/WebViewClient.h"
#include "sky/shell/gpu_delegate.h"
@@ -26,6 +28,8 @@ class Animator;
class Engine : public UIDelegate,
public ViewportObserver,
+ public blink::ServiceProvider,
+ public mojo::NavigatorHost,
public blink::WebFrameClient,
public blink::WebViewClient {
public:
@@ -56,9 +60,19 @@ class Engine : public UIDelegate,
void LoadURL(const mojo::String& url) override;
// WebViewClient methods:
+ void frameDetached(blink::WebFrame*) override;
void initializeLayerTreeView() override;
void scheduleVisualUpdate() override;
blink::WebScreenInfo screenInfo() override;
+ blink::ServiceProvider* services() override;
+
+ // Services methods:
+ mojo::NavigatorHost* NavigatorHost() override;
+
+ // NavigatorHost methods:
+ void RequestNavigate(mojo::Target target,
+ mojo::URLRequestPtr request) override;
+ void DidNavigateLocally(const mojo::String& url) override;
void UpdateWebViewSize();
« no previous file with comments | « sky/shell/ui/animator.cc ('k') | sky/shell/ui/engine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698