diff options
author | davidben <davidben@chromium.org> | 2016-01-20 17:40:42 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-21 01:41:32 +0000 |
commit | 021a2b496a7eb7222c0c7f4d8cd01d697c3f2dda (patch) | |
tree | d1af96a93a7e2f4defa4c680bc50a3170f06561a /cc/surfaces | |
parent | 38b5efd43f39caec997e343801e3ae712d4c67ad (diff) | |
download | chromium_src-021a2b496a7eb7222c0c7f4d8cd01d697c3f2dda.zip chromium_src-021a2b496a7eb7222c0c7f4d8cd01d697c3f2dda.tar.gz chromium_src-021a2b496a7eb7222c0c7f4d8cd01d697c3f2dda.tar.bz2 |
Revert of Allow std::unordered_*. (patchset #15 id:280001 of https://codereview.chromium.org/1502373009/ )
Reason for revert:
MSan build failure.
https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Linux%20ChromeOS%20MSan%20Builder/builds/12498
Original issue's description:
> Allow std::unordered_*.
>
> base::hash_* is, as a transition step, implemented in terms of
> std::unordered_*. Later commits will convert existing uses.
>
> Also fix a host of IWYU problems that arose from this CL.
>
> (NOPRESUBMIT because the wstring presubmit check is overzealous
> and complains about the reference to wstring in the comment.)
>
> NOPRESUBMIT=true
> BUG=576864
> TBR=derat@chromium.org,blundell@chromium.org,jbauman@chromium.org,dalecurtis@chromium.org
> CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/3f37f7f1459e7b5a452c0e433493e0a6e9649ca7
> Cr-Commit-Position: refs/heads/master@{#370553}
TBR=danakj@chromium.org,thakis@chromium.org,derat@chromium.org,blundell@chromium.org,dalecurtis@chromium.org,jbauman@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=576864
Review URL: https://codereview.chromium.org/1610023003
Cr-Commit-Position: refs/heads/master@{#370559}
Diffstat (limited to 'cc/surfaces')
-rw-r--r-- | cc/surfaces/surface_aggregator.cc | 9 | ||||
-rw-r--r-- | cc/surfaces/surface_sequence.h | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc index d60a217..9901d00 100644 --- a/cc/surfaces/surface_aggregator.cc +++ b/cc/surfaces/surface_aggregator.cc @@ -526,7 +526,16 @@ gfx::Rect SurfaceAggregator::PrewalkTree(SurfaceId surface_id, ResourceProvider::ResourceIdSet referenced_resources; size_t reserve_size = frame_data->resource_list.size(); +#if defined(COMPILER_MSVC) referenced_resources.reserve(reserve_size); +#elif defined(COMPILER_GCC) + // Pre-standard hash-tables only implement resize, which behaves similarly + // to reserve for these keys. Resizing to 0 may also be broken (particularly + // on stlport). + // TODO(jbauman): Replace with reserve when C++11 is supported everywhere. + if (reserve_size) + referenced_resources.resize(reserve_size); +#endif bool invalid_frame = false; ResourceProvider::ResourceIdMap empty_map; diff --git a/cc/surfaces/surface_sequence.h b/cc/surfaces/surface_sequence.h index b4ab8ef..21decf6 100644 --- a/cc/surfaces/surface_sequence.h +++ b/cc/surfaces/surface_sequence.h @@ -11,7 +11,6 @@ #include <tuple> #include "base/containers/hash_tables.h" -#include "base/hash.h" namespace cc { @@ -47,7 +46,7 @@ namespace BASE_HASH_NAMESPACE { template <> struct hash<cc::SurfaceSequence> { size_t operator()(cc::SurfaceSequence key) const { - return base::HashInts(key.id_namespace, key.sequence); + return base::HashPair(key.id_namespace, key.sequence); } }; } // namespace BASE_HASH_NAMESPACE |