When creating the channel, if the uri load command is viewBackground then set the load flag
on the channel appropriately.
git-svn-id: svn://10.0.0.236/trunk@55555 18797224-902f-48f8-a5cc-f745e15eee43
remove protocol scheme check before using the uri loader. this
means that all urls will run through the uriloader regardless of
type when it gets turned on.
webshell:
doContent and canHandleContent now take a nsURILoaderCommand
modify the handle link click event method to pass in
in the nsIURILoader::viewUserClick command to the uri loader
r=travis
git-svn-id: svn://10.0.0.236/trunk@55042 18797224-902f-48f8-a5cc-f745e15eee43
// to distinguish between incoming urls that are a result of user
// clicks vs. normal views, view source and requires new window
nsIURIContentListener.idl--> doContent and canHandleContent now take a nsIURILoadCommand enum
nsURILoader.cpp --> changes to account for load command enum.
AsyncRead pass in the window context as the url context
(waterson will need this for his chrome cache work)
if we can't find a content handler for the content then go
back to the original window that loaded the url and force
them to handle the content...this is a HACK to force us to run
through the old code path for handling unknown content types
until the new version is online.
r=travis
git-svn-id: svn://10.0.0.236/trunk@55041 18797224-902f-48f8-a5cc-f745e15eee43
Note: you need to enable uri loading under the debug menu for this code to be executed.
git-svn-id: svn://10.0.0.236/trunk@54854 18797224-902f-48f8-a5cc-f745e15eee43
different from our own.
THIS CODE IS NOT executed unless uri dispatching is turned on.
git-svn-id: svn://10.0.0.236/trunk@54634 18797224-902f-48f8-a5cc-f745e15eee43
with post data stream support if we are trying to load
a url that has a post data stream.
r=travis
git-svn-id: svn://10.0.0.236/trunk@54579 18797224-902f-48f8-a5cc-f745e15eee43
changes to support aWindowContext parameter and to remove
the content listener and progress sink as arguments. Instead,
use an interface requestor on the window context to get these.
I was also able to take out the capabilities class as well.
r=travis
git-svn-id: svn://10.0.0.236/trunk@54578 18797224-902f-48f8-a5cc-f745e15eee43
removed content listener and progress sink interfaces from
OpenURI and friends. Instead, pass in a nsISupports window
context. We can use the requestor interface to ask the
window context for the content listener and progress sink.
This reduced the number of arguments to OpenURI by one.
And eventually we'll query the window context for a
docshell / webshell interface which we could pass around.
r=travis
git-svn-id: svn://10.0.0.236/trunk@54577 18797224-902f-48f8-a5cc-f745e15eee43
is a mailto url. why? because it works so well for mailto =). No sense
in only allowing people turning uri dispatching on to get the benefits.
r=travis.
git-svn-id: svn://10.0.0.236/trunk@54265 18797224-902f-48f8-a5cc-f745e15eee43
invoke the uri loader instead of opening the document ourselves.
Various changes for uri dispatching....
r=travis
git-svn-id: svn://10.0.0.236/trunk@53853 18797224-902f-48f8-a5cc-f745e15eee43
CanHandleContent now has an out parameter for desired content type.
Minor re-write of uri loder logic to incorporate stream conversion. If the content listener passes back
a desired content type that is different from the content type that we asked it to handle, we'll
automatically invoke a stream converter. This allows a doc shell which wants to handle say message/rfc822
to request that content be in the form of text/xul (i.e. if it was presenting the content).
git-svn-id: svn://10.0.0.236/trunk@53798 18797224-902f-48f8-a5cc-f745e15eee43
Revamp the uri loader to excusively use AsyncRead instead of AsyncOpen and AsyncRead. With these changes,
we now only need to add the ability to retarget to our protocol channels instead of requiring both
retargeting and AsyncOpen support.
In order to do this, the DocumentOpenInfo object needed to become a nsIStreamListener instead of just
a stream observer.
git-svn-id: svn://10.0.0.236/trunk@53544 18797224-902f-48f8-a5cc-f745e15eee43
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.
Add nsUriLoaderEventSinkGetter class. Many method signatures
changed to match the changes to nsIURILoader::OpenURI.
git-svn-id: svn://10.0.0.236/trunk@53074 18797224-902f-48f8-a5cc-f745e15eee43
Clean up OpenURI api. get rid of the verb, the channel context and the loadgroup as required arguments
to OpenURI.
Add the notion of a open uri context as an in and an out parameter. The open uri context is a cookie which
the caller can later give back to the uri loader when running another url in the same context. It's an ISupports
right now and the type should be opaque to the caller.
Don't require the caller to pass in an event sink getter. We can generate this for them. Do give them the ability
to pass in a nsIProgressEventSink. Note: this parameter is actually going to get changed into a nsIProgressListener
real soon as well. So don't get to used to it.
git-svn-id: svn://10.0.0.236/trunk@53073 18797224-902f-48f8-a5cc-f745e15eee43
GetProtcocolHandler needs to pass in the uri we are trying to open so the
listener can pick an appropriate p.h. based on the protocol of the uri. (if
they so choose).
git-svn-id: svn://10.0.0.236/trunk@52885 18797224-902f-48f8-a5cc-f745e15eee43
1) add OpenURIVia support.
2) reimplent DispatchContent so we ask the listener if it can handle the content. Then when (if) we find
a content listener that can handle it, call DoContent.
3) if we can't find a content listener, go to the registry and try to find a registered content handler.
This part isn't finished as eventually i need to be going to the category manager instead of forming
the progid for the content handler myself.
git-svn-id: svn://10.0.0.236/trunk@52884 18797224-902f-48f8-a5cc-f745e15eee43
Add notion of CanHandleContent. This is supposed to be a light weight method for the implementor
such that the uri loader can ask right off the top if the listener can handle a particular content
type. If it can, then later on, the uir loader may call DoContent to actually handle it.
git-svn-id: svn://10.0.0.236/trunk@52882 18797224-902f-48f8-a5cc-f745e15eee43