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

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: Address comments 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) {
1351 active_tree_->set_needs_update_draw_properties(); 1353 active_tree_->set_needs_update_draw_properties();
1352 } 1354 }
1353 1355
1354 external_transform_ = transform; 1356 external_transform_ = transform;
1355 external_viewport_ = viewport; 1357 external_viewport_ = viewport;
1356 external_clip_ = clip; 1358 external_clip_ = clip;
1357 resourceless_software_draw_ = resourceless_software_draw; 1359 resourceless_software_draw_ = resourceless_software_draw;
1360
1361 if (!resourceless_software_draw_) {
1362 external_tiling_rect_ = external_tiling_rect;
1363 external_tiling_transform_ = external_tiling_transform;
1364 }
1358 } 1365 }
1359 1366
1360 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { 1367 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) {
1361 if (damage_rect.IsEmpty()) 1368 if (damage_rect.IsEmpty())
1362 return; 1369 return;
1363 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); 1370 NotifySwapPromiseMonitorsOfSetNeedsRedraw();
1364 client_->SetNeedsRedrawRectOnImplThread(damage_rect); 1371 client_->SetNeedsRedrawRectOnImplThread(damage_rect);
1365 } 1372 }
1366 1373
1367 void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) { 1374 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; 2166 device_scale_factor_ = device_scale_factor;
2160 2167
2161 UpdateInnerViewportContainerSize(); 2168 UpdateInnerViewportContainerSize();
2162 SetFullRootLayerDamage(); 2169 SetFullRootLayerDamage();
2163 } 2170 }
2164 2171
2165 gfx::Size LayerTreeHostImpl::DrawViewportSize() const { 2172 gfx::Size LayerTreeHostImpl::DrawViewportSize() const {
2166 return DeviceViewport().size(); 2173 return DeviceViewport().size();
2167 } 2174 }
2168 2175
2176 gfx::Rect LayerTreeHostImpl::ExternalTilingRect() const {
2177 gfx::Rect empty;
2178 if (empty == external_tiling_rect_)
2179 return gfx::Rect(DrawViewportSize());
2180
2181 return external_tiling_rect_;
2182 }
2183
2184 const gfx::Transform& LayerTreeHostImpl::ExternalTilingTransform() const {
2185 return external_tiling_transform_;
2186 }
2187
2169 gfx::Rect LayerTreeHostImpl::DeviceViewport() const { 2188 gfx::Rect LayerTreeHostImpl::DeviceViewport() const {
2170 if (external_viewport_.IsEmpty()) 2189 if (external_viewport_.IsEmpty())
2171 return gfx::Rect(device_viewport_size_); 2190 return gfx::Rect(device_viewport_size_);
2172 2191
2173 return external_viewport_; 2192 return external_viewport_;
2174 } 2193 }
2175 2194
2176 gfx::Rect LayerTreeHostImpl::DeviceClip() const { 2195 gfx::Rect LayerTreeHostImpl::DeviceClip() const {
2177 if (external_clip_.IsEmpty()) 2196 if (external_clip_.IsEmpty())
2178 return DeviceViewport(); 2197 return DeviceViewport();
(...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after
3265 } 3284 }
3266 3285
3267 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { 3286 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) {
3268 std::vector<PictureLayerImpl*>::iterator it = 3287 std::vector<PictureLayerImpl*>::iterator it =
3269 std::find(picture_layers_.begin(), picture_layers_.end(), layer); 3288 std::find(picture_layers_.begin(), picture_layers_.end(), layer);
3270 DCHECK(it != picture_layers_.end()); 3289 DCHECK(it != picture_layers_.end());
3271 picture_layers_.erase(it); 3290 picture_layers_.erase(it);
3272 } 3291 }
3273 3292
3274 } // namespace cc 3293 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698