summaryrefslogtreecommitdiffstats
path: root/cc/surfaces
diff options
context:
space:
mode:
authordavidben <davidben@chromium.org>2016-01-20 17:40:42 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-21 01:41:32 +0000
commit021a2b496a7eb7222c0c7f4d8cd01d697c3f2dda (patch)
treed1af96a93a7e2f4defa4c680bc50a3170f06561a /cc/surfaces
parent38b5efd43f39caec997e343801e3ae712d4c67ad (diff)
downloadchromium_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.cc9
-rw-r--r--cc/surfaces/surface_sequence.h3
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