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

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

Issue 1230073002: Teach SkyShell.apk to stop posting frames when not visible (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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
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 #ifndef SKY_SHELL_UI_ENGINE_H_ 5 #ifndef SKY_SHELL_UI_ENGINE_H_
6 #define SKY_SHELL_UI_ENGINE_H_ 6 #define SKY_SHELL_UI_ENGINE_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 // SkyEngine implementation: 64 // SkyEngine implementation:
65 void OnViewportMetricsChanged(ViewportMetricsPtr metrics) override; 65 void OnViewportMetricsChanged(ViewportMetricsPtr metrics) override;
66 void OnInputEvent(InputEventPtr event) override; 66 void OnInputEvent(InputEventPtr event) override;
67 67
68 void RunFromNetwork(const mojo::String& url) override; 68 void RunFromNetwork(const mojo::String& url) override;
69 void RunFromFile(const mojo::String& main, 69 void RunFromFile(const mojo::String& main,
70 const mojo::String& package_root) override; 70 const mojo::String& package_root) override;
71 void RunFromSnapshot(const mojo::String& path) override; 71 void RunFromSnapshot(const mojo::String& path) override;
72 void RunFromBundle(const mojo::String& path) override; 72 void RunFromBundle(const mojo::String& path) override;
73 73
74 void OnActivityPaused() override;
75 void OnActivityResumed() override;
76
74 // SkyViewClient methods: 77 // SkyViewClient methods:
75 void ScheduleFrame() override; 78 void ScheduleFrame() override;
76 void DidCreateIsolate(Dart_Isolate isolate) override; 79 void DidCreateIsolate(Dart_Isolate isolate) override;
77 80
78 // Services methods: 81 // Services methods:
79 mojo::NavigatorHost* NavigatorHost() override; 82 mojo::NavigatorHost* NavigatorHost() override;
80 83
81 // NavigatorHost methods: 84 // NavigatorHost methods:
82 void RequestNavigate(mojo::Target target, 85 void RequestNavigate(mojo::Target target,
83 mojo::URLRequestPtr request) override; 86 mojo::URLRequestPtr request) override;
84 void DidNavigateLocally(const mojo::String& url) override; 87 void DidNavigateLocally(const mojo::String& url) override;
85 void RequestNavigateHistory(int32_t delta) override; 88 void RequestNavigateHistory(int32_t delta) override;
86 89
87 void RunFromLibrary(const std::string& name); 90 void RunFromLibrary(const std::string& name);
88 void RunFromSnapshotStream(const std::string& name, 91 void RunFromSnapshotStream(const std::string& name,
89 mojo::ScopedDataPipeConsumerHandle snapshot); 92 mojo::ScopedDataPipeConsumerHandle snapshot);
90 93
94 void StopAnimator();
95 void StartAnimatorIfPossible();
96
91 Config config_; 97 Config config_;
92 scoped_ptr<Animator> animator_; 98 scoped_ptr<Animator> animator_;
93 99
94 mojo::asset_bundle::AssetBundlePtr root_bundle_; 100 mojo::asset_bundle::AssetBundlePtr root_bundle_;
95 scoped_ptr<blink::DartLibraryProvider> dart_library_provider_; 101 scoped_ptr<blink::DartLibraryProvider> dart_library_provider_;
96 std::unique_ptr<blink::SkyView> sky_view_; 102 std::unique_ptr<blink::SkyView> sky_view_;
97 103
98 gfx::Size physical_size_; 104 gfx::Size physical_size_;
99 blink::SkyDisplayMetrics display_metrics_; 105 blink::SkyDisplayMetrics display_metrics_;
100 mojo::Binding<SkyEngine> binding_; 106 mojo::Binding<SkyEngine> binding_;
101 107
108 bool activity_running_;
109 bool have_surface_;
110
102 base::WeakPtrFactory<Engine> weak_factory_; 111 base::WeakPtrFactory<Engine> weak_factory_;
103 112
104 DISALLOW_COPY_AND_ASSIGN(Engine); 113 DISALLOW_COPY_AND_ASSIGN(Engine);
105 }; 114 };
106 115
107 } // namespace shell 116 } // namespace shell
108 } // namespace sky 117 } // namespace sky
109 118
110 #endif // SKY_SHELL_UI_ENGINE_H_ 119 #endif // SKY_SHELL_UI_ENGINE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698