Closed Bug 261589 Opened 21 years ago Closed 21 years ago

Disable old RenderPostScriptDataFragment support in 1.7, aviary branches

Categories

(Core :: Printing: Output, defect)

1.7 Branch
x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: kherron+mozilla, Assigned: kherron+mozilla)

Details

(Keywords: fixed-aviary1.0)

Attachments

(1 file)

In bug 234470, the API for plugin printing on unix was changed. In both old and new APIs, the plugin would generate some postscript code that renders the desired image, and then the postscript code would be incorporated into the print job. The API change didn't affect the way the PS is passed from the plugin to mozilla; it only affected the kind of postscript which the plugin should generate. The PS environments assumed by the old and new APIs aren't compatible. The issue is what happens when a plugin conforming to the new API is installed into a copy of FF 1.0 or moz 1.7x, which still contains code for the old API. The plugin will generate new-style PS which will execute in the old-style environment as part of the print job. In the best case this may be harmless. In the worst case, it might render something strange to the part of the page where the plugin appears, or it might result in an invalid print job. At a minimum we need to disable the old support from 1.7x and the aviary branches. As far as I know, there are no publicly available plugins which implement either API, so this should be harmless. Adding the new API to the aviary branch is out of the question at this point, though we could consider it for the 1.7 branch.
I agree that we should disable the old api on the branches (and I don't think the new one should be enabled until 1.8....)
This patchis for the aviary 1.0 branch. It completely removes the RenderPostScriptDataFragment() function from nsRenderingContextImpl and the PS & Xprint modules. It also removes the unix-specific section of nsObjectFrame::Paint() which calls the plugin's Print() function and then calls RenderPostScriptDataFragment() with the result.
Assignee: core.printing → kherron+mozilla
Status: NEW → ASSIGNED
Comment on attachment 160930 [details] [diff] [review] Remove RenderPostScriptDataFragment() Requesting r/sr. This patch was made against the aviary 1.0 branch. It applies cleanly to the mozilla 1.7 branch, but with a 360-line offset in nsObjectFrame.cpp.
Attachment #160930 - Flags: superreview?(roc)
Attachment #160930 - Flags: review?(bzbarsky)
Comment on attachment 160930 [details] [diff] [review] Remove RenderPostScriptDataFragment() r=bzbarsky
Attachment #160930 - Flags: review?(bzbarsky) → review+
Comment on attachment 160930 [details] [diff] [review] Remove RenderPostScriptDataFragment() looks good.
Attachment #160930 - Flags: superreview?(roc) → superreview+
Attachment #160930 - Flags: approval1.7.x?
Attachment #160930 - Flags: approval-aviary?
Flags: blocking1.7.x?
Flags: blocking-aviary1.0?
Comment on attachment 160930 [details] [diff] [review] Remove RenderPostScriptDataFragment() a=asa for branches checkins.
Attachment #160930 - Flags: approval1.7.x?
Attachment #160930 - Flags: approval1.7.x+
Attachment #160930 - Flags: approval-aviary?
Attachment #160930 - Flags: approval-aviary+
Flags: blocking1.7.x?
Flags: blocking1.7.x-
Flags: blocking-aviary1.0?
Flags: blocking-aviary1.0-
Checked in on the 1.7 branch: Checking in layout/html/base/src/nsObjectFrame.cpp; /cvsroot/mozilla/layout/html/base/src/nsObjectFrame.cpp,v <-- nsObjectFrame.cpp new revision: 1.443.2.8; previous revision: 1.443.2.7 done Checking in gfx/public/nsIRenderingContext.h; /cvsroot/mozilla/gfx/public/nsIRenderingContext.h,v <-- nsIRenderingContext.h new revision: 1.52.16.1; previous revision: 1.52 done Checking in gfx/src/nsRenderingContextImpl.h; /cvsroot/mozilla/gfx/src/nsRenderingContextImpl.h,v <-- nsRenderingContextImpl.h new revision: 1.4.2.1; previous revision: 1.4 done Checking in gfx/src/ps/nsRenderingContextPS.cpp; /cvsroot/mozilla/gfx/src/ps/nsRenderingContextPS.cpp,v <-- nsRenderingContextPS.cpp new revision: 1.71.2.1; previous revision: 1.71 done Checking in gfx/src/ps/nsRenderingContextPS.h; /cvsroot/mozilla/gfx/src/ps/nsRenderingContextPS.h,v <-- nsRenderingContextPS.h new revision: 1.41.16.1; previous revision: 1.41 done Checking in gfx/src/shared/nsRenderingContextImpl.cpp; /cvsroot/mozilla/gfx/src/shared/nsRenderingContextImpl.cpp,v <-- nsRenderingContextImpl.cpp new revision: 3.42.2.2; previous revision: 3.42.2.1 done Checking in gfx/src/xprint/nsRenderingContextXp.cpp; /cvsroot/mozilla/gfx/src/xprint/nsRenderingContextXp.cpp,v <-- nsRenderingContextXp.cpp new revision: 1.6.26.1; previous revision: 1.6 done Checking in gfx/src/xprint/nsRenderingContextXp.h; /cvsroot/mozilla/gfx/src/xprint/nsRenderingContextXp.h,v <-- nsRenderingContextXp.h new revision: 1.4.26.1; previous revision: 1.4 done Checking in gfx/src/xprint/nsXPrintContext.cpp; /cvsroot/mozilla/gfx/src/xprint/nsXPrintContext.cpp,v <-- nsXPrintContext.cpp new revision: 1.46.14.1; previous revision: 1.46 done Checking in gfx/src/xprint/nsXPrintContext.h; /cvsroot/mozilla/gfx/src/xprint/nsXPrintContext.h,v <-- nsXPrintContext.h new revision: 1.25.26.1; previous revision: 1.25 done
Checked in on AVIARY_1_0_20040515_BRANCH: Checking in gfx/public/nsIRenderingContext.h; /cvsroot/mozilla/gfx/public/nsIRenderingContext.h,v <-- nsIRenderingContext.h new revision: 1.52.20.1; previous revision: 1.52 done Checking in gfx/src/nsRenderingContextImpl.h; /cvsroot/mozilla/gfx/src/nsRenderingContextImpl.h,v <-- nsRenderingContextImpl.h new revision: 1.4.6.1; previous revision: 1.4 done Checking in gfx/src/ps/nsRenderingContextPS.cpp; /cvsroot/mozilla/gfx/src/ps/nsRenderingContextPS.cpp,v <-- nsRenderingContextPS.cpp new revision: 1.71.6.1; previous revision: 1.71 done Checking in gfx/src/ps/nsRenderingContextPS.h; /cvsroot/mozilla/gfx/src/ps/nsRenderingContextPS.h,v <-- nsRenderingContextPS.h new revision: 1.41.20.1; previous revision: 1.41 done Checking in gfx/src/shared/nsRenderingContextImpl.cpp; /cvsroot/mozilla/gfx/src/shared/nsRenderingContextImpl.cpp,v <-- nsRenderingContextImpl.cpp new revision: 3.42.6.2; previous revision: 3.42.6.1 done Checking in gfx/src/xprint/nsRenderingContextXp.cpp; /cvsroot/mozilla/gfx/src/xprint/nsRenderingContextXp.cpp,v <-- nsRenderingContextXp.cpp new revision: 1.6.30.1; previous revision: 1.6 done Checking in gfx/src/xprint/nsRenderingContextXp.h; /cvsroot/mozilla/gfx/src/xprint/nsRenderingContextXp.h,v <-- nsRenderingContextXp.h new revision: 1.4.30.1; previous revision: 1.4 done Checking in gfx/src/xprint/nsXPrintContext.cpp; /cvsroot/mozilla/gfx/src/xprint/nsXPrintContext.cpp,v <-- nsXPrintContext.cpp new revision: 1.46.18.1; previous revision: 1.46 done Checking in gfx/src/xprint/nsXPrintContext.h; /cvsroot/mozilla/gfx/src/xprint/nsXPrintContext.h,v <-- nsXPrintContext.h new revision: 1.25.30.1; previous revision: 1.25 done Checking in layout/html/base/src/nsObjectFrame.cpp; /cvsroot/mozilla/layout/html/base/src/nsObjectFrame.cpp,v <-- nsObjectFrame.cpp new revision: 1.443.2.2.2.12; previous revision: 1.443.2.2.2.11 done Resolving FIXED.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Keywords: fixed-aviary1.0
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: