Chromium Code Reviews| Index: fpdfsdk/src/fpdf_flatten.cpp |
| diff --git a/fpdfsdk/src/fpdf_flatten.cpp b/fpdfsdk/src/fpdf_flatten.cpp |
| index c81955d6ca4b3e77bd09d162b3171f724df55410..ffe69dec0d531bec3dfc9ae41327468c6125a7ff 100644 |
| --- a/fpdfsdk/src/fpdf_flatten.cpp |
| +++ b/fpdfsdk/src/fpdf_flatten.cpp |
| @@ -35,16 +35,14 @@ FX_BOOL IsValiableRect(CPDF_Rect rect, CPDF_Rect rcPage) { |
| return TRUE; |
| } |
| -FX_BOOL GetContentsRect(CPDF_Document* pDoc, |
| - CPDF_Dictionary* pDict, |
| - CPDF_RectArray* pRectArray) { |
| - CPDF_Page* pPDFPage = new CPDF_Page; |
| +void GetContentsRect(CPDF_Document* pDoc, |
| + CPDF_Dictionary* pDict, |
| + CPDF_RectArray* pRectArray) { |
| + std::unique_ptr<CPDF_Page> pPDFPage(new CPDF_Page); |
| pPDFPage->Load(pDoc, pDict, FALSE); |
| pPDFPage->ParseContent(nullptr); |
| - FX_POSITION pos = pPDFPage->GetFirstObjectPosition(); |
| - while (pos) { |
| - CPDF_PageObject* pPageObject = pPDFPage->GetNextObject(pos); |
| + for (const auto& pPageObject : *pPDFPage) { |
|
Oliver Chang
2016/01/21 23:58:46
premature change?
|
| if (!pPageObject) |
| continue; |
| @@ -54,13 +52,9 @@ FX_BOOL GetContentsRect(CPDF_Document* pDoc, |
| rc.bottom = pPageObject->m_Bottom; |
| rc.top = pPageObject->m_Top; |
| - if (IsValiableRect(rc, pDict->GetRect("MediaBox"))) { |
| + if (IsValiableRect(rc, pDict->GetRect("MediaBox"))) |
| pRectArray->Add(rc); |
| - } |
| } |
| - |
| - delete pPDFPage; |
| - return TRUE; |
| } |
| void ParserStream(CPDF_Dictionary* pPageDic, |