Rick Potts wrote:

> I'm currently looking at the nsIWebNavigation interface...  I think 
> that the following changes to the interface are necessary:
>
> 1. Add a 'postData' argument to LoadURI(...).
>    This will address bug #46870... 
> 2. Rework the LOAD_FLAGS for LOADURI(...).
>    See my previous posting on 'load flags' for my justifications :-) 

we had previously discussed hanging load flags, post data, referrer, 
etc, off of some sort of nsILoadInfo that could be passed into 
LoadURI(). there would be a readonly nsILoadInfo attribute hanging off 
of nsIWebNavigation. is this idea dead? I liked it because it would 
ultimately mean fewer mods to nsIWebNavigation as new attributes/flags 
cropped up, and it would also keep nsIWebNavigation clean.

> 3. Add a 'readonly attribute' postData.
>    This addresses bug #40867.  This patch has already been applied to 
> the branch. 

if we go this route, I'd be inclined to have the attribute be 
read/write, then do away w/ the argument to LoadURI(). it seems disjoint 
to put the post-data in one place, then pull it out another.

> 5. Add a 'flags' argument to Stop() to allow control over what is 
> stopped...
>    Currently, there is no way via public interfaces to stop content, 
> the network, or both...
>    flag states:
>        STOP_CONTENT - call nsIContentViewer::Stop().
>        STOP_NETWORK - stop refresh timers and call nsIURILoader::Stop().
>                                            This is the same as 
> nsIDocShell:StopLoad()
>        STOP_ALL - STOP_CONTENT | STOP_NETWORK 

great idea. should STOP_CONTENT be broken out into STOP_JS and 
STOP_CONTENT (animated images for example). does STOP_CONTENT imply stop 
plugins (I assume no)?

> Open Issues:
> -------------
> - I hope that we can avoid adding a 'window target' argument to 
> LoadURI(...).  See bug #90722 for details. 

we've definately been confronted a few times with "I want to have a load 
happen in a specific named window" comments/suggestions/questions. I 
think the right model to support is one that maintains the binding 
between nsIWebNavigation and a "window" (nsIWebBrowser/nsIDOMWindow). 
Adding the target arg to LoadURI() would break this binding. danm 
pointed out that you can target loads using nsIWindowWatcher, and I 
think that's a good story.

> - We need to define the mechanism for going between nsIWebNavigation 
> and nsIDOMWindow.  How do we want to go from one to the other...  Do 
> we want to say that nsIInterfaceRequestor::GetInterface(...) can be 
> used to go from one to the other? 

radha just went through this excersize I believe; radha?

Jud


Reply via email to