diff options
author | davidben <davidben@chromium.org> | 2016-01-27 16:29:51 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-28 00:35:15 +0000 |
commit | 5877ffe39d049730251b7f49f890c820e26643fa (patch) | |
tree | 85afd4d3b8c30b36e911027329262a44a8ea9bc2 /cc/output | |
parent | a4861dc20689e685d8d91c436c9b0a02fc248b4e (diff) | |
download | chromium_src-5877ffe39d049730251b7f49f890c820e26643fa.zip chromium_src-5877ffe39d049730251b7f49f890c820e26643fa.tar.gz chromium_src-5877ffe39d049730251b7f49f890c820e26643fa.tar.bz2 |
Switch cc to std::unordered_*.
This removes all uses of base::hash_*, BASE_HASH_NAMESPACE, and
base::ScopedPtrHashMap in favor of the C++11 versions.
BUG=576864, 579229
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1587283002
Cr-Commit-Position: refs/heads/master@{#371937}
Diffstat (limited to 'cc/output')
-rw-r--r-- | cc/output/direct_renderer.cc | 23 | ||||
-rw-r--r-- | cc/output/direct_renderer.h | 6 | ||||
-rw-r--r-- | cc/output/gl_renderer.cc | 2 | ||||
-rw-r--r-- | cc/output/software_renderer.cc | 2 |
4 files changed, 16 insertions, 17 deletions
diff --git a/cc/output/direct_renderer.cc b/cc/output/direct_renderer.cc index 55a4770..b075a3d 100644 --- a/cc/output/direct_renderer.cc +++ b/cc/output/direct_renderer.cc @@ -6,11 +6,10 @@ #include <stddef.h> +#include <unordered_map> #include <utility> #include <vector> -#include "base/containers/hash_tables.h" -#include "base/containers/scoped_ptr_hash_map.h" #include "base/metrics/histogram.h" #include "base/numerics/safe_conversions.h" #include "base/trace_event/trace_event.h" @@ -149,7 +148,8 @@ void DirectRenderer::SetEnlargePassTextureAmountForTesting( void DirectRenderer::DecideRenderPassAllocationsForFrame( const RenderPassList& render_passes_in_draw_order) { - base::hash_map<RenderPassId, gfx::Size> render_passes_in_frame; + std::unordered_map<RenderPassId, gfx::Size, RenderPassIdHash> + render_passes_in_frame; for (size_t i = 0; i < render_passes_in_draw_order.size(); ++i) render_passes_in_frame.insert(std::pair<RenderPassId, gfx::Size>( render_passes_in_draw_order[i]->id, @@ -158,15 +158,14 @@ void DirectRenderer::DecideRenderPassAllocationsForFrame( std::vector<RenderPassId> passes_to_delete; for (auto pass_iter = render_pass_textures_.begin(); pass_iter != render_pass_textures_.end(); ++pass_iter) { - base::hash_map<RenderPassId, gfx::Size>::const_iterator it = - render_passes_in_frame.find(pass_iter->first); + auto it = render_passes_in_frame.find(pass_iter->first); if (it == render_passes_in_frame.end()) { passes_to_delete.push_back(pass_iter->first); continue; } gfx::Size required_size = it->second; - ScopedResource* texture = pass_iter->second; + ScopedResource* texture = pass_iter->second.get(); DCHECK(texture); bool size_appropriate = texture->size().width() >= required_size.width() && @@ -181,11 +180,11 @@ void DirectRenderer::DecideRenderPassAllocationsForFrame( render_pass_textures_.erase(passes_to_delete[i]); for (size_t i = 0; i < render_passes_in_draw_order.size(); ++i) { - if (!render_pass_textures_.contains(render_passes_in_draw_order[i]->id)) { + if (render_pass_textures_.count(render_passes_in_draw_order[i]->id) == 0) { scoped_ptr<ScopedResource> texture = ScopedResource::Create(resource_provider_); - render_pass_textures_.set(render_passes_in_draw_order[i]->id, - std::move(texture)); + render_pass_textures_[render_passes_in_draw_order[i]->id] = + std::move(texture); } } } @@ -534,7 +533,7 @@ bool DirectRenderer::UseRenderPass(DrawingFrame* frame, return true; } - ScopedResource* texture = render_pass_textures_.get(render_pass->id); + ScopedResource* texture = render_pass_textures_[render_pass->id].get(); DCHECK(texture); gfx::Size size = RenderPassTextureSize(render_pass); @@ -558,8 +557,8 @@ bool DirectRenderer::UseRenderPass(DrawingFrame* frame, } bool DirectRenderer::HasAllocatedResourcesForTesting(RenderPassId id) const { - ScopedResource* texture = render_pass_textures_.get(id); - return texture && texture->id(); + auto iter = render_pass_textures_.find(id); + return iter != render_pass_textures_.end() && iter->second->id(); } // static diff --git a/cc/output/direct_renderer.h b/cc/output/direct_renderer.h index 2f6736f..0d032f1 100644 --- a/cc/output/direct_renderer.h +++ b/cc/output/direct_renderer.h @@ -5,8 +5,9 @@ #ifndef CC_OUTPUT_DIRECT_RENDERER_H_ #define CC_OUTPUT_DIRECT_RENDERER_H_ +#include <unordered_map> + #include "base/callback.h" -#include "base/containers/scoped_ptr_hash_map.h" #include "base/macros.h" #include "cc/base/cc_export.h" #include "cc/output/ca_layer_overlay.h" @@ -18,7 +19,6 @@ #include "ui/gfx/geometry/quad_f.h" namespace cc { - class DrawPolygon; class ResourceProvider; @@ -141,7 +141,7 @@ class CC_EXPORT DirectRenderer : public Renderer { scoped_ptr<CopyOutputRequest> request) = 0; // TODO(danakj): Just use a vector of pairs here? Hash map is way overkill. - base::ScopedPtrHashMap<RenderPassId, scoped_ptr<ScopedResource>> + std::unordered_map<RenderPassId, scoped_ptr<ScopedResource>, RenderPassIdHash> render_pass_textures_; OutputSurface* output_surface_; ResourceProvider* resource_provider_; diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc index 77b09c4..ba75b23 100644 --- a/cc/output/gl_renderer.cc +++ b/cc/output/gl_renderer.cc @@ -866,7 +866,7 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame, const RenderPassDrawQuad* quad, const gfx::QuadF* clip_region) { ScopedResource* contents_texture = - render_pass_textures_.get(quad->render_pass_id); + render_pass_textures_[quad->render_pass_id].get(); DCHECK(contents_texture); DCHECK(contents_texture->id()); diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc index f08aa08..8e23961 100644 --- a/cc/output/software_renderer.cc +++ b/cc/output/software_renderer.cc @@ -468,7 +468,7 @@ void SoftwareRenderer::DrawTileQuad(const DrawingFrame* frame, void SoftwareRenderer::DrawRenderPassQuad(const DrawingFrame* frame, const RenderPassDrawQuad* quad) { ScopedResource* content_texture = - render_pass_textures_.get(quad->render_pass_id); + render_pass_textures_[quad->render_pass_id].get(); DCHECK(content_texture); DCHECK(content_texture->id()); DCHECK(IsSoftwareResource(content_texture->id())); |