Bug 1399787 - Part 8. Remove nsDeviceContextSpecWin::mPrintViaPDFInProgress.
mPrintViaPDFInProgress is true iff mPDFiumProcess is not nullptr. We only need
one of them.
MozReview-Commit-ID: GAN6IrN3b1i
--- a/widget/windows/nsDeviceContextSpecWin.cpp
+++ b/widget/windows/nsDeviceContextSpecWin.cpp
@@ -97,19 +97,18 @@ struct AutoFreeGlobalPrinters
}
};
//----------------------------------------------------------------------------------
nsDeviceContextSpecWin::nsDeviceContextSpecWin()
{
mDevMode = nullptr;
#ifdef MOZ_ENABLE_SKIA_PDF
- mPrintViaSkPDF = false;
- mDC = NULL;
- mPrintViaPDFInProgress = false;
+ mPrintViaSkPDF = false;
+ mDC = NULL;
mPDFiumProcess = nullptr;
#endif
}
//----------------------------------------------------------------------------------
NS_IMPL_ISUPPORTS(nsDeviceContextSpecWin, nsIDeviceContextSpec)
@@ -368,26 +367,22 @@ nsDeviceContextSpecWin::FinishPrint()
void
nsDeviceContextSpecWin::CleanupPrintViaPDF()
{
if (mPDFTempFile) {
mPDFTempFile->Remove(/* aRecursive */ false);
mPDFTempFile = nullptr;
}
- if (mDC != NULL) {
- if (mPrintViaPDFInProgress) {
- ::EndDoc(mDC);
- mPrintViaPDFInProgress = false;
- }
+ MOZ_ASSERT_IF(mPDFiumProcess, mDC);
+ if (mPDFiumProcess) {
+ ::EndDoc(mDC);
::DeleteDC(mDC);
mDC = NULL;
- }
- if (mPDFiumProcess) {
mPDFiumProcess->Delete();
mPDFiumProcess = nullptr;
}
}
void
nsDeviceContextSpecWin::PrintEMFInternal(nsString aEMFFilePath)
{
@@ -459,18 +454,16 @@ nsDeviceContextSpecWin::BeginDocument(co
di.fwType = 0;
if (::StartDocW(mDC, &di) <= 0) {
// Defer calling CleanupPrintViaPDF() in destructor because PDF temp file
// is not ready yet.
return NS_ERROR_FAILURE;
}
- mPrintViaPDFInProgress = true;
-
MOZ_ASSERT(!mPDFiumProcess && mDC);
mPDFiumProcess = new PDFiumProcessParent();
NS_ENSURE_TRUE(mPDFiumProcess->Launch(this), NS_ERROR_FAILURE);
}
#endif
return NS_OK;
}
--- a/widget/windows/nsDeviceContextSpecWin.h
+++ b/widget/windows/nsDeviceContextSpecWin.h
@@ -91,17 +91,16 @@ protected:
void CleanupPrintViaPDF();
// This variable is independant of nsIPrintSettings::kOutputFormatPDF.
// It controls both whether normal printing is done via PDF using Skia and
// whether print-to-PDF uses Skia.
bool mPrintViaSkPDF;
nsCOMPtr<nsIFile> mPDFTempFile;
HDC mDC;
- bool mPrintViaPDFInProgress;
PDFiumProcessParent* mPDFiumProcess;
#endif
};
//-------------------------------------------------------------------------
// Printer Enumerator