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

Side by Side Diff: sky/shell/ui/engine.cc

Issue 1211253004: Add MineDigger.apk that works offline (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: one more examples Created 5 years, 5 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 unified diff | Download patch
« no previous file with comments | « sky/shell/ui/engine.h ('k') | sky/tools/packager/main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/files/file_path.h"
9 #include "base/threading/worker_pool.h"
8 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
11 #include "mojo/common/data_pipe_utils.h"
9 #include "mojo/public/cpp/application/connect.h" 12 #include "mojo/public/cpp/application/connect.h"
10 #include "sky/engine/public/platform/WebInputEvent.h" 13 #include "sky/engine/public/platform/WebInputEvent.h"
11 #include "sky/engine/public/platform/sky_display_metrics.h" 14 #include "sky/engine/public/platform/sky_display_metrics.h"
12 #include "sky/engine/public/platform/sky_display_metrics.h" 15 #include "sky/engine/public/platform/sky_display_metrics.h"
13 #include "sky/engine/public/web/Sky.h" 16 #include "sky/engine/public/web/Sky.h"
14 #include "sky/engine/public/web/WebLocalFrame.h" 17 #include "sky/engine/public/web/WebLocalFrame.h"
15 #include "sky/engine/public/web/WebSettings.h" 18 #include "sky/engine/public/web/WebSettings.h"
16 #include "sky/engine/public/web/WebView.h" 19 #include "sky/engine/public/web/WebView.h"
17 #include "sky/services/platform/platform_impl.h" 20 #include "sky/services/platform/platform_impl.h"
18 #include "sky/shell/dart/dart_library_provider_files.h" 21 #include "sky/shell/dart/dart_library_provider_files.h"
19 #include "sky/shell/dart/dart_library_provider_network.h" 22 #include "sky/shell/dart/dart_library_provider_network.h"
20 #include "sky/shell/service_provider.h" 23 #include "sky/shell/service_provider.h"
21 #include "sky/shell/ui/animator.h" 24 #include "sky/shell/ui/animator.h"
22 #include "sky/shell/ui/input_event_converter.h" 25 #include "sky/shell/ui/input_event_converter.h"
23 #include "sky/shell/ui/internals.h" 26 #include "sky/shell/ui/internals.h"
24 #include "third_party/skia/include/core/SkCanvas.h" 27 #include "third_party/skia/include/core/SkCanvas.h"
25 #include "third_party/skia/include/core/SkPictureRecorder.h" 28 #include "third_party/skia/include/core/SkPictureRecorder.h"
26 29
27 namespace sky { 30 namespace sky {
28 namespace shell { 31 namespace shell {
29 32
30 namespace { 33 namespace {
31 34
35 void Ignored(bool) {
36 }
37
38 mojo::ScopedDataPipeConsumerHandle Fetch(const base::FilePath& path) {
39 mojo::DataPipe pipe;
40 auto runner = base::WorkerPool::GetTaskRunner(true);
41 mojo::common::CopyFromFile(base::FilePath(path), pipe.producer_handle.Pass(),
42 0, runner.get(), base::Bind(&Ignored));
43 return pipe.consumer_handle.Pass();
44 }
45
32 void ConfigureSettings(blink::WebSettings* settings) { 46 void ConfigureSettings(blink::WebSettings* settings) {
33 settings->setDefaultFixedFontSize(13); 47 settings->setDefaultFixedFontSize(13);
34 settings->setDefaultFontSize(16); 48 settings->setDefaultFontSize(16);
35 settings->setLoadsImagesAutomatically(true); 49 settings->setLoadsImagesAutomatically(true);
36 } 50 }
37 51
38 PlatformImpl* g_platform_impl = nullptr; 52 PlatformImpl* g_platform_impl = nullptr;
39 53
40 } 54 }
41 55
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 RunFromLibrary(url); 225 RunFromLibrary(url);
212 } 226 }
213 227
214 void Engine::RunFromFile(const mojo::String& main, 228 void Engine::RunFromFile(const mojo::String& main,
215 const mojo::String& package_root) { 229 const mojo::String& package_root) {
216 dart_library_provider_.reset( 230 dart_library_provider_.reset(
217 new DartLibraryProviderFiles(base::FilePath(package_root))); 231 new DartLibraryProviderFiles(base::FilePath(package_root)));
218 RunFromLibrary(main); 232 RunFromLibrary(main);
219 } 233 }
220 234
221 void Engine::RunFromSnapshot(const mojo::String& url, 235 void Engine::RunFromSnapshot(const mojo::String& path) {
222 mojo::ScopedDataPipeConsumerHandle snapshot) {
223 CloseWebViewIfNeeded(); 236 CloseWebViewIfNeeded();
224 sky_view_ = blink::SkyView::Create(this); 237 sky_view_ = blink::SkyView::Create(this);
225 sky_view_->RunFromSnapshot(blink::WebString::fromUTF8(url), snapshot.Pass()); 238 sky_view_->RunFromSnapshot(blink::WebString::fromUTF8(path),
239 Fetch(base::FilePath(path)));
226 UpdateSkyViewSize(); 240 UpdateSkyViewSize();
227 } 241 }
228 242
229 void Engine::LoadUsingWebView(const mojo::String& mojo_url) { 243 void Engine::LoadUsingWebView(const mojo::String& mojo_url) {
230 GURL url(mojo_url); 244 GURL url(mojo_url);
231 DCHECK(blink::WebView::shouldUseWebView(url)); 245 DCHECK(blink::WebView::shouldUseWebView(url));
232 246
233 if (sky_view_) 247 if (sky_view_)
234 sky_view_ = nullptr; 248 sky_view_ = nullptr;
235 249
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 304
291 void Engine::DidNavigateLocally(const mojo::String& url) { 305 void Engine::DidNavigateLocally(const mojo::String& url) {
292 } 306 }
293 307
294 void Engine::RequestNavigateHistory(int32_t delta) { 308 void Engine::RequestNavigateHistory(int32_t delta) {
295 NOTIMPLEMENTED(); 309 NOTIMPLEMENTED();
296 } 310 }
297 311
298 } // namespace shell 312 } // namespace shell
299 } // namespace sky 313 } // namespace sky
OLDNEW
« no previous file with comments | « sky/shell/ui/engine.h ('k') | sky/tools/packager/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698