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

Unified Diff: android_webview/browser/browser_view_renderer.h

Issue 1051273003: Revert of cc: Make scheduling be driven by vsync for android webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 | « no previous file | android_webview/browser/browser_view_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/browser/browser_view_renderer.h
diff --git a/android_webview/browser/browser_view_renderer.h b/android_webview/browser/browser_view_renderer.h
index 308abd445fa9d703f03e2e322813372746d6277a..843529b282b8b3568d18aa143f407fd5200d4e06 100644
--- a/android_webview/browser/browser_view_renderer.h
+++ b/android_webview/browser/browser_view_renderer.h
@@ -96,7 +96,7 @@
content::SynchronousCompositor* compositor) override;
void DidDestroyCompositor(
content::SynchronousCompositor* compositor) override;
- void PostInvalidate() override;
+ void SetContinuousInvalidate(bool invalidate) override;
void DidUpdateContent() override;
gfx::Vector2dF GetTotalRootLayerScrollOffset() override;
void UpdateRootLayerState(const gfx::Vector2dF& total_scroll_offset_dip,
@@ -116,13 +116,12 @@
private:
void SetTotalRootLayerScrollOffset(gfx::Vector2dF new_value_dip);
bool CanOnDraw();
- // Posts an invalidate with fallback tick. All invalidates posted while an
- // invalidate is pending will be posted as a single invalidate after the
- // pending invalidate is done.
- void PostInvalidateWithFallback();
- void CancelFallbackTick();
- void UpdateCompositorIsActive();
+ // Checks the continuous invalidate and block invalidate state, and schedule
+ // invalidates appropriately. If |force_invalidate| is true, then send a view
+ // invalidate regardless of compositor expectation.
+ void EnsureContinuousInvalidation(bool force_invalidate);
bool CompositeSW(SkCanvas* canvas);
+ void DidComposite();
scoped_refptr<base::trace_event::ConvertableToTraceFormat>
RootLayerStateAsValue(const gfx::Vector2dF& total_scroll_offset_dip,
const gfx::SizeF& scrollable_size_dip);
@@ -146,7 +145,6 @@
gfx::Vector2d max_scroll_offset() const;
size_t CalculateDesiredMemoryPolicy();
-
// For debug tracing or logging. Return the string representation of this
// view renderer's state.
std::string ToString() const;
@@ -172,6 +170,14 @@
gfx::Vector2d last_on_draw_scroll_offset_;
gfx::Rect last_on_draw_global_visible_rect_;
+ // When true, we should continuously invalidate and keep drawing, for example
+ // to drive animation. This value is set by the compositor and should always
+ // reflect the expectation of the compositor and not be reused for other
+ // states.
+ bool compositor_needs_continuous_invalidate_;
+
+ // Used to block additional invalidates while one is already pending.
+ bool block_invalidates_;
base::CancelableClosure post_fallback_tick_;
base::CancelableClosure fallback_tick_fired_;
« no previous file with comments | « no previous file | android_webview/browser/browser_view_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698