Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: fpdfsdk/src/javascript/Document.cpp

Issue 1700183002: Remove CFX_PtrList from renderer main loop. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Pointless ptr check, use emplace_back. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fpdfsdk/src/javascript/Document.cpp
diff --git a/fpdfsdk/src/javascript/Document.cpp b/fpdfsdk/src/javascript/Document.cpp
index e869e7231000927cf1c36967362d329e1b0b8d1c..efd3075efcf326263c736f28485667d098f4f890 100644
--- a/fpdfsdk/src/javascript/Document.cpp
+++ b/fpdfsdk/src/javascript/Document.cpp
@@ -1382,20 +1382,15 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
int nWords = 0;
CFX_WideString swRet;
- FX_POSITION pos = page.GetPageObjectList()->GetHeadPosition();
- while (pos) {
- if (CPDF_PageObject* pPageObj =
- page.GetPageObjectList()->GetNextObject(pos)) {
- if (pPageObj->m_Type == CPDF_PageObject::TEXT) {
- int nObjWords = CountWords((CPDF_TextObject*)pPageObj);
-
- if (nWords + nObjWords >= nWordNo) {
- swRet = GetObjWordStr((CPDF_TextObject*)pPageObj, nWordNo - nWords);
- break;
- }
-
- nWords += nObjWords;
+ for (auto& pPageObj : *page.GetPageObjectList()) {
+ if (pPageObj->m_Type == CPDF_PageObject::TEXT) {
+ CPDF_TextObject* pTextObj = static_cast<CPDF_TextObject*>(pPageObj.get());
+ int nObjWords = CountWords(pTextObj);
+ if (nWords + nObjWords >= nWordNo) {
+ swRet = GetObjWordStr(pTextObj, nWordNo - nWords);
+ break;
}
+ nWords += nObjWords;
}
}
@@ -1442,15 +1437,9 @@ FX_BOOL Document::getPageNumWords(IJS_Context* cc,
page.ParseContent(nullptr);
int nWords = 0;
- FX_POSITION pos = page.GetPageObjectList()->GetHeadPosition();
- while (pos) {
- if (CPDF_PageObject* pPageObj =
- page.GetPageObjectList()->GetNextObject(pos)) {
- if (pPageObj->m_Type == CPDF_PageObject::TEXT) {
- CPDF_TextObject* pTextObj = (CPDF_TextObject*)pPageObj;
- nWords += CountWords(pTextObj);
- }
- }
+ for (auto& pPageObj : *page.GetPageObjectList()) {
+ if (pPageObj->m_Type == CPDF_PageObject::TEXT)
+ nWords += CountWords(static_cast<CPDF_TextObject*>(pPageObj.get()));
}
vRet = nWords;

Powered by Google App Engine
This is Rietveld 408576698