Closed Bug 115136 Opened 23 years ago Closed 23 years ago

[FIX]Enable developers to fly their print dialog

Categories

(Core :: Printing: Output, defect, P1)

x86
Windows 2000
defect

Tracking

()

VERIFIED FIXED
mozilla1.0

People

(Reporter: rods, Assigned: rods)

References

Details

(Keywords: topembed+)

Attachments

(4 files, 2 obsolete files)

Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.8
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Can you explain this bug a little better?
The solution for this bug will be to introduce a "pluggable" dialog service. Just like the network libs use the nsIPrompt mechanism for flynig dialogs and embedders can override them with their own dialogs. My guess is that much like what we do for netwerk, we will pass in a nsIInterfaceRequestor for callbacks and then do a GetInterface on the callbacks for the nsIPrintingPrompt interface. The implementation of that can then be elsewhere like in the embedding directory. The a particular platform can choose to use the nsIInterfaceRequestor or just fly their own native one. On Windows we may move entirely away from the XPDialog, but certainly for Linux we need to do this.
I assume this solution would remove entirely the dependencies in gfx on dom and windowwatcher? Would gfx become dependent on embedcomponents, or would print dialogs be invoked entirely from outside of gfx?
Blocks: 108502
Marking nsbeta1+.
Keywords: nsbeta1+
Blocks: 124777
Target Milestone: mozilla0.9.9 → mozilla1.0
Priority: -- → P1
Blocks: 125824
Blocks: 130094
Summary: need pluggable service for Printing Dialogs → Enable developers to fly their print dialog
Summary: Enable developers to fly their print dialog → [FIX]Enable developers to fly their print dialog
Summary: [FIX]Enable developers to fly their print dialog → [PARTIAL-FIX]Enable developers to fly their print dialog
nsbeta1- per adt triage
Keywords: nsbeta1+nsbeta1-
Target Milestone: mozilla1.0 → ---
topembed+ per adt triage
Keywords: topembed+
Target Milestone: --- → mozilla1.0
rods: How does this affect bug 136058 ("Implement nsPrinterFeatures" - the idea of this RFE is to create a service to query printer properties/attributes like available paper sizes/orientations for a specified printer...) ? AFAIK embedders would need this info to "fly their" print dialog without using hardcoded values in their print dialog (currently both PostScript module and Xprint module use the printerfeatures prototype in nsDeviceContextSpecGTK/nsDeviceContextSpecXlib - we only need to make the code a XPCOM service... :)
Attached patch Phase #2 patch (obsolete) (deleted) — Splinter Review
Phase #1 patch is in Bug 135441 I will attach an overview document soon.
Attached patch patch (deleted) — Splinter Review
this is more up-to-date
Attachment #81155 - Attachment is obsolete: true
Summary: [PARTIAL-FIX]Enable developers to fly their print dialog → [FIX]Enable developers to fly their print dialog
rods: Since you are already touching all platforms - is it possible to implement the API calls for bug 133258 ("Enhance nsIDeviceContext print API with an additional level to support multiple documents in one print job") with this patch - or (at least) rename s/BeginDocument/BeginJob/ and s/EndDocument/EndJob/, please ?
Blocks: 98995
Attached file Documentation (deleted) —
Read about Phase #2
Glad to see that nsIPrintPromptService has landed, but, needless to say, a pluggable print dialog system is useless if mozilla doesn't invoke print dialogs through it. I hope rod's patch can land asap; we're (galeon) still getting tortured by javascript.print()...
Heh, spoke too soon eh? Roadmap looks good.
Comment on attachment 82090 [details] [diff] [review] patch r=dcone
Attachment #82090 - Flags: review+
Comment on attachment 82090 [details] [diff] [review] patch sr=attinasi, based partially on email comments that testing has been thorough and on all platforms
Attachment #82090 - Flags: superreview+
fixed
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Keywords: adt1.0.0
Resolution: --- → FIXED
verifying, this has been working for a couple of weeks
Status: RESOLVED → VERIFIED
Let's get this verified by QA either on the trunk or if they are substantial, please create a test build with the batch and the branch and let QA test that.
Blocks: 143241
verified...
Blocks: 99619
this patch has a bunch of conflicts.
Attached patch this is what was checked in (deleted) — Splinter Review
Here the patch of what was checked in and this is a list of things that had changed: 1) Change to encode '\n' as '_' in printer names for prefs (apparently I was testing this idea; took out the calling code but left this in, the code worked fin ein testing) 2) The nsDeviceContextSpecOS2.cpp which had conflicts was changed to the one mkapply sent me. 3) At the last minute we discovered that the attr isPrintPreview in the nsIWebBrowserPrint was no longer being used, so I removed the two calls to it in DocViewer, It was removed later from the IDL. 4) Several Mac makefile file changes that came out of the last round of builds Conrad did 5) For reason I can't explain I must changed to debug output statments from inside a "if (doDebug)" if statment in printjoboptions.js 6) A bunch of stuff removed from embedding/browser/powerplant/source/CPrintAttachment.cpp and few lines added to better use the new APIs (I reviewed) 7) A change in an embedding make to use a renamed directory from gtk to unixshared. 8) A bunch of changes to get the viewer app working with printing again. So here is my justification for checking this all in without further reviews: Conrad had just spent a lot of time diligently doing builds on Mac for Mac9, Carbon, and OSX. Waiting any length of time might for re-reviews for I think are fairly minor issues might require doing builds on the Mac again. Item #1 - that is the only item of concern, but it works fine. Item #3 - I didn't feel removing code was worth a re-review. Item #6 - I reviewed. Item #8 - nobody but the layout-group cares about viewer and I am usually the only one you uses the Print" menu item, so I figure that didn't really need to be reviewed at this point, I didn't even have a bug on this, so obivously nobody uses it. Most of the others were makefile changes that cam out of Conrad's builds.
Attachment #83866 - Flags: approval+
Attached patch patch against the branch (obsolete) (deleted) — Splinter Review
This is the the patch against the branch, al the new embedding files are already in on the branch, but not in the build.
Attached patch Merged against the Branch (deleted) — Splinter Review
Attachment 84098 [details] [diff] is in Bug 135441 This attachment is the correct one
Attachment #84098 - Attachment is obsolete: true
adding adt1.0.0+. Please get drivers approval and then check into the 1.0 branch.
Keywords: adt1.0.0adt1.0.0+
changing to adt1.0.1+ for checkin to the 1.0 branch. Please get drivers approval before checking in.
Keywords: adt1.0.0+adt1.0.1+
please land on the 1.0.1 branch. once there, remove the "mozilla1.0.1+" keyword, and add the "fixed1.0.1" keyword.
Keywords: mozilla1.0.1+
Attachment #84100 - Flags: approval+
checked in on branch
Blocks: 362840
Blocks: 362841
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: