diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 6b616da0345..05eb664cc6e 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 cdf34cd06ea..cabe04e4755 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 1bda14e467b..9d5b4a240a7 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 2327f4a5309..03b2816751d 100644 --- a/dlls/mshtml/nsiface.idl +++ b/dlls/mshtml/nsiface.idl @@ -2822,51 +2822,6 @@ interface nsIProfile : nsISupports nsresult CloneProfile(const PRUnichar *profileName); } -[ - 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), diff --git a/dlls/mshtml/nsservice.c b/dlls/mshtml/nsservice.c index 6538d5caa66..dd6fb22d54b 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);