Closed
Bug 46852
Opened 24 years ago
Closed 24 years ago
nsIBaseWindow needs to be split into two interfaces
Categories
(Core Graveyard :: Embedding: APIs, defect, P1)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.8
People
(Reporter: jud, Assigned: adamlock)
Details
(Keywords: embed, Whiteboard: [nsbeta3-])
Attachments
(5 files)
19.15 KB,
patch
|
Details | Diff | Splinter Review | |
34.71 KB,
patch
|
Details | Diff | Splinter Review | |
20.33 KB,
patch
|
Details | Diff | Splinter Review | |
26.55 KB,
patch
|
Details | Diff | Splinter Review | |
5.91 KB,
patch
|
Details | Diff | Splinter Review |
This will remove confusion about the bi-directional nature of the current semantics. Needs to be split into two interfaces: The methods implemented by the embedding application should stay in nsIBaseWindow - destroy(), setPosition(), getPosition(), setSize(), getSize(), setPositionAndSize(), getPositionAndSize(), visibility, setFocus(), title, repaint() The down call methods used by the embedding application could be moved into a new public interface - initWindow(), create(), destroy(), setSize(), repaint(), setFocus(). Both nsIBaseWindow and the new interface will be implemented by nsWebBrowser.
Reporter | ||
Updated•24 years ago
|
Whiteboard: [nsbeta3+]
Reporter | ||
Updated•24 years ago
|
Target Milestone: --- → M18
Reporter | ||
Updated•24 years ago
|
Priority: P3 → P1
Reporter | ||
Comment 1•24 years ago
|
||
Now that I'm diving into this one, I'm not sure of it's relevance anymore. We want embedding windows to look and feel just like regular windows (nsIBaseWindow as is). We also want embedding apps to be able to manipulate browser windows, thus both parties impl nsIBaseWindow. Can someone refresh me on the relevance and logic surrounding the split?
per email with Jud, changing nsbeta3+ to nsbeta3- on all "embed" keyword bugs since embedding changes will not be made in the mn6 branch. If you feel this bug fix needs to go into mn6 branch, please list the reasons/user impact/risk and nominate for rtm. Thanks.
Whiteboard: [nsbeta3+] → [nsbeta3-]
Reporter | ||
Updated•24 years ago
|
Target Milestone: M18 → mozilla0.6
Reporter | ||
Comment 3•24 years ago
|
||
over to adam.
Assignee: valeski → adamlock
Target Milestone: mozilla0.6 → mozilla0.8
This new interface contains a subset of the methods on nsIBaseWindow and is intended for implementation by the embedders chrome/site object. I've changed nsDocShellTreeOwner.cpp so that the embedder can choose which interface to implement - nsIWebBrowserSiteWindow or nsIBaseWindow. The implementation of nsIBaseWindow in nsDocShellTreeOwner has been changed to work with either.
Reporter | ||
Comment 7•24 years ago
|
||
couple questions: 1. why support either? shouldn't we just support the sitewindow? 2. the comment at the top of nsIWebBrowserSiteWindow.idl says "nsIBaseWindow" where I think you want to say "nsIWebBrowserSiteWindow."?
1. We could just support just the site window but at the risk of breaking every embedders existing code. If that isn't an issue I can chop the backwards support. 2. That's fixed. If you think I should change the code for 1) I'll resubmit a new patch.
Reporter | ||
Comment 9•24 years ago
|
||
please re-submit. we're not shooting for backwards compat right now.
Assignee | ||
Comment 10•24 years ago
|
||
Assignee | ||
Comment 11•24 years ago
|
||
Reporter | ||
Comment 12•24 years ago
|
||
can you do a diff -u . It's hard to tell what methods have been moved where. cc'ing conrad as he wanted to make sure there was a particular method being propegated.
Assignee | ||
Comment 13•24 years ago
|
||
Assignee | ||
Comment 14•24 years ago
|
||
Conrad, can you check to see if what you need is there? If it is I'll submit this for review
Comment 15•24 years ago
|
||
So far, it looks good. I'll work it into my embedding app, and see how it fits together.
Assignee | ||
Comment 16•24 years ago
|
||
Comment 17•24 years ago
|
||
Will the embedding API web page on mozilla.org be updated to reflect these API changes? That would be great...
Assignee | ||
Comment 18•24 years ago
|
||
Everything has been checked in now except for the ActiveX control
Assignee | ||
Comment 19•24 years ago
|
||
It's all checked in now, marking FIXED
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Comment 21•24 years ago
|
||
Is there separate bug for the fact that the visibility attribute needs to be on nsIWebBrowserSiteWindow? Since it's not there now, the embedding app, if it ever wants it window to show, has to create it visible. If it's a JS dialog and then the dialog is moved and resized after it's created (normal case), it looks really bad. I shouldn't complain because I said the patch looked fine but I had not actually applied it and tested the JS dialog case.
Updated•5 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•