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

Unified Diff: android_webview/browser/parent_compositor_draw_constraints.cc

Issue 1001643004: Remove android webview rendering cruft (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rename var 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
Index: android_webview/browser/parent_compositor_draw_constraints.cc
diff --git a/android_webview/browser/parent_compositor_draw_constraints.cc b/android_webview/browser/parent_compositor_draw_constraints.cc
index e507d434e640bb05692527f0b4b47c3df9d316b0..8bd0ccdc7d1f40ea5d41c3d48536249bb065df21 100644
--- a/android_webview/browser/parent_compositor_draw_constraints.cc
+++ b/android_webview/browser/parent_compositor_draw_constraints.cc
@@ -4,6 +4,8 @@
#include "android_webview/browser/parent_compositor_draw_constraints.h"
+#include "android_webview/browser/child_frame.h"
+
namespace android_webview {
ParentCompositorDrawConstraints::ParentCompositorDrawConstraints()
@@ -17,13 +19,24 @@ ParentCompositorDrawConstraints::ParentCompositorDrawConstraints(
: is_layer(is_layer), transform(transform), surface_rect(surface_rect) {
}
-bool ParentCompositorDrawConstraints::Equals(
- const ParentCompositorDrawConstraints& other) const {
- if (is_layer != other.is_layer || transform != other.transform)
+bool ParentCompositorDrawConstraints::NeedUpdate(
+ const ChildFrame& frame) const {
+ if (is_layer != frame.is_layer ||
+ transform != frame.transform_for_tile_priority) {
+ return true;
+ }
+
+ // Viewport for tile priority does not depend on surface rect in this case.
+ if (frame.offscreen_pre_raster)
return false;
- // Don't care about the surface size when neither is on a layer.
- return !is_layer || surface_rect == other.surface_rect;
+ if (is_layer) {
+ return surface_rect != frame.viewport_rect_for_tile_priority;
+ } else {
+ // Workaround for corner case. See crbug.com/417479.
+ return frame.viewport_rect_for_tile_priority.IsEmpty() &&
+ !surface_rect.IsEmpty();
+ }
}
} // namespace webview
« no previous file with comments | « android_webview/browser/parent_compositor_draw_constraints.h ('k') | android_webview/browser/shared_renderer_state.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698