Closed Bug 239038 Opened 20 years ago Closed 20 years ago

rev IIDs for all modified interfaces

Categories

(SeaMonkey :: General, defect)

defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.7final

People

(Reporter: darin.moz, Assigned: darin.moz)

References

Details

(Keywords: fixed1.7)

Attachments

(1 file)

rev IIDs for all modified interfaces.

see bug 238219 for an example of the kind of crash that can occur when we modify
a non-frozen interface without rev'ing its IID.  with all the recent
deCOMtamination work done during the 1.7 cycle, we should be sure that we have
rev'd all modified interfaces.
Some comments from jst and sicking in bug 238219:

> ------- Additional Comment #10 From Johnny Stenback  2004-03-23 18:17 PST
> I don't have a list of all interfaces that have been changed... But I bet
> nsIScriptContext and nsIScriptGlobalObject need the same treatment here. And
> maybe nsIContent too.
>
>
> ------- Additional Comment #11 From Jonas Sicking (IBM) 2004-03-23 18:36 PST
> Definitly nsIContent, nsIHTMLContent and nsIStyledContent too. Maybe 
> nsINodeInfo and nsINodeInfoManager too.

jst: if you don't have time to own this, then bounce it back to me.  i just
figured that you probably had your finger on the pulse of most of the
deCOMtamination work.
Flags: blocking1.7?
a bonsai query since 11-Dec-2004 (1.6 branch date) indicates the following
interfaces have been changed without an IID rev:

browser/components/bookmarks/public/nsIBookmarksService.idl
mailnews/compose/public/nsIMsgAttachment.idl
mailnews/compose/public/nsIMsgCompose.idl
xpfe/components/download-manager/public/nsIDownloadManager.idl
mailnews/base/public/nsISubscribableServer.idl
xpcom/obsolete/nsIFileSpec.idl (methods added at end of interface only)
dom/public/idl/html/nsIDOMHTMLButtonElement.idl
dom/public/idl/html/nsIDOMNSHTMLButtonElement.idl
mailnews/db/msgdb/public/nsIMsgDatabase.idl
mailnews/base/public/nsIMessenger.idl
editor/composer/public/nsIEditingSession.idl
xpcom/threads/nsIProcess.idl
extensions/cookie/nsICookiePromptService.idl
dom/public/idl/css/nsIDOMCSS2Properties.idl
gfx/idl/nsIFreeType2.idl
dom/public/idl/events/nsIDOMPopupBlockedEvent.idl
dom/public/idl/base/nsIDOMChromeWindow.idl
docshell/base/nsIContentViewer.idl
netwerk/base/public/nsIPasswordManagerInternal.idl
dom/public/idl/base/nsIDOMCrypto.idl
extensions/xmlextras/base/public/nsIXMLHttpRequest.idl
extensions/xmlextras/base/public/nsIDOMSerializer.idl

I only did IDL, not .h pseudo-interfaces, but these pseudo-interfaces should
also probably be revved:
nsICSSLoader
nsICSSStyleRule
nsIScriptContext
nsIHTMLDocument
nsIParserService
nsIDOMLoadListener
-> me
Assignee: jst → darin
Severity: normal → major
Target Milestone: --- → mozilla1.7final
Blocks: 238446
Attached patch v1 patchSplinter Review
This patch changes the IIDs for all interfaces and pseudo-interfaces in
bsmedberg's list.  I did not change the IID of nsIFileSpec since I do not think
there is any chance that external code is implementing that interface.	I also
did not change the IID for the frozen nsIDOMHTMLButtonElement since the change
to that interface did not change the ABI.  It only marked a method [noscript]
that was previously scriptable.
Attachment #146212 - Flags: superreview?(jst)
Attachment #146212 - Flags: review?(bsmedberg)
Comment on attachment 146212 [details] [diff] [review]
v1 patch

sr=jst. Thanks for doing this, Darin!
Attachment #146212 - Flags: superreview?(jst) → superreview+
Attachment #146212 - Flags: review?(bsmedberg)
Attachment #146212 - Flags: review+
Attachment #146212 - Flags: approval1.7?
fixed-on-trunk
Status: NEW → ASSIGNED
Comment on attachment 146212 [details] [diff] [review]
v1 patch

a=brendan@mozilla.org for 1.7 final.

/be
Attachment #146212 - Flags: approval1.7? → approval1.7+
fixed1.7
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Keywords: fixed1.7
Resolution: --- → FIXED
After this change,
http://lxr.mozilla.org/seamonkey/source/extensions/cookie/nsCookiePromptService.h#56
doesn't match with
http://lxr.mozilla.org/seamonkey/source/extensions/cookie/nsICookiePromptService.idl#46
anymore. (#define NS_COOKIEPROMPTSERVICE_CID is not updated)

Shouldn't they match? Now, nsCookiePromtService implements the wrong CID. Or am
I confused about xpcom? (not an unlikely possibility...)

I only looked at this interface, because i remembered that interface having a
#define in the .h file. Should all the changes be checked for this?
(In reply to comment #9)
http://lxr.mozilla.org/seamonkey/source/extensions/cookie/nsCookiePromptService.h#56
> doesn't match with
>
http://lxr.mozilla.org/seamonkey/source/extensions/cookie/nsICookiePromptService.idl#46
> anymore. (#define NS_COOKIEPROMPTSERVICE_CID is not updated)

CIDs and IIDs don't have any relation, are you saying that they were the same
before? that seems wrong.

> I only looked at this interface, because i remembered that interface having a
> #define in the .h file. Should all the changes be checked for this?

It did? The link you posted shows that only the component has?
Ok, so i was confused. Ignore my comment :)
On the other hand, i always though iid = cid for some reason. So i need to check
if i made them the same in other places too.....
(In reply to comment #11)
> Ok, so i was confused. Ignore my comment :)
> On the other hand, i always though iid = cid for some reason. So i need to check
> if i made them the same in other places too.....

It's not a big deal if IIDs and CIDs conflict.  They are never used in the same
context.
Flags: blocking1.7?
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: