Closed Bug 45797 Opened 25 years ago Closed 24 years ago

Remove deprecated NS_IMPL_QUERY_INTERFACE macro

Categories

(Core :: XPCOM, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla0.9.5

People

(Reporter: mcafee, Assigned: dbaron)

References

()

Details

Attachments

(13 files)

6.80 KB, patch
Details | Diff | Splinter Review
17.43 KB, patch
Details | Diff | Splinter Review
25.67 KB, patch
Details | Diff | Splinter Review
12.80 KB, patch
Details | Diff | Splinter Review
23.99 KB, patch
Details | Diff | Splinter Review
4.34 KB, patch
Details | Diff | Splinter Review
7.56 KB, patch
Details | Diff | Splinter Review
4.70 KB, patch
Details | Diff | Splinter Review
52.41 KB, patch
Details | Diff | Splinter Review
126.61 KB, patch
Details | Diff | Splinter Review
127.75 KB, patch
Details | Diff | Splinter Review
6.65 KB, patch
jag+mozilla
: review+
Details | Diff | Splinter Review
36.14 KB, patch
jag+mozilla
: review+
Details | Diff | Splinter Review
http://lxr.mozilla.org/mozilla/source/xpcom/base/nsISupportsUtils.h#495 says that NS_IMPL_QUERY_INTERFACE has been depreciated, we need to yank this. Other macros in the file are built with this macro, so those need to change as well. This bug was filed as a result of looking at bug 39270, removing one of the usages of NS_IMPL_QUERY_INTERFACE.
Status: NEW → ASSIGNED
Component: Browser-General → XPCOM
Target Milestone: --- → mozilla0.6
Target Milestone: mozilla0.6 → mozilla0.9
Attached patch fix for XPCOMSplinter Review
Attached patch fix for neckoSplinter Review
settting default qa
QA Contact: doronr → kandrot
Attached patch fixes for intlSplinter Review
I've started attaching patches to get rid of people who use NS_IMPL_SUPPORTS() and friends. Anyone care to start reviewing so I can check these in? Adding some random XPCOM-interested people in hopes they will review. :) These patches can be checked in at any time.. once I've checked them ALL in, then I can actually remove the old macros.
Attached patch fix for layoutSplinter Review
Attached patch fix for rdfSplinter Review
This is the first I've heard that NS_IMPL_QUERY_INTERFACE is deprecated. This sort of thing should be announced more broadly since most folks are going to keep on using what they've learned rather than spot obscure comment changes in a header file somewhere. r=dveditz for the patches for xpcom,necko,intl,gfx/widget and layout In nsFontMetricsWin could you replace the ::QueryInterface with NS_IMPL_QUERY_INTERFACE1() ? whatever debug leak stuff they're doing seems to be only in the AddRef and Release.
Attached patch fix for xpfeSplinter Review
r=dveditz for the webshell,rdf and xpfe patches added since my last review
Attached patch mailnews patchSplinter Review
adding mscott/sspitzer for mail r=/sr=
the one funky thing in the mail review is that we were doing some INSANE stuff in addressbook in order to get at the non-interface class nsAbAutoCompleteParam - I've fixed it by switching to straight casting. The objects in the nsISupportsArray are only addeded by the autocomplete code, so we always know what kind of objects they are.. HOWEVER, someone needs to fix it - my change is no less evil than the old code.
just going through the patch for the nth time, I noticed there's a random XUL change - ignore that, I won't check that in.
r=sspitzer for the mailnews stuff. please log a bug on the "HOWEVER, someone needs to fix it - my change is no less evil..." problem so we remember to fix it. thanks for the fix.
sr=mscott for the mailnews patch.
Looks like you can nuke kICollationFactoryIID from nsCollation.cpp now: http://lxr.mozilla.org/mozilla/source/intl/locale/src/nsCollation.cpp#37 Same for kILocaleIID in nsLocale.cpp, for kICollationIID in nsCollationWin.cpp, and maybe for kIWin32LocaleIID too? More: kICharsetAliasIID in nsCharsetAliasImp.cpp, kITextToSubURIIID in nsTextToSubURI.cpp, kIModuleIID in nsUConvModule.cpp, kIUnicodeDecodeHelperIID in nsUnicodeDecodeHelper.cpp, kIPlatformCharsetIID in nsWinCharset.cpp, That's my review through intl; gfx, etc. next but I need a break. /be
moving a few 0.9 bugs out to 1.0 to lighten my 0.9 load.
Target Milestone: mozilla0.9 → mozilla1.0
nav triage team: Not a 1.0 stopper, pushing out to mozilla1.1
Target Milestone: mozilla1.0 → mozilla1.1
I think we should clean these things up for 1.0. Taking bug.
Assignee: alecf → dbaron
Status: ASSIGNED → NEW
Priority: P3 → P2
Target Milestone: mozilla1.1 → mozilla0.9.4
Status: NEW → ASSIGNED
Summary: Remove depreciated NS_IMPL_QUERY_INTERFACE macro → Remove deprecated NS_IMPL_QUERY_INTERFACE macro
r=jag with the changes made as suggested in #mozilla.
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Tested. Mozilla is fine. TestArray is fine.
Comment on attachment 47209 [details] [diff] [review] final pass for mozilla tree, not yet tested >Index: mozilla/modules/oji/tests/src/TestLoader/OJITestLoader.cpp >=================================================================== >RCS file: /cvsroot/mozilla/modules/oji/tests/src/TestLoader/OJITestLoader.cpp,v >retrieving revision 1.1 >diff -u -d -r1.1 OJITestLoader.cpp >--- OJITestLoader.cpp 2000/05/03 01:03:53 1.1 >+++ OJITestLoader.cpp 2001/08/27 15:01:13 >@@ -24,9 +24,7 @@ > static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); > static NS_DEFINE_IID(kIOJITestLoaderIID, OJITESTLOADER_IID); > >-NS_IMPL_QUERY_INTERFACE(OJITestLoader, kIOJITestLoaderIID); >-NS_IMPL_ADDREF(OJITestLoader) >-NS_IMPL_RELEASE(OJITestLoader) >+NS_IMPL_ISUPPORTS(OJITestLoader, OJITestLoader) > > OJITestLoader::OJITestLoader(void) > { Shouldn't that be: +NS_IMPL_ISUPPORTS1(OJITestLoader, OJITESTLOADER_IID) ?
Changed in my tree to: NS_IMPL_ISUPPORTS1(OJITestLoader, OJITestLoader) (That file doesn't seem to be built on any platform.)
Comment on attachment 47209 [details] [diff] [review] final pass for mozilla tree, not yet tested r= with that fixed
Attachment #47209 - Flags: review+
Comment on attachment 47209 [details] [diff] [review] final pass for mozilla tree, not yet tested looks great. sr=alecf
Attachment #47209 - Flags: superreview+
Checked in 2001-09-10 12:54 PDT. Now I need to do the commercial tree, find out if there are any other users, and remove from nsISupportsUtils.h...
I'm currently building patches to complete the removal of NS_IMPL_QUERY_INTERFACE and related macros (but no numbered macros!). This makes the remaining necessary changes to callers and removes the macros from nsISupports{Impl,Obsolete}.h. It also moves some non-deprecated macros (the NS_IMPL_ISUPPORTSn macros) from nsISupportsObsolete.h back into nsISupportsImpl.h (where the threadsafe forms stayed the whole time).
Comment on attachment 51464 [details] [diff] [review] final (really) pass r=jag
Attachment #51464 - Flags: review+
Comment on attachment 51464 [details] [diff] [review] final (really) pass kick ass! sr=alecf
Attachment #51464 - Flags: superreview+
Fix checked in 2001-10-01 20:17/18 PDT.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
I was told that the JPI contains the use of NS_IMPL_QUERY_INTERFACE and that implementers/ports of the java plugin will have to also follow this. Is there any general guideline we are telling people who port java to their platforms? Has Sun modified the java source yet?
NS_IMPL_QUERY_INTERFACE1 should be used instead of NS_IMPL_QUERY_INTERFACE. What's the JPI and how do you find out what it uses, anyway?
Java Plugin Interface. You know the thing that comes with Java 1.2 so that mozilla can run java. My guess is that java will still work, it is just that Sun needs to be made aware that this happened, so that they can change the source for the jpi and remove this.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: