Closed Bug 324026 Opened 19 years ago Closed 14 years ago

Several frozen interfaces depend on non-frozen interfaces

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jhpedemonte, Unassigned)

References

Details

While working on JavaXPCOM, I generated Java interfaces for frozen interfaces (SDK_XPIDLSRCS). When trying to compile, got several errors, related to these frozen interfaces depending on non-frozen interfaces (for which Java files were not generated). Here are the errors: org/mozilla/xpcom/nsIASN1Sequence.java:25: cannot find symbol symbol : class nsIMutableArray location: interface org.mozilla.xpcom.nsIASN1Sequence public nsIMutableArray getASN1Objects(); ^ org/mozilla/xpcom/nsIASN1Sequence.java:26: cannot find symbol symbol : class nsIMutableArray location: interface org.mozilla.xpcom.nsIASN1Sequence public void setASN1Objects(nsIMutableArray aASN1Objects); ^ org/mozilla/xpcom/nsIX509Cert.java:163: cannot find symbol symbol : class nsIArray location: interface org.mozilla.xpcom.nsIX509Cert public nsIArray getChain(); ^ org/mozilla/xpcom/nsIDOMCSSPrimitiveValue.java:118: cannot find symbol symbol : class nsIDOMCounter location: interface org.mozilla.xpcom.nsIDOMCSSPrimitiveValue public nsIDOMCounter getCounterValue(); ^ org/mozilla/xpcom/nsIDOMCSSPrimitiveValue.java:121: cannot find symbol symbol : class nsIDOMRect location: interface org.mozilla.xpcom.nsIDOMCSSPrimitiveValue public nsIDOMRect getRectValue(); ^ org/mozilla/xpcom/nsIDOMCSSPrimitiveValue.java:124: cannot find symbol symbol : class nsIDOMRGBColor location: interface org.mozilla.xpcom.nsIDOMCSSPrimitiveValue public nsIDOMRGBColor getRGBColorValue(); ^ org/mozilla/xpcom/nsIWebBrowserPrint.java:40: cannot find symbol symbol : class nsIPrintSettings location: interface org.mozilla.xpcom.nsIWebBrowserPrint public nsIPrintSettings getGlobalPrintSettings(); ^ org/mozilla/xpcom/nsIWebBrowserPrint.java:43: cannot find symbol symbol : class nsIPrintSettings location: interface org.mozilla.xpcom.nsIWebBrowserPrint public nsIPrintSettings getCurrentPrintSettings(); ^ org/mozilla/xpcom/nsIWebBrowserPrint.java:70: cannot find symbol symbol : class nsIPrintSettings location: interface org.mozilla.xpcom.nsIWebBrowserPrint public void print(nsIPrintSettings aThePrintSettings, nsIWebProgressListener aWPListener); ^ org/mozilla/xpcom/nsIWebBrowserPrint.java:73: cannot find symbol symbol : class nsIPrintSettings location: interface org.mozilla.xpcom.nsIWebBrowserPrint public void printPreview(nsIPrintSettings aThePrintSettings, nsIDOMWindow aChildDOMWin, nsIWebProgressListener aWPListener); ^ org/mozilla/xpcom/nsIWindowWatcher.java:37: cannot find symbol symbol : class nsIPrompt location: interface org.mozilla.xpcom.nsIWindowWatcher public nsIPrompt getNewPrompter(nsIDOMWindow aParent); ^ org/mozilla/xpcom/nsIWindowWatcher.java:40: cannot find symbol symbol : class nsIAuthPrompt location: interface org.mozilla.xpcom.nsIWindowWatcher public nsIAuthPrompt getNewAuthPrompter(nsIDOMWindow aParent); ^ org/mozilla/xpcom/nsIX509CertDB.java:85: cannot find symbol symbol : class nsIArray location: interface org.mozilla.xpcom.nsIX509CertDB public nsIArray getOCSPResponders(); ^ 13 errors
We have three categories here: 1) frozen PSM interfaces depend on nonfrozen nsI[Mutable]Array 2) nsIDOMCSSPrimitiveValue depends on various DOM methods... can we freeze these as-is? 3) nsIWebBrowserPrint was prematurely frozen and I really would hate to freeze nsIPrintSeetings as=is with nsNativeMarginRef. 4) nsIWindowWatcher dependencies on authprompts... are there issues open that prevent freezing nsIPrompt and nsIAuthPrompt as-is?
nsIAuthPrompt/nsIPrompt are de-facto frozen. They would have been marked as such for Gecko 1.8 had I had the time to revise the documentation in a manner similar to what I did for nsIPromptService. See bug 265513. I think that we should freeze nsIArray/nsIMutableArray as-is. They are useful, and we haven't had any need to change them for a long time. I don't know about the DOM interfaces or nsIPrintSettings, but I suspect that we really have no choice but to treat them as frozen.
Depends on: 265513
Darin's right about nsI(Auth)?Prompt and nsI(Mutable)?Array, I think. > 2) nsIDOMCSSPrimitiveValue depends on various DOM methods... can we freeze > these as-is? I assume you mean nsIDOMRect, nsIDOMRGBColor, and nsIDOMCounter? I suppose we can freeze those. All those apis need to be wholesale deprecated anyway at some point, once work on DOM Style restarts. > 3) nsIWebBrowserPrint was prematurely frozen and I really would hate to freeze > nsIPrintSeetings as=is with nsNativeMarginRef. <sigh>. I have no idea what we can do here. :(
Blocks: 333618
Since we don't do interface freezing anymore, I'm'a go ahead and close this bug. Please feel free to reopen if you feel there is still something that should change.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.