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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "android_webview/browser/parent_compositor_draw_constraints.h" 5 #include "android_webview/browser/parent_compositor_draw_constraints.h"
6 6
7 #include "android_webview/browser/child_frame.h"
8
7 namespace android_webview { 9 namespace android_webview {
8 10
9 ParentCompositorDrawConstraints::ParentCompositorDrawConstraints() 11 ParentCompositorDrawConstraints::ParentCompositorDrawConstraints()
10 : is_layer(false) { 12 : is_layer(false) {
11 } 13 }
12 14
13 ParentCompositorDrawConstraints::ParentCompositorDrawConstraints( 15 ParentCompositorDrawConstraints::ParentCompositorDrawConstraints(
14 bool is_layer, 16 bool is_layer,
15 const gfx::Transform& transform, 17 const gfx::Transform& transform,
16 const gfx::Rect& surface_rect) 18 const gfx::Rect& surface_rect)
17 : is_layer(is_layer), transform(transform), surface_rect(surface_rect) { 19 : is_layer(is_layer), transform(transform), surface_rect(surface_rect) {
18 } 20 }
19 21
20 bool ParentCompositorDrawConstraints::Equals( 22 bool ParentCompositorDrawConstraints::NeedUpdate(
21 const ParentCompositorDrawConstraints& other) const { 23 const ChildFrame& frame) const {
22 if (is_layer != other.is_layer || transform != other.transform) 24 if (is_layer != frame.is_layer ||
25 transform != frame.transform_for_tile_priority) {
26 return true;
27 }
28
29 // Viewport for tile priority does not depend on surface rect in this case.
30 if (frame.offscreen_pre_raster)
23 return false; 31 return false;
24 32
25 // Don't care about the surface size when neither is on a layer. 33 if (is_layer) {
26 return !is_layer || surface_rect == other.surface_rect; 34 return surface_rect != frame.viewport_rect_for_tile_priority;
35 } else {
36 // Workaround for corner case. See crbug.com/417479.
37 return frame.viewport_rect_for_tile_priority.IsEmpty() &&
38 !surface_rect.IsEmpty();
39 }
27 } 40 }
28 41
29 } // namespace webview 42 } // namespace webview
OLDNEW
« 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