mshtml: Get rid of no longer needed nsIWindowCreator2.

oldstable
Jacek Caban 2012-05-18 14:20:19 +02:00 committed by Alexandre Julliard
parent dbc21a185e
commit 9d0bfce9d8
5 changed files with 3 additions and 149 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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),

View File

@ -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);