Jacek Caban : mshtml: Moved binding-related declarations to separate file.

Alexandre Julliard julliard at winehq.org
Mon Jul 25 11:43:07 CDT 2011


Module: wine
Branch: master
Commit: 1e60c2f30046826e60c2e75e5a4b825fb53ac472
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1e60c2f30046826e60c2e75e5a4b825fb53ac472

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sat Jul 23 12:50:11 2011 +0200

mshtml: Moved binding-related declarations to separate file.

---

 dlls/mshtml/binding.h        |  112 ++++++++++++++++++++++++++++++++++++++++++
 dlls/mshtml/htmlwindow.c     |    1 +
 dlls/mshtml/mshtml_private.h |   53 --------------------
 dlls/mshtml/navigate.c       |   44 ++---------------
 dlls/mshtml/nsembed.c        |    1 +
 dlls/mshtml/nsio.c           |    1 +
 dlls/mshtml/persist.c        |    1 +
 7 files changed, 120 insertions(+), 93 deletions(-)

diff --git a/dlls/mshtml/binding.h b/dlls/mshtml/binding.h
new file mode 100644
index 0000000..f3c4d3e
--- /dev/null
+++ b/dlls/mshtml/binding.h
@@ -0,0 +1,112 @@
+/*
+ * 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;
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index e0d542b..89702b1 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -31,6 +31,7 @@
 
 #include "mshtml_private.h"
 #include "htmlevent.h"
+#include "binding.h"
 #include "resource.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 7a5b24e..6344b0e 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -491,51 +491,6 @@ struct NSContainer {
     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 {
     HRESULT (*qi)(HTMLDOMNode*,REFIID,void**);
     void (*destructor)(HTMLDOMNode*);
@@ -701,13 +656,9 @@ void release_nsio(void) DECLSPEC_HIDDEN;
 BOOL is_gecko_path(const char*) 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 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;
 HRESULT call_set_active_object(IOleInPlaceUIWindow*,IOleInPlaceActiveObject*) 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 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;
 
 HRESULT HTMLSelectionObject_Create(HTMLDocumentNode*,nsISelection*,IHTMLSelectionObject**) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index 6d84d3f..7c38935 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -38,22 +38,23 @@
 #include "wine/unicode.h"
 
 #include "mshtml_private.h"
+#include "binding.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 
 #define CONTENT_LENGTH "Content-Length"
 #define UTF16_STR "utf-16"
 
-typedef struct {
+struct nsProtocolStream {
     nsIInputStream nsIInputStream_iface;
 
     LONG ref;
 
     char buf[1024];
     DWORD buf_size;
-} nsProtocolStream;
+};
 
-typedef struct {
+struct BSCallbackVtbl {
     void (*destroy)(BSCallback*);
     HRESULT (*init_bindinfo)(BSCallback*);
     HRESULT (*start_binding)(BSCallback*);
@@ -62,31 +63,6 @@ typedef struct {
     HRESULT (*on_progress)(BSCallback*,ULONG,LPCWSTR);
     HRESULT (*on_response)(BSCallback*,DWORD,LPCWSTR);
     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)
@@ -862,18 +838,6 @@ HRESULT bind_mon_to_buffer(HTMLDocumentNode *doc, IMoniker *mon, void **buf, DWO
     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)
 {
     PRUint32 data_len = 0, available = 0;
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 2cac2b2..73817da 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -35,6 +35,7 @@
 
 #include "mshtml_private.h"
 #include "htmlevent.h"
+#include "binding.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 WINE_DECLARE_DEBUG_CHANNEL(gecko);
diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index ca2b763..7d26529 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -36,6 +36,7 @@
 #include "wine/unicode.h"
 
 #include "mshtml_private.h"
+#include "binding.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 
diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index 6915e3d..64e27ed 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -37,6 +37,7 @@
 
 #include "mshtml_private.h"
 #include "htmlevent.h"
+#include "binding.h"
 #include "resource.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);




More information about the wine-cvs mailing list