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

Side by Side Diff: cc/layers/render_surface_impl.cc

Issue 14244021: cc: Remove incorrect dcheck for masks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
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/layers/render_surface_impl.h" 5 #include "cc/layers/render_surface_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 if (mask_layer && 243 if (mask_layer &&
244 (!mask_layer->DrawsContent() || mask_layer->bounds().IsEmpty())) 244 (!mask_layer->DrawsContent() || mask_layer->bounds().IsEmpty()))
245 mask_layer = NULL; 245 mask_layer = NULL;
246 } 246 }
247 247
248 gfx::RectF mask_uv_rect(0.f, 0.f, 1.f, 1.f); 248 gfx::RectF mask_uv_rect(0.f, 0.f, 1.f, 1.f);
249 if (mask_layer) { 249 if (mask_layer) {
250 gfx::Vector2dF owning_layer_draw_scale = 250 gfx::Vector2dF owning_layer_draw_scale =
251 MathUtil::ComputeTransform2dScaleComponents( 251 MathUtil::ComputeTransform2dScaleComponents(
252 owning_layer_->draw_transform(), 1.f); 252 owning_layer_->draw_transform(), 1.f);
253 gfx::SizeF unclipped_surface_size = gfx::ScaleSize( 253 gfx::SizeF unclipped_masked_layer_size = gfx::ScaleSize(
254 owning_layer_->content_bounds(), 254 owning_layer_->content_bounds(),
255 owning_layer_draw_scale.x(), 255 owning_layer_draw_scale.x(),
256 owning_layer_draw_scale.y()); 256 owning_layer_draw_scale.y());
257 // This assumes that the owning layer clips its subtree when a mask is
258 // present.
259 DCHECK(gfx::RectF(unclipped_surface_size).Contains(content_rect_));
260 257
261 float uv_scale_x = content_rect_.width() / unclipped_surface_size.width(); 258 float uv_scale_x =
262 float uv_scale_y = content_rect_.height() / unclipped_surface_size.height(); 259 content_rect_.width() / unclipped_masked_layer_size.width();
260 float uv_scale_y =
261 content_rect_.height() / unclipped_masked_layer_size.height();
263 262
264 mask_uv_rect = gfx::RectF( 263 mask_uv_rect = gfx::RectF(
265 uv_scale_x * content_rect_.x() / content_rect_.width(), 264 uv_scale_x * content_rect_.x() / content_rect_.width(),
266 uv_scale_y * content_rect_.y() / content_rect_.height(), 265 uv_scale_y * content_rect_.y() / content_rect_.height(),
267 uv_scale_x, 266 uv_scale_x,
268 uv_scale_y); 267 uv_scale_y);
269 } 268 }
270 269
271 ResourceProvider::ResourceId mask_resource_id = 270 ResourceProvider::ResourceId mask_resource_id =
272 mask_layer ? mask_layer->ContentsResourceId() : 0; 271 mask_layer ? mask_layer->ContentsResourceId() : 0;
273 gfx::Rect contents_changed_since_last_frame = 272 gfx::Rect contents_changed_since_last_frame =
274 ContentsChanged() ? content_rect_ : gfx::Rect(); 273 ContentsChanged() ? content_rect_ : gfx::Rect();
275 274
276 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); 275 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
277 quad->SetNew(shared_quad_state, 276 quad->SetNew(shared_quad_state,
278 content_rect_, 277 content_rect_,
279 render_pass_id, 278 render_pass_id,
280 for_replica, 279 for_replica,
281 mask_resource_id, 280 mask_resource_id,
282 contents_changed_since_last_frame, 281 contents_changed_since_last_frame,
283 mask_uv_rect, 282 mask_uv_rect,
284 owning_layer_->filters(), 283 owning_layer_->filters(),
285 owning_layer_->filter(), 284 owning_layer_->filter(),
286 owning_layer_->background_filters()); 285 owning_layer_->background_filters());
287 quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data); 286 quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data);
288 } 287 }
289 288
290 } // namespace cc 289 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | cc/trees/layer_tree_host_impl_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698