2 * Copyright 2011 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 typedef struct nsWineURI nsWineURI
;
21 /* Keep sync with request_method_strings in nsio.c */
29 nsIHttpChannel nsIHttpChannel_iface
;
30 nsIUploadChannel nsIUploadChannel_iface
;
31 nsIHttpChannelInternal nsIHttpChannelInternal_iface
;
36 nsIInputStream
*post_data_stream
;
37 BOOL post_data_contains_headers
;
38 nsILoadGroup
*load_group
;
39 nsIInterfaceRequestor
*notif_callback
;
41 nsLoadFlags load_flags
;
46 PRUint32 response_status
;
47 REQUEST_METHOD request_method
;
48 struct list response_headers
;
49 struct list request_headers
;
53 typedef struct BSCallbackVtbl BSCallbackVtbl
;
56 IBindStatusCallback IBindStatusCallback_iface
;
57 IServiceProvider IServiceProvider_iface
;
58 IHttpNegotiate2 IHttpNegotiate2_iface
;
59 IInternetBindInfo IInternetBindInfo_iface
;
61 const BSCallbackVtbl
*vtbl
;
75 HTMLDocumentNode
*doc
;
80 typedef struct nsProtocolStream nsProtocolStream
;
88 nsIStreamListener
*nslistener
;
89 nsISupports
*nscontext
;
92 nsProtocolStream
*nsstream
;
101 HRESULT
set_http_header(struct list
*,const WCHAR
*,int,const WCHAR
*,int) DECLSPEC_HIDDEN
;
102 HRESULT
create_redirect_nschannel(const WCHAR
*,nsChannel
*,nsChannel
**) DECLSPEC_HIDDEN
;
104 nsresult
on_start_uri_open(NSContainer
*,nsIURI
*,cpp_bool
*) DECLSPEC_HIDDEN
;
105 HRESULT
hlink_frame_navigate(HTMLDocument
*,LPCWSTR
,nsChannel
*,DWORD
,BOOL
*) DECLSPEC_HIDDEN
;
106 HRESULT
create_doc_uri(HTMLWindow
*,WCHAR
*,nsWineURI
**) DECLSPEC_HIDDEN
;
107 HRESULT
load_nsuri(HTMLWindow
*,nsWineURI
*,nsChannelBSC
*,DWORD
) DECLSPEC_HIDDEN
;
108 HRESULT
set_moniker(HTMLDocument
*,IMoniker
*,IBindCtx
*,nsChannelBSC
*,BOOL
) DECLSPEC_HIDDEN
;
109 void prepare_for_binding(HTMLDocument
*,IMoniker
*,BOOL
) DECLSPEC_HIDDEN
;
110 HRESULT
super_navigate(HTMLWindow
*,IUri
*,const WCHAR
*,BYTE
*,DWORD
) DECLSPEC_HIDDEN
;
111 HRESULT
navigate_new_window(HTMLWindow
*,IUri
*,const WCHAR
*,IHTMLWindow2
**) DECLSPEC_HIDDEN
;
113 HRESULT
create_channelbsc(IMoniker
*,const WCHAR
*,BYTE
*,DWORD
,nsChannelBSC
**) DECLSPEC_HIDDEN
;
114 HRESULT
channelbsc_load_stream(nsChannelBSC
*,IStream
*) DECLSPEC_HIDDEN
;
115 void channelbsc_set_channel(nsChannelBSC
*,nsChannel
*,nsIStreamListener
*,nsISupports
*) DECLSPEC_HIDDEN
;
116 IUri
*nsuri_get_uri(nsWineURI
*) DECLSPEC_HIDDEN
;
117 HRESULT
create_relative_uri(HTMLWindow
*,const WCHAR
*,IUri
**) DECLSPEC_HIDDEN
;