/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
nsPrintData::~nsPrintData() { // Two things need to be done: // - Inform the listeners // - End/Abort document // Preview requires neither, so return early. if (mType == eIsPrintPreview) { return;
}
if (mPrintDC) {
PR_PL(("****************** End Document ************************\n"));
PR_PL(("\n")); if (mPrintDC->IsCurrentlyPrintingDocument()) { if (!mIsAborted) { auto promise = mPrintDC->EndDocument(); if (mOnStartSent) {
promise->Then(mozilla::GetMainThreadSerialEventTarget(), __func__,
[listeners = std::move(mPrintProgressListeners)]( // We're in dtor, so capture listeners by move. const mozilla::gfx::PrintEndDocumentPromise::
ResolveOrRejectValue&) {
InformListenersOfEndPrinting(listeners);
});
} // Informing listeners asynchronously, or don't need to inform them, so // return early. return;
}
mPrintDC->AbortDocument();
}
} if (mOnStartSent) { // Synchronously notify the listeners.
OnEndPrinting();
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.