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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 394113002: Tiling priorities in Android Webview. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 94b8bfa1cfac7e9daaa5cef94a4e41954d7a8880..38683c29bbe1c0408ce30ebe86e4300a20cbbbc0 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1345,9 +1345,13 @@ void LayerTreeHostImpl::SetExternalDrawConstraints(
const gfx::Transform& transform,
const gfx::Rect& viewport,
const gfx::Rect& clip,
+ const gfx::Rect& external_tiling_rect,
+ const gfx::Transform& external_tiling_transform,
bool resourceless_software_draw) {
if (external_transform_ != transform || external_viewport_ != viewport ||
- resourceless_software_draw_ != resourceless_software_draw) {
+ resourceless_software_draw_ != resourceless_software_draw ||
+ external_tiling_rect_ != external_tiling_rect ||
+ external_tiling_transform_ != external_tiling_transform) {
active_tree_->set_needs_update_draw_properties();
}
@@ -1355,6 +1359,11 @@ void LayerTreeHostImpl::SetExternalDrawConstraints(
external_viewport_ = viewport;
external_clip_ = clip;
resourceless_software_draw_ = resourceless_software_draw;
+
+ if (!resourceless_software_draw_) {
+ external_tiling_rect_ = external_tiling_rect;
+ external_tiling_transform_ = external_tiling_transform;
+ }
}
void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
@@ -2166,6 +2175,17 @@ gfx::Size LayerTreeHostImpl::DrawViewportSize() const {
return DeviceViewport().size();
}
+gfx::Rect LayerTreeHostImpl::ExternalTilingRect() const {
+ if (external_tiling_rect_.IsEmpty())
+ return gfx::Rect(DrawViewportSize());
+
+ return external_tiling_rect_;
+}
+
+const gfx::Transform& LayerTreeHostImpl::ExternalTilingTransform() const {
+ return external_tiling_transform_;
+}
+
gfx::Rect LayerTreeHostImpl::DeviceViewport() const {
if (external_viewport_.IsEmpty())
return gfx::Rect(device_viewport_size_);

Powered by Google App Engine
This is Rietveld 408576698