Closed Bug 61672 Opened 24 years ago Closed 23 years ago

Implement the embedding printing API [print] [embed]

Categories

(Core Graveyard :: Embedding: APIs, defect, P3)

x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.0.1

People

(Reporter: adamlock, Assigned: rods)

References

Details

The embedding layer needs a printing API. This should separate the UI from the 
printing so that the embedder can their show own print dialog and pass print 
parameters to the print method for the actual printing. There should be a 
feedback/abort printing interface.
CC'ing Don.

Don, do you have any suggestions on how I can implement this interface?
Requirements for embedders & printing. Embedders must be able to:

1. Implement their own print dialog or use the default one 
2. Query the list of available printers 
3. Query the print parameters for each printer 
4. Print using a target device & parameters specified by the embedder 
5. Print all the document, a page range or selection range 
6. Receive print progress notifications via a callback and the ability to abort 
7. Print frames as a single document or as separate documents
8. Print preview (via a stylesheet?)

Printing currently has one call that can be made.  The biggest problem about 
defining API's for printing is that some of the information (like print range) 
are contained in the native dialogs for some platforms and not in others.  The 
way we solved this problem is we defined a printer settings object.. some of the  
information might be duplicated..but this cross platform object can define 
parameters on a xplatform or a single platform way.  A good example of this was 
how we were going to to Portrait vs Landscape, which are implemented differntly 
on different platforms.  I think the way we can do the API's are to use this 
object print setting object.. which will be set by the embedding application.. 
then in the layout engine it can use the settings in this object.  There is a 
silent parameter on the print API... so if the embedding application whats to 
handle the native dialog for itself.. this parameter can be set to silence the 
layout engine putting up the dialog.  Does this make sense.. you want to talk on 
the phone to discuss this some more..  Don
Target Milestone: --- → mozilla0.9
over to don.
Assignee: adamlock → dcone
Updating QA Contact
QA Contact: jrgm → mdunn
*** Bug 42843 has been marked as a duplicate of this bug. ***
Checked in the IDL files.. for the nsIBrowserPrint and nsIPrintSettings...

Blocks: 70229
Moving to mozilla0.9.1
Target Milestone: mozilla0.9 → mozilla0.9.1
updated my keywords
Status: NEW → ASSIGNED
Summary: Implement the embedding printing API → Implement the embedding printing API [print] [embed]
Depends on: 70946, 70949
Depends on: 70950
Moving general printing API work to future. Specific methods and interfaces for
the printing API required for bug 70946, bug 70949, bug 70950 have specific
milestones which are either marked mozilla0.9 or mozilla0.9.1
Target Milestone: mozilla0.9.1 → Future
Correction: Changing QA contact for the Embed API bugs to David Epstein.
QA Contact: mdunn → depstein
Reassigning to Rod since he is working on the printing API's.
Assignee: dcone → rods
Status: ASSIGNED → NEW
Target Milestone: Future → mozilla0.9.7
changed qa contact to Dharma.
QA Contact: depstein → dsirnapalli
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.7 → mozilla0.9.9
Target Milestone: mozilla0.9.9 → mozilla1.0
We have covered most all these items except item #3. Which at the time there
isn't a requirement for that specific thing. I am marking this "fixed" and if
item #3 is a "must do" then open a new and separate bug with an explanation
where we are currently lacking functionality.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Target Milestone: mozilla1.0 → mozilla1.0.1
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.