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

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

Issue 954893002: Add support for VIEW intents to SkyShell. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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/engine.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/shell/ui/engine.cc
diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc
index 5b1e6da613a8047cb96398f3df8e68da43d937c7..19b0373b6d9b0b9fcbca368c6c8705295ae32881 100644
--- a/sky/shell/ui/engine.cc
+++ b/sky/shell/ui/engine.cc
@@ -39,11 +39,6 @@ void Engine::Init(mojo::ScopedMessagePipeHandle service_provider) {
platform_impl_.reset(new PlatformImpl(
mojo::MakeProxy<mojo::ServiceProvider>(service_provider.Pass())));
blink::initialize(platform_impl_.get());
-
- web_view_ = blink::WebView::create(this);
- web_view_->setMainFrame(blink::WebLocalFrame::create(this));
- web_view_->mainFrame()->load(
- GURL("http://domokit.github.io/sky/examples/spinning-square.sky"));
}
void Engine::BeginFrame(base::TimeTicks frame_time) {
@@ -76,8 +71,15 @@ void Engine::OnViewportMetricsChanged(int width, int height,
float device_pixel_ratio) {
physical_size_.SetSize(width, height);
device_pixel_ratio_ = device_pixel_ratio;
- web_view_->setDeviceScaleFactor(device_pixel_ratio);
- gfx::SizeF size = gfx::ScaleSize(physical_size_, 1 / device_pixel_ratio);
+ if (web_view_)
+ UpdateWebViewSize();
+}
+
+void Engine::UpdateWebViewSize()
+{
+ CHECK(web_view_);
+ web_view_->setDeviceScaleFactor(device_pixel_ratio_);
+ gfx::SizeF size = gfx::ScaleSize(physical_size_, 1 / device_pixel_ratio_);
// FIXME: We should be able to set the size of the WebView in floating point
// because its in logical pixels.
web_view_->resize(blink::WebSize(size.width(), size.height()));
@@ -91,6 +93,13 @@ void Engine::OnInputEvent(InputEventPtr event) {
web_view_->handleInputEvent(*web_event);
}
+void Engine::LoadURL(const mojo::String& url) {
+ web_view_ = blink::WebView::create(this);
+ web_view_->setMainFrame(blink::WebLocalFrame::create(this));
+ UpdateWebViewSize();
+ web_view_->mainFrame()->load(GURL(url));
+}
+
void Engine::initializeLayerTreeView() {
}
« no previous file with comments | « sky/shell/ui/engine.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698