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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 "cc/trees/layer_tree_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 } 1338 }
1339 1339
1340 if (needs_commit) 1340 if (needs_commit)
1341 client_->SetNeedsCommitOnImplThread(); 1341 client_->SetNeedsCommitOnImplThread();
1342 } 1342 }
1343 1343
1344 void LayerTreeHostImpl::SetExternalDrawConstraints( 1344 void LayerTreeHostImpl::SetExternalDrawConstraints(
1345 const gfx::Transform& transform, 1345 const gfx::Transform& transform,
1346 const gfx::Rect& viewport, 1346 const gfx::Rect& viewport,
1347 const gfx::Rect& clip, 1347 const gfx::Rect& clip,
1348 const gfx::Rect& external_tiling_rect,
1349 const gfx::Transform& external_tiling_transform,
1348 bool resourceless_software_draw) { 1350 bool resourceless_software_draw) {
1349 if (external_transform_ != transform || external_viewport_ != viewport || 1351 if (external_transform_ != transform || external_viewport_ != viewport ||
1350 resourceless_software_draw_ != resourceless_software_draw) { 1352 resourceless_software_draw_ != resourceless_software_draw ||
1353 external_tiling_rect_ != external_tiling_rect ||
1354 external_tiling_transform_ != external_tiling_transform) {
1351 active_tree_->set_needs_update_draw_properties(); 1355 active_tree_->set_needs_update_draw_properties();
1352 } 1356 }
1353 1357
1354 external_transform_ = transform; 1358 external_transform_ = transform;
1355 external_viewport_ = viewport; 1359 external_viewport_ = viewport;
1356 external_clip_ = clip; 1360 external_clip_ = clip;
1357 resourceless_software_draw_ = resourceless_software_draw; 1361 resourceless_software_draw_ = resourceless_software_draw;
1362
1363 if (!resourceless_software_draw_) {
1364 external_tiling_rect_ = external_tiling_rect;
1365 external_tiling_transform_ = external_tiling_transform;
1366 }
1358 } 1367 }
1359 1368
1360 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { 1369 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
1361 if (damage_rect.IsEmpty()) 1370 if (damage_rect.IsEmpty())
1362 return; 1371 return;
1363 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); 1372 NotifySwapPromiseMonitorsOfSetNeedsRedraw();
1364 client_->SetNeedsRedrawRectOnImplThread(damage_rect); 1373 client_->SetNeedsRedrawRectOnImplThread(damage_rect);
1365 } 1374 }
1366 1375
1367 void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) { 1376 void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) {
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
2159 device_scale_factor_ = device_scale_factor; 2168 device_scale_factor_ = device_scale_factor;
2160 2169
2161 UpdateInnerViewportContainerSize(); 2170 UpdateInnerViewportContainerSize();
2162 SetFullRootLayerDamage(); 2171 SetFullRootLayerDamage();
2163 } 2172 }
2164 2173
2165 gfx::Size LayerTreeHostImpl::DrawViewportSize() const { 2174 gfx::Size LayerTreeHostImpl::DrawViewportSize() const {
2166 return DeviceViewport().size(); 2175 return DeviceViewport().size();
2167 } 2176 }
2168 2177
2178 gfx::Rect LayerTreeHostImpl::ExternalTilingRect() const {
2179 if (external_tiling_rect_.IsEmpty())
2180 return gfx::Rect(DrawViewportSize());
2181
2182 return external_tiling_rect_;
2183 }
2184
2185 const gfx::Transform& LayerTreeHostImpl::ExternalTilingTransform() const {
2186 return external_tiling_transform_;
2187 }
2188
2169 gfx::Rect LayerTreeHostImpl::DeviceViewport() const { 2189 gfx::Rect LayerTreeHostImpl::DeviceViewport() const {
2170 if (external_viewport_.IsEmpty()) 2190 if (external_viewport_.IsEmpty())
2171 return gfx::Rect(device_viewport_size_); 2191 return gfx::Rect(device_viewport_size_);
2172 2192
2173 return external_viewport_; 2193 return external_viewport_;
2174 } 2194 }
2175 2195
2176 gfx::Rect LayerTreeHostImpl::DeviceClip() const { 2196 gfx::Rect LayerTreeHostImpl::DeviceClip() const {
2177 if (external_clip_.IsEmpty()) 2197 if (external_clip_.IsEmpty())
2178 return DeviceViewport(); 2198 return DeviceViewport();
(...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after
3265 } 3285 }
3266 3286
3267 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3287 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3268 std::vector<PictureLayerImpl*>::iterator it = 3288 std::vector<PictureLayerImpl*>::iterator it =
3269 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3289 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3270 DCHECK(it != picture_layers_.end()); 3290 DCHECK(it != picture_layers_.end());
3271 picture_layers_.erase(it); 3291 picture_layers_.erase(it);
3272 } 3292 }
3273 3293
3274 } // namespace cc 3294 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698