Chromium Code Reviews| Index: core/fpdftext/include/cpdf_linkextract.h |
| diff --git a/core/fpdftext/include/cpdf_linkextract.h b/core/fpdftext/include/cpdf_linkextract.h |
| index 263768ee5d05a7a2b57f033992889a163c498b4b..430d33e6d146dc2a1d4092c2e62f9316257b1938 100644 |
| --- a/core/fpdftext/include/cpdf_linkextract.h |
| +++ b/core/fpdftext/include/cpdf_linkextract.h |
| @@ -7,6 +7,9 @@ |
| #ifndef CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ |
| #define CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ |
| +#include <memory> |
| +#include <vector> |
| + |
| #include "core/fxcrt/include/fx_basic.h" |
| #include "core/fxcrt/include/fx_coordinates.h" |
| #include "core/fxcrt/include/fx_string.h" |
| @@ -14,22 +17,12 @@ |
| class CPDF_TextPage; |
| -class CPDF_LinkExt { |
| - public: |
| - CPDF_LinkExt() {} |
| - ~CPDF_LinkExt() {} |
| - |
| - int m_Start; |
| - int m_Count; |
| - CFX_WideString m_strUrl; |
| -}; |
| - |
| class CPDF_LinkExtract { |
| public: |
| - CPDF_LinkExtract(); |
| + CPDF_LinkExtract(const CPDF_TextPage* pTextPage); |
|
Lei Zhang
2016/04/19 23:52:06
explicit
|
| ~CPDF_LinkExtract(); |
| - FX_BOOL ExtractLinks(const CPDF_TextPage* pTextPage); |
| + FX_BOOL ExtractLinks(); |
| int CountLinks() const; |
| CFX_WideString GetURL(int index) const; |
| void GetBoundedSegment(int index, int& start, int& count) const; |
| @@ -42,13 +35,22 @@ class CPDF_LinkExtract { |
| void DeleteLinkList(); |
| FX_BOOL CheckWebLink(CFX_WideString& strBeCheck); |
| bool CheckMailLink(CFX_WideString& str); |
| - void AppendToLinkList(int start, int count, const CFX_WideString& strUrl); |
| private: |
| - CFX_ArrayTemplate<CPDF_LinkExt*> m_LinkList; |
| - const CPDF_TextPage* m_pTextPage; |
| - CFX_WideString m_strPageText; |
| + class Item { |
| + public: |
| + Item(int start, int count, const CFX_WideString& url) |
| + : m_Start(start), m_Count(count), m_strUrl(url) {} |
| + |
| + int m_Start; |
| + int m_Count; |
| + CFX_WideString m_strUrl; |
| + }; |
| + |
| + const CPDF_TextPage* const m_pTextPage; |
| bool m_bIsParsed; |
| + CFX_WideString m_strPageText; |
| + std::vector<std::unique_ptr<Item>> m_LinkList; |
|
Lei Zhang
2016/04/19 23:52:06
It's not actually a linked list.
dsinclair
2016/04/20 13:05:19
Why unique_ptr<Item> instead of just Item?
Tom Sepez
2016/04/20 19:07:39
Renamed.
Tom Sepez
2016/04/20 19:07:40
Even better. Then I can get rid of the ctor and j
|
| }; |
| #endif // CORE_FPDFTEXT_INCLUDE_CPDF_LINKEXTRACT_H_ |