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

Unified Diff: cc/layers/video_layer_impl.cc

Issue 1062043003: cc: Add ResourceId validation checks at the time of AppendQuads. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: resource-validate: fixtests Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/ui_resource_layer_impl_unittest.cc ('k') | cc/resources/resource_provider.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/video_layer_impl.cc
diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc
index 2bbf1a247ab7a9fbc63cb63cd553ad61c49befd0..3ca097820faffb2504f690d19fdc9c42b5a87b54 100644
--- a/cc/layers/video_layer_impl.cc
+++ b/cc/layers/video_layer_impl.cc
@@ -201,6 +201,9 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
bool flipped = false;
bool nearest_neighbor = false;
+ // TODO(danakj): crbug.com/455931
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ software_resources_[0]);
TextureDrawQuad* texture_quad =
render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
texture_quad->SetNew(shared_quad_state,
@@ -240,6 +243,17 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
frame_->format(), media::VideoFrame::kAPlane, coded_size));
}
+ // TODO(danakj): crbug.com/455931
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[0]);
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[1]);
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[2]);
+ if (frame_resources_.size() > 3) {
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[3]);
+ }
gfx::RectF tex_coord_rect(
tex_x_offset, tex_y_offset, tex_width_scale, tex_height_scale);
YUVVideoDrawQuad* yuv_video_quad =
@@ -261,6 +275,9 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
bool flipped = false;
bool nearest_neighbor = false;
+ // TODO(danakj): crbug.com/455931
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[0]);
TextureDrawQuad* texture_quad =
render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
texture_quad->SetNew(shared_quad_state,
@@ -281,6 +298,9 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
DCHECK_EQ(frame_resources_.size(), 1u);
if (frame_resources_.size() < 1u)
break;
+ // TODO(danakj): crbug.com/455931
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[0]);
gfx::Transform scale;
scale.Scale(tex_width_scale, tex_height_scale);
StreamVideoDrawQuad* stream_video_quad =
@@ -295,6 +315,9 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
DCHECK_EQ(frame_resources_.size(), 1u);
if (frame_resources_.size() < 1u)
break;
+ // TODO(danakj): crbug.com/455931
+ layer_tree_impl()->resource_provider()->ValidateResource(
+ frame_resources_[0]);
IOSurfaceDrawQuad* io_surface_quad =
render_pass->CreateAndAppendDrawQuad<IOSurfaceDrawQuad>();
io_surface_quad->SetNew(shared_quad_state,
« no previous file with comments | « cc/layers/ui_resource_layer_impl_unittest.cc ('k') | cc/resources/resource_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698