1) Introduces a new public interface nsIPrintSettingService which emables consumers to create PS objects whithout a nsIWebBrowserPrint interface
2) The implementation is nsPrintOptionsImpl which now impls the private interface nsIPrintOptions and the public iface nsIPrintSettingsService
3) Several methods/attrs have been moved from nsIWebBrowserPrint iface to nsIPrintSettingsService
4) The CIDs for nsIPrintOptions and nsIPrinSettingsService are now the same.
5) There is no longer a CID "@mozilla.org/gfx/printoptions;1"
6) nsIWebBrowserPrint still has the "globalPrintSettings" attr so if you already have an nsIWebBrowserPrint you don't have to create the PS Service to get it.
7) A bug has been filed to rename the imlp of nsPrintOptionsImpl to nsPrintSettingsService.
Bug 144128 r=dcone sr=attinasi
of it in now before the API freeze.
It adds several new attrs to the nsIWebBrowserPrint API and implments them in
DocumentViewer.
It also adds a new platform specific interface for PrintSettings that will be
used when the "pluggable" dialog work gets checked in. Although these have been
tested via BUg 115136, these little nto no risk now because no one is using
them yet.
Bug 132827 r=dcone sr=attinasi a=asa
2) Removed unneeded methods from PrintOptions
3) PrintOption can now read and write (most) all the data in a PrintSettings object. The items not saved are those used during the printing process and it wouldn't make any sense to save them.
4) Adds a prefs for turning on and off the automatic saving of PrintSettings. If this is turned on it is almost the same as using the global PS.
5) On Linux it turns on the saving of PS prefs and turns on the global PS. Meaning it will always use a single Global PS object.
6) The PrintSettings can be initialized from a generic non-printer specific set of prefs. Then if a printer name is available in the PS then it tries
to initialize itself from the printer specific prefs. This enables to define "back stop" prefs for picking up first. Then the printer specific prefs can override those settings. For example, we may define in prefs that the default paper size 8.5x11, then if if the "save PS prefs" is turned on, for a given printer it might save 8.5x16 as the size.
7) A "flags" arg has been added so you can indicate which prefs you want read or written.
Bug 128142 r=dcone sr=attinasi a=shaver
should be in the PrintSettings.
2) Removed unneeded methods from PrintOptions
3) PrintOption can now read and write (most) all the data in a PrintSettings
object. The items not saved are those used during the printing process and
it wouldn't make any sense to save them.
4) Adds a prefs for turning on and off the automatic saving of PrintSettings.
If this is turned on it is almost the same as using the global PS.
5) On Linux it turns on the saving of PS prefs and turns on the global PS.
Meaning it will always use a single Global PS object.
6) The PrintSettings can be initialized from a generic non-printer specific
set of prefs. Then if a printer name is available in the PS then it tries
to initialize itself from the printer specific prefs. This enables to define
"back stop" prefs for picking up first. Then the printer specific prefs
can override those settings.
For example, we may define in prefs that the default paper size 8.5x11,
then if if the "save PS prefs" is turned on, for a given printer it might
save 8.5x16 as the size.
7) A "flags" arg has been added so you can indicate which prefs you want read
or written.
default printer.
2) Mail now uses the nsIWebBrowserPrint interface to create the PrintSettings
object it caches and uses
3) Editor now creates and caches a PrintSettings object.
Bug 123554 r=dcone sr=attinasi
it in Print Preview
2) It now positions the page in the window with the gray "gap" showing.
3) factors out code for calc'ing the number of pages
4) Adds the methods to get the number of page while in PP
Bug 125151 r=sgehanisr=attinasi
2) Stubs this out on al other platforms
3) On Windows implmenets new method "InitPrintSettingsFromPrinter" which sets certain key values from the native devmode into the print settings
4) Stubs this out on all other platforms
5) It also cleans up the nsDeviceContextSpecWin interface a little bit:
It now has a single GetDevMode method that must be paired with a UnlockDevMode method.
6) It moved GetDataFromPrinter into the public interface
7) Created a simple helper function for getting the default printer name.
Bug 123554 r=dcone sr=attinasi
2) Adds a couple of new methods and an attr to nsIWebBrowserPrint (navigate, is frameset, & exitPP)
3) Removes all but one method from nsIContentViewerFile.idl/h the remaining call is for print regression testing
4) Removes the "static" implementation of nsIContentViewerFile.h
5) Fixed up nsIContentViewerFile.idl and turned it back on so it is now generating the header file
6) Removed all uses of nsIContentViewerFile.h except for the WebCrawler (uses it for Printing Regression testing)
7) nsDocumentViewer.cpp now implements nsIWebBrowserPrint.idl this makes it easier to add new print functionality in one place
8) You can now ask an instance of the ContentViewer for a nsIWebBrowserPrint to do printing (it retruns the nsIWebBrowserPrint interface implemented by the nsDocumentViewer)
9) Anybody who was using nsIContentViewerFile to print will now use nsIWebBrowserPrint
10) You can now do a "GetInterface()" on a GlobalWindow for a nsIWebBrowserPrint
11) The browser UI now uses the GetInterface on the GlobalWindow to get a nsIWebBrowserPrint object to do printing and this can be used for all printing functionality
Bug 120622 r=dcone sr=waterson
Enabling XP Print Dialog for Windows
Enabling XP Print Progress Dialog
Enabling XP Page Setup Dialog
Fixing nsPrintPreviewContext to use nsIPrintPreviewContext
Bug 113917 r=dcone sr=attinasi