summaryrefslogtreecommitdiffstats
path: root/cc/quads
diff options
context:
space:
mode:
authorvmpstr <vmpstr@chromium.org>2015-06-08 15:24:16 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-08 22:24:52 +0000
commit91e2309abe88d9a333deaf4714d0c48f875ba472 (patch)
tree2a817bccb485234c783b20b09f82856b4c46d43f /cc/quads
parent4535e12f1c031668f137cae7513ad0ffb20bfc28 (diff)
downloadchromium_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.cc15
-rw-r--r--cc/quads/render_pass.h2
-rw-r--r--cc/quads/render_pass_draw_quad.cc5
-rw-r--r--cc/quads/render_pass_id.cc3
-rw-r--r--cc/quads/render_pass_id.h5
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 {