mshtml: Wine Gecko 1.2.0 release.

This commit is contained in:
Jacek Caban 2011-03-15 13:45:29 +01:00 committed by Alexandre Julliard
parent e52f5773e1
commit 699e41cdd8
7 changed files with 174 additions and 59 deletions

View File

@ -51,20 +51,20 @@
WINE_DEFAULT_DEBUG_CHANNEL(appwizcpl);
#define GECKO_VERSION "1.1.0"
#define GECKO_VERSION "1.2.0"
#ifdef __i386__
#define ARCH_STRING "x86"
#define GECKO_SHA "1b6c637207b6f032ae8a52841db9659433482714"
#define GECKO_SHA "6964d1877668ab7da07a60f6dcf23fb0e261a808"
#elif defined(__x86_64__)
#define ARCH_STRING "x86_64"
#define GECKO_SHA "55b4b60cd2a48631d6236fb411c3a94d806d9906"
#define GECKO_SHA "3ac3c3e880e40f7763824866372ffc56128f0abd"
#else
#define ARCH_STRING ""
#define GECKO_SHA "???"
#endif
#define GECKO_FILE_NAME "wine_gecko-" GECKO_VERSION "-" ARCH_STRING ".cab"
#define GECKO_FILE_NAME "wine_gecko-" GECKO_VERSION "-" ARCH_STRING ".msi"
static const WCHAR mshtml_keyW[] =
{'S','o','f','t','w','a','r','e',

View File

@ -1923,7 +1923,7 @@ static void HTMLDocumentNode_destructor(HTMLDOMNode *iface)
detach_plugin_host(LIST_ENTRY(list_head(&This->plugin_hosts), PluginHost, entry));
if(This->nsdoc) {
release_mutation(This);
release_document_mutation(This);
nsIDOMHTMLDocument_Release(This->nsdoc);
}
@ -2024,7 +2024,7 @@ HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument *nsdoc, HTMLDocumentObj *doc_ob
nsIDOMHTMLDocument_AddRef(nsdoc);
doc->nsdoc = nsdoc;
init_mutation(doc);
init_document_mutation(doc);
HTMLDOMNode_Init(doc, &doc->node, (nsIDOMNode*)nsdoc);
doc->node.vtbl = &HTMLDocumentNodeImplVtbl;

View File

@ -661,8 +661,9 @@ NSContainer *NSContainer_Create(HTMLDocumentObj*,NSContainer*);
void NSContainer_Release(NSContainer*);
nsresult create_chrome_window(nsIWebBrowserChrome*,nsIWebBrowserChrome**);
void init_mutation(HTMLDocumentNode*);
void release_mutation(HTMLDocumentNode*);
void init_mutation(nsIComponentManager*);
void init_document_mutation(HTMLDocumentNode*);
void release_document_mutation(HTMLDocumentNode*);
void HTMLDocument_LockContainer(HTMLDocumentObj*,BOOL);
void show_context_menu(HTMLDocumentObj*,DWORD,POINT*,IDispatch*);

View File

@ -39,6 +39,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#define IE_MAJOR_VERSION 7
#define IE_MINOR_VERSION 0
static const IID NS_ICONTENTUTILS_CID =
{0x762C4AE7,0xB923,0x422F,{0xB9,0x7E,0xB9,0xBF,0xC1,0xEF,0x7B,0xF0}};
static nsIContentUtils *content_utils;
static BOOL handle_insert_comment(HTMLDocumentNode *doc, const PRUnichar *comment)
{
DWORD len;
@ -410,9 +415,7 @@ static const nsIRunnableVtbl nsRunnableVtbl = {
static void add_script_runner(HTMLDocumentNode *This, runnable_proc_t proc, nsISupports *arg1, nsISupports *arg2)
{
nsIDOMNSDocument *nsdoc;
nsRunnable *runnable;
nsresult nsres;
runnable = heap_alloc_zero(sizeof(*runnable));
if(!runnable)
@ -433,13 +436,7 @@ static void add_script_runner(HTMLDocumentNode *This, runnable_proc_t proc, nsIS
nsISupports_AddRef(arg2);
runnable->arg2 = arg2;
nsres = nsIDOMHTMLDocument_QueryInterface(This->nsdoc, &IID_nsIDOMNSDocument, (void**)&nsdoc);
if(NS_SUCCEEDED(nsres)) {
nsIDOMNSDocument_WineAddScriptRunner(nsdoc, &runnable->nsIRunnable_iface);
nsIDOMNSDocument_Release(nsdoc);
}else {
ERR("Could not get nsIDOMNSDocument: %08x\n", nsres);
}
nsIContentUtils_AddScriptRunner(content_utils, &runnable->nsIRunnable_iface);
nsIRunnable_Release(&runnable->nsIRunnable_iface);
}
@ -557,12 +554,12 @@ static void NSAPI nsDocumentObserver_EndLoad(nsIDocumentObserver *iface, nsIDocu
}
static void NSAPI nsDocumentObserver_ContentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument,
nsIContent *aContent1, nsIContent *aContent2, PRInt32 aStateMask)
nsIContent *aContent1, nsIContent *aContent2, nsEventStates aStateMask)
{
}
static void NSAPI nsDocumentObserver_DocumentStatesChanged(nsIDocumentObserver *iface, nsIDocument *aDocument,
PRInt32 aStateMask)
nsEventStates aStateMask)
{
}
@ -639,8 +636,8 @@ static void NSAPI nsDocumentObserver_BindToDocument(nsIDocumentObserver *iface,
}
}
static void NSAPI nsDocumentObserver_DoneAddingChildren(nsIDocumentObserver *iface, nsIContent *aContent,
PRBool aHaveNotified)
static nsresult NSAPI nsDocumentObserver_DoneAddingChildren(nsIDocumentObserver *iface, nsIContent *aContent,
PRBool aHaveNotified, nsIParser *aParser)
{
HTMLDocumentNode *This = impl_from_nsIDocumentObserver(iface);
nsIDOMHTMLScriptElement *nsscript;
@ -655,6 +652,8 @@ static void NSAPI nsDocumentObserver_DoneAddingChildren(nsIDocumentObserver *ifa
add_script_runner(This, run_insert_script, (nsISupports*)nsscript, NULL);
nsIDOMHTMLScriptElement_Release(nsscript);
}
return NS_OK;
}
static const nsIDocumentObserverVtbl nsDocumentObserverVtbl = {
@ -686,34 +685,60 @@ static const nsIDocumentObserverVtbl nsDocumentObserverVtbl = {
nsDocumentObserver_DoneAddingChildren
};
void init_mutation(HTMLDocumentNode *doc)
void init_document_mutation(HTMLDocumentNode *doc)
{
nsIDOMNSDocument *nsdoc;
nsIDocument *nsdoc;
nsresult nsres;
doc->nsIDocumentObserver_iface.lpVtbl = &nsDocumentObserverVtbl;
nsres = nsIDOMHTMLDocument_QueryInterface(doc->nsdoc, &IID_nsIDOMNSDocument, (void**)&nsdoc);
nsres = nsIDOMHTMLDocument_QueryInterface(doc->nsdoc, &IID_nsIDocument, (void**)&nsdoc);
if(NS_FAILED(nsres)) {
ERR("Could not get nsIDOMNSDocument: %08x\n", nsres);
ERR("Could not get nsIDocument: %08x\n", nsres);
return;
}
nsIDOMNSDocument_WineAddObserver(nsdoc, &doc->nsIDocumentObserver_iface);
nsIDOMNSDocument_Release(nsdoc);
nsIContentUtils_AddDocumentObserver(content_utils, nsdoc, &doc->nsIDocumentObserver_iface);
nsIDocument_Release(nsdoc);
}
void release_mutation(HTMLDocumentNode *doc)
void release_document_mutation(HTMLDocumentNode *doc)
{
nsIDOMNSDocument *nsdoc;
nsIDocument *nsdoc;
nsresult nsres;
nsres = nsIDOMHTMLDocument_QueryInterface(doc->nsdoc, &IID_nsIDOMNSDocument, (void**)&nsdoc);
nsres = nsIDOMHTMLDocument_QueryInterface(doc->nsdoc, &IID_nsIDocument, (void**)&nsdoc);
if(NS_FAILED(nsres)) {
ERR("Could not get nsIDOMNSDocument: %08x\n", nsres);
ERR("Could not get nsIDocument: %08x\n", nsres);
return;
}
nsIDOMNSDocument_WineRemoveObserver(nsdoc, &doc->nsIDocumentObserver_iface);
nsIDOMNSDocument_Release(nsdoc);
nsIContentUtils_RemoveDocumentObserver(content_utils, nsdoc, &doc->nsIDocumentObserver_iface);
nsIDocument_Release(nsdoc);
}
void init_mutation(nsIComponentManager *component_manager)
{
nsIFactory *factory;
nsresult nsres;
if(!component_manager) {
if(content_utils) {
nsIContentUtils_Release(content_utils);
content_utils = NULL;
}
return;
}
nsres = nsIComponentManager_GetClassObject(component_manager, &NS_ICONTENTUTILS_CID,
&IID_nsIFactory, (void**)&factory);
if(NS_FAILED(nsres)) {
ERR("Could not create nsIContentUtils service: %08x\n", nsres);
return;
}
nsres = nsIFactory_CreateInstance(factory, NULL, &IID_nsIContentUtils, (void**)&content_utils);
nsIFactory_Release(factory);
if(NS_FAILED(nsres))
ERR("Could not create nsIContentUtils instance: %08x\n", nsres);
}

View File

@ -394,7 +394,7 @@ static BOOL load_wine_gecko_v(PRUnichar *gre_path, HKEY mshtml_key,
{'G','e','c','k','o','P','a','t','h',0};
if(version) {
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML\<version> */
/* @@ Wine registry key: HKLM\Software\Wine\MSHTML\<version> */
res = RegOpenKeyA(mshtml_key, version, &hkey);
if(res != ERROR_SUCCESS)
return FALSE;
@ -422,8 +422,8 @@ static BOOL load_wine_gecko(PRUnichar *gre_path)
'S','o','f','t','w','a','r','e','\\','W','i','n','e',
'\\','M','S','H','T','M','L',0};
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML */
res = RegOpenKeyW(HKEY_CURRENT_USER, wszMshtmlKey, &hkey);
/* @@ Wine registry key: HKLM\Software\Wine\MSHTML */
res = RegOpenKeyW(HKEY_LOCAL_MACHINE, wszMshtmlKey, &hkey);
if(res != ERROR_SUCCESS)
return FALSE;
@ -599,6 +599,8 @@ static BOOL init_xpcom(const PRUnichar *gre_path)
else
ERR("NS_GetComponentRegistrar failed: %08x\n", nsres);
init_mutation(pCompMgr);
nsres = nsIComponentManager_CreateInstanceByContractID(pCompMgr, NS_APPSTARTUPNOTIFIER_CONTRACTID,
NULL, &IID_nsIObserver, (void**)&pStartNotif);
if(NS_SUCCEEDED(nsres)) {
@ -947,6 +949,7 @@ void close_gecko(void)
TRACE("()\n");
release_nsio();
init_mutation(NULL);
if(profile_directory) {
nsIFile_Release(profile_directory);

View File

@ -23,7 +23,7 @@
* compatible with XPCOM, usable in C code.
*/
cpp_quote("#define GECKO_VERSION \"1.1.0\"")
cpp_quote("#define GECKO_VERSION \"1.2.0\"")
cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION")
import "wtypes.idl";
@ -87,7 +87,6 @@ interface nsIEditActionListener;
interface nsIDocumentStateListener;
interface nsIDOMCSSStyleSheet;
interface nsIDOMDocumentView;
interface nsIDocumentObserver;
interface nsIDOMWindow;
interface nsIDOMElement;
@ -148,8 +147,10 @@ typedef nsISupports nsITransferable;
typedef nsISupports nsIDOMHTMLHeadElement;
typedef nsISupports nsIDOMFileList;
typedef nsISupports nsIControllers;
typedef nsISupports nsIDOMValidityState;
typedef nsISupports nsIPluginInstanceOwner;
typedef nsISupports nsIPluginStreamListener;
typedef nsISupports nsIParser;
[
object,
@ -469,7 +470,7 @@ interface nsIHttpChannel : nsIChannel
[
object,
uuid(91dbb42a-dffc-4f47-8b27-9579c0d92c3f),
uuid(9fb2a161-d075-4bf2-b07a-26bac650cc81),
local
]
interface nsIHttpChannelInternal : nsISupports
@ -483,6 +484,8 @@ interface nsIHttpChannelInternal : nsISupports
nsresult GetForceAllowThirdPartyCookie(PRBool *aForceAllowThirdPartyCookie);
nsresult SetForceAllowThirdPartyCookie(PRBool aForceAllowThirdPartyCookie);
nsresult GetCanceled(PRBool *aCanceled);
nsresult GetChannelIsForDownload(PRBool *aChannelIsForDownload);
nsresult SetChannelIsForDownload(PRBool aChannelIsForDownload);
}
[
@ -934,7 +937,7 @@ interface nsIDOMDocument : nsIDOMNode
[
object,
uuid(7485b35e-d215-42a0-8a67-896f86c8afd9),
uuid(92f2c6f8-3668-4a47-8251-2a900afe11fa),
local
]
interface nsIDOMNSDocument : nsISupports
@ -951,15 +954,11 @@ interface nsIDOMNSDocument : nsISupports
nsresult GetReferrer(nsAString *aReferrer);
nsresult HasFocus(PRBool *_retval);
nsresult GetActiveElement(nsIDOMElement **aActiveElement);
nsresult GetCurrentScript(nsIDOMElement **aActiveElement);
nsresult GetElementsByClassName(const nsAString *classes, nsIDOMNodeList **_retval);
nsresult ElementFromPoint(float x, float y, nsIDOMElement **_retval);
nsresult ReleaseCapture();
nsresult MozSetImageElement(const nsAString *aImageElementId, nsIDOMElement *aImageElement);
/* Wine extensions */
nsresult WineAddObserver(nsIDocumentObserver *aObserver);
nsresult WineRemoveObserver(nsIDocumentObserver *aObserver);
nsresult WineAddScriptRunner(nsIRunnable *aRunnable);
}
[
@ -1218,32 +1217,36 @@ interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
[
object,
uuid(a6cf908f-15b3-11d2-932e-00805f8add32),
uuid(0884ce23-e069-499e-a13c-a91c8ae0fc98),
local
]
interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
{
nsresult GetElements(nsIDOMHTMLCollection **aElements);
nsresult GetLength(PRInt32 *aLength);
nsresult GetName(nsAString *aName);
nsresult SetName(const nsAString *aName);
nsresult GetAcceptCharset(nsAString *aAcceptCharset);
nsresult SetAcceptCharset(const nsAString *aAcceptCharset);
nsresult GetAction(nsAString *aAction);
nsresult SetAction(const nsAString *aAction);
nsresult GetAutocomplete(nsAString *aAutocomplete);
nsresult SetAutocomplete(const nsAString *aAutocomplete);
nsresult GetEnctype(nsAString *aEnctype);
nsresult SetEnctype(const nsAString *aEnctype);
nsresult GetMethod(nsAString *aMethod);
nsresult SetMethod(const nsAString *aMethod);
nsresult GetNoValidate(PRBool *aNoValidate);
nsresult SetNoValidate(PRBool aNoValidate);
nsresult GetTarget(nsAString *aTarget);
nsresult SetTarget(const nsAString *aTarget);
nsresult GetElements(nsIDOMHTMLCollection **aElements);
nsresult GetLength(PRInt32 *aLength);
nsresult Submit();
nsresult Reset();
}
[
object,
uuid(2480b6f0-094e-484f-8717-0c204ed23e69),
uuid(0805059d-f18f-4095-ae6b-0bf6df80b7b8),
local
]
interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
@ -1252,6 +1255,8 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
nsresult SetAccept(const nsAString *aAccept);
nsresult GetAlt(nsAString *aAlt);
nsresult SetAlt(const nsAString *aAlt);
nsresult GetAutocomplete(nsAString *aAutocomplete);
nsresult SetAutocomplete(const nsAString *aAutocomplete);
nsresult GetAutofocus(PRBool *aAutofocus);
nsresult SetAutofocus(PRBool aAutofocus);
nsresult GetDefaultChecked(PRBool *aDefaultChecked);
@ -1261,19 +1266,34 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
nsresult GetDisabled(PRBool *aDisabled);
nsresult SetDisabled(PRBool aDisabled);
nsresult GetForm(nsIDOMHTMLFormElement **aForm);
nsresult GetFormAction(nsAString *aFormAction);
nsresult SetFormAction(const nsAString *aFormAction);
nsresult GetFormEnctype(nsAString *aFormEnctype);
nsresult SetFormEnctype(const nsAString *aFormEnctype);
nsresult GetFormMethod(nsAString *aFormMethod);
nsresult SetFormMethod(const nsAString *aFormMethod);
nsresult GetFormNoValidate(PRBool *aFormNoValidate);
nsresult SetFormNoValidate(PRBool aFormNoValidate);
nsresult GetFormTarget(nsAString *aFormTarget);
nsresult SetFormTarget(const nsAString *aFormTarget);
nsresult GetFiles(nsIDOMFileList **aFiles);
nsresult GetIndeterminate(PRBool *aIndeterminate);
nsresult SetIndeterminate(PRBool aIndeterminate);
nsresult GetList(nsIDOMHTMLElement **aList);
nsresult GetMaxLength(PRInt32 *aMaxLength);
nsresult SetMaxLength(PRInt32 aMaxLength);
nsresult GetMultiple(PRBool *aMultiple);
nsresult SetMultiple(PRBool aMultiple);
nsresult GetName(nsAString *aName);
nsresult SetName(const nsAString *aName);
nsresult GetPattern(nsAString *aPattern);
nsresult SetPattern(const nsAString *aPattern);
nsresult GetPlaceholder(nsAString *aPlaceholder);
nsresult SetPlaceholder(const nsAString *aPlaceholder);
nsresult GetReadOnly(PRBool *aReadOnly);
nsresult SetReadOnly(PRBool aReadOnly);
nsresult GetRequired(PRBool *aRequired);
nsresult SetRequired(PRBool aRequired);
nsresult GetAccessKey(nsAString *aAccessKey);
nsresult SetAccessKey(const nsAString *aAccessKey);
nsresult GetAlign(nsAString *aAlign);
@ -1288,6 +1308,11 @@ interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
nsresult SetDefaultValue(const nsAString *aDefaultValue);
nsresult GetValue(nsAString *aValue);
nsresult SetValue(const nsAString *aValue);
nsresult GetWillValidate(PRBool *aWillValidate);
nsresult GetValidity(nsIDOMValidityState **aValidity);
nsresult GetValidationMessage(nsAString *aValidationMessage);
nsresult CheckValidity(PRBool *_retval);
nsresult SetCustomValidity(const nsAString *error);
nsresult Select();
nsresult GetSelectionStart(PRInt32 *aSelectionStart);
nsresult SetSelectionStart(PRInt32 aSelectionStart);
@ -1346,7 +1371,7 @@ interface nsIDOMHTMLOptionsCollection : nsISupports
[
object,
uuid(110a4b15-e0a2-48d7-8e59-d8d94ef510ad),
uuid(e3c6d960-972c-4a5e-a8f4-6ca65d578abf),
local
]
interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
@ -1378,6 +1403,11 @@ interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
nsresult SetTabIndex(PRInt32 aTabIndex);
nsresult Blur();
nsresult Focus();
nsresult GetWillValidate(PRBool *aWillValidate);
nsresult GetValidity(nsIDOMValidityState **aValidity);
nsresult GetValidationMessage(nsAString *aValidationMessage);
nsresult CheckValidity(PRBool *_retval);
nsresult SetCustomValidity(const nsAString *error);
}
[
@ -1656,7 +1686,7 @@ interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement
[
object,
uuid(a6cf90ac-15b3-11d2-932e-00805f8add32),
uuid(9b93aab4-7fe8-4f79-9ad2-0623178a0c46),
local
]
interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
@ -1697,6 +1727,11 @@ interface nsIDOMHTMLObjectElement : nsIDOMHTMLElement
nsresult GetWidth(nsAString *aWidth);
nsresult SetWidth(const nsAString *aWidth);
nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
nsresult GetWillValidate(PRBool *aWillValidate);
nsresult GetValidity(nsIDOMValidityState **aValidity);
nsresult GetValidationMessage(nsAString *aValidationMessage);
nsresult CheckValidity(PRBool *_retval);
nsresult SetCustomValidity(const nsAString *error);
}
[
@ -2610,7 +2645,7 @@ interface nsIController : nsISupports
[
object,
uuid(dd254504-e273-4923-9ec1-d8421a6635f1),
uuid(71afb9e6-e8a7-475d-89c4-e46221ebe1a4),
local
]
interface nsIContent : nsISupports
@ -2620,7 +2655,7 @@ interface nsIContent : nsISupports
[
object,
uuid(b2274bc3-4a1c-4e64-8de4-3bc650288438),
uuid(c38a7935-c854-4df7-8fd4-a26f0d279f31),
local
]
interface nsIDocument : nsISupports
@ -2810,7 +2845,7 @@ interface nsIHTMLEditor : nsISupports
[
object,
uuid(bf6db598-3833-400b-9e53-ec220cb2496c),
uuid(98cdbcc4-2d81-4191-a63f-b6c52085edbc),
local
]
interface nsIDocShell : nsISupports
@ -2893,6 +2928,9 @@ interface nsIDocShell : nsISupports
nsresult GetCanExecuteScripts(PRBool *aCanExecuteScripts);
nsresult GetIsActive(PRBool *aIsActive);
nsresult SetIsActive(PRBool aIsActive);
nsresult GetHistoryID(PRUint64 *aHistoryID);
nsresult GetIsAppTab(PRBool *aIsAppTab);
nsresult SetIsAppTab(PRBool aIsAppTab);
}
[
@ -2922,20 +2960,24 @@ interface nsIMutationObserver : nsISupports
[
object,
uuid(4e14e321-a4bb-49f8-a57a-2363668d14d0),
uuid(3d005225-210f-4b07-b1d9-96020574c437),
local
]
interface nsIDocumentObserver : nsIMutationObserver
{
typedef int nsUpdateType;
typedef struct {
PRUint64 mStates;
} nsEventStates;
void BeginUpdate(nsIDocument *aDocument, nsUpdateType aUpdateType);
void EndUpdate(nsIDocument *aDocument, nsUpdateType aUpdateType);
void BeginLoad(nsIDocument *aDocument);
void EndLoad(nsIDocument *aDocument);
void ContentStatesChanged(nsIDocument *aDocument, nsIContent *aContent1, nsIContent *aContent2,
PRInt32 aStateMask);
void DocumentStatesChanged(nsIDocument* aDocument, PRInt32 aStateMask);
nsEventStates aStateMask);
void DocumentStatesChanged(nsIDocument* aDocument, nsEventStates aStateMask);
void StyleSheetAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet);
void StyleSheetRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet);
void StyleSheetApplicableStateChanged(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet,
@ -2945,7 +2987,25 @@ interface nsIDocumentObserver : nsIMutationObserver
void StyleRuleAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule);
void StyleRuleRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule);
void BindToDocument(nsIDocument *aDocument, nsIContent *aContent);
void DoneAddingChildren(nsIContent *aContent, PRBool aHaveNotified);
nsresult DoneAddingChildren(nsIContent *aContent, PRBool aHaveNotified, nsIParser *aParser);
}
[
object,
uuid(3682dd99-8560-44f4-9b8f-ccce9d7b96fb),
local
]
interface nsIContentUtils : nsISupports
{
PRBool IsSafeToRunScript();
PRBool ParseIntMarginValue(const nsAString *aString, nsIntMargin *result);
void /*already_AddRefed<nsIDocumentLoaderFactory>*/ FindInternalContentViewer(
const char *aType, int /*ContentViewerType*/ *aLoaderType);
nsresult AddDocumentObserver(nsIDocument *aDocument, nsIDocumentObserver *aObserver);
nsresult RemoveDocumentObserver(nsIDocument *aDocument, nsIDocumentObserver *aObserver);
nsresult AddMutationObserver(nsINode *aNode, nsIMutationObserver *aObserver);
nsresult RemoveMutationObserver(nsINode *aNode, nsIMutationObserver *aObserver);
nsresult AddScriptRunner(nsIRunnable *aRunnable);
}
/* Parts of npapi.h */
@ -3078,6 +3138,7 @@ interface nsIPluginInstance : nsISupports
{
typedef void *JSContext;
typedef void *JSObject;
typedef void *gfxASurface;
nsresult Initialize(nsIPluginInstanceOwner *aOwner, const char *aMIMEType);
nsresult Start();
@ -3107,6 +3168,11 @@ interface nsIPluginInstance : nsISupports
nsresult IsTransparent(PRBool *_retval);
nsresult GetValueFromPlugin(NPPVariable variable, void *aValue);
nsresult GetDrawingModel(PRInt32 *_retval);
nsresult AsyncSetWindow(NPWindow *aWindow);
nsresult NotifyPainted();
nsresult GetSurface(gfxASurface **aSurface);
nsresult UseAsyncPainting(PRBool *_retval);
}
[

View File

@ -1462,6 +1462,24 @@ static nsresult NSAPI nsHttpChannelInternal_GetCanceled(nsIHttpChannelInternal *
return NS_ERROR_NOT_IMPLEMENTED;
}
static nsresult NSAPI nsHttpChannelInternal_GetChannelIsForDownload(nsIHttpChannelInternal *iface, PRBool *aCanceled)
{
nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
FIXME("(%p)->(%p)\n", This, aCanceled);
return NS_ERROR_NOT_IMPLEMENTED;
}
static nsresult NSAPI nsHttpChannelInternal_SetChannelIsForDownload(nsIHttpChannelInternal *iface, PRBool aCanceled)
{
nsChannel *This = impl_from_nsIHttpChannelInternal(iface);
FIXME("(%p)->(%x)\n", This, aCanceled);
return NS_ERROR_NOT_IMPLEMENTED;
}
static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
nsHttpChannelInternal_QueryInterface,
nsHttpChannelInternal_AddRef,
@ -1474,7 +1492,9 @@ static const nsIHttpChannelInternalVtbl nsHttpChannelInternalVtbl = {
nsHttpChannelInternal_SetupFallbackChannel,
nsHttpChannelInternal_GetForceAllowThirdPartyCookie,
nsHttpChannelInternal_SetForceAllowThirdPartyCookie,
nsHttpChannelInternal_GetCanceled
nsHttpChannelInternal_GetCanceled,
nsHttpChannelInternal_GetChannelIsForDownload,
nsHttpChannelInternal_SetChannelIsForDownload
};
static BOOL ensure_uri(nsWineURI *This)