Closed Bug 135441 Opened 23 years ago Closed 23 years ago

[FIX]API Freeze - Implement Printing Prompt Service (embedding)

Categories

(Core :: Printing: Output, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla1.0

People

(Reporter: rods, Assigned: rods)

References

Details

(Keywords: embed, topembed+, Whiteboard: [adt2 RTM])

Attachments

(4 files)

Status: NEW → ASSIGNED
Keywords: nsbeta1
Target Milestone: --- → mozilla1.0
Keywords: nsbeta1topembed
Keywords: topembedembed, topembed-
removing the topembed- this is the first part of the check in for Bug 115136.
Keywords: topembed-topembed
Attached file Brief Overview of patch (deleted) —
Attached patch Phase #1 patch (deleted) — Splinter Review
Phase #2 is in Bug 115136
Summary: API Freeze - Implement Printing Prompt Service (embedding) → [FIX]API Freeze - Implement Printing Prompt Service (embedding)
Comment on attachment 81154 [details] [diff] [review] Phase #1 patch tabbing issue in /cvsroot/mozilla/gfx/src/nsPrintSettingsImpl.cpp + mPrintPreview(aPS->mPrintPreview), Should there be a constant for the number of headerStrs, instead of hard-coding '3'? +nsPrintSettings::CloneObj needs to check the allocation for null and return an error instead of crashing the program Why are you using 'Boolean' in gfx/public/nsPDECommon.h instead or PR_PackedBool? Other than that, sr=attinasi for the GFX changes
Attachment #81154 - Flags: superreview+
Adding back topembed+. This is needed to freeze the printing API's.
Keywords: topembedtopembed+
from nsPrintingPromptServiceX.cpp + + CFStringRef pathRef = ::CFStringCreateWithCString(NULL, pathBuf, kCFStringEncodingUTF8); + if (!pathRef) + return nsnull; + CFURLRef url = ::CFURLCreateWithFileSystemPath(NULL, pathRef, kCFURLPOSIXPathStyle, TRUE); + if (url) + gPDEPlugIn = ::CFPlugInCreate(NULL, url); + + ::CFRelease(pathRef); + ::CFRelease(url); this will leak pathRef if CFURLCreateWithFileSystemPath() fails. A small nit, but worth fixing for correctness + long version; + if (::Gestalt(gestaltSystemVersion, &version) == noErr && version >= 0x00001000) + return NS_ERROR_NOT_IMPLEMENTED; do clients of ShowProgress know that it's ok for ShowProgress() to return an error and to not abort the print? Where are these clients? Do any embedding apps have to implement something that would call ShowProgress? There's nothing in the docs about returning an error being ok. +#define NS_DIALOGPARAMBLOCK_CONTRACTID "@mozilla.org/embedcomp/dialogparam;1" + +static const char *kPrintProgressDialogURL = "chrome://global/content/printProgress.xul"; why mix two different kinds of string constants? use one or the other.
>this will leak pathRef if CFURLCreateWithFileSystemPath() fails. A small nit, >but worth fixing for correctness oops, ignore this. i was hasty in my reading of the code.
> + return NS_ERROR_NOT_IMPLEMENTED; do clients of ShowProgress know that it's ok for ShowProgress() to return an error and to not abort the print? Yes. The code which calls this from nsDocumentViewer.cpp (see phase #2 patch) does that. I do agree that the comments in nsIPrintingPrompt.idl should mention that. There's long explaination in the comments of how mozilla's implementation of the iface behaves. I don't think that should be there. An iface should just describe itself and not a particular implementation of it. > why mix two different kinds of string constants? use one or the other. I'll clean that up.
+#define NS_DIALOGPARAMBLOCK_CONTRACTID "@mozilla.org/embedcomp/dialogparam;1" Wasn't even referenced in src/mac/nsPrintingPromptService.cpp or nsPrintingPromptServiceX.cpp. I snipped it from both files.
Comment on attachment 81154 [details] [diff] [review] Phase #1 patch r=dcone
Attachment #81154 - Flags: review+
fixed
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
There is still bustage in the Xlib toolkit (the Xlib toolkit tinderbox "speedracer" is currently gone from Seamonkey-Ports) ... ... I'll try to file a patch...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Build error looks like this: -- snip -- nsModule.cpp Building deps for ../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp /opt/SUNWspro/FD7/bin/CC -o nsModule.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=\"SunOS\" -DOJI -I../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/ embedding/components/build/../windowwatcher/src -I../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/../appstartu p/src -I../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/../jsconsole/src -I../../../../../../../../home/mozill a/src/2002-05-02-08-trunk/mozilla/embedding/components/build/../find/src -I../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/comp onents/build/../webbrowserpersist/src -I../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/../commandhandler/src -I../../../dist/include/js -I../../../dist/include/xpcom -I../../../dist/include/string -I../../../dist/include/windowwatcher -I../../../dist/include/printin gui -I../../../dist/include/webbrwsr -I../../../dist/include/gfx -I../../../dist/include/webbrowserpersist -I../../../dist/include/jsconsole -I../../../dist/i nclude/find -I../../../dist/include/htmlparser -I../../../dist/include/embed_base -I../../../dist/include/dom -I../../../dist/include/txtsvc -I../../../dist/i nclude/lwbrk -I../../../dist/include/mimetype -I../../../dist/include/content -I../../../dist/include/uriloader -I../../../dist/include/necko -I../../../dist/ include/commandhandler -I../../../dist/include/xuldoc -I../../../dist/include/embedcomponents -I../../../dist/include -I/shared/bigtmp2/mozilla/2002-05-02-08- trunk/objdir_ws7ea2_xlib/dist/include/nspr -I/usr/openwin/include -KPIC -I/usr/openwin/include -mt -DDEBUG -D_DEBUG -DDEBUG_mozilla -DTRACING -g -O -I/usr/openwin/include -DMOZILLA_CLIENT -DBROKEN_QSORT=1 -DSOLARIS=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHA VE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_ BYTEORDER_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DHAVE_SYS_MOUNT_H=1 -DH AVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DH AVE_SNPRINTF=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STATVFS=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_NL_LANGINFO=1 -DHAVE_STRTOK_R=1 -DHAVE_FLOCKFILE=1 -DHAVE_IOS_BINAR Y=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_SPECIALIZATION=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_ACCESS_CHA NGING_USING=1 -DHAVE_CPP_AMBIGUITY_RESOLVING_USING=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DHAVE_CPP_DYNAMI C_CAST_TO_VOID_PTR=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_DEFAULT_TOOLKIT=\"xlib\" -DMOZ_WIDGET_XLIB=1 -DMOZ_ENABLE_XREMOTE=1 - DMOZ_X11=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DMOZ_MATHML=1 -DMOZ_LOGGING=1 -DDETECT_WEBSHELL_LEAKS=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_XUL=1 -DINCLUDE_XUL=1 -DNS _MT_SUPPORTED=1 -DUSE_IMG2=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DNS_PRINT_PREVIEW=1 -DMOZ_REFLOW_PERF=1 -DMOZ_REFLOW_P ERF_DSP=1 ../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 52: Error: Could not open include file "n sPrintingPromptService.h". "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: nsPrintingPromptService is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: Type name expected instead of "nsPrintingPromptService". "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 66: Error: inst is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 82: Error: NS_PRINTINGPROMPTSERVICE_CID i s not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 82: Error: NS_PRINTINGPROMPTSERVICE_CID i s not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 82: Error: NS_PRINTINGPROMPTSERVICE_CONTR ACTID is not defined. "../../../../../../../../home/mozilla/src/2002-05-02-08-trunk/mozilla/embedding/components/build/nsModule.cpp", line 82: Error: Cannot use unsigned(*)(nsISupp orts*,const nsID&,void**) to initialize const unsigned short. 15 Error(s) detected. gmake[4]: *** [nsModule.o] Error 15 gmake[4]: Leaving directory `/shared/bigtmp2/mozilla/2002-05-02-08-trunk/objdir_ws7ea2_xlib/embedding/components/build' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `/shared/bigtmp2/mozilla/2002-05-02-08-trunk/objdir_ws7ea2_xlib/embedding/components' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/shared/bigtmp2/mozilla/2002-05-02-08-trunk/objdir_ws7ea2_xlib/embedding' gmake[1]: *** [tier_9] Error 2 gmake[1]: Leaving directory `/shared/bigtmp2/mozilla/2002-05-02-08-trunk/objdir_ws7ea2_xlib' -- snip --
Comment on attachment 82176 [details] [diff] [review] Xlib bustage fix for 2002-05-02-08-trunk r=cls
Attachment #82176 - Attachment description: Bustage fix for 2002-05-02-08-trunk → Xlib bustage fix for 2002-05-02-08-trunk
Attachment #82176 - Flags: review+
I am not much happy that all unix-platforms and ports (BeOS, GTK+, Photon, Qt, Xlib, etc.) use includes from a dir called "gtk/" or use code from that. I've learned from mozilla.org's history that people tend to add GDK/GTK+-specific code in these dirs some day - breaking all platforms/ports which do not have GTK+ stuff... ;-( I can file a patch to rename this dir from "gtk/" to "unixshared/" - should I file a seperate bug for that ? ... rods ?
close this and file a separate bug, we can fix that soon.
Never mind on the new bug, the directory has been copied (thanks leaf) and here is the patch: Index: printingui/src/Makefile.in =================================================================== RCS file: /cvsroot/mozilla/embedding/components/printingui/src/Makefile.in,v retrieving revision 1.3 diff -u -r1.3 Makefile.in --- printingui/src/Makefile.in 6 May 2002 07:02:45 -0000 1.3 +++ printingui/src/Makefile.in 6 May 2002 11:51:59 -0000 @@ -27,7 +27,7 @@ include $(DEPTH)/config/autoconf.mk ifneq (,$(filter gtk gtk2 xlib qt beos,$(MOZ_WIDGET_TOOLKIT))) -DIRS += gtk +DIRS += unixshared endif ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
Status: REOPENED → ASSIGNED
cls: Can you r= the patch in comment #19, please (_small_ "Makefile.in"-patch only) ?
r=cls on the Makefile.in change in comment #19
the makefile changes have been checked in, I just need to remove the files now.
Oops, fixed
Status: ASSIGNED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
Keywords: adt1.0.0
I am verifying this, it went in and didn't change printing. This was a checkin to "get it into the build"
Status: RESOLVED → VERIFIED
Blocks: 99619
Attached patch Merged with the Branch (deleted) — Splinter Review
all the new embedding file are already checked in, they are just not in the build
adding adt1.0.0+. Please get drivers approval and then check into the 1.0 branch.
Keywords: adt1.0.0adt1.0.0+
Is this on the 1.0 branch. If yes, pls add fixed1.0.0, so that QA knows to verify this on the branch.
Blocks: 143047
Whiteboard: [adt2 RTM]
*** Bug 147678 has been marked as a duplicate of this bug. ***
Disregard previous comment- this is NOT a duplicate of bug 147678- entered wrong number.
changing to adt1.0.1+ for checkin to the 1.0 branch for the Mozilla1.0.1 milestone. 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 #84099 - Flags: approval+
fixed on branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: