Jacek Caban : mshtml: Get rid of no longer needed nsIWindowCreator2.

Alexandre Julliard julliard at winehq.org
Fri May 18 14:09:15 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri May 18 14:20:19 2012 +0200

mshtml: Get rid of no longer needed nsIWindowCreator2.

---

 dlls/mshtml/htmldoc.c        |    2 +-
 dlls/mshtml/mshtml_private.h |    3 +-
 dlls/mshtml/nsembed.c        |   22 +-----------
 dlls/mshtml/nsiface.idl      |   45 -----------------------
 dlls/mshtml/nsservice.c      |   80 ------------------------------------------
 5 files changed, 3 insertions(+), 149 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 6b616da..05eb664 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -2428,7 +2428,7 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject)
 
     doc->usermode = UNKNOWN_USERMODE;
 
-    hres = create_nscontainer(doc, NULL, &doc->nscontainer);
+    hres = create_nscontainer(doc, &doc->nscontainer);
     if(FAILED(hres)) {
         ERR("Failed to init Gecko, returning CLASS_E_CLASSNOTAVAILABLE\n");
         htmldoc_release(&doc->basedoc);
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index cdf34cd..cabe04e 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -666,9 +666,8 @@ void ConnectionPoint_Init(ConnectionPoint*,ConnectionPointContainer*,REFIID,cp_s
 void ConnectionPointContainer_Init(ConnectionPointContainer*,IUnknown*) DECLSPEC_HIDDEN;
 void ConnectionPointContainer_Destroy(ConnectionPointContainer*) DECLSPEC_HIDDEN;
 
-HRESULT create_nscontainer(HTMLDocumentObj*,NSContainer*,NSContainer**) DECLSPEC_HIDDEN;
+HRESULT create_nscontainer(HTMLDocumentObj*,NSContainer**) DECLSPEC_HIDDEN;
 void NSContainer_Release(NSContainer*) DECLSPEC_HIDDEN;
-nsresult create_chrome_window(nsIWebBrowserChrome*,nsIWebBrowserChrome**) DECLSPEC_HIDDEN;
 
 void init_mutation(nsIComponentManager*) DECLSPEC_HIDDEN;
 void init_document_mutation(HTMLDocumentNode*) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c
index 1bda14e..9d5b4a2 100644
--- a/dlls/mshtml/nsembed.c
+++ b/dlls/mshtml/nsembed.c
@@ -1733,22 +1733,6 @@ static const nsISupportsWeakReferenceVtbl nsSupportsWeakReferenceVtbl = {
     nsSupportsWeakReference_GetWeakReference
 };
 
-nsresult create_chrome_window(nsIWebBrowserChrome *parent, nsIWebBrowserChrome **ret)
-{
-    NSContainer *new_container;
-    HRESULT hres;
-
-    if(parent->lpVtbl != &nsWebBrowserChromeVtbl)
-        return NS_ERROR_UNEXPECTED;
-
-    hres = create_nscontainer(NULL, impl_from_nsIWebBrowserChrome(parent), &new_container);
-    if(FAILED(hres))
-        return NS_ERROR_FAILURE;
-
-    *ret = &new_container->nsIWebBrowserChrome_iface;
-    return NS_OK;
-}
-
 static HRESULT init_nscontainer(NSContainer *nscontainer)
 {
     nsIWebBrowserSetup *wbsetup;
@@ -1857,7 +1841,7 @@ static HRESULT init_nscontainer(NSContainer *nscontainer)
     return S_OK;
 }
 
-HRESULT create_nscontainer(HTMLDocumentObj *doc, NSContainer *parent, NSContainer **_ret)
+HRESULT create_nscontainer(HTMLDocumentObj *doc, NSContainer **_ret)
 {
     NSContainer *ret;
     HRESULT hres;
@@ -1880,10 +1864,6 @@ HRESULT create_nscontainer(HTMLDocumentObj *doc, NSContainer *parent, NSContaine
     ret->doc = doc;
     ret->ref = 1;
 
-    if(parent)
-        nsIWebBrowserChrome_AddRef(&parent->nsIWebBrowserChrome_iface);
-    ret->parent = parent;
-
     hres = init_nscontainer(ret);
     if(SUCCEEDED(hres))
         *_ret = ret;
diff --git a/dlls/mshtml/nsiface.idl b/dlls/mshtml/nsiface.idl
index 2327f4a..03b2816 100644
--- a/dlls/mshtml/nsiface.idl
+++ b/dlls/mshtml/nsiface.idl
@@ -2824,51 +2824,6 @@ interface nsIProfile : nsISupports
 
 [
     object,
-    uuid(30465632-a777-44cc-90f9-8145475ef999),
-    local
-]
-interface nsIWindowCreator : nsISupports
-{
-    nsresult CreateChromeWindow(nsIWebBrowserChrome *parent, PRUint32 chromeFlags,
-                                   nsIWebBrowserChrome **_retval);
-}
-
-[
-    object,
-    uuid(f673ec81-a4b0-11d6-964b-eb5a2bf216fc),
-    local
-]
-interface nsIWindowCreator2 : nsIWindowCreator
-{
-    nsresult CreateChromeWindow2(nsIWebBrowserChrome *parent, PRUint32 chromeFlags,
-                                 PRUint32 contextFlags, nsIURI *uri, bool *cancel,
-                                 nsIWebBrowserChrome **_retval);
-}
-
-[
-    object,
-    uuid(002286a8-494b-43b3-8ddd-49e3fc50622b),
-    local
-]
-interface nsIWindowWatcher : nsISupports
-{
-    nsresult OpenWindow(nsIDOMWindow *aParent, const char *aUrl, const char *aName,
-                        const char *aFeatures, nsISupports *aArguments, nsIDOMWindow **_retval);
-    nsresult RegisterNotification(nsIObserver *aObserver);
-    nsresult UnregisterNotification(nsIObserver *aObserver);
-    nsresult GetWindowEnumerator(nsISimpleEnumerator **_retval);
-    nsresult GetNewPrompter(nsIDOMWindow *aParent, nsIPrompt **_retval);
-    nsresult GetNewAuthPrompter(nsIDOMWindow *aParent, nsIAuthPrompt **_retval);
-    nsresult SetWindowCreator(nsIWindowCreator *creator);
-    nsresult GetChromeForWindow(nsIDOMWindow *aWindow, nsIWebBrowserChrome **_retval);
-    nsresult GetWindowByName(const PRUnichar *aTargetName, nsIDOMWindow *aCurrentWindow,
-                             nsIDOMWindow **_retval);
-    nsresult GetActiveWindow(nsIDOMWindow **aActiveWindow);
-    nsresult SetActiveWindow(nsIDOMWindow *aActiveWindow);
-}
-
-[
-    object,
     uuid(24f3f4da-18a4-448d-876d-7360fefac029),
     local
 ]
diff --git a/dlls/mshtml/nsservice.c b/dlls/mshtml/nsservice.c
index 6538d5c..dd6fb22 100644
--- a/dlls/mshtml/nsservice.c
+++ b/dlls/mshtml/nsservice.c
@@ -35,7 +35,6 @@
 WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
 
 #define NS_PROMPTSERVICE_CONTRACTID "@mozilla.org/embedcomp/prompt-service;1"
-#define NS_WINDOWWATCHER_CONTRACTID "@mozilla.org/embedcomp/window-watcher;1"
 #define NS_TOOLTIPTEXTPROVIDER_CONTRACTID "@mozilla.org/embedcomp/tooltiptextprovider;1"
 
 #define NS_TOOLTIPTEXTPROVIDER_CLASSNAME "nsTooltipTextProvider"
@@ -45,72 +44,6 @@ static const nsIID NS_PROMPTSERVICE_CID =
 static const nsIID NS_TOOLTIPTEXTPROVIDER_CID =
     {0x0b666e3e,0x569a,0x462c,{0xa7,0xf0,0xb1,0x6b,0xb1,0x5d,0x42,0xff}};
 
-static nsresult NSAPI nsWindowCreator_QueryInterface(nsIWindowCreator2 *iface, nsIIDRef riid,
-        void **result)
-{
-    *result = NULL;
-
-    if(IsEqualGUID(&IID_nsISupports, riid)) {
-        TRACE("(IID_nsISupports %p)\n", result);
-        *result = iface;
-    }else if(IsEqualGUID(&IID_nsIWindowCreator, riid)) {
-        TRACE("(IID_nsIWindowCreator %p)\n", result);
-        *result = iface;
-    }else if(IsEqualGUID(&IID_nsIWindowCreator2, riid)) {
-        TRACE("(IID_nsIWindowCreator2 %p)\n", result);
-        *result = iface;
-    }
-
-    if(*result) {
-        nsIWindowCreator_AddRef(iface);
-        return NS_OK;
-    }
-
-    WARN("(%s %p)\n", debugstr_guid(riid), result);
-    return NS_NOINTERFACE;
-}
-
-static nsrefcnt NSAPI nsWindowCreator_AddRef(nsIWindowCreator2 *iface)
-{
-    return 2;
-}
-
-static nsrefcnt NSAPI nsWindowCreator_Release(nsIWindowCreator2 *iface)
-{
-    return 1;
-}
-
-static nsresult NSAPI nsWindowCreator_CreateChromeWindow(nsIWindowCreator2 *iface,
-        nsIWebBrowserChrome *parent, PRUint32 chromeFlags, nsIWebBrowserChrome **_retval)
-{
-    TRACE("(%p %08x %p)\n", parent, chromeFlags, _retval);
-    return nsIWindowCreator2_CreateChromeWindow2(iface, parent, chromeFlags, 0, NULL,
-                                                 NULL, _retval);
-}
-
-static nsresult NSAPI nsWindowCreator_CreateChromeWindow2(nsIWindowCreator2 *iface,
-        nsIWebBrowserChrome *parent, PRUint32 chromeFlags, PRUint32 contextFlags,
-        nsIURI *uri, cpp_bool *cancel, nsIWebBrowserChrome **_retval)
-{
-    TRACE("(%p %08x %08x %p %p %p)\n", parent, chromeFlags, contextFlags, uri,
-          cancel, _retval);
-
-    if(cancel)
-        *cancel = FALSE;
-
-    return create_chrome_window(parent, _retval);
-}
-
-static const nsIWindowCreator2Vtbl nsWindowCreatorVtbl = {
-    nsWindowCreator_QueryInterface,
-    nsWindowCreator_AddRef,
-    nsWindowCreator_Release,
-    nsWindowCreator_CreateChromeWindow,
-    nsWindowCreator_CreateChromeWindow2
-};
-
-static nsIWindowCreator2 nsWindowCreator = { &nsWindowCreatorVtbl };
-
 static nsresult NSAPI nsPromptService_QueryInterface(nsIPromptService *iface,
         nsIIDRef riid, void **result)
 {
@@ -454,7 +387,6 @@ static nsServiceFactory nsTooltipTextFactory = {
 
 void register_nsservice(nsIComponentRegistrar *registrar, nsIServiceManager *service_manager)
 {
-    nsIWindowWatcher *window_watcher;
     nsresult nsres;
 
     nsres = nsIComponentRegistrar_RegisterFactory(registrar, &NS_PROMPTSERVICE_CID,
@@ -462,18 +394,6 @@ void register_nsservice(nsIComponentRegistrar *registrar, nsIServiceManager *ser
     if(NS_FAILED(nsres))
         ERR("RegisterFactory failed: %08x\n", nsres);
 
-    nsres = nsIServiceManager_GetServiceByContractID(service_manager, NS_WINDOWWATCHER_CONTRACTID,
-            &IID_nsIWindowWatcher, (void**)&window_watcher);
-    if(NS_SUCCEEDED(nsres)) {
-        nsres = nsIWindowWatcher_SetWindowCreator(window_watcher,
-                                                  (nsIWindowCreator*)&nsWindowCreator);
-        if(NS_FAILED(nsres))
-            ERR("SetWindowCreator failed: %08x\n", nsres);
-        nsIWindowWatcher_Release(window_watcher);
-    }else {
-        ERR("Could not get WindowWatcher object: %08x\n", nsres);
-    }
-
     nsres = nsIComponentRegistrar_RegisterFactory(registrar, &NS_TOOLTIPTEXTPROVIDER_CID,
             NS_TOOLTIPTEXTPROVIDER_CLASSNAME, NS_TOOLTIPTEXTPROVIDER_CONTRACTID,
             &nsTooltipTextFactory.nsIFactory_iface);




More information about the wine-cvs mailing list