Move CPDF_ProgressiveRenderer::ToFPDFStatus() to fpdfsdk/.
The code in core/fpdfapi/ should not need to know about fpdfsdk/
specifics. So move ToFPDFStatus() into an anonymous namespace in
fpdfsdk/fpdf_progressive.cpp. Also rearrange one of the callers in
fpdf_progressive.cpp to use early returns.
Change-Id: Ie508a9d6ce6680e469e4eb3d267549bfe098635c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/65593
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_progressiverenderer.h b/core/fpdfapi/render/cpdf_progressiverenderer.h
index 4a554c0..fd399f9 100644
--- a/core/fpdfapi/render/cpdf_progressiverenderer.h
+++ b/core/fpdfapi/render/cpdf_progressiverenderer.h
@@ -31,8 +31,6 @@
kFailed // FPDF_RENDER_FAILED
};
- static int ToFPDFStatus(Status status) { return static_cast<int>(status); }
-
CPDF_ProgressiveRenderer(CPDF_RenderContext* pContext,
CFX_RenderDevice* pDevice,
const CPDF_RenderOptions* pOptions);
diff --git a/fpdfsdk/fpdf_progressive.cpp b/fpdfsdk/fpdf_progressive.cpp
index cb138c7..99a9230 100644
--- a/fpdfsdk/fpdf_progressive.cpp
+++ b/fpdfsdk/fpdf_progressive.cpp
@@ -33,6 +33,14 @@
static_assert(CPDF_ProgressiveRenderer::kFailed == FPDF_RENDER_FAILED,
"CPDF_ProgressiveRenderer::kFailed value mismatch");
+namespace {
+
+int ToFPDFStatus(CPDF_ProgressiveRenderer::Status status) {
+ return static_cast<int>(status);
+}
+
+} // namespace
+
FPDF_EXPORT int FPDF_CALLCONV FPDF_RenderPageBitmap_Start(FPDF_BITMAP bitmap,
FPDF_PAGE page,
int start_x,
@@ -72,8 +80,7 @@
if (!pContext->m_pRenderer)
return FPDF_RENDER_FAILED;
- return CPDF_ProgressiveRenderer::ToFPDFStatus(
- pContext->m_pRenderer->GetStatus());
+ return ToFPDFStatus(pContext->m_pRenderer->GetStatus());
}
FPDF_EXPORT int FPDF_CALLCONV FPDF_RenderPage_Continue(FPDF_PAGE page,
@@ -87,18 +94,17 @@
auto* pContext =
static_cast<CPDF_PageRenderContext*>(pPage->GetRenderContext());
- if (pContext && pContext->m_pRenderer) {
- CPDFSDK_PauseAdapter pause_adapter(pause);
- pContext->m_pRenderer->Continue(&pause_adapter);
+ if (!pContext || !pContext->m_pRenderer)
+ return FPDF_RENDER_FAILED;
+
+ CPDFSDK_PauseAdapter pause_adapter(pause);
+ pContext->m_pRenderer->Continue(&pause_adapter);
#ifdef _SKIA_SUPPORT_PATHS_
- CFX_RenderDevice* pDevice = pContext->m_pDevice.get();
- pDevice->Flush(false);
- pDevice->GetBitmap()->UnPreMultiply();
+ CFX_RenderDevice* pDevice = pContext->m_pDevice.get();
+ pDevice->Flush(false);
+ pDevice->GetBitmap()->UnPreMultiply();
#endif
- return CPDF_ProgressiveRenderer::ToFPDFStatus(
- pContext->m_pRenderer->GetStatus());
- }
- return FPDF_RENDER_FAILED;
+ return ToFPDFStatus(pContext->m_pRenderer->GetStatus());
}
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPage_Close(FPDF_PAGE page) {