diff options
author | Tom Sepez <tsepez@chromium.org> | 2017-04-26 10:55:54 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-04-26 20:07:23 +0000 |
commit | e47e0c96009b8633294eebbb9eb0e84caf525c57 (patch) | |
tree | 093c0edb121e54c22e40a704ce473eb48491ccfc | |
parent | 2e2a4fcd43677c5882dcf00cb4b99635cb2cfcd3 (diff) | |
download | pdfium-chromium/3082.tar.xz |
Avoid unordered_set and maps for the time being.chromium/3082
See discussion at
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/rdxOHKzQmRY
Change-Id: I1803ae97c39b592001835814e2f6674b2c7cb3ea
Reviewed-on: https://pdfium-review.googlesource.com/4531
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
-rw-r--r-- | core/fpdfapi/page/cpdf_streamcontentparser.h | 5 | ||||
-rw-r--r-- | core/fpdfdoc/cpdf_occontext.h | 4 | ||||
-rw-r--r-- | fpdfsdk/javascript/app.h | 4 | ||||
-rw-r--r-- | samples/image_diff.cc | 7 | ||||
-rw-r--r-- | xfa/fde/css/cfde_cssstylesheet.h | 4 | ||||
-rw-r--r-- | xfa/fwl/cfwl_notedriver.h | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_document.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_document.h | 4 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 19 |
9 files changed, 24 insertions, 30 deletions
diff --git a/core/fpdfapi/page/cpdf_streamcontentparser.h b/core/fpdfapi/page/cpdf_streamcontentparser.h index 4440aabb43..50eb0eb63a 100644 --- a/core/fpdfapi/page/cpdf_streamcontentparser.h +++ b/core/fpdfapi/page/cpdf_streamcontentparser.h @@ -7,8 +7,8 @@ #ifndef CORE_FPDFAPI_PAGE_CPDF_STREAMCONTENTPARSER_H_ #define CORE_FPDFAPI_PAGE_CPDF_STREAMCONTENTPARSER_H_ +#include <map> #include <memory> -#include <unordered_map> #include <vector> #include "core/fpdfapi/page/cpdf_contentmark.h" @@ -73,8 +73,7 @@ class CPDF_StreamContentParser { static const int kParamBufSize = 16; - using OpCodes = - std::unordered_map<uint32_t, void (CPDF_StreamContentParser::*)()>; + using OpCodes = std::map<uint32_t, void (CPDF_StreamContentParser::*)()>; static OpCodes InitializeOpCodes(); void AddNameParam(const CFX_ByteStringC& str); diff --git a/core/fpdfdoc/cpdf_occontext.h b/core/fpdfdoc/cpdf_occontext.h index ecdcfae31b..753aa5c176 100644 --- a/core/fpdfdoc/cpdf_occontext.h +++ b/core/fpdfdoc/cpdf_occontext.h @@ -7,7 +7,7 @@ #ifndef CORE_FPDFDOC_CPDF_OCCONTEXT_H_ #define CORE_FPDFDOC_CPDF_OCCONTEXT_H_ -#include <unordered_map> +#include <map> #include "core/fxcrt/cfx_retain_ptr.h" #include "core/fxcrt/fx_string.h" @@ -40,7 +40,7 @@ class CPDF_OCContext : public CFX_Retainable { CPDF_Document* const m_pDocument; const UsageType m_eUsageType; - std::unordered_map<const CPDF_Dictionary*, bool> m_OCGStates; + std::map<const CPDF_Dictionary*, bool> m_OCGStates; }; #endif // CORE_FPDFDOC_CPDF_OCCONTEXT_H_ diff --git a/fpdfsdk/javascript/app.h b/fpdfsdk/javascript/app.h index 9e11b82419..0a2cfdb58e 100644 --- a/fpdfsdk/javascript/app.h +++ b/fpdfsdk/javascript/app.h @@ -8,7 +8,7 @@ #define FPDFSDK_JAVASCRIPT_APP_H_ #include <memory> -#include <unordered_set> +#include <set> #include <vector> #include "fpdfsdk/javascript/JS_Define.h" @@ -172,7 +172,7 @@ class app : public CJS_EmbedObj { bool m_bCalculate; bool m_bRuntimeHighLight; - std::unordered_set<std::unique_ptr<GlobalTimer>> m_Timers; + std::set<std::unique_ptr<GlobalTimer>> m_Timers; }; class CJS_App : public CJS_Object { diff --git a/samples/image_diff.cc b/samples/image_diff.cc index 3aa626be65..70c74c951c 100644 --- a/samples/image_diff.cc +++ b/samples/image_diff.cc @@ -166,9 +166,6 @@ float PercentageDifferent(const Image& baseline, const Image& actual) { return CalculateDifferencePercentage(actual, pixels_different); } -// FIXME: Replace with unordered_map when available. -typedef std::map<uint32_t, int32_t> RgbaToCountMap; - float HistogramPercentageDifferent(const Image& baseline, const Image& actual) { // TODO(johnme): Consider using a joint histogram instead, as described in // "Comparing Images Using Joint Histograms" by Pass & Zabih @@ -178,7 +175,7 @@ float HistogramPercentageDifferent(const Image& baseline, const Image& actual) { int h = std::min(baseline.h(), actual.h()); // Count occurences of each RGBA pixel value of baseline in the overlap. - RgbaToCountMap baseline_histogram; + std::map<uint32_t, int32_t> baseline_histogram; for (int y = 0; y < h; ++y) { for (int x = 0; x < w; ++x) { // hash_map operator[] inserts a 0 (default constructor) if key not found. @@ -191,7 +188,7 @@ float HistogramPercentageDifferent(const Image& baseline, const Image& actual) { for (int y = 0; y < h; ++y) { for (int x = 0; x < w; ++x) { uint32_t actual_rgba = actual.pixel_at(x, y); - RgbaToCountMap::iterator it = baseline_histogram.find(actual_rgba); + auto it = baseline_histogram.find(actual_rgba); if (it != baseline_histogram.end() && it->second > 0) --it->second; else diff --git a/xfa/fde/css/cfde_cssstylesheet.h b/xfa/fde/css/cfde_cssstylesheet.h index fa73460634..24bebddcbf 100644 --- a/xfa/fde/css/cfde_cssstylesheet.h +++ b/xfa/fde/css/cfde_cssstylesheet.h @@ -7,8 +7,8 @@ #ifndef XFA_FDE_CSS_CFDE_CSSSTYLESHEET_H_ #define XFA_FDE_CSS_CFDE_CSSSTYLESHEET_H_ +#include <map> #include <memory> -#include <unordered_map> #include <vector> #include "core/fxcrt/fx_string.h" @@ -34,7 +34,7 @@ class CFDE_CSSStyleSheet { void SkipRuleSet(CFDE_CSSSyntaxParser* pSyntax); std::vector<std::unique_ptr<CFDE_CSSStyleRule>> m_RuleArray; - std::unordered_map<uint32_t, wchar_t*> m_StringCache; + std::map<uint32_t, wchar_t*> m_StringCache; }; #endif // XFA_FDE_CSS_CFDE_CSSSTYLESHEET_H_ diff --git a/xfa/fwl/cfwl_notedriver.h b/xfa/fwl/cfwl_notedriver.h index 2ea3f97cc0..b55e701c40 100644 --- a/xfa/fwl/cfwl_notedriver.h +++ b/xfa/fwl/cfwl_notedriver.h @@ -8,8 +8,8 @@ #define XFA_FWL_CFWL_NOTEDRIVER_H_ #include <deque> +#include <map> #include <memory> -#include <unordered_map> #include <vector> #include "xfa/fwl/cfwl_event.h" @@ -69,8 +69,7 @@ class CFWL_NoteDriver { std::vector<CFWL_Widget*> m_Forms; std::deque<std::unique_ptr<CFWL_Message>> m_NoteQueue; std::vector<CFWL_NoteLoop*> m_NoteLoopQueue; - std::unordered_map<uint32_t, std::unique_ptr<CFWL_EventTarget>> - m_eventTargets; + std::map<uint32_t, std::unique_ptr<CFWL_EventTarget>> m_eventTargets; CFWL_Widget* m_pHover; CFWL_Widget* m_pFocus; CFWL_Widget* m_pGrab; diff --git a/xfa/fxfa/parser/cxfa_document.cpp b/xfa/fxfa/parser/cxfa_document.cpp index 4b0a398ae2..a1180e7b8e 100644 --- a/xfa/fxfa/parser/cxfa_document.cpp +++ b/xfa/fxfa/parser/cxfa_document.cpp @@ -345,7 +345,7 @@ void CXFA_Document::DoProtoMerge() { return; std::map<uint32_t, CXFA_Node*> mIDMap; - std::unordered_set<CXFA_Node*> sUseNodes; + std::set<CXFA_Node*> sUseNodes; CXFA_NodeIterator sIterator(pTemplateRoot); for (CXFA_Node* pNode = sIterator.GetCurrent(); pNode; pNode = sIterator.MoveToNext()) { diff --git a/xfa/fxfa/parser/cxfa_document.h b/xfa/fxfa/parser/cxfa_document.h index 03586b6591..8491febdbf 100644 --- a/xfa/fxfa/parser/cxfa_document.h +++ b/xfa/fxfa/parser/cxfa_document.h @@ -9,7 +9,7 @@ #include <map> #include <memory> -#include <unordered_set> +#include <set> #include <vector> #include "xfa/fxfa/fxfa.h" @@ -120,7 +120,7 @@ class CXFA_Document { std::unique_ptr<CScript_LogPseudoModel> m_pScriptLog; std::unique_ptr<CScript_LayoutPseudoModel> m_pScriptLayout; std::unique_ptr<CScript_SignaturePseudoModel> m_pScriptSignature; - std::unordered_set<CXFA_Node*> m_PurgeNodes; + std::set<CXFA_Node*> m_PurgeNodes; XFA_VERSION m_eCurVersionMode; uint32_t m_dwDocFlags; }; diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 73fc88db8f..9fae4a43aa 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -8,7 +8,7 @@ #include <map> #include <memory> -#include <unordered_set> +#include <set> #include <utility> #include <vector> @@ -90,7 +90,7 @@ int32_t GetCount(CXFA_Node* pInstMgrNode) { } std::vector<CXFA_Node*> NodesSortedByDocumentIdx( - const std::unordered_set<CXFA_Node*>& rgNodeSet) { + const std::set<CXFA_Node*>& rgNodeSet) { if (rgNodeSet.empty()) return std::vector<CXFA_Node*>(); @@ -105,8 +105,7 @@ std::vector<CXFA_Node*> NodesSortedByDocumentIdx( return rgNodeArray; } -using CXFA_NodeSetPair = - std::pair<std::unordered_set<CXFA_Node*>, std::unordered_set<CXFA_Node*>>; +using CXFA_NodeSetPair = std::pair<std::set<CXFA_Node*>, std::set<CXFA_Node*>>; using CXFA_NodeSetPairMap = std::map<uint32_t, std::unique_ptr<CXFA_NodeSetPair>>; using CXFA_NodeSetPairMapMap = @@ -129,8 +128,8 @@ CXFA_NodeSetPair* NodeSetPairForNode(CXFA_Node* pNode, return (*pNodeSetPairMap)[dwNameHash].get(); } -void ReorderDataNodes(const std::unordered_set<CXFA_Node*>& sSet1, - const std::unordered_set<CXFA_Node*>& sSet2, +void ReorderDataNodes(const std::set<CXFA_Node*>& sSet1, + const std::set<CXFA_Node*>& sSet2, bool bInsertBefore) { CXFA_NodeSetPairMapMap rgMap; for (CXFA_Node* pNode : sSet1) { @@ -231,8 +230,8 @@ void InsertItem(CXFA_Node* pInstMgrNode, pInstMgrNode->GetNodeItem(XFA_NODEITEM_Parent) ->InsertChild(pNewInstance, pNextSibling); if (bMoveDataBindingNodes) { - std::unordered_set<CXFA_Node*> sNew; - std::unordered_set<CXFA_Node*> sAfter; + std::set<CXFA_Node*> sNew; + std::set<CXFA_Node*> sAfter; CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFAContainerNode> sIteratorNew(pNewInstance); @@ -262,8 +261,8 @@ void InsertItem(CXFA_Node* pInstMgrNode, pInstMgrNode->GetNodeItem(XFA_NODEITEM_Parent) ->InsertChild(pNewInstance, pBeforeInstance); if (bMoveDataBindingNodes) { - std::unordered_set<CXFA_Node*> sNew; - std::unordered_set<CXFA_Node*> sBefore; + std::set<CXFA_Node*> sNew; + std::set<CXFA_Node*> sBefore; CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFAContainerNode> sIteratorNew(pNewInstance); |