summaryrefslogtreecommitdiff
path: root/core/include/fpdfapi
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2016-03-03 10:12:47 -0800
committerTom Sepez <tsepez@chromium.org>2016-03-03 10:12:47 -0800
commitf3e3af606958855c9345dd3aba13e75f0b879193 (patch)
tree8cb3cbd40a355d906d9be9641c747b5721796de1 /core/include/fpdfapi
parentda17d6cd9a4abc6ff41e18faa2757f98caf797db (diff)
downloadpdfium-f3e3af606958855c9345dd3aba13e75f0b879193.tar.xz
Fix O(n^2) behaviour in parser.
Despite what the c++11 spec says, std::list::size() is still O(n), not O(1). R=dsinclair@chromium.org, ochang@chromium.org Review URL: https://codereview.chromium.org/1763443003 .
Diffstat (limited to 'core/include/fpdfapi')
-rw-r--r--core/include/fpdfapi/fpdf_page.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/core/include/fpdfapi/fpdf_page.h b/core/include/fpdfapi/fpdf_page.h
index 4c880525f1..7c27340525 100644
--- a/core/include/fpdfapi/fpdf_page.h
+++ b/core/include/fpdfapi/fpdf_page.h
@@ -7,7 +7,7 @@
#ifndef CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
#define CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
-#include <list>
+#include <deque>
#include <memory>
#include "core/include/fpdfapi/fpdf_parser.h"
@@ -27,9 +27,9 @@ class CPDF_ImageObject;
#define PDFTRANS_ISOLATED 0x0200
#define PDFTRANS_KNOCKOUT 0x0400
-class CPDF_PageObjectList : public std::list<std::unique_ptr<CPDF_PageObject>> {
+class CPDF_PageObjectList
+ : public std::deque<std::unique_ptr<CPDF_PageObject>> {
public:
- // Linear complexity, to be avoided except as needed by public APIs.
CPDF_PageObject* GetPageObjectByIndex(int index);
};