21#define NS_IOSERVICE_CLASSNAME "nsIOService"
22#define NS_IOSERVICE_CONTRACTID "@mozilla.org/network/io-service;1"
25 {0x9ac9e770, 0x18bc, 0x11d3, {0x93, 0x37, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40}};
27 {0x5088272e, 0x900b, 0x11da, {0xc6,0x87, 0x00,0x0f,0xea,0x57,0xf2,0x1a}};
58 hres = IUriBuilder_CreateUriSimple(
This->uri_builder, 0, 0, &
This->uri);
60 WARN(
"CreateUriSimple failed: %08x\n",
hres);
73 IUri_AddRef(nsuri->
uri);
84 hres = IUri_HasProperty(
uri, Uri_PROPERTY_FRAGMENT, &
b);
94 hres = IUriBuilder_RemoveProperties(uri_builder, Uri_HAS_FRAGMENT);
96 hres = IUriBuilder_CreateUriSimple(uri_builder, 0, 0, &
ret);
97 IUriBuilder_Release(uri_builder);
106 IUri *uri_nofrag1, *uri_nofrag2;
115 IUri_IsEqual(uri_nofrag1, uri_nofrag2, &
ret);
116 IUri_Release(uri_nofrag2);
119 IUri_Release(uri_nofrag1);
134 IUri_Release(uri_nofrag);
136 WARN(
"CoInternetCombineUrlEx failed: %08x\n",
hres);
179 static const WCHAR wine_prefixW[] = {
'w',
'i',
'n',
'e',
':'};
181 if(!
strncmpW(nsuri, wine_prefixW,
sizeof(wine_prefixW)/
sizeof(
WCHAR)))
182 ptr +=
sizeof(wine_prefixW)/
sizeof(
WCHAR);
184 if(*
ptr || ret_empty) {
201 hres = IOleClientSite_QueryInterface(doc->
client, &IID_IOleCommandTarget, (
void**)&cmdtrg);
209 hres = IOleCommandTarget_Exec(cmdtrg, &CGID_ShellDocView, 67, 0, &varUrl, &varRes);
211 IOleCommandTarget_Release(cmdtrg);
214 TRACE(
"got VARIANT_FALSE, do not load\n");
233 hres = IUri_GetDisplayUri(channel->
uri->
uri, &display_uri);
261 ERR(
"Could not get nsIWebNavigation interface: %08x\n", nsres);
265 nsres = nsIWebNavigation_QueryInterface(web_navigation, &IID_nsIDocShell, (
void**)&doc_shell);
266 nsIWebNavigation_Release(web_navigation);
268 ERR(
"Could not get nsIDocShell: %08x\n", nsres);
273 nsres = nsIDocShell_CreateLoadInfo(doc_shell, &load_info);
275 nsIDocShell_Release(doc_shell);
279 nsres = nsIDocShellLoadInfo_SetPostDataStream(load_info, post_stream);
283 uri->channel_bsc = channelbsc;
284 doc =
window->base.inner_window->doc;
286 nsres = nsIDocShell_LoadURI(doc_shell, (
nsIURI*)&
uri->nsIFileURL_iface, load_info,
flags,
FALSE);
287 if(doc ==
window->base.inner_window->doc)
290 nsIDocShell_Release(doc_shell);
292 nsIDocShellLoadInfo_Release(load_info);
294 WARN(
"LoadURI failed: %08x\n", nsres);
303 if(
This->container) {
304 if(
This->container == nscontainer)
306 TRACE(
"Changing %p -> %p\n",
This->container, nscontainer);
307 nsIWebBrowserChrome_Release(&
This->container->nsIWebBrowserChrome_iface);
312 This->container = nscontainer;
317 if(
This->window_ref) {
355 const char *header_namea;
420 const char *namea, *valuea;
463 nsres = nsIHttpHeaderVisitor_VisitHeader(visitor, &header_str, &
value_str);
520 nsIHttpChannel_AddRef(&
This->nsIHttpChannel_iface);
543 nsIFileURL_Release(&
This->uri->nsIFileURL_iface);
545 nsISupports_Release(
This->owner);
546 if(
This->post_data_stream)
547 nsIInputStream_Release(
This->post_data_stream);
549 nsILoadGroup_Release(
This->load_group);
550 if(
This->notif_callback)
551 nsIInterfaceRequestor_Release(
This->notif_callback);
552 if(
This->original_uri)
553 nsIURI_Release(
This->original_uri);
555 nsIURI_Release(
This->referrer);
574 return nsIFileURL_GetSpec(&
This->uri->nsIFileURL_iface, aName);
590 WARN(
"(%p)->(%p) returning NS_OK\n",
This, aStatus);
592 return *aStatus =
NS_OK;
629 nsILoadGroup_AddRef(
This->load_group);
631 *aLoadGroup =
This->load_group;
642 nsILoadGroup_Release(
This->load_group);
644 nsILoadGroup_AddRef(aLoadGroup);
645 This->load_group = aLoadGroup;
656 *aLoadFlags =
This->load_flags;
664 TRACE(
"(%p)->(%08x)\n",
This, aLoadFlags);
666 This->load_flags = aLoadFlags;
674 TRACE(
"(%p)->(%p)\n",
This, aOriginalURI);
676 if(
This->original_uri)
677 nsIURI_AddRef(
This->original_uri);
679 *aOriginalURI =
This->original_uri;
687 TRACE(
"(%p)->(%p)\n",
This, aOriginalURI);
689 if(
This->original_uri)
690 nsIURI_Release(
This->original_uri);
692 nsIURI_AddRef(aOriginalURI);
693 This->original_uri = aOriginalURI;
703 nsIFileURL_AddRef(&
This->uri->nsIFileURL_iface);
716 nsISupports_AddRef(
This->owner);
717 *aOwner =
This->owner;
729 nsISupports_AddRef(aOwner);
731 nsISupports_Release(
This->owner);
732 This->owner = aOwner;
742 TRACE(
"(%p)->(%p)\n",
This, aNotificationCallbacks);
744 if(
This->notif_callback)
745 nsIInterfaceRequestor_AddRef(
This->notif_callback);
746 *aNotificationCallbacks =
This->notif_callback;
756 TRACE(
"(%p)->(%p)\n",
This, aNotificationCallbacks);
758 if(
This->notif_callback)
759 nsIInterfaceRequestor_Release(
This->notif_callback);
760 if(aNotificationCallbacks)
761 nsIInterfaceRequestor_AddRef(aNotificationCallbacks);
763 This->notif_callback = aNotificationCallbacks;
772 TRACE(
"(%p)->(%p)\n",
This, aSecurityInfo);
781 TRACE(
"(%p)->(%p)\n",
This, aContentType);
783 if(
This->content_type) {
788 if(
This->uri->is_doc_uri) {
789 WARN(
"Document channel with no MIME set. Assuming text/html\n");
794 WARN(
"unknown type\n");
818 TRACE(
"(%p)->(%p)\n",
This, aContentCharset);
852 FIXME(
"(%p)->(%p)\n",
This, aContentLength);
884 nsres = nsILoadGroup_GetDefaultLoadRequest(
This->load_group, &req);
886 ERR(
"GetDefaultLoadRequest failed: %08x\n", nsres);
893 nsres = nsIRequest_QueryInterface(req, &IID_nsIChannel, (
void**)&channel);
894 nsIRequest_Release(req);
896 WARN(
"Could not get nsIChannel interface: %08x\n", nsres);
900 nsres = nsIChannel_GetURI(channel, &
uri);
901 nsIChannel_Release(channel);
903 ERR(
"GetURI failed: %08x\n", nsres);
910 TRACE(
"Could not get nsWineURI: %08x\n", nsres);
916 IHTMLWindow2_AddRef(&
window->base.IHTMLWindow2_iface);
929 if(
This->load_group) {
932 nsres = nsILoadGroup_GetGroupObserver(
This->load_group, &req_observer);
934 ERR(
"GetGroupObserver failed: %08x\n", nsres);
938 nsres = nsIRequestObserver_QueryInterface(req_observer, &IID_nsIWebProgress, (
void**)&web_progress);
939 nsIRequestObserver_Release(req_observer);
941 ERR(
"Could not get nsIWebProgress iface: %08x\n", nsres);
944 }
else if(
This->notif_callback) {
945 nsres = nsIInterfaceRequestor_GetInterface(
This->notif_callback, &IID_nsIWebProgress, (
void**)&web_progress);
947 ERR(
"GetInterface(IID_nsIWebProgress failed: %08x\n", nsres);
951 ERR(
"no load group nor notif callback\n");
955 nsres = nsIWebProgress_GetDOMWindow(web_progress, &nswindow);
956 nsIWebProgress_Release(web_progress);
958 ERR(
"GetDOMWindow failed: %08x\n", nsres);
963 nsIDOMWindow_Release(nswindow);
966 IHTMLWindow2_AddRef(&
window->base.IHTMLWindow2_iface);
968 FIXME(
"NULL window for %p\n", nswindow);
1002 WARN(
"CreateURLMoniker failed: %08x\n",
hres);
1010 IMoniker_Release(mon);
1016 if(is_doc_channel) {
1050 TRACE(
"(%p)->(%p %p)\n",
This, aListener, aContext);
1059 hres = IUri_GetDisplayUri(
This->uri->uri, &uri_str);
1064 WARN(
"GetDisplayUri failed: %08x\n",
hres);
1068 if(
This->uri->is_doc_uri) {
1072 }
else if(
This->uri->container) {
1076 if(
This->uri->container->doc)
1077 FIXME(
"nscontainer->doc = %p\n",
This->uri->container->doc);
1083 FIXME(
"Navigation not cancelled\n");
1089 if(
This->uri->window_ref &&
This->uri->window_ref->window) {
1091 IHTMLWindow2_AddRef(&
window->base.IHTMLWindow2_iface);
1094 if(
This->load_group)
1104 ERR(
"window = NULL\n");
1109 if(
This->uri->channel_bsc) {
1112 if(
window->doc_obj->mime) {
1121 TRACE(
"canceled\n");
1131 nsres = nsILoadGroup_AddRequest(
This->load_group, (
nsIRequest*)&
This->nsIHttpChannel_iface,
1134 ERR(
"AddRequest failed: %08x\n", nsres);
1137 IHTMLWindow2_Release(&
window->base.IHTMLWindow2_iface);
1144 FIXME(
"(%p)->(%p)\n",
This, aContentDisposition);
1151 FIXME(
"(%p)->(%u)\n",
This, aContentDisposition);
1158 FIXME(
"(%p)->(%p)\n",
This, aContentDispositionFilename);
1165 FIXME(
"(%p)->(%p)\n",
This, aContentDispositionFilename);
1172 FIXME(
"(%p)->(%p)\n",
This, aContentDispositionHeader);
1183 nsISupports_AddRef(
This->load_info);
1184 *aLoadInfo =
This->load_info;
1195 nsISupports_Release(
This->load_info);
1196 This->load_info = aLoadInfo;
1198 nsISupports_AddRef(
This->load_info);
1206 TRACE(
"(%p)->(%p)\n",
This, aRequestMethod);
1224 This->request_method =
i;
1240 nsIURI_AddRef(
This->referrer);
1241 *aReferrer =
This->referrer;
1252 nsIURI_AddRef(aReferrer);
1254 nsIURI_Release(
This->referrer);
1255 This->referrer = aReferrer;
1262 FIXME(
"(%p)->(%p)\n",
This, aReferrerPolicy);
1269 FIXME(
"(%p)->(%p %x)\n",
This, aReferrer, aReferrerPolicy);
1291 FIXME(
"aMerge not supported\n");
1310 FIXME(
"(%p)->(%p)\n",
This, aAllowPipelining);
1319 FIXME(
"(%p)->(%x)\n",
This, aAllowPipelining);
1342 FIXME(
"(%p)->(%p)\n",
This, aRedirectionLimit);
1351 FIXME(
"(%p)->(%u)\n",
This, aRedirectionLimit);
1360 TRACE(
"(%p)->(%p)\n",
This, aResponseStatus);
1362 if(
This->response_status) {
1363 *aResponseStatus =
This->response_status;
1367 WARN(
"No response status\n");
1376 TRACE(
"(%p)->(%p)\n",
This, aResponseStatusText);
1387 TRACE(
"(%p)->(%p)\n",
This, aRequestSucceeded);
1389 if(!
This->response_status)
1392 *aRequestSucceeded =
This->response_status/100 == 2;
1432 static const WCHAR cache_controlW[] = {
'C',
'a',
'c',
'h',
'e',
'-',
'C',
'o',
'n',
't',
'r',
'o',
'l'};
1433 static const WCHAR no_storeW[] = {
'n',
'o',
'-',
's',
't',
'o',
'r',
'e',0};
1542 return nsIHttpChannel_QueryInterface(&
This->nsIHttpChannel_iface,
riid,
result);
1548 return nsIHttpChannel_AddRef(&
This->nsIHttpChannel_iface);
1554 return nsIHttpChannel_Release(&
This->nsIHttpChannel_iface);
1563 static const WCHAR content_typeW[] =
1564 {
'C',
'o',
'n',
't',
'e',
'n',
't',
'-',
'T',
'y',
'p',
'e',0};
1568 This->post_data_contains_headers =
TRUE;
1582 This->post_data_contains_headers =
FALSE;
1586 if(aContentLength != -1)
1589 if(
This->post_data_stream)
1590 nsIInputStream_Release(
This->post_data_stream);
1591 This->post_data_stream = aStream;
1593 nsIInputStream_AddRef(aStream);
1604 TRACE(
"(%p)->(%p)\n",
This, aUploadStream);
1606 if(
This->post_data_stream)
1607 nsIInputStream_AddRef(
This->post_data_stream);
1609 *aUploadStream =
This->post_data_stream;
1630 return nsIHttpChannel_QueryInterface(&
This->nsIHttpChannel_iface,
riid,
result);
1636 return nsIHttpChannel_AddRef(&
This->nsIHttpChannel_iface);
1642 return nsIHttpChannel_Release(&
This->nsIHttpChannel_iface);
1757 FIXME(
"(%p)->(%p)\n",
This, aLocalAddress);
1766 FIXME(
"(%p)->(%p)\n",
This, aLocalPort);
1775 FIXME(
"(%p)->(%p)\n",
This, aRemoteAddress);
1784 FIXME(
"(%p)->(%p)\n",
This, aRemotePort);
1809 FIXME(
"(%p)->(%p)\n",
This, aAllowSpdy);
1816 FIXME(
"(%p)->(%x)\n",
This, aAllowSpdy);
1824 FIXME(
"(%p)->(%p)\n",
This, aResponseTimeoutEnabled);
1832 FIXME(
"(%p)->(%x)\n",
This, aResponseTimeoutEnabled);
1839 FIXME(
"(%p)->(%p)\n",
This, aApiRedirectToURI);
1846 FIXME(
"(%p)->(%p)\n",
This, aAllowAltSvc);
1853 FIXME(
"(%p)->(%x)\n",
This, aAllowAltSvc);
1860 FIXME(
"(%p)->(%p)\n",
This, aPrincipal);
1867 FIXME(
"(%p)->(%p)\n",
This, aLastModifiedTime);
1882 FIXME(
"(%p)->(%p)\n",
This, aCorsIncludeCredentials);
1890 FIXME(
"(%p)->(%x)\n",
This, aCorsIncludeCredentials);
1911 FIXME(
"(%p)->(%p)\n",
This, aTopWindowURI);
1919 FIXME(
"(%p)->(%p)\n",
This, aNetworkInterfaceId);
1992 IUri_Release(
This->uri);
1999 if(!
This->is_mutable) {
2000 WARN(
"Not mutable URI\n");
2004 if(!
This->uri_builder) {
2012 WARN(
"CreateIUriBuilder failed: %08x\n",
hres);
2030 hres = IUri_GetPropertyBSTR(
This->uri, prop, &
val, 0);
2032 WARN(
"GetPropertyBSTR failed: %08x\n",
hres);
2082 nsIFileURL_AddRef(&
This->nsIFileURL_iface);
2108 if(
This->window_ref)
2111 nsIWebBrowserChrome_Release(&
This->container->nsIWebBrowserChrome_iface);
2113 IUri_Release(
This->uri);
2140 if(!
This->is_mutable)
2151 WARN(
"create_uri failed: %08x\n",
hres);
2156 if(
This->uri_builder) {
2157 IUriBuilder_Release(
This->uri_builder);
2184 hres = IUriBuilder_RemoveProperties(uri_builder, Uri_HAS_PATH|Uri_HAS_QUERY|Uri_HAS_FRAGMENT);
2186 hres = IUriBuilder_CreateUriSimple(uri_builder, 0, 0, &
uri);
2187 IUriBuilder_Release(uri_builder);
2191 hres = IUri_GetDisplayUri(
uri, &display_uri);
2198 if(
len && display_uri[
len-1] ==
'/')
2199 display_uri[
len-1] = 0;
2219 WARN(
"GetScheme failed: %08x\n",
hres);
2234 const char *schemea;
2278 FIXME(
"Construct user:pass string\n");
2292 const char *user_pass;
2321 hres = IUriBuilder_SetUserName(
This->uri_builder,
user);
2323 hres = IUriBuilder_SetPassword(
This->uri_builder,
pass);
2355 hres = IUriBuilder_SetUserName(
This->uri_builder,
user);
2389 hres = IUriBuilder_SetPassword(
This->uri_builder,
pass);
2412 WARN(
"GetAuthority failed: %08x\n",
hres);
2488 WARN(
"GetPort failed: %08x\n",
hres);
2506 hres = IUriBuilder_SetPort(
This->uri_builder, aPort != -1, aPort);
2555 TRACE(
"Could not get nsWineURI interface\n");
2612 This->container,
This->origin_charset, &wine_uri);
2614 WARN(
"create_nsuri failed: %08x\n", nsres);
2648 hres = IUri_GetDisplayUri(new_uri, &
ret);
2649 IUri_Release(new_uri);
2668 TRACE(
"(%p)->(%p)\n",
This, aAsciiSpec);
2670 return nsIFileURL_GetSpec(&
This->nsIFileURL_iface, aAsciiSpec);
2677 WARN(
"(%p)->(%p) FIXME: Use Uri_PUNYCODE_IDN_HOST flag\n",
This, aAsciiHost);
2686 TRACE(
"(%p)->(%p)\n",
This, aOriginCharset);
2735 hres = IUriBuilder_SetFragment(
This->uri_builder,
ref);
2753 TRACE(
"Could not get nsWineURI interface\n");
2786 This->origin_charset, &wine_uri);
2789 WARN(
"create_nsuri failed: %08x\n", nsres);
2801 FIXME(
"(%p)->(%p)\n",
This, aSpecIgnoringRef);
2803 return nsIFileURL_GetSpec(&
This->nsIFileURL_iface, aSpecIgnoringRef);
2817 hres = IUri_HasProperty(
This->uri, Uri_PROPERTY_FRAGMENT, &
b);
2831 return nsIFileURL_GetPath(&
This->nsIFileURL_iface, aFilePath);
2840 if(!
This->is_mutable)
2843 return nsIFileURL_SetPath(&
This->nsIFileURL_iface, aFilePath);
2910 if(*
ptr ==
'/' || *
ptr ==
'\\')
2931 TRACE(
"(%p)->(%p)\n",
This, aDirectory);
2984 TRACE(
"(%p)->(%p)\n",
This, aFileBaseName);
3006 TRACE(
"(%p)->(%p)\n",
This, aFileExtension);
3021 FIXME(
"(%p)->(%p %p)\n",
This, aURIToCompare, _retval);
3028 FIXME(
"(%p)->(%p %p)\n",
This, aURIToCompare, _retval);
3043 WARN(
"CoInternetParseIUri failed: %08x\n",
hres);
3120 return nsIFileURL_QueryInterface(&
This->nsIFileURL_iface,
riid,
result);
3126 return nsIFileURL_AddRef(&
This->nsIFileURL_iface);
3132 return nsIFileURL_Release(&
This->nsIFileURL_iface);
3141 *aMutable =
This->is_mutable;
3151 This->is_mutable = aMutable;
3173 const char *origin_charset,
nsWineURI **_retval)
3193 hres = IUri_GetScheme(iuri, &
ret->scheme);
3197 if(origin_charset && *origin_charset &&
strcmp(origin_charset,
"UTF-8")) {
3199 if(!
ret->origin_charset) {
3200 nsIFileURL_Release(&
ret->nsIFileURL_iface);
3232 channel = heap_alloc_zero(
sizeof(
nsChannel));
3244 nsIFileURL_AddRef(&
uri->nsIFileURL_iface);
3272 nsIFileURL_Release(&
uri->nsIFileURL_iface);
3277 nsILoadGroup_AddRef(orig_channel->
load_group);
3289 FIXME(
"unsupported POST method\n");
3297 nsIURI_AddRef(orig_channel->
referrer);
3332 TRACE(
"(%p)->(IID_nsIExternalProtocolHandler %p), returning NULL\n",
This,
result);
3364 nsIProtocolHandler_Release(
This->nshandler);
3378 return nsIProtocolHandler_GetScheme(
This->nshandler, aScheme);
3387 TRACE(
"(%p)->(%p)\n",
This, aDefaultPort);
3390 return nsIProtocolHandler_GetDefaultPort(
This->nshandler, aDefaultPort);
3399 TRACE(
"(%p)->(%p)\n",
This, aProtocolFlags);
3402 return nsIProtocolHandler_GetProtocolFlags(
This->nshandler, aProtocolFlags);
3415 return nsIProtocolHandler_NewURI(
This->nshandler, aSpec, aOriginCharset, aBaseURI, _retval);
3424 TRACE(
"(%p)->(%p %p %p)\n",
This, aURI, aLoadInfo, _retval);
3427 return nsIProtocolHandler_NewChannel2(
This->nshandler, aURI, aLoadInfo, _retval);
3436 TRACE(
"(%p)->(%p %p)\n",
This, aURI, _retval);
3439 return nsIProtocolHandler_NewChannel(
This->nshandler, aURI, _retval);
3451 return nsIProtocolHandler_AllowPort(
This->nshandler,
port,
scheme, _retval);
3490 nsres = nsIIOService_GetProtocolHandler(
nsio, aScheme, &nshandler);
3492 WARN(
"GetProtocolHandler failed: %08x\n", nsres);
3496 nsres = nsIProtocolHandler_QueryInterface(nshandler, &IID_nsIExternalProtocolHandler,
3497 (
void**)&nsexthandler);
3499 *_retval = nshandler;
3503 nsIExternalProtocolHandler_Release(nsexthandler);
3511 ret->nshandler = nshandler;
3512 *_retval = &
ret->nsIProtocolHandler_iface;
3514 TRACE(
"return %p\n", *_retval);
3522 return nsIIOService_GetProtocolFlags(
nsio, aScheme, _retval);
3527 static const char *special_schemes[] = {
"chrome:",
"data:",
"jar:",
"moz-safe-about",
"resource:",
"javascript:",
"wyciwyg:"};
3530 for(
i=0;
i <
sizeof(special_schemes)/
sizeof(*special_schemes);
i++) {
3536 const char *
ptr = spec+5;
3546 const char *aOriginCharset,
nsIURI *aBaseURI,
nsIURI **_retval)
3551 const char *spec =
NULL;
3562 return nsIIOService_NewURI(
nsio, aSpec, aOriginCharset, aBaseURI, _retval);
3564 if(!
strncmp(spec,
"wine:", 5))
3568 nsres = nsIURI_QueryInterface(aBaseURI, &
IID_nsWineURI, (
void**)&base_wine_uri);
3572 if(base_wine_uri->window_ref)
3573 window = base_wine_uri->window_ref->window;
3575 WARN(
"Could not get base nsWineURI: %08x\n", nsres);
3579 if(aOriginCharset && *aOriginCharset &&
strncasecmp(aOriginCharset,
"utf", 3)) {
3601 WARN(
"create_uri failed: %08x\n",
hres);
3605 return nsIIOService_NewURI(
nsio, aSpec, aOriginCharset, aBaseURI, _retval);
3608 IUri_Release(urlmon_uri);
3621 TRACE(
"(%p %p)\n", aFile, _retval);
3622 return nsIIOService_NewFileURI(
nsio, aFile, _retval);
3633 TRACE(
"Could not get nsWineURI: %08x\n", nsres);
3634 return nsIIOService_NewChannelFromURI(
nsio,
uri, _retval);
3646 nsIHttpChannel_SetLoadInfo(&
ret->nsIHttpChannel_iface, load_info);
3659 TRACE(
"(%p %p %p %p %x %d %p)\n", aURI, aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal,
3660 aSecurityFlags, aContentPolicyType, _retval);
3662 if(aLoadingNode || aLoadingPrincipal) {
3663 nsres = nsIIOService_NewLoadInfo(
nsio, aLoadingPrincipal, aTriggeringPrincipal, aLoadingNode,
3664 aSecurityFlags, aContentPolicyType, &load_info);
3670 nsISupports_Release(load_info);
3677 TRACE(
"(%p %p %p)\n", aURI, aLoadInfo, _retval);
3684 TRACE(
"(%p %p)\n", aURI, _retval);
3693 aLoadingNode, aLoadingPrincipal, aTriggeringPrincipal, aSecurityFlags, aContentPolicyType, _retval);
3694 return nsIIOService_NewChannel2(
nsio, aSpec, aOriginCharset, aBaseURI, aLoadingNode, aLoadingPrincipal,
3695 aTriggeringPrincipal, aSecurityFlags, aContentPolicyType, _retval);
3702 return nsIIOService_NewChannel(
nsio, aSpec, aOriginCharset, aBaseURI, _retval);
3707 TRACE(
"(%p)\n", aOffline);
3708 return nsIIOService_GetOffline(
nsio, aOffline);
3713 TRACE(
"(%x)\n", aOffline);
3714 return nsIIOService_SetOffline(
nsio, aOffline);
3719 TRACE(
"(%p)\n", aConnectivity);
3720 return nsIIOService_GetConnectivity(
nsio, aConnectivity);
3726 return nsIIOService_SetAppOffline(
nsio, appId,
state);
3731 TRACE(
"(%u %p)\n", appId, _retval);
3732 return nsIIOService_IsAppOffline(
nsio, appId, _retval);
3737 TRACE(
"(%d %p)\n", appId, _retval);
3738 return nsIIOService_GetAppOfflineState(
nsio, appId, _retval);
3742 const char *aScheme,
cpp_bool *_retval)
3745 return nsIIOService_AllowPort(
nsio, aPort,
debugstr_a(aScheme), _retval);
3752 return nsIIOService_ExtractScheme(
nsio, urlString, _retval);
3801 return nsINetUtil_ParseContentType(
net_util, aTypeHeader, aCharset, aHadCharset, aContentType);
3807#define X(f) case f: return #f
3812 X(ALLOWS_PROXY_HTTP);
3813 X(URI_INHERITS_SECURITY_CONTEXT);
3814 X(URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT);
3815 X(URI_LOADABLE_BY_ANYONE);
3816 X(URI_DANGEROUS_TO_LOAD);
3817 X(URI_IS_UI_RESOURCE);
3818 X(URI_IS_LOCAL_FILE);
3819 X(URI_LOADABLE_BY_SUBSUMERS);
3820 X(URI_DOES_NOT_RETURN_DATA);
3821 X(URI_IS_LOCAL_RESOURCE);
3822 X(URI_OPENING_EXECUTES_SCRIPT);
3823 X(URI_NON_PERSISTABLE);
3824 X(URI_FORBIDS_COOKIE_ACCESS);
3825 X(URI_CROSS_ORIGIN_NEEDS_WEBAPPS_PERM);
3826 X(URI_SYNC_LOAD_IS_OK);
3827 X(URI_SAFE_TO_LOAD_IN_SECURE_CONTEXT);
3838 return nsINetUtil_ProtocolHasFlags(
net_util, aURI, aFlags, _retval);
3845 if(aFlags == URI_DOES_NOT_RETURN_DATA) {
3850 return nsINetUtil_URIChainHasFlags(
net_util, aURI, aFlags, _retval);
3855 TRACE(
"(%p %p)\n", aURI, _retval);
3857 return nsINetUtil_ToImmutableURI(
net_util, aURI, _retval);
3862 TRACE(
"(%p %p)\n", aURI, _retval);
3864 return nsINetUtil_NewSimpleNestedURI(
net_util, aURI, _retval);
3872 return nsINetUtil_EscapeString(
net_util, aString, aEscapeType, _retval);
3880 return nsINetUtil_EscapeURL(
net_util, aStr, aFlags, _retval);
3888 return nsINetUtil_UnescapeString(
net_util, aStr, aFlags, _retval);
3895 aCharsetEnd, _retval);
3897 return nsINetUtil_ExtractCharsetFromContentType(
net_util, aTypeHeader, aCharset, aCharsetStart, aCharsetEnd, _retval);
3952 nsIFactory_AddRef(iface);
4006 hres = IDocHostUIHandler_TranslateUrl(doc->
hostui, 0,
url, &new_url);
4028 WARN(
"Could not get nsWineURI: %08x\n", nsres);
4040 if(nscontainer->
doc)
4053 nsres = nsIComponentManager_GetClassObject(component_manager, &
NS_IOSERVICE_CID,
4054 &IID_nsIFactory, (
void**)&old_factory);
4056 ERR(
"Could not get factory: %08x\n", nsres);
4060 nsres = nsIFactory_CreateInstance(old_factory,
NULL, &IID_nsIIOService, (
void**)&
nsio);
4062 ERR(
"Couldn not create nsIOService instance %08x\n", nsres);
4063 nsIFactory_Release(old_factory);
4067 nsres = nsIIOService_QueryInterface(
nsio, &IID_nsINetUtil, (
void**)&
net_util);
4069 WARN(
"Could not get nsINetUtil interface: %08x\n", nsres);
4070 nsIIOService_Release(
nsio);
4074 nsres = nsIComponentRegistrar_UnregisterFactory(registrar, &
NS_IOSERVICE_CID, old_factory);
4075 nsIFactory_Release(old_factory);
4077 ERR(
"UnregisterFactory failed: %08x\n", nsres);
4079 nsres = nsIComponentRegistrar_RegisterFactory(registrar, &
NS_IOSERVICE_CID,
4082 ERR(
"RegisterFactory failed: %08x\n", nsres);
4093 nsIIOService_Release(
nsio);
_STLP_MOVE_TO_STD_NAMESPACE _OutputIter merge(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2, _InputIter2 __last2, _OutputIter __result)
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
static char * heap_strdupWtoA(const WCHAR *str)
static WCHAR * heap_strdupAtoW(const char *str)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
void user(int argc, const char *argv[])
static void list_remove(struct list_entry *entry)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
#define BINDING_NAVIGATED
void set_current_mon(HTMLOuterWindow *, IMoniker *, DWORD) DECLSPEC_HIDDEN
void channelbsc_set_channel(nsChannelBSC *, nsChannel *, nsIStreamListener *, nsISupports *) DECLSPEC_HIDDEN
HRESULT create_uri(const WCHAR *, DWORD, IUri **) DECLSPEC_HIDDEN
HRESULT hlink_frame_navigate(HTMLDocument *, LPCWSTR, nsChannel *, DWORD, BOOL *) DECLSPEC_HIDDEN
HRESULT create_channelbsc(IMoniker *, const WCHAR *, BYTE *, DWORD, BOOL, nsChannelBSC **) DECLSPEC_HIDDEN
const char * wine_dbg_sprintf(const char *format,...)
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR *const ext[]
UINT cp_from_charset_string(BSTR charset)
HRESULT WINAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
HRESULT WINAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved)
HRESULT WINAPI CreateIUriBuilder(IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder)
#define INTERNET_MAX_URL_LENGTH
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HTMLOuterWindow * nswindow_to_window(const nsIDOMWindow *nswindow)
HRESULT create_pending_window(HTMLOuterWindow *outer_window, nsChannelBSC *channelbsc)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
static IHTMLWindow2 * window
static UNICODE_STRING value_str
static char * heap_strdupA(const char *str)
#define NS_ERROR_NOT_IMPLEMENTED
HRESULT async_start_doc_binding(HTMLOuterWindow *, HTMLInnerWindow *) DECLSPEC_HIDDEN
BOOL is_gecko_path(const char *) DECLSPEC_HIDDEN
nsresult create_nsfile(const PRUnichar *, nsIFile **) DECLSPEC_HIDDEN
void nsACString_Finish(nsACString *) DECLSPEC_HIDDEN
HRESULT start_binding(HTMLInnerWindow *, BSCallback *, IBindCtx *) DECLSPEC_HIDDEN
void nsACString_InitDepend(nsACString *, const char *) DECLSPEC_HIDDEN
static void windowref_addref(windowref_t *ref)
static WCHAR * heap_strdupUtoW(const char *str)
#define NS_ERROR_OUT_OF_MEMORY
#define NS_BINDING_ABORTED
nsresult get_nsinterface(nsISupports *, REFIID, void **) DECLSPEC_HIDDEN
static void windowref_release(windowref_t *ref)
static char * heap_strdupWtoU(const WCHAR *str)
void nsACString_SetData(nsACString *, const char *) DECLSPEC_HIDDEN
#define NS_SUCCEEDED(res)
#define NS_ERROR_NOT_AVAILABLE
#define NS_ERROR_UNEXPECTED
HRESULT push_task(task_t *, task_proc_t, task_proc_t, LONG) DECLSPEC_HIDDEN
UINT32 nsACString_GetData(const nsACString *, const char **) DECLSPEC_HIDDEN
static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl
static nsrefcnt NSAPI nsUploadChannel_Release(nsIUploadChannel *iface)
static nsresult NSAPI nsHttpChannelInternal_SetCorsMode(nsIHttpChannelInternal *iface, UINT32 aCorsMode)
static nsresult get_channel_http_header(struct list *headers, const nsACString *header_name_str, nsACString *_retval)
static BOOL is_http_channel(nsChannel *This)
static const nsIProtocolHandlerVtbl nsProtocolHandlerVtbl
static nsresult NSAPI nsNetUtil_ProtocolHasFlags(nsINetUtil *iface, nsIURI *aURI, UINT32 aFlags, cpp_bool *_retval)
static nsresult NSAPI nsHttpChannelInternal_GetLocalPort(nsIHttpChannelInternal *iface, LONG *aLocalPort)
static nsresult NSAPI nsChannel_IsPrivateResponse(nsIHttpChannel *iface, cpp_bool *_retval)
static nsresult NSAPI nsHttpChannelInternal_GetResponseVersion(nsIHttpChannelInternal *iface, UINT32 *major, UINT32 *minor)
static nsresult NSAPI nsURL_SetFilePath(nsIFileURL *iface, const nsACString *aFilePath)
static nsresult NSAPI nsChannel_SetNotificationCallbacks(nsIHttpChannel *iface, nsIInterfaceRequestor *aNotificationCallbacks)
static void set_uri_nscontainer(nsWineURI *This, NSContainer *nscontainer)
static nsresult NSAPI nsChannel_IsNoCacheResponse(nsIHttpChannel *iface, cpp_bool *_retval)
static nsINetUtil nsNetUtil
static nsresult NSAPI nsChannel_SetAllowTLS(nsIHttpChannel *iface, cpp_bool aAllowTLS)
static nsresult NSAPI nsURL_GetFileExtension(nsIFileURL *iface, nsACString *aFileExtension)
static nsresult NSAPI nsUploadChannel_SetUploadStream(nsIUploadChannel *iface, nsIInputStream *aStream, const nsACString *aContentType, INT64 aContentLength)
static nsresult NSAPI nsURL_SetRef(nsIFileURL *iface, const nsACString *aRef)
static nsresult NSAPI nsHttpChannelInternal_SetNetworkInterfaceId(nsIHttpChannelInternal *iface, const nsACString *aNetworkInterfaceId)
static BOOL compare_ignoring_frag(IUri *uri1, IUri *uri2)
static nsresult NSAPI nsNetUtil_ParseContentType(nsINetUtil *iface, const nsACString *aTypeHeader, nsACString *aCharset, cpp_bool *aHadCharset, nsACString *aContentType)
static nsresult NSAPI nsChannel_GetLoadGroup(nsIHttpChannel *iface, nsILoadGroup **aLoadGroup)
static void set_uri_window(nsWineURI *This, HTMLOuterWindow *window)
static nsresult NSAPI nsIOService_QueryInterface(nsIIOService *, nsIIDRef, void **)
static BOOL ensure_uri(nsWineURI *This)
HRESULT load_nsuri(HTMLOuterWindow *window, nsWineURI *uri, nsIInputStream *post_stream, nsChannelBSC *channelbsc, DWORD flags)
static nsresult return_wstr_nsacstr(nsACString *ret_str, const WCHAR *str, int len)
static nsresult NSAPI nsChannel_GetLoadInfo(nsIHttpChannel *iface, nsILoadInfo **aLoadInfo)
static nsresult create_nsuri(IUri *, HTMLOuterWindow *, NSContainer *, const char *, nsWineURI **)
static nsresult NSAPI nsURI_SetUserPass(nsIFileURL *iface, const nsACString *aUserPass)
static nsresult NSAPI nsChannel_AsyncOpen(nsIHttpChannel *iface, nsIStreamListener *aListener, nsISupports *aContext)
static nsresult NSAPI nsNetUtil_QueryInterface(nsINetUtil *iface, nsIIDRef riid, void **result)
static nsrefcnt NSAPI nsUploadChannel_AddRef(nsIUploadChannel *iface)
static nsresult NSAPI nsChannel_SetReferrer(nsIHttpChannel *iface, nsIURI *aReferrer)
static nsWineURI * impl_from_nsIFileURL(nsIFileURL *iface)
static nsresult NSAPI nsChannel_Open(nsIHttpChannel *iface, nsIInputStream **_retval)
static nsresult NSAPI nsHttpChannelInternal_AddRedirect(nsIHttpChannelInternal *iface, nsIPrincipal *aPrincipal)
IUri * get_uri_nofrag(IUri *uri)
static const nsIUploadChannelVtbl nsUploadChannelVtbl
static nsresult NSAPI nsStandardURL_SetMutable(nsIStandardURL *iface, cpp_bool aMutable)
static nsresult NSAPI nsChannel_GetRedirectionLimit(nsIHttpChannel *iface, UINT32 *aRedirectionLimit)
nsresult on_start_uri_open(NSContainer *nscontainer, nsIURI *uri, cpp_bool *_retval)
static nsresult NSAPI nsIOService_NewURI(nsIIOService *iface, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI, nsIURI **_retval)
static nsresult NSAPI nsHttpChannelInternal_ForceNoIntercept(nsIHttpChannelInternal *iface)
static nsresult NSAPI nsURI_QueryInterface(nsIFileURL *iface, nsIIDRef riid, void **result)
HRESULT create_doc_uri(HTMLOuterWindow *window, IUri *iuri, nsWineURI **ret)
static nsresult NSAPI nsChannel_GetStatus(nsIHttpChannel *iface, nsresult *aStatus)
static nsresult NSAPI nsHttpChannelInternal_SetChannelIsForDownload(nsIHttpChannelInternal *iface, cpp_bool aCanceled)
static nsresult NSAPI nsURL_SetFileName(nsIFileURL *iface, const nsACString *aFileName)
static nsresult NSAPI nsIOService_GetOffline(nsIIOService *iface, cpp_bool *aOffline)
static nsresult NSAPI nsChannel_GetRequestSucceeded(nsIHttpChannel *iface, cpp_bool *aRequestSucceeded)
static nsresult NSAPI nsProtocolHandler_GetProtocolFlags(nsIProtocolHandler *iface, UINT32 *aProtocolFlags)
static nsresult NSAPI nsURI_GetPath(nsIFileURL *iface, nsACString *aPath)
static nsrefcnt NSAPI nsProtocolHandler_AddRef(nsIProtocolHandler *iface)
static nsresult NSAPI nsIOService_IsAppOffline(nsIIOService *iface, UINT32 appId, cpp_bool *_retval)
static nsresult NSAPI nsNetUtil_URIChainHasFlags(nsINetUtil *iface, nsIURI *aURI, UINT32 aFlags, cpp_bool *_retval)
static nsresult NSAPI nsIOServiceFactory_QueryInterface(nsIFactory *iface, nsIIDRef riid, void **result)
HRESULT set_http_header(struct list *headers, const WCHAR *name, int name_len, const WCHAR *value, int value_len)
static nsresult NSAPI nsStandardURL_QueryInterface(nsIStandardURL *iface, nsIIDRef riid, void **result)
static nsChannel * impl_from_nsIUploadChannel(nsIUploadChannel *iface)
static const IID NS_IOSERVICE_CID
static nsresult before_async_open(nsChannel *channel, NSContainer *container, BOOL *cancel)
static nsresult NSAPI nsIOServiceFactory_CreateInstance(nsIFactory *iface, nsISupports *aOuter, const nsIID *iid, void **result)
static nsresult NSAPI nsChannel_SetRequestHeader(nsIHttpChannel *iface, const nsACString *aHeader, const nsACString *aValue, cpp_bool aMerge)
static nsresult NSAPI nsHttpChannelInternal_GetResponseTimeoutEnabled(nsIHttpChannelInternal *iface, cpp_bool *aResponseTimeoutEnabled)
static nsrefcnt NSAPI nsIOService_Release(nsIIOService *iface)
static nsresult NSAPI nsChannel_GetOwner(nsIHttpChannel *iface, nsISupports **aOwner)
static nsresult NSAPI nsChannel_GetRequestMethod(nsIHttpChannel *iface, nsACString *aRequestMethod)
static nsresult NSAPI nsChannel_GetResponseStatus(nsIHttpChannel *iface, UINT32 *aResponseStatus)
static nsresult NSAPI nsURI_CloneIgnoreRef(nsIFileURL *iface, nsIURI **_retval)
static nsIIOService nsIOService
static nsresult NSAPI nsStandardURL_GetMutable(nsIStandardURL *iface, cpp_bool *aMutable)
static nsresult NSAPI nsHttpChannelInternal_GetChannelIsForDownload(nsIHttpChannelInternal *iface, cpp_bool *aCanceled)
static nsresult NSAPI nsURL_GetRelativeSpec(nsIFileURL *iface, nsIURI *aURIToCompare, nsACString *_retval)
static nsresult NSAPI nsURI_EqualsExceptRef(nsIFileURL *iface, nsIURI *other, cpp_bool *_retval)
static nsrefcnt NSAPI nsHttpChannelInternal_AddRef(nsIHttpChannelInternal *iface)
static nsresult NSAPI nsChannel_SetLoadInfo(nsIHttpChannel *iface, nsILoadInfo *aLoadInfo)
static nsresult NSAPI nsURI_GetScheme(nsIFileURL *iface, nsACString *aScheme)
static nsresult NSAPI nsChannel_SetAllowPipelining(nsIHttpChannel *iface, cpp_bool aAllowPipelining)
static const char * debugstr_nsacstr(const nsACString *nsstr)
static nsresult NSAPI nsHttpChannelInternal_SetForceAllowThirdPartyCookie(nsIHttpChannelInternal *iface, cpp_bool aForceThirdPartyCookie)
static void invalidate_uri(nsWineURI *This)
static nsresult NSAPI nsChannel_GetContentDispositionHeader(nsIHttpChannel *iface, nsACString *aContentDispositionHeader)
static nsresult NSAPI nsURI_SchemeIs(nsIFileURL *iface, const char *scheme, cpp_bool *_retval)
static nsresult NSAPI nsChannel_GetName(nsIHttpChannel *iface, nsACString *aName)
static nsresult NSAPI nsChannel_Cancel(nsIHttpChannel *iface, nsresult aStatus)
IUri * nsuri_get_uri(nsWineURI *nsuri)
static nsresult NSAPI nsHttpChannelInternal_HTTPUpgrade(nsIHttpChannelInternal *iface, const nsACString *aProtocolName, nsIHttpUpgradeListener *aListener)
static nsresult NSAPI nsHttpChannelInternal_GetProxyURI(nsIHttpChannelInternal *iface, nsIURI **aProxyURI)
static nsresult NSAPI nsChannel_GetURI(nsIHttpChannel *iface, nsIURI **aURI)
static nsresult NSAPI nsProtocolHandler_NewURI(nsIProtocolHandler *iface, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI, nsIURI **_retval)
static nsresult NSAPI nsURI_SetPassword(nsIFileURL *iface, const nsACString *aPassword)
static void start_binding_proc(task_t *_task)
static nsresult NSAPI nsHttpChannelInternal_GetApiRedirectToURI(nsIHttpChannelInternal *iface, nsIURI **aApiRedirectToURI)
static nsresult NSAPI nsChannel_SetContentLength(nsIHttpChannel *iface, INT64 aContentLength)
static nsrefcnt NSAPI nsNetUtil_AddRef(nsINetUtil *iface)
static nsresult NSAPI nsIOService_NewChannelFromURI2(nsIIOService *iface, nsIURI *aURI, nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal, UINT32 aSecurityFlags, UINT32 aContentPolicyType, nsIChannel **_retval)
#define NS_IOSERVICE_CLASSNAME
static nsresult NSAPI nsProtocolHandler_AllowPort(nsIProtocolHandler *iface, LONG port, const char *scheme, cpp_bool *_retval)
static nsrefcnt NSAPI nsURI_AddRef(nsIFileURL *iface)
static nsresult NSAPI nsChannel_GetContentDisposition(nsIHttpChannel *iface, UINT32 *aContentDisposition)
static nsresult NSAPI nsChannel_SetContentDisposition(nsIHttpChannel *iface, UINT32 aContentDisposition)
static nsresult get_uri_string(nsWineURI *This, Uri_PROPERTY prop, nsACString *ret)
static nsresult NSAPI nsHttpChannelInternal_GetTopWindowURI(nsIHttpChannelInternal *iface, nsIURI **aTopWindowURI)
static void free_http_headers(struct list *list)
static nsresult NSAPI nsURL_GetFileName(nsIFileURL *iface, nsACString *aFileName)
static nsresult NSAPI nsIOService_ExtractScheme(nsIIOService *iface, const nsACString *urlString, nsACString *_retval)
static nsresult get_uri_path(nsWineURI *This, BSTR *path, const WCHAR **file, const WCHAR **ext)
static nsresult NSAPI nsURI_GetSpecIgnoringRef(nsIFileURL *iface, nsACString *aSpecIgnoringRef)
static nsresult NSAPI nsURI_GetSpec(nsIFileURL *iface, nsACString *aSpec)
static nsresult NSAPI nsURI_SetHostPort(nsIFileURL *iface, const nsACString *aHostPort)
static void start_binding_task_destr(task_t *_task)
HRESULT nsuri_to_url(LPCWSTR nsuri, BOOL ret_empty, BSTR *ret)
static nsresult NSAPI nsNetUtil_UnescapeString(nsINetUtil *iface, const nsACString *aStr, UINT32 aFlags, nsACString *_retval)
static nsrefcnt NSAPI nsStandardURL_AddRef(nsIStandardURL *iface)
static nsresult NSAPI nsChannel_GetContentLength(nsIHttpChannel *iface, INT64 *aContentLength)
static nsresult NSAPI nsNetUtil_ToImmutableURI(nsINetUtil *iface, nsIURI *aURI, nsIURI **_retval)
static nsresult NSAPI nsURI_Equals(nsIFileURL *iface, nsIURI *other, cpp_bool *_retval)
static nsresult NSAPI nsURI_GetHostPort(nsIFileURL *iface, nsACString *aHostPort)
static nsresult NSAPI nsChannel_SetResponseHeader(nsIHttpChannel *iface, const nsACString *header, const nsACString *value, cpp_bool merge)
static nsresult NSAPI nsFileURL_GetFile(nsIFileURL *iface, nsIFile **aFile)
static const nsIFileURLVtbl nsFileURLVtbl
static nsresult NSAPI nsHttpChannelInternal_GetAllowSpdy(nsIHttpChannelInternal *iface, cpp_bool *aAllowSpdy)
static nsresult NSAPI nsHttpChannelInternal_GetLastModifiedTime(nsIHttpChannelInternal *iface, PRTime *aLastModifiedTime)
static nsresult NSAPI nsNetUtil_EscapeString(nsINetUtil *iface, const nsACString *aString, UINT32 aEscapeType, nsACString *_retval)
static nsWineURI * impl_from_nsIStandardURL(nsIStandardURL *iface)
static nsresult NSAPI nsProtocolHandler_GetDefaultPort(nsIProtocolHandler *iface, LONG *aDefaultPort)
static nsresult NSAPI nsURL_SetFileBaseName(nsIFileURL *iface, const nsACString *aFileBaseName)
static nsresult NSAPI nsNetUtil_EscapeURL(nsINetUtil *iface, const nsACString *aStr, UINT32 aFlags, nsACString *_retval)
static nsresult NSAPI nsChannel_SetContentCharset(nsIHttpChannel *iface, const nsACString *aContentCharset)
static nsresult NSAPI nsChannel_SetOriginalURI(nsIHttpChannel *iface, nsIURI *aOriginalURI)
static nsresult NSAPI nsURL_GetFilePath(nsIFileURL *iface, nsACString *aFilePath)
static const char * request_method_strings[]
static nsresult NSAPI nsChannel_GetLoadFlags(nsIHttpChannel *iface, nsLoadFlags *aLoadFlags)
static nsrefcnt NSAPI nsURI_Release(nsIFileURL *iface)
static nsresult NSAPI nsURI_GetUsername(nsIFileURL *iface, nsACString *aUsername)
static nsresult NSAPI nsURI_GetHasRef(nsIFileURL *iface, cpp_bool *aHasRef)
static nsresult async_open(nsChannel *This, HTMLOuterWindow *window, BOOL is_doc_channel, nsIStreamListener *listener, nsISupports *context)
static nsresult NSAPI nsHttpChannelInternal_GetNetworkInterfaceId(nsIHttpChannelInternal *iface, nsACString *aNetworkInterfaceId)
static nsrefcnt NSAPI nsProtocolHandler_Release(nsIProtocolHandler *iface)
static HTMLOuterWindow * get_channel_window(nsChannel *This)
static const nsIIOServiceVtbl nsIOServiceVtbl
static BOOL ensure_uri_builder(nsWineURI *This)
static nsresult NSAPI nsChannel_SetRequestMethod(nsIHttpChannel *iface, const nsACString *aRequestMethod)
static nsChannel * impl_from_nsIHttpChannel(nsIHttpChannel *iface)
static nsresult NSAPI nsURL_SetFileExtension(nsIFileURL *iface, const nsACString *aFileExtension)
static nsresult visit_http_headers(struct list *headers, nsIHttpHeaderVisitor *visitor)
static nsrefcnt NSAPI nsStandardURL_Release(nsIStandardURL *iface)
static nsresult NSAPI nsFileURL_SetFile(nsIFileURL *iface, nsIFile *aFile)
static nsresult NSAPI nsChannel_GetSecurityInfo(nsIHttpChannel *iface, nsISupports **aSecurityInfo)
static nsIFactory nsIOServiceFactory
static nsresult NSAPI nsURL_SetDirectory(nsIFileURL *iface, const nsACString *aDirectory)
static nsresult NSAPI nsChannel_Suspend(nsIHttpChannel *iface)
static nsresult NSAPI nsNetUtil_NewSimpleNestedURI(nsINetUtil *iface, nsIURI *aURI, nsIURI **_retval)
static nsresult NSAPI nsChannel_SetLoadFlags(nsIHttpChannel *iface, nsLoadFlags aLoadFlags)
static nsresult NSAPI nsChannel_VisitResponseHeaders(nsIHttpChannel *iface, nsIHttpHeaderVisitor *aVisitor)
static nsresult NSAPI nsHttpChannelInternal_GetRemotePort(nsIHttpChannelInternal *iface, LONG *aRemotePort)
static nsresult NSAPI nsURI_GetPort(nsIFileURL *iface, LONG *aPort)
static nsresult NSAPI nsHttpChannelInternal_GetCorsMode(nsIHttpChannelInternal *iface, UINT32 *aCorsMode)
static nsresult NSAPI nsIOServiceFactory_LockFactory(nsIFactory *iface, cpp_bool lock)
static nsresult NSAPI nsURI_SetUsername(nsIFileURL *iface, const nsACString *aUsername)
static nsresult NSAPI nsChannel_SetContentDispositionFilename(nsIHttpChannel *iface, const nsAString *aContentDispositionFilename)
static nsresult NSAPI nsHttpChannelInternal_SetCorsIncludeCredentials(nsIHttpChannelInternal *iface, cpp_bool aCorsIncludeCredentials)
static nsresult NSAPI nsChannel_GetResponseStatusText(nsIHttpChannel *iface, nsACString *aResponseStatusText)
static nsresult NSAPI nsIOService_SetOffline(nsIIOService *iface, cpp_bool aOffline)
static nsresult NSAPI nsHttpChannelInternal_GetRemoteAddress(nsIHttpChannelInternal *iface, nsACString *aRemoteAddress)
static nsresult NSAPI nsUploadChannel_QueryInterface(nsIUploadChannel *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsHttpChannelInternal_GetForceAllowThirdPartyCookie(nsIHttpChannelInternal *iface, cpp_bool *aForceThirdPartyCookie)
static nsresult NSAPI nsHttpChannelInternal_GetCorsIncludeCredentials(nsIHttpChannelInternal *iface, cpp_bool *aCorsIncludeCredentials)
static nsresult NSAPI nsChannel_SetLoadGroup(nsIHttpChannel *iface, nsILoadGroup *aLoadGroup)
static nsresult NSAPI nsIOService_SetAppOffline(nsIIOService *iface, UINT32 appId, INT32 state)
static nsresult NSAPI nsHttpChannelInternal_SetDocumentURI(nsIHttpChannelInternal *iface, nsIURI *aDocumentURI)
static nsresult NSAPI nsURI_SetPort(nsIFileURL *iface, LONG aPort)
static nsresult NSAPI nsHttpChannelInternal_GetLocalAddress(nsIHttpChannelInternal *iface, nsACString *aLocalAddress)
static nsresult NSAPI nsProtocolHandler_NewChannel2(nsIProtocolHandler *iface, nsIURI *aURI, nsILoadInfo *aLoadInfo, nsIChannel **_retval)
static nsresult NSAPI nsChannel_SetReferrerWithPolicy(nsIHttpChannel *iface, nsIURI *aReferrer, UINT32 aReferrerPolicy)
static nsresult NSAPI nsIOService_NewFileURI(nsIIOService *iface, nsIFile *aFile, nsIURI **_retval)
static http_header_t * find_http_header(struct list *headers, const WCHAR *name, int len)
static nsChannel * impl_from_nsIHttpChannelInternal(nsIHttpChannelInternal *iface)
static nsresult NSAPI nsUploadChannel_GetUploadStream(nsIUploadChannel *iface, nsIInputStream **aUploadStream)
static nsresult NSAPI nsStandardURL_Init(nsIStandardURL *iface, UINT32 aUrlType, LONG aDefaultPort, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI)
static nsresult set_channel_http_header(struct list *headers, const nsACString *name_str, const nsACString *value_str)
static nsresult NSAPI nsURL_GetQuery(nsIFileURL *iface, nsACString *aQuery)
static nsresult NSAPI nsURI_GetPassword(nsIFileURL *iface, nsACString *aPassword)
static nsresult NSAPI nsChannel_GetContentType(nsIHttpChannel *iface, nsACString *aContentType)
static const char * debugstr_protocol_flags(UINT32 flags)
static nsresult NSAPI nsURI_GetUserPass(nsIFileURL *iface, nsACString *aUserPass)
static nsresult NSAPI nsChannel_GetAllowPipelining(nsIHttpChannel *iface, cpp_bool *aAllowPipelining)
static nsresult NSAPI nsProtocolHandler_GetScheme(nsIProtocolHandler *iface, nsACString *aScheme)
static nsresult NSAPI nsIOService_AllowPort(nsIIOService *iface, LONG aPort, const char *aScheme, cpp_bool *_retval)
static nsresult NSAPI nsURI_Clone(nsIFileURL *iface, nsIURI **_retval)
static nsresult NSAPI nsHttpChannelInternal_SetCookie(nsIHttpChannelInternal *iface, const char *aCookieHeader)
static BOOL translate_url(HTMLDocumentObj *doc, nsWineURI *uri)
static nsresult NSAPI nsURL_GetRef(nsIFileURL *iface, nsACString *aRef)
static nsresult NSAPI nsHttpChannelInternal_SetAllowSpdy(nsIHttpChannelInternal *iface, cpp_bool aAllowSpdy)
static nsProtocolHandler * impl_from_nsIProtocolHandler(nsIProtocolHandler *iface)
static nsresult NSAPI nsHttpChannelInternal_GetDocumentURI(nsIHttpChannelInternal *iface, nsIURI **aDocumentURI)
static nsresult NSAPI nsURI_SetSpec(nsIFileURL *iface, const nsACString *aSpec)
static HRESULT combine_url(IUri *base_uri, const WCHAR *rel_url, IUri **ret)
static nsresult NSAPI nsChannel_GetAllowTLS(nsIHttpChannel *iface, cpp_bool *aAllowTLS)
static nsresult NSAPI nsChannel_SetOwner(nsIHttpChannel *iface, nsISupports *aOwner)
HRESULT create_redirect_nschannel(const WCHAR *url, nsChannel *orig_channel, nsChannel **ret)
static nsresult NSAPI nsHttpChannelInternal_SetCacheKeysRedirectChain(nsIHttpChannelInternal *iface, void *cacheKeys)
static nsresult NSAPI nsURI_SetHost(nsIFileURL *iface, const nsACString *aHost)
static nsresult NSAPI nsURL_GetFileBaseName(nsIFileURL *iface, nsACString *aFileBaseName)
static nsresult NSAPI nsHttpChannelInternal_GetCanceled(nsIHttpChannelInternal *iface, cpp_bool *aCanceled)
static nsresult NSAPI nsIOService_GetProtocolHandler(nsIIOService *iface, const char *aScheme, nsIProtocolHandler **_retval)
static nsresult NSAPI nsHttpChannelInternal_SetAllowAltSvc(nsIHttpChannelInternal *iface, cpp_bool aAllowAltSvc)
static BOOL is_gecko_special_uri(const char *spec)
static nsresult NSAPI nsChannel_IsPending(nsIHttpChannel *iface, cpp_bool *_retval)
static nsresult NSAPI nsURI_SetScheme(nsIFileURL *iface, const nsACString *aScheme)
static nsresult NSAPI nsChannel_GetNotificationCallbacks(nsIHttpChannel *iface, nsIInterfaceRequestor **aNotificationCallbacks)
static nsresult NSAPI nsIOService_NewChannelFromURI(nsIIOService *iface, nsIURI *aURI, nsIChannel **_retval)
static nsresult NSAPI nsChannel_GetRequestHeader(nsIHttpChannel *iface, const nsACString *aHeader, nsACString *_retval)
static nsresult NSAPI nsHttpChannelInternal_SetupFallbackChannel(nsIHttpChannelInternal *iface, const char *aFallbackKey)
static nsresult NSAPI nsURI_Resolve(nsIFileURL *iface, const nsACString *aRelativePath, nsACString *_retval)
static nsresult NSAPI nsChannel_RedirectTo(nsIHttpChannel *iface, nsIURI *aNewURI)
static nsresult NSAPI nsChannel_IsNoStoreResponse(nsIHttpChannel *iface, cpp_bool *_retval)
static nsresult NSAPI nsIOService_GetProtocolFlags(nsIIOService *iface, const char *aScheme, UINT32 *_retval)
static nsrefcnt NSAPI nsNetUtil_Release(nsINetUtil *iface)
static nsIIOService * nsio
static nsresult NSAPI nsURL_SetQuery(nsIFileURL *iface, const nsACString *aQuery)
static nsresult NSAPI nsHttpChannelInternal_GetRequestVersion(nsIHttpChannelInternal *iface, UINT32 *major, UINT32 *minor)
static nsresult NSAPI nsChannel_GetReferrer(nsIHttpChannel *iface, nsIURI **aReferrer)
static nsresult NSAPI nsChannel_GetResponseHeader(nsIHttpChannel *iface, const nsACString *header, nsACString *_retval)
static nsrefcnt NSAPI nsChannel_Release(nsIHttpChannel *iface)
static nsresult NSAPI nsHttpChannelInternal_QueryInterface(nsIHttpChannelInternal *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsURL_GetCommonBaseSpec(nsIFileURL *iface, nsIURI *aURIToCompare, nsACString *_retval)
static const nsIHttpChannelVtbl nsChannelVtbl
static nsresult NSAPI nsURI_GetAsciiHost(nsIFileURL *iface, nsACString *aAsciiHost)
static nsresult NSAPI nsProtocolHandler_NewChannel(nsIProtocolHandler *iface, nsIURI *aURI, nsIChannel **_retval)
static nsresult NSAPI nsIOService_NewChannel(nsIIOService *iface, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI, nsIChannel **_retval)
static nsresult NSAPI nsURL_GetDirectory(nsIFileURL *iface, nsACString *aDirectory)
static nsresult NSAPI nsChannel_GetReferrerPolicy(nsIHttpChannel *iface, UINT32 *aReferrerPolicy)
static nsresult NSAPI nsChannel_GetOriginalURI(nsIHttpChannel *iface, nsIURI **aOriginalURI)
static nsrefcnt NSAPI nsIOServiceFactory_AddRef(nsIFactory *iface)
static nsresult NSAPI nsChannel_Resume(nsIHttpChannel *iface)
static nsresult new_channel_from_uri(nsIURI *uri, nsILoadInfo *load_info, nsIChannel **_retval)
static nsrefcnt NSAPI nsHttpChannelInternal_Release(nsIHttpChannelInternal *iface)
static nsresult NSAPI nsChannel_GetContentDispositionFilename(nsIHttpChannel *iface, nsAString *aContentDispositionFilename)
#define NS_IOSERVICE_CONTRACTID
static nsresult NSAPI nsHttpChannelInternal_TakeAllSecurityMessages(nsIHttpChannelInternal *iface, void *aMessages)
static nsrefcnt NSAPI nsChannel_AddRef(nsIHttpChannel *iface)
static nsrefcnt NSAPI nsIOServiceFactory_Release(nsIFactory *iface)
static nsresult NSAPI nsChannel_SetContentType(nsIHttpChannel *iface, const nsACString *aContentType)
static BOOL exec_shldocvw_67(HTMLDocumentObj *doc, BSTR url)
static nsresult NSAPI nsURI_GetPrePath(nsIFileURL *iface, nsACString *aPrePath)
static nsresult create_nschannel(nsWineURI *uri, nsChannel **ret)
static const nsIFactoryVtbl nsIOServiceFactoryVtbl
static nsresult NSAPI nsHttpChannelInternal_SetResponseTimeoutEnabled(nsIHttpChannelInternal *iface, cpp_bool aResponseTimeoutEnabled)
static nsresult NSAPI nsIOService_NewChannel2(nsIIOService *iface, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI, nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal, UINT32 aSecurityFlags, UINT32 aContentPolicyType, nsIChannel **_retval)
static nsresult NSAPI nsChannel_VisitRequestHeaders(nsIHttpChannel *iface, nsIHttpHeaderVisitor *aVisitor)
static nsresult NSAPI nsChannel_GetContentCharset(nsIHttpChannel *iface, nsACString *aContentCharset)
static nsresult NSAPI nsProtocolHandler_QueryInterface(nsIProtocolHandler *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsURI_SetPath(nsIFileURL *iface, const nsACString *aPath)
static const nsIStandardURLVtbl nsStandardURLVtbl
static nsresult NSAPI nsURI_GetOriginCharset(nsIFileURL *iface, nsACString *aOriginCharset)
static nsresult NSAPI nsChannel_QueryInterface(nsIHttpChannel *iface, nsIIDRef riid, void **result)
static nsresult NSAPI nsIOService_GetAppOfflineState(nsIIOService *iface, UINT32 appId, INT32 *_retval)
static nsresult NSAPI nsChannel_SetRedirectionLimit(nsIHttpChannel *iface, UINT32 aRedirectionLimit)
static nsINetUtil * net_util
static nsresult NSAPI nsNetUtil_ExtractCharsetFromContentType(nsINetUtil *iface, const nsACString *aTypeHeader, nsACString *aCharset, LONG *aCharsetStart, LONG *aCharsetEnd, cpp_bool *_retval)
static nsresult NSAPI nsHttpChannelInternal_ContinueBeginConnect(nsIHttpChannelInternal *iface)
static nsresult NSAPI nsIOService_GetConnectivity(nsIIOService *iface, cpp_bool *aConnectivity)
static nsresult NSAPI nsURI_GetAsciiSpec(nsIFileURL *iface, nsACString *aAsciiSpec)
static HTMLOuterWindow * get_window_from_load_group(nsChannel *This)
static nsresult NSAPI nsIOService_NewChannelFromURIWithLoadInfo(nsIIOService *iface, nsIURI *aURI, nsILoadInfo *aLoadInfo, nsIChannel **_retval)
static nsresult NSAPI nsURI_GetHost(nsIFileURL *iface, nsACString *aHost)
static nsrefcnt NSAPI nsIOService_AddRef(nsIIOService *iface)
static nsresult NSAPI nsHttpChannelInternal_GetAllowAltSvc(nsIHttpChannelInternal *iface, cpp_bool *aAllowAltSvc)
void init_nsio(nsIComponentManager *component_manager, nsIComponentRegistrar *registrar)
static const IID IID_nsWineURI
static const nsINetUtilVtbl nsNetUtilVtbl
BSTR WINAPI SysAllocString(LPCOLESTR str)
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define IsEqualGUID(rguid1, rguid2)
#define strncmpiW(s1, s2, n)
#define strncmpW(s1, s2, n)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
vector< Header * > headers
#define URL_DONT_ESCAPE_EXTRA_INFO
#define URL_ESCAPE_SPACES_ONLY
IBindStatusCallback IBindStatusCallback_iface
IDocHostUIHandler * hostui
nsIWebBrowserChrome nsIWebBrowserChrome_iface
nsIInterfaceRequestor * notif_callback
struct list request_headers
nsILoadGroup * load_group
nsIUploadChannel nsIUploadChannel_iface
struct list response_headers
nsIHttpChannel nsIHttpChannel_iface
nsIHttpChannelInternal nsIHttpChannelInternal_iface
REQUEST_METHOD request_method
nsIProtocolHandler nsIProtocolHandler_iface
nsIProtocolHandler * nshandler
nsIFileURL nsIFileURL_iface
nsChannelBSC * channel_bsc
IUriBuilder * uri_builder
nsIStandardURL nsIStandardURL_iface
nsChannelBSC * bscallback
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker **ppmk, DWORD dwFlags)
#define INTERNET_MAX_SCHEME_LENGTH