[tbb-commits] [tor-browser] 63/76: Bug 1759494 - Remove some dead code introduced for PDFium. r=dholbert a=RyanVM
gitolite role
git at cupani.torproject.org
Wed Mar 30 20:40:31 UTC 2022
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.8.0esr-11.0-1
in repository tor-browser.
commit 48bcc68a7c173591461f4b55453340341fba5f32
Author: Emilio Cobos Álvarez <emilio at crisal.io>
AuthorDate: Mon Mar 14 23:18:22 2022 +0000
Bug 1759494 - Remove some dead code introduced for PDFium. r=dholbert a=RyanVM
IsSyncPagePrinting() only had one implementation which unconditionally
returned true.
So, any code that was conditioned on !IsSyncPagePrinting() is necessarily
dead/unreachable.
These are also crashing due to a null deref in mPrintTarget which might
happen if print is aborted.
Differential Revision: https://phabricator.services.mozilla.com/D140988
---
gfx/src/nsDeviceContext.cpp | 16 ----------------
gfx/src/nsDeviceContext.h | 4 ----
gfx/thebes/PrintTarget.cpp | 7 -------
gfx/thebes/PrintTarget.h | 15 ---------------
layout/printing/ipc/RemotePrintJobParent.cpp | 19 +------------------
layout/printing/nsPrintJob.cpp | 15 ---------------
6 files changed, 1 insertion(+), 75 deletions(-)
diff --git a/gfx/src/nsDeviceContext.cpp b/gfx/src/nsDeviceContext.cpp
index 0d9e741d46f08..168af3ee125cf 100644
--- a/gfx/src/nsDeviceContext.cpp
+++ b/gfx/src/nsDeviceContext.cpp
@@ -705,19 +705,3 @@ DesktopToLayoutDeviceScale nsDeviceContext::GetDesktopToDeviceScale() {
return DesktopToLayoutDeviceScale(1.0);
}
-
-bool nsDeviceContext::IsSyncPagePrinting() const {
- MOZ_ASSERT(mPrintTarget);
- return mPrintTarget->IsSyncPagePrinting();
-}
-
-void nsDeviceContext::RegisterPageDoneCallback(
- PrintTarget::PageDoneCallback&& aCallback) {
- MOZ_ASSERT(mPrintTarget && aCallback && !IsSyncPagePrinting());
- mPrintTarget->RegisterPageDoneCallback(std::move(aCallback));
-}
-void nsDeviceContext::UnregisterPageDoneCallback() {
- if (mPrintTarget) {
- mPrintTarget->UnregisterPageDoneCallback();
- }
-}
diff --git a/gfx/src/nsDeviceContext.h b/gfx/src/nsDeviceContext.h
index e538537b6b013..745b778d74580 100644
--- a/gfx/src/nsDeviceContext.h
+++ b/gfx/src/nsDeviceContext.h
@@ -263,10 +263,6 @@ class nsDeviceContext final {
mozilla::DesktopToLayoutDeviceScale GetDesktopToDeviceScale();
- bool IsSyncPagePrinting() const;
- void RegisterPageDoneCallback(PrintTarget::PageDoneCallback&& aCallback);
- void UnregisterPageDoneCallback();
-
private:
// Private destructor, to discourage deletion outside of Release():
~nsDeviceContext();
diff --git a/gfx/thebes/PrintTarget.cpp b/gfx/thebes/PrintTarget.cpp
index b5908ae920cf9..4dd540a643516 100644
--- a/gfx/thebes/PrintTarget.cpp
+++ b/gfx/thebes/PrintTarget.cpp
@@ -188,11 +188,4 @@ void PrintTarget::Finish() {
cairo_surface_finish(mCairoSurface);
}
-void PrintTarget::RegisterPageDoneCallback(PageDoneCallback&& aCallback) {
- MOZ_ASSERT(aCallback && !IsSyncPagePrinting());
- mPageDoneCallback = std::move(aCallback);
-}
-
-void PrintTarget::UnregisterPageDoneCallback() { mPageDoneCallback = nullptr; }
-
} // namespace mozilla::gfx
diff --git a/gfx/thebes/PrintTarget.h b/gfx/thebes/PrintTarget.h
index c7b3c532e8bbc..71fda3e350841 100644
--- a/gfx/thebes/PrintTarget.h
+++ b/gfx/thebes/PrintTarget.h
@@ -28,8 +28,6 @@ class DrawEventRecorder;
*/
class PrintTarget {
public:
- typedef std::function<void(nsresult)> PageDoneCallback;
-
NS_INLINE_DECL_REFCOUNTING(PrintTarget);
/// Must be matched 1:1 by an EndPrinting/AbortPrinting call.
@@ -130,17 +128,6 @@ class PrintTarget {
*/
virtual already_AddRefed<DrawTarget> GetReferenceDrawTarget();
- /**
- * If IsSyncPagePrinting returns true, then a user can assume the content of
- * a page was already printed after EndPage().
- * If IsSyncPagePrinting returns false, then a user should register a
- * callback function using RegisterPageDoneCallback to receive page print
- * done notifications.
- */
- virtual bool IsSyncPagePrinting() const { return true; }
- void RegisterPageDoneCallback(PageDoneCallback&& aCallback);
- void UnregisterPageDoneCallback();
-
static void AdjustPrintJobNameForIPP(const nsAString& aJobName,
nsCString& aAdjustedJobName);
static void AdjustPrintJobNameForIPP(const nsAString& aJobName,
@@ -164,8 +151,6 @@ class PrintTarget {
#ifdef DEBUG
bool mHasActivePage;
#endif
-
- PageDoneCallback mPageDoneCallback;
};
} // namespace gfx
diff --git a/layout/printing/ipc/RemotePrintJobParent.cpp b/layout/printing/ipc/RemotePrintJobParent.cpp
index b8a736fe29be6..115075ccd3536 100644
--- a/layout/printing/ipc/RemotePrintJobParent.cpp
+++ b/layout/printing/ipc/RemotePrintJobParent.cpp
@@ -87,11 +87,6 @@ nsresult RemotePrintJobParent::InitializePrintDevice(
return rv;
}
- if (!mPrintDeviceContext->IsSyncPagePrinting()) {
- mPrintDeviceContext->RegisterPageDoneCallback(
- [self = RefPtr{this}](nsresult aResult) { self->PageDone(aResult); });
- }
-
mIsDoingPrinting = true;
return NS_OK;
@@ -147,9 +142,7 @@ void RemotePrintJobParent::FinishProcessingPage(
mCurrentPageStream.Close();
- if (mPrintDeviceContext->IsSyncPagePrinting()) {
- PageDone(rv);
- }
+ PageDone(rv);
}
nsresult RemotePrintJobParent::PrintPage(
@@ -200,11 +193,6 @@ mozilla::ipc::IPCResult RemotePrintJobParent::RecvFinalizePrint() {
// Too late to abort the child just log.
NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "EndDocument failed");
-
- // Since RecvFinalizePrint is called after all page printed, there should
- // be no more page-done callbacks after that, in theory. Unregistering
- // page-done callback is not must have, but we still do this for safety.
- mPrintDeviceContext->UnregisterPageDoneCallback();
}
mIsDoingPrinting = false;
@@ -217,7 +205,6 @@ mozilla::ipc::IPCResult RemotePrintJobParent::RecvAbortPrint(
const nsresult& aRv) {
if (mPrintDeviceContext) {
Unused << mPrintDeviceContext->AbortDocument();
- mPrintDeviceContext->UnregisterPageDoneCallback();
}
mIsDoingPrinting = false;
@@ -278,10 +265,6 @@ RemotePrintJobParent::~RemotePrintJobParent() {
}
void RemotePrintJobParent::ActorDestroy(ActorDestroyReason aWhy) {
- if (mPrintDeviceContext) {
- mPrintDeviceContext->UnregisterPageDoneCallback();
- }
-
mIsDoingPrinting = false;
// If progress dialog is opened, notify closing it.
diff --git a/layout/printing/nsPrintJob.cpp b/layout/printing/nsPrintJob.cpp
index ecbf3d9f6d846..606b90520dde1 100644
--- a/layout/printing/nsPrintJob.cpp
+++ b/layout/printing/nsPrintJob.cpp
@@ -778,12 +778,6 @@ nsresult nsPrintJob::DoCommonPrint(bool aIsPrintPreview,
printData->mPrintDC = new nsDeviceContext();
MOZ_TRY(printData->mPrintDC->InitForPrinting(devspec));
- if (XRE_IsParentProcess() && !printData->mPrintDC->IsSyncPagePrinting()) {
- RefPtr<nsPrintJob> self(this);
- printData->mPrintDC->RegisterPageDoneCallback(
- [self](nsresult aResult) { self->PageDone(aResult); });
- }
-
if (!StaticPrefs::print_tab_modal_enabled() && mIsCreatingPrintPreview) {
// In legacy print-preview mode, override any UI that wants to PrintPreview
// any selection or page range. The legacy print-preview intends to view
@@ -2350,10 +2344,6 @@ bool nsPrintJob::PrintSheet(nsPrintObject* aPO, bool& aInRange) {
return true;
}
- if (XRE_IsParentProcess() && !printData->mPrintDC->IsSyncPagePrinting()) {
- mPagePrintTimer->WaitForRemotePrint();
- }
-
// Print the sheet
// if a print job was cancelled externally, an EndPage or BeginPage may
// fail and the failure is passed back here.
@@ -2486,11 +2476,6 @@ bool nsPrintJob::DonePrintingSheets(nsPrintObject* aPO, nsresult aResult) {
}
}
- if (XRE_IsParentProcess() && printData->mPrintDC &&
- !printData->mPrintDC->IsSyncPagePrinting()) {
- printData->mPrintDC->UnregisterPageDoneCallback();
- }
-
if (NS_SUCCEEDED(aResult)) {
FirePrintCompletionEvent();
// XXX mPrt may be cleared or replaced with new instance here.
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tbb-commits
mailing list