ReactOS  r74006
nsiface.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2005-2012 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 /*
20  * NOTE:
21  * This file is not a typical idl file. Interfaces in this file are XPCOM
22  * interfaces (NOT MSCOM!), but we generate the header file with WIDL
23  * compatible with XPCOM, usable in C code.
24  */
25 
26 #pragma makedep header
27 
28 cpp_quote("#define GECKO_VERSION \"2.40\"")
29 cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION")
30 
31 import "wtypes.idl";
32 
33 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
34 cpp_quote("#undef GetForm")
35 cpp_quote("#undef SetPort")
36 cpp_quote("#undef GetClassName")
37 cpp_quote("#endif")
38 
39 typedef HRESULT nsresult;
40 typedef ULONG nsrefcnt;
41 
42 typedef IID nsID;
43 typedef IID nsIID;
44 typedef nsIID nsCID;
45 typedef REFIID nsIIDRef;
46 typedef nsIIDRef nsCIDRef;
47 
48 typedef WCHAR PRUnichar;
49 
50 /*
51  * Mozilla uses stdint.h types for its headers. Following defines make this IDL file
52  * more similar to original declarations. Note that it's only a widl trick, we can't
53  * use stdint.h types in C.
54  */
55 #define int16_t short
56 #define int32_t LONG
57 #define int64_t INT64
58 
59 #define uint8_t UINT8
60 #define uint16_t UINT16
61 #define uint32_t UINT32
62 #define uint64_t UINT64
63 
64 #define char16_t PRUnichar
65 
68 typedef int64_t PRTime;
69 
70 /* Similar trick to stdint.h types for C++ bool type */
71 typedef unsigned char cpp_bool;
72 #define bool cpp_bool
73 
74 typedef struct {
75  void *v;
76  void *d1;
78  void *d3;
80 
81 typedef struct {
82  void *v;
83  void *d1;
85  void *d3;
87 
90 
91 interface nsIWebBrowserChrome;
92 interface nsILoadGroup;
93 interface nsIDOMNode;
94 interface nsIDOMAttr;
95 interface nsIDOMDocument;
96 interface nsIDOMEvent;
97 interface nsIEditor;
98 interface nsISelectionController;
99 interface nsITransactionManager;
100 interface nsITransaction;
101 interface nsIInlineSpellChecker;
102 interface nsIOutputStream;
103 interface nsIEditorObserver;
104 interface nsIEditActionListener;
105 interface nsIDocumentStateListener;
106 interface nsIDOMCSSStyleSheet;
107 interface nsIDOMDocumentView;
108 interface nsIDOMWindow;
109 interface nsIDOMElement;
110 interface nsIDOMRange;
111 interface nsIDOMEventTarget;
112 interface nsISelection;
113 interface nsIDOMHTMLSelectElement;
114 interface nsIFile;
115 interface nsIDocShell;
116 
117 interface IMoniker;
118 
119 [
120  object,
121  uuid(00000000-0000-0000-c000-000000000046),
122  local
123 ]
124 interface nsISupports
125 {
126  nsresult QueryInterface(nsIIDRef riid, void **result);
127  nsrefcnt AddRef();
128  nsrefcnt Release();
129 }
130 
131 /* Currently we don't need a full declaration of these interfaces */
208 
209 typedef void *JSContext;
210 typedef void *JSObject;
211 typedef uint64_t jsval;
212 
213 [
214  object,
215  uuid(8bb35ed9-e332-462d-9155-4a002ab5c958),
216  local
217 ]
219 {
220  nsresult GetService(nsCIDRef aClass, nsIIDRef aIID, void **result);
221  nsresult GetServiceByContractID(const char *aContractID, nsIIDRef aIID, void **result);
222  nsresult IsServiceInstantiated(nsCIDRef aClass, nsIIDRef aIID, BOOL *_retval);
223  nsresult IsServiceInstantiatedByContractID(const char *aContractID, nsIIDRef aIID, BOOL *_retval);
224 }
225 
226 [
227  object,
228  uuid(00000001-0000-0000-c000-000000000046),
229  local
230 ]
232 {
233  nsresult CreateInstance(nsISupports *aOuter, const nsIID *iid, void **result);
234  nsresult LockFactory(bool lock);
235 }
236 
237 [
238  object,
239  uuid(9188bc85-f92e-11d2-81ef-0060083a0bcf),
240  local
241 ]
243 {
244  nsresult QueryReferent(const nsIID *riid, void **result);
245 }
246 
247 [
248  object,
249  uuid(9188bc86-f92e-11d2-81ef-0060083a0bcf),
250  local
251 ]
253 {
254  nsresult GetWeakReference(nsIWeakReference **_retval);
255 }
256 
257 [
258  object,
259  uuid(033a1470-8b2a-11d3-af88-00a024ffc08c),
260  local
261 ]
263 {
264  nsresult GetInterface(const nsIID *riid, void **result);
265 }
266 
267 [
268  object,
269  uuid(4a2abaf0-6886-11d3-9382-00104ba0fd40),
270  local
271 ]
273 {
274  nsresult Run();
275 }
276 
277 [
278  object,
279  uuid(d1899240-f9d2-11d2-bdd6-000064657374),
280  local
281 ]
283 {
284  nsresult HasMoreElements(bool *_retval);
285  nsresult GetNext(nsISupports **_retval);
286 }
287 
288 [
289  object,
290  uuid(81e4c2de-acac-4ad6-901a-b5fb1b851a0d),
291  local
292 ]
294 {
295  nsresult GetDataType(uint16_t *aDataType);
296  nsresult GetAsInt8(uint8_t *_retval);
297  nsresult GetAsInt16(int16_t *_retval);
298  nsresult GetAsInt32(int32_t *_retval);
299  nsresult GetAsInt64(int64_t *_retval);
300  nsresult GetAsUint8(uint8_t *_retval);
301  nsresult GetAsUint16(uint16_t *_retval);
302  nsresult GetAsUint32(uint32_t *_retval);
303  nsresult GetAsUint64(uint64_t *_retval);
304  nsresult GetAsFloat(float *_retval);
305  nsresult GetAsDouble(double *_retval);
306  nsresult GetAsBool(bool *_retval);
307  nsresult GetAsChar(char *_retval);
308  nsresult GetAsWChar(PRUnichar *_retval);
309  nsresult GetAsID(nsID *retval);
310  nsresult GetAsAString(nsAString *_retval);
311  nsresult GetAsDOMString(nsAString *_retval);
312  nsresult GetAsACString(nsACString *_retval);
313  nsresult GetAsAUTF8String(nsACString *_retval);
314  nsresult GetAsString(char * *_retval);
315  nsresult GetAsWString(PRUnichar * *_retval);
316  nsresult GetAsISupports(nsISupports * *_retval);
317  nsresult GetAsJSVal(long /*jsval*/ *_retval);
318  nsresult GetAsInterface(nsIID **iid, void **iface);
319  nsresult GetAsArray(uint16_t *type, nsIID *iid, uint32_t *count, void **ptr);
320  nsresult GetAsStringWithSize(uint32_t *size, char **str);
321  nsresult GetAsWStringWithSize(uint32_t *size, PRUnichar **str);
322 }
323 
324 [
325  object,
326  uuid(5586a590-8c82-11d5-90f3-0010a4e73d9a),
327  local
328 ]
330 {
331  nsresult GetWritable(bool *aWritable);
332  nsresult SetWritable(bool aWritable);
333  nsresult SetAsInt8(uint8_t aValue);
334  nsresult SetAsInt16(int16_t aValue);
335  nsresult SetAsInt32(int32_t aValue);
336  nsresult SetAsInt64(int64_t aValue);
337  nsresult SetAsUint8(uint8_t aValue);
338  nsresult SetAsUint16(uint16_t aValue);
339  nsresult SetAsUint32(uint32_t aValue);
340  nsresult SetAsUint64(uint64_t aValue);
341  nsresult SetAsFloat(float aValue);
342  nsresult SetAsDouble(double aValue);
343  nsresult SetAsBool(bool aValue);
344  nsresult SetAsChar(char aValue);
345  nsresult SetAsWChar(PRUnichar aValue);
346  nsresult SetAsID(const nsID *aValue);
347  nsresult SetAsAString(const nsAString *aValue);
348  nsresult SetAsDOMString(const nsAString *aValue);
349  nsresult SetAsACString(const nsACString *aValue);
350  nsresult SetAsAUTF8String(const nsACString *aValue);
351  nsresult SetAsString(const char * aValue);
352  nsresult SetAsWString(const PRUnichar * aValue);
353  nsresult SetAsISupports(nsISupports *aValue);
354  nsresult SetAsInterface(const nsIID *iid, void *iface);
355  nsresult SetAsArray(uint16_t type, const nsIID *iid, uint32_t count, void *ptr);
356  nsresult SetAsStringWithSize(uint32_t size, const char *str);
357  nsresult SetAsWStringWithSize(uint32_t size, const PRUnichar *str);
358  nsresult SetAsVoid();
359  nsresult SetAsEmpty();
360  nsresult SetAsEmptyArray();
361  nsresult SetFromVariant(nsIVariant *aValue);
362 }
363 
364 [
365  object,
366  uuid(53cdbc97-c2d7-4e30-b2c3-45b2ee79db18),
367  local
368 ]
370 {
371  nsresult Close();
372  nsresult Available(uint64_t *_retval);
373  nsresult Read(char *aBuf, uint32_t aCount, uint32_t *_retval);
374  nsresult ReadSegments(nsresult (*aWriter)(nsIInputStream *aInStream,
375  void *aClosure, const char *aFromSegment, uint32_t aToOffset,
376  uint32_t aCount, uint32_t *aWriteCount),
377  void *aClosure, uint32_t aCount, uint32_t *_retval);
378  nsresult IsNonBlocking(bool *_retval);
379 }
380 
381 [
382  object,
383  uuid(8429d350-1040-4661-8b71-f2a6ba455980),
384  local
385 ]
387 {
388  enum {
392  };
393 
394  nsresult Seek(int32_t whence, int64_t offset);
395  nsresult Tell(int64_t *_retval);
396  nsresult SetEOF();
397 }
398 
399 [
400  object,
401  uuid(395fe045-7d18-4adb-a3fd-af98c8a1af11),
402  local
403 ]
404 interface nsIURI : nsISupports
405 {
406  nsresult GetSpec(nsACString *aSpec);
407  nsresult SetSpec(const nsACString *aSpec);
408  nsresult GetPrePath(nsACString *aPrePath);
409  nsresult GetScheme(nsACString *aScheme);
410  nsresult SetScheme(const nsACString *aScheme);
411  nsresult GetUserPass(nsACString *aUserPass);
412  nsresult SetUserPass(const nsACString *aUserPass);
413  nsresult GetUsername(nsACString *aUsername);
414  nsresult SetUsername(const nsACString *aUsername);
415  nsresult GetPassword(nsACString *aPassword);
416  nsresult SetPassword(const nsACString *aPassword);
417  nsresult GetHostPort(nsACString *aHostPort);
418  nsresult SetHostPort(const nsACString *aHostPort);
419  nsresult GetHost(nsACString *aHost);
420  nsresult SetHost(const nsACString *aHost);
421  nsresult GetPort(int32_t *aPort);
422  nsresult SetPort(int32_t aPort);
423  nsresult GetPath(nsACString *aPath);
424  nsresult SetPath(const nsACString *aPath);
425  nsresult Equals(nsIURI *other, bool *_retval);
426  nsresult SchemeIs(const char *scheme, bool *_retval);
427  nsresult Clone(nsIURI **_retval);
428  nsresult Resolve(const nsACString *relativePath, nsACString *_retval);
429  nsresult GetAsciiSpec(nsACString *aAsciiSpec);
430  nsresult GetAsciiHost(nsACString *aAsciiHost);
431  nsresult GetOriginCharset(nsACString *aOriginCharset);
432  nsresult GetRef(nsACString *aRef);
433  nsresult SetRef(const nsACString *aRef);
434  nsresult EqualsExceptRef(nsIURI *other, bool *_retval);
435  nsresult CloneIgnoringRef(nsIURI **_retval);
436  nsresult GetSpecIgnoringRef(nsACString *aSpecIgnoringRef);
437  nsresult GetHasRef(bool *aHasRef);
438 }
439 
440 [
441  object,
442  uuid(1419aa16-f134-4154-9886-00c7c5147a13),
443  local
444 ]
445 interface nsIURL : nsIURI
446 {
447  nsresult GetFilePath(nsACString *aFilePath);
448  nsresult SetFilePath(const nsACString *aFilePath);
449  nsresult GetQuery(nsACString *aQuery);
450  nsresult SetQuery(const nsACString *aQuery);
451  nsresult GetDirectory(nsACString *aDirectory);
452  nsresult SetDirectory(const nsACString *aDirectory);
453  nsresult GetFileName(nsACString *aFileName);
454  nsresult SetFileName(const nsACString *aFileName);
455  nsresult GetFileBaseName(nsACString *aFileBaseName);
456  nsresult SetFileBaseName(const nsACString *aFileBaseName);
457  nsresult GetFileExtension(nsACString *aFileExtension);
458  nsresult SetFileExtension(const nsACString *aFileExtension);
459  nsresult GetCommonBaseSpec(nsIURI *aURIToCompare, nsACString *_retval);
460  nsresult GetRelativeSpec(nsIURI *aURIToCompare, nsACString *_retval);
461 }
462 
463 [
464  object,
465  uuid(7750029c-1b0a-414e-8359-a77f24a2a0a6),
466  local
467 ]
468 interface nsIFileURL : nsIURL
469 {
470  nsresult GetFile(nsIFile **aFile);
471  nsresult SetFile(nsIFile *aFile);
472 }
473 
474 [
475  object,
476  uuid(321578d0-03c1-4d95-8821-021ac612d18d),
477  local
478 ]
480 {
481  nsresult GetMutable(bool *aMutable);
482  nsresult SetMutable(bool aMutable);
483 }
484 
485 [
486  object,
487  uuid(babd6cca-ebe7-4329-967c-d6b9e33caa81),
488  local
489 ]
491 {
492  nsresult Init(uint32_t aUrlType, int32_t aDefaultPort, const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI);
493 }
494 
495 [
496  object,
497  uuid(ef6bfbd2-fd46-48d8-96b7-9f8f0fd387fe),
498  local
499 ]
501 {
502  nsresult GetName(nsACString *aName);
503  nsresult IsPending(bool *_retval);
504  nsresult GetStatus(nsresult *aStatus);
505  nsresult Cancel(nsresult aStatus);
506  nsresult Suspend();
507  nsresult Resume();
508  nsresult GetLoadGroup(nsILoadGroup **aLoadGroup);
509  nsresult SetLoadGroup(nsILoadGroup *aLoadGroup);
510  nsresult GetLoadFlags(nsLoadFlags *aLoadFlags);
511  nsresult SetLoadFlags(nsLoadFlags aLoadFlags);
512 }
513 
514 [
515  object,
516  uuid(fd91e2e0-1481-11d3-9333-00104ba0fd40),
517  local
518 ]
520 {
521  nsresult OnStartRequest(nsIRequest *aRequest, nsISupports *aContext);
522  nsresult OnStopRequest(nsIRequest *aRequest, nsISupports *aContext, nsresult aStatusCode);
523 }
524 
525 [
526  object,
527  uuid(3b4c8a77-76ba-4610-b316-678c73a3b88c),
528  local
529 ]
531 {
532  nsresult OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext,
533  nsIInputStream *aInputStream, uint64_t aOffset, uint32_t aCount);
534 }
535 
536 [
537  object,
538  uuid(afb57ac2-bce5-4ee3-bb34-385089a9ba5c),
539  local
540 ]
542 {
543  nsresult GetGroupObserver(nsIRequestObserver **aGroupObserver);
544  nsresult SetGroupObserver(nsIRequestObserver *aGroupObserver);
545  nsresult GetDefaultLoadRequest(nsIRequest **aDefaultLoadRequest);
546  nsresult SetDefaultLoadRequest(nsIRequest *aDefaultLoadRequest);
547  nsresult AddRequest(nsIRequest *aRequest, nsISupports *aContext);
548  nsresult RemoveRequest(nsIRequest *aRequest, nsISupports *aContext, nsresult aStatus);
549  nsresult GetRequests(nsISimpleEnumerator **aRequests);
550  nsresult GetActiveCount(uint32_t *aActiveCount);
551  nsresult GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks);
552  nsresult SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks);
553  nsresult GetConnectionInfo(nsILoadGroupConnectionInfo **aConnectionInfo);
554  nsresult GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags);
555  nsresult SetDefaultLoadFlags(nsLoadFlags aDefaultLoadFlags);
556 }
557 
558 [
559  object,
560  uuid(1bc48693-c45d-45f4-8ab1-46e323037fe1),
561  local
562 ]
564 {
565  const UINT LOAD_DOCUMENT_URI = 1 << 16;
567  const UINT LOAD_REPLACE = 1 << 18;
569  const UINT LOAD_TARGETED = 1 << 20;
571  const UINT LOAD_CLASSIFY_URI = 1 << 22;
574 
575  nsresult GetOriginalURI(nsIURI **aOriginalURI);
576  nsresult SetOriginalURI(nsIURI *aOriginalURI);
577  nsresult GetURI(nsIURI **aURI);
578  nsresult GetOwner(nsISupports **aOwner);
579  nsresult SetOwner(nsISupports *aOwner);
580  nsresult GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks);
581  nsresult SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks);
582  nsresult GetSecurityInfo(nsISupports **aSecurityInfo);
583  nsresult GetContentType(nsACString *aContentType);
584  nsresult SetContentType(const nsACString *aContentType);
585  nsresult GetContentCharset(nsACString *aContentCharset);
586  nsresult SetContentCharset(const nsACString *aContentCharset);
587  nsresult GetContentLength(int64_t *aContentLength);
588  nsresult SetContentLength(int64_t aContentLength);
589  nsresult Open(nsIInputStream **_retval);
590  nsresult AsyncOpen(nsIStreamListener *aListener, nsISupports *aContext);
591  nsresult GetContentDisposition(uint32_t *aContentDisposition);
592  nsresult SetContentDisposition(uint32_t aContentDisposition);
593  nsresult GetContentDispositionFilename(nsAString *aContentDispositionFilename);
594  nsresult SetContentDispositionFilename(const nsAString *aContentDispositionFilename);
595  nsresult GetContentDispositionHeader(nsACString *aContentDispositionHeader);
596  nsresult GetLoadInfo(nsILoadInfo **aLoadInfo);
597  nsresult SetLoadInfo(nsILoadInfo *aLoadInfo);
598 }
599 
600 [
601  object,
602  uuid(35412859-b9d9-423c-8866-2d4559fdd2be),
603  local
604 ]
606 {
607  nsresult VisitHeader(const nsACString *aHeader, const nsACString *aValue);
608 }
609 
610 [
611  object,
612  uuid(86ad7e1f-3a64-4e0f-a104-395ebecd7d5c),
613  local
614 ]
616 {
617  nsresult GetRequestMethod(nsACString *aRequestMethod);
618  nsresult SetRequestMethod(const nsACString *aRequestMethod);
619  nsresult GetReferrer(nsIURI **aReferrer);
620  nsresult SetReferrer(nsIURI *aReferrer);
621  nsresult GetReferrerPolicy(uint32_t *aReferrerPolicy);
622  nsresult SetReferrerWithPolicy(nsIURI *referrer, uint32_t referrerPolicy);
623  nsresult GetRequestHeader(const nsACString *aHeader, nsACString *_retval);
624  nsresult SetRequestHeader(const nsACString *aHeader, const nsACString *aValue, bool aMerge);
625  nsresult VisitRequestHeaders(nsIHttpHeaderVisitor *aVisitor);
626  nsresult GetAllowPipelining(bool *aAllowPipelining);
627  nsresult SetAllowPipelining(bool aAllowPipelining);
628  nsresult GetAllowSTS(bool *aAllowSTS);
629  nsresult SetAllowSTS(bool aAllowSTS);
630  nsresult GetRedirectionLimit(uint32_t *aRedirectionLimit);
631  nsresult SetRedirectionLimit(uint32_t aRedirectionLimit);
632  nsresult GetResponseStatus(uint32_t *aResponseStatus);
633  nsresult GetResponseStatusText(nsACString *aResponseStatusText);
634  nsresult GetRequestSucceeded(bool *aRequestSucceeded);
635  nsresult GetResponseHeader(const nsACString *header, nsACString *_retval);
636  nsresult SetResponseHeader(const nsACString *header, const nsACString *value, bool merge);
637  nsresult VisitResponseHeaders(nsIHttpHeaderVisitor *aVisitor);
638  nsresult IsNoStoreResponse(bool *_retval);
639  nsresult IsNoCacheResponse(bool *_retval);
640  nsresult IsPrivateResponse(bool *_retval);
641  nsresult RedirectTo(nsIURI *aNewURI);
642 }
643 
644 [
645  object,
646  uuid(26833ec7-4555-4f23-9281-3a12d4b76db1),
647  local
648 ]
650 {
651  nsresult GetDocumentURI(nsIURI **aDocumentURI);
652  nsresult SetDocumentURI(nsIURI *aDocumentURI);
654  nsresult GetResponseVersion(uint32_t *major, uint32_t *minor);
655  nsresult TakeAllSecurityMessages(void /*securityMessagesArray*/ *aMessages);
656  nsresult SetCookie(const char *aCookieHeader);
657  nsresult SetupFallbackChannel(const char *aFallbackKey);
658  nsresult GetForceAllowThirdPartyCookie(bool *aForceAllowThirdPartyCookie);
659  nsresult SetForceAllowThirdPartyCookie(bool aForceAllowThirdPartyCookie);
660  nsresult GetCanceled(bool *aCanceled);
661  nsresult GetChannelIsForDownload(bool *aChannelIsForDownload);
662  nsresult SetChannelIsForDownload(bool aChannelIsForDownload);
663  nsresult GetLocalAddress(nsACString *aLocalAddress);
664  nsresult GetLocalPort(int32_t *aLocalPort);
665  nsresult GetRemoteAddress(nsACString *aRemoteAddress);
666  nsresult GetRemotePort(int32_t *aRemotePort);
667  nsresult SetCacheKeysRedirectChain(void /*nsTArray<nsCString>*/ *cacheKeys);
668  nsresult HTTPUpgrade(const nsACString *aProtocolName, nsIHttpUpgradeListener *aListener);
669  nsresult GetAllowSpdy(bool *aAllowSpdy);
670  nsresult SetAllowSpdy(bool aAllowSpdy);
671  nsresult GetResponseTimeoutEnabled(bool *aResponseTimeoutEnabled);
672  nsresult SetResponseTimeoutEnabled(bool aResponseTimeoutEnabled);
673  nsresult GetApiRedirectToURI(nsIURI **aApiRedirectToURI);
674  nsresult GetAllowAltSvc(bool *aAllowAltSvc);
675  nsresult SetAllowAltSvc(bool aAllowAltSvc);
676  nsresult AddRedirect(nsIPrincipal *aPrincipal);
677  nsresult GetLastModifiedTime(PRTime *aLastModifiedTime);
678  nsresult ForceNoIntercept();
679  nsresult GetCorsIncludeCredentials(bool *aCorsIncludeCredentials);
680  nsresult SetCorsIncludeCredentials(bool aCorsIncludeCredentials);
681  nsresult GetCorsMode(uint32_t *aCorsMode);
682  nsresult SetCorsMode(uint32_t aCorsMode);
683  nsresult GetTopWindowURI(nsIURI **aTopWindowURI);
684  nsresult GetNetworkInterfaceId(nsACString *aNetworkInterfaceId);
685  nsresult SetNetworkInterfaceId(const nsACString *aNetworkInterfaceId);
686  nsresult ContinueBeginConnect();
687  nsresult GetProxyURI(nsIURI **aProxyURI);
688 }
689 
690 [
691  object,
692  uuid(5cfe15bd-5adb-4a7f-9e55-4f5a67d15794),
693  local
694 ]
696 {
697  nsresult SetUploadStream(nsIInputStream *aStream, const nsACString *aContentType,
698  int64_t aContentLength);
699  nsresult GetUploadStream(nsIInputStream **aUploadStream);
700 }
701 
702 [
703  object,
704  uuid(8d171460-a716-41f1-92be-8c659db39b45),
705  local
706 ]
708 {
709  nsresult OnRedirectVerifyCallback(nsresult result);
710 }
711 
712 [
713  object,
714  uuid(0197720d-37ed-4e75-8956-d0d296e4d8a6),
715  local
716 ]
718 {
723 
724  nsresult AsyncOnChannelRedirect(nsIChannel *oldChannel, nsIChannel *newChannel, uint32_t flags,
726 }
727 
728 [
729  object,
730  uuid(79de76e5-994e-4f6b-81aa-42d9adb6e67e),
731  local
732 ]
734 {
735  nsresult GetHash(nsAString *aHash);
736  nsresult SetHash(const nsAString *aHash);
737  nsresult GetHost(nsAString *aHost);
738  nsresult SetHost(const nsAString *aHost);
739  nsresult GetHostname(nsAString *aHostname);
740  nsresult SetHostname(const nsAString *aHostname);
741  nsresult GetHref(nsAString *aHref);
742  nsresult SetHref(const nsAString *aHref);
743  nsresult GetPathname(nsAString *aPathname);
744  nsresult SetPathname(const nsAString *aPathname);
745  nsresult GetPort(nsAString *aPort);
746  nsresult SetPort(const nsAString *aPort);
747  nsresult GetProtocol(nsAString *aProtocol);
748  nsresult SetProtocol(const nsAString *aProtocol);
749  nsresult GetSearch(nsAString *aSearch);
750  nsresult SetSearch(const nsAString *aSearch);
751  nsresult GetOrigin(nsAString *aOrigin);
752  nsresult Reload(bool forceget);
753  nsresult Replace(const nsAString *url);
754  nsresult Assign(const nsAString *url);
755  nsresult ToString(nsAString *_retval);
756  nsresult ValueOf(nsIDOMLocation **_retval);
757 }
758 
759 [
760  object,
761  uuid(4d6b3bad-f53c-4585-82f6-62982e27ede8),
762  local
763 ]
765 {
766  nsresult GetType(uint16_t *aType);
767  nsresult GetCssText(nsAString *aCssText);
768  nsresult SetCssText(const nsAString *aCssText);
769  nsresult GetParentStyleSheet(nsIDOMCSSStyleSheet **aParentStyleSheet);
770  nsresult GetParentRule(nsIDOMCSSRule **aParentRule);
771  int /* thiscall mozilla::css::Rule */ GetCSSRule();
772 }
773 
774 [
775  object,
776  uuid(a6cf90be-15b3-11d2-932e-00805f8add32),
777  local
778 ]
780 {
781  nsresult GetCssText(nsAString *aCssText);
782  nsresult SetCssText(const nsAString *aCssText);
783  nsresult GetPropertyValue(const nsAString *propertyName, nsAString *_retval);
784  nsresult GetPropertyCSSValue(const nsAString *propertyName, nsIDOMCSSValue **_retval);
785  nsresult RemoveProperty(const nsAString *propertyName, nsAString *_retval);
786  nsresult GetPropertyPriority(const nsAString *propertyName, nsAString *_retval);
787  nsresult SetProperty(const nsAString *propertyName, const nsAString *value,
788  const nsAString *priority);
789  nsresult GetLength(uint32_t *aLength);
790  nsresult Item(uint32_t index, nsAString *_retval);
791  nsresult GetParentRule(nsIDOMCSSRule **aParentRule);
792 }
793 
794 [
795  object,
796  uuid(a6cf90c0-15b3-11d2-932e-00805f8add32),
797  local
798 ]
800 {
801  nsresult GetLength(uint32_t *aLength);
802  nsresult Item(uint32_t index, nsIDOMCSSRule **_retval);
803 }
804 
805 [
806  object,
807  uuid(a6cf9080-15b3-11d2-932e-00805f8add32),
808  local
809 ]
811 {
812  nsresult GetType(nsAString *aType);
813  nsresult GetDisabled(bool *aDisabled);
814  nsresult SetDisabled(bool aDisabled);
815  nsresult GetOwnerNode(nsIDOMNode **aOwnerNode);
816  nsresult GetParentStyleSheet(nsIDOMStyleSheet **aParentStyleSheet);
817  nsresult GetHref(nsAString *aHref);
818  nsresult GetTitle(nsAString *aTitle);
819  nsresult GetMedia(nsIDOMMediaList **aMedia);
820 }
821 
822 [
823  object,
824  uuid(a6cf90c2-15b3-11d2-932e-00805f8add32),
825  local
826 ]
828 {
829  nsresult GetOwnerRule(nsIDOMCSSRule **aOwnerRule);
830  nsresult GetCssRules(nsIDOMCSSRuleList **aCssRules);
831  nsresult InsertRule(const nsAString *rule, uint32_t index, uint32_t *_retval);
832  nsresult DeleteRule(uint32_t index);
833 }
834 
835 [
836  object,
837  uuid(0e424250-ac2a-4fe2-bccd-a45824af090e),
838  local
839 ]
841 {
842  nsresult GetLength(uint32_t *aLength);
843  nsresult Item(uint32_t index, nsIDOMStyleSheet **_retval);
844 }
845 
846 [
847  object,
848  uuid(450cf0ba-de90-4f86-85bf-e10cc8b8713f),
849  local
850 ]
852 {
853  nsresult Item(uint32_t index, nsIDOMNode **_retval);
854  nsresult GetLength(uint32_t *aLength);
855 }
856 
857 [
858  object,
859  uuid(bb07f567-5b37-4172-92aa-7d00ceed4809),
860  local
861 ]
863 {
864  nsresult GetLength(uint32_t *aLength);
865  nsresult Item(uint32_t index, nsIDOMNode **_retval);
866  nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
867 }
868 
869 [
870  object,
871  uuid(cb5564cd-26ec-418f-a6d6-1d57cd2c971c),
872  local
873 ]
875 {
876  nsresult GetNamedItem(const nsAString *name, nsIDOMAttr **_retval);
877  nsresult SetNamedItem(nsIDOMAttr *arg, nsIDOMAttr **_retval);
878  nsresult RemoveNamedItem(const nsAString *name, nsIDOMAttr **_retval);
879  nsresult Item(uint32_t index, nsIDOMAttr **_retval);
880  nsresult GetLength(uint32_t *aLength);
881  nsresult GetNamedItemNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMAttr **_retval);
882  nsresult SetNamedItemNS(nsIDOMAttr *arg, nsIDOMAttr **_retval);
883  nsresult RemoveNamedItemNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMAttr **_retval);
884 }
885 
886 [
887  object,
888  uuid(cc35b412-009b-46a3-9be0-76448f12548d),
889  local
890 ]
892 {
893  enum NSNODETYPE {
906  };
907 
908  enum {
915  };
916 
917  nsresult GetNodeName(nsAString *aNodeName);
918  nsresult GetNodeValue(nsAString *aNodeValue);
919  nsresult SetNodeValue(const nsAString *aNodeValue);
920  nsresult GetNodeType(uint16_t *aNodeType);
921  nsresult GetParentNode(nsIDOMNode **aParentNode);
922  nsresult GetParentElement(nsIDOMElement **aParentElement);
923  nsresult GetChildNodes(nsIDOMNodeList **aChildNodes);
924  nsresult GetFirstChild(nsIDOMNode **aFirstChild);
925  nsresult GetLastChild(nsIDOMNode **aLastChild);
926  nsresult GetPreviousSibling(nsIDOMNode **aPreviousSibling);
927  nsresult GetNextSibling(nsIDOMNode **aNextSibling);
928  nsresult GetOwnerDocument(nsIDOMDocument **aOwnerDocument);
929  nsresult InsertBefore(nsIDOMNode *newChild, nsIDOMNode *refChild, nsIDOMNode **_retval);
930  nsresult ReplaceChild(nsIDOMNode *newChild, nsIDOMNode *oldChild, nsIDOMNode **_retval);
931  nsresult RemoveChild(nsIDOMNode *oldChild, nsIDOMNode **_retval);
932  nsresult AppendChild(nsIDOMNode *newChild, nsIDOMNode **_retval);
933  nsresult HasChildNodes(bool *_retval);
934  nsresult CloneNode(bool deep, uint8_t _argc, nsIDOMNode **_retval);
935  nsresult Normalize();
936  nsresult GetNamespaceURI(nsAString *aNamespaceURI);
937  nsresult GetPrefix(nsAString *aPrefix);
938  nsresult GetLocalName(nsAString *aLocalName);
939  nsresult UnusedPlaceholder(bool *_retval);
940  nsresult GetDOMBaseURI(nsAString *aBaseURI);
941  nsresult CompareDocumentPosition(nsIDOMNode *other, uint16_t *_retval);
942  nsresult GetTextContent(nsAString *aTextContent);
943  nsresult SetTextContent(const nsAString *aTextContent);
944  nsresult LookupPrefix(const nsAString *namespaceURI, nsAString *_retval);
945  nsresult IsDefaultNamespace(const nsAString *namespaceURI, bool *_retval);
946  nsresult LookupNamespaceURI(const nsAString *prefix, nsAString *_retval);
947  nsresult IsEqualNode(nsIDOMNode *arg, bool *_retval);
948  nsresult SetUserData(const nsAString *key, nsIVariant *data, nsIVariant **_retval);
949  nsresult GetUserData(const nsAString *key, nsIVariant **_retval);
950  nsresult Contains(nsIDOMNode *aOther, bool *_retval);
951 
952  nsresult GetMshtmlNode(nsISupports **aMshtmlNode);
953  nsresult SetMshtmlNode(nsISupports *aMshtmlNode);
954 }
955 
956 [
957  object,
958  uuid(7db491e8-a3a3-4432-ad67-e6c33e24ac6d),
959  local
960 ]
962 {
963  nsresult GetName(nsAString *aName);
964  nsresult GetSpecified(bool *aSpecified);
965  nsresult GetValue(nsAString *aValue);
966  nsresult SetValue(const nsAString *aValue);
967  nsresult GetOwnerElement(nsIDOMElement **aOwnerElement);
968  nsresult GetIsId(bool *aIsId);
969 }
970 
971 [
972  object,
973  uuid(b2f824c4-d9d3-499b-8d3b-45c8245497c6),
974  local
975 ]
977 {
978  nsresult GetLeft(float *aLeft);
979  nsresult GetTop(float *aTop);
980  nsresult GetRight(float *aRight);
981  nsresult GetBottom(float *aBottom);
982  nsresult GetWidth(float *aWidth);
983  nsresult GetHeight(float *aHeight);
984 }
985 
986 [
987  object,
988  uuid(6289999b-1008-4269-b42a-413ec5a9d3f4),
989  local
990 ]
992 {
993  nsresult GetTagName(nsAString *aTagName);
994  nsresult GetId(nsAString *aId);
995  nsresult SetId(const nsAString *aId);
996  nsresult GetClassName(nsAString *aClassName);
997  nsresult SetClassName(const nsAString *aClassName) ;
998  nsresult GetClassList(nsISupports **aClassList);
999  nsresult GetAttributes(nsIDOMMozNamedAttrMap **aAttributes);
1000  nsresult GetAttribute(const nsAString *name, nsAString *_retval);
1001  nsresult GetAttributeNS(const nsAString *namespaceURI, const nsAString *localName, nsAString *_retval);
1002  nsresult SetAttribute(const nsAString *name, const nsAString *value);
1003  nsresult SetAttributeNS(const nsAString *namespaceURI, const nsAString *qualifiedName, const nsAString *value);
1004  nsresult RemoveAttribute(const nsAString *name);
1005  nsresult RemoveAttributeNS(const nsAString *namespaceURI, const nsAString *localName);
1006  nsresult HasAttribute(const nsAString *name, bool *_retval);
1007  nsresult HasAttributeNS(const nsAString *namespaceURI, const nsAString *localName, bool *_retval);
1008  nsresult HasAttributes(bool *_retval);
1009  nsresult GetAttributeNode(const nsAString *name, nsIDOMAttr **_retval);
1010  nsresult SetAttributeNode(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
1011  nsresult RemoveAttributeNode(nsIDOMAttr *oldAttr, nsIDOMAttr **_retval);
1012  nsresult GetAttributeNodeNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMAttr **_retval);
1013  nsresult SetAttributeNodeNS(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
1014  nsresult GetElementsByTagName(const nsAString *name, nsIDOMHTMLCollection **_retval);
1015  nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMHTMLCollection **_retval);
1016  nsresult GetElementsByClassName(const nsAString *classes, nsIDOMHTMLCollection **_retval);
1017  nsresult GetChildElements(nsIDOMNodeList **aChildren);
1018  nsresult GetFirstElementChild(nsIDOMElement **aFirstElementChild);
1019  nsresult GetLastElementChild(nsIDOMElement **aLastElementChild);
1020  nsresult GetPreviousElementSibling(nsIDOMElement **aPreviousElementSibling);
1021  nsresult GetNextElementSibling(nsIDOMElement **aNextElementSibling);
1022  nsresult GetChildElementCount(uint32_t *aChildElementCount);
1023  nsresult Remove();
1024  nsresult GetClientRects(nsIDOMClientRectList **_retval);
1025  nsresult GetBoundingClientRect(nsIDOMClientRect **_retval);
1026  nsresult GetScrollTop(int32_t *aScrollTop);
1027  nsresult SetScrollTop(int32_t aScrollTop);
1028  nsresult GetScrollLeft(int32_t *aScrollLeft);
1029  nsresult SetScrollLeft(int32_t aScrollLeft);
1030  nsresult GetScrollWidth(int32_t *aScrollWidth);
1031  nsresult GetScrollHeight(int32_t *aScrollHeight);
1032  nsresult GetClientTop(int32_t *aClientTop);
1033  nsresult GetClientLeft(int32_t *aClientLeft);
1034  nsresult GetClientWidth(int32_t *aClientWidth);
1035  nsresult GetClientHeight(int32_t *aClientHeight);
1036  nsresult GetScrollLeftMax(int32_t *aScrollLeftMax);
1037  nsresult GetScrollTopMax(int32_t *aScrollTopMax);
1038  nsresult MozMatchesSelector(const nsAString *selector, bool *_retval);
1039  nsresult SetCapture(bool retargetToElement);
1040  nsresult ReleaseCapture();
1041  nsresult MozRequestFullScreen();
1042  nsresult MozRequestPointerLock();
1043  nsresult QuerySelector(const nsAString *selectors, nsIDOMElement **_retval);
1044  nsresult QuerySelectorAll(const nsAString *selectors, nsIDOMNodeList **_retval);
1045 }
1046 
1047 [
1048  object,
1049  uuid(99715845-95fc-4a56-aa53-214b65c26e22),
1050  local
1051 ]
1053 {
1054  nsresult GetStyle(nsIDOMCSSStyleDeclaration **aStyle);
1055 }
1056 
1057 [
1058  object,
1059  uuid(b0c42392-d0e7-4f6a-beb5-a698ce648945),
1060  local
1061 ]
1063 {
1064  nsresult GetTitle(nsAString *aTitle);
1065  nsresult SetTitle(const nsAString *aTitle);
1066  nsresult GetLang(nsAString *aLang);
1067  nsresult SetLang(const nsAString *aLang);
1068  nsresult GetDir(nsAString *aDir);
1069  nsresult SetDir(const nsAString *aDir);
1070  nsresult GetDataset(nsISupports **aDataset);
1071  nsresult GetItemScope(bool *aItemScope);
1072  nsresult SetItemScope(bool aItemScope);
1073  nsresult GetItemType(nsIVariant **aItemType);
1074  nsresult SetItemType(nsIVariant *aItemType);
1075  nsresult GetItemId(nsAString *aItemId);
1076  nsresult SetItemId(const nsAString *aItemId);
1077  nsresult GetProperties(nsISupports **aProperties);
1078  nsresult GetItemValue(nsIVariant **aItemValue);
1079  nsresult SetItemValue(nsIVariant *aItemValue);
1080  nsresult GetItemProp(nsIVariant **aItemProp);
1081  nsresult SetItemProp(nsIVariant *aItemProp);
1082  nsresult GetItemRef(nsIVariant **aItemRef);
1083  nsresult SetItemRef(nsIVariant *aItemRef);
1084  nsresult GetHidden(bool *aHidden);
1085  nsresult SetHidden(bool aHidden);
1086  nsresult Click();
1087  nsresult GetTabIndex(int32_t *aTabIndex);
1088  nsresult SetTabIndex(int32_t aTabIndex);
1089  nsresult Focus();
1090  nsresult Blur();
1091  nsresult GetAccessKey(nsAString *aAccessKey);
1092  nsresult SetAccessKey(const nsAString *aAccessKey);
1093  nsresult GetAccessKeyLabel(nsAString *aAccessKeyLabel);
1094  nsresult GetDraggable(bool *aDraggable);
1095  nsresult SetDraggable(bool aDraggable);
1096  nsresult GetContentEditable(nsAString *aContentEditable);
1097  nsresult SetContentEditable(const nsAString *aContentEditable);
1098  nsresult GetIsContentEditable(bool *aIsContentEditable);
1099  nsresult GetContextMenu(nsIDOMHTMLMenuElement **aContextMenu);
1100  nsresult GetSpellcheck(bool *aSpellcheck);
1101  nsresult SetSpellcheck(bool aSpellcheck);
1102  nsresult GetInnerHTML(nsAString *aInnerHTML);
1103  nsresult SetInnerHTML(const nsAString *aInnerHTML);
1104  nsresult GetOuterHTML(nsAString *aInnerHTML);
1105  nsresult SetOuterHTML(const nsAString *aInnerHTML);
1106  nsresult InsertAdjacentHTML(const nsAString *position, const nsAString *text);
1107  nsresult ScrollIntoView(bool top, uint8_t _argc);
1108  nsresult GetOffsetParent(nsIDOMElement * *aOffsetParent);
1109  nsresult GetOffsetTop(int32_t *aOffsetTop);
1110  nsresult GetOffsetLeft(int32_t *aOffsetLeft);
1111  nsresult GetOffsetWidth(int32_t *aOffsetWidth);
1112  nsresult GetOffsetHeight(int32_t *aOffsetHeight);
1113 }
1114 
1115 [
1116  object,
1117  uuid(59b80014-00f5-412d-846f-725494122d42),
1118  local
1119 ]
1121 {
1122 }
1123 
1124 [
1125  object,
1126  uuid(4109a2d2-e7af-445d-bb72-c7c9b875f35e),
1127  local
1128 ]
1130 {
1131  nsresult GetData(nsAString *aData);
1132  nsresult SetData(const nsAString *aData);
1133  nsresult GetLength(uint32_t *aLength);
1134  nsresult SubstringData(uint32_t offset, uint32_t count, nsAString *_retval);
1135  nsresult AppendData(const nsAString *arg);
1136  nsresult InsertData(uint32_t offset, const nsAString *arg);
1137  nsresult DeleteData(uint32_t offset, uint32_t count);
1138  nsresult ReplaceData(uint32_t offset, uint32_t count, const nsAString *arg);
1139  nsresult Remove();
1140 }
1141 
1142 [
1143  object,
1144  uuid(67273994-6aff-4091-9de9-b788a249f783),
1145  local
1146 ]
1148 {
1149  nsresult SplitText(uint32_t offset, nsIDOMText **_retval);
1150  nsresult GetWholeText(nsAString *aWholeText);
1151 }
1152 
1153 [
1154  object,
1155  uuid(e7866ff8-b7fc-494f-87c0-fb017d8a4d30),
1156  local
1157 ]
1159 {
1160 }
1161 
1162 [
1163  object,
1164  uuid(48eb8d72-95bb-402e-a8fc-f2b187abcbdb),
1165  local
1166 ]
1168 {
1169  nsresult QuerySelector(const nsAString *selectors, nsIDOMElement **_retval);
1170  nsresult QuerySelectorAll(const nsAString *selectors, nsIDOMNodeList **_retval);
1171 }
1172 
1173 [
1174  object,
1175  uuid(35dc5030-dc83-4291-88a2-0906c549788e),
1176  local
1177 ]
1179 {
1180  nsresult GetDoctype(nsIDOMDocumentType **aDoctype);
1181  nsresult GetImplementation(nsIDOMDOMImplementation **aImplementation);
1182  nsresult GetDocumentElement(nsIDOMElement **aDocumentElement);
1183  nsresult CreateElement(const nsAString *tagName, nsIDOMElement **_retval);
1184  nsresult CreateDocumentFragment(nsIDOMDocumentFragment **_retval);
1185  nsresult CreateTextNode(const nsAString *data, nsIDOMText **_retval);
1186  nsresult CreateComment(const nsAString *data, nsIDOMComment **_retval);
1187  nsresult CreateCDATASection(const nsAString *data, nsIDOMCDATASection **_retval);
1188  nsresult CreateProcessingInstruction(const nsAString *target, const nsAString *data, nsIDOMProcessingInstruction **_retval);
1189  nsresult CreateAttribute(const nsAString *name, nsIDOMAttr **_retval);
1190  nsresult GetElementsByTagName(const nsAString *tagname, nsIDOMNodeList **_retval);
1191  nsresult ImportNode(nsIDOMNode *importedNode, bool deep, uint8_t _argc, nsIDOMNode **_retval);
1192  nsresult CreateElementNS(const nsAString *namespaceURI, const nsAString *qualifiedName, nsIDOMElement **_retval);
1193  nsresult CreateAttributeNS(const nsAString *namespaceURI, const nsAString *qualifiedName, nsIDOMAttr **_retval);
1194  nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName, nsIDOMNodeList **_retval);
1195  nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval);
1196  nsresult GetInputEncoding(nsAString *aInputEncoding);
1197  nsresult GetDocumentURI(nsAString *aDocumentURI);
1198  nsresult GetURL(nsAString *aURL);
1199  nsresult AdoptNode(nsIDOMNode *source, nsIDOMNode **_retval);
1200  nsresult CreateRange(nsIDOMRange **_retval);
1201  nsresult CreateNodeIterator(nsIDOMNode *root, uint32_t whatToShow, nsIDOMNodeFilter *filter, uint8_t _argc,
1202  nsIDOMNodeIterator **_retval);
1203  nsresult CreateTreeWalker(nsIDOMNode *root, uint32_t whatToShow, nsIDOMNodeFilter *filter, uint8_t _argc,
1204  nsIDOMTreeWalker **_retval);
1205  cpp_quote("#undef CreateEvent")
1206  nsresult CreateEvent(const nsAString *eventType, nsIDOMEvent **_retval);
1207  nsresult GetDefaultView(nsIDOMWindow **aDefaultView);
1208  nsresult GetCharacterSet(nsAString *aCharacterSet);
1209  nsresult GetDir(nsAString *aDir);
1210  nsresult SetDir(const nsAString *aDir);
1211  nsresult GetLocation(nsIDOMLocation **aLocation);
1212  nsresult GetTitle(nsAString *aTitle);
1213  nsresult SetTitle(const nsAString *aTitle);
1214  nsresult GetReadyState(nsAString *aReadyState);
1215  nsresult GetLastModified(nsAString *aLastModified);
1216  nsresult GetReferrer(nsAString *aReferrer);
1217  nsresult HasFocus(bool *_retval);
1218  nsresult GetActiveElement(nsIDOMElement **aActiveElement);
1219  nsresult GetElementsByClassName(const nsAString *classes, nsIDOMNodeList **_retval);
1220  nsresult GetStyleSheets(nsIDOMStyleSheetList **aStyleSheets);
1221  nsresult GetPreferredStyleSheetSet(nsAString *aPreferredStyleSheetSet);
1222  nsresult GetSelectedStyleSheetSet(nsAString *aSelectedStyleSheetSet);
1223  nsresult SetSelectedStyleSheetSet(const nsAString *aSelectedStyleSheetSet);
1224  nsresult GetLastStyleSheetSet(nsAString *aLastStyleSheetSet);
1225  nsresult GetStyleSheetSets(nsISupports **aStyleSheetSets);
1226  nsresult EnableStyleSheetsForSet(const nsAString *name);
1227  nsresult ElementFromPoint(float x, float y, nsIDOMElement **_retval);
1228  nsresult GetContentType(nsAString *aContentType);
1229  nsresult GetMozSyntheticDocument(bool *aMozSyntheticDocument);
1230  nsresult GetCurrentScript(nsIDOMElement **aCurrentScript);
1231  nsresult ReleaseCapture();
1232  nsresult MozSetImageElement(const nsAString *aImageElementId, nsIDOMElement *aImageElement);
1233  nsresult GetMozFullScreenElement(nsIDOMElement **aMozFullScreenElement);
1234  nsresult MozCancelFullScreen();
1235  nsresult GetMozFullScreen(bool *aMozFullScreen);
1236  nsresult GetMozFullScreenEnabled(bool *aMozFullScreenEnabled);
1237  nsresult GetMozPointerLockElement(nsIDOMElement **aMozPointerLockElement);
1238  nsresult CaretPositionFromPoint(float x, float y, nsISupports **_retval);
1239  nsresult MozExitPointerLock();
1240  nsresult GetHidden(bool *aHidden);
1241  nsresult GetMozHidden(bool *aMozHidden);
1242  nsresult GetVisibilityState(nsAString *aVisibilityState);
1243  nsresult GetMozVisibilityState(nsAString *aMozVisibilityState);
1244  nsresult GetCompatMode(nsAString *aCompatMode);
1245  nsresult QuerySelector(const nsAString *selectors, nsIDOMElement **_retval);
1246  nsresult QuerySelectorAll(const nsAString *selectors, nsIDOMNodeList **_retval);
1247 }
1248 
1249 [
1250  object,
1251  uuid(bd2a0a46-17e4-46ea-9e5d-6a97cf5e3b28),
1252  local
1253 ]
1255 {
1256  nsresult GetDomain(nsAString *aDomain);
1257  nsresult SetDomain(const nsAString *aDomain);
1258  nsresult GetCookie(nsAString *aCookie);
1259  nsresult SetCookie(const nsAString *aCookie);
1260  nsresult GetHead(nsIDOMHTMLHeadElement **aHead);
1261  nsresult GetBody(nsIDOMHTMLElement **aBody);
1262  nsresult SetBody(nsIDOMHTMLElement *aBody);
1263  nsresult GetImages(nsIDOMHTMLCollection **aImages);
1264  nsresult GetEmbeds(nsIDOMHTMLCollection **aEmbeds);
1265  nsresult GetPlugins(nsIDOMHTMLCollection **aPlugins);
1266  nsresult GetLinks(nsIDOMHTMLCollection **aLinks);
1267  nsresult GetForms(nsIDOMHTMLCollection **aForms);
1268  nsresult GetScripts(nsIDOMHTMLCollection **aScripts);
1269  nsresult GetElementsByName(const nsAString *elementName, nsIDOMNodeList **_retval);
1270  nsresult GetItems(const nsAString *types, nsIDOMNodeList **_retval);
1271  nsresult Open(const nsAString *aContentTypeOrUrl, const nsAString *aReplaceOrName, const nsAString *aFeatures,
1272  JSContext *cx, uint8_t _argc, nsISupports **_retval);
1273  nsresult Close();
1274  nsresult Write(const nsAString *text, JSContext *cx);
1275  nsresult Writeln(const nsAString *text, JSContext *cx);
1276  nsresult GetDesignMode(nsAString *aDesignMode);
1277  nsresult SetDesignMode(const nsAString *aDesignMode);
1278  nsresult ExecCommand(const nsAString *commandID, bool doShowUI, const nsAString *value, bool *_retval);
1279  nsresult QueryCommandEnabled(const nsAString *commandID, bool *_retval);
1280  nsresult QueryCommandIndeterm(const nsAString *commandID, bool *_retval);
1281  nsresult QueryCommandState(const nsAString *commandID, bool *_retval);
1282  nsresult QueryCommandSupported(const nsAString *commandID, bool *_retval);
1283  nsresult QueryCommandValue(const nsAString *commandID, nsAString *_retval);
1284  nsresult GetFgColor(nsAString *aFgColor);
1285  nsresult SetFgColor(const nsAString *aFgColor);
1286  nsresult GetBgColor(nsAString *aBgColor);
1287  nsresult SetBgColor(const nsAString *aBgColor);
1288  nsresult GetLinkColor(nsAString *aLinkColor);
1289  nsresult SetLinkColor(const nsAString *aLinkColor);
1290  nsresult GetVlinkColor(nsAString *aVlinkColor);
1291  nsresult SetVlinkColor(const nsAString *aVlinkColor);
1292  nsresult GetAlinkColor(nsAString *aAlinkColor);
1293  nsresult SetAlinkColor(const nsAString *aAlinkColor);
1294  nsresult GetAnchors(nsIDOMHTMLCollection **aAnchors);
1295  nsresult GetApplets(nsIDOMHTMLCollection **aApplets);
1296  nsresult Clear();
1297  nsresult GetSelection(nsISelection **_retval);
1298  nsresult CaptureEvents();
1299  nsresult ReleaseEvents();
1300 }
1301 
1302 [
1303  object,
1304  uuid(1f94055c-42e7-4a30-96a1-6a804f1c2d1e),
1305  local
1306 ]
1308 {
1309  enum {
1314  };
1315 
1316  nsresult GetStartContainer(nsIDOMNode **aStartContainer);
1317  nsresult GetStartOffset(int32_t *aStartOffset);
1318  nsresult GetEndContainer(nsIDOMNode **aEndContainer);
1319  nsresult GetEndOffset(int32_t *aEndOffset);
1320  nsresult GetCollapsed(bool *aCollapsed);
1321  nsresult GetCommonAncestorContainer(nsIDOMNode **aCommonAncestorContainer);
1322  nsresult SetStart(nsIDOMNode *refNode, int32_t offset);
1323  nsresult SetEnd(nsIDOMNode *refNode, int32_t offset);
1324  nsresult SetStartBefore(nsIDOMNode *refNode);
1325  nsresult SetStartAfter(nsIDOMNode *refNode);
1326  nsresult SetEndBefore(nsIDOMNode *refNode);
1327  nsresult SetEndAfter(nsIDOMNode *refNode);
1328  nsresult Collapse(bool toStart);
1329  nsresult SelectNode(nsIDOMNode *refNode);
1330  nsresult SelectNodeContents(nsIDOMNode *refNode);
1331  nsresult CompareBoundaryPoints(uint16_t how, nsIDOMRange *sourceRange, int16_t *_retval);
1332  nsresult DeleteContents();
1333  nsresult ExtractContents(nsIDOMDocumentFragment **_retval);
1334  nsresult CloneContents(nsIDOMDocumentFragment **_retval);
1335  nsresult InsertNode(nsIDOMNode *newNode);
1336  nsresult SurroundContents(nsIDOMNode *newParent);
1337  nsresult CloneRange(nsIDOMRange **_retval);
1338  nsresult ToString(nsAString *_retval);
1339  nsresult Detach();
1340  nsresult CreateContextualFragment([in] const nsAString *fragment, [out] nsIDOMDocumentFragment **_retval);
1341  nsresult IsPointInRange([in] nsIDOMNode *parent, [in] int32_t offset, [out] bool *_retval);
1342  nsresult ComparePoint([in] nsIDOMNode *parent, [in] int32_t offset, [out] int16_t *_retval);
1343  nsresult IntersectsNode(nsIDOMNode *node, bool *_retval);
1344  nsresult GetClientRects(nsIDOMClientRectList **_retval);
1345  nsresult GetBoundingClientRect(nsIDOMClientRect **_retval);
1346 }
1347 
1348 [
1349  object,
1350  uuid(e0a4d4b3-f34e-44bd-b1f2-4e3bde9b6915),
1351  local
1352 ]
1354 {
1355  nsresult GetAnchorNode(nsIDOMNode **aAnchorNode);
1356  nsresult GetAnchorOffset(int32_t *aAnchorOffset);
1357  nsresult GetFocusNode(nsIDOMNode **aFocusNode);
1358  nsresult GetFocusOffset(int32_t *aFocusOffset);
1359  nsresult GetIsCollapsed(bool *aIsCollapsed);
1360  bool /* don't use */ Collapsed();
1361  nsresult GetRangeCount(int32_t *aRangeCount);
1362  nsresult GetRangeAt(int32_t index, nsIDOMRange **_retval);
1363  nsresult Collapse(nsIDOMNode *parentNode, int32_t offset);
1364  nsresult CollapseNative(nsINode *parentNode, int32_t offset);
1365  nsresult Extend(nsIDOMNode *parentNode, int32_t offset);
1366  nsresult ExtendNative(nsINode *parentNode, int32_t offset);
1367  nsresult CollapseToStart();
1368  nsresult CollapseToEnd();
1369  nsresult ContainsNode(nsIDOMNode *node, bool entirelyContained, bool *_retval);
1370  nsresult SelectAllChildren(nsIDOMNode *parentNode);
1371  nsresult AddRange(nsIDOMRange *range);
1372  nsresult RemoveRange(nsIDOMRange *range);
1373  nsresult RemoveAllRanges();
1374  nsresult DeleteFromDocument();
1375  nsresult ToString(nsAString *_retval);
1376  nsresult Modify(const nsAString *alter, const nsAString *direction, const nsAString *granularity);
1377 }
1378 
1379 [
1380  object,
1381  uuid(a6cf906f-15b3-11d2-932e-00805f8add32),
1382  local
1383 ]
1385 {
1386  nsresult GetLength(uint32_t *aLength);
1387  nsresult Item(uint32_t index, nsIDOMWindow **_retval);
1388  nsresult NamedItem(const nsAString *name, nsIDOMWindow **_retval);
1389 }
1390 
1391 [
1392  object,
1393  uuid(8146f3fc-9fc1-47c5-85ef-95d686e4ca6d),
1394  local
1395 ]
1397 {
1398  nsresult GetWindow(nsIDOMWindow **aWindow);
1399  nsresult GetSelf(nsIDOMWindow **aSelf);
1400  nsresult GetDocument(nsIDOMDocument **aDocument);
1401  nsresult GetName(nsAString *aName);
1402  nsresult SetName(const nsAString *aName);
1403  nsresult GetLocation(nsIDOMLocation **aLocation);
1404  nsresult GetHistory(nsISupports **aHistory);
1405  nsresult GetLocationbar(nsISupports **aLocationbar);
1406  nsresult GetMenubar(nsISupports **aMenubar);
1407  nsresult GetPersonalbar(nsISupports **aPersonalbar);
1408  nsresult GetScrollbars(nsISupports **aScrollbars);
1409  nsresult GetStatusbar(nsISupports **aStatusbar);
1410  nsresult GetToolbar(nsISupports **aToolbar);
1411  nsresult GetStatus(nsAString *aStatus);
1412  nsresult SetStatus(const nsAString *aStatus);
1413  nsresult Close();
1414  nsresult Stop();
1415  nsresult Focus();
1416  nsresult Blur();
1417  nsresult GetLength(uint32_t *aLength);
1418  nsresult GetScriptableTop(nsIDOMWindow **aTop);
1419  nsresult GetRealTop(nsIDOMWindow **aTop);
1420  nsresult GetScriptableParent(nsIDOMWindow **aParent);
1421  nsresult GetRealParent(nsIDOMWindow **aParent);
1422  nsresult GetScriptableOpener(JSContext* cx, int /* JS::MutableHandleValue */ aOpener);
1423  nsresult SetScriptableOpener(JSContext* cx, int /* JS::HandleValue */ aOpener);
1424  nsresult GetOpener(nsIDOMWindow **aOpenerWindow);
1425  nsresult SetOpener(nsIDOMWindow *aOpenerWindow);
1426  nsresult GetScriptableFrameElement(nsIDOMElement **aFrameElement);
1427  nsresult GetRealFrameElement(nsIDOMElement **aFrameElement);
1428  nsresult GetNavigator(nsIDOMNavigator **aNavigator);
1429  nsresult GetApplicationCache(nsIDOMOfflineResourceList **aApplicationCache);
1430  nsresult Alert(const nsAString *text);
1431  nsresult Confirm(const nsAString *text, bool *_retval);
1432  nsresult Prompt(const nsAString *aMessage, const nsAString *aInitial, nsAString *_retval);
1433  nsresult Print();
1434  nsresult ShowModalDialog(const nsAString *aURI, nsIVariant *aArgs, const nsAString *aOptions, uint8_t _argc, nsIVariant **_retval);
1435  nsresult PostMessageMoz(const long /*jsval*/ *message, const nsAString *targetOrigin, const /*JS::Value*/ void *transfer, JSContext *cx);
1436  nsresult Atob(const nsAString *aAsciiString, nsAString *_retval);
1437  nsresult Btoa(const nsAString *aBase64Data, nsAString *_retval);
1438  nsresult GetSessionStorage(nsISupports **aSessionStorage);
1439  nsresult GetLocalStorage(nsISupports **aLocalStorage);
1440  nsresult GetIndexedDB(nsISupports **aIndexedDB);
1441  nsresult GetSelection(nsISelection **_retval);
1442  nsresult MatchMedia(const nsAString *media_query_list, nsISupports **_retval);
1443  nsresult GetScreen(nsIDOMScreen **aScreen);
1444  nsresult GetInnerWidth(int32_t *aInnerWidth);
1445  nsresult SetInnerWidth(int32_t aInnerWidth);
1446  nsresult GetInnerHeight(int32_t *aInnerHeight);
1447  nsresult SetInnerHeight(int32_t aInnerHeight);
1448  nsresult GetScrollX(int32_t *aScrollX);
1449  nsresult GetPageXOffset(int32_t *aPageXOffset);
1450  nsresult GetScrollY(int32_t *aScrollY);
1451  nsresult GetPageYOffset(int32_t *aPageYOffset);
1452  nsresult Scroll(int32_t xScroll, int32_t yScroll);
1453  nsresult ScrollTo(int32_t xScroll, int32_t yScroll);
1454  nsresult ScrollBy(int32_t xScrollDif, int32_t yScrollDif);
1455  nsresult GetScreenX(int32_t *aScreenX);
1456  nsresult SetScreenX(int32_t aScreenX);
1457  nsresult GetScreenY(int32_t *aScreenY);
1458  nsresult SetScreenY(int32_t aScreenY);
1459  nsresult GetOuterWidth(int32_t *aOuterWidth);
1460  nsresult SetOuterWidth(int32_t aOuterWidth);
1461  nsresult GetOuterHeight(int32_t *aOuterHeight);
1462  nsresult SetOuterHeight(int32_t aOuterHeight);
1463  nsresult GetComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval);
1464  nsresult GetDefaultComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval);
1465  nsresult GetWindowRoot(nsIDOMEventTarget **aWindowRoot);
1466  nsresult GetFrames(nsIDOMWindowCollection **aFrames);
1467  nsresult GetTextZoom(float *aTextZoom);
1468  nsresult SetTextZoom(float aTextZoom);
1469  nsresult ScrollByLines(int32_t numLines);
1470  nsresult ScrollByPages(int32_t numPages);
1471  nsresult SizeToContent();
1472  nsresult GetContent(nsIDOMWindow **aContent);
1473  nsresult GetPrompter(nsIPrompt **aPrompter);
1474  nsresult GetClosed(bool *aClosed);
1475  nsresult GetCrypto(nsIDOMCrypto **aCrypto);
1476  nsresult GetControllers(nsIControllers **aControllers);
1477  nsresult GetMozInnerScreenX(float *aMozInnerScreenX);
1478  nsresult GetMozInnerScreenY(float *aMozInnerScreenY);
1479  nsresult GetDevicePixelRatio(float *aDevicePixelRatio);
1480  nsresult GetScrollMaxX(int32_t *aScrollMaxX);
1481  nsresult GetScrollMaxY(int32_t *aScrollMaxY);
1482  nsresult GetFullScreen(bool *aFullScreen);
1483  nsresult SetFullScreen(bool aFullScreen);
1484  nsresult Back();
1485  nsresult Forward();
1486  nsresult Home();
1487  nsresult MoveTo(int32_t xPos, int32_t yPos);
1488  nsresult MoveBy(int32_t xDif, int32_t yDif);
1489  nsresult ResizeTo(int32_t width, int32_t height);
1490  nsresult ResizeBy(int32_t widthDif, int32_t heightDif);
1491  nsresult Open(const nsAString *url, const nsAString *name, const nsAString *options, nsIDOMWindow **_retval);
1492  nsresult OpenDialog(const nsAString *url, const nsAString *name, const nsAString *options, nsISupports *aExtraArgument,
1493  nsIDOMWindow **_retval);
1494  nsresult UpdateCommands(const nsAString *action, nsISelection *sel, int16_t reason);
1495  nsresult Find(const nsAString *str, bool caseSensitive, bool backwards, bool wrapAround, bool wholeWord,
1496  bool searchInFrames, bool showDialog, bool *_retval);
1497  nsresult GetMozPaintCount(uint64_t *aMozPaintCount);
1498  nsresult MozRequestAnimationFrame(nsIFrameRequestCallback *aCallback, int32_t *_retval);
1499  nsresult RequestAnimationFrame(void /*const JS::Value*/ *aCallback, JSContext* cx, int32_t *_retval);
1500  nsresult MozCancelAnimationFrame(int32_t aHandle);
1501  nsresult MozCancelRequestAnimationFrame(int32_t aHandle);
1502  nsresult CancelAnimationFrame(int32_t aHandle);
1503  nsresult GetMozAnimationStartTime(int64_t *aMozAnimationStartTime);
1504  nsresult GetConsole(JSContext *cx, jsval *aConsole);
1505  nsresult SetConsole(JSContext *cx, const jsval *aConsole);
1506 }
1507 
1508 [
1509  object,
1510  uuid(068630db-2c00-43dd-b167-495757a88236),
1511  local
1512 ]
1514 {
1515  nsresult GetALink(nsAString *aALink);
1516  nsresult SetALink(const nsAString *aALink);
1517  nsresult GetBackground(nsAString *aBackground);
1518  nsresult SetBackground(const nsAString *aBackground);
1519  nsresult GetBgColor(nsAString *aBgColor);
1520  nsresult SetBgColor(const nsAString *aBgColor);
1521  nsresult GetLink(nsAString *aLink);
1522  nsresult SetLink(const nsAString *aLink);
1523  nsresult GetText(nsAString *aText);
1524  nsresult SetText(const nsAString *aText);
1525  nsresult GetVLink(nsAString *aVLink);
1526  nsresult SetVLink(const nsAString *aVLink);
1527 }
1528 
1529 [
1530  object,
1531  uuid(ad9b2ad0-9d29-43f6-b1a2-a1fd24627e6b),
1532  local
1533 ]
1535 {
1536  nsresult GetAcceptCharset(nsAString *aAcceptCharset);
1537  nsresult SetAcceptCharset(const nsAString *aAcceptCharset);
1538  nsresult GetAction(nsAString *aAction);
1539  nsresult SetAction(const nsAString *aAction);
1540  nsresult GetAutocomplete(nsAString *aAutocomplete);
1541  nsresult SetAutocomplete(const nsAString *aAutocomplete);
1542  nsresult GetEnctype(nsAString *aEnctype);
1543  nsresult SetEnctype(const nsAString *aEnctype);
1544  nsresult GetEncoding(nsAString *aEncoding);
1545  nsresult SetEncoding(const nsAString *aEncoding);
1546  nsresult GetMethod(nsAString *aMethod);
1547  nsresult SetMethod(const nsAString *aMethod);
1548  nsresult GetName(nsAString *aName);
1549  nsresult SetName(const nsAString *aName);
1550  nsresult GetNoValidate(bool *aNoValidate);
1551  nsresult SetNoValidate(bool aNoValidate);
1552  nsresult GetTarget(nsAString *aTarget);
1553  nsresult SetTarget(const nsAString *aTarget);
1554  nsresult GetElements(nsIDOMHTMLCollection **aElements);
1555  nsresult GetLength(int32_t *aLength);
1556  nsresult Submit();
1557  nsresult Reset();
1558  nsresult CheckValidity(bool *_retval);
1559  nsresult GetFormData(nsIDOMHTMLElement *aOriginatingElement, nsAString *aActionURI, nsIInputStream **aPostDataStream);
1560 }
1561 
1562 [
1563  object,
1564  uuid(64aeda0b-e9b5-4868-a4f9-e4776e32e733),
1565  local
1566 ]
1568 {
1569  nsresult GetAccept(nsAString *aAccept);
1570  nsresult SetAccept(const nsAString *aAccept);
1571  nsresult GetAlt(nsAString *aAlt);
1572  nsresult SetAlt(const nsAString *aAlt);
1573  nsresult GetAutocomplete(nsAString *aAutocomplete);
1574  nsresult SetAutocomplete(const nsAString *aAutocomplete);
1575  nsresult GetAutofocus(bool *aAutofocus);
1576  nsresult SetAutofocus(bool aAutofocus);
1577  nsresult GetDefaultChecked(bool *aDefaultChecked);
1578  nsresult SetDefaultChecked(bool aDefaultChecked);
1579  nsresult GetChecked(bool *aChecked);
1580  nsresult SetChecked(bool aChecked);
1581  nsresult GetDisabled(bool *aDisabled);
1582  nsresult SetDisabled(bool aDisabled);
1583  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1584  nsresult GetFormAction(nsAString *aFormAction);
1585  nsresult SetFormAction(const nsAString *aFormAction);
1586  nsresult GetFormEnctype(nsAString *aFormEnctype);
1587  nsresult SetFormEnctype(const nsAString *aFormEnctype);
1588  nsresult GetFormMethod(nsAString *aFormMethod);
1589  nsresult SetFormMethod(const nsAString *aFormMethod);
1590  nsresult GetFormNoValidate(bool *aFormNoValidate);
1591  nsresult SetFormNoValidate(bool aFormNoValidate);
1592  nsresult GetFormTarget(nsAString *aFormTarget);
1593  nsresult SetFormTarget(const nsAString *aFormTarget);
1594  nsresult GetFiles(nsIDOMFileList **aFiles);
1595  nsresult GetHeight(uint32_t *aHeight);
1596  nsresult SetHeight(uint32_t aHeight);
1597  nsresult GetIndeterminate(bool *aIndeterminate);
1598  nsresult SetIndeterminate(bool aIndeterminate);
1599  nsresult GetInputMode(nsAString *aInputMode);
1600  nsresult SetInputMode(const nsAString *aInputMode);
1601  nsresult GetList(nsIDOMHTMLElement **aList);
1602  nsresult GetMax(nsAString *aMax);
1603  nsresult SetMax(const nsAString *aMax);
1604  nsresult GetMaxLength(int32_t *aMaxLength);
1605  nsresult SetMaxLength(int32_t aMaxLength);
1606  nsresult GetMin(nsAString *aMin);
1607  nsresult SetMin(const nsAString *aMin);
1608  nsresult GetMultiple(bool *aMultiple);
1609  nsresult SetMultiple(bool aMultiple);
1610  nsresult GetName(nsAString *aName);
1611  nsresult SetName(const nsAString *aName);
1612  nsresult GetPattern(nsAString *aPattern);
1613  nsresult SetPattern(const nsAString *aPattern);
1614  nsresult GetPlaceholder(nsAString *aPlaceholder);
1615  nsresult SetPlaceholder(const nsAString *aPlaceholder);
1616  nsresult GetReadOnly(bool *aReadOnly);
1617  nsresult SetReadOnly(bool aReadOnly);
1618  nsresult GetRequired(bool *aRequired);
1619  nsresult SetRequired(bool aRequired);
1620  nsresult GetStep(nsAString *aStep);
1621  nsresult SetStep(const nsAString *aStep);
1622  nsresult GetAlign(nsAString *aAlign);
1623  nsresult SetAlign(const nsAString *aAlign);
1624  nsresult GetSize(uint32_t *aSize);
1625  nsresult SetSize(uint32_t aSize);
1626  nsresult GetWidth(uint32_t *aWidth);
1627  nsresult SetWidth(uint32_t aWidth);
1628  nsresult GetSrc(nsAString *aSrc);
1629  nsresult SetSrc(const nsAString *aSrc);
1630  nsresult GetType(nsAString *aType);
1631  nsresult SetType(const nsAString *aType);
1632  nsresult GetDefaultValue(nsAString *aDefaultValue);
1633  nsresult SetDefaultValue(const nsAString *aDefaultValue);
1634  nsresult GetValue(nsAString *aValue);
1635  nsresult SetValue(const nsAString *aValue);
1636  nsresult GetValueAsNumber(double *aValueAsNumber);
1637  nsresult SetValueAsNumber(double aValueAsNumber);
1638  nsresult StepDown(int32_t n, uint8_t _argc);
1639  nsresult StepUp(int32_t n, uint8_t _argc);
1640  nsresult GetWillValidate(bool *aWillValidate);
1641  nsresult GetValidity(nsIDOMValidityState **aValidity);
1642  nsresult GetValidationMessage(nsAString *aValidationMessage);
1643  nsresult CheckValidity(bool *_retval);
1644  nsresult SetCustomValidity(const nsAString *error);
1645  nsresult Select();
1646  nsresult GetSelectionStart(int32_t *aSelectionStart);
1647  nsresult SetSelectionStart(int32_t aSelectionStart);
1648  nsresult GetSelectionEnd(int32_t *aSelectionEnd);
1649  nsresult SetSelectionEnd(int32_t aSelectionEnd);
1650  nsresult SetSelectionRange(int32_t selectionStart, int32_t selectionEnd, const nsAString *direction);
1651  nsresult GetSelectionDirection(nsAString *aSelectionDirection);
1652  nsresult SetSelectionDirection(const nsAString *aSelectionDirection);
1653  nsresult GetUseMap(nsAString *aUseMap);
1654  nsresult SetUseMap(const nsAString *aUseMap);
1655  nsresult GetControllers(nsIControllers **aControllers);
1656  nsresult GetTextLength(int32_t *aTextLength);
1657  nsresult MozGetFileNameArray(uint32_t *aLength, PRUnichar ***aFileNames);
1658  nsresult MozSetFileNameArray(const PRUnichar **aFileNames, uint32_t aLength);
1659  nsresult MozIsTextField(bool aExcludePassword, bool *_retval);
1660 }
1661 
1662 [
1663  object,
1664  uuid(c2b3e9ff-6b36-4158-ace3-05a9c5b8e1c1),
1665  local
1666 ]
1668 {
1669  nsresult GetDisabled(bool *aDisabled);
1670  nsresult SetDisabled(bool aDisabled);
1671  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1672  nsresult GetLabel(nsAString *aLabel);
1673  nsresult SetLabel(const nsAString *aLabel);
1674  nsresult GetDefaultSelected(bool *aDefaultSelected);
1675  nsresult SetDefaultSelected(bool aDefaultSelected);
1676  nsresult GetSelected(bool *aSelected);
1677  nsresult SetSelected(bool aSelected);
1678  nsresult GetValue(nsAString *aValue);
1679  nsresult SetValue(const nsAString *aValue);
1680  nsresult GetText(nsAString *aText);
1681  nsresult SetText(const nsAString *aText);
1682  nsresult GetIndex(int32_t *aIndex);
1683 }
1684 
1685 [
1686  object,
1687  uuid(44b7a468-7dba-4f0c-9b4e-ee46dc0f26c7),
1688  local
1689 ]
1691 {
1692  nsresult GetAutofocus(bool *aAutofocus);
1693  nsresult SetAutofocus(bool aAutofocus);
1694  nsresult GetDisabled(bool *aDisabled);
1695  nsresult SetDisabled(bool aDisabled);
1696  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1697  nsresult GetFormAction(nsAString *aFormAction);
1698  nsresult SetFormAction(const nsAString *aFormAction);
1699  nsresult GetFormEnctype(nsAString *aFormEnctype);
1700  nsresult SetFormEnctype(const nsAString *aFormEnctype);
1701  nsresult GetFormMethod(nsAString *aFormMethod);
1702  nsresult SetFormMethod(const nsAString *aFormMethod);
1703  nsresult GetFormNoValidate(bool *aFormNoValidate);
1704  nsresult SetFormNoValidate(bool aFormNoValidate);
1705  nsresult GetFormTarget(nsAString *aFormTarget);
1706  nsresult SetFormTarget(const nsAString *aFormTarget);
1707  nsresult GetName(nsAString *aName);
1708  nsresult SetName(const nsAString *aName);
1709  nsresult GetType(nsAString *aType);
1710  nsresult SetType(const nsAString *aType);
1711  nsresult GetValue(nsAString *aValue);
1712  nsresult SetValue(const nsAString *aValue);
1713  nsresult GetWillValidate(bool *aWillValidate);
1714  nsresult GetValidity(nsIDOMValidityState **aValidity);
1715  nsresult GetValidationMessage(nsAString *aValidationMessage);
1716  nsresult CheckValidity(bool *_retval);
1717  nsresult SetCustomValidity(const nsAString *error);
1718 }
1719 
1720 [
1721  object,
1722  uuid(4173cc53-30f6-4d12-a770-981ba53164e2),
1723  local
1724 ]
1726 {
1727  typedef int nsWrapperCache;
1728 
1729  nsresult GetLength(uint32_t *aLength);
1730  nsresult SetLength(uint32_t aLength);
1731  nsresult Item(uint32_t index, nsIDOMNode **_retval);
1732  nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
1733  nsresult GetSelectedIndex(int32_t *aSelectedIndex);
1734  nsresult SetSelectedIndex(int32_t aSelectedIndex);
1736  nsresult GetSelect(nsIDOMHTMLSelectElement **aSelect);
1738  nsresult Remove(int32_t index);
1739 }
1740 
1741 [
1742  object,
1743  uuid(d8914a2d-3556-4b66-911c-a84c4394e7fa),
1744  local
1745 ]
1747 {
1748  nsresult GetAutofocus(bool *aAutofocus);
1749  nsresult SetAutofocus(bool aAutofocus);
1750  nsresult GetDisabled(bool *aDisabled);
1751  nsresult SetDisabled(bool aDisabled);
1752  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1753  nsresult GetMultiple(bool *aMultiple);
1754  nsresult SetMultiple(bool aMultiple);
1755  nsresult GetName(nsAString *aName);
1756  nsresult SetName(const nsAString *aName);
1757  nsresult GetSize(uint32_t *aSize);
1758  nsresult SetSize(uint32_t aSize);
1759  nsresult GetType(nsAString *aType);
1760  nsresult GetOptions(nsIDOMHTMLOptionsCollection **aOptions);
1761  nsresult GetLength(uint32_t *aLength);
1762  nsresult SetLength(uint32_t aLength);
1763  nsresult Item(uint32_t index, nsIDOMNode **_retval);
1764  nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
1766  nsresult select_Remove(int32_t index);
1767  nsresult GetSelectedOptions(nsIDOMHTMLCollection **aSelectedOptions);
1768  nsresult GetSelectedIndex(int32_t *aSelectedIndex);
1769  nsresult SetSelectedIndex(int32_t aSelectedIndex);
1770  nsresult GetValue(nsAString *aValue);
1771  nsresult SetValue(const nsAString *aValue);
1772  nsresult GetWillValidate(bool *aWillValidate);
1773  nsresult GetValidity(nsIDOMValidityState **aValidity);
1774  nsresult GetValidationMessage(nsAString *aValidationMessage);
1775  nsresult CheckValidity(bool *_retval);
1776  nsresult SetCustomValidity(const nsAString *error);
1777  nsresult GetRequired(bool *aRequired);
1778  nsresult SetRequired(bool aRequired);
1779 }
1780 
1781 [
1782  object,
1783  uuid(7a4aeb2e-fcf3-443e-b002-ca1c8ea322e9),
1784  local
1785 ]
1787 {
1788  nsresult GetAutofocus(bool *aAutofocus);
1789  nsresult SetAutofocus(bool aAutofocus);
1790  nsresult GetCols(uint32_t *aCols);
1791  nsresult SetCols(uint32_t aCols);
1792  nsresult GetDisabled(bool *aDisabled);
1793  nsresult SetDisabled(bool aDisabled);
1794  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1795  nsresult GetMaxLength(int32_t *aMaxLength);
1796  nsresult SetMaxLength(int32_t aMaxLength);
1797  nsresult GetName(nsAString *aName);
1798  nsresult SetName(const nsAString *aName);
1799  nsresult GetPlaceholder(nsAString *aPlaceholder);
1800  nsresult SetPlaceholder(const nsAString *aPlaceholder);
1801  nsresult GetReadOnly(bool *aReadOnly);
1802  nsresult SetReadOnly(bool aReadOnly);
1803  nsresult GetRequired(bool *aRequired);
1804  nsresult SetRequired(bool aRequired);
1805  nsresult GetRows(uint32_t *aRows);
1806  nsresult SetRows(uint32_t aRows);
1807  nsresult GetWrap(nsAString *aWrap);
1808  nsresult SetWrap(const nsAString *aWrap);
1809  nsresult GetType(nsAString *aType);
1810  nsresult GetDefaultValue(nsAString *aDefaultValue);
1811  nsresult SetDefaultValue(const nsAString *aDefaultValue);
1812  nsresult GetValue(nsAString *aValue);
1813  nsresult SetValue(const nsAString *aValue);
1814  nsresult GetTextLength(int32_t *aTextLength);
1815  nsresult GetWillValidate(bool *aWillValidate);
1816  nsresult GetValidity(nsIDOMValidityState **aValidity);
1817  nsresult GetValidationMessage(nsAString *aValidationMessage);
1818  nsresult CheckValidity(bool *_retval);
1819  nsresult SetCustomValidity(const nsAString *error);
1820  nsresult Select();
1821  nsresult GetSelectionStart(int32_t *aSelectionStart);
1822  nsresult SetSelectionStart(int32_t aSelectionStart);
1823  nsresult GetSelectionEnd(int32_t *aSelectionEnd);
1824  nsresult SetSelectionEnd(int32_t aSelectionEnd);
1825  nsresult SetSelectionRange(int32_t selectionStart, int32_t selectionEnd, const nsAString *direction);
1826  nsresult GetSelectionDirection(nsAString *aSelectionDirection);
1827  nsresult SetSelectionDirection(const nsAString *aSelectionDirection);
1828  nsresult GetControllers(nsIControllers **aControllers);
1829 }
1830 
1831 [
1832  object,
1833  uuid(fe96dc1c-40e4-4974-9354-e3fce663c3d5),
1834  local
1835 ]
1837 {
1838  nsresult GetSrc(nsAString *aSrc);
1839  nsresult SetSrc(const nsAString *aSrc);
1840  nsresult GetAsync(bool *aAsync);
1841  nsresult SetAsync(bool aAsync);
1842  nsresult GetDefer(bool *aDefer);
1843  nsresult SetDefer(bool aDefer);
1844  nsresult GetType(nsAString *aType);
1845  nsresult SetType(const nsAString *aType);
1846  nsresult GetCharset(nsAString *aCharset);
1847  nsresult SetCharset(const nsAString *aCharset);
1848  nsresult GetText(nsAString *aText);
1849  nsresult SetText(const nsAString *aText);
1850  nsresult GetHtmlFor(nsAString *aHtmlFor);
1851  nsresult SetHtmlFor(const nsAString *aHtmlFor);
1852  nsresult GetEvent(nsAString *aEvent);
1853  nsresult SetEvent(const nsAString *aEvent);
1854 }
1855 
1856 [
1857  object,
1858  uuid(ec18e71c-4f5c-4cc3-aa36-5273168644dc),
1859  local
1860 ]
1862 {
1863  nsresult GetAlt(nsAString *aAlt);
1864  nsresult SetAlt(const nsAString *aAlt);
1865  nsresult GetSrc(nsAString *aSrc);
1866  nsresult SetSrc(const nsAString *aSrc);
1867  nsresult GetSrcset(nsAString *aSrcset);
1868  nsresult SetSrcset(const nsAString *aSrcset) ;
1869  nsresult GetSizes(nsAString *aSizes);
1870  nsresult SetSizes(const nsAString *aSizes);
1871  nsresult GetUseMap(nsAString *aUseMap);
1872  nsresult SetUseMap(const nsAString *aUseMap);
1873  nsresult GetIsMap(bool *aIsMap);
1874  nsresult SetIsMap(bool aIsMap);
1875  nsresult GetWidth(uint32_t *aWidth);
1876  nsresult SetWidth(uint32_t aWidth);
1877  nsresult GetHeight(uint32_t *aHeight);
1878  nsresult SetHeight(uint32_t aHeight);
1879  nsresult GetNaturalWidth(uint32_t *aNaturalWidth);
1880  nsresult GetNaturalHeight(uint32_t *aNaturalHeight);
1881  nsresult GetComplete(bool *aComplete);
1882  nsresult GetName(nsAString *aName);
1883  nsresult SetName(const nsAString *aName);
1884  nsresult GetAlign(nsAString *aAlign);
1885  nsresult SetAlign(const nsAString *aAlign);
1886  nsresult GetBorder(nsAString *aBorder);
1887  nsresult SetBorder(const nsAString *aBorder);
1888  nsresult GetHspace(int32_t *aHspace);
1889  nsresult SetHspace(int32_t aHspace);
1890  nsresult GetLongDesc(nsAString *aLongDesc);
1891  nsresult SetLongDesc(const nsAString *aLongDesc);
1892  nsresult GetVspace(int32_t *aVspace);
1893  nsresult SetVspace(int32_t aVspace);
1894  nsresult GetLowsrc(nsAString *aLowsrc);
1895  nsresult SetLowsrc(const nsAString *aLowsrc);
1896  nsresult GetCurrentSrc(nsAString *aCurrentSrc);
1897  nsresult GetX(int32_t *aX);
1898  nsresult GetY(int32_t *aY);
1899 }
1900 
1901 [
1902  object,
1903  uuid(339c01c8-2d41-4626-b231-eec63f0241b6),
1904  local
1905 ]
1907 {
1908  nsresult GetHref(nsAString *aHref);
1909  nsresult SetHref(const nsAString *aHref);
1910  nsresult GetTarget(nsAString *aTarget);
1911  nsresult SetTarget(const nsAString *aTarget);
1912  nsresult GetPing(nsAString *aPing);
1913  nsresult SetPing(const nsAString *aPing);
1914  nsresult GetDownload(nsAString *aPing);
1915  nsresult SetDownload(const nsAString *aPing);
1916  nsresult GetRel(nsAString *aRel);
1917  nsresult SetRel(const nsAString *aRel);
1918  nsresult GetHreflang(nsAString *aHreflang);
1919  nsresult SetHreflang(const nsAString *aHreflang);
1920  nsresult GetType(nsAString *aType);
1921  nsresult SetType(const nsAString *aType);
1922  nsresult GetText(nsAString *aText);
1923  nsresult SetText(const nsAString *aText);
1924  nsresult GetProtocol(nsAString *aProtocol);
1925  nsresult SetProtocol(const nsAString *aProtocol);
1926  nsresult GetHost(nsAString *aHost);
1927  nsresult SetHost(const nsAString *aHost);
1928  nsresult GetHostname(nsAString *aHostname);
1929  nsresult SetHostname(const nsAString *aHostname);
1930  nsresult GetPort(nsAString *aPort);
1931  nsresult SetPort(const nsAString *aPort);
1932  nsresult GetPathname(nsAString *aPathname);
1933  nsresult SetPathname(const nsAString *aPathname);
1934  nsresult GetSearch(nsAString *aSearch);
1935  nsresult SetSearch(const nsAString *aSearch);
1936  nsresult GetHash(nsAString *aHash);
1937  nsresult SetHash(const nsAString *aHash);
1938  nsresult GetCharset(nsAString *aCharset);
1939  nsresult SetCharset(const nsAString *aCharset);
1940  nsresult GetCoords(nsAString *aCoords);
1941  nsresult SetCoords(const nsAString *aCoords);
1942  nsresult GetName(nsAString *aName);
1943  nsresult SetName(const nsAString *aName);
1944  nsresult GetRev(nsAString *aRev);
1945  nsresult SetRev(const nsAString *aRev);
1946  nsresult GetShape(nsAString *aShape);
1947  nsresult SetShape(const nsAString *aShape);
1948  nsresult ToString(nsAString *_retval);
1949 }
1950 
1951 [
1952  object,
1953  uuid(40c78026-36dc-40ca-9221-de73267e9e99),
1954  local
1955 ]
1957 {
1958  nsresult GetAlt(const nsAString *aAlt);
1959  nsresult SetAlt(nsAString *aAlt);
1960  nsresult GetCoords(const nsAString *aCoords);
1961  nsresult SetCoords(nsAString *aCoords);
1962  nsresult GetShape(const nsAString *aShape);
1963  nsresult SetShape(nsAString *aShape);
1964  nsresult GetHref(const nsAString *aHref);
1965  nsresult SetHref(nsAString *aHref);
1966  nsresult GetTarget(const nsAString *aTarget);
1967  nsresult SetTarget(nsAString *aTarget);
1968  nsresult GetPing(const nsAString *aPing);
1969  nsresult SetPing(nsAString *aPing);
1970  nsresult GetDownload(const nsAString *aDownload);
1971  nsresult SetDownload(nsAString *aDownload);
1972  nsresult GetProtocol(const nsAString *aProtocol);
1973  nsresult SetProtocol(nsAString *aProtocol);
1974  nsresult GetHost(const nsAString *aHost);
1975  nsresult SetHost(nsAString *aHost);
1976  nsresult GetPort(const nsAString *aPort);
1977  nsresult SetPort(nsAString *aPort);
1978  nsresult GetPathname(const nsAString *aPathname);
1979  nsresult SetPathname(nsAString *aPathname);
1980  nsresult GetSearch(const nsAString *aSearch);
1981  nsresult SetSearch(nsAString *aSearch);
1982  nsresult GetHash(const nsAString *aHash);
1983  nsresult SetHash(nsAString *aHash);
1984  nsresult GetNoHref(const nsAString *aNoHref);
1985  nsresult SetNoHref(nsAString *aNoHref);
1986  nsresult ToString(nsAString *_retval);
1987 }
1988 
1989 [
1990  object,
1991  uuid(ee50b7ab-0015-4fbe-89e0-e3feacd4ffde),
1992  local
1993 ]
1995 {
1996  nsresult GetDisabled(bool *aDisabled);
1997  nsresult SetDisabled(bool aDisabled);
1998  nsresult GetCharset(nsAString *aCharset);
1999  nsresult SetCharset(const nsAString *aCharset);
2000  nsresult GetHref(nsAString *aHref);
2001  nsresult SetHref(const nsAString *aHref);
2002  nsresult GetHreflang(nsAString *aHreflang);
2003  nsresult SetHreflang(const nsAString *aHreflang);
2004  nsresult GetMedia(nsAString *aMedia);
2005  nsresult SetMedia(const nsAString *aMedia);
2006  nsresult GetRel(nsAString *aRel);
2007  nsresult SetRel(const nsAString *aRel);
2008  nsresult GetRev(nsAString *aRev);
2009  nsresult SetRev(const nsAString *aRev);
2010  nsresult GetTarget(nsAString *aTarget);
2011  nsresult SetTarget(const nsAString *aTarget);
2012  nsresult GetType(nsAString *aType);
2013  nsresult SetType(const nsAString *aType);
2014 }
2015 
2016 [
2017  object,
2018  uuid(135a30ee-0374-4ee7-9d36-91736bff5fb1),
2019  local
2020 ]
2022 {
2023  nsresult GetCaption(nsIDOMHTMLElement **aCaption);
2024  nsresult SetCaption(nsIDOMHTMLElement *aCaption);
2025  nsresult GetTHead(nsIDOMHTMLElement **aTHead);
2026  nsresult SetTHead(nsIDOMHTMLElement *aTHead);
2027  nsresult GetTFoot(nsIDOMHTMLElement **aTFoot);
2028  nsresult SetTFoot(nsIDOMHTMLElement *aTFoot);
2029  nsresult GetRows(nsIDOMHTMLCollection **aRows);
2030  nsresult GetTBodies(nsIDOMHTMLCollection **aTBodies);
2031  nsresult GetAlign(nsAString *aAlign);
2032  nsresult SetAlign(const nsAString *aAlign);
2033  nsresult GetBgColor(nsAString *aBgColor);
2034  nsresult SetBgColor(const nsAString *aBgColor);
2035  nsresult GetBorder(nsAString *aBorder);
2036  nsresult SetBorder(const nsAString *aBorder);
2037  nsresult GetCellPadding(nsAString *aCellPadding);
2038  nsresult SetCellPadding(const nsAString *aCellPadding);
2039  nsresult GetCellSpacing(nsAString *aCellSpacing);
2040  nsresult SetCellSpacing(const nsAString *aCellSpacing);
2041  nsresult GetFrame(nsAString *aFrame);
2042  nsresult SetFrame(const nsAString *aFrame);
2043  nsresult GetRules(nsAString *aRules);
2044  nsresult SetRules(const nsAString *aRules);
2045  nsresult GetSummary(nsAString *aSummary);
2046  nsresult SetSummary(const nsAString *aSummary);
2047  nsresult GetWidth(nsAString *aWidth);
2048  nsresult SetWidth(const nsAString *aWidth);
2049  nsresult CreateTHead(nsIDOMHTMLElement **_retval);
2050  nsresult xpidlDeleteTHead();
2051  nsresult CreateTFoot(nsIDOMHTMLElement **_retval);
2052  nsresult xpidlDeleteTFoot();
2053  nsresult CreateCaption(nsIDOMHTMLElement **_retval);
2054  nsresult xpidlDeleteCaption();
2055  nsresult InsertRow(int32_t index, nsIDOMHTMLElement **_retval);
2056  nsresult DeleteRow(int32_t index);
2057 }
2058 
2059 [
2060  object,
2061  uuid(02094366-0d3d-47e3-949c-89113a9bcc15),
2062  local
2063 ]
2065 {
2066  nsresult GetRowIndex(int32_t *aRowIndex);
2067  nsresult GetSectionRowIndex(int32_t *aSectionRowIndex);
2068  nsresult GetCells(nsIDOMHTMLCollection **aCells);
2069  nsresult GetAlign(nsAString *aAlign);
2070  nsresult SetAlign(const nsAString *aAlign);
2071  nsresult GetBgColor(nsAString *aBgColor);
2072  nsresult SetBgColor(const nsAString *aBgColor);
2073  nsresult GetCh(nsAString *aCh);
2074  nsresult SetCh(const nsAString *aCh);
2075  nsresult GetChOff(nsAString *aChOff);
2076  nsresult SetChOff(const nsAString *aChOff);
2077  nsresult GetVAlign(nsAString *aVAlign);
2078  nsresult SetVAlign(const nsAString *aVAlign);
2079  nsresult InsertCell(int32_t index, nsIDOMHTMLElement * *_retval);
2080  nsresult DeleteCell(int32_t index);
2081 }
2082 
2083 [
2084  object,
2085  uuid(3203c36f-33fd-4628-8c88-77e82d38df1e),
2086  local
2087 ]
2089 {
2090  nsresult GetCellIndex(int32_t *aCellIndex);
2091  nsresult GetAbbr(nsAString *aAbbr);
2092  nsresult SetAbbr(const nsAString *aAbbr);
2093  nsresult GetAlign(nsAString *aAlign);
2094  nsresult SetAlign(const nsAString *aAlign);
2095  nsresult GetAxis(nsAString *aAxis);
2096  nsresult SetAxis(const nsAString *aAxis);
2097  nsresult GetBgColor(nsAString *aBgColor);
2098  nsresult SetBgColor(const nsAString *aBgColor);
2099  nsresult GetCh(nsAString *aCh);
2100  nsresult SetCh(const nsAString *aCh);
2101  nsresult GetChOff(nsAString *aChOff);
2102  nsresult SetChOff(const nsAString *aChOff);
2103  nsresult GetColSpan(int32_t *aColSpan);
2104  nsresult SetColSpan(int32_t aColSpan);
2105  nsresult GetHeaders(nsAString *aHeaders);
2106  nsresult SetHeaders(const nsAString *aHeaders);
2107  nsresult GetHeight(nsAString *aHeight);
2108  nsresult SetHeight(const nsAString *aHeight);
2109  nsresult GetNoWrap(bool *aNoWrap);
2110  nsresult SetNoWrap(bool aNoWrap);
2111  nsresult GetRowSpan(int32_t *aRowSpan);
2112  nsresult SetRowSpan(int32_t aRowSpan);
2113  nsresult GetScope(nsAString *aScope);
2114  nsresult SetScope(const nsAString *aScope);
2115  nsresult GetVAlign(nsAString *aVAlign);
2116  nsresult SetVAlign(const nsAString *aVAlign);
2117  nsresult GetWidth(nsAString *aWidth);
2118  nsresult SetWidth(const nsAString *aWidth);
2119 }
2120 
2121 [
2122  object,
2123  uuid(9fd7b656-1055-4cb2-b8b1-ed13efe24457),
2124  local
2125 ]
2127 {
2128  nsresult GetAlign(nsAString *aAlign);
2129  nsresult SetAlign(const nsAString *aAlign);
2130  nsresult GetFrameBorder(nsAString *aFrameBorder);
2131  nsresult SetFrameBorder(const nsAString *aFrameBorder);
2132  nsresult GetHeight(nsAString *aHeight);
2133  nsresult SetHeight(const nsAString *aHeight);
2134  nsresult GetLongDesc(nsAString *aLongDesc);
2135  nsresult SetLongDesc(const nsAString *aLongDesc);
2136  nsresult GetMarginHeight(nsAString *aMarginHeight);
2137  nsresult SetMarginHeight(const nsAString *aMarginHeight);
2138  nsresult GetMarginWidth(nsAString *aMarginWidth);
2139  nsresult SetMarginWidth(const nsAString *aMarginWidth);
2140  nsresult GetName(nsAString *aName);
2141  nsresult SetName(const nsAString *aName);
2142  nsresult GetScrolling(nsAString *aScrolling);
2143  nsresult SetScrolling(const nsAString *aScrolling);
2144  nsresult GetSrc(nsAString *aSrc);
2145  nsresult SetSrc(const nsAString *aSrc);
2146  nsresult GetSrcdoc(nsAString *aSrcdoc);
2147  nsresult SetSrcdoc(const nsAString *aSrcdoc);
2148  nsresult GetWidth(nsAString *aWidth);
2149  nsresult SetWidth(const nsAString *aWidth);
2150  nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
2151  nsresult GetContentWindow(nsIDOMWindow **aContentWindow);
2152  nsresult GetAllowFullscreen(bool *aAllowFullscreen);
2153  nsresult SetAllowFullscreen(bool aAllowFullscreen);
2154 }
2155 
2156 [
2157  object,
2158  uuid(60ab25b9-3246-4f50-b0d4-21e73ba88cd6),
2159  local
2160 ]
2162 {
2163  nsresult GetFrameBorder(nsAString *aFrameBorder);
2164  nsresult SetFrameBorder(const nsAString *aFrameBorder);
2165  nsresult GetLongDesc(nsAString *aLongDesc);
2166  nsresult SetLongDesc(const nsAString *aLongDesc);
2167  nsresult GetMarginHeight(nsAString *aMarginHeight);
2168  nsresult SetMarginHeight(const nsAString *aMarginHeight);
2169  nsresult GetMarginWidth(nsAString *aMarginWidth);
2170  nsresult SetMarginWidth(const nsAString *aMarginWidth);
2171  nsresult GetName(nsAString *aName);
2172  nsresult SetName(const nsAString *aName);
2173  nsresult GetNoResize(bool *aNoResize);
2174  nsresult SetNoResize(bool aNoResize);
2175  nsresult GetScrolling(nsAString *aScrolling);
2176  nsresult SetScrolling(const nsAString *aScrolling);
2177  nsresult GetSrc(nsAString *aSrc);
2178  nsresult SetSrc(const nsAString *aSrc);
2179  nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
2180  nsresult GetContentWindow(nsIDOMWindow **aContentWindow);
2181 }
2182 
2183 [
2184  object,
2185  uuid(baf443d2-da5d-40c9-be3c-c65a69a25250),
2186  local
2187 ]
2189 {
2190  nsresult GetForm(nsIDOMHTMLFormElement **aForm);
2191  nsresult GetCode(nsAString *aCode);
2192  nsresult SetCode(const nsAString *aCode);
2193  nsresult GetAlign(nsAString *aAlign);
2194  nsresult SetAlign(const nsAString *aAlign);
2195  nsresult GetArchive(nsAString *aArchive);
2196  nsresult SetArchive(const nsAString *aArchive);
2197  nsresult GetBorder(nsAString *aBorder);
2198  nsresult SetBorder(const nsAString *aBorder);
2199  nsresult GetCodeBase(nsAString *aCodeBase);
2200  nsresult SetCodeBase(const nsAString *aCodeBase);
2201  nsresult GetCodeType(nsAString *aCodeType);
2202  nsresult SetCodeType(const nsAString *aCodeType);
2203  nsresult GetData(nsAString *aData);
2204  nsresult SetData(const nsAString *aData);
2205  nsresult GetDeclare(bool *aDeclare);
2206  nsresult SetDeclare(bool aDeclare);
2207  nsresult GetHeight(nsAString *aHeight);
2208  nsresult SetHeight(const nsAString *aHeight);
2209  nsresult GetHspace(int32_t *aHspace);
2210  nsresult SetHspace(int32_t aHspace);
2211  nsresult GetName(nsAString *aName);
2212  nsresult SetName(const nsAString *aName);
2213  nsresult GetStandby(nsAString *aStandby);
2214  nsresult SetStandby(const nsAString *aStandby);
2215  nsresult GetType(nsAString *aType);
2216  nsresult SetType(const nsAString *aType);
2217  nsresult GetUseMap(nsAString *aUseMap);
2218  nsresult SetUseMap(const nsAString *aUseMap);
2219  nsresult GetVspace(int32_t *aVspace);
2220  nsresult SetVspace(int32_t aVspace);
2221  nsresult GetWidth(nsAString *aWidth);
2222  nsresult SetWidth(const nsAString *aWidth);
2223  nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
2224  nsresult GetWillValidate(bool *aWillValidate);
2225  nsresult GetValidity(nsIDOMValidityState **aValidity);
2226  nsresult GetValidationMessage(nsAString *aValidationMessage);
2227  nsresult CheckValidity(bool *_retval);
2228  nsresult SetCustomValidity(const nsAString *error);
2229 }
2230 
2231 [
2232  object,
2233  uuid(fa326d22-8739-4eef-a80e-6449bde605d2),
2234  local
2235 ]
2237 {
2238  nsresult GetDisabled(bool *aDisabled);
2239  nsresult SetDisabled(bool aDisabled);
2240  nsresult GetMedia(nsAString *aMedia);
2241  nsresult SetMedia(const nsAString *aMedia);
2242  nsresult GetType(nsAString *aType);
2243  nsresult SetType(const nsAString *aType);
2244  nsresult GetScoped(bool *aScoped);
2245  nsresult SetScoped(bool aScoped);
2246  nsresult GetDOMStyleSheet(nsIDOMStyleSheet **aDOMStyleSheet);
2247 }
2248 
2249 [
2250  object,
2251  uuid(10a28f38-32e8-4c63-8aa1-12eaaebc369a),
2252  local
2253 ]
2255 {
2256  nsresult OnStartURIOpen(nsIURI *aURI, bool *_retval);
2257  nsresult DoContent(const nsACString *aContentType, bool aIsContentPreferred, nsIRequest *aRequest,
2258  nsIStreamListener **aContentHandler, bool *_retval);
2259  nsresult IsPreferred(const char *aContentType, char **aDesiredContentType, bool *_retval);
2260  nsresult CanHandleContent(const char *aContentType, bool aIsContentPreferred,
2261  char **aDesiredContentType, bool *_retval);
2262  nsresult GetLoadCookie(nsISupports **aLoadCookie);
2263  nsresult SetLoadCookie(nsISupports *aLoadCookie);
2264  nsresult GetParentContentListener(nsIURIContentListener **aParentContentListener);
2265  nsresult SetParentContentListener(nsIURIContentListener *aParentContentListener);
2266 }
2267 
2268 [
2269  object,
2270  uuid(44b78386-1dd2-11b2-9ad2-e4eee2ca1916),
2271  local
2272 ]
2274 {
2275  nsresult OnShowTooltip(int32_t aXCoords, int32_t aYCoords, const PRUnichar *aTipText);
2276  nsresult OnHideTooltip();
2277 }
2278 
2279 [
2280  object,
2281  uuid(33e9d001-caab-4ba9-8961-54902f197202),
2282  local
2283 ]
2285 {
2286  nsresult AddWebBrowserListener(nsIWeakReference *aListener, const nsIID *aIID);
2287  nsresult RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID *aIID);
2288  nsresult GetContainerWindow(nsIWebBrowserChrome **aContainerWindow);
2289  nsresult SetContainerWindow(nsIWebBrowserChrome *aContainerWindow);
2290  nsresult GetParentURIContentListener(nsIURIContentListener **aParentURIContentListener);
2291  nsresult SetParentURIContentListener(nsIURIContentListener *aParentURIContentListener);
2292  nsresult GetContentDOMWindow(nsIDOMWindow **aContentDOMWindow);
2293  nsresult GetIsActive(bool *aIsActive);
2294  nsresult SetIsActive(bool aIsActive);
2295 }
2296 
2297 cpp_quote("#define SETUP_ALLOW_JAVASCRIPT 2")
2298 cpp_quote("#define SETUP_IS_CHROME_WRAPPER 7")
2299 cpp_quote("#define SETUP_DISABLE_NOSCRIPT 16")
2300 
2301 [
2302  object,
2303  uuid(f15398a0-8018-11d3-af70-00a024ffc08c),
2304  local
2305 ]
2306 interface nsIWebBrowserSetup : nsISupports
2307 {
2308  nsresult SetProperty(uint32_t aId, uint32_t aValue);
2309 }
2310 
2311 typedef void* nativeWindow;
2312 
2313 [
2314  object,
2315  uuid(9da319f3-eee6-4504-81a5-6A19cf6215bf),
2316  local
2317 ]
2319 {
2320  nsresult InitWindow(nativeWindow parentNativeWindow, nsIWidget *parentWidget, int32_t x,
2322  nsresult Create();
2323  nsresult Destroy();
2324  nsresult SetPosition(int32_t x, int32_t y);
2325  nsresult GetPosition(int32_t *x, int32_t *y);
2326  nsresult SetSize(int32_t cx, int32_t cy, bool fRepaint);
2327  nsresult GetSize(int32_t *cx, int32_t *cy);
2328  nsresult SetPositionAndSize(int32_t x, int32_t y, int32_t cx, int32_t cy, bool fRepaint);
2329  nsresult GetPositionAndSize(int32_t *x, int32_t *y, int32_t *cx, int32_t *cy);
2330  nsresult Repaint(bool force);
2331  nsresult GetParentWidget(nsIWidget **aParentWidget);
2332  nsresult SetParentWidget(nsIWidget *aParentWidget);
2333  nsresult GetParentNativeWindow(nativeWindow *aParentNativeWindow);
2334  nsresult SetParentNativeWindow(nativeWindow aParentNativeWindow);
2335  nsresult GetNativeHandle(nsAString *aNativeHandle);
2336  nsresult GetVisibility(bool *aVisibility);
2337  nsresult SetVisibility(bool aVisibility);
2338  nsresult GetEnabled(bool *aEnabled);
2339  nsresult SetEnabled(bool aEnabled);
2340  nsresult GetMainWidget(nsIWidget **aMainWidget);
2341  nsresult GetUnscaledDevicePixelsPerCSSPixel(double *aUnscaledDevicePixelsPerCSSPixel);
2342  nsresult SetFocus();
2343  nsresult GetTitle(PRUnichar **aTitle);
2344  nsresult SetTitle(const PRUnichar *aTitle);
2345 }
2346 
2347 [
2348  object,
2349  uuid(0e92d522-53a5-4af6-9a24-4eccdcbf4f91),
2350  local
2351 ]
2353 {
2354  const UINT LOAD_FLAGS_MASK = 0xffff;
2356  const UINT LOAD_FLAGS_IS_REFRESH = 0x0010;
2357  const UINT LOAD_FLAGS_IS_LINK = 0x0020;
2366  const UINT LOAD_FLAGS_FIRST_LOAD = 0x4000;
2371 
2372  nsresult GetCanGoBack(bool *aCanGoBack);
2373  nsresult GetCanGoForward(bool *aCanGoForward);
2374  nsresult GoBack();
2375  nsresult GoForward();
2376  nsresult GotoIndex(int32_t index);
2377  nsresult LoadURI(const PRUnichar *aURI, uint32_t aLoadFlags, nsIURI *aReferrer,
2378  nsIInputStream *aPostData, nsIInputStream *aHeaders);
2379  nsresult LoadURIWithOptions(const PRUnichar *aURI, uint32_t aLoadFlags, nsIURI *aReferrer, uint32_t aReferrerPolicy,
2380  nsIInputStream *aPostData, nsIInputStream *aHeaders, nsIURI *aBaseURI);
2381  nsresult Reload(uint32_t aReloadFlags);
2382  nsresult Stop(uint32_t aStopFlags);
2383  nsresult GetDocument(nsIDOMDocument **aDocument);
2384  nsresult GetCurrentURI(nsIURI **aCurrentURI);
2385  nsresult GetReferringURI(nsIURI **aReferringURI);
2386  nsresult GetSessionHistory(nsISHistory **aSessionHistory);
2387  nsresult SetSessionHistory(nsISHistory *aSessionHistory);
2388 }
2389 
2390 [
2391  object,
2392  uuid(bd0efb3b-1c81-4fb0-b16d-576a2be48a95),
2393  local
2394 ]
2396 {
2397  nsresult AddProgressListener(nsIWebProgressListener *aListener, uint32_t aNotifyMask);
2398  nsresult RemoveProgressListener(nsIWebProgressListener *aListener);
2399  nsresult GetDOMWindow(nsIDOMWindow **aDOMWindow);
2400  nsresult GetDOMWindowID(uint64_t *aDOMWindowID);
2401  nsresult GetIsTopLevel(bool *aIsTopLevel);
2402  nsresult GetIsLoadingDocument(bool *aIsLoadingDocument);
2403  nsresult GetLoadType(uint32_t *aLoadType);
2404 }
2405 
2406 [
2407  object,
2408  uuid(1bcfc611-8941-4c39-9e06-7116e564a1ce),
2409  local
2410 ]
2412 {
2413  typedef struct { char dummy; } nsIntMargin;
2414 
2415  nsresult SetPrintOptions(int32_t aType, bool aTurnOnOff);
2416  nsresult GetPrintOptions(int32_t aType, bool *_retval);
2417  nsresult GetPrintOptionsBits(int32_t *_retval);
2418  nsresult GetEffectivePageSize(double *aWidth, double *aHeight);
2419  nsresult Clone(nsIPrintSettings **_retval);
2420  nsresult Assign(nsIPrintSettings *aPS);
2421  nsresult GetPrintSession(nsIPrintSession **aPrintSession);
2422  nsresult SetPrintSession(nsIPrintSession *aPrintSession);
2423  nsresult GetStartPageRange(int32_t *aStartPageRange);
2424  nsresult SetStartPageRange(int32_t aStartPageRange);
2425  nsresult GetEndPageRange(int32_t *aEndPageRange);
2426  nsresult SetEndPageRange(int32_t aEndPageRange);
2427  nsresult GetEdgeTop(double *aEdgeTop);
2428  nsresult SetEdgeTop(double aEdgeTop);
2429  nsresult GetEdgeLeft(double *aEdgeLeft);
2430  nsresult SetEdgeLeft(double aEdgeLeft);
2431  nsresult GetEdgeBottom(double *aEdgeBottom);
2432  nsresult SetEdgeBottom(double aEdgeBottom);
2433  nsresult GetEdgeRight(double *aEdgeRight);
2434  nsresult SetEdgeRight(double aEdgeRight);
2435  nsresult GetMarginTop(double *aMarginTop);
2436  nsresult SetMarginTop(double aMarginTop);
2437  nsresult GetMarginLeft(double *aMarginLeft);
2438  nsresult SetMarginLeft(double aMarginLeft);
2439  nsresult GetMarginBottom(double *aMarginBottom);
2440  nsresult SetMarginBottom(double aMarginBottom);
2441  nsresult GetMarginRight(double *aMarginRight);
2442  nsresult SetMarginRight(double aMarginRight);
2443  nsresult GetUnwriteableMarginTop(double *aUnwriteableMarginTop);
2444  nsresult SetUnwriteableMarginTop(double aUnwriteableMarginTop);
2445  nsresult GetUnwriteableMarginLeft(double *aUnwriteableMarginLeft);
2446  nsresult SetUnwriteableMarginLeft(double aUnwriteableMarginLeft);
2447  nsresult GetUnwriteableMarginBottom(double *aUnwriteableMarginBottom);
2448  nsresult SetUnwriteableMarginBottom(double aUnwriteableMarginBottom);
2449  nsresult GetUnwriteableMarginRight(double *aUnwriteableMarginRight);
2450  nsresult SetUnwriteableMarginRight(double aUnwriteableMarginRight);
2451  nsresult GetScaling(double *aScaling);
2452  nsresult SetScaling(double aScaling);
2453  nsresult GetPrintBGColors(bool *aPrintBGColors);
2454  nsresult SetPrintBGColors(bool aPrintBGColors);
2455  nsresult GetPrintBGImages(bool *aPrintBGImages);
2456  nsresult SetPrintBGImages(bool aPrintBGImages);
2457  nsresult GetPrintRange(int16_t *aPrintRange);
2458  nsresult SetPrintRange(int16_t aPrintRange);
2459  nsresult GetTitle(PRUnichar **aTitle);
2460  nsresult SetTitle(const PRUnichar *aTitle);
2461  nsresult GetDocURL(PRUnichar **aDocURL);
2462  nsresult SetDocURL(const PRUnichar *aDocURL);
2463  nsresult GetHeaderStrLeft(PRUnichar **aHeaderStrLeft);
2464  nsresult SetHeaderStrLeft(const PRUnichar *aHeaderStrLeft);
2465  nsresult GetHeaderStrCenter(PRUnichar **aHeaderStrCenter);
2466  nsresult SetHeaderStrCenter(const PRUnichar *aHeaderStrCenter);
2467  nsresult GetHeaderStrRight(PRUnichar **aHeaderStrRight);
2468  nsresult SetHeaderStrRight(const PRUnichar *aHeaderStrRight);
2469  nsresult GetFooterStrLeft(PRUnichar **aFooterStrLeft);
2470  nsresult SetFooterStrLeft(const PRUnichar *aFooterStrLeft);
2471  nsresult GetFooterStrCenter(PRUnichar **aFooterStrCenter);
2472  nsresult SetFooterStrCenter(const PRUnichar *aFooterStrCenter);
2473  nsresult GetFooterStrRight(PRUnichar **aFooterStrRight);
2474  nsresult SetFooterStrRight(const PRUnichar *aFooterStrRight);
2475  nsresult GetHowToEnableFrameUI(int16_t *aHowToEnableFrameUI);
2476  nsresult SetHowToEnableFrameUI(int16_t aHowToEnableFrameUI);
2477  nsresult GetIsCancelled(bool *aIsCancelled);
2478  nsresult SetIsCancelled(bool aIsCancelled);
2479  nsresult GetPrintFrameTypeUsage(int16_t *aPrintFrameTypeUsage);
2480  nsresult SetPrintFrameTypeUsage(int16_t aPrintFrameTypeUsage);
2481  nsresult GetPrintFrameType(int16_t *aPrintFrameType);
2482  nsresult SetPrintFrameType(int16_t aPrintFrameType);
2483  nsresult GetPrintSilent(bool *aPrintSilent);
2484  nsresult SetPrintSilent(bool aPrintSilent);
2485  nsresult GetShrinkToFit(bool *aShrinkToFit);
2486  nsresult SetShrinkToFit(bool aShrinkToFit);
2487  nsresult GetShowPrintProgress(bool *aShowPrintProgress);
2488  nsresult SetShowPrintProgress(bool aShowPrintProgress);
2489  nsresult GetPaperName(PRUnichar **aPaperName);
2490  nsresult SetPaperName(const PRUnichar *aPaperName);
2491  nsresult GetPaperSizeType(int16_t *aPaperSizeType);
2492  nsresult SetPaperSizeType(int16_t aPaperSizeType);
2493  nsresult GetPaperData(int16_t *aPaperData);
2494  nsresult SetPaperData(int16_t aPaperData);
2495  nsresult GetPaperWidth(double *aPaperWidth);
2496  nsresult SetPaperWidth(double aPaperWidth);
2497  nsresult GetPaperHeight(double *aPaperHeight);
2498  nsresult SetPaperHeight(double aPaperHeight);
2499  nsresult GetPaperSizeUnit(int16_t *aPaperSizeUnit);
2500  nsresult SetPaperSizeUnit(int16_t aPaperSizeUnit);
2501  nsresult GetPlexName(PRUnichar **aPlexName);
2502  nsresult SetPlexName(const PRUnichar *aPlexName);
2503  nsresult GetColorspace(PRUnichar **aColorspace);
2504  nsresult SetColorspace(const PRUnichar *aColorspace);
2505  nsresult GetResolutionName(PRUnichar **aResolutionName);
2506  nsresult SetResolutionName(const PRUnichar aResolutionName);
2507  nsresult GetDownloadFonts(bool *aDownloadFonts);
2508  nsresult SetDownloadFonts(bool aDownloadFonts);
2509  nsresult GetPrintReversed(bool *aPrintReversed);
2510  nsresult SetPrintReversed(bool aPrintReversed);
2511  nsresult GetPrintInColor(bool *aPrintInColor);
2512  nsresult SetPrintInColor(bool aPrintInColor);
2513  nsresult GetOrientation(int32_t *aOrientation);
2514  nsresult SetOrientation(int32_t aOrientation);
2515  nsresult GetPrintCommand(PRUnichar **aPrintCommand);
2516  nsresult SetPrintCommand(const PRUnichar *aPrintCommand);
2517  nsresult GetNumCopies(int32_t *aNumCopies);
2518  nsresult SetNumCopies(int32_t aNumCopies);
2519  nsresult GetPrinterName(PRUnichar **aPrinterName);
2520  nsresult SetPrinterName(const PRUnichar *aPrinterName);
2521  nsresult GetPrintToFile(bool *aPrintToFile);
2522  nsresult SetPrintToFile(bool aPrintToFile);
2523  nsresult GetToFileName(PRUnichar **aToFileName);
2524  nsresult SetToFileName(const PRUnichar *aToFileName);
2525  nsresult GetOutputFormat(int16_t *aOutputFormat);
2526  nsresult SetOutputFormat(int16_t aOutputFormat);
2527  nsresult GetPrintPageDelay(int32_t *aPrintPageDelay);
2528  nsresult SetPrintPageDelay(int32_t aPrintPageDelay);
2529  nsresult GetResolution(int32_t *aResolution) = 0;
2530  nsresult SetResolution(int32_t aResolution) = 0;
2531  nsresult GetDuplex(int32_t *aDuplex);
2532  nsresult SetDuplex(int32_t aDuplex);
2533  nsresult GetIsInitializedFromPrinter(bool *aIsInitializedFromPrinter);
2534  nsresult SetIsInitializedFromPrinter(bool aIsInitializedFromPrinter);
2535  nsresult GetIsInitializedFromPrefs(bool *aIsInitializedFromPrefs);
2536  nsresult SetIsInitializedFromPrefs(bool aIsInitializedFromPrefs);
2537  nsresult GetPersistMarginBoxSettings(bool *aPersistMarginBoxSettings);
2538  nsresult SetPersistMarginBoxSettings(bool aPersistMarginBoxSettings);
2539  nsresult SetMarginInTwips(nsIntMargin *aMargin);
2540  nsresult SetEdgeInTwips(nsIntMargin *aEdge);
2541  nsresult GetMarginInTwips(nsIntMargin *aMargin);
2542  nsresult GetEdgeInTwips(nsIntMargin *aEdge);
2543  nsresult SetupSilentPrinting();
2544  nsresult SetUnwriteableMarginInTwips(nsIntMargin *aEdge);
2545  nsresult GetUnwriteableMarginInTwips(nsIntMargin *aEdge);
2546  nsresult GetPageRanges(void * /*nsTArray<int32_t>*/ aPages);
2547 }
2548 
2549 [
2550  object,
2551  uuid(9a7ca4b0-fbba-11d4-a869-00105a183419),
2552  local
2553 ]
2555 {
2556  nsresult GetGlobalPrintSettings(nsIPrintSettings **aGlobalPrintSettings);
2557  nsresult GetCurrentPrintSettings(nsIPrintSettings **aCurrentPrintSettings);
2558  nsresult GetCurrentChildDOMWindow(nsIDOMWindow **aCurrentChildDOMWindow);
2559  nsresult GetDoingPrint(bool *aDoingPrint);
2560  nsresult GetDoingPrintPreview(bool *aDoingPrintPreview);
2561  nsresult GetIsFramesetDocument(bool *aIsFramesetDocument);
2562  nsresult GetIsFramesetFrameSelected(bool *aIsFramesetFrameSelected);
2563  nsresult GetIsIFrameSelected(bool *aIsIFrameSelected);
2564  nsresult GetIsRangeSelection(bool *aIsRangeSelection);
2565  nsresult GetPrintPreviewNumPages(int32_t *aPrintPreviewNumPages);
2566  nsresult Print(nsIPrintSettings *aThePrintSettings, nsIWebProgressListener *aWPListener);
2567  nsresult PrintPreview(nsIPrintSettings *aThePrintSettings, nsIDOMWindow *aChildDOMWin,
2568  nsIWebProgressListener *aWPListener);
2569  nsresult PrintPreviewNavigate(int16_t aNavType, int32_t aPageNum);
2570  nsresult Cancel();
2571  nsresult EnumerateDocumentNames(uint32_t *aCount, PRUnichar ***aResult);
2572  nsresult ExitPrintPreview();
2573 }
2574 
2575 [
2576  object,
2577  uuid(3507fc93-313e-4a4c-8ca8-4d0ea0f97315),
2578  local
2579 ]
2581 {
2582  enum {
2585  };
2586 
2587  enum {
2591  };
2592 
2593  nsresult GetDefaultScrollbarPreferences(int32_t scrollOrientation, int32_t *_retval);
2594  nsresult SetDefaultScrollbarPreferences(int32_t scrollOrientation, int32_t scrollbarPref);
2595  nsresult GetScrollbarVisibility(bool *verticalVisible, bool *horizontalVisible);
2596 }
2597 
2598 [
2599  object,
2600  uuid(dfb5a307-7ecf-41dd-aee2-f1d623459c44),
2601  local
2602 ]
2604 {
2605  typedef struct {
2606  /* Currently not needed */
2607  char dummy;
2609 #define FILE widl_FILE
2610 
2611  nsresult Append(const nsAString *node);
2612  nsresult AppendNative(const nsAString *node);
2613  nsresult Normalize();
2614  nsresult Create(uint32_t type, uint32_t permission);
2615  nsresult GetLeafName(nsAString *aLeafName);
2616  nsresult SetLeafName(const nsAString *aLeafName);
2617  nsresult GetNativeLeafName(nsAString *aLeafName);
2618  nsresult SetNativeLeafName(const nsAString *aLeafName);
2619  nsresult CopyTo(nsIFile *newParentDir, const nsAString *newName);
2620  nsresult CopyToNative(nsIFile *newParentDir, const nsAString *newName);
2621  nsresult CopyToFollowingLinks(nsIFile *newParentDir, const nsAString *newName);
2622  nsresult CopyToFollowingLinksNative(nsIFile *newParentDir, const nsAString *newName);
2623  nsresult MoveTo(nsIFile *newParentDir, const nsAString *newName);
2624  nsresult MoveToNative(nsIFile *newParentDir, const nsAString *newName);
2625  nsresult RenameTo(nsIFile *newParentDir, const nsAString *newName);
2626  nsresult Remove(bool recursive);
2627  nsresult GetPermissions(uint32_t *aPermissions);
2628  nsresult SetPermissions(uint32_t pPermissions);
2629  nsresult GetPermissionsOfLink(uint32_t *aPermissions);
2630  nsresult SetPermissionsOfLink(uint32_t pPermissions);
2631  nsresult GetLastModifiedTime(PRTime *aLastModifiedTime);
2632  nsresult SetLastModifiedTime(PRTime aLastModifiedTime);
2633  nsresult GetLastModifiedTimeOfLink(PRTime *aLastModifiedTimeOfLink);
2634  nsresult SetLastModifiedTimeOfLink(PRTime aLastModifiedTimeOfLink);
2635  nsresult GetFileSize(int64_t *aFileSize);
2636  nsresult SetFileSize(int64_t aFileSize);
2637  nsresult GetFileSizeOfLink(int64_t *aFileSizeOfLink);
2638  nsresult GetTarget(nsAString *aTarget);
2639  nsresult GetNativeTarget(nsACString *aNativeTarget);
2640  nsresult GetPath(nsAString *aPath);
2641  nsresult GetNativePath(nsACString *aNativePath);
2642  nsresult Exists(bool *_retval);
2643  nsresult IsWritable(bool *_retval);
2644  nsresult IsReadable(bool *_retval);
2645  nsresult IsExecutable(bool *_retval);
2646  nsresult IsHidden(bool *_retval);
2647  nsresult IsDirectory(bool *_retval);
2648  nsresult IsFile(bool *_retval);
2649  nsresult IsSymlink(bool *_retval);
2650  nsresult IsSpecial(bool *_retval);
2651  nsresult CreateUnique(uint32_t type, uint32_t permission);
2652  nsresult Clone(nsIFile **_retval);
2653  nsresult Equals(nsIFile *inFile, bool *_retval);
2654  nsresult Contains(nsIFile *inFile, bool *_retval);
2655  nsresult GetParent(nsIFile **aParent);
2656  nsresult GetDirectoryEntries(nsISimpleEnumerator **aDirectoryEntries);
2657  nsresult InitWithPath(const nsAString *filePath);
2658  nsresult InitWithNativePath(const nsACString *filePath);
2659  nsresult InitWithFile(nsIFile *aFile);
2660  nsresult GetFollowLinks(bool *aFollowLinks);
2661  nsresult SetFollowLinks(bool aFollowLinks);
2662  nsresult OpenNSPRFileDesc(int32_t flags, int32_t mode, PRFileDesc **_retval);
2663  nsresult OpenANSIFileDesc(const char *mode, FILE **_retval);
2664  nsresult Load(PRLibrary **_retval);
2665  nsresult GetDiskSpaceAvailable(int64_t *aDiskSpaceAvailable);
2666  nsresult AppendRelativePath(const nsAString *relativeFilePath);
2667  nsresult AppendRelativeNativePath(const nsACString *relativeFilePath);
2668  nsresult GetPersistentDescriptor(nsACString *aPersistentDescriptor);
2669  nsresult SetPersistentDescriptor(const nsACString *aPersistentDescriptor);
2670  nsresult Reveal();
2671  nsresult Launch();
2672  nsresult GetRelativeDescriptor(nsIFile *fromFile, nsACString *_retval);
2673  nsresult SetRelativeDescriptor(nsIFile *fromFile, const nsACString *relativeDesc);
2674 }
2675 
2676 [
2677  object,
2678  uuid(d604ffc3-1ba3-4f6c-b65f-1ed4199364c3),
2679  local
2680 ]
2682 {
2683  nsresult GetClassObject(nsCIDRef aClass, nsIIDRef aIID, void **result);
2684  nsresult GetClassObjectByContractID(const char *aContractID, nsIIDRef aIID, void **result);
2685  nsresult CreateInstance(nsCIDRef aClass, nsISupports *aDelegate, nsIIDRef aIID,
2686  void **result);
2687  nsresult CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate,
2688  nsIIDRef aIID, void **result);
2689  nsresult AddBootstrappedManifestLocation(nsIFile *aLocation);
2690  nsresult RemoveBootstrappedManifestLocation(nsIFile *aLocation);
2691  nsresult GetManifestLocations(nsIArray **_retval);
2692 }
2693 
2694 [
2695  object,
2696  uuid(55d25e49-793f-4727-a69f-de8b15f4b985),
2697  local
2698 ]
2700 {
2701  nsresult GetRoot(char **aRoot);
2702  nsresult GetPrefType(const char *aPrefName, int32_t *_retval);
2703  nsresult GetBoolPref(const char *aPrefName, bool *_retval);
2704  nsresult SetBoolPref(const char *aPrefName, bool aValue);
2705  nsresult GetFloatPref(const char *aPrefName, float *_retval);
2706  nsresult GetCharPref(const char *aPrefName, char **_retval);
2707  nsresult SetCharPref(const char *aPrefName, const char *aValue);
2708  nsresult GetIntPref(const char *aPrefName, int32_t *_retval);
2709  nsresult SetIntPref(const char *aPrefName, int32_t aValue);
2710  nsresult GetComplexValue(const char *aPrefName, const nsIID *aType, void **aValue);
2711  nsresult SetComplexValue(const char *aPrefName, const nsIID *aType, nsISupports *aValue);
2712  nsresult ClearUserPref(const char *aPrefName);
2713  nsresult LockPref(const char *aPrefName);
2714  nsresult PrefHasUserValue(const char *aPrefName, bool *_retval);
2715  nsresult PrefIsLocked(const char *aPrefName, bool *_retval);
2716  nsresult UnlockPref(const char *aPrefName);
2717  nsresult DeleteBranch(const char *aStartingAt);
2718  nsresult GetChildList(const char *aStartingAt, uint32_t *aCount, char ***aChildArray);
2719  nsresult ResetBranch(const char *aStartingAt);
2720  nsresult AddObserver(const char *aDomain, nsIObserver *aObserver, bool aHoldWeak);
2721  nsresult RemoveObserver(const char *aDomain, nsIObserver *aObserver);
2722 }
2723 
2724 [
2725  object,
2726  uuid(bbf8cab0-d43a-11d3-8cc2-00609792278c),
2727  local
2728 ]
2730 {
2731  nsresult GetFile(const char *prop, bool *persistent, nsIFile **_retval);
2732 }
2733 
2734 [
2735  object,
2736  uuid(2f977d4b-5485-11d4-87e2-0010a4e75ef2),
2737  local
2738 ]
2740 {
2741  nsresult GetFiles(const char *prop, nsISimpleEnumerator **_retval);
2742 }
2743 
2744 [
2745  object,
2746  uuid(a7aad716-e72c-435d-82f1-7582dffae661),
2747  local
2748 ]
2750 {
2751  const unsigned long URI_STD = 0;
2752  const unsigned long URI_NORELATIVE = (1<<0);
2753  const unsigned long URI_NOAUTH = (1<<1);
2754  const unsigned long ALLOWS_PROXY = (1<<2);
2755  const unsigned long ALLOWS_PROXY_HTTP = (1<<3);
2756  const unsigned long URI_INHERITS_SECURITY_CONTEXT = (1<<4);
2757  const unsigned long URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT = (1<<5);
2758  const unsigned long URI_LOADABLE_BY_ANYONE = (1<<6);
2759  const unsigned long URI_DANGEROUS_TO_LOAD = (1<<7);
2760  const unsigned long URI_IS_UI_RESOURCE = (1<<8);
2761  const unsigned long URI_IS_LOCAL_FILE = (1<<9);
2762  const unsigned long URI_LOADABLE_BY_SUBSUMERS = (1<<10);
2763  const unsigned long URI_DOES_NOT_RETURN_DATA = (1<<11);
2764  const unsigned long URI_IS_LOCAL_RESOURCE = (1<<12);
2765  const unsigned long URI_OPENING_EXECUTES_SCRIPT = (1<<13);
2766  const unsigned long URI_NON_PERSISTABLE = (1<<14);
2767  const unsigned long URI_FORBIDS_COOKIE_ACCESS = (1<<15);
2768  const unsigned long URI_CROSS_ORIGIN_NEEDS_WEBAPPS_PERM = (1<<16);
2769  const unsigned long URI_SYNC_LOAD_IS_OK = (1<<17);
2770  const unsigned long URI_SAFE_TO_LOAD_IN_SECURE_CONTEXT = (1<<18);
2771 
2772  nsresult GetScheme(nsACString *aScheme);
2773  nsresult GetDefaultPort(int32_t *aDefaultPort);
2774  nsresult GetProtocolFlags(uint32_t *aProtocolFlags);
2775  nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset,
2776  nsIURI *aBaseURI, nsIURI **_retval);
2777  nsresult NewChannel2(nsIURI *aURI, nsILoadInfo *aLoadinfo, nsIChannel **_retval);
2778  nsresult NewChannel(nsIURI *aURI, nsIChannel **_retval);
2779  nsresult AllowPort(int32_t port, const char *scheme, bool *_retval);
2780 }
2781 
2782 [
2783  object,
2784  uuid(0e61f3b2-34d7-4c79-bfdc-4860bc7341b7),
2785  local
2786 ]
2788 {
2789  nsresult ExternalAppExistsForScheme(const nsACString *scheme, bool *_retval);
2790 }
2791 
2792 [
2793  object,
2794  uuid(4286de5a-b2ea-446f-8f70-e2a461f42694),
2795  local
2796 ]
2798 {
2799  nsresult GetProtocolHandler(const char *aScheme, nsIProtocolHandler **_retval);
2800  nsresult GetProtocolFlags(const char *aScheme, uint32_t *_retval);
2801  nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
2802  nsIURI **_retval);
2803  nsresult NewFileURI(nsIFile *aFile, nsIURI **_retval);
2804  nsresult NewChannelFromURI2(nsIURI *aURI, nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
2805  nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags, uint32_t aContentPolicyType,
2806  nsIChannel **_retval);
2807  nsresult NewChannelFromURIWithLoadInfo(nsIURI *aURI, nsILoadInfo *aLoadInfo, nsIChannel **_retval);
2808  nsresult NewChannelFromURI(nsIURI *aURI, nsIChannel **_retval);
2809  nsresult NewChannel2(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
2810  nsIDOMNode *aLoadingNode, nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal,
2811  uint32_t aSecurityFlags, uint32_t aContentPolicyType, nsIChannel **_retval);
2812  nsresult NewChannel(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
2813  nsIChannel **_retval);
2814  nsresult GetOffline(bool *aOffline);
2815  nsresult SetOffline(bool aOffline);
2816  nsresult GetConnectivity(bool *aConnectivity);
2817  nsresult SetAppOffline(uint32_t appId, int32_t state);
2818  nsresult IsAppOffline(uint32_t appId, bool *_retval);
2819  nsresult GetAppOfflineState(uint32_t appId, int32_t *_retval);
2820  nsresult AllowPort(int32_t aPort, const char *aScheme, bool *_retval);
2821  nsresult ExtractScheme(const nsACString *urlString, nsACString *_retval);
2822  nsresult NewLoadInfo(nsIPrincipal *aLoadingPrincipal, nsIPrincipal *aTriggeringPrincipal,
2823  nsIDOMNode *aLoadingNode, uint32_t aSecurityFlags, uint32_t aContentPolicyType, nsILoadInfo **_retval);
2824 }
2825 
2826 [
2827  object,
2828  uuid(ca68c485-9db3-4c12-82a6-4fab7948e2d5),
2829  local,
2830 ]
2832 {
2833  nsresult ParseContentType(const nsACString *aTypeHeader, nsACString *aCharset,
2834  bool *aHadCharset, nsACString *_retval);
2835  nsresult ProtocolHasFlags(nsIURI *aURI, uint32_t aFlag, bool *_retval);
2836  nsresult URIChainHasFlags(nsIURI *aURI, uint32_t aFlags, bool *_retval);
2837  nsresult ToImmutableURI(nsIURI *aURI, nsIURI **_retval);
2838  nsresult NewSimpleNestedURI(nsIURI *aURI, nsIURI **_retval);
2839  nsresult EscapeString(const nsACString *aString, uint32_t aEscapeType, nsACString *_retval);
2840  nsresult EscapeURL(const nsACString *aStr, uint32_t aFlags, nsACString *_retval);
2841  nsresult UnescapeString(const nsACString *aStr, uint32_t aFlags, nsACString *_retval);
2842  nsresult ExtractCharsetFromContentType(const nsACString *aTypeHeader, nsACString *aCharset,
2843  int32_t *aCharsetStart, int32_t *aCharsetEnd, bool *_retval);
2844 }
2845 
2846 [
2847  object,
2848  uuid(9c5d3c58-1dd1-11b2-a1c9-f3699284657a),
2849  local
2850 ]
2852 {
2853  nsresult Activate();
2854  nsresult Deactivate();
2855  nsresult SetFocusAtFirstElement();
2856  nsresult SetFocusAtLastElement();
2857  nsresult GetFocusedWindow(nsIDOMWindow **aFocusedWindow);
2858  nsresult SetFocusedWindow(nsIDOMWindow *aFocusedWindow);
2859  nsresult GetFocusedElement(nsIDOMElement **aFocusedElement);
2860  nsresult SetFocusedElement(nsIDOMElement *aFocusedElement);
2861 }
2862 
2863 [
2864  object,
2865  uuid(e8c414c4-dc38-4ba3-ab4e-ec4cbbe22907),
2866  local
2867 ]
2869 {
2870  nsresult SetStatus(uint32_t statusType, const PRUnichar *status);
2871  nsresult GetWebBrowser(nsIWebBrowser **aWebBrowser);
2872  nsresult SetWebBrowser(nsIWebBrowser *aWebBrowser);
2873  nsresult GetChromeFlags(uint32_t *aChromeFlags);
2874  nsresult SetChromeFlags(uint32_t aChromeFlags);
2875  nsresult DestroyBrowserWindow();
2876  nsresult SizeBrowserTo(int32_t aCX, int32_t aCY);
2877  nsresult ShowAsModal();
2878  nsresult IsWindowModal(bool *_retval);
2879  nsresult ExitModalEventLoop(nsresult aStatus);
2880 }
2881 
2882 [
2883  object,
2884  uuid(df31c120-ded6-11d1-bd85-00805f8ae3f4),
2885  local
2886 ]
2888 {
2889  nsresult HandleEvent(nsIDOMEvent *event);
2890 }
2891 
2892 [
2893  object,
2894  uuid(9a78ac3c-9507-4d00-b2d6-10b508d2ec31),
2895  local
2896 ]
2898 {
2899  nsresult AddEventListener(const nsAString *type, nsIDOMEventListener *listener, bool useCapture, bool wantsUntrusted, uint8_t _argc);
2900  nsresult AddSystemEventListener(const nsAString *type, nsIDOMEventListener *listener, bool aUseCapture, bool aWantsUntrusted, uint8_t _argc);
2901  nsresult RemoveEventListener(const nsAString *type, nsIDOMEventListener *listener, bool useCapture);
2902  nsresult RemoveSystemEventListener(const nsAString *type, nsIDOMEventListener *listener, bool aUseCapture);
2903  nsresult DispatchEvent(nsIDOMEvent *evt, bool *_retval);
2904 
2905  /* Followed by methods we should try to avoid using */
2906 }
2907 
2908 [
2909  object,
2910  uuid(02d54f52-a1f5-4ad2-b560-36f14012935e),
2911  local
2912 ]
2914 {
2915  nsresult GetType(nsAString *aType);
2916  nsresult GetTarget(nsIDOMEventTarget **aTarget);
2917  nsresult GetCurrentTarget(nsIDOMEventTarget **aCurrentTarget);
2918  nsresult GetEventPhase(uint16_t *aEventPhase);
2919  nsresult GetBubbles(bool *aBubbles);
2920  nsresult GetCancelable(bool *aCancelable);
2921  nsresult GetTimeStamp(DOMTimeStamp *aTimeStamp);
2922  nsresult StopPropagation();
2923  nsresult PreventDefault();
2924  nsresult InitEvent(const nsAString *eventTypeArg, bool canBubbleArg, bool cancelableArg);
2925  nsresult GetDefaultPrevented(bool *aDefaultPrevented);
2926  nsresult StopImmediatePropagation();
2927  nsresult GetOriginalTarget(nsIDOMEventTarget **aOriginalTarget);
2928  nsresult GetExplicitOriginalTarget(nsIDOMEventTarget * *aExplicitOriginalTarget);
2929  nsresult GetPreventDefault(bool *_retval);
2930  nsresult GetIsTrusted(bool *aIsTrusted);
2931  nsresult DuplicatePrivateData();
2932  nsresult SetTarget(nsIDOMEventTarget *aTarget);
2933  bool IsDispatchStopped();
2934  /*nsEvent*/ void *GetInternalNSEvent();
2935  void SetTrusted(bool aTrusted);
2936  void Serialize(/*IPC::Message*/ void *aMsg, bool aSerializeInterfaceType);
2937  bool Deserialize(const /*IPC::Message*/ void *aMsg, void **aIter);
2938  void SetOwner(void /*mozilla::dom::EventTarget*/ *aOwner);
2939  void /*nsDOMEvent*/ *InternalDOMEvent();
2940 }
2941 
2942 [
2943  object,
2944  uuid(1a75c351-d115-4d51-94df-731dd1723a1f),
2945  local
2946 ]
2948 {
2949  nsresult GetImageAnimationMode(uint16_t *aImageAnimationMode);
2950  nsresult SetImageAnimationMode(uint16_t aImageAnimationMode);
2951  nsresult GetDocCharsetIsForced(bool *aDocCharsetIsForced);
2952  nsresult GetCursorType(int16_t *_retval);
2953  nsresult GetDocumentMetadata(const nsAString *aName, nsAString *_retval);
2954  nsresult Redraw(uint32_t aCount, uint32_t *_retval);
2955  nsresult UpdateLayerTree();
2956  nsresult SetCSSViewport(float aWidthPx, float aHeightPx);
2957  nsresult GetViewportInfo(uint32_t aDisplayWidth, uint32_t aDisplayHeight, double *aDefaultZoom, bool *aAllowZoom,
2958  double *aMinZoom, double *aMaxZoom, uint32_t *aWidth, uint32_t *aHeight, bool *aAutoSize);
2959  nsresult SetDisplayPortForElement(float aXPx, float aYPx, float aWidthPx, float aHeightPx,
2960  nsIDOMElement *aElement, uint32_t aPriority);
2961  nsresult SetDisplayPortMarginsForElement(float aLeftMargin, float aTopMargin, float aRightMargin, float aBottomMargin,
2962  uint32_t aAlignmentX, uint32_t aAlignmentY, nsIDOMElement *aElement, uint32_t aPriority);
2963  nsresult SetDisplayPortBaseForElement(int32_t aX, int32_t aY, int32_t aWidth, int32_t aHeight, nsIDOMElement *aElement);
2964  nsresult SetResolution(float aResolution);
2965  nsresult GetResolution(float *aResolution);
2966  nsresult SetResolutionAndScaleTo(float aResolution);
2967  nsresult GetIsResolutionSet(bool *aIsResolutionSet);
2968  nsresult GetIsFirstPaint(bool *aIsFirstPaint);
2969  nsresult SetIsFirstPaint(bool aIsFirstPaint);
2970  nsresult GetPresShellId(uint32_t *aPresShellId);
2971  nsresult SendMouseEvent(const nsAString *aType, float aX, float aY, int32_t aButton, int32_t aClickCount,
2972  int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg, bool aIsSynthesized,
2973  uint8_t _argc, bool *_retval);
2974  nsresult SendPointerEvent(const nsAString *aType, float aX, float aY, int32_t aButton, int32_t aClickCount,
2975  int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg, int32_t aPointerId,
2976  int32_t aWidth, int32_t aHeight, int32_t tiltX, int32_t tiltY, bool aIsPrimary, bool aIsSynthesized,
2977  uint8_t _argc, bool *_retval);
2978  nsresult SendTouchEvent(const nsAString *aType, uint32_t *aIdentifiers, int32_t *aXs, int32_t *aYs,
2979  uint32_t *aRxs, uint32_t *aRys, float *aRotationAngles, float *aForces, uint32_t count, int32_t aModifiers,
2980  bool aIgnoreRootScrollFrame, bool *_retval);
2981  nsresult SendMouseEventToWindow(const nsAString *aType, float aX, float aY, int32_t aButton, int32_t aClickCount,
2982  int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg, bool aIsSynthesized,
2983  uint8_t _argc);
2984  nsresult SendPointerEventToWindow(const nsAString *aType, float aX, float aY, int32_t aButton, int32_t aClickCount,
2985  int32_t aModifiers, bool aIgnoreRootScrollFrame, float aPressure, uint16_t aInputSourceArg, int32_t aPointerId,
2986  int32_t aWidth, int32_t aHeight, int32_t aTiltX, int32_t aTiltY, bool aIsPrimary, bool aIsSynthesized, uint8_t _argc);
2987  nsresult SendTouchEventToWindow(const nsAString *aType, uint32_t *aIdentifiers, int32_t *aXs, int32_t *aYs, uint32_t *aRxs,
2988  uint32_t *aRys, float *aRotationAngles, float *aForces, uint32_t count, int32_t aModifiers,
2989  bool aIgnoreRootScrollFrame, bool *_retval);
2990  nsresult SendWheelEvent(float aX, float aY, double aDeltaX, double aDeltaY, double aDeltaZ, uint32_t aDeltaMode,
2991  int32_t aModifiers, int32_t aLineOrPageDeltaX, int32_t aLineOrPageDeltaY, uint32_t aOptions);
2992  nsresult SendKeyEvent(const nsAString *aType, int32_t aKeyCode, int32_t aCharCode, int32_t aModifiers,
2993  uint32_t aAdditionalFlags, bool *_retval);
2994  nsresult SendNativeKeyEvent(int32_t aNativeKeyboardLayout, int32_t aNativeKeyCode, int32_t aModifierFlags,
2995  const nsAString *aCharacters, const nsAString *aUnmodifiedCharacters, nsIObserver *aObserver);
2996  nsresult SendNativeMouseEvent(int32_t aScreenX, int32_t aScreenY, int32_t aNativeMessage, int32_t aModifierFlags,
2997  nsIDOMElement *aElement, nsIObserver *aObserver);
2998  nsresult SendNativeMouseScrollEvent(int32_t aScreenX, int32_t aScreenY, uint32_t aNativeMessage, double aDeltaX,
2999  double aDeltaY, double aDeltaZ, uint32_t aModifierFlags, uint32_t aAdditionalFlags, nsIDOMElement *aElement,
3000  nsIObserver *aObserver);
3001  nsresult SendNativeTouchPoint(uint32_t aPointerId, uint32_t aTouchState, int32_t aScreenX, int32_t aScreenY,
3002  double aPressure, uint32_t aOrientation, nsIObserver *aObserver);
3003  nsresult SendNativeTouchTap(int32_t aScreenX, int32_t aScreenY, bool aLongTap, nsIObserver *aObserver);
3004  nsresult ClearNativeTouchSequence(nsIObserver *aObserver);
3005  nsresult ActivateNativeMenuItemAt(const nsAString *indexString);
3006  nsresult ForceUpdateNativeMenuAt(const nsAString *indexString);
3007  nsresult Focus(nsIDOMElement *aElement);
3008  nsresult GarbageCollect(nsICycleCollectorListener *aListener, int32_t aExtraForgetSkippableCalls);
3009  nsresult CycleCollect(nsICycleCollectorListener *aListener, int32_t aExtraForgetSkippableCalls);
3010  nsresult RunNextCollectorTimer();
3011  nsresult SendSimpleGestureEvent(const nsAString *aType, float aX, float aY, uint32_t aDirection, double aDelta,
3012  int32_t aModifiers, uint32_t aClickCount);
3013  nsresult ElementFromPoint(float aX, float aY, bool aIgnoreRootScrollFrame, bool aFlushLayout, nsIDOMElement **_retval);
3014  nsresult NodesFromRect(float aX, float aY, float aTopSize, float aRightSize, float aBottomSize, float aLeftSize,
3015  bool aIgnoreRootScrollFrame, bool aFlushLayout, nsIDOMNodeList **_retval);
3016  nsresult GetTranslationNodes(nsIDOMNode *aRoot, int /*nsITranslationNodeList*/ **_retval);
3017  nsresult CompareCanvases(nsIDOMHTMLCanvasElement *aCanvas1, nsIDOMHTMLCanvasElement *aCanvas2,
3018  uint32_t *aMaxDifference, uint32_t *_retval);
3019  nsresult GetIsMozAfterPaintPending(bool *aIsMozAfterPaintPending);
3020  nsresult SuppressEventHandling(bool aSuppress);
3021  nsresult ClearMozAfterPaintEvents();
3022  nsresult DisableNonTestMouseEvents(bool aDisable);
3023  nsresult GetScrollXY(bool aFlushLayout, int32_t *aScrollX, int32_t *aScrollY);
3024  nsresult GetScrollXYFloat(bool aFlushLayout, float *aScrollX, float *aScrollY);
3025  nsresult GetScrollbarSize(bool aFlushLayout, int32_t *aWidth, int32_t *aHeight);
3026  nsresult GetBoundsWithoutFlushing(nsIDOMElement *aElement, nsIDOMClientRect **_retval);
3027  nsresult GetRootBounds(nsIDOMClientRect **_retval);
3028  nsresult GetIMEIsOpen(bool *aIMEIsOpen);
3029  nsresult GetIMEStatus(uint32_t *aIMEStatus);
3030  nsresult GetScreenPixelsPerCSSPixel(float *aScreenPixelsPerCSSPixel);
3031  nsresult GetFullZoom(float *aFullZoom);
3032  nsresult DispatchDOMEventViaPresShell(nsIDOMNode *aTarget, nsIDOMEvent *aEvent, bool aTrusted, bool *_retval);
3033  nsresult DispatchEventToChromeOnly(nsIDOMEventTarget *aTarget, nsIDOMEvent *aEvent, bool *_retval);
3034  nsresult GetClassName(const /*JS::Value*/ void *aObject, JSContext *cx, char **_retval);
3035  nsresult SendContentCommandEvent(const nsAString *aType, nsITransferable *aTransferable);
3036  nsresult SendQueryContentEvent(uint32_t aType, uint32_t aOffset, uint32_t aLength, int32_t aX, int32_t aY,
3037  uint32_t aAdditionalFlags, nsIQueryContentEventResult **_retval);
3038  nsresult RemoteFrameFullscreenChanged(nsIDOMElement *aFrameElement, const nsAString *aNewOrigin);
3039  nsresult RemoteFrameFullscreenReverted();
3040  nsresult ExitFullscreen();
3041  nsresult SendSelectionSetEvent(uint32_t aOffset, uint32_t aLength, uint32_t aAdditionalFlags, bool *_retval);
3042  nsresult SelectAtPoint(float aX, float aY, uint32_t aSelectBehavior, bool *_retval);
3043  nsresult GetVisitedDependentComputedStyle(nsIDOMElement *aElement, const nsAString *aPseudoElement,
3044  const nsAString *aPropertyName, nsAString *_retval);
3045  nsresult GetOuterWindowID(uint64_t *aOuterWindowID);
3046  nsresult GetCurrentInnerWindowID(uint64_t *aCurrentInnerWindowID);
3047  nsresult EnterModalState();
3048  nsresult LeaveModalState();
3049  nsresult IsInModalState(bool *_retval);
3050  nsresult SetDesktopModeViewport(bool aDesktopModeViewport);
3051  nsresult SuspendTimeouts();
3052  nsresult ResumeTimeouts();
3053  nsresult GetLayerManagerType(nsAString *aLayerManagerType);
3054  nsresult GetLayerManagerRemote(bool *aLayerManagerRemote);
3055  nsresult GetSupportsHardwareH264Decoding(bool *aSupportsHardwareH264Decoding);
3056  nsresult StartFrameTimeRecording(uint32_t *startIndex);
3057  nsresult StopFrameTimeRecording(uint32_t startIndex, uint32_t *frameCount, float **frameIntervals);
3058  nsresult BeginTabSwitch();
3059  nsresult GetDisplayDPI(float *aDisplayDPI);
3060  nsresult GetOuterWindowWithId(uint64_t aOuterWindowID, nsIDOMWindow **_retval);
3061  nsresult GetContainerElement(nsIDOMElement **aContainerElement);
3062  nsresult RenderDocument(const void /*nsRect*/ *aRect, uint32_t aFlags, int /*nscolor*/ aBackgroundColor,
3063  void /*gfxContext*/ *aThebesContext);
3064  nsresult AdvanceTimeAndRefresh(int64_t aMilliseconds);
3065  nsresult RestoreNormalRefresh();
3066  nsresult GetIsTestControllingRefreshes(bool *aIsTestControllingRefreshes);
3067  nsresult SetAsyncScrollOffset(nsIDOMNode *aNode, int32_t aX, int32_t aY);
3068  nsresult ComputeAnimationDistance(nsIDOMElement *element, const nsAString *property, const nsAString *value1,
3069  const nsAString *value2, double *_retval);
3070  nsresult WrapDOMFile(nsIFile *aFile, nsIDOMFile **_retval);
3071  nsresult GetFocusedInputType(char **aFocusedInputType);
3072  nsresult FindElementWithViewId(long /*nsViewID*/ aId, nsIDOMElement **_retval);
3073  nsresult GetViewId(nsIDOMElement *aElement, long /*nsViewID*/ *_retval);
3074  nsresult LeafLayersPartitionWindow(bool *_retval);
3075  nsresult CheckAndClearPaintedState(nsIDOMElement *aElement, bool *_retval);
3076  nsresult IsPartOfOpaqueLayer(nsIDOMElement *aElement, bool *_retval);
3077  nsresult NumberOfAssignedPaintedLayers(nsIDOMElement **aElements, uint32_t count, uint32_t *_retval);
3078  nsresult GetFileId(const /*JS::Value*/ void *aFile, JSContext *cx, int64_t *_retval);
3079  nsresult GetFilePath(void /*JS::HandleValue*/ *aFile, JSContext *cx, nsAString *_retval);
3080  nsresult GetFileReferences(const nsAString *aDatabaseName, int64_t aId, void /*JS::HandleValue*/ *aOptions,
3081  int32_t *aRefCnt, int32_t *aDBRefCnt, int32_t *aSliceRefCnt, JSContext* cx, bool *_retval);
3082  nsresult IsIncrementalGCEnabled(JSContext *cx, bool *_retval);
3083  nsresult StartPCCountProfiling(JSContext *cx);
3084  nsresult StopPCCountProfiling(JSContext *cx);
3085  nsresult PurgePCCounts(JSContext *cx);
3086  nsresult GetPCCountScriptCount(JSContext *cx, int32_t *_retval);
3087  nsresult GetPCCountScriptSummary(int32_t script, JSContext *cx, nsAString *_retval);
3088  nsresult GetPCCountScriptContents(int32_t script, JSContext *cx, nsAString *_retval);
3089  nsresult GetPaintingSuppressed(bool *aPaintingSuppressed);
3090  nsresult GetPlugins(JSContext *cx, /*JS::Value*/ void *aPlugins);
3091  nsresult SetScrollPositionClampingScrollPortSize(float aWidth, float aHeight);
3092  nsresult SetContentDocumentFixedPositionMargins(float aTop, float aRight, float aBottom, float aLeft);
3093  nsresult DisableDialogs();
3094  nsresult EnableDialogs();
3095  nsresult AreDialogsEnabled(bool *_retval);
3096  nsresult LoadSheet(nsIURI *sheetURI, uint32_t type);
3097  nsresult LoadSheetUsingURIString(const nsACString *sheetURI, uint32_t type);
3098  nsresult AddSheet(nsIDOMStyleSheet *sheet, uint32_t type);
3099  nsresult RemoveSheet(nsIURI *sheetURI, uint32_t type);
3100  nsresult RemoveSheetUsingURIString(const nsACString *sheetURI, uint32_t type);
3101  nsresult GetIsHandlingUserInput(bool *aIsHandlingUserInput);
3102  nsresult AllowScriptsToClose();
3103  nsresult GetIsParentWindowMainWidgetVisible(bool *aIsParentWindowMainWidgetVisible);
3104  nsresult IsNodeDisabledForEvents(nsIDOMNode *aNode, bool *_retval);
3105  nsresult GetPaintFlashing(bool *aPaintFlashing);
3106  nsresult SetPaintFlashing(bool aPaintFlashing);
3108  nsresult RunBeforeNextEvent(nsIRunnable *runnable);
3109  nsresult GetOMTAStyle(nsIDOMElement *aElement, const nsAString *aProperty, nsAString *_retval);
3110  nsresult RequestCompositorProperty(const nsAString *aProperty, float *_retval);
3111  nsresult SetHandlingUserInput(bool aHandlingInput, void /*nsIJSRAIIHelper*/ **_retval);
3112  nsresult GetContentAPZTestData(JSContext *cx, int /*JS::MutableHandleValue*/ _retval);
3113  nsresult GetCompositorAPZTestData(JSContext *cx, void /*JS::MutableHandleValue*/ *_retval);
3114  nsresult PostRestyleSelfEvent(nsIDOMElement *aElement);
3115  nsresult GetAudioMuted(bool *aAudioMuted) ;
3116  nsresult SetAudioMuted(bool aAudioMuted);
3117  nsresult GetAudioVolume(float *aAudioVolume);
3118  nsresult SetAudioVolume(float aAudioVolume);
3119  nsresult XpconnectArgument(nsIDOMWindowUtils *aThis);
3120  nsresult AskPermission(void /*nsIContentPermissionRequest*/ *aRequest);
3121  nsresult GetFramesConstructed(uint64_t *aFramesConstructed);
3122  nsresult GetFramesReflowed(uint64_t *aFramesReflowed);
3123  nsresult SetChromeMargin(int32_t aTop, int32_t aRight, int32_t aBottom, int32_t aLeft);
3124  nsresult GetServiceWorkersTestingEnabled(bool *aServiceWorkersTestingEnabled);
3125  nsresult SetServiceWorkersTestingEnabled(bool aServiceWorkersTestingEnabled);
3126 }
3127 
3128 cpp_quote("#define CONTEXT_NONE 0x00")
3129 cpp_quote("#define CONTEXT_LINK 0x01")
3130 cpp_quote("#define CONTEXT_IMAGE 0x02")
3131 cpp_quote("#define CONTEXT_DOCUMENT 0x04")
3132 cpp_quote("#define CONTEXT_TEXT 0x08")
3133 cpp_quote("#define CONTEXT_INPUT 0x10")
3134 cpp_quote("#define CONTEXT_BACKGROUND_IMAGE 0x20")
3135 
3136 [
3137  object,
3138  uuid(3478b6b0-3875-11d4-94ef-0020183bf181),
3139  local
3140 ]
3142 {
3143  nsresult OnShowContextMenu(uint32_t aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode);
3144 }
3145 
3146 [
3147  object,
3148  uuid(d73852f8-7bd6-477d-8233-117dbf83860b),
3149  local
3150 ]
3152 {
3153  nsresult GetView(nsIDOMWindow **aView);
3154  nsresult GetDetail(int32_t *aDetail);
3155  nsresult InitUIEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg,
3156  nsIDOMWindow *viewArg, int32_t detailArg);
3157  nsresult GetLayerX(int32_t *aLayerX);
3158  nsresult GetLayerY(int32_t *aLayerY);
3159  nsresult GetPageX(int32_t *aPageX);
3160  nsresult GetPageY(int32_t *aPageY);
3161  nsresult GetWhich(uint32_t *aWhich);
3162  nsresult GetRangeParent(nsIDOMNode **aRangeParent);
3163  nsresult GetRangeOffset(int32_t *aRangeOffset);
3164  nsresult GetCancelBubble(bool *aCancelBubble);
3165  nsresult SetCancelBubble(bool aCancelBubble);
3166  nsresult GetIsChar(bool *aIsChar);
3167 }
3168 
3169 [
3170  object,
3171  uuid(df068636-9a5b-11e3-b71f-2c27d728e7f9),
3172  local
3173 ]
3175 {
3176  nsresult GetScreenX(int32_t *aScreenX);
3177  nsresult GetScreenY(int32_t *aScreenY);
3178  nsresult GetMozMovementX(int32_t *aMozMovementX);
3179  nsresult GetMozMovementY(int32_t *aMozMovementY);
3180  nsresult GetClientX(int32_t *aClientX);
3181  nsresult GetClientY(int32_t *aClientY);
3182  nsresult GetCtrlKey(bool *aCtrlKey);
3183  nsresult GetShiftKey(bool *aShiftKey);
3184  nsresult GetAltKey(bool *aAltKey);
3185  nsresult GetMetaKey(bool *aMetaKey);
3186  nsresult GetButton(int16_t *aButton);
3187  nsresult GetButtons(uint16_t *aButtons);
3188  nsresult GetRelatedTarget(nsIDOMEventTarget **aRelatedTarget);
3189  nsresult InitMouseEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg,
3190  nsIDOMWindow *viewArg, int32_t detailArg, int32_t screenXArg, int32_t screenYArg,
3191  int32_t clientXArg, int32_t clientYArg, bool ctrlKeyArg, bool altKeyArg,
3192  bool shiftKeyArg, bool metaKeyArg, uint16_t buttonArg,
3193  nsIDOMEventTarget *relatedTargetArg);
3194  nsresult GetMozPressure(float *aMozPressure);
3195  nsresult GetMozInputSource(uint16_t *aMozInputSource);
3196  nsresult InitNSMouseEvent(const nsAString *typeArg, bool canBubbleArg, bool cancelableArg,
3197  nsIDOMWindow *viewArg, int32_t detailArg, int32_t screenXArg, int32_t screenYArg,
3198  int32_t clientXArg, int32_t clientYArg, bool ctrlKeyArg, bool altKeyArg, bool shiftKeyArg,
3199  bool metaKeyArg, uint16_t buttonArg, nsIDOMEventTarget *relatedTargetArg, float pressure,
3200  uint16_t inputSourceArg);
3201  nsresult GetModifierState(const nsAString *keyArg, bool *_retval);
3202 }
3203 
3204 [
3205  object,
3206  uuid(d2b3e35f-8627-4732-a92d-cda54c8f8054),
3207  local
3208 ]
3210 {
3211  nsresult GetCharCode(uint32_t *aCharCode);
3212  nsresult GetKeyCode(uint32_t *aKeyCode);
3213  nsresult GetAltKey(bool *aAltKey);
3214  nsresult GetCtrlKey(bool *aCtrlKey);
3215  nsresult GetShiftKey(bool *aShiftKey);
3216  nsresult GetMetaKey(bool *aMetaKey);
3217  nsresult InitKeyEvent(const nsAString *typeArg, bool canBubbleArg,
3218  bool cancelableArg, nsIDOMWindow *viewArg, bool ctrlKeyArg,
3219  bool altKeyArg, bool shiftKeyArg, bool metaKeyArg, uint32_t keyCodeArg,
3220  uint32_t charCodeArg);
3221  nsresult GetModifierState(const nsAString *keyArg, bool *_retval);
3222  nsresult GetLocation(uint32_t *aLocation);
3223  nsresult GetRepeat(bool *aRepeat);
3224  nsresult GetKey(nsAString *aKey);
3225 }
3226 
3227 [
3228  object,
3229  uuid(0b976267-4aaa-4f36-a2d4-27b5ca8d73bb),
3230  local
3231 ]
3233 {
3235  nsresult GetDimensions(uint32_t flags, int32_t *x, int32_t *y, int32_t *cx, int32_t *cy);
3236  nsresult SetFocus();
3237  nsresult GetVisibility(bool *aVisibility);
3238  nsresult SetVisibility(bool aVisibility);
3239  nsresult GetTitle(PRUnichar **aTitle);
3240  nsresult SetTitle(const PRUnichar *aTitle);
3241  nsresult GetSiteWindow(void **aSiteWindow);
3242  nsresult Blur();
3243 }
3244 
3245 [
3246  object,
3247  uuid(2417cbfe-65ad-48a6-b4b6-eb84db174392),
3248  local
3249 ]
3251 {
3252  nsresult AutoRegister(nsIFile *aSpec);
3253  nsresult AutoUnregister(nsIFile *aSpec);
3254  nsresult RegisterFactory(const nsCID *aClass, const char *aClassName,
3255  const char *aContractID, nsIFactory *aFactory);
3256  nsresult UnregisterFactory(const nsCID *aClass, nsIFactory *aFactory);
3257  nsresult RegisterFactoryLocation(const nsCID *aClass, const char *aClassName,
3258  const char *aContractID, nsIFile *aFile, const char *aLoaderStr,
3259  const char *aType);
3260  nsresult UnregisterFactoryLocation(const nsCID *aClass, nsIFile *aFile);
3261  nsresult IsCIDRegistered(const nsCID *aClass, bool *_retval);
3262  nsresult IsContractIDRegistered(const char *aContractID, bool *_retval);
3263  nsresult EnumerateCIDs(nsISimpleEnumerator **_retval);
3264  nsresult EnumerateContractIDs(nsISimpleEnumerator **_retval);
3265  nsresult CIDToContractID(const nsCID *aClass, char **_retval);
3266  nsresult ContractIDToCID(const char *aContractID, nsCID **_retval);
3267 }
3268 
3269 [
3270  object,
3271  uuid(1630c61a-325e-49ca-8759-a31b16c47aa5),
3272  local
3273 ]
3275 {
3276  nsresult Alert(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3277  const PRUnichar *aText);
3278  nsresult AlertCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3279  const PRUnichar *aText, const PRUnichar *aCheckMsg, bool *aCheckState);
3280  nsresult Confirm(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3281  const PRUnichar *aText, bool *_retval);
3282  nsresult ConfirmCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3283  const PRUnichar *aText, const PRUnichar *aCheckMsg, bool *aCheckState,
3284  bool *_retval);
3285  nsresult ConfirmEx(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3286  const PRUnichar *aText, uint32_t aButtonFlags, const PRUnichar *aButton0Title,
3287  const PRUnichar *aButton1Title, const PRUnichar *aButton2Title,
3288  const PRUnichar *aCheckMsg, bool *aCheckState, int32_t *_retval);
3289  nsresult Prompt(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3290  const PRUnichar *aText, PRUnichar **aValue, const PRUnichar *aCheckMsg,
3291  bool *aCheckState, bool *_retval);
3292  nsresult PromptUsernameAndPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3293  const PRUnichar *aText, PRUnichar **aUsername, PRUnichar **aPassword,
3294  const PRUnichar *aCheckMsg, bool *aCheckState, bool *_retval);
3295  nsresult PromptPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3296  const PRUnichar *aText, PRUnichar **aPassword, const PRUnichar *aCheckMsg,
3297  bool *aCheckState, bool *_retval);
3298  nsresult Select(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
3299  const PRUnichar *aText, uint32_t aCount, const PRUnichar **aSelectList,
3300  int32_t *aOutSelection, bool *_retval);
3301 }
3302 
3303 [
3304  object,
3305  uuid(b128a1e6-44f3-4331-8fbe-5af360ff21ee),
3306  local
3307 ]
3309 {
3310  nsresult GetNodeText(nsIDOMNode *aNode, PRUnichar **aText, bool *_retval);
3311 }
3312 
3313 [
3314  object,
3315  uuid(24f3f4da-18a4-448d-876d-7360fefac029),
3316  local
3317 ]
3319 {
3320  nsresult GetEditorStatus(uint32_t *aEditorStatus);
3321  nsresult MakeWindowEditable(nsIDOMWindow *window, const char *aEditorType,
3322  bool doAfterUriLoad, bool aMakeWholeDocumentEditable, bool aInteractive);
3323  nsresult WindowIsEditable(nsIDOMWindow *window, bool *_retval);
3324  nsresult GetEditorForWindow(nsIDOMWindow *window, nsIEditor **_retval);
3325  nsresult SetupEditorOnWindow(nsIDOMWindow *window);
3326  nsresult TearDownEditorOnWindow(nsIDOMWindow *window);
3327  nsresult SetEditorOnControllers(nsIDOMWindow *aWindow, nsIEditor *aEditor);
3328  nsresult DisableJSAndPlugins(nsIDOMWindow *aWindow);
3329  nsresult RestoreJSAndPlugins(nsIDOMWindow *aWindow);
3330  nsresult DetachFromWindow(nsIDOMWindow *aWindow);
3331  nsresult ReattachToWindow(nsIDOMWindow *aWindow);
3332  nsresult GetJsAndPluginsDisabled(bool *aJsAndPluginsDisabled);
3333 }
3334 
3335 [
3336  object,
3337  uuid(b1fdf3c4-74e3-4f7d-a14d-2b76bcf53482),
3338  local
3339 ]
3341 {
3342  nsresult GetValueType(const char *name, int16_t *_retval);
3343  nsresult GetBooleanValue(const char *name, bool *_retval);
3344  nsresult GetLongValue(const char *name, int32_t *_retval);
3345  nsresult GetDoubleValue(const char *name, double *_retval);
3346  nsresult GetStringValue(const char *name, nsAString *_retval);
3347  nsresult GetCStringValue(const char *name, char **_retval);
3348  nsresult GetISupportsValue(const char *name, nsISupports **_retval);
3349  nsresult SetBooleanValue(const char *name, bool value);
3350  nsresult SetLongValue(const char *name, int32_t value);
3351  nsresult SetDoubleValue(const char *name, double value);
3352  nsresult SetStringValue(const char *name, const nsAString *value);
3353  nsresult SetCStringValue(const char *name, const char *value);
3354  nsresult SetISupportsValue(const char *name, nsISupports *value);
3355  nsresult RemoveValue(const char *name);
3356 }
3357 
3358 [
3359  object,
3360  uuid(080d2001-f91e-11d4-a73c-f9242928207c),
3361  local
3362 ]
3364 {
3365  nsresult AddCommandObserver(nsIObserver *aCommandObserver, const char *aCommandToObserve);
3366  nsresult RemoveCommandObserver(nsIObserver *aCommandObserver, const char *aCommandObserved);
3367  nsresult IsCommandSupported(const char *aCommandName, nsIDOMWindow *aTargetWindow, bool *_retval);
3368  nsresult IsCommandEnabled(const char *aCommandName, nsIDOMWindow *aTargetWindow, bool *_retval);
3369  nsresult GetCommandState(const char *aCommandName, nsIDOMWindow *aTargetWindow,
3370  nsICommandParams *aCommandParams);
3371  nsresult DoCommand(const char *aCommandName, nsICommandParams *aCommandParams,
3372  nsIDOMWindow *aTargetWindow);
3373 }
3374 
3375 [
3376  object,
3377  uuid(3275b2cd-af6d-429a-80d7-f0c5120342ac),
3378  local
3379 ]
3381 {
3382  nsresult GetCategoryEntry(const char *aCategory, const char *aEntry, char **_retval);
3383  nsresult AddCategoryEntry(const char *aCategory, const char *aEntry, const char *aValue, bool aPersist,
3384  bool aReplace, char **_retval);
3385  nsresult DeleteCategoryEntry(const char *aCategory, const char *aEntry, bool aPersist);
3386  nsresult DeleteCategory(const char *aCategory);
3387  nsresult EnumerateCategory(const char *aCategory, nsISimpleEnumerator **_retval);
3388  nsresult EnumerateCategories(nsISimpleEnumerator **_retval);
3389 }
3390 
3391 [
3392  object,
3393  uuid(47b82b60-a36f-4167-8072-6f421151ed50),
3394  local
3395 ]
3397 {
3398  nsresult Init(nsIControllerCommandTable *aCommandTable);
3399  nsresult SetCommandContext(nsISupports *aCommandContext);
3400 }
3401 
3402 [
3403  object,
3404  uuid(d5b61b82-1da4-11d3-bf87-00105a1b0627),
3405  local
3406 ]
3408 {
3409  nsresult IsCommandEnabled(const char *command, bool *_retval);
3410  nsresult SupportsCommand(const char *command, bool *_retval);
3411  nsresult DoCommand(const char *command);
3412  nsresult OnEvent(const char *eventName);
3413 }
3414 
3415 [
3416  object,
3417  uuid(70f7e9ea-a9bf-48cc-ad9d-8acaeed29b68),
3418  local
3419 ]
3421 {
3422  /* This is not a real interface declaration. It's too internal for us. */
3423 }
3424 
3425 [
3426  object,
3427  uuid(0b78eabe-8b94-4ea1-9331-5d48e83ada95),
3428  local
3429 ]
3431 {
3432  /* This is not a real interface declaration. It's too internal for us. */
3433 }
3434 
3435 [
3436  object,
3437  uuid(b1ee32f2-b8c4-49b9-93df-b6fab5d54688),
3438  local
3439 ]
3441 {
3442  nsresult Init(uint32_t flags, uint32_t aWrapColumn, const char *aCharSet, bool aIsCopying,
3443  bool aIsWholeDocument);
3444  nsresult AppendText(nsIContent *aText, int32_t aStartOffset, int32_t aEndOffset, nsAString *aStr);
3445  nsresult AppendCDATASection(nsIContent *aCDATASection, int32_t aStartOffset,
3446  int32_t aEndOffset, nsAString *aStr);
3447  nsresult AppendProcessingInstruction(nsIContent *aPI, int32_t aStartOffset,
3448  int32_t aEndOffset, nsAString *aStr);
3449  nsresult AppendComment(nsIContent *aComment, int32_t aStartOffset, int32_t aEndOffset,
3450  nsAString *aStr);
3451  nsresult AppendDoctype(nsIContent *aDoctype, nsAString *aStr);
3452  nsresult AppendElementStart(nsIContent *aElement, nsIContent *aOriginalElement,
3453  nsAString *aStr);
3454  nsresult AppendElementEnd(nsIContent *aElement, nsAString *aStr);
3455  nsresult Flush(nsAString *aStr);
3456  nsresult AppendDocumentStart(nsIDocument *aDocument, nsAString *aStr);
3457 }
3458 
3459 [
3460  object,
3461  uuid(094be624-f0bf-400f-89e2-6a84baab9474),
3462  local
3463 ]
3465 {
3466  nsresult GetSelection([out] nsISelection *_retval);
3467  nsresult FinalizeSelection();
3468  nsresult Init([in] nsIDOMDocument *doc, nsIContent *aRoot, nsISelectionController *aSelCon, uint32_t aFlags, nsAString *initialValue);
3469  nsresult SetAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] const nsAString *sourceAttrValue, [in] bool aSuppressTransaction);
3470  nsresult RemoveAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] bool aSuppressTransaction);
3471  nsresult PostCreate();
3472  nsresult PreDestroy();
3473  nsresult GetFlags([out] uint32_t *_retval);
3474  nsresult SetFlags([in] uint32_t val);
3475  nsresult GetContentsMIMEType([out] char **_retval);
3476  nsresult SetContentsMIMEType([in] const char *val);
3477  nsresult GetIsDocumentEditable([out] bool *_retval);
3478  nsresult GetIsSelectionEditable(bool *aIsSelectionEditable);
3479  nsresult GetDocument([out] nsIDOMDocument **_retval);
3480  nsresult GetRootElement([out] nsIDOMElement **_retval);
3481  nsresult GetSelectionController([out] nsISelectionController **_retval);
3482  nsresult DeleteSelection(int16_t action, int16_t aStripWrappers);
3483  nsresult GetDocumentIsEmpty([out] bool *_retval);
3484  nsresult GetDocumentModified([out] bool *_retval);
3485  nsresult GetDocumentCharacterSet([out] nsACString *_retval);
3486  nsresult SetDocumentCharacterSet([in] const nsACString *val);
3487  nsresult ResetModificationCount();
3488  nsresult GetModificationCount([out] int32_t *_retval);
3489  nsresult IncrementModificationCount([in] int32_t aModCount);
3490  nsresult GetTransactionManager([out] nsITransactionManager **_retval);
3491  nsresult SetTransactionManager(nsITransactionManager *aTransactionManager);
3492  nsresult DoTransaction([in] nsITransaction *txn);
3493  nsresult EnableUndo([in] bool enable);
3494  nsresult GetNumberOfUndoItems(int32_t *aNumberOfUndoItems);
3495  nsresult GetNumberOfRedoItems(int32_t *aNumberOfRedoItems);
3496  nsresult Undo([in] uint32_t count);
3497  nsresult CanUndo([out] bool *isEnabled, [out] bool *canUndo);
3498  nsresult Redo([in] uint32_t count);
3499  nsresult CanRedo([out] bool *isEnabled, [out] bool *canRedo);
3500  nsresult BeginTransaction();
3501  nsresult EndTransaction();
3502  nsresult BeginPlaceHolderTransaction([in] nsIAtom *name);
3503  nsresult EndPlaceHolderTransaction();
3504  nsresult ShouldTxnSetSelection([out] bool *_retval);
3505  nsresult SetShouldTxnSetSelection([in] bool should);
3506  nsresult GetInlineSpellChecker([out] nsIInlineSpellChecker **_retval);
3507  nsresult SyncRealTimeSpell();
3508  nsresult SetSpellcheckUserOverride(bool enable);
3509  nsresult Cut();
3510  nsresult CanCut([out] bool *_retval);
3511  nsresult Copy();
3512  nsresult CanCopy([out] bool *_retval);
3513  nsresult CanDelete(bool *_retval);
3514  nsresult Paste([in] int32_t aSelectionType);
3515  nsresult PasteTransferable(nsITransferable *aTransferable);
3516  nsresult CanPaste([in] int32_t aSelectionType, [out] bool *_retval);
3517  nsresult CanPasteTransferable(nsITransferable *aTransferable, bool *_retval);
3518  nsresult SelectAll();
3519  nsresult BeginningOfDocument();
3520  nsresult EndOfDocument();
3521  nsresult SetAttribute([in] nsIDOMElement *aElement, [in] const nsAString *attributestr, [in] const nsAString *attvalue);
3522  nsresult GetAttributeValue([in] nsIDOMElement *aElement, [in] const nsAString *attributestr, [out] nsAString *resultValue, bool *_retval);
3523  nsresult RemoveAttribute([in] nsIDOMElement *aElement, [in] const nsAString *aAttribute);
3524  nsresult CloneAttribute([in] const nsAString *aAttribute, [in] nsIDOMNode *aDestNode, [in] nsIDOMNode *aSourceNode);
3525  nsresult CloneAttributes([in] nsIDOMNode *destNode, [in] nsIDOMNode *sourceNode);
3526  nsresult CreateNode([in] const nsAString *tag, [in] nsIDOMNode *parent, [in] int32_t position, [out] nsIDOMNode **_retval);
3527  nsresult InsertNode([in] nsIDOMNode *node, [in] nsIDOMNode *parent, [in] int32_t aPosition);
3528  nsresult SplitNode([in] nsIDOMNode *existingRightNode, [in] int32_t offset, [out] nsIDOMNode **newLeftNode);
3529  nsresult JoinNodes([in] nsIDOMNode *leftNode, [in] nsIDOMNode *rightNode, [in] nsIDOMNode *parent);
3530  nsresult DeleteNode([in] nsIDOMNode *child);
3531  bool OutputsMozDirty();
3532  nsresult MarkNodeDirty([in] nsIDOMNode *node);
3533  nsresult SwitchTextDirection();
3534  nsresult OutputToString([in] nsAString formatType, [in] uint32_t flags, [out] nsAString *_retval);
3535  nsresult OutputToStream([in] nsIOutputStream *aStream, [in] nsAString *formatType, [in] nsACString *charsetOverride, [in] uint32_t flags);
3536  nsresult AddEditorObserver(nsIEditorObserver *observer);
3537  nsresult RemoveEditorObserver(nsIEditorObserver *observer);
3538  nsresult AddEditActionListener([in] nsIEditActionListener *listener);
3539  nsresult RemoveEditActionListener([in] nsIEditActionListener *listener);
3540  nsresult AddDocumentStateListener([in] nsIDocumentStateListener *listener);
3541  nsresult RemoveDocumentStateListener([in] nsIDocumentStateListener *listener);
3542  nsresult DumpContentTree();
3543  nsresult DebugDumpContent();
3544  nsresult DebugUnitTests([out] int32_t *outNumTests, [out] int32_t *outNumTestsFailed);
3545  bool IsModifiableNode(nsIDOMNode *aNode);
3546  nsresult GetSuppressDispatchingInputEvent(bool *aSuppressDispatchingInputEvent);
3547  nsresult SetSuppressDispatchingInputEvent(bool aSuppressDispatchingInputEvent);
3548  nsresult GetIsInEditAction(bool *aIsInEditAction);
3549 }
3550 
3551 [
3552  object,
3553  uuid(87ee993e-985f-4a43-a974-0d9512da2fb0),
3554  local
3555 ]
3557 {
3558  nsresult AddDefaultProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
3559  nsresult RemoveDefaultProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
3560  nsresult RemoveAllDefaultProperties();
3561  nsresult SetInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
3562  nsresult GetInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue, [out] bool *aFirst, [out] bool *aAny, [out] bool *aAll);
3563  nsresult GetInlinePropertyWithAttrValue([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue, [out] bool *aFirst, [out] bool *aAny, [out] bool *aAll, [out] nsAString *_retval);
3564  nsresult RemoveAllInlineProperties();
3565  nsresult RemoveInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute);
3566  nsresult IncreaseFontSize();
3567  nsresult DecreaseFontSize();
3568  nsresult NodeIsBlock([in] nsIDOMNode *node, bool *_retval);
3569  nsresult InsertHTML([in] nsAString *aInputString);
3570  nsresult PasteNoFormatting([in] int32_t aSelectionType);
3571  nsresult RebuildDocumentFromSource([in] nsAString *aSourceString);
3572  nsresult InsertHTMLWithContext([in] nsAString *aInputString, [in] nsAString *aContextStr, [in] nsAString *aInfoStr, [in] nsAString *aFlavor, [in] nsIDOMDocument *aSourceDoc, [in] nsIDOMNode *aDestinationNode, [in] int32_t aDestinationOffset, [in] bool aDeleteSelection);
3573  nsresult InsertElementAtSelection([in] nsIDOMElement *aElement, [in] bool aDeleteSelection);
3574  nsresult SetDocumentTitle([in] nsAString *aTitle);
3575  nsresult UpdateBaseURL();
3576  nsresult SelectElement([in] nsIDOMElement *aElement);
3577  nsresult SetCaretAfterElement([in] nsIDOMElement *aElement);
3578  nsresult SetParagraphFormat([in] nsAString *aParagraphFormat);
3579  nsresult GetParagraphState([out] bool *aMixed, [out] nsAString *_retval);
3580  nsresult GetFontFaceState([out] bool *aMixed, [out] nsAString *_retval);
3581  nsresult GetFontColorState([out] bool *aMixed, [out] nsAString *_retval);
3582  nsresult GetBackgroundColorState([out] bool *aMixed, [out] nsAString *_retval);
3583  nsresult GetHighlightColorState([out] bool *aMixed, [out] nsAString *_retval);
3584  nsresult GetListState([out] bool *aMixed, [out] bool *aOL, [out] bool *aUL, [out] bool *aDL);
3585  nsresult GetListItemState([out] bool *aMixed, [out] bool *aLI, [out] bool *aDT, [out] bool *aDD);
3586  nsresult GetAlignment([out] bool *aMixed, [out] int16_t *aAlign);
3587  nsresult GetIndentState([out] bool *aCanIndent, [out] bool *aCanOutdent);
3588  nsresult MakeOrChangeList([in] nsAString *aListType, [in] bool entireList, [in] nsAString *aBulletType);
3589  nsresult RemoveList([in] nsAString *aListType);
3590  nsresult Indent([in] nsAString *aIndent);
3591  nsresult Align([in] nsAString *aAlign);
3592  nsresult GetElementOrParentByTagName([in] nsAString *aTagName, [in] nsIDOMNode *aNode, [out] nsIDOMElement **_retval);
3593  nsresult GetSelectedElement([in] nsAString *aTagName, [out] nsIDOMElement **_retval);
3594  nsresult GetHeadContentsAsHTML([out] nsAString *_retval);
3595  nsresult ReplaceHeadContentsWithHTML([in] nsAString *aSourceToInsert);
3596  nsresult CreateElementWithDefaults([in] nsAString *aTagName, [out] nsIDOMElement **_retval);
3597  nsresult InsertLinkAroundSelection([in] nsIDOMElement *aAnchorElement);
3598  nsresult SetBackgroundColor([in] nsAString *aColor);
3599  nsresult SetBodyAttribute([in] nsAString *aAttr, [in] nsAString *aValue);
3600  nsresult GetLinkedObjects([out] nsISupportsArray **_retval);
3601  nsresult GetIsCSSEnabled([out] bool *_retval);
3602  nsresult SetIsCSSEnabled([in] bool prb);
3603  nsresult AddInsertionListener([in] nsIContentFilter *inFilter);
3604  nsresult RemoveInsertionListener([in] nsIContentFilter *inFilter);
3605  nsresult CreateAnonymousElement([in] nsAString *aTag, [in] nsIDOMNode *aParentNode, [in] nsAString *aAnonClass, [in] bool aIsCreatedHidden, [out] nsIDOMElement **_retval);
3606  nsresult GetSelectionContainer([out] nsIDOMElement **_retval);
3607  nsresult CheckSelectionStateForAnonymousButtons([in] nsISelection *aSelection);
3608  nsresult IsAnonymousElement([in] nsIDOMElement *aElement, [out] bool *_retval);
3609  nsresult GetReturnInParagraphCreatesNewParagraph([out] bool *_retval);
3610  nsresult SetReturnInParagraphCreatesNewParagraph([in] bool prb);
3611  void /*Element*/ *GetActiveEditingHost();
3612 }
3613 
3614 [
3615  object,
3616  uuid(b8100c90-73be-11d2-92a5-00105a1b0d64),
3617  local
3618 ]
3620 {
3621  nsresult CanCutSelection(bool *_retval);
3622  nsresult CanCopySelection(bool *_retval);
3623  nsresult CanCopyLinkLocation(bool *_retval);
3624  nsresult CanCopyImageLocation(bool *_retval);
3625  nsresult CanCopyImageContents(bool *_retval);
3626  nsresult CanPaste(bool *_retval);
3627  nsresult CutSelection();
3628  nsresult CopySelection();
3629  nsresult CopyLinkLocation();
3630  nsresult CopyImageLocation();
3631  nsresult CopyImageContents();
3632  nsresult Paste();
3633  nsresult SelectAll();
3634  nsresult SelectNone();
3635 }
3636 
3637 [
3638  object,
3639  uuid(edb99640-8378-4106-8673-e701a086eb1c),
3640  local
3641 ]
3643 {
3644  nsresult GetName(nsAString *aName);
3645  nsresult SetName(const nsAString *aName);
3646  nsresult NameEquals(const PRUnichar *name, bool *_retval);
3647  nsresult GetItemType(int32_t *aItemType);
3648  nsresult SetItemType(int32_t aItemType);
3649  int32_t ItemType();
3650  nsresult GetParent(nsIDocShellTreeItem **aParent);
3651  nsresult GetSameTypeParent(nsIDocShellTreeItem **aSameTypeParent);
3652  nsresult GetRootTreeItem(nsIDocShellTreeItem **aRootTreeItem);
3653  nsresult GetSameTypeRootTreeItem(nsIDocShellTreeItem **aSameTypeRootTreeItem);
3654  nsresult FindItemWithName(const PRUnichar *name, nsISupports *aRequestor, nsIDocShellTreeItem *aOriginalRequestor,
3655  nsIDocShellTreeItem **_retval);
3656  nsresult GetTreeOwner(nsIDocShellTreeOwner **aTreeOwner);
3657  nsresult SetTreeOwner(nsIDocShellTreeOwner *treeOwner);
3658  nsresult GetChildCount(int32_t *aChildCount);
3659  nsresult AddChild(nsIDocShellTreeItem *child);
3660  nsresult RemoveChild(nsIDocShellTreeItem *child);
3661  nsresult GetChildAt(int32_t index, nsIDocShellTreeItem **_retval);
3662  nsresult FindChildWithName(const PRUnichar *aName, bool aRecurse, bool aSameType, nsIDocShellTreeItem *aRequestor,
3663  nsIDocShellTreeItem *aOriginalRequestor, nsIDocShellTreeItem **_retval);
3664  nsIDocument /* thiscall */ *GetDocument();
3665  void /* thiscall nsPIDOMWindow */ *GetWindow();
3666 }
3667 
3668 [
3669  object,
3670  uuid(702e0a92-7d63-490e-b5ee-d247e6bd4588),
3671  local
3672 ]
3674 {
3675  nsresult Init(nsIWidget *aParentWidget, const void /*nsIntRect*/ *aBounds);
3676  nsresult GetContainer(nsIDocShell **aContainer);
3677  nsresult SetContainer(nsIDocShell *aContainer);
3678  void /* thiscall */ LoadStart(nsIDocument *aDoc);
3679  nsresult LoadComplete(nsresult aStatus);
3680  nsresult PermitUnload(bool aCallerClosesWindow, bool *_retval);
3681  nsresult GetInPermitUnload(bool *aInPermitUnload);
3682  nsresult /* thiscall */ PermitUnloadInternal(bool aCallerClosesWindow, bool *aShouldPrompt, bool *_retval);
3683  nsresult GetBeforeUnloadFiring(bool *aBeforeUnloadFiring);
3684  nsresult ResetCloseWindow();
3685  nsresult PageHide(bool isUnload);
3686  nsresult Close(nsISHEntry *historyEntry);
3687  nsresult Destroy();
3688  nsresult Stop();
3689  nsresult GetDOMDocument(nsIDOMDocument **aDOMDocument);
3690  nsresult SetDOMDocument(nsIDOMDocument *aDOMDocument);
3691  void /* thiscall nsresult_(nsIDocument *) */ GetDocument();
3692  nsresult GetBounds(void /*nsIntRect*/ *aBounds);
3693  nsresult SetBounds(const void /*nsIntRect*/ *aBounds);
3694  nsresult GetPreviousViewer(nsIContentViewer **aPreviousViewer);
3695  nsresult SetPreviousViewer(nsIContentViewer *aPreviousViewer);
3696  nsresult Move(int32_t aX, int32_t aY);
3697  nsresult Show();
3698  nsresult Hide();
3699  nsresult GetSticky(bool *aSticky);
3700  nsresult SetSticky(bool aSticky);
3701  nsresult RequestWindowClose(bool *_retval);
3702  nsresult Open(nsISupports *aState, nsISHEntry *aSHEntry);
3703  nsresult ClearHistoryEntry();
3704  nsresult SetPageMode(bool aPageMode, nsIPrintSettings *aPrintSettings);
3705  nsresult GetHistoryEntry(nsISHEntry **aHistoryEntry);
3706  nsresult GetIsTabModalPromptAllowed(bool *aIsTabModalPromptAllowed);
3707  nsresult GetIsHidden(bool *aIsHidden);
3708  nsresult SetIsHidden(bool aIsHidden);
3709  nsresult GetPresShell(nsIPresShell **aPresShell);
3710  nsresult GetPresContext(void /*nsPresContext*/ **aPresContext);
3711  nsresult SetDocumentInternal(nsIDocument *aDocument, bool aForceReuseInnerWindow);
3712  void /* thiscall nsView */ *FindContainerView(void);
3713  void /* thiscall */ SetNavigationTiming(void /*nsDOMNavigationTiming*/ *aTiming);
3714  nsresult ScrollToNode(nsIDOMNode *node);
3715  nsresult GetTextZoom(float *aTextZoom);
3716  nsresult SetTextZoom(float aTextZoom);
3717  nsresult GetFullZoom(float *aFullZoom);
3718  nsresult SetFullZoom(float aFullZoom);
3719  nsresult GetAuthorStyleDisabled(bool *aAuthorStyleDisabled);
3720  nsresult SetAuthorStyleDisabled(bool aAuthorStyleDisabled);
3721  nsresult GetForceCharacterSet(nsACString *aForceCharacterSet);
3722  nsresult SetForceCharacterSet(const nsACString *aForceCharacterSet);
3723  nsresult GetHintCharacterSet(nsACString *aHintCharacterSet);
3724  nsresult SetHintCharacterSet(const nsACString *aHintCharacterSet);
3725  nsresult GetHintCharacterSetSource(int32_t *aHintCharacterSetSource);
3726  nsresult SetHintCharacterSetSource(int32_t aHintCharacterSetSource);
3727  nsresult GetContentSize(int32_t *width, int32_t *height);
3728  nsresult GetMinFontSize(int32_t *aMinFontSize);
3729  nsresult SetMinFontSize(int32_t aMinFontSize);
3730  nsresult AppendSubtree(void /*nsTArray<nsCOMPtr<nsIContentViewer> >*/ *array);
3731  nsresult ChangeMaxLineBoxWidth(int32_t maxLineBoxWidth);
3732  nsresult PausePainting();
3733  nsresult ResumePainting();
3734  nsresult EmulateMedium(const nsAString *aMediaType);
3735  nsresult StopEmulatingMedium();
3736 }
3737 
3738 [
3739  object,
3740  uuid(c63e9d64-490d-48bf-8013-b5d8ee4dbc25),
3741  local
3742 ]
3744 {
3747 
3748  nsresult GetReferrer(nsIURI **aReferrer);
3749  nsresult SetReferrer(nsIURI *aReferrer);
3750  nsresult GetOwner(nsISupports **aOwner);
3751  nsresult SetOwner(nsISupports *aOwner);
3752  nsresult GetInheritOwner(bool *aInheritOwner);
3753  nsresult SetInheritOwner(bool aInheritOwner);
3754  nsresult GetOwnerIsExplicit(bool *aOwnerIsExplicit);
3755  nsresult SetOwnerIsExplicit(bool aOwnerIsExplicit);
3756  nsresult GetLoadType(nsDocShellInfoLoadType *aLoadType);
3757  nsresult SetLoadType(nsDocShellInfoLoadType aLoadType);
3758  nsresult GetSHEntry(nsISHEntry **aSHEntry);
3759  nsresult SetSHEntry(nsISHEntry *aSHEntry);
3760  nsresult GetTarget(char16_t **aTarget);
3761  nsresult SetTarget(const char16_t * aTarget);
3762  nsresult GetPostDataStream(nsIInputStream **aPostDataStream);
3763  nsresult SetPostDataStream(nsIInputStream *aPostDataStream);
3764  nsresult GetHeadersStream(nsIInputStream * *aHeadersStream);
3765  nsresult SetHeadersStream(nsIInputStream *aHeadersStream);
3766  nsresult GetSendReferrer(bool *aSendReferrer);
3767  nsresult SetSendReferrer(bool aSendReferrer);
3768  nsresult GetReferrerPolicy(nsDocShellInfoReferrerPolicy *aReferrerPolicy);
3769  nsresult SetReferrerPolicy(nsDocShellInfoReferrerPolicy aReferrerPolicy);
3770  nsresult GetIsSrcdocLoad(bool *aIsSrcdocLoad);
3771  nsresult GetSrcdocData(nsAString *aSrcdocData);
3772  nsresult SetSrcdocData(const nsAString *aSrcdocData);
3773  nsresult GetSourceDocShell(nsIDocShell * *aSourceDocShell);
3774  nsresult SetSourceDocShell(nsIDocShell *aSourceDocShell);
3775  nsresult GetBaseURI(nsIURI **aBaseURI);
3776  nsresult SetBaseURI(nsIURI *aBaseURI);
3777 }
3778 
3779 [
3780  object,
3781  uuid(696b32a1-3cf1-4909-b501-474b25fc7954),
3782  local
3783 ]
3785 {
3786  nsresult LoadURI(nsIURI *uri, nsIDocShellLoadInfo *loadInfo, uint32_t aLoadFlags, bool firstParty);
3787  nsresult LoadStream(nsIInputStream *aStream, nsIURI *aURI, const nsACString *aContentType,
3788  const nsACString *aContentCharset, nsIDocShellLoadInfo *aLoadInfo);
3789  nsresult InternalLoad(nsIURI *aURI, nsIURI *aReferrer, uint32_t aReferrerPolicy, nsISupports *aOwner,
3790  uint32_t aFlags, const PRUnichar *aWindowTarget, const char *aTypeHint, nsACString *aFileName,
3791  nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, uint32_t aLoadFlags,
3792  nsISHEntry *aSHEntry, bool firstParty, const nsAString *aSrcdoc, nsIDocShell *aSourceDocShell,
3793  nsIURI *aBaseURI, nsIDocShell **aDocShell, nsIRequest **aRequest);
3794  nsresult AddState(jsval *aData, const nsAString *aTitle, const nsAString *aURL, bool aReplace, JSContext *cx);
3795  nsresult CreateLoadInfo(nsIDocShellLoadInfo **loadInfo);
3796  nsresult PrepareForNewContentModel();
3797  nsresult SetCurrentURI(nsIURI *aURI);
3798  nsresult FirePageHideNotification(bool isUnload);
3799  nsresult GetPresContext(void /*nsPresContext*/ **aPresContext);
3800  nsIPresShell *GetPresShell();
3801  nsresult GetEldestPresShell(nsIPresShell **aEldestPresShell);
3802  nsresult GetContentViewer(nsIContentViewer **aContentViewer);
3803  nsresult GetChromeEventHandler(nsIDOMEventTarget **aChromeEventHandler);
3804  nsresult SetChromeEventHandler(nsIDOMEventTarget *aChromeEventHandler);
3805  nsresult GetAllowPlugins(bool *aAllowPlugins);
3806  nsresult SetAllowPlugins(bool aAllowPlugins);
3807  nsresult GetAllowJavascript(bool *aAllowJavascript);
3808  nsresult SetAllowJavascript(bool aAllowJavascript);
3809  nsresult GetDisableNoScript(bool *aDisableNoScript);
3810  nsresult SetDisableNoScript(bool aDisableNoScript);
3811  nsresult GetAllowMetaRedirects(bool *aAllowMetaRedirects);
3812  nsresult SetAllowMetaRedirects(bool aAllowMetaRedirects);
3813  nsresult GetAllowSubframes(bool *aAllowSubframes);
3814  nsresult SetAllowSubframes(bool aAllowSubframes);
3815  nsresult GetAllowImages(bool *aAllowImages);
3816  nsresult SetAllowImages(bool aAllowImages);
3817  nsresult GetAllowMedia(bool *aAllowMedia);
3818  nsresult SetAllowMedia(bool aAllowMedia);
3819  nsresult GetAllowDNSPrefetch(bool *aAllowDNSPrefetch);
3820  nsresult SetAllowDNSPrefetch(bool aAllowDNSPrefetch);
3821  nsresult GetAllowWindowControl(bool *aAllowWindowControl);
3822  nsresult SetAllowWindowControl(bool aAllowWindowControl);
3823  nsresult GetAllowContentRetargeting(bool *aAllowContentRetargeting);
3824  nsresult SetAllowContentRetargeting(bool aAllowContentRetargeting);
3825  nsresult GetAllowContentRetargetingOnChildren(bool *aAllowContentRetargetingOnChildren);
3826  nsresult SetAllowContentRetargetingOnChildren(bool aAllowContentRetargetingOnChildren);
3827  nsresult GetDocShellEnumerator(int32_t aItemType, int32_t aDirection, nsISimpleEnumerator **_retval);
3828  nsresult GetAppType(uint32_t *aAppType);
3829  nsresult SetAppType(uint32_t aAppType);
3830  nsresult GetAllowAuth(bool *aAllowAuth);
3831  nsresult SetAllowAuth(bool aAllowAuth);
3832  nsresult GetZoom(float *aZoom);
3833  nsresult SetZoom(float aZoom);
3834  nsresult GetMarginWidth(int32_t *aMarginWidth);
3835  nsresult SetMarginWidth(int32_t aMarginWidth);
3836  nsresult GetMarginHeight(int32_t *aMarginHeight);
3837  nsresult SetMarginHeight(int32_t aMarginHeight);
3838  nsresult TabToTreeOwner(bool forward, bool *tookFocus);
3839  nsresult GetBusyFlags(uint32_t *aBusyFlags);
3840  nsresult GetLoadType(uint32_t *aLoadType);
3841  nsresult SetLoadType(uint32_t aLoadType);
3842  nsresult GetDefaultLoadFlags(nsLoadFlags *aDefaultLoadFlags);
3843  nsresult