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

Unified Diff: android_webview/browser/browser_view_renderer.h

Issue 394113002: Tiling priorities in Android Webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: clean up the APIs in BVR client a little Created 6 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 side-by-side diff with in-line comments
Download patch
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 338b31d73e40698f4f36fd9533f78f141b3f7f6f..5d3ecc4e2bca61021c2e41013efe3a392609092c 100644
--- a/android_webview/browser/browser_view_renderer.h
+++ b/android_webview/browser/browser_view_renderer.h
@@ -7,6 +7,7 @@
#include "android_webview/browser/global_tile_manager.h"
#include "android_webview/browser/global_tile_manager_client.h"
+#include "android_webview/browser/parent_compositor_draw_constraints.h"
#include "android_webview/browser/shared_renderer_state.h"
#include "base/android/scoped_java_ref.h"
#include "base/callback.h"
@@ -140,12 +141,17 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient,
virtual void SetNumTiles(size_t num_tiles,
bool effective_immediately) OVERRIDE;
- private:
- void SetTotalRootLayerScrollOffset(gfx::Vector2dF new_value_dip);
// 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);
+
+ // Post an invalidate if the parent draw constraints are stale and there is
+ // no pending invalidate.
+ void InvalidateOnceIfNeeded();
+
+ private:
+ void SetTotalRootLayerScrollOffset(gfx::Vector2dF new_value_dip);
bool OnDrawSoftware(jobject java_canvas);
bool CompositeSW(SkCanvas* canvas);
void DidComposite();
@@ -199,6 +205,10 @@ class BrowserViewRenderer : public content::SynchronousCompositorClient,
gfx::Vector2d last_on_draw_scroll_offset_;
gfx::Rect last_on_draw_global_visible_rect_;
+ // The draw constraints from the parent compositor. These are only used for
+ // tiling priority.
+ ParentCompositorDrawConstraints parent_draw_constraints_;
+
// 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

Powered by Google App Engine
This is Rietveld 408576698