OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sky/shell/ui/engine.h" | 5 #include "sky/shell/ui/engine.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "mojo/public/cpp/application/connect.h" | 8 #include "mojo/public/cpp/application/connect.h" |
9 #include "sky/engine/public/platform/WebInputEvent.h" | 9 #include "sky/engine/public/platform/WebInputEvent.h" |
10 #include "sky/engine/public/web/Sky.h" | 10 #include "sky/engine/public/web/Sky.h" |
11 #include "sky/engine/public/web/WebLocalFrame.h" | 11 #include "sky/engine/public/web/WebLocalFrame.h" |
12 #include "sky/engine/public/web/WebSettings.h" | 12 #include "sky/engine/public/web/WebSettings.h" |
13 #include "sky/engine/public/web/WebView.h" | 13 #include "sky/engine/public/web/WebView.h" |
14 #include "sky/services/platform/platform_impl.h" | 14 #include "sky/services/platform/platform_impl.h" |
15 #include "sky/shell/ui/animator.h" | 15 #include "sky/shell/ui/animator.h" |
16 #include "sky/shell/ui/input_event_converter.h" | 16 #include "sky/shell/ui/input_event_converter.h" |
| 17 #include "sky/shell/ui/internals.h" |
17 #include "third_party/skia/include/core/SkCanvas.h" | 18 #include "third_party/skia/include/core/SkCanvas.h" |
18 #include "third_party/skia/include/core/SkPictureRecorder.h" | 19 #include "third_party/skia/include/core/SkPictureRecorder.h" |
19 | 20 |
20 namespace sky { | 21 namespace sky { |
21 namespace shell { | 22 namespace shell { |
22 | 23 |
23 namespace { | 24 namespace { |
24 | 25 |
25 void ConfigureSettings(blink::WebSettings* settings) { | 26 void ConfigureSettings(blink::WebSettings* settings) { |
26 settings->setDefaultFixedFontSize(13); | 27 settings->setDefaultFixedFontSize(13); |
(...skipping 14 matching lines...) Expand all Loading... |
41 Engine::~Engine() { | 42 Engine::~Engine() { |
42 if (web_view_) | 43 if (web_view_) |
43 web_view_->close(); | 44 web_view_->close(); |
44 } | 45 } |
45 | 46 |
46 base::WeakPtr<Engine> Engine::GetWeakPtr() { | 47 base::WeakPtr<Engine> Engine::GetWeakPtr() { |
47 return weak_factory_.GetWeakPtr(); | 48 return weak_factory_.GetWeakPtr(); |
48 } | 49 } |
49 | 50 |
50 void Engine::Init(mojo::ScopedMessagePipeHandle service_provider_handle) { | 51 void Engine::Init(mojo::ScopedMessagePipeHandle service_provider_handle) { |
51 mojo::ServiceProviderPtr service_provider = | 52 service_provider_ = |
52 mojo::MakeProxy<mojo::ServiceProvider>(service_provider_handle.Pass()); | 53 mojo::MakeProxy<mojo::ServiceProvider>(service_provider_handle.Pass()); |
53 mojo::NetworkServicePtr network_service; | 54 mojo::NetworkServicePtr network_service; |
54 mojo::ConnectToService(service_provider.get(), &network_service); | 55 mojo::ConnectToService(service_provider_.get(), &network_service); |
55 platform_impl_.reset(new PlatformImpl(network_service.Pass())); | 56 platform_impl_.reset(new PlatformImpl(network_service.Pass())); |
56 | 57 |
57 blink::initialize(platform_impl_.get()); | 58 blink::initialize(platform_impl_.get()); |
58 } | 59 } |
59 | 60 |
60 void Engine::BeginFrame(base::TimeTicks frame_time) { | 61 void Engine::BeginFrame(base::TimeTicks frame_time) { |
61 double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF(); | 62 double frame_time_sec = (frame_time - base::TimeTicks()).InSecondsF(); |
62 double deadline_sec = frame_time_sec; | 63 double deadline_sec = frame_time_sec; |
63 double interval_sec = 1.0 / 60; | 64 double interval_sec = 1.0 / 60; |
64 blink::WebBeginFrameArgs args(frame_time_sec, deadline_sec, interval_sec); | 65 blink::WebBeginFrameArgs args(frame_time_sec, deadline_sec, interval_sec); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 frame->close(); | 135 frame->close(); |
135 } | 136 } |
136 | 137 |
137 void Engine::initializeLayerTreeView() { | 138 void Engine::initializeLayerTreeView() { |
138 } | 139 } |
139 | 140 |
140 void Engine::scheduleVisualUpdate() { | 141 void Engine::scheduleVisualUpdate() { |
141 animator_->RequestFrame(); | 142 animator_->RequestFrame(); |
142 } | 143 } |
143 | 144 |
| 145 void Engine::didCreateIsolate(blink::WebLocalFrame* frame, |
| 146 Dart_Isolate isolate) { |
| 147 Internals::Create(isolate, service_provider_.Pass()); |
| 148 } |
| 149 |
144 blink::ServiceProvider* Engine::services() { | 150 blink::ServiceProvider* Engine::services() { |
145 return this; | 151 return this; |
146 } | 152 } |
147 | 153 |
148 mojo::NavigatorHost* Engine::NavigatorHost() { | 154 mojo::NavigatorHost* Engine::NavigatorHost() { |
149 return this; | 155 return this; |
150 } | 156 } |
151 | 157 |
152 void Engine::RequestNavigate(mojo::Target target, | 158 void Engine::RequestNavigate(mojo::Target target, |
153 mojo::URLRequestPtr request) { | 159 mojo::URLRequestPtr request) { |
154 // Ignoring target for now. | 160 // Ignoring target for now. |
155 base::MessageLoop::current()->PostTask(FROM_HERE, | 161 base::MessageLoop::current()->PostTask(FROM_HERE, |
156 base::Bind(&Engine::LoadURL, GetWeakPtr(), request->url)); | 162 base::Bind(&Engine::LoadURL, GetWeakPtr(), request->url)); |
157 } | 163 } |
158 | 164 |
159 void Engine::DidNavigateLocally(const mojo::String& url) { | 165 void Engine::DidNavigateLocally(const mojo::String& url) { |
160 } | 166 } |
161 | 167 |
162 void Engine::RequestNavigateHistory(int32_t delta) { | 168 void Engine::RequestNavigateHistory(int32_t delta) { |
163 NOTIMPLEMENTED(); | 169 NOTIMPLEMENTED(); |
164 } | 170 } |
165 | 171 |
166 } // namespace shell | 172 } // namespace shell |
167 } // namespace sky | 173 } // namespace sky |
OLD | NEW |