Commit 1e60c2f3 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Moved binding-related declarations to separate file.

parent b085b23b
/*
* Copyright 2011 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
typedef struct nsWineURI nsWineURI;
/* Keep sync with request_method_strings in nsio.c */
typedef enum {
METHOD_GET,
METHOD_PUT,
METHOD_POST
} REQUEST_METHOD;
typedef struct {
nsIHttpChannel nsIHttpChannel_iface;
nsIUploadChannel nsIUploadChannel_iface;
nsIHttpChannelInternal nsIHttpChannelInternal_iface;
LONG ref;
nsWineURI *uri;
nsIInputStream *post_data_stream;
BOOL post_data_contains_headers;
nsILoadGroup *load_group;
nsIInterfaceRequestor *notif_callback;
nsISupports *owner;
nsLoadFlags load_flags;
nsIURI *original_uri;
nsIURI *referrer;
char *content_type;
char *charset;
PRUint32 response_status;
REQUEST_METHOD request_method;
struct list response_headers;
struct list request_headers;
UINT url_scheme;
} nsChannel;
typedef struct BSCallbackVtbl BSCallbackVtbl;
struct BSCallback {
IBindStatusCallback IBindStatusCallback_iface;
IServiceProvider IServiceProvider_iface;
IHttpNegotiate2 IHttpNegotiate2_iface;
IInternetBindInfo IInternetBindInfo_iface;
const BSCallbackVtbl *vtbl;
LONG ref;
LPWSTR headers;
HGLOBAL post_data;
ULONG post_data_len;
ULONG readed;
DWORD bindf;
BOOL bindinfo_ready;
IMoniker *mon;
IBinding *binding;
HTMLDocumentNode *doc;
struct list entry;
};
typedef struct nsProtocolStream nsProtocolStream;
struct nsChannelBSC {
BSCallback bsc;
HTMLWindow *window;
nsChannel *nschannel;
nsIStreamListener *nslistener;
nsISupports *nscontext;
BOOL is_js;
nsProtocolStream *nsstream;
};
typedef struct {
struct list entry;
WCHAR *header;
WCHAR *data;
} http_header_t;
HRESULT set_http_header(struct list*,const WCHAR*,int,const WCHAR*,int) DECLSPEC_HIDDEN;
HRESULT create_redirect_nschannel(const WCHAR*,nsChannel*,nsChannel**) DECLSPEC_HIDDEN;
nsresult on_start_uri_open(NSContainer*,nsIURI*,PRBool*) DECLSPEC_HIDDEN;
HRESULT hlink_frame_navigate(HTMLDocument*,LPCWSTR,nsChannel*,DWORD,BOOL*) DECLSPEC_HIDDEN;
HRESULT create_doc_uri(HTMLWindow*,WCHAR*,nsWineURI**) DECLSPEC_HIDDEN;
HRESULT load_nsuri(HTMLWindow*,nsWineURI*,nsChannelBSC*,DWORD) DECLSPEC_HIDDEN;
HRESULT set_moniker(HTMLDocument*,IMoniker*,IBindCtx*,nsChannelBSC*,BOOL) DECLSPEC_HIDDEN;
HRESULT create_channelbsc(IMoniker*,WCHAR*,BYTE*,DWORD,nsChannelBSC**) DECLSPEC_HIDDEN;
HRESULT channelbsc_load_stream(nsChannelBSC*,IStream*) DECLSPEC_HIDDEN;
void channelbsc_set_channel(nsChannelBSC*,nsChannel*,nsIStreamListener*,nsISupports*) DECLSPEC_HIDDEN;
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include "mshtml_private.h" #include "mshtml_private.h"
#include "htmlevent.h" #include "htmlevent.h"
#include "binding.h"
#include "resource.h" #include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml); WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
......
...@@ -491,51 +491,6 @@ struct NSContainer { ...@@ -491,51 +491,6 @@ struct NSContainer {
HWND hwnd; HWND hwnd;
}; };
typedef struct nsWineURI nsWineURI;
nsresult on_start_uri_open(NSContainer*,nsIURI*,PRBool*) DECLSPEC_HIDDEN;
/* Keep sync with request_method_strings in nsio.c */
typedef enum {
METHOD_GET,
METHOD_PUT,
METHOD_POST
} REQUEST_METHOD;
typedef struct {
nsIHttpChannel nsIHttpChannel_iface;
nsIUploadChannel nsIUploadChannel_iface;
nsIHttpChannelInternal nsIHttpChannelInternal_iface;
LONG ref;
nsWineURI *uri;
nsIInputStream *post_data_stream;
BOOL post_data_contains_headers;
nsILoadGroup *load_group;
nsIInterfaceRequestor *notif_callback;
nsISupports *owner;
nsLoadFlags load_flags;
nsIURI *original_uri;
nsIURI *referrer;
char *content_type;
char *charset;
PRUint32 response_status;
REQUEST_METHOD request_method;
struct list response_headers;
struct list request_headers;
UINT url_scheme;
} nsChannel;
typedef struct {
struct list entry;
WCHAR *header;
WCHAR *data;
} http_header_t;
HRESULT set_http_header(struct list*,const WCHAR*,int,const WCHAR*,int) DECLSPEC_HIDDEN;
HRESULT create_redirect_nschannel(const WCHAR*,nsChannel*,nsChannel**) DECLSPEC_HIDDEN;
typedef struct { typedef struct {
HRESULT (*qi)(HTMLDOMNode*,REFIID,void**); HRESULT (*qi)(HTMLDOMNode*,REFIID,void**);
void (*destructor)(HTMLDOMNode*); void (*destructor)(HTMLDOMNode*);
...@@ -701,13 +656,9 @@ void release_nsio(void) DECLSPEC_HIDDEN; ...@@ -701,13 +656,9 @@ void release_nsio(void) DECLSPEC_HIDDEN;
BOOL is_gecko_path(const char*) DECLSPEC_HIDDEN; BOOL is_gecko_path(const char*) DECLSPEC_HIDDEN;
HRESULT nsuri_to_url(LPCWSTR,BOOL,BSTR*) DECLSPEC_HIDDEN; HRESULT nsuri_to_url(LPCWSTR,BOOL,BSTR*) DECLSPEC_HIDDEN;
HRESULT create_doc_uri(HTMLWindow*,WCHAR*,nsWineURI**) DECLSPEC_HIDDEN;
HRESULT load_nsuri(HTMLWindow*,nsWineURI*,nsChannelBSC*,DWORD) DECLSPEC_HIDDEN;
HRESULT hlink_frame_navigate(HTMLDocument*,LPCWSTR,nsChannel*,DWORD,BOOL*) DECLSPEC_HIDDEN;
HRESULT navigate_url(HTMLWindow*,const WCHAR*,const WCHAR*) DECLSPEC_HIDDEN; HRESULT navigate_url(HTMLWindow*,const WCHAR*,const WCHAR*) DECLSPEC_HIDDEN;
HRESULT set_frame_doc(HTMLFrameBase*,nsIDOMDocument*) DECLSPEC_HIDDEN; HRESULT set_frame_doc(HTMLFrameBase*,nsIDOMDocument*) DECLSPEC_HIDDEN;
HRESULT set_moniker(HTMLDocument*,IMoniker*,IBindCtx*,nsChannelBSC*,BOOL) DECLSPEC_HIDDEN;
void call_property_onchanged(ConnectionPoint*,DISPID) DECLSPEC_HIDDEN; void call_property_onchanged(ConnectionPoint*,DISPID) DECLSPEC_HIDDEN;
HRESULT call_set_active_object(IOleInPlaceUIWindow*,IOleInPlaceActiveObject*) DECLSPEC_HIDDEN; HRESULT call_set_active_object(IOleInPlaceUIWindow*,IOleInPlaceActiveObject*) DECLSPEC_HIDDEN;
...@@ -744,10 +695,6 @@ void abort_document_bindings(HTMLDocumentNode*) DECLSPEC_HIDDEN; ...@@ -744,10 +695,6 @@ void abort_document_bindings(HTMLDocumentNode*) DECLSPEC_HIDDEN;
HRESULT bind_mon_to_buffer(HTMLDocumentNode*,IMoniker*,void**,DWORD*) DECLSPEC_HIDDEN; HRESULT bind_mon_to_buffer(HTMLDocumentNode*,IMoniker*,void**,DWORD*) DECLSPEC_HIDDEN;
HRESULT create_channelbsc(IMoniker*,WCHAR*,BYTE*,DWORD,nsChannelBSC**) DECLSPEC_HIDDEN;
HRESULT channelbsc_load_stream(nsChannelBSC*,IStream*) DECLSPEC_HIDDEN;
void channelbsc_set_channel(nsChannelBSC*,nsChannel*,nsIStreamListener*,nsISupports*) DECLSPEC_HIDDEN;
void set_ready_state(HTMLWindow*,READYSTATE) DECLSPEC_HIDDEN; void set_ready_state(HTMLWindow*,READYSTATE) DECLSPEC_HIDDEN;
HRESULT HTMLSelectionObject_Create(HTMLDocumentNode*,nsISelection*,IHTMLSelectionObject**) DECLSPEC_HIDDEN; HRESULT HTMLSelectionObject_Create(HTMLDocumentNode*,nsISelection*,IHTMLSelectionObject**) DECLSPEC_HIDDEN;
......
...@@ -38,22 +38,23 @@ ...@@ -38,22 +38,23 @@
#include "wine/unicode.h" #include "wine/unicode.h"
#include "mshtml_private.h" #include "mshtml_private.h"
#include "binding.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml); WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define CONTENT_LENGTH "Content-Length" #define CONTENT_LENGTH "Content-Length"
#define UTF16_STR "utf-16" #define UTF16_STR "utf-16"
typedef struct { struct nsProtocolStream {
nsIInputStream nsIInputStream_iface; nsIInputStream nsIInputStream_iface;
LONG ref; LONG ref;
char buf[1024]; char buf[1024];
DWORD buf_size; DWORD buf_size;
} nsProtocolStream; };
typedef struct { struct BSCallbackVtbl {
void (*destroy)(BSCallback*); void (*destroy)(BSCallback*);
HRESULT (*init_bindinfo)(BSCallback*); HRESULT (*init_bindinfo)(BSCallback*);
HRESULT (*start_binding)(BSCallback*); HRESULT (*start_binding)(BSCallback*);
...@@ -62,31 +63,6 @@ typedef struct { ...@@ -62,31 +63,6 @@ typedef struct {
HRESULT (*on_progress)(BSCallback*,ULONG,LPCWSTR); HRESULT (*on_progress)(BSCallback*,ULONG,LPCWSTR);
HRESULT (*on_response)(BSCallback*,DWORD,LPCWSTR); HRESULT (*on_response)(BSCallback*,DWORD,LPCWSTR);
HRESULT (*beginning_transaction)(BSCallback*,WCHAR**); HRESULT (*beginning_transaction)(BSCallback*,WCHAR**);
} BSCallbackVtbl;
struct BSCallback {
IBindStatusCallback IBindStatusCallback_iface;
IServiceProvider IServiceProvider_iface;
IHttpNegotiate2 IHttpNegotiate2_iface;
IInternetBindInfo IInternetBindInfo_iface;
const BSCallbackVtbl *vtbl;
LONG ref;
LPWSTR headers;
HGLOBAL post_data;
ULONG post_data_len;
ULONG readed;
DWORD bindf;
BOOL bindinfo_ready;
IMoniker *mon;
IBinding *binding;
HTMLDocumentNode *doc;
struct list entry;
}; };
static inline nsProtocolStream *impl_from_nsIInputStream(nsIInputStream *iface) static inline nsProtocolStream *impl_from_nsIInputStream(nsIInputStream *iface)
...@@ -862,18 +838,6 @@ HRESULT bind_mon_to_buffer(HTMLDocumentNode *doc, IMoniker *mon, void **buf, DWO ...@@ -862,18 +838,6 @@ HRESULT bind_mon_to_buffer(HTMLDocumentNode *doc, IMoniker *mon, void **buf, DWO
return hres; return hres;
} }
struct nsChannelBSC {
BSCallback bsc;
HTMLWindow *window;
nsChannel *nschannel;
nsIStreamListener *nslistener;
nsISupports *nscontext;
nsProtocolStream *nsstream;
};
static HRESULT read_post_data_stream(nsChannelBSC *This, nsChannel *nschannel) static HRESULT read_post_data_stream(nsChannelBSC *This, nsChannel *nschannel)
{ {
PRUint32 data_len = 0, available = 0; PRUint32 data_len = 0, available = 0;
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include "mshtml_private.h" #include "mshtml_private.h"
#include "htmlevent.h" #include "htmlevent.h"
#include "binding.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml); WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
WINE_DECLARE_DEBUG_CHANNEL(gecko); WINE_DECLARE_DEBUG_CHANNEL(gecko);
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#include "wine/unicode.h" #include "wine/unicode.h"
#include "mshtml_private.h" #include "mshtml_private.h"
#include "binding.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml); WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include "mshtml_private.h" #include "mshtml_private.h"
#include "htmlevent.h" #include "htmlevent.h"
#include "binding.h"
#include "resource.h" #include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml); WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment