diff options
author | vmpstr <vmpstr@chromium.org> | 2015-06-08 15:24:16 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-08 22:24:52 +0000 |
commit | 91e2309abe88d9a333deaf4714d0c48f875ba472 (patch) | |
tree | 2a817bccb485234c783b20b09f82856b4c46d43f /cc/quads | |
parent | 4535e12f1c031668f137cae7513ad0ffb20bfc28 (diff) | |
download | chromium_src-91e2309abe88d9a333deaf4714d0c48f875ba472.zip chromium_src-91e2309abe88d9a333deaf4714d0c48f875ba472.tar.gz chromium_src-91e2309abe88d9a333deaf4714d0c48f875ba472.tar.bz2 |
Reland: cc: Fix size_t to int truncations in layers/ output/ playback/ quads/
This patch fixes size_t to int truncations in layers/, output/,
playback/, and quads/ directories in cc/.
R=danakj
BUG=167187
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel;tryserver.chromium.win:win_chromium_gn_x64_dbg
Committed: https://crrev.com/0d5963315aa03e6ebb20351f13d3d517ca14d816
Cr-Commit-Position: refs/heads/master@{#333153}
Review URL: https://codereview.chromium.org/1158433010
Cr-Commit-Position: refs/heads/master@{#333362}
Diffstat (limited to 'cc/quads')
-rw-r--r-- | cc/quads/render_pass.cc | 15 | ||||
-rw-r--r-- | cc/quads/render_pass.h | 2 | ||||
-rw-r--r-- | cc/quads/render_pass_draw_quad.cc | 5 | ||||
-rw-r--r-- | cc/quads/render_pass_id.cc | 3 | ||||
-rw-r--r-- | cc/quads/render_pass_id.h | 5 |
5 files changed, 13 insertions, 17 deletions
diff --git a/cc/quads/render_pass.cc b/cc/quads/render_pass.cc index 567145a..5c4d98a 100644 --- a/cc/quads/render_pass.cc +++ b/cc/quads/render_pass.cc @@ -6,6 +6,7 @@ #include <algorithm> +#include "base/numerics/safe_conversions.h" #include "base/trace_event/trace_event_argument.h" #include "base/values.h" #include "cc/base/math_util.h" @@ -52,8 +53,7 @@ scoped_ptr<RenderPass> RenderPass::Create(size_t shared_quad_state_list_size, } RenderPass::RenderPass() - : id(RenderPassId(-1, -1)), - has_transparent_background(true), + : has_transparent_background(true), quad_list(kDefaultNumQuadsToReserve), shared_quad_state_list(sizeof(SharedQuadState), kDefaultNumSharedQuadStatesToReserve) { @@ -62,16 +62,14 @@ RenderPass::RenderPass() // Each layer usually produces one shared quad state, so the number of layers // is a good hint for what to reserve here. RenderPass::RenderPass(size_t num_layers) - : id(RenderPassId(-1, -1)), - has_transparent_background(true), + : has_transparent_background(true), quad_list(kDefaultNumQuadsToReserve), shared_quad_state_list(sizeof(SharedQuadState), num_layers) { } RenderPass::RenderPass(size_t shared_quad_state_list_size, size_t quad_list_size) - : id(RenderPassId(-1, -1)), - has_transparent_background(true), + : has_transparent_background(true), quad_list(quad_list_size), shared_quad_state_list(sizeof(SharedQuadState), shared_quad_state_list_size) { @@ -148,7 +146,6 @@ void RenderPass::SetNew(RenderPassId id, const gfx::Rect& damage_rect, const gfx::Transform& transform_to_root_target) { DCHECK_GT(id.layer_id, 0); - DCHECK_GE(id.index, 0); DCHECK(damage_rect.IsEmpty() || output_rect.Contains(damage_rect)) << "damage_rect: " << damage_rect.ToString() << " output_rect: " << output_rect.ToString(); @@ -168,7 +165,6 @@ void RenderPass::SetAll(RenderPassId id, const gfx::Transform& transform_to_root_target, bool has_transparent_background) { DCHECK_GT(id.layer_id, 0); - DCHECK_GE(id.index, 0); this->id = id; this->output_rect = output_rect; @@ -185,7 +181,8 @@ void RenderPass::AsValueInto(base::trace_event::TracedValue* value) const { MathUtil::AddToTracedValue("damage_rect", damage_rect, value); value->SetBoolean("has_transparent_background", has_transparent_background); - value->SetInteger("copy_requests", copy_requests.size()); + value->SetInteger("copy_requests", + base::saturated_cast<int>(copy_requests.size())); value->BeginArray("shared_quad_state_list"); for (const auto& shared_quad_state : shared_quad_state_list) { diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h index 0f57fae..8c31d82 100644 --- a/cc/quads/render_pass.h +++ b/cc/quads/render_pass.h @@ -136,7 +136,7 @@ namespace BASE_HASH_NAMESPACE { template <> struct hash<cc::RenderPassId> { size_t operator()(cc::RenderPassId key) const { - return base::HashPair(key.layer_id, key.index); + return base::HashPair(key.layer_id, static_cast<int>(key.index)); } }; } // namespace BASE_HASH_NAMESPACE diff --git a/cc/quads/render_pass_draw_quad.cc b/cc/quads/render_pass_draw_quad.cc index fc2c333..1b03ec8 100644 --- a/cc/quads/render_pass_draw_quad.cc +++ b/cc/quads/render_pass_draw_quad.cc @@ -12,8 +12,7 @@ namespace cc { -RenderPassDrawQuad::RenderPassDrawQuad() - : render_pass_id(RenderPassId(-1, -1)) { +RenderPassDrawQuad::RenderPassDrawQuad() { } RenderPassDrawQuad::~RenderPassDrawQuad() { @@ -30,7 +29,6 @@ void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state, const gfx::Vector2dF& filters_scale, const FilterOperations& background_filters) { DCHECK_GT(render_pass_id.layer_id, 0); - DCHECK_GE(render_pass_id.index, 0); gfx::Rect opaque_rect; bool needs_blending = false; @@ -61,7 +59,6 @@ void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state, const gfx::Vector2dF& filters_scale, const FilterOperations& background_filters) { DCHECK_GT(render_pass_id.layer_id, 0); - DCHECK_GE(render_pass_id.index, 0); DrawQuad::SetAll(shared_quad_state, DrawQuad::RENDER_PASS, rect, opaque_rect, visible_rect, needs_blending); diff --git a/cc/quads/render_pass_id.cc b/cc/quads/render_pass_id.cc index a84582c..5fea6dc 100644 --- a/cc/quads/render_pass_id.cc +++ b/cc/quads/render_pass_id.cc @@ -9,7 +9,8 @@ namespace cc { void* RenderPassId::AsTracingId() const { static_assert(sizeof(size_t) <= sizeof(void*), // NOLINT "size of size_t should not be greater than that of a pointer"); - return reinterpret_cast<void*>(base::HashPair(layer_id, index)); + return reinterpret_cast<void*>( + base::HashPair(layer_id, static_cast<int>(index))); } } // namespace cc diff --git a/cc/quads/render_pass_id.h b/cc/quads/render_pass_id.h index 0554130..ebf6387 100644 --- a/cc/quads/render_pass_id.h +++ b/cc/quads/render_pass_id.h @@ -14,9 +14,10 @@ namespace cc { class CC_EXPORT RenderPassId { public: int layer_id; - int index; + size_t index; - RenderPassId(int layer_id, int index) : layer_id(layer_id), index(index) {} + RenderPassId() : layer_id(-1), index(0) {} + RenderPassId(int layer_id, size_t index) : layer_id(layer_id), index(index) {} void* AsTracingId() const; bool operator==(const RenderPassId& other) const { |