sync with trunk r46493
[reactos.git] / dll / win32 / mshtml / nsiface.idl
1 /*
2 * Copyright 2005-2007 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 cpp_quote("#define GECKO_VERSION \"1.0.0\"")
27 cpp_quote("#define GECKO_VERSION_STRING \"Wine Gecko \" GECKO_VERSION")
28
29 import "wtypes.idl";
30
31 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
32 cpp_quote("#undef GetForm")
33 cpp_quote("#undef SetPort")
34 cpp_quote("#endif")
35
36 typedef HRESULT nsresult;
37 typedef ULONG nsrefcnt;
38
39 typedef IID nsID;
40 typedef IID nsIID;
41 typedef nsIID nsCID;
42 typedef REFIID nsIIDRef;
43 typedef nsIIDRef nsCIDRef;
44
45 typedef void** nsQIResult;
46 typedef WCHAR PRUnichar;
47 typedef ULONG PRUint32;
48 typedef LONG PRInt32;
49 typedef WORD PRUint16;
50 typedef INT16 PRInt16;
51 typedef BYTE PRUint8;
52 typedef BOOL PRBool;
53 typedef LARGE_INTEGER PRInt64;
54 typedef ULARGE_INTEGER PRUint64;
55 typedef PRUint64 DOMTimeStamp;
56 typedef PRUint32 nsLoadFlags;
57
58 typedef struct {
59 void *v;
60 void *d1;
61 PRUint32 d2;
62 void *d3;
63 } nsCStringContainer;
64
65 typedef struct {
66 void *v;
67 void *d1;
68 PRUint32 d2;
69 void *d3;
70 } nsStringContainer;
71
72 typedef nsCStringContainer nsACString;
73 typedef nsStringContainer nsAString;
74
75 interface nsIWebBrowserChrome;
76 interface nsILoadGroup;
77 interface nsIDOMNode;
78 interface nsIDOMDocument;
79 interface nsIDOMEvent;
80 interface nsIEditor;
81 interface nsISelectionController;
82 interface nsITransactionManager;
83 interface nsITransaction;
84 interface nsIInlineSpellChecker;
85 interface nsIOutputStream;
86 interface nsIEditorObserver;
87 interface nsIEditActionListener;
88 interface nsIDocumentStateListener;
89 interface nsIDOMCSSStyleSheet;
90 interface nsIDOMDocumentView;
91 interface nsIDocumentObserver;
92 interface nsIDOMWindow;
93
94 interface IMoniker;
95
96 [
97 object,
98 uuid(00000000-0000-0000-c000-000000000046),
99 local
100 ]
101 interface nsISupports
102 {
103 nsresult QueryInterface(nsIIDRef riid, nsQIResult result);
104 nsrefcnt AddRef();
105 nsrefcnt Release();
106 }
107
108 /* Currently we don't need a full declaration of these interfaces */
109 typedef nsISupports nsISHistory;
110 typedef nsISupports nsIWidget;
111 typedef nsISupports nsIHttpHeaderVisitor;
112 typedef nsISupports nsIDOMBarProp;
113 typedef nsISupports nsIPrompt;
114 typedef nsISupports nsIAuthPrompt;
115 typedef nsISupports nsIDOMNamedNodeMap;
116 typedef nsISupports nsIDOMAttr;
117 typedef nsISupports nsIDOMDocumentType;
118 typedef nsISupports nsIDOMDOMImplementation;
119 typedef nsISupports nsIDOMCDATASection;
120 typedef nsISupports nsIDOMProcessingInstruction;
121 typedef nsISupports nsIDOMEntityReference;
122 typedef nsISupports nsIDOMHTMLOptionsCollection;
123 typedef nsISupports nsIWebProgressListener;
124 typedef nsISupports nsIDOMCSSValue;
125 typedef nsISupports nsIPrintSession;
126 typedef nsISupports nsIControllerCommandTable;
127 typedef nsISupports nsIPrincipal;
128 typedef nsISupports nsIAtom;
129 typedef nsISupports nsISupportsArray;
130 typedef nsISupports nsIContentFilter;
131 typedef nsISupports nsIDOMMediaList;
132 typedef nsISupports nsIDOMHTMLTableCaptionElement;
133 typedef nsISupports nsIDOMHTMLTableSectionElement;
134 typedef nsISupports nsIDOMClientRectList;
135 typedef nsISupports nsIDOMClientRect;
136 typedef nsISupports nsIDOMLocation;
137 typedef nsISupports nsIDocument;
138 typedef nsISupports nsIContent;
139 typedef nsISupports nsINode;
140 typedef nsISupports nsIStyleSheet;
141 typedef nsISupports nsIStyleRule;
142 typedef nsISupports nsIVariant;
143 typedef nsISupports nsIDOMUserDataHandler;
144 typedef nsISupports nsIDocShellLoadInfo;
145 typedef nsISupports nsISHEntry;
146 typedef nsISupports nsIPresShell;
147 typedef nsISupports nsIContentViewer;
148 typedef nsISupports nsIDocumentCharsetInfo;
149 typedef nsISupports nsILayoutHistoryState;
150 typedef nsISupports nsISecureBrowserUI;
151 typedef nsISupports nsIDOMStorage;
152
153 [
154 object,
155 uuid(8bb35ed9-e332-462d-9155-4a002ab5c958),
156 local
157 /* FROZEN */
158 ]
159 interface nsIServiceManager : nsISupports
160 {
161 nsresult GetService(nsCIDRef aClass, nsIIDRef aIID, void **result);
162 nsresult GetServiceByContractID(const char *aContractID, nsIIDRef aIID, void **result);
163 nsresult IsServiceInstantiated(nsCIDRef aClass, nsIIDRef aIID, BOOL *_retval);
164 nsresult IsServiceInstantiatedByContractID(const char *aContractID, nsIIDRef aIID, BOOL *_retval);
165 }
166
167 [
168 object,
169 uuid(00000001-0000-0000-c000-000000000046),
170 local
171 /* FROZEN */
172 ]
173 interface nsIFactory : nsISupports
174 {
175 nsresult CreateInstance(nsISupports *aOuter, const nsIID *iid, void **result);
176 nsresult LockFactory(PRBool lock);
177 }
178
179 [
180 object,
181 uuid(db242e01-e4d9-11d2-9dde-000064657374),
182 local
183 /* FROZEN */
184 ]
185 interface nsIObserver : nsISupports
186 {
187 nsresult Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData);
188 }
189
190 [
191 object,
192 uuid(a88e5a60-205a-4bb1-94e1-2628daf51eae),
193 local
194 /* FROZEN */
195 ]
196 interface nsIComponentManager : nsISupports
197 {
198 nsresult GetClassObject(nsCIDRef aClass, nsIIDRef aIID, nsQIResult result);
199 nsresult GetClassObjectByContractID(const char *aContractID, nsIIDRef aIID, nsQIResult result);
200 nsresult CreateInstance(nsCIDRef aClass, nsISupports *aDelegate, nsIIDRef aIID,
201 nsQIResult result);
202 nsresult CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate,
203 nsIIDRef aIID, nsQIResult result);
204 }
205
206 [
207 object,
208 uuid(59e7e77a-38e4-11d4-8cf5-0060b0fc14a3),
209 local
210 /* FROZEN */
211 ]
212 interface nsIMemory : nsISupports
213 {
214 void *Alloc(/*size_t*/ int size);
215 void *Realloc(void *_ptr, /*size_t*/ int newSize);
216 void Free(void *_ptr);
217 nsresult HeapMinimize(PRBool immediate);
218 nsresult IsLowMemory(PRBool *_retval);
219 }
220
221 [
222 object,
223 uuid(9188bc85-f92e-11d2-81ef-0060083a0bcf),
224 local
225 /* FROZEN */
226 ]
227 interface nsIWeakReference : nsISupports
228 {
229 nsresult QueryReferent(const nsIID *riid, void **result);
230 }
231
232 [
233 object,
234 uuid(9188bc86-f92e-11d2-81ef-0060083a0bcf),
235 local
236 /* FROZEN */
237 ]
238 interface nsISupportsWeakReference : nsISupports
239 {
240 nsresult GetWeakReference(nsIWeakReference **_retval);
241 }
242
243 [
244 object,
245 uuid(033a1470-8b2a-11d3-af88-00a024ffc08c),
246 local
247 /* FROZEN */
248 ]
249 interface nsIInterfaceRequestor : nsISupports
250 {
251 nsresult GetInterface(const nsIID *riid, void **result);
252 }
253
254 [
255 object,
256 uuid(4a2abaf0-6886-11d3-9382-00104ba0fd40),
257 local
258 /* NOT_FROZEN */
259 ]
260 interface nsIRunnable : nsISupports
261 {
262 nsresult Run();
263 }
264
265 [
266 object,
267 uuid(d1899240-f9d2-11d2-bdd6-000064657374),
268 local
269 /* FROZEN */
270 ]
271 interface nsISimpleEnumerator : nsISupports
272 {
273 nsresult HasMoreElements(PRBool *_retval);
274 nsresult GetNext(nsISupports **_retval);
275 }
276
277 [
278 object,
279 uuid(fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a),
280 local
281 /* FROZEN */
282 ]
283 interface nsIInputStream : nsISupports
284 {
285 nsresult Close();
286 nsresult Available(PRUint32 *_retval);
287 nsresult Read(char *aBuf, PRUint32 aCount, PRUint32 *_retval);
288 nsresult ReadSegments(nsresult (*aWriter)(nsIInputStream *aInStream,
289 void *aClosure, const char *aFromSegment, PRUint32 aToOffset,
290 PRUint32 aCount, PRUint32 *aWriteCount),
291 void *aClosure, PRUint32 aCount, PRUint32 *_retval);
292 nsresult IsNonBlocking(PRBool *_retval);
293 }
294
295 [
296 object,
297 uuid(07a22cc0-0ce5-11d3-9331-00104ba0fd40),
298 local
299 /* FROZEN */
300 ]
301 interface nsIURI : nsISupports
302 {
303 nsresult GetSpec(nsACString *aSpec);
304 nsresult SetSpec(const nsACString *aSpec);
305 nsresult GetPrePath(nsACString *aPrePath);
306 nsresult GetScheme(nsACString *aScheme);
307 nsresult SetScheme(const nsACString *aScheme);
308 nsresult GetUserPass(nsACString *aUserPass);
309 nsresult SetUserPass(const nsACString *aUserPass);
310 nsresult GetUsername(nsACString *aUsername);
311 nsresult SetUsername(const nsACString *aUsername);
312 nsresult GetPassword(nsACString *aPassword);
313 nsresult SetPassword(const nsACString *aPassword);
314 nsresult GetHostPort(nsACString *aHostPort);
315 nsresult SetHostPort(const nsACString *aHostPort);
316 nsresult GetHost(nsACString *aHost);
317 nsresult SetHost(const nsACString *aHost);
318 nsresult GetPort(PRInt32 *aPort);
319 nsresult SetPort(PRInt32 aPort);
320 nsresult GetPath(nsACString *aPath);
321 nsresult SetPath(const nsACString *aPath);
322 nsresult Equals(nsIURI *other, PRBool *_retval);
323 nsresult SchemeIs(const char *scheme, PRBool *_retval);
324 nsresult Clone(nsIURI **_retval);
325 nsresult Resolve(const nsACString *relativePath, nsACString *_retval);
326 nsresult GetAsciiSpec(nsACString *aAsciiSpec);
327 nsresult GetAsciiHost(nsACString *aAsciiHost);
328 nsresult GetOriginCharset(nsACString *aOriginCharset);
329 }
330
331 [
332 object,
333 uuid(d6116970-8034-11d3-9399-00104ba0fd40),
334 local
335 /* FROZEN */
336 ]
337 interface nsIURL : nsIURI
338 {
339 nsresult GetFilePath(nsACString *aFilePath);
340 nsresult SetFilePath(const nsACString *aFilePath);
341 nsresult GetParam(nsACString *aParam);
342 nsresult SetParam(const nsACString *aParam);
343 nsresult GetQuery(nsACString *aQuery);
344 nsresult SetQuery(const nsACString *aQuery);
345 nsresult GetRef(nsACString *aRef);
346 nsresult SetRef(const nsACString *aRef);
347 nsresult GetDirectory(nsACString *aDirectory);
348 nsresult SetDirectory(const nsACString *aDirectory);
349 nsresult GetFileName(nsACString *aFileName);
350 nsresult SetFileName(const nsACString *aFileName);
351 nsresult GetFileBaseName(nsACString *aFileBaseName);
352 nsresult SetFileBaseName(const nsACString *aFileBaseName);
353 nsresult GetFileExtension(nsACString *aFileExtension);
354 nsresult SetFileExtension(const nsACString *aFileExtension);
355 nsresult GetCommonBaseSpec(nsIURI *aURIToCompare, nsACString *_retval);
356 nsresult GetRelativeSpec(nsIURI *aURIToCompare, nsACString *_retval);
357 }
358
359 [
360 object,
361 uuid(ef6bfbd2-fd46-48d8-96b7-9f8f0fd387fe),
362 local
363 /* FROZEN */
364 ]
365 interface nsIRequest : nsISupports
366 {
367 nsresult GetName(nsACString *aName);
368 nsresult IsPending(PRBool *_retval);
369 nsresult GetStatus(nsresult *aStatus);
370 nsresult Cancel(nsresult aStatus);
371 nsresult Suspend();
372 nsresult Resume();
373 nsresult GetLoadGroup(nsILoadGroup **aLoadGroup);
374 nsresult SetLoadGroup(nsILoadGroup *aLoadGroup);
375 nsresult GetLoadFlags(nsLoadFlags *aLoadFlags);
376 nsresult SetLoadFlags(nsLoadFlags aLoadFlags);
377 }
378
379 [
380 object,
381 uuid(fd91e2e0-1481-11d3-9333-00104ba0fd40),
382 local
383 /* FROZEN */
384 ]
385 interface nsIRequestObserver : nsISupports
386 {
387 nsresult OnStartRequest(nsIRequest *aRequest, nsISupports *aContext);
388 nsresult OnStopRequest(nsIRequest *aRequest, nsISupports *aContext, nsresult aStatusCode);
389 }
390
391 [
392 object,
393 uuid(1a637020-1482-11d3-9333-00104ba0fd40),
394 local
395 /* FROZEN */
396 ]
397 interface nsIStreamListener : nsIRequestObserver
398 {
399 nsresult OnDataAvailable(nsIRequest *aRequest, nsISupports *aContext,
400 nsIInputStream *aInputStream, PRUint32 aOffset, PRUint32 aCount);
401 }
402
403 [
404 object,
405 uuid(3de0a31c-feaf-400f-9f1e-4ef71f8b20cc),
406 local
407 /* FROZEN */
408 ]
409 interface nsILoadGroup : nsIRequest
410 {
411 nsresult GetGroupObserver(nsIRequestObserver **aGroupObserver);
412 nsresult SetGroupObserver(nsIRequestObserver *aGroupObserver);
413 nsresult GetDefaultLoadRequest(nsIRequest **aDefaultLoadRequest);
414 nsresult SetDefaultLoadRequest(nsIRequest *aDefaultLoadRequest);
415 nsresult AddRequest(nsIRequest *aRequest, nsISupports *aContext);
416 nsresult RemoveRequest(nsIRequest *aRequest, nsISupports *aContext, nsresult aStatus);
417 nsresult GetRequests(nsISimpleEnumerator **aRequests);
418 nsresult GetActiveCount(PRUint32 *aActiveCount);
419 nsresult GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks);
420 nsresult SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks);
421 }
422
423 [
424 object,
425 uuid(c63a055a-a676-4e71-bf3c-6cfa11082018),
426 local
427 /* FROZEN */
428 ]
429 interface nsIChannel : nsIRequest
430 {
431 nsresult GetOriginalURI(nsIURI **aOriginalURI);
432 nsresult SetOriginalURI(nsIURI *aOriginalURI);
433 nsresult GetURI(nsIURI **aURI);
434 nsresult GetOwner(nsISupports **aOwner);
435 nsresult SetOwner(nsISupports *aOwner);
436 nsresult GetNotificationCallbacks(nsIInterfaceRequestor **aNotificationCallbacks);
437 nsresult SetNotificationCallbacks(nsIInterfaceRequestor *aNotificationCallbacks);
438 nsresult GetSecurityInfo(nsISupports **aSecurityInfo);
439 nsresult GetContentType(nsACString *aContentType);
440 nsresult SetContentType(const nsACString *aContentType);
441 nsresult GetContentCharset(nsACString *aContentCharset);
442 nsresult SetContentCharset(const nsACString *aContentCharset);
443 nsresult GetContentLength(PRInt32 *aContentLength);
444 nsresult SetContentLength(PRInt32 aContentLength);
445 nsresult Open(nsIInputStream **_retval);
446 nsresult AsyncOpen(nsIStreamListener *aListener, nsISupports *aContext);
447 }
448
449 [
450 object,
451 uuid(9277fe09-f0cc-4cd9-bbce-581dd94b0260),
452 local
453 /* FROZEN */
454 ]
455 interface nsIHttpChannel : nsIChannel
456 {
457 nsresult GetRequestMethod(nsACString *aRequestMethod);
458 nsresult SetRequestMethod(const nsACString *aRequestMethod);
459 nsresult GetReferrer(nsIURI **aReferrer);
460 nsresult SetReferrer(nsIURI *aReferrer);
461 nsresult GetRequestHeader(const nsACString *aHeader, nsACString *_retval);
462 nsresult SetRequestHeader(const nsACString *aHeader, const nsACString *aValue, PRBool aMerge);
463 nsresult VisitRequestHeaders(nsIHttpHeaderVisitor *aVisitor);
464 nsresult GetAllowPipelining(PRBool *aAllowPipelining);
465 nsresult SetAllowPipelining(PRBool aAllowPipelining);
466 nsresult GetRedirectionLimit(PRUint32 *aRedirectionLimit);
467 nsresult SetRedirectionLimit(PRUint32 aRedirectionLimit);
468 nsresult GetResponseStatus(PRUint32 *aResponseStatus);
469 nsresult GetResponseStatusText(nsACString *aResponseStatusText);
470 nsresult GetRequestSucceeded(PRBool *aRequestSucceeded);
471 nsresult GetResponseHeader(const nsACString *header, nsACString *_retval);
472 nsresult SetResponseHeader(const nsACString *header, const nsACString *value, PRBool merge);
473 nsresult VisitResponseHeaders(nsIHttpHeaderVisitor *aVisitor);
474 nsresult IsNoStoreResponse(PRBool *_retval);
475 nsresult IsNoCacheResponse(PRBool *_retval);
476 }
477
478 [
479 object,
480 uuid(0eb66361-faaa-4e52-8c7e-6c25f11f8e3c),
481 local
482 /* NOT_FROZEN */
483 ]
484 interface nsIHttpChannelInternal : nsISupports
485 {
486 nsresult GetDocumentURI(nsIURI **aDocumentURI);
487 nsresult SetDocumentURI(nsIURI *aDocumentURI);
488 nsresult GetRequestVersion(PRUint32 *major, PRUint32 *minor);
489 nsresult GetResponseVersion(PRUint32 *major, PRUint32 *minor);
490 nsresult SetCookie(const char *aCookieHeader);
491 nsresult SetupFallbackChannel(const char *aFallbackKey);
492 nsresult GetForceAllowThirdPartyCookie(PRBool *aForceAllowThirdPartyCookie);
493 nsresult SetForceAllowThirdPartyCookie(PRBool aForceAllowThirdPartyCookie);
494 }
495
496 [
497 object,
498 uuid(ddf633d8-e9a4-439d-ad88-de636fd9bb75),
499 local
500 /* FROZEN */
501 ]
502 interface nsIUploadChannel : nsISupports
503 {
504 nsresult SetUploadStream(nsIInputStream *aStream, const nsACString *aContentType,
505 PRInt32 aContentLength);
506 nsresult GetUploadStream(nsIInputStream **aUploadStream);
507 }
508
509 [
510 object,
511 uuid(a6cf90c1-15b3-11d2-932e-00805f8add32),
512 local
513 /* FROZEN */
514 ]
515 interface nsIDOMCSSRule : nsISupports
516 {
517 nsresult GetType(PRUint16 *aType);
518 nsresult GetCssText(nsAString *aCssText);
519 nsresult SetCssText(const nsAString *aCssText);
520 nsresult GetParentStyleSheet(nsIDOMCSSStyleSheet **aParentStyleSheet);
521 nsresult GetParentRule(nsIDOMCSSRule **aParentRule);
522 }
523
524 [
525 object,
526 uuid(a6cf90be-15b3-11d2-932e-00805f8add32),
527 local
528 /* FROZEN */
529 ]
530 interface nsIDOMCSSStyleDeclaration : nsISupports
531 {
532 nsresult GetCssText(nsAString *aCssText);
533 nsresult SetCssText(const nsAString *aCssText);
534 nsresult GetPropertyValue(const nsAString *propertyName, nsAString *_retval);
535 nsresult GetPropertyCSSValue(const nsAString *propertyName, nsIDOMCSSValue **_retval);
536 nsresult RemoveProperty(const nsAString *propertyName, nsAString *_retval);
537 nsresult GetPropertyPriority(const nsAString *propertyName, nsAString *_retval);
538 nsresult SetProperty(const nsAString *propertyName, const nsAString *value,
539 const nsAString *priority);
540 nsresult GetLength(PRUint32 *aLength);
541 nsresult Item(PRUint32 index, nsAString *_retval);
542 nsresult GetParentRule(nsIDOMCSSRule **aParentRule);
543 }
544
545 [
546 object,
547 uuid(a6cf90c0-15b3-11d2-932e-00805f8add32),
548 local
549 /* FROZEN */
550 ]
551 interface nsIDOMCSSRuleList : nsISupports
552 {
553 nsresult GetLength(PRUint32 *aLength);
554 nsresult Item(PRUint32 index, nsIDOMCSSRule **_retval);
555 }
556
557 [
558 object,
559 uuid(a6cf9080-15b3-11d2-932e-00805f8add32),
560 local
561 /* FROZEN */
562 ]
563 interface nsIDOMStyleSheet : nsISupports
564 {
565 nsresult GetType(nsAString *aType);
566 nsresult GetDisabled(PRBool *aDisabled);
567 nsresult SetDisabled(PRBool aDisabled);
568 nsresult GetOwnerNode(nsIDOMNode **aOwnerNode);
569 nsresult GetParentStyleSheet(nsIDOMStyleSheet **aParentStyleSheet);
570 nsresult GetHref(nsAString *aHref);
571 nsresult GetTitle(nsAString *aTitle);
572 nsresult GetMedia(nsIDOMMediaList **aMedia);
573 }
574
575 [
576 object,
577 uuid(a6cf90c2-15b3-11d2-932e-00805f8add32),
578 local
579 /* FROZEN */
580 ]
581 interface nsIDOMCSSStyleSheet : nsIDOMStyleSheet
582 {
583 nsresult GetOwnerRule(nsIDOMCSSRule **aOwnerRule);
584 nsresult GetCssRules(nsIDOMCSSRuleList **aCssRules);
585 nsresult InsertRule(const nsAString *rule, PRUint32 index, PRUint32 *_retval);
586 nsresult DeleteRule(PRUint32 index);
587 }
588
589 [
590 object,
591 uuid(a6cf9081-15b3-11d2-932e-00805f8add32),
592 local
593 /* FROZEN */
594 ]
595 interface nsIDOMStyleSheetList : nsISupports
596 {
597 nsresult GetLength(PRUint32 *aLength);
598 nsresult Item(PRUint32 index, nsIDOMStyleSheet **_retval);
599 }
600
601 [
602 object,
603 uuid(a6cf907d-15b3-11d2-932e-00805f8add32),
604 local
605 /* FROZEN */
606 ]
607 interface nsIDOMNodeList : nsISupports
608 {
609 nsresult Item(PRUint32 index, nsIDOMNode **_retval);
610 nsresult GetLength(PRUint32 *aLength);
611 }
612
613 [
614 object,
615 uuid(29fb2a18-1dd2-11b2-8dd9-a6fd5d5ad12f),
616 local
617 /* NOT_FROZEN */
618 ]
619 interface nsIDOM3Node : nsISupports
620 {
621 enum NSDOCPOSITION {
622 DISCONNECTED = 1,
623 PRECEDING = 2,
624 FOLLOWING = 4,
625 CONTAINS = 8,
626 CONTAINED_BY = 16,
627 IMPLEMENTATION_SPECIFIC = 32
628 };
629
630 nsresult GetBaseURI(nsAString *aBaseURI);
631 nsresult CompareDocumentPosition(nsIDOMNode *other, PRUint16 *_retval);
632 nsresult GetTextContent(nsAString *aTextContent);
633 nsresult SetTextContent(const nsAString *aTextContent);
634 nsresult IsSameNode(nsIDOMNode *other, PRBool *_retval);
635 nsresult LookupPrefix(const nsAString *namespaceURI, PRBool *_retval);
636 nsresult IsDefaultNamespace(const nsAString *namespaceURI, PRBool *_retval);
637 nsresult LookupNamespaceURI(const nsAString *prefix, nsAString _retval);
638 nsresult IsEqualNode(nsIDOMNode *arg, PRBool *_retval);
639 nsresult GetFeature(const nsAString *feature, const nsAString *version, nsISupports **_retval);
640 nsresult SetUserData(const nsAString *key, nsIVariant *data, nsIDOMUserDataHandler *handler, nsIVariant **_retval);
641 nsresult GetUserData(const nsAString *key, nsIVariant **_retval);
642 }
643
644 [
645 object,
646 uuid(a6cf907c-15b3-11d2-932e-00805f8add32),
647 local
648 /* FROZEN */
649 ]
650 interface nsIDOMNode : nsISupports
651 {
652 enum NSNODETYPE {
653 ELEMENT_NODE = 1,
654 ATTRIBUTE_NODE = 2,
655 TEXT_NODE = 3,
656 CDATA_SELECTION_NODE = 4,
657 ENTITY_REFERENCE_NODE = 5,
658 ENTITY_NODE = 6,
659 PROCESSING_INSTRUCTION_NODE = 7,
660 COMMENT_NODE = 8,
661 DOCUMENT_NODE = 9,
662 DOCUMENT_TYPE_NODE = 10,
663 DOCUMENT_FRAGMENT_NODE = 11,
664 NOTATION_NODE = 12
665 };
666
667 nsresult GetNodeName(nsAString *aNodeName);
668 nsresult GetNodeValue(nsAString *aNodeValue);
669 nsresult SetNodeValue(const nsAString *aNodeValue);
670 nsresult GetNodeType(PRUint16 *aNodeType);
671 nsresult GetParentNode(nsIDOMNode **aParentNode);
672 nsresult GetChildNodes(nsIDOMNodeList **aChildNodes);
673 nsresult GetFirstChild(nsIDOMNode **aFirstChild);
674 nsresult GetLastChild(nsIDOMNode **aLastChild);
675 nsresult GetPreviousSibling(nsIDOMNode **aPreviousSibling);
676 nsresult GetNextSibling(nsIDOMNode **aNextSibling);
677 nsresult GetAttributes(nsIDOMNamedNodeMap **aAttributes);
678 nsresult GetOwnerDocument(nsIDOMDocument **aOwnerDocument);
679 nsresult InsertBefore(nsIDOMNode *newChild, nsIDOMNode *refChild, nsIDOMNode **_retval);
680 nsresult ReplaceChild(nsIDOMNode *newChild, nsIDOMNode *oldChild, nsIDOMNode **_retval);
681 nsresult RemoveChild(nsIDOMNode *oldChild, nsIDOMNode **_retval);
682 nsresult AppendChild(nsIDOMNode *newChild, nsIDOMNode **_retval);
683 nsresult HasChildNodes(PRBool *_retval);
684 nsresult CloneNode(PRBool deep, nsIDOMNode **_retval);
685 nsresult Normalize();
686 nsresult IsSupported(const nsAString *feature, const nsAString *version, PRBool *_retval);
687 nsresult GetNamespaceURI(nsAString *aNamespaceURI);
688 nsresult GetPrefix(nsAString *aPrefix);
689 nsresult SetPrefix(const nsAString *aPrefix);
690 nsresult GetLocalName(nsAString *aLocalName);
691 nsresult HasAttributes(PRBool *_retval);
692 }
693
694 [
695 object,
696 uuid(a6cf9078-15b3-11d2-932e-00805f8add32),
697 local
698 /* FROZEN */
699 ]
700 interface nsIDOMElement : nsIDOMNode
701 {
702 nsresult GetTagName(nsAString *aTagName);
703 nsresult GetAttribute(const nsAString *name, nsAString *_retval);
704 nsresult SetAttribute(const nsAString *name, const nsAString *value);
705 nsresult RemoveAttribute(const nsAString *name);
706 nsresult GetAttributeNode(const nsAString *name, nsIDOMAttr **_retval);
707 nsresult SetAttributeNode(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
708 nsresult RemoveAttributeNode(nsIDOMAttr *oldAttr, nsIDOMAttr **_retval);
709 nsresult GetElementsByTagName(const nsAString *name, nsIDOMNodeList **_retval);
710 nsresult GetAttributeNS(const nsAString *namespaceURI, const nsAString *localName,
711 nsAString *_retval);
712 nsresult SetAttributeNS(const nsAString *namespaceURI, const nsAString *qualifiedName,
713 const nsAString *value);
714 nsresult RemoveAttributeNS(const nsAString *namespaceURI, const nsAString *localName);
715 nsresult GetAttributeNodeNS(const nsAString *namespaceURI, const nsAString *localName,
716 nsIDOMAttr **_retval);
717 nsresult SetAttributeNodeNS(nsIDOMAttr *newAttr, nsIDOMAttr **_retval);
718 nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName,
719 nsIDOMNodeList **_retval);
720 nsresult HasAttribute(const nsAString *name, PRBool *_retval);
721 nsresult HasAttributeNS(const nsAString *namespaceURI, const nsAString *localName,
722 PRBool *_retval);
723 }
724
725 [
726 object,
727 uuid(99715845-95fc-4a56-aa53-214b65c26e22),
728 local
729 /* FROZEN */
730 ]
731 interface nsIDOMElementCSSInlineStyle : nsISupports
732 {
733 nsresult GetStyle(nsIDOMCSSStyleDeclaration **aStyle);
734 }
735
736 [
737 object,
738 uuid(f0aef489-18c5-4de6-99d5-58b3758b098c),
739 local
740 /* NOT_FROZEN */
741 ]
742 interface nsIDOMNSElement : nsISupports
743 {
744 nsresult GetElementsByClassName(const nsAString *classes, nsIDOMNodeList **_retval);
745 nsresult GetClientRects(nsIDOMClientRectList **_retval);
746 nsresult GetBoundingClientRect(nsIDOMClientRect **_retval);
747 nsresult GetScrollTop(PRInt32 *aScrollTop);
748 nsresult SetScrollTop(PRInt32 aScrollTop);
749 nsresult GetScrollLeft(PRInt32 *aScrollLeft);
750 nsresult SetScrollLeft(PRInt32 aScrollLeft);
751 nsresult GetScrollHeight(PRInt32 *aScrollHeight);
752 nsresult GetScrollWidth(PRInt32 *aScrollWidth);
753 nsresult GetClientTop(PRInt32 *aClientTop);
754 nsresult GetClientLeft(PRInt32 *aClientLeft);
755 nsresult GetClientHeight(PRInt32 *aClientHeight);
756 nsresult GetClientWidth(PRInt32 *aClientWidth);
757 nsresult GetFirstElementChild(nsIDOMElement **aFirstElementChild);
758 nsresult GetLastElementChild(nsIDOMElement **aLastElementChild);
759 nsresult GetPreviousElementSibling(nsIDOMElement **aPreviousElementSibling);
760 nsresult GetNextElementSibling(nsIDOMElement **aNextElementSibling);
761 nsresult GetChildElementCount(PRUint32 *aChildElementCount);
762 nsresult GetChildren(nsIDOMNodeList **aChildren);
763 }
764
765 cpp_quote("#undef GetClassName")
766
767 [
768 object,
769 uuid(a6cf9085-15b3-11d2-932e-00805f8add32),
770 local
771 /* FROZEN */
772 ]
773 interface nsIDOMHTMLElement : nsIDOMElement
774 {
775 nsresult GetId(nsAString *aId);
776 nsresult SetId(const nsAString *aId);
777 nsresult GetTitle(nsAString *aTitle);
778 nsresult SetTitle(const nsAString *aTitle);
779 nsresult GetLang(nsAString *aLang);
780 nsresult SetLang(const nsAString *aLang);
781 nsresult GetDir(nsAString *aDir);
782 nsresult SetDir(const nsAString *aDir);
783 nsresult GetClassName(nsAString *aClassName);
784 nsresult SetClassName(const nsAString *aClassName);
785 }
786
787 [
788 object,
789 uuid(7f142f9a-fba7-4949-93d6-cf08a974ac51),
790 local
791 /* NOT_FROZEN */
792 ]
793 interface nsIDOMNSHTMLElement : nsISupports
794 {
795 nsresult GetOffsetTop(PRInt32 *aOffsetTop);
796 nsresult GetOffsetLeft(PRInt32 *aOffsetLeft);
797 nsresult GetOffsetWidth(PRInt32 *aOffsetWidth);
798 nsresult GetOffsetHeight(PRInt32 *aOffsetHeight);
799 nsresult GetOffsetParent(nsIDOMElement **aOffsetParent);
800 nsresult GetInnerHTML(nsAString *aInnerHTML);
801 nsresult SetInnerHTML(const nsAString *aInnerHTML);
802 nsresult GetTabIndex(PRInt32 *aTabIndex);
803 nsresult SetTabIndex(PRInt32 aTabIndex);
804 nsresult GetContentEditable(nsAString *aContentEditable);
805 nsresult SetContentEditable(const nsAString *aContentEditable);
806 nsresult GetDraggable(PRBool *aDraggable);
807 nsresult SetDraggable(PRBool aDraggable);
808 nsresult Blur();
809 nsresult Focus();
810 nsresult ScrollIntoView(PRBool top);
811 nsresult GetSpellcheck(PRBool *aSpellcheck);
812 nsresult SetSpellcheck(PRBool aSpellcheck);
813 }
814
815 [
816 object,
817 uuid(a6cf9083-15b3-11d2-932e-00805f8add32),
818 local
819 /* FROZEN */
820 ]
821 interface nsIDOMHTMLCollection : nsISupports
822 {
823 nsresult GetLength(PRUint32 *aLength);
824 nsresult Item(PRUint32 index, nsIDOMNode **_retval);
825 nsresult NamedItem(const nsAString *name, nsIDOMNode **_retval);
826 }
827
828 [
829 object,
830 uuid(a6cf9072-15b3-11d2-932e-00805f8add32),
831 local
832 /* FROZEN */
833 ]
834 interface nsIDOMCharacterData : nsIDOMNode
835 {
836 nsresult GetData(nsAString *aData);
837 nsresult SetData(const nsAString *aData);
838 nsresult GetLength(PRUint32 *aLength);
839 nsresult SubstringData(PRUint32 offset, PRUint32 count, nsAString *_retval);
840 nsresult AppendData(const nsAString *arg);
841 nsresult InsertData(PRUint32 offset, const nsAString *arg);
842 nsresult DeleteData(PRUint32 offset, PRUint32 count);
843 nsresult ReplaceData(PRUint32 offset, PRUint32 count, const nsAString *arg);
844 }
845
846 [
847 object,
848 uuid(a6cf9082-15b3-11d2-932e-00805f8add32),
849 local
850 /* FROZEN */
851 ]
852 interface nsIDOMText : nsIDOMCharacterData
853 {
854 nsresult SplitText(PRUint32 offset, nsIDOMText **_retval);
855 }
856
857 [
858 object,
859 uuid(a6cf9073-15b3-11d2-932e-00805f8add32),
860 local
861 /* FROZEN */
862 ]
863 interface nsIDOMComment : nsIDOMCharacterData
864 {
865 }
866
867 [
868 object,
869 uuid(a6cf9076-15b3-11d2-932e-00805f8add32),
870 local
871 /* FROZEN */
872 ]
873 interface nsIDOMDocumentFragment : nsIDOMNode
874 {
875 }
876
877 [
878 object,
879 uuid(f51ebade-8b1a-11d3-aae7-0010830123b4),
880 local
881 /* FROZEN */
882 ]
883 interface nsIDOMAbstractView : nsISupports
884 {
885 nsresult GetDocument(nsIDOMDocumentView **aDocument);
886 }
887
888 [
889 object,
890 uuid(0b9341f3-95d4-4fa4-adcd-e119e0db2889),
891 local
892 /* NOT_FROZEN */
893 ]
894 interface nsIDOMViewCSS : nsIDOMAbstractView
895 {
896 nsresult GetComputedStyle(nsIDOMElement *elt, const nsAString *pseudoElt, nsIDOMCSSStyleDeclaration **_retval);
897 }
898
899 [
900 object,
901 uuid(a6cf9075-15b3-11d2-932e-00805f8add32),
902 local
903 /* FROZEN */
904 ]
905 interface nsIDOMDocument : nsIDOMNode
906 {
907 nsresult GetDoctype(nsIDOMDocumentType **aDoctype);
908 nsresult GetImplementation(nsIDOMDOMImplementation **aImplementation);
909 nsresult GetDocumentElement(nsIDOMElement **aDocumentElement);
910 nsresult CreateElement(const nsAString *tagName, nsIDOMElement **_retval);
911 nsresult CreateDocumentFragment(nsIDOMDocumentFragment **_retval);
912 nsresult CreateTextNode(const nsAString *data, nsIDOMText **_retval);
913 nsresult CreateComment(const nsAString *data, nsIDOMComment **_retval);
914 nsresult CreateCDATASection(const nsAString *data, nsIDOMCDATASection **_retval);
915 nsresult CreateProcessingInstruction(const nsAString *target, const nsAString *data,
916 nsIDOMProcessingInstruction **_retval);
917 nsresult CreateAttribute(const nsAString *name, nsIDOMAttr **_retval);
918 nsresult CreateEntityReference(const nsAString *name, nsIDOMEntityReference **_retval);
919 nsresult GetElementsByTagName(const nsAString *tagname, nsIDOMNodeList **_retval);
920 nsresult ImportNode(nsIDOMNode *importedNode, PRBool deep, nsIDOMNode **_retval);
921 nsresult CreateElementNS(const nsAString *namespaceURI, const nsAString *qualifiedName,
922 nsIDOMElement **_retval);
923 nsresult CreateAttributeNS(const nsAString *namespaceURI, const nsAString *qualifiedName,
924 nsIDOMAttr **_retval);
925 nsresult GetElementsByTagNameNS(const nsAString *namespaceURI, const nsAString *localName,
926 nsIDOMNodeList **_retval);
927 nsresult GetElementById(const nsAString *elementId, nsIDOMElement **_retval);
928 }
929
930 [
931 object,
932 uuid(09a439ad-4079-46d5-a050-4d7015d1a108),
933 local
934 /* NOT_FROZEN */
935 ]
936 interface nsIDOMNSDocument : nsISupports
937 {
938 nsresult GetCharacterSet(nsAString *aCharacterSet);
939 nsresult GetDir(nsAString *aDir);
940 nsresult SetDir(const nsAString *aDir);
941 nsresult GetLocation(nsIDOMLocation **aLocation);
942 nsresult GetTitle(nsAString *aTitle);
943 nsresult SetTitle(const nsAString *aTitle);
944 nsresult GetContentType(nsAString *aContentType);
945 nsresult GetReadyState(nsAString *aReadyState);
946 nsresult GetLastModified(nsAString *aLastModified);
947 nsresult GetReferrer(nsAString *aReferrer);
948 nsresult HasFocus(PRBool *_retval);
949 nsresult GetActiveElement(nsIDOMElement **aActiveElement);
950 nsresult GetElementsByClassName(const nsAString *classes, nsIDOMNodeList **_retval);
951 nsresult ElementFromPoint(PRInt32 x, PRInt32 y, nsIDOMElement **_retval);
952
953 /* Wine extensions */
954 nsresult WineAddObserver(nsIDocumentObserver *aObserver);
955 nsresult WineRemoveObserver(nsIDocumentObserver *aObserver);
956 nsresult WineAddScriptRunner(nsIRunnable *aRunnable);
957 }
958
959 [
960 object,
961 uuid(a6cf9084-15b3-11d2-932e-00805f8add32),
962 local
963 /* FROZEN */
964 ]
965 interface nsIDOMHTMLDocument : nsIDOMDocument
966 {
967 nsresult GetTitle(nsAString *aTitle);
968 nsresult SetTitle(const nsAString *aTitle);
969 nsresult GetReferrer(nsAString *aReferrer);
970 nsresult GetDomain(nsAString *aDomain);
971 nsresult GetURL(nsAString *aURL);
972 nsresult GetBody(nsIDOMHTMLElement **aBody);
973 nsresult SetBody(nsIDOMHTMLElement *aBody);
974 nsresult GetImages(nsIDOMHTMLCollection **aImages);
975 nsresult GetApplets(nsIDOMHTMLCollection **aApplets);
976 nsresult GetLinks(nsIDOMHTMLCollection **aLinks);
977 nsresult GetForms(nsIDOMHTMLCollection **aForms);
978 nsresult GetAnchors(nsIDOMHTMLCollection **aAnchors);
979 nsresult GetCookie(nsAString *aCookie);
980 nsresult SetCookie(const nsAString *aCookie);
981 nsresult Open();
982 nsresult Close();
983 nsresult Write(const nsAString *text);
984 nsresult Writeln(const nsAString *text);
985 nsresult GetElementsByName(const nsAString *elementName, nsIDOMNodeList **_retval);
986 }
987
988 [
989 object,
990 uuid(79beb289-3644-4b54-9432-9fb993945629),
991 local
992 /* NOT_FROZEN */
993 ]
994 interface nsIDOMNSHTMLDocument : nsISupports
995 {
996 nsresult GetWidth(PRInt32 *aWidth);
997 nsresult GetHeight(PRInt32 *aHeight);
998 nsresult GetAlinkColor(nsAString *aAlinkColor);
999 nsresult SetAlinkColor(const nsAString *aAlinkColor);
1000 nsresult GetLinkColor(nsAString *aLinkColor);
1001 nsresult SetLinkColor(const nsAString *aLinkColor);
1002 nsresult GetVlinkColor(nsAString *aVlinkColor);
1003 nsresult SetVlinkColor(const nsAString *aVlinkColor);
1004 nsresult GetBgColor(nsAString *aBgColor);
1005 nsresult SetBgColor(const nsAString *aBgColor);
1006 nsresult GetFgColor(nsAString *aFgColor);
1007 nsresult SetFgColor(const nsAString *aFgColor);
1008 nsresult GetDomain(nsAString *aDomain);
1009 nsresult SetDomain(const nsAString *aDomain);
1010 nsresult GetEmbeds(nsIDOMHTMLCollection **aEmbeds);
1011 nsresult GetSelection(nsAString *_retval);
1012 nsresult Open(nsACString *aContentType, PRBool aReplace, nsIDOMDocument **_retval);
1013 nsresult Write();
1014 nsresult Writeln();
1015 nsresult Clear();
1016 nsresult CaptureEvents(PRInt32 eventFlags);
1017 nsresult ReleaseEvents(PRInt32 eventFlags);
1018 nsresult RouteEvent(nsIDOMEvent *evt);
1019 nsresult GetCompatMode(nsAString *aCompatMode);
1020 nsresult GetPlugins(nsIDOMHTMLCollection **aPlugins);
1021 nsresult GetDesignMode(nsAString *aDesignMode);
1022 nsresult SetDesignMode(const nsAString *aDesignMode);
1023 nsresult ExecCommand(const nsAString *commandID, PRBool doShowUI, const nsAString *value, PRBool *_retval);
1024 nsresult ExecCommandShowHelp(const nsAString *commandID, PRBool *_retval);
1025 nsresult QueryCommandEnabled(const nsAString *commandID, PRBool *_retval);
1026 nsresult QueryCommandIndeterm(const nsAString *commandID, PRBool *_retval);
1027 nsresult QueryCommandState(const nsAString *commandID, PRBool *_retval);
1028 nsresult QueryCommandSupported(const nsAString *commandID, PRBool *_retval);
1029 nsresult QueryCommandText(const nsAString *commandID, nsAString *_retval);
1030 nsresult QueryCommandValue(const nsAString *commandID, nsAString *_retval);
1031 }
1032
1033 [
1034 object,
1035 uuid(3d9f4973-dd2e-48f5-b5f7-2634e09eadd9),
1036 local
1037 /* FROZEN */
1038 ]
1039 interface nsIDOMDocumentStyle : nsISupports
1040 {
1041 nsresult GetStyleSheets(nsIDOMStyleSheetList **aStyleSheets);
1042 }
1043
1044 [
1045 object,
1046 uuid(1acdb2ba-1dd2-11b2-95bc-9542495d2569),
1047 local
1048 /* FROZEN */
1049 ]
1050 interface nsIDOMDocumentView : nsISupports
1051 {
1052 nsresult GetDefaultView(nsIDOMAbstractView **aDefaultView);
1053 }
1054
1055 [
1056 object,
1057 uuid(46b91d66-28e2-11d4-ab1e-0010830123b4),
1058 local
1059 /* FROZEN */
1060 ]
1061 interface nsIDOMDocumentEvent : nsISupports
1062 {
1063 cpp_quote("#undef CreateEvent")
1064 nsresult CreateEvent(const nsAString *eventType, nsIDOMEvent **_retval);
1065 }
1066
1067 [
1068 object,
1069 uuid(a6cf90ce-15b3-11d2-932e-00805f8add32),
1070 local
1071 /* FROZEN */
1072 ]
1073 interface nsIDOMRange : nsISupports
1074 {
1075 enum {
1076 NS_START_TO_START,
1077 NS_START_TO_END,
1078 NS_END_TO_END,
1079 NS_END_TO_START
1080 };
1081
1082 nsresult GetStartContainer(nsIDOMNode **aStartContainer);
1083 nsresult GetStartOffset(PRInt32 *aStartOffset);
1084 nsresult GetEndContainer(nsIDOMNode **aEndContainer);
1085 nsresult GetEndOffset(PRInt32 *aEndOffset);
1086 nsresult GetCollapsed(PRBool *aCollapsed);
1087 nsresult GetCommonAncestorContainer(nsIDOMNode **aCommonAncestorContainer);
1088 nsresult SetStart(nsIDOMNode *refNode, PRInt32 offset);
1089 nsresult SetEnd(nsIDOMNode *refNode, PRInt32 offset);
1090 nsresult SetStartBefore(nsIDOMNode *refNode);
1091 nsresult SetStartAfter(nsIDOMNode *refNode);
1092 nsresult SetEndBefore(nsIDOMNode *refNode);
1093 nsresult SetEndAfter(nsIDOMNode *refNode);
1094 nsresult Collapse(PRBool toStart);
1095 nsresult SelectNode(nsIDOMNode *refNode);
1096 nsresult SelectNodeContents(nsIDOMNode *refNode);
1097 nsresult CompareBoundaryPoints(PRUint16 how, nsIDOMRange *sourceRange, PRInt16 *_retval);
1098 nsresult DeleteContents();
1099 nsresult ExtractContents(nsIDOMDocumentFragment **_retval);
1100 nsresult CloneContents(nsIDOMDocumentFragment **_retval);
1101 nsresult InsertNode(nsIDOMNode *newNode);
1102 nsresult SurroundContents(nsIDOMNode *newParent);
1103 nsresult CloneRange(nsIDOMRange **_retval);
1104 nsresult ToString(nsAString *_retval);
1105 nsresult Detach();
1106 }
1107
1108 [
1109 object,
1110 uuid(59188642-23b4-41d6-bde1-302c3906d1f0),
1111 local
1112 /* NOT_FROZEN */
1113 ]
1114 interface nsIDOMNSRange : nsISupports
1115 {
1116 nsresult CreateContextualFragment([in] const nsAString *fragment, [out] nsIDOMDocumentFragment **_retval);
1117 nsresult IsPointInRange([in] nsIDOMNode *parent, [in] PRInt32 offset, [out] PRBool *_retval);
1118 nsresult ComparePoint([in] nsIDOMNode *parent, [in] PRInt32 offset, [out] PRInt16 *_retval);
1119 }
1120
1121
1122 [
1123 object,
1124 uuid(7b9badc6-c9bc-447a-8670-dbd195aed24b),
1125 local
1126 /* FROZEN */
1127 ]
1128 interface nsIDOMDocumentRange : nsISupports
1129 {
1130 nsresult CreateRange(nsIDOMRange **_retval);
1131 }
1132
1133 [
1134 object,
1135 uuid(b2c7ed59-8634-4352-9e37-5484c8b6e4e1),
1136 local
1137 /* FROZEN */
1138 ]
1139 interface nsISelection : nsISupports
1140 {
1141 nsresult GetAnchorNode(nsIDOMNode **aAnchorNode);
1142 nsresult GetAnchorOffset(PRInt32 *aAnchorOffset);
1143 nsresult GetFocusNode(nsIDOMNode **aFocusNode);
1144 nsresult GetFocusOffset(PRInt32 *aFocusOffset);
1145 nsresult GetIsCollapsed(PRBool *aIsCollapsed);
1146 nsresult GetRangeCount(PRInt32 *aRangeCount);
1147 nsresult GetRangeAt(PRInt32 index, nsIDOMRange **_retval);
1148 nsresult Collapse(nsIDOMNode *parentNode, PRInt32 offset);
1149 nsresult Extend(nsIDOMNode *parentNode, PRInt32 offset);
1150 nsresult CollapseToStart();
1151 nsresult CollapseToEnd();
1152 nsresult ContainsNode(nsIDOMNode *node, PRBool entirelyContained, PRBool *_retval);
1153 nsresult SelectAllChildren(nsIDOMNode *parentNode);
1154 nsresult AddRange(nsIDOMRange *range);
1155 nsresult RemoveRange(nsIDOMRange *range);
1156 nsresult RemoveAllRanges();
1157 nsresult DeleteFromDocument();
1158 nsresult SelectionLanguageChange(PRBool langRTL);
1159 nsresult ToString(PRUnichar **_retval);
1160 }
1161
1162 [
1163 object,
1164 uuid(a6cf906f-15b3-11d2-932e-00805f8add32),
1165 local
1166 /* FROZEN */
1167 ]
1168 interface nsIDOMWindowCollection : nsISupports
1169 {
1170 nsresult GetLength(PRUint32 *aLength);
1171 nsresult Item(PRUint32 index, nsIDOMWindow **_retval);
1172 nsresult NamedItem(const nsAString *name, nsIDOMWindow **_retval);
1173 }
1174
1175 [
1176 object,
1177 uuid(a6cf906b-15b3-11d2-932e-00805f8add32),
1178 local
1179 /* FROZEN */
1180 ]
1181 interface nsIDOMWindow : nsISupports
1182 {
1183 nsresult GetDocument(nsIDOMDocument **aDocument);
1184 nsresult GetParent(nsIDOMWindow **aParent);
1185 nsresult GetTop(nsIDOMWindow **aTop);
1186 nsresult GetScrollbars(nsIDOMBarProp **aScrollbars);
1187 nsresult GetFrames(nsIDOMWindowCollection **aFrames);
1188 nsresult GetName(nsAString *aName);
1189 nsresult SetName(const nsAString *aName);
1190 nsresult GetTextZoom(float *aTextZoom);
1191 nsresult SetTextZoom(float aTextZoom);
1192 nsresult GetScrollX(PRInt32 *aScrollX);
1193 nsresult GetScrollY(PRInt32 *aScrollY);
1194 nsresult ScrollTo(PRInt32 xScroll, PRInt32 yScroll);
1195 nsresult ScrollBy(PRInt32 xScrollDif, PRInt32 yScrollDif);
1196 nsresult GetSelection(nsISelection **_retval);
1197 nsresult ScrollByLines(PRInt32 numLines);
1198 nsresult ScrollByPages(PRInt32 numPages);
1199 nsresult SizeToContent();
1200 }
1201
1202 [
1203 object,
1204 uuid(a6cf908e-15b3-11d2-932e-00805f8add32),
1205 local
1206 /* FROZEN */
1207 ]
1208 interface nsIDOMHTMLBodyElement : nsIDOMHTMLElement
1209 {
1210 nsresult GetALink(nsAString *aALink);
1211 nsresult SetALink(const nsAString *aALink);
1212 nsresult GetBackground(nsAString *aBackground);
1213 nsresult SetBackground(const nsAString *aBackground);
1214 nsresult GetBgColor(nsAString *aBgColor);
1215 nsresult SetBgColor(const nsAString *aBgColor);
1216 nsresult GetLink(nsAString *aLink);
1217 nsresult SetLink(const nsAString *aLink);
1218 nsresult GetText(nsAString *aText);
1219 nsresult SetText(const nsAString *aText);
1220 nsresult GetVLink(nsAString *aVLink);
1221 nsresult SetVLink(const nsAString *aVLink);
1222 }
1223
1224 [
1225 object,
1226 uuid(a6cf908f-15b3-11d2-932e-00805f8add32),
1227 local
1228 /* FROZEN */
1229 ]
1230 interface nsIDOMHTMLFormElement : nsIDOMHTMLElement
1231 {
1232 nsresult GetElements(nsIDOMHTMLCollection **aElements);
1233 nsresult GetLength(PRInt32 *aLength);
1234 nsresult GetName(nsAString *aName);
1235 nsresult SetName(const nsAString *aName);
1236 nsresult GetAcceptCharset(nsAString *aAcceptCharset);
1237 nsresult SetAcceptCharset(const nsAString *aAcceptCharset);
1238 nsresult GetAction(nsAString *aAction);
1239 nsresult SetAction(const nsAString *aAction);
1240 nsresult GetEnctype(nsAString *aEnctype);
1241 nsresult SetEnctype(const nsAString *aEnctype);
1242 nsresult GetMethod(nsAString *aMethod);
1243 nsresult SetMethod(const nsAString *aMethod);
1244 nsresult GetTarget(nsAString *aTarget);
1245 nsresult SetTarget(const nsAString *aTarget);
1246 nsresult Submit();
1247 nsresult Reset();
1248 }
1249
1250 [
1251 object,
1252 uuid(a6cf9093-15b3-11d2-932e-00805f8add32),
1253 local
1254 /* FROZEN */
1255 ]
1256 interface nsIDOMHTMLInputElement : nsIDOMHTMLElement
1257 {
1258 nsresult GetDefaultValue(nsAString *aDefaultValue);
1259 nsresult SetDefaultValue(const nsAString *aDefaultValue);
1260 nsresult GetDefaultChecked(PRBool *aDefaultChecked);
1261 nsresult SetDefaultChecked(PRBool aDefaultChecked);
1262 nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1263 nsresult GetAccept(nsAString *aAccept);
1264 nsresult SetAccept(const nsAString *aAccept);
1265 nsresult GetAccessKey(nsAString *aAccessKey);
1266 nsresult SetAccessKey(const nsAString *aAccessKey);
1267 nsresult GetAlign(nsAString *aAlign);
1268 nsresult SetAlign(const nsAString *aAlign);
1269 nsresult GetAlt(nsAString *aAlt);
1270 nsresult SetAlt(const nsAString *aAlt);
1271 nsresult GetChecked(PRBool *aChecked);
1272 nsresult SetChecked(PRBool aChecked);
1273 nsresult GetDisabled(PRBool *aDisabled);
1274 nsresult SetDisabled(PRBool aDisabled);
1275 nsresult GetMaxLength(PRInt32 *aMaxLength);
1276 nsresult SetMaxLength(PRInt32 aMaxLength);
1277 nsresult GetName(nsAString *aName);
1278 nsresult SetName(const nsAString *aName);
1279 nsresult GetReadOnly(PRBool *aReadOnly);
1280 nsresult SetReadOnly(PRBool aReadOnly);
1281 nsresult GetSize(PRUint32 *aSize);
1282 nsresult SetSize(PRUint32 aSize);
1283 nsresult GetSrc(nsAString *aSrc);
1284 nsresult SetSrc(const nsAString *aSrc);
1285 nsresult GetTabIndex(PRInt32 *aTabIndex);
1286 nsresult SetTabIndex(PRInt32 aTabIndex);
1287 nsresult GetType(nsAString *aType);
1288 nsresult SetType(const nsAString *aType);
1289 nsresult GetUseMap(nsAString *aUseMap);
1290 nsresult SetUseMap(const nsAString *aUseMap);
1291 nsresult GetValue(nsAString *aValue);
1292 nsresult SetValue(const nsAString *aValue);
1293 nsresult Blur();
1294 nsresult Focus();
1295 nsresult Select();
1296 nsresult Click();
1297 }
1298
1299 [
1300 object,
1301 uuid(a6cf9092-15b3-11d2-932e-00805f8add32),
1302 local
1303 /* FROZEN */
1304 ]
1305 interface nsIDOMHTMLOptionElement : nsIDOMHTMLElement
1306 {
1307 nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1308 nsresult GetDefaultSelected(PRBool *aDefaultSelected);
1309 nsresult SetDefaultSelected(PRBool aDefaultSelected);
1310 nsresult GetText(nsAString *aText);
1311 nsresult GetIndex(PRInt32 *aIndex);
1312 nsresult GetDisabled(PRBool *aDisabled);
1313 nsresult SetDisabled(PRBool aDisabled);
1314 nsresult GetLabel(nsAString *aLabel);
1315 nsresult SetLabel(const nsAString *aLabel);
1316 nsresult GetSelected(PRBool *aSelected);
1317 nsresult SetSelected(PRBool aSelected);
1318 nsresult GetValue(nsAString *aValue);
1319 nsresult SetValue(const nsAString *aValue);
1320 }
1321
1322 [
1323 object,
1324 uuid(a6cf9090-15b3-11d2-932e-00805f8add32),
1325 local
1326 /* FROZEN */
1327 ]
1328 interface nsIDOMHTMLSelectElement : nsIDOMHTMLElement
1329 {
1330 nsresult GetType(nsAString *aType);
1331 nsresult GetSelectedIndex(PRInt32 *aSelectedIndex);
1332 nsresult SetSelectedIndex(PRInt32 aSelectedIndex);
1333 nsresult GetValue(nsAString *aValue);
1334 nsresult SetValue(const nsAString *aValue);
1335 nsresult GetLength(PRUint32 *aLength);
1336 nsresult SetLength(PRUint32 aLength);
1337 nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1338 nsresult GetOptions(nsIDOMHTMLOptionsCollection **aOptions);
1339 nsresult GetDisabled(PRBool *aDisabled);
1340 nsresult SetDisabled(PRBool aDisabled);
1341 nsresult GetMultiple(PRBool *aMultiple);
1342 nsresult SetMultiple(PRBool aMultiple);
1343 nsresult GetName(nsAString *aName);
1344 nsresult SetName(const nsAString *aName);
1345 nsresult GetSize(PRInt32 *aSize);
1346 nsresult SetSize(PRInt32 aSize);
1347 nsresult GetTabIndex(PRInt32 *aTabIndex);
1348 nsresult SetTabIndex(PRInt32 aTabIndex);
1349 nsresult Add(nsIDOMHTMLElement *element, nsIDOMHTMLElement *before);
1350 nsresult Remove(PRInt32 index);
1351 nsresult Blur();
1352 nsresult Focus();
1353 }
1354
1355 [
1356 object,
1357 uuid(a6cf9094-15b3-11d2-932e-00805f8add32),
1358 local
1359 /* FROZEN */
1360 ]
1361 interface nsIDOMHTMLTextAreaElement : nsIDOMHTMLElement
1362 {
1363 nsresult GetDefaultValue(nsAString *aDefaultValue);
1364 nsresult SetDefaultValue(const nsAString *aDefaultValue);
1365 nsresult GetForm(nsIDOMHTMLFormElement **aForm);
1366 nsresult GetAccessKey(nsAString *aAccessKey);
1367 nsresult SetAccessKey(const nsAString *aAccessKey);
1368 nsresult GetCols(PRInt32 *aCols);
1369 nsresult SetCols(PRInt32 aCols);
1370 nsresult GetDisabled(PRBool *aDisabled);
1371 nsresult SetDisabled(PRBool aDisabled);
1372 nsresult GetName(nsAString *aName);
1373 nsresult SetName(const nsAString *aName);
1374 nsresult GetReadOnly(PRBool *aReadOnly);
1375 nsresult SetReadOnly(PRBool aReadOnly);
1376 nsresult GetRows(PRInt32 *aRows);
1377 nsresult SetRows(PRInt32 aRows);
1378 nsresult GetTabIndex(PRInt32 *aTabIndex);
1379 nsresult SetTabIndex(PRInt32 aTabIndex);
1380 nsresult GetType(nsAString *aType);
1381 nsresult GetValue(nsAString *aValue);
1382 nsresult SetValue(const nsAString *aValue);
1383 nsresult Blur();
1384 nsresult Focus();
1385 nsresult Select();
1386 }
1387
1388 [
1389 object,
1390 uuid(a6cf90b1-15b3-11d2-932e-00805f8add32),
1391 local
1392 /* FROZEN */
1393 ]
1394 interface nsIDOMHTMLScriptElement : nsIDOMHTMLElement
1395 {
1396 nsresult GetText(nsAString *aText);
1397 nsresult SetText(const nsAString *aText);
1398 nsresult GetHtmlFor(nsAString *aHtmlFor);
1399 nsresult SetHtmlFor(const nsAString *aHtmlFor);
1400 nsresult GetEvent(nsAString *aEvent);
1401 nsresult SetEvent(const nsAString *aEvent);
1402 nsresult GetCharset(nsAString *aCharset);
1403 nsresult SetCharset(const nsAString *aCharset);
1404 nsresult GetDefer(PRBool *aDefer);
1405 nsresult SetDefer(PRBool aDefer);
1406 nsresult GetSrc(nsAString *aSrc);
1407 nsresult SetSrc(const nsAString *aSrc);
1408 nsresult GetType(nsAString *aType);
1409 nsresult SetType(const nsAString *aType);
1410 }
1411
1412 [
1413 object,
1414 uuid(a6cf90ab-15b3-11d2-932e-00805f8add32),
1415 local
1416 /* FROZEN */
1417 ]
1418 interface nsIDOMHTMLImageElement : nsIDOMHTMLElement
1419 {
1420 nsresult GetName(nsAString *aName);
1421 nsresult SetName(const nsAString *aName);
1422 nsresult GetAlign(nsAString *aAlign);
1423 nsresult SetAlign(const nsAString *aAlign);
1424 nsresult GetAlt(nsAString *aAlt);
1425 nsresult SetAlt(const nsAString *aAlt);
1426 nsresult GetBorder(nsAString *aBorder);
1427 nsresult SetBorder(const nsAString *aBorder);
1428 nsresult GetHeight(PRInt32 *aHeight);
1429 nsresult SetHeight(PRInt32 aHeight);
1430 nsresult GetHspace(PRInt32 *aHspace);
1431 nsresult SetHspace(PRInt32 aHspace);
1432 nsresult GetIsMap(PRBool *aIsMap);
1433 nsresult SetIsMap(PRBool aIsMap);
1434 nsresult GetLongDesc(nsAString *aLongDesc);
1435 nsresult SetLongDesc(const nsAString *aLongDesc);
1436 nsresult GetSrc(nsAString *aSrc);
1437 nsresult SetSrc(const nsAString *aSrc);
1438 nsresult GetUseMap(nsAString *aUseMap);
1439 nsresult SetUseMap(const nsAString *aUseMap);
1440 nsresult GetVspace(PRInt32 *aVspace);
1441 nsresult SetVspace(PRInt32 aVspace);
1442 nsresult GetWidth(PRInt32 *aWidth);
1443 nsresult SetWidth(PRInt32 aWidth);
1444 }
1445
1446 [
1447 object,
1448 uuid(a6cf90aa-15b3-11d2-932e-00805f8add32),
1449 local
1450 /* FROZEN */
1451 ]
1452 interface nsIDOMHTMLAnchorElement : nsIDOMHTMLElement
1453 {
1454 nsresult GetAccessKey(nsAString *aAccessKey);
1455 nsresult SetAccessKey(const nsAString *aAccessKey);
1456 nsresult GetCharset(nsAString *aCharset);
1457 nsresult SetCharset(const nsAString *aCharset);
1458 nsresult GetCoords(nsAString *aCoords);
1459 nsresult SetCoords(const nsAString *aCoords);
1460 nsresult GetHref(nsAString *aHref);
1461 nsresult SetHref(const nsAString *aHref);
1462 nsresult GetHreflang(nsAString *aHreflang);
1463 nsresult SetHreflang(const nsAString *aHreflang);
1464 nsresult GetName(nsAString *aName);
1465 nsresult SetName(const nsAString *aName);
1466 nsresult GetRel(nsAString *aRel);
1467 nsresult SetRel(const nsAString *aRel);
1468 nsresult GetRev(nsAString *aRev);
1469 nsresult SetRev(const nsAString *aRev);
1470 nsresult GetShape(nsAString *aShape);
1471 nsresult SetShape(const nsAString *aShape);
1472 nsresult GetTabIndex(PRInt32 *aTabIndex);
1473 nsresult SetTabIndex(PRInt32 aTabIndex);
1474 nsresult GetTarget(nsAString *aTarget);
1475 nsresult SetTarget(const nsAString *aTarget);
1476 nsresult GetType(nsAString *aType);
1477 nsresult SetType(const nsAString *aType);
1478 nsresult Blur();
1479 nsresult Focus();
1480 }
1481
1482 [
1483 object,
1484 uuid(a6cf90b2-15b3-11d2-932e-00805f8add32),
1485 local
1486 /* FROZEN */
1487 ]
1488 interface nsIDOMHTMLTableElement : nsIDOMHTMLElement
1489 {
1490 nsresult GetCaption(nsIDOMHTMLTableCaptionElement **aCaption);
1491 nsresult SetCaption(nsIDOMHTMLTableCaptionElement *aCaption);
1492 nsresult GetTHead(nsIDOMHTMLTableSectionElement **aTHead);
1493 nsresult SetTHead(nsIDOMHTMLTableSectionElement *aTHead);
1494 nsresult GetTFoot(nsIDOMHTMLTableSectionElement **aTFoot);
1495 nsresult SetTFoot(nsIDOMHTMLTableSectionElement *aTFoot);
1496 nsresult GetRows(nsIDOMHTMLCollection **aRows);
1497 nsresult GetTBodies(nsIDOMHTMLCollection **aTBodies);
1498 nsresult GetAlign(nsAString *aAlign);
1499 nsresult SetAlign(const nsAString *aAlign);
1500 nsresult GetBgColor(nsAString *aBgColor);
1501 nsresult SetBgColor(const nsAString *aBgColor);
1502 nsresult GetBorder(nsAString *aBorder);
1503 nsresult SetBorder(const nsAString *aBorder);
1504 nsresult GetCellPadding(nsAString *aCellPadding);
1505 nsresult SetCellPadding(const nsAString *aCellPadding);
1506 nsresult GetCellSpacing(nsAString *aCellSpacing);
1507 nsresult SetCellSpacing(const nsAString *aCellSpacing);
1508 nsresult GetFrame(nsAString *aFrame);
1509 nsresult SetFrame(const nsAString *aFrame);
1510 nsresult GetRules(nsAString *aRules);
1511 nsresult SetRules(const nsAString *aRules);
1512 nsresult GetSummary(nsAString *aSummary);
1513 nsresult SetSummary(const nsAString *aSummary);
1514 nsresult GetWidth(nsAString *aWidth);
1515 nsresult SetWidth(const nsAString *aWidth);
1516 nsresult CreateTHead(nsIDOMHTMLElement **_retval);
1517 nsresult DeleteTHead();
1518 nsresult CreateTFoot(nsIDOMHTMLElement **_retval);
1519 nsresult DeleteTFoot();
1520 nsresult CreateCaption(nsIDOMHTMLElement **_retval);
1521 nsresult DeleteCaption();
1522 nsresult InsertRow(PRInt32 index, nsIDOMHTMLElement **_retval);
1523 nsresult DeleteRow(PRInt32 index);
1524 }
1525
1526 [
1527 object,
1528 uuid(a6cf90b6-15b3-11d2-932e-00805f8add32),
1529 local
1530 /* FROZEN */
1531 ]
1532 interface nsIDOMHTMLTableRowElement : nsIDOMHTMLElement
1533 {
1534 nsresult GetRowIndex(PRInt32 *aRowIndex);
1535 nsresult GetSectionRowIndex(PRInt32 *aSectionRowIndex);
1536 nsresult GetCells(nsIDOMHTMLCollection **aCells);
1537 nsresult GetAlign(nsAString *aAlign);
1538 nsresult SetAlign(const nsAString *aAlign);
1539 nsresult GetBgColor(nsAString *aBgColor);
1540 nsresult SetBgColor(const nsAString *aBgColor);
1541 nsresult GetCh(nsAString *aCh);
1542 nsresult SetCh(const nsAString *aCh);
1543 nsresult GetChOff(nsAString *aChOff);
1544 nsresult SetChOff(const nsAString *aChOff);
1545 nsresult GetVAlign(nsAString *aVAlign);
1546 nsresult SetVAlign(const nsAString *aVAlign);
1547 nsresult InsertCell(PRInt32 index, nsIDOMHTMLElement **_retval);
1548 nsresult DeleteCell(PRInt32 index);
1549 }
1550
1551 [
1552 object,
1553 uuid(a6cf90ba-15b3-11d2-932e-00805f8add32),
1554 local
1555 /* FROZEN */
1556 ]
1557 interface nsIDOMHTMLIFrameElement : nsIDOMHTMLElement
1558 {
1559 nsresult GetAlign(nsAString *aAlign);
1560 nsresult SetAlign(const nsAString *aAlign);
1561 nsresult GetFrameBorder(nsAString *aFrameBorder);
1562 nsresult SetFrameBorder(const nsAString *aFrameBorder);
1563 nsresult GetHeight(nsAString *aHeight);
1564 nsresult SetHeight(const nsAString *aHeight);
1565 nsresult GetLongDesc(nsAString *aLongDesc);
1566 nsresult SetLongDesc(const nsAString *aLongDesc);
1567 nsresult GetMarginHeight(nsAString *aMarginHeight);
1568 nsresult SetMarginHeight(const nsAString *aMarginHeight);
1569 nsresult GetMarginWidth(nsAString *aMarginWidth);
1570 nsresult SetMarginWidth(const nsAString *aMarginWidth);
1571 nsresult GetName(nsAString *aName);
1572 nsresult SetName(const nsAString *aName);
1573 nsresult GetScrolling(nsAString *aScrolling);
1574 nsresult SetScrolling(const nsAString *aScrolling);
1575 nsresult GetSrc(nsAString *aSrc);
1576 nsresult SetSrc(const nsAString *aSrc);
1577 nsresult GetWidth(nsAString *aWidth);
1578 nsresult SetWidth(const nsAString *aWidth);
1579 nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
1580 }
1581
1582 [
1583 object,
1584 uuid(a6cf90b9-15b3-11d2-932e-00805f8add32),
1585 local
1586 /* FROZEN */
1587 ]
1588 interface nsIDOMHTMLFrameElement : nsIDOMHTMLElement
1589 {
1590 nsresult GetFrameBorder(nsAString *aFrameBorder);
1591 nsresult SetFrameBorder(const nsAString *aFrameBorder);
1592 nsresult GetLongDesc(nsAString *aLongDesc);
1593 nsresult SetLongDesc(const nsAString *aLongDesc);
1594 nsresult GetMarginHeight(nsAString *aMarginHeight);
1595 nsresult SetMarginHeight(const nsAString *aMarginHeight);
1596 nsresult GetMarginWidth(nsAString *aMarginWidth);
1597 nsresult SetMarginWidth(const nsAString *aMarginWidth);
1598 nsresult GetName(nsAString *aName);
1599 nsresult SetName(const nsAString *aName);
1600 nsresult GetNoResize(PRBool *aNoResize);
1601 nsresult SetNoResize(PRBool aNoResize);
1602 nsresult GetScrolling(nsAString *aScrolling);
1603 nsresult SetScrolling(const nsAString *aScrolling);
1604 nsresult GetSrc(nsAString *aSrc);
1605 nsresult SetSrc(const nsAString *aSrc);
1606 nsresult GetContentDocument(nsIDOMDocument **aContentDocument);
1607 }
1608
1609 [
1610 object,
1611 uuid(94928ab3-8b63-11d3-989d-001083010e9b),
1612 local
1613 /* FROZEN */
1614 ]
1615 interface nsIURIContentListener : nsISupports
1616 {
1617 nsresult OnStartURIOpen(nsIURI *aURI, PRBool *_retval);
1618 nsresult DoContent(const char *aContentType, PRBool aIsContentPreferred, nsIRequest *aRequest,
1619 nsIStreamListener **aContentHandler, PRBool *_retval);
1620 nsresult IsPreferred(const char *aContentType, char **aDesiredContentType, PRBool *_retval);
1621 nsresult CanHandleContent(const char *aContentType, PRBool aIsContentPreferred,
1622 char **aDesiredContentType, PRBool *_retval);
1623 nsresult GetLoadCookie(nsISupports **aLoadCookie);
1624 nsresult SetLoadCookie(nsISupports *aLoadCookie);
1625 nsresult GetParentContentListener(nsIURIContentListener **aParentContentListener);
1626 nsresult SetParentContentListener(nsIURIContentListener *aParentContentListener);
1627 }
1628
1629 [
1630 object,
1631 uuid(44b78386-1dd2-11b2-9ad2-e4eee2ca1916),
1632 local
1633 /* FROZEN */
1634 ]
1635 interface nsITooltipListener : nsISupports
1636 {
1637 nsresult OnShowTooltip(PRInt32 aXCoords, PRInt32 aYCoords, const PRUnichar *aTipText);
1638 nsresult OnHideTooltip();
1639 }
1640
1641 [
1642 object,
1643 uuid(69e5df00-7b8b-11d3-af61-00a024ffc08c),
1644 local
1645 /* FROZEN */
1646 ]
1647 interface nsIWebBrowser : nsISupports
1648 {
1649 nsresult AddWebBrowserListener(nsIWeakReference *aListener, const nsIID *aIID);
1650 nsresult RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID *aIID);
1651 nsresult GetContainerWindow(nsIWebBrowserChrome **aContainerWindow);
1652 nsresult SetContainerWindow(nsIWebBrowserChrome *aContainerWindow);
1653 nsresult GetParentURIContentListener(nsIURIContentListener **aParentURIContentListener);
1654 nsresult SetParentURIContentListener(nsIURIContentListener *aParentURIContentListener);
1655 nsresult GetContentDOMWindow(nsIDOMWindow **aContentDOMWindow);
1656 }
1657
1658 cpp_quote("#define SETUP_ALLOW_JAVASCRIPT 2")
1659 cpp_quote("#define SETUP_IS_CHROME_WRAPPER 7")
1660
1661 [
1662 object,
1663 uuid(f15398a0-8018-11d3-af70-00a024ffc08c),
1664 local
1665 /* FROZEN */
1666 ]
1667 interface nsIWebBrowserSetup : nsISupports
1668 {
1669 nsresult SetProperty(PRUint32 aId, PRUint32 aValue);
1670 }
1671
1672 typedef void* nativeWindow;
1673
1674 [
1675 object,
1676 uuid(046bc8a0-8015-11d3-af70-00a024ffc08c),
1677 local
1678 /* NOT_FROZEN */
1679 ]
1680 interface nsIBaseWindow : nsISupports
1681 {
1682 nsresult InitWindow(nativeWindow parentNativeWindow, nsIWidget *parentWidget, PRInt32 x,
1683 PRInt32 y, PRInt32 cx, PRInt32 cy);
1684 nsresult Create();
1685 nsresult Destroy();
1686 nsresult SetPosition(PRInt32 x, PRInt32 y);
1687 nsresult GetPosition(PRInt32 *x, PRInt32 *y);
1688 nsresult SetSize(PRInt32 cx, PRInt32 cy, PRBool fRepaint);
1689 nsresult GetSize(PRInt32 *cx, PRInt32 *cy);
1690 nsresult SetPositionAndSize(PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy, PRBool fRepaint);
1691 nsresult GetPositionAndSize(PRInt32 *x, PRInt32 *y, PRInt32 *cx, PRInt32 *cy);
1692 nsresult Repaint(PRBool force);
1693 nsresult GetParentWidget(nsIWidget **aParentWidget);
1694 nsresult SetParentWidget(nsIWidget *aParentWidget);
1695 nsresult GetParentNativeWindow(nativeWindow *aParentNativeWindow);
1696 nsresult SetParentNativeWindow(nativeWindow aParentNativeWindow);
1697 nsresult GetVisibility(PRBool *aVisibility);
1698 nsresult SetVisibility(PRBool aVisibility);
1699 nsresult GetEnabled(PRBool *aEnabled);
1700 nsresult SetEnabled(PRBool aEnabled);
1701 nsresult GetBlurSuppression(PRBool *aBlurSuppression);
1702 nsresult SetBlurSuppression(PRBool aBlurSuppression);
1703 nsresult GetMainWidget(nsIWidget **aMainWidget);
1704 nsresult SetFocus();
1705 nsresult GetTitle(PRUnichar **aTitle);
1706 nsresult SetTitle(const PRUnichar *aTitle);
1707 }
1708
1709 cpp_quote("#define LOAD_FLAGS_NONE 0x00000")
1710 cpp_quote("#define LOAD_INITIAL_DOCUMENT_URI 0x80000")
1711
1712 [
1713 object,
1714 uuid(f5d9e7b0-d930-11d3-b057-00a024ffc08c),
1715 local
1716 /* NOT_FROZEN */
1717 ]
1718 interface nsIWebNavigation : nsISupports
1719 {
1720 nsresult GetCanGoBack(PRBool *aCanGoBack);
1721 nsresult GetCanGoForward(PRBool *aCanGoForward);
1722 nsresult GoBack();
1723 nsresult GoForward();
1724 nsresult GotoIndex(PRInt32 index);
1725 nsresult LoadURI(const PRUnichar *aURI, PRUint32 aLoadFlags, nsIURI *aReferrer,
1726 nsIInputStream *aPostData, nsIInputStream *aHeaders);
1727 nsresult Reload(PRUint32 aReloadFlags);
1728 nsresult Stop(PRUint32 aStopFlags);
1729 nsresult GetDocument(nsIDOMDocument **aDocument);
1730 nsresult GetCurrentURI(nsIURI **aCurrentURI);
1731 nsresult GetReferringURI(nsIURI **aReferringURI);
1732 nsresult GetSessionHistory(nsISHistory **aSessionHistory);
1733 nsresult SetSessionHistory(nsISHistory *aSessionHistory);
1734 }
1735
1736 [
1737 object,
1738 uuid(570f39d0-efd0-11d3-b093-00a024ffc08c),
1739 local
1740 /* FROZEN */
1741 ]
1742 interface nsIWebProgress : nsISupports
1743 {
1744 nsresult AddProgressListener(nsIWebProgressListener *aListener, PRUint32 aNotifyMask);
1745 nsresult RemoveProgressListener(nsIWebProgressListener *aListener);
1746 nsresult GetDOMWindow(nsIDOMWindow **aDOMWindow);
1747 nsresult GetIsLoadingDocument(PRBool *aIsLoadingDocument);
1748 }
1749
1750 [
1751 object,
1752 uuid(343700dd-078b-42b6-a809-b9c1d7e951d0),
1753 local
1754 /* NOT_FROZEN */
1755 ]
1756 interface nsIPrintSettings : nsISupports
1757 {
1758 typedef struct { char dummy; } nsIntMargin;
1759
1760 nsresult SetPrintOptions(PRInt32 aType, PRBool aTurnOnOff);
1761 nsresult GetPrintOptions(PRInt32 aType, PRBool *_retval);
1762 nsresult GetPrintOptionsBits(PRInt32 *_retval);
1763 nsresult GetEffectivePageSize(double *aWidth, double *aHeight);
1764 nsresult Clone(nsIPrintSettings **_retval);
1765 nsresult Assign(nsIPrintSettings *aPS);
1766 nsresult GetPrintSession(nsIPrintSession **aPrintSession);
1767 nsresult SetPrintSession(nsIPrintSession *aPrintSession);
1768 nsresult GetStartPageRange(PRInt32 *aStartPageRange);
1769 nsresult SetStartPageRange(PRInt32 aStartPageRange);
1770 nsresult GetEndPageRange(PRInt32 *aEndPageRange);
1771 nsresult SetEndPageRange(PRInt32 aEndPageRange);
1772 nsresult GetEdgeTop(double *aEdgeTop);
1773 nsresult SetEdgeTop(double aEdgeTop);
1774 nsresult GetEdgeLeft(double *aEdgeLeft);
1775 nsresult SetEdgeLeft(double aEdgeLeft);
1776 nsresult GetEdgeBottom(double *aEdgeBottom);
1777 nsresult SetEdgeBottom(double aEdgeBottom);
1778 nsresult GetEdgeRight(double *aEdgeRight);
1779 nsresult SetEdgeRight(double aEdgeRight);
1780 nsresult GetMarginTop(double *aMarginTop);
1781 nsresult SetMarginTop(double aMarginTop);
1782 nsresult GetMarginLeft(double *aMarginLeft);
1783 nsresult SetMarginLeft(double aMarginLeft);
1784 nsresult GetMarginBottom(double *aMarginBottom);
1785 nsresult SetMarginBottom(double aMarginBottom);
1786 nsresult GetMarginRight(double *aMarginRight);
1787 nsresult SetMarginRight(double aMarginRight);
1788 nsresult GetUnwriteableMarginTop(double *aUnwriteableMarginTop);
1789 nsresult SetUnwriteableMarginTop(double aUnwriteableMarginTop);
1790 nsresult GetUnwriteableMarginLeft(double *aUnwriteableMarginLeft);
1791 nsresult SetUnwriteableMarginLeft(double aUnwriteableMarginLeft);
1792 nsresult GetUnwriteableMarginBottom(double *aUnwriteableMarginBottom);
1793 nsresult SetUnwriteableMarginBottom(double aUnwriteableMarginBottom);
1794 nsresult GetUnwriteableMarginRight(double *aUnwriteableMarginRight);
1795 nsresult SetUnwriteableMarginRight(double aUnwriteableMarginRight);
1796 nsresult GetScaling(double *aScaling);
1797 nsresult SetScaling(double aScaling);
1798 nsresult GetPrintBGColors(PRBool *aPrintBGColors);
1799 nsresult SetPrintBGColors(PRBool aPrintBGColors);
1800 nsresult GetPrintBGImages(PRBool *aPrintBGImages);
1801 nsresult SetPrintBGImages(PRBool aPrintBGImages);
1802 nsresult GetPrintRange(PRInt16 *aPrintRange);
1803 nsresult SetPrintRange(PRInt16 aPrintRange);
1804 nsresult GetTitle(PRUnichar **aTitle);
1805 nsresult SetTitle(const PRUnichar *aTitle);
1806 nsresult GetDocURL(PRUnichar **aDocURL);
1807 nsresult SetDocURL(const PRUnichar *aDocURL);
1808 nsresult GetHeaderStrLeft(PRUnichar **aHeaderStrLeft);
1809 nsresult SetHeaderStrLeft(const PRUnichar *aHeaderStrLeft);
1810 nsresult GetHeaderStrCenter(PRUnichar **aHeaderStrCenter);
1811 nsresult SetHeaderStrCenter(const PRUnichar *aHeaderStrCenter);
1812 nsresult GetHeaderStrRight(PRUnichar **aHeaderStrRight);
1813 nsresult SetHeaderStrRight(const PRUnichar *aHeaderStrRight);
1814 nsresult GetFooterStrLeft(PRUnichar **aFooterStrLeft);
1815 nsresult SetFooterStrLeft(const PRUnichar *aFooterStrLeft);
1816 nsresult GetFooterStrCenter(PRUnichar **aFooterStrCenter);
1817 nsresult SetFooterStrCenter(const PRUnichar *aFooterStrCenter);
1818 nsresult GetFooterStrRight(PRUnichar **aFooterStrRight);
1819 nsresult SetFooterStrRight(const PRUnichar *aFooterStrRight);
1820 nsresult GetHowToEnableFrameUI(PRInt16 *aHowToEnableFrameUI);
1821 nsresult SetHowToEnableFrameUI(PRInt16 aHowToEnableFrameUI);
1822 nsresult GetIsCancelled(PRBool *aIsCancelled);
1823 nsresult SetIsCancelled(PRBool aIsCancelled);
1824 nsresult GetPrintFrameTypeUsage(PRInt16 *aPrintFrameTypeUsage);
1825 nsresult SetPrintFrameTypeUsage(PRInt16 aPrintFrameTypeUsage);
1826 nsresult GetPrintFrameType(PRInt16 *aPrintFrameType);
1827 nsresult SetPrintFrameType(PRInt16 aPrintFrameType);
1828 nsresult GetPrintSilent(PRBool *aPrintSilent);
1829 nsresult SetPrintSilent(PRBool aPrintSilent);
1830 nsresult GetShrinkToFit(PRBool *aShrinkToFit);
1831 nsresult SetShrinkToFit(PRBool aShrinkToFit);
1832 nsresult GetShowPrintProgress(PRBool *aShowPrintProgress);
1833 nsresult SetShowPrintProgress(PRBool aShowPrintProgress);
1834 nsresult GetPaperName(PRUnichar **aPaperName);
1835 nsresult SetPaperName(const PRUnichar *aPaperName);
1836 nsresult GetPaperSizeType(PRInt16 *aPaperSizeType);
1837 nsresult SetPaperSizeType(PRInt16 aPaperSizeType);
1838 nsresult GetPaperData(PRInt16 *aPaperData);
1839 nsresult SetPaperData(PRInt16 aPaperData);
1840 nsresult GetPaperWidth(double *aPaperWidth);
1841 nsresult SetPaperWidth(double aPaperWidth);
1842 nsresult GetPaperHeight(double *aPaperHeight);
1843 nsresult SetPaperHeight(double aPaperHeight);
1844 nsresult GetPaperSizeUnit(PRInt16 *aPaperSizeUnit);
1845 nsresult SetPaperSizeUnit(PRInt16 aPaperSizeUnit);
1846 nsresult GetPlexName(PRUnichar **aPlexName);
1847 nsresult SetPlexName(const PRUnichar *aPlexName);
1848 nsresult GetColorspace(PRUnichar **aColorspace);
1849 nsresult SetColorspace(const PRUnichar *aColorspace);
1850 nsresult GetResolutionName(PRUnichar **aResolutionName);
1851 nsresult SetResolutionName(const PRUnichar aResolutionName);
1852 nsresult GetDownloadFonts(PRBool *aDownloadFonts);
1853 nsresult SetDownloadFonts(PRBool aDownloadFonts);
1854 nsresult GetPrintReversed(PRBool *aPrintReversed);
1855 nsresult SetPrintReversed(PRBool aPrintReversed);
1856 nsresult GetPrintInColor(PRBool *aPrintInColor);
1857 nsresult SetPrintInColor(PRBool aPrintInColor);
1858 nsresult GetOrientation(PRInt32 *aOrientation);
1859 nsresult SetOrientation(PRInt32 aOrientation);
1860 nsresult GetPrintCommand(PRUnichar **aPrintCommand);
1861 nsresult SetPrintCommand(const PRUnichar *aPrintCommand);
1862 nsresult GetNumCopies(PRInt32 *aNumCopies);
1863 nsresult SetNumCopies(PRInt32 aNumCopies);
1864 nsresult GetPrinterName(PRUnichar **aPrinterName);
1865 nsresult SetPrinterName(const PRUnichar *aPrinterName);
1866 nsresult GetPrintToFile(PRBool *aPrintToFile);
1867 nsresult SetPrintToFile(PRBool aPrintToFile);
1868 nsresult GetToFileName(PRUnichar **aToFileName);
1869 nsresult SetToFileName(const PRUnichar *aToFileName);
1870 nsresult GetOutputFormat(PRInt16 *aOutputFormat);
1871 nsresult SetOutputFormat(PRInt16 aOutputFormat);
1872 nsresult GetPrintPageDelay(PRInt32 *aPrintPageDelay);
1873 nsresult SetPrintPageDelay(PRInt32 aPrintPageDelay);
1874 nsresult GetIsInitializedFromPrinter(PRBool *aIsInitializedFromPrinter);
1875 nsresult SetIsInitializedFromPrinter(PRBool aIsInitializedFromPrinter);
1876 nsresult GetIsInitializedFromPrefs(PRBool *aIsInitializedFromPrefs);
1877 nsresult SetIsInitializedFromPrefs(PRBool aIsInitializedFromPrefs);
1878 nsresult SetMarginInTwips(nsIntMargin *aMargin);
1879 nsresult SetEdgeInTwips(nsIntMargin *aEdge);
1880 nsresult GetMarginInTwips(nsIntMargin *aMargin);
1881 nsresult GetEdgeInTwips(nsIntMargin *aEdge);
1882 nsresult SetupSilentPrinting();
1883 nsresult SetUnwriteableMarginInTwips(nsIntMargin *aEdge);
1884 nsresult GetUnwriteableMarginInTwips(nsIntMargin *aEdge);
1885 }
1886
1887 [
1888 object,
1889 uuid(9a7ca4b0-fbba-11d4-a869-00105a183419),
1890 local
1891 /* FROZEN */
1892 ]
1893 interface nsIWebBrowserPrint : nsISupports
1894 {
1895 nsresult GetGlobalPrintSettings(nsIPrintSettings **aGlobalPrintSettings);
1896 nsresult GetCurrentPrintSettings(nsIPrintSettings **aCurrentPrintSettings);
1897 nsresult GetCurrentChildDOMWindow(nsIDOMWindow **aCurrentChildDOMWindow);
1898 nsresult GetDoingPrint(PRBool *aDoingPrint);
1899 nsresult GetDoingPrintPreview(PRBool *aDoingPrintPreview);
1900 nsresult GetIsFramesetDocument(PRBool *aIsFramesetDocument);
1901 nsresult GetIsFramesetFrameSelected(PRBool *aIsFramesetFrameSelected);
1902 nsresult GetIsIFrameSelected(PRBool *aIsIFrameSelected);
1903 nsresult GetIsRangeSelection(PRBool *aIsRangeSelection);
1904 nsresult GetPrintPreviewNumPages(PRInt32 *aPrintPreviewNumPages);
1905 nsresult Print(nsIPrintSettings *aThePrintSettings, nsIWebProgressListener *aWPListener);
1906 nsresult PrintPreview(nsIPrintSettings *aThePrintSettings, nsIDOMWindow *aChildDOMWin,
1907 nsIWebProgressListener *aWPListener);
1908 nsresult PrintPreviewNavigate(PRInt16 aNavType, PRInt32 aPageNum);
1909 nsresult Cancel();
1910 nsresult EnumerateDocumentNames(PRUint32 *aCount, PRUnichar ***aResult);
1911 nsresult ExitPrintPreview();
1912 }
1913
1914 [
1915 object,
1916 uuid(919e792a-6490-40b8-bba5-f9e9ad5640c8),
1917 local
1918 /* NOT_FROZEN */
1919 ]
1920 interface nsIScrollable : nsISupports
1921 {
1922 enum {
1923 ScrollOrientation_X = 1,
1924 ScrollOrientation_Y = 2
1925 };
1926
1927 enum {
1928 Scrollbar_Auto = 1,
1929 Scrollbar_Never = 2,
1930 Scrollbar_Always = 3
1931 };
1932
1933 nsresult GetCurScrollPos(PRInt32 scrollOrientation, PRInt32 *curPos);
1934 nsresult SetCurScrollPos(PRInt32 scrollOrientation, PRInt32 curPos);
1935 nsresult SetCurScrollPosEx(PRInt32 curHorizontalPos, PRInt32 curVerticalPos);
1936 nsresult GetScrollRange(PRInt32 scrollOrientation, PRInt32 *minPos, PRInt32 *maxPos);
1937 nsresult SetScrollRange(PRInt32 scrollOrientation, PRInt32 minPos, PRInt32 maxPos);
1938 nsresult SetScrollRangeEx(PRInt32 minHorizontalPos, PRInt32 maxHorizontalPos,
1939 PRInt32 minVerticalPos, PRInt32 maxVerticalPos);
1940 nsresult GetDefaultScrollbarPreferences(PRInt32 scrollOrientation, PRInt32 *scrollbarPref);
1941 nsresult SetDefaultScrollbarPreferences(PRInt32 scrollOrientation, PRInt32 scrollbarPref);
1942 nsresult GetScrollbarVisibility(PRBool *verticalVisible, PRBool *horizontalVisible);
1943 }
1944
1945 [
1946 object,
1947 uuid(c8c0a080-0868-11d3-915f-d9d889d48e3c),
1948 local
1949 /* FROZEN */
1950 ]
1951 interface nsIFile : nsISupports
1952 {
1953 nsresult Append(const nsAString *node);
1954 nsresult AppendNative(const nsAString *node);
1955 nsresult Normalize();
1956 nsresult Create(PRUint32 type, PRUint32 permission);
1957 nsresult GetLeafName(nsAString *aLeafName);
1958 nsresult SetLeafName(const nsAString *aLeafName);
1959 nsresult GetNativeLeafName(nsAString *aLeafName);
1960 nsresult SetNativeLeafName(const nsAString *aLeafName);
1961 nsresult CopyTo(nsIFile *newParentDir, const nsAString *newName);
1962 nsresult CopyToNative(nsIFile *newParentDir, const nsAString *newName);
1963 nsresult CopyToFollowingLinks(nsIFile *newParentDir, const nsAString *newName);
1964 nsresult CopyToFollowingLinksNative(nsIFile *newParentDir, const nsAString *newName);
1965 nsresult MoveTo(nsIFile *newParentDir, const nsAString *newName);
1966 nsresult MoveToNative(nsIFile *newParentDir, const nsAString *newName);
1967 nsresult Remove(PRBool recursive);
1968 nsresult GetPermissions(PRUint32 *aPermissions);
1969 nsresult SetPermissions(PRUint32 pPermissions);
1970 nsresult GetPermissionsOfLink(PRUint32 *aPermissions);
1971 nsresult SetPermissionsOfLink(PRUint32 pPermissions);
1972 nsresult GetLastModifiedTime(PRInt64 *aLastModifiedTime);
1973 nsresult SetLastModifiedTime(PRInt64 aLastModifiedTime);
1974 nsresult GetFileSize(PRInt64 *aFileSize);
1975 nsresult SetFileSize(PRInt64 aFileSize);
1976 nsresult GetFileSizeOfLink(PRInt64 *aFileSizeOfLink);
1977 nsresult GetTarget(nsAString *aTarget);
1978 nsresult GetNativeTarget(nsACString *aNativeTarget);
1979 nsresult GetPath(nsAString *aPath);
1980 nsresult GetNativePath(nsACString *aNativePath);
1981 nsresult Exists(PRBool *_retval);
1982 nsresult IsWritable(PRBool *_retval);
1983 nsresult IsReadable(PRBool *_retval);
1984 nsresult IsExecutable(PRBool *_retval);
1985 nsresult IsHidden(PRBool *_retval);
1986 nsresult IsDirectory(PRBool *_retval);
1987 nsresult IsFile(PRBool *_retval);
1988 nsresult IsSymlink(PRBool *_retval);
1989 nsresult IsSpecial(PRBool *_retval);
1990 nsresult CreateUnique(PRUint32 type, PRUint32 permission);
1991 nsresult Clone(nsIFile **_retval);
1992 nsresult Equals(nsIFile *inFile, PRBool *_retval);
1993 nsresult Contains(nsIFile *inFile, PRBool recir, PRBool *_retval);
1994 nsresult GetParent(nsIFile **aParent);
1995 nsresult GetDirectoryEntries(nsISimpleEnumerator **aDirectoryEntries);
1996 }
1997
1998 [
1999 object,
2000 uuid(56c35506-f14b-11d3-99d3-ddbfac2ccf65),
2001 local
2002 /* FROZEN */
2003 ]
2004 interface nsIPrefBranch : nsISupports
2005 {
2006 nsresult GetRoot(char **aRoot);
2007 nsresult GetPrefType(const char *aPrefName, PRInt32 *_retval);
2008 nsresult GetBoolPref(const char *aPrefName, PRBool *_retval);
2009 nsresult SetBoolPref(const char *aPrefName, PRInt32 aValue);
2010 nsresult GetCharPref(const char *aPrefName, char **_retval);
2011 nsresult SetCharPref(const char *aPrefName, const char *aValue);
2012 nsresult GetIntPref(const char *aPrefName, PRInt32 *_retval);
2013 nsresult SetIntPref(const char *aPrefName, PRInt32 aValue);
2014 nsresult GetComplexValue(const char *aPrefName, const nsIID *aType, void **aValue);
2015 nsresult SetComplexValue(const char *aPrefName, const nsIID *aType, nsISupports *aValue);
2016 nsresult ClearUserPref(const char *aPrefName);
2017 nsresult LockPref(const char *aPrefName);
2018 nsresult PrefHasUserValue(const char *aPrefName, PRBool *_retval);
2019 nsresult PrefIsLocked(const char *aPrefName, PRBool *_retval);
2020 nsresult UnlockPref(const char *aPrefName);
2021 nsresult DeleteBranch(const char *aStartingAt);
2022 nsresult GetChildList(const char *aStartingAt, PRUint32 *aCount, char ***aChildArray);
2023 nsresult ResetBranch(const char *aStartingAt);
2024 }
2025
2026 [
2027 object,
2028 uuid(15fd6940-8ea7-11d3-93ad-00104ba0fd40),
2029 local
2030 /* FROZEN */
2031 ]
2032 interface nsIProtocolHandler : nsISupports
2033 {
2034 nsresult GetScheme(nsACString *aScheme);
2035 nsresult GetDefaultPort(PRInt32 *aDefaultPort);
2036 nsresult GetProtocolFlags(PRUint32 *aProtocolFlags);
2037 nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset,
2038 nsIURI *aBaseURI, nsIURI **_retval);
2039 nsresult NewChannel(nsIURI *aURI, nsIChannel **_retval);
2040 nsresult AllowPort(PRInt32 port, const char *scheme, PRBool *_retval);
2041 }
2042
2043 [
2044 object,
2045 uuid(0e61f3b2-34d7-4c79-bfdc-4860bc7341b7),
2046 local
2047 /* NOT_FROZEN */
2048 ]
2049 interface nsIExternalProtocolHandler : nsIProtocolHandler
2050 {
2051 nsresult ExternalAppExistsForScheme(const nsACString *scheme, PRBool *_retval);
2052 }
2053
2054 [
2055 object,
2056 uuid(bddeda3f-9020-4d12-8c70-984ee9f7935e),
2057 local
2058 /* FROZEN */
2059 ]
2060 interface nsIIOService : nsISupports
2061 {
2062 nsresult GetProtocolHandler(const char *aScheme, nsIProtocolHandler **_retval);
2063 nsresult GetProtocolFlags(const char *aScheme, PRUint32 *_retval);
2064 nsresult NewURI(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
2065 nsIURI **_retval);
2066 nsresult NewFileURI(nsIFile *aFile, nsIURI **_retval);
2067 nsresult NewChannelFromURI(nsIURI *aURI, nsIChannel **_retval);
2068 nsresult NewChannel(const nsACString *aSpec, const char *aOriginCharset, nsIURI *aBaseURI,
2069 nsIChannel **_retval);
2070 nsresult GetOffline(PRBool *aOffline);
2071 nsresult SetOffline(PRBool aOffline);
2072 nsresult AllowPort(PRInt32 aPort, const char *aScheme, PRBool *_retval);
2073 nsresult ExtractScheme(const nsACString *urlString, nsACString * _retval);
2074 }
2075
2076 [
2077 object,
2078 uuid(a50d5516-5c0a-4f08-b427-703ca0c44ac3),
2079 local,
2080 /* NOT_FROZEN */
2081 ]
2082 interface nsINetUtil : nsISupports
2083 {
2084 nsresult ParseContentType(const nsACString *aTypeHeader, nsACString *aCharset,
2085 PRBool *aHadCharset, nsACString *_retval);
2086 nsresult ProtocolHasFlags(nsIURI *aURI, PRUint32 aFlag, PRBool *_retval);
2087 nsresult URIChainHasFlags(nsIURI *aURI, PRUint32 aFlags, PRBool *_retval);
2088 nsresult ToImmutableURI(nsIURI *aURI, nsIURI **_retval);
2089 nsresult EscapeString(const nsACString *aString, PRUint32 aEscapeType, nsACString *_retval);
2090 nsresult EscapeURL(const nsACString *aStr, PRUint32 aFlags, nsACString *_retval);
2091 nsresult UnescapeString(const nsACString *aStr, PRUint32 aFlags, nsACString *_retval);
2092 nsresult ExtractCharsetFromContentType(const nsACString *aTypeHeader, nsACString *aCharset,
2093 PRInt32 *aCharsetStart, PRInt32 *aCharsetEnd, PRBool *_retval);
2094 }
2095
2096 [
2097 object,
2098 uuid(9c5d3c58-1dd1-11b2-a1c9-f3699284657a),
2099 local
2100 /* FROZEN */
2101 ]
2102 interface nsIWebBrowserFocus : nsISupports
2103 {
2104 nsresult Activate();
2105 nsresult Deactivate();
2106 nsresult SetFocusAtFirstElement();
2107 nsresult SetFocusAtLastElement();
2108 nsresult GetFocusedWindow(nsIDOMWindow **aFocusedWindow);
2109 nsresult SetFocusedWindow(nsIDOMWindow *aFocusedWindow);
2110 nsresult GetFocusedElement(nsIDOMElement **aFocusedElement);
2111 nsresult SetFocusedElement(nsIDOMElement *aFocusedElement);
2112 }
2113
2114 [
2115 object,
2116 uuid(ba434c60-9d52-11d3-afb0-00a024ffc08c),
2117 local
2118 /* FROZEN */
2119 ]
2120 interface nsIWebBrowserChrome : nsISupports
2121 {
2122 nsresult SetStatus(PRUint32 statusType, const PRUnichar *status);
2123 nsresult GetWebBrowser(nsIWebBrowser **aWebBrowser);
2124 nsresult SetWebBrowser(nsIWebBrowser *aWebBrowser);
2125 nsresult GetChromeFlags(PRUint32 *aChromeFlags);
2126 nsresult SetChromeFlags(PRUint32 aChromeFlags);
2127 nsresult DestroyBrowserWindow();
2128 nsresult SizeBrowserTo(PRInt32 aCX, PRInt32 aCY);
2129 nsresult ShowAsModal();
2130 nsresult IsWindowModal(PRBool *_retval);
2131 nsresult ExitModalEventLoop(nsresult aStatus);
2132 }
2133
2134 [
2135 object,
2136 uuid(df31c120-ded6-11d1-bd85-00805f8ae3f4),
2137 local
2138 /* FROZEN */
2139 ]
2140 interface nsIDOMEventListener : nsISupports
2141 {
2142 nsresult HandleEvent(nsIDOMEvent *event);
2143 }
2144
2145 [
2146 object,
2147 uuid(1c773b30-d1cf-11d2-bd95-00805f8ae3f4),
2148 local
2149 /* FROZEN */
2150 ]
2151 interface nsIDOMEventTarget : nsISupports
2152 {
2153 nsresult AddEventListener(const nsAString *type, nsIDOMEventListener *listener, PRBool useCapture);
2154 nsresult RemoveEventListener(const nsAString *type, nsIDOMEventListener *listener, PRBool useCapture);
2155 nsresult DispatchEvent(nsIDOMEvent *evt, PRBool *_retval);
2156 }
2157
2158 [
2159 object,
2160 uuid(a66b7b80-ff46-bd97-0080-5f8ae38add32),
2161 local
2162 /* FROZEN */
2163 ]
2164 interface nsIDOMEvent : nsISupports
2165 {
2166 nsresult GetType(nsAString *aType);
2167 nsresult GetTarget(nsIDOMEventTarget **aTarget);
2168 nsresult GetCurrentTarget(nsIDOMEventTarget **aCurrentTarget);
2169 nsresult GetEventPhase(PRUint16 *aEventPhase);
2170 nsresult GetBubbles(PRBool *aBubbles);
2171 nsresult GetCancelable(PRBool *aCancelable);
2172 nsresult GetTimeStamp(DOMTimeStamp *aTimeStamp);
2173 nsresult StopPropagation();
2174 nsresult PreventDefault();
2175 nsresult InitEvent(const nsAString *eventTypeArg, PRBool canBubbleArg, PRBool cancelableArg);
2176 }
2177
2178 cpp_quote("#define CONTEXT_NONE 0x00")
2179 cpp_quote("#define CONTEXT_LINK 0x01")
2180 cpp_quote("#define CONTEXT_IMAGE 0x02")
2181 cpp_quote("#define CONTEXT_DOCUMENT 0x04")
2182 cpp_quote("#define CONTEXT_TEXT 0x08")
2183 cpp_quote("#define CONTEXT_INPUT 0x10")
2184 cpp_quote("#define CONTEXT_BACKGROUND_IMAGE 0x20")
2185
2186 [
2187 object,
2188 uuid(3478b6b0-3875-11d4-94ef-0020183bf181),
2189 local
2190 /* FROZEN */
2191 ]
2192 interface nsIContextMenuListener : nsISupports
2193 {
2194 nsresult OnShowContextMenu(PRUint32 aContextFlags, nsIDOMEvent *aEvent, nsIDOMNode *aNode);
2195 }
2196
2197 [
2198 object,
2199 uuid(a6cf90c3-15b3-11d2-932e-00805f8add32),
2200 local
2201 /* FROZEN */
2202 ]
2203 interface nsIDOMUIEvent : nsIDOMEvent
2204 {
2205 nsresult GetView(nsIDOMAbstractView **aView);
2206 nsresult GetDetail(PRInt32 *aDetail);
2207 nsresult InitUIEvent(const nsAString *typeArg, PRBool canBubbleArg, PRBool cancelableArg,
2208 nsIDOMAbstractView *viewArg, PRInt32 detailArg);
2209 }
2210
2211 [
2212 object,
2213 uuid(ff751edc-8b02-aae7-0010-8301838a3123),
2214 local
2215 /* FROZEN */
2216 ]
2217 interface nsIDOMMouseEvent : nsIDOMUIEvent
2218 {
2219 nsresult GetScreenX(PRInt32 *aScreenX);
2220 nsresult GetScreenY(PRInt32 *aScreenY);
2221 nsresult GetClientX(PRInt32 *aClientX);
2222 nsresult GetClientY(PRInt32 *aClientY);
2223 nsresult GetCtrlKey(PRBool *aCtrlKey);
2224 nsresult GetShiftKey(PRBool *aShiftKey);
2225 nsresult GetAltKey(PRBool *aAltKey);
2226 nsresult GetMetaKey(PRBool *aMetaKey);
2227 nsresult GetButton(PRUint16 *aButton);
2228 nsresult GetRelatedTarget(nsIDOMEventTarget **aRelatedTarget);
2229 nsresult InitMouseEvent(const nsAString *typeArg, PRBool canBubbleArg, PRBool cancelableArg,
2230 nsIDOMAbstractView *viewArg, PRInt32 detailArg, PRInt32 screenXArg, PRInt32 screenYArg,
2231 PRInt32 clientXArg, PRInt32 clientYArg, PRBool ctrlKeyArg, PRBool altKeyArg,
2232 PRBool shiftKeyArg, PRBool metaKeyArg, PRUint16 buttonArg,
2233 nsIDOMEventTarget *relatedTargetArg);
2234 }
2235
2236 [
2237 object,
2238 uuid(028e0e6e-8b01-11d3-aae7-0010838a3123),
2239 local
2240 /* NOT_FROZEN */
2241 ]
2242 interface nsIDOMKeyEvent : nsIDOMUIEvent
2243 {
2244 nsresult GetCharCode(PRUint32 *aCharCode);
2245 nsresult GetKeyCode(PRUint32 *aKeyCode);
2246 nsresult GetAltKey(PRBool *aAltKey);
2247 nsresult GetCtrlKey(PRBool *aCtrlKey);
2248 nsresult GetShiftKey(PRBool *aShiftKey);
2249 nsresult GetMetaKey(PRBool *aMetaKey);
2250 nsresult InitKeyEvent(const nsAString *typeArg, PRBool canBubbleArg,
2251 PRBool cancelableArg, nsIDOMAbstractView *viewArg, PRBool ctrlKeyArg,
2252 PRBool altKeyArg, PRBool shiftKeyArg, PRBool metaKeyArg, PRUint32 keyCodeArg,
2253 PRUint32 charCodeArg);
2254 }
2255
2256 [
2257 object,
2258 uuid(3e5432cd-9568-4bd1-8cbe-d50aba110743),
2259 local
2260 /* FROZEN */
2261 ]
2262 interface nsIEmbeddingSiteWindow : nsISupports
2263 {
2264 nsresult SetDimensions(PRUint32 flags, PRInt32 x, PRInt32 y, PRInt32 cx, PRInt32 cy);
2265 nsresult GetDimensions(PRUint32 flags, PRInt32 *x, PRInt32 *y, PRInt32 *cx, PRInt32 *cy);
2266 nsresult SetFocus();
2267 nsresult GetVisibility(PRBool *aVisibility);
2268 nsresult SetVisibility(PRBool aVisibility);
2269 nsresult GetTitle(PRUnichar **aTitle);
2270 nsresult SetTitle(const PRUnichar *aTitle);
2271 nsresult GetSiteWindow(void **aSiteWindow);
2272 }
2273
2274 [
2275 object,
2276 uuid(2417cbfe-65ad-48a6-b4b6-eb84db174392),
2277 local
2278 /* FROZEN */
2279 ]
2280 interface nsIComponentRegistrar : nsISupports
2281 {
2282 nsresult AutoRegister(nsIFile *aSpec);
2283 nsresult AutoUnregister(nsIFile *aSpec);
2284 nsresult RegisterFactory(const nsCID *aClass, const char *aClassName,
2285 const char *aContractID, nsIFactory *aFactory);
2286 nsresult UnregisterFactory(const nsCID *aClass, nsIFactory *aFactory);
2287 nsresult RegisterFactoryLocation(const nsCID *aClass, const char *aClassName,
2288 const char *aContractID, nsIFile *aFile, const char *aLoaderStr,
2289 const char *aType);
2290 nsresult UnregisterFactoryLocation(const nsCID *aClass, nsIFile *aFile);
2291 nsresult IsCIDRegistered(const nsCID *aClass, PRBool *_retval);
2292 nsresult IsContractIDRegistered(const char *aContractID, PRBool *_retval);
2293 nsresult EnumerateCIDs(nsISimpleEnumerator **_retval);
2294 nsresult EnumerateContractIDs(nsISimpleEnumerator **_retval);
2295 nsresult CIDToContractID(const nsCID *aClass, char **_retval);
2296 nsresult ContractIDToCID(const char *aContractID, nsCID **_retval);
2297 }
2298
2299 [
2300 object,
2301 uuid(1630c61a-325e-49ca-8759-a31b16c47aa5),
2302 local
2303 /* FROZEN */
2304 ]
2305 interface nsIPromptService : nsISupports
2306 {
2307 nsresult Alert(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2308 const PRUnichar *aText);
2309 nsresult AlertCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2310 const PRUnichar *aText, const PRUnichar *aCheckMsg, PRBool *aCheckState);
2311 nsresult Confirm(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2312 const PRUnichar *aText, PRBool *_retval);
2313 nsresult ConfirmCheck(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2314 const PRUnichar *aText, const PRUnichar *aCheckMsg, PRBool *aCheckState,
2315 PRBool *_retval);
2316 nsresult ConfirmEx(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2317 const PRUnichar *aText, PRUint32 aButtonFlags, const PRUnichar *aButton0Title,
2318 const PRUnichar *aButton1Title, const PRUnichar *aButton2Title,
2319 const PRUnichar *aCheckMsg, PRBool *aCheckState, PRInt32 *_retval);
2320 nsresult Prompt(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2321 const PRUnichar *aText, PRUnichar **aValue, const PRUnichar *aCheckMsg,
2322 PRBool *aCheckState, PRBool *_retval);
2323 nsresult PromptUsernameAndPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2324 const PRUnichar *aText, PRUnichar **aUsername, PRUnichar **aPassword,
2325 const PRUnichar *aCheckMsg, PRBool *aCheckState, PRBool *_retval);
2326 nsresult PromptPassword(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2327 const PRUnichar *aText, PRUnichar **aPassword, const PRUnichar *aCheckMsg,
2328 PRBool *aCheckState, PRBool *_retval);
2329 nsresult Select(nsIDOMWindow *aParent, const PRUnichar *aDialogTitle,
2330 const PRUnichar *aText, PRUint32 aCount, const PRUnichar **aSelectList,
2331 PRInt32 *aOutSelection, PRBool *_retval);
2332 }
2333
2334 [
2335 object,
2336 uuid(b128a1e6-44f3-4331-8fbe-5af360ff21ee),
2337 local
2338 /* FROZEN */
2339 ]
2340 interface nsITooltipTextProvider : nsISupports
2341 {
2342 nsresult GetNodeText(nsIDOMNode *aNode, PRUnichar **aText, PRBool *_retval);
2343 }
2344
2345 [
2346 object,
2347 uuid(02b0625a-e7f3-11d2-9f5a-006008a6efe9),
2348 local
2349 /* FROZEN */
2350 ]
2351 interface nsIProfile : nsISupports
2352 {
2353 nsresult GetProfileCount(PRInt32 *aProfileCount);
2354 nsresult GetProfileList(PRUint32 *length, PRUnichar ***profileNames);
2355 nsresult ProfileExists(const PRUnichar *profileName, PRBool *_retval);
2356 nsresult GetCurrentProfile(PRUnichar **aCurrentProfile);
2357 nsresult SetCurrentProfile(const PRUnichar * aCurrentProfile);
2358 nsresult ShutDownCurrentProfile(PRUint32 shutDownType);
2359 nsresult CreateNewProfile(const PRUnichar *profileName,
2360 const PRUnichar *nativeProfileDir, const PRUnichar *langcode,
2361 PRBool useExistingDir);
2362 nsresult RenameProfile(const PRUnichar *oldName, const PRUnichar *newName);
2363 nsresult DeleteProfile(const PRUnichar *name, PRBool canDeleteFiles);
2364 nsresult CloneProfile(const PRUnichar *profileName);
2365 }
2366
2367 [
2368 object,
2369 uuid(30465632-a777-44cc-90f9-8145475ef999),
2370 local
2371 /* FROZEN */
2372 ]
2373 interface nsIWindowCreator : nsISupports
2374 {
2375 nsresult CreateChromeWindow(nsIWebBrowserChrome *parent, PRUint32 chromeFlags,
2376 nsIWebBrowserChrome **_retval);
2377 }
2378
2379 [
2380 object,
2381 uuid(f673ec81-a4b0-11d6-964b-eb5a2bf216fc),
2382 local
2383 /* NOT_FROZEN */
2384 ]
2385 interface nsIWindowCreator2 : nsIWindowCreator
2386 {
2387 nsresult CreateChromeWindow2(nsIWebBrowserChrome *parent, PRUint32 chromeFlags,
2388 PRUint32 contextFlags, nsIURI *uri, PRBool *cancel,
2389 nsIWebBrowserChrome **_retval);
2390 }
2391
2392 [
2393 object,
2394 uuid(002286a8-494b-43b3-8ddd-49e3fc50622b),
2395 local
2396 /* FROZEN */
2397 ]
2398 interface nsIWindowWatcher : nsISupports
2399 {
2400 nsresult OpenWindow(nsIDOMWindow *aParent, const char *aUrl, const char *aName,
2401 const char *aFeatures, nsISupports *aArguments, nsIDOMWindow **_retval);
2402 nsresult RegisterNotification(nsIObserver *aObserver);
2403 nsresult UnregisterNotification(nsIObserver *aObserver);
2404 nsresult GetWindowEnumerator(nsISimpleEnumerator **_retval);
2405 nsresult GetNewPrompter(nsIDOMWindow *aParent, nsIPrompt **_retval);
2406 nsresult GetNewAuthPrompter(nsIDOMWindow *aParent, nsIAuthPrompt **_retval);
2407 nsresult SetWindowCreator(nsIWindowCreator *creator);
2408 nsresult GetChromeForWindow(nsIDOMWindow *aWindow, nsIWebBrowserChrome **_retval);
2409 nsresult GetWindowByName(const PRUnichar *aTargetName, nsIDOMWindow *aCurrentWindow,
2410 nsIDOMWindow **_retval);
2411 nsresult GetActiveWindow(nsIDOMWindow **aActiveWindow);
2412 nsresult SetActiveWindow(nsIDOMWindow *aActiveWindow);
2413 }
2414
2415 [
2416 object,
2417 uuid(274cd32e-3675-47e1-9d8a-fc6504ded9ce),
2418 local
2419 /* NOT_FROZEN */
2420 ]
2421 interface nsIEditingSession : nsISupports
2422 {
2423 nsresult GetEditorStatus(PRUint32 *aEditorStatus);
2424 nsresult MakeWindowEditable(nsIDOMWindow *window, const char *aEditorType,
2425 PRBool doAfterUriLoad, PRBool aMakeWholeDocumentEditable, PRBool aInteractive);
2426 nsresult WindowIsEditable(nsIDOMWindow *window, PRBool *_retval);
2427 nsresult GetEditorForWindow(nsIDOMWindow *window, nsIEditor **_retval);
2428 nsresult SetupEditorOnWindow(nsIDOMWindow *window);
2429 nsresult TearDownEditorOnWindow(nsIDOMWindow *window);
2430 nsresult SetEditorOnControllers(nsIDOMWindow *aWindow, nsIEditor *aEditor);
2431 nsresult DisableJSAndPlugins(nsIDOMWindow *aWindow);
2432 nsresult RestoreJSAndPlugins(nsIDOMWindow *aWindow);
2433 nsresult DetachFromWindow(nsIDOMWindow *aWindow);
2434 nsresult ReattachToWindow(nsIDOMWindow *aWindow);
2435 }
2436
2437 [
2438 object,
2439 uuid(83f892cf-7ed3-490e-967a-62640f3158e1),
2440 local
2441 /* NOT_FROZEN */
2442 ]
2443 interface nsICommandParams : nsISupports
2444 {
2445 nsresult GetValueType(const char *name, PRInt16 *_retval);
2446 nsresult GetBooleanValue(const char *name, PRBool *_retval);
2447 nsresult GetLongValue(const char *name, PRInt32 *_retval);
2448 nsresult GetDoubleValue(const char *name, double *_retval);
2449 nsresult GetStringValue(const char *name, nsAString *_retval);
2450 nsresult GetCStringValue(const char *name, char **_retval);
2451 nsresult GetISupportsValue(const char *name, nsISupports **_retval);
2452 nsresult SetBooleanValue(const char *name, PRBool value);
2453 nsresult SetLongValue(const char *name, PRInt32 value);
2454 nsresult SetDoubleValue(const char *name, double value);
2455 nsresult SetStringValue(const char *name, const nsAString *value);
2456 nsresult SetCStringValue(const char *name, const char *value);
2457 nsresult SetISupportsValue(const char *name, nsISupports *value);
2458 nsresult RemoveValue(const char *name);
2459 nsresult HasMoreElements(PRBool *_retval);
2460 nsresult First();
2461 nsresult GetNext(char **_retval);
2462 }
2463
2464 [
2465 object,
2466 uuid(080d2001-f91e-11d4-a73c-f9242928207c),
2467 local
2468 /* NOT_FROZEN */
2469 ]
2470 interface nsICommandManager : nsISupports
2471 {
2472 nsresult AddCommandObserver(nsIObserver *aCommandObserver, const char *aCommandToObserve);
2473 nsresult RemoveCommandObserver(nsIObserver *aCommandObserver, const char *aCommandObserved);
2474 nsresult IsCommandSupported(const char *aCommandName, nsIDOMWindow *aTargetWindow, PRBool *_retval);
2475 nsresult IsCommandEnabled(const char *aCommandName, nsIDOMWindow *aTargetWindow, PRBool *_retval);
2476 nsresult GetCommandState(const char *aCommandName, nsIDOMWindow *aTargetWindow,
2477 nsICommandParams *aCommandParams);
2478 nsresult DoCommand(const char *aCommandName, nsICommandParams *aCommandParams,
2479 nsIDOMWindow *aTargetWindow);
2480 }
2481
2482 [
2483 object,
2484 uuid(47b82b60-a36f-4167-8072-6f421151ed50),
2485 local
2486 /* NOT_FROZEN */
2487 ]
2488 interface nsIControllerContext : nsISupports
2489 {
2490 nsresult Init(nsIControllerCommandTable *aCommandTable);
2491 nsresult SetCommandContext(nsISupports *aCommandContext);
2492 }
2493
2494 [
2495 object,
2496 uuid(d5b61b82-1da4-11d3-bf87-00105a1b0627),
2497 local
2498 /* NOT_FROZEN */
2499 ]
2500 interface nsIController : nsISupports
2501 {
2502 nsresult IsCommandEnabled(const char *command, PRBool *_retval);
2503 nsresult SupportsCommand(const char *command, PRBool *_retval);
2504 nsresult DoCommand(const char *command);
2505 nsresult OnEvent(const char *eventName);
2506 }
2507
2508 [
2509 object,
2510 uuid(34769de0-30d0-4cef-894a-fcd8bb27c4b4),
2511 local
2512 /* NOT_FROZEN */
2513 ]
2514 interface nsIContentSerializer : nsISupports
2515 {
2516 nsresult Init(PRUint32 flags, PRUint32 aWrapColumn, const char* aCharSet, PRBool aIsCopying,
2517 PRBool aIsWholeDocument);
2518 nsresult AppendText(nsIDOMText *aText, PRInt32 aStartOffset, PRInt32 aEndOffset, nsAString *aStr);
2519 nsresult AppendCDATASection(nsIDOMCDATASection *aCDATASection, PRInt32 aStartOffset,
2520 PRInt32 aEndOffset, nsAString *aStr);
2521 nsresult AppendProcessingInstruction(nsIDOMProcessingInstruction* aPI, PRInt32 aStartOffset,
2522 PRInt32 aEndOffset, nsAString *aStr);
2523 nsresult AppendComment(nsIDOMComment *aComment, PRInt32 aStartOffset, PRInt32 aEndOffset,
2524 nsAString *aStr);
2525 nsresult AppendDoctype(nsIDOMDocumentType *aDoctype, nsAString *aStr);
2526 nsresult AppendElementStart(nsIDOMElement *aElement, nsIDOMElement *aOriginalElement,
2527 nsAString *aStr);
2528 nsresult AppendElementEnd(nsIDOMElement *aElement, nsAString *aStr);
2529 nsresult Flush(nsAString *aStr);
2530 nsresult AppendDocumentStart(nsIDOMDocument *aDocument, nsAString *aStr);
2531 }
2532
2533 [
2534 object,
2535 uuid(96b60ba0-634a-41e4-928e-78ab0b3c4b46),
2536 local
2537 /* NOT_FROZEN */
2538 ]
2539 interface nsIEditor : nsISupports
2540 {
2541 typedef void *nsIPresShellPtr;
2542 typedef void *nsIContentPtr;
2543
2544 nsresult GetSelection([out] nsISelection *_retval);
2545 nsresult Init([in] nsIDOMDocument *doc, [in] nsIPresShellPtr shell, [in] nsIContentPtr aRoot, [in] nsISelectionController *aSelCon, [in] PRUint32 aFlags);
2546 nsresult SetAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] const nsAString *sourceAttrValue, [in] PRBool aSuppressTransaction);
2547 nsresult RemoveAttributeOrEquivalent([in] nsIDOMElement *element, [in] const nsAString *sourceAttrName, [in] PRBool aSuppressTransaction);
2548 nsresult PostCreate();
2549 nsresult PreDestroy();
2550 nsresult GetFlags([out] PRUint32 *_retval);
2551 nsresult SetFlags([in] PRUint32 val);
2552 nsresult GetContentsMIMEType([out] char **_retval);
2553 nsresult SetContentsMIMEType([in] const char *val);
2554 nsresult GetIsDocumentEditable([out] PRBool *_retval);
2555 nsresult GetDocument([out] nsIDOMDocument **_retval);
2556 nsresult GetRootElement([out] nsIDOMElement **_retval);
2557 nsresult GetSelectionController([out] nsISelectionController **_retval);
2558 nsresult DeleteSelection([in] PRInt16 action);
2559 nsresult GetDocumentIsEmpty([out] PRBool *_retval);
2560 nsresult GetDocumentModified([out] PRBool *_retval);
2561 nsresult GetDocumentCharacterSet([out] nsACString *_retval);
2562 nsresult SetDocumentCharacterSet([in] const nsACString *val);
2563 nsresult ResetModificationCount();
2564 nsresult GetModificationCount([out] PRInt32 *_retval);
2565 nsresult IncrementModificationCount([in] PRInt32 aModCount);
2566 nsresult GetTransactionManager([out] nsITransactionManager **_retval);
2567 nsresult SetTransactionManager(nsITransactionManager *aTransactionManager);
2568 nsresult DoTransaction([in] nsITransaction *txn);
2569 nsresult EnableUndo([in] PRBool enable);
2570 nsresult Undo([in] PRUint32 count);
2571 nsresult CanUndo([out] PRBool *isEnabled, [out] PRBool *canUndo);
2572 nsresult Redo([in] PRUint32 count);
2573 nsresult CanRedo([out] PRBool *isEnabled, [out] PRBool *canRedo);
2574 nsresult BeginTransaction();
2575 nsresult EndTransaction();
2576 nsresult BeginPlaceHolderTransaction([in] nsIAtom *name);
2577 nsresult EndPlaceHolderTransaction();
2578 nsresult ShouldTxnSetSelection([out] PRBool *_retval);
2579 nsresult SetShouldTxnSetSelection([in] PRBool should);
2580 nsresult GetInlineSpellChecker([out] nsIInlineSpellChecker **_retval);
2581 nsresult SyncRealTimeSpell();
2582 nsresult SetSpellcheckUserOverride(PRBool enable);
2583 nsresult Cut();
2584 nsresult CanCut([out] PRBool *_retval);
2585 nsresult Copy();
2586 nsresult CanCopy([out] PRBool *_retval);
2587 nsresult Paste([in] PRInt32 aSelectionType);
2588 nsresult CanPaste([in] PRInt32 aSelectionType, [out] PRBool *_retval);
2589 nsresult SelectAll();
2590 nsresult BeginningOfDocument();
2591 nsresult EndOfDocument();
2592 nsresult CanDrag([in] nsIDOMEvent *aEvent, [out] PRBool *_retval);
2593 nsresult DoDrag([in] nsIDOMEvent *aEvent);
2594 nsresult InsertFromDrop([in] nsIDOMEvent *aEvent);
2595 nsresult SetAttribute([in] nsIDOMElement *aElement, [in] const nsAString *attributestr, [in] const nsAString *attvalue);
2596 nsresult GetAttributeValue([in] nsIDOMElement *aElement, [in] const nsAString *attributestr, [out] nsAString *resultValue, PRBool *_retval);
2597 nsresult RemoveAttribute([in] nsIDOMElement *aElement, [in] const nsAString *aAttribute);
2598 nsresult CloneAttribute([in] const nsAString *aAttribute, [in] nsIDOMNode *aDestNode, [in] nsIDOMNode *aSourceNode);
2599 nsresult CloneAttributes([in] nsIDOMNode *destNode, [in] nsIDOMNode *sourceNode);
2600 nsresult CreateNode([in] const nsAString *tag, [in] nsIDOMNode *parent, [in] PRInt32 position, [out] nsIDOMNode **_retval);
2601 nsresult InsertNode([in] nsIDOMNode *node, [in] nsIDOMNode *parent, [in] PRInt32 aPosition);
2602 nsresult SplitNode([in] nsIDOMNode *existingRightNode, [in] PRInt32 offset, [out] nsIDOMNode **newLeftNode);
2603 nsresult JoinNodes([in] nsIDOMNode *leftNode, [in] nsIDOMNode *rightNode, [in] nsIDOMNode *parent);
2604 nsresult DeleteNode([in] nsIDOMNode *child);
2605 nsresult MarkNodeDirty([in] nsIDOMNode *node);
2606 nsresult SwitchTextDirection();
2607 nsresult OutputToString([in] nsAString formatType, [in] PRUint32 flags, [out] nsAString *_retval);
2608 nsresult OutputToStream([in] nsIOutputStream *aStream, [in] nsAString *formatType, [in] nsACString *charsetOverride, [in] PRUint32 flags);
2609 nsresult AddEditorObserver([in] nsIEditorObserver *observer);
2610 nsresult RemoveEditorObserver([in] nsIEditorObserver *observer);
2611 nsresult AddEditActionListener([in] nsIEditActionListener *listener);
2612 nsresult RemoveEditActionListener([in] nsIEditActionListener *listener);
2613 nsresult AddDocumentStateListener([in] nsIDocumentStateListener *listener);
2614 nsresult RemoveDocumentStateListener([in] nsIDocumentStateListener *listener);
2615 nsresult DumpContentTree();
2616 nsresult DebugDumpContent();
2617 nsresult DebugUnitTests([out] PRInt32 *outNumTests, [out] PRInt32 *outNumTestsFailed);
2618 PRBool IsModifiableNode(nsIDOMNode *aNode);
2619 }
2620
2621 [
2622 object,
2623 uuid(afc36593-5787-4420-93d9-b2c0ccbf0cad),
2624 local
2625 /* NOT_FROZEN */
2626 ]
2627 interface nsIHTMLEditor : nsISupports
2628 {
2629 nsresult AddDefaultProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
2630 nsresult RemoveDefaultProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
2631 nsresult RemoveAllDefaultProperties();
2632 nsresult SetCSSInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
2633 nsresult SetInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue);
2634 nsresult GetInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue, [out] PRBool *aFirst, [out] PRBool *aAny, [out] PRBool *aAll);
2635 nsresult GetInlinePropertyWithAttrValue([in] nsIAtom *aProperty, [in] nsAString *aAttribute, [in] nsAString *aValue, [out] PRBool *aFirst, [out] PRBool *aAny, [out] PRBool *aAll, [out] nsAString *_retval);
2636 nsresult RemoveAllInlineProperties();
2637 nsresult RemoveInlineProperty([in] nsIAtom *aProperty, [in] nsAString *aAttribute);
2638 nsresult IncreaseFontSize();
2639 nsresult DecreaseFontSize();
2640 nsresult CanDrag([in] nsIDOMEvent *aEvent, [out] PRBool *_retval);
2641 nsresult DoDrag([in] nsIDOMEvent *aEvent);
2642 nsresult InsertFromDrop([in] nsIDOMEvent *aEvent);
2643 nsresult NodeIsBlock([in] nsIDOMNode *node, PRBool *_retval);
2644 nsresult InsertHTML([in] nsAString *aInputString);
2645 nsresult PasteNoFormatting([in] PRInt32 aSelectionType);
2646 nsresult RebuildDocumentFromSource([in] nsAString *aSourceString);
2647 nsresult InsertHTMLWithContext([in] nsAString *aInputString, [in] nsAString *aContextStr, [in] nsAString *aInfoStr, [in] nsAString *aFlavor, [in] nsIDOMDocument *aSourceDoc, [in] nsIDOMNode *aDestinationNode, [in] PRInt32 aDestinationOffset, [in] PRBool aDeleteSelection);
2648 nsresult InsertElementAtSelection([in] nsIDOMElement *aElement, [in] PRBool aDeleteSelection);
2649 nsresult SetDocumentTitle([in] nsAString *aTitle);
2650 nsresult UpdateBaseURL();
2651 nsresult SelectElement([in] nsIDOMElement *aElement);
2652 nsresult SetCaretAfterElement([in] nsIDOMElement *aElement);
2653 nsresult SetParagraphFormat([in] nsAString *aParagraphFormat);
2654 nsresult GetParagraphState([out] PRBool *aMixed, [out] nsAString *_retval);
2655 nsresult GetFontFaceState([out] PRBool *aMixed, [out] nsAString *_retval);
2656 nsresult GetFontColorState([out] PRBool *aMixed, [out] nsAString *_retval);
2657 nsresult GetBackgroundColorState([out] PRBool *aMixed, [out] nsAString *_retval);
2658 nsresult GetHighlightColorState([out] PRBool *aMixed, [out] nsAString *_retval);
2659 nsresult GetListState([out] PRBool *aMixed, [out] PRBool *aOL, [out] PRBool *aUL, [out] PRBool *aDL);
2660 nsresult GetListItemState([out] PRBool *aMixed, [out] PRBool *aLI, [out] PRBool *aDT, [out] PRBool *aDD);
2661 nsresult GetAlignment([out] PRBool *aMixed, [out] PRInt16 *aAlign);
2662 nsresult GetIndentState([out] PRBool *aCanIndent, [out] PRBool *aCanOutdent);
2663 nsresult MakeOrChangeList([in] nsAString *aListType, [in] PRBool entireList, [in] nsAString *aBulletType);
2664 nsresult RemoveList([in] nsAString *aListType);
2665 nsresult Indent([in] nsAString *aIndent);
2666 nsresult Align([in] nsAString *aAlign);
2667 nsresult GetElementOrParentByTagName([in] nsAString *aTagName, [in] nsIDOMNode *aNode, [out] nsIDOMElement **_retval);
2668 nsresult GetSelectedElement([in] nsAString *aTagName, [out] nsIDOMElement **_retval);
2669 nsresult GetHeadContentsAsHTML([out] nsAString *_retval);
2670 nsresult ReplaceHeadContentsWithHTML([in] nsAString *aSourceToInsert);
2671 nsresult CreateElementWithDefaults([in] nsAString *aTagName, [out] nsIDOMElement **_retval);
2672 nsresult InsertLinkAroundSelection([in] nsIDOMElement *aAnchorElement);
2673 nsresult SetBackgroundColor([in] nsAString *aColor);
2674 nsresult SetBodyAttribute([in] nsAString *aAttr, [in] nsAString *aValue);
2675 nsresult IgnoreSpuriousDragEvent([in] PRBool aIgnoreSpuriousDragEvent);
2676 nsresult GetLinkedObjects([out] nsISupportsArray **_retval);
2677 nsresult GetIsCSSEnabled([out] PRBool *_retval);
2678 nsresult SetIsCSSEnabled([in] PRBool prb);
2679 nsresult AddInsertionListener([in] nsIContentFilter *inFilter);
2680 nsresult RemoveInsertionListener([in] nsIContentFilter *inFilter);
2681 nsresult CreateAnonymousElement([in] nsAString *aTag, [in] nsIDOMNode *aParentNode, [in] nsAString *aAnonClass, [in] PRBool aIsCreatedHidden, [out] nsIDOMElement **_retval);
2682 nsresult GetSelectionContainer([out] nsIDOMElement **_retval);
2683 nsresult CheckSelectionStateForAnonymousButtons([in] nsISelection *aSelection);
2684 nsresult IsAnonymousElement([in] nsIDOMElement *aElement, [out] PRBool *_retval);
2685 nsresult GetReturnInParagraphCreatesNewParagraph([out] PRBool *_retval);
2686 nsresult SetReturnInParagraphCreatesNewParagraph([in] PRBool prb);
2687 }
2688
2689 [
2690 object,
2691 uuid(8adfb831-1053-4a19-884d-bcdad7277b4b),
2692 local
2693 /* NOT_FROZEN */
2694 ]
2695 interface nsIDocShell : nsISupports
2696 {
2697 nsresult LoadURI(nsIURI *uri, nsIDocShellLoadInfo *loadInfo, PRUint32 aLoadFlags, PRBool firstParty);
2698 nsresult LoadStream(nsIInputStream *aStream, nsIURI *aURI, const nsACString *aContentType,
2699 const nsACString *aContentCharset, nsIDocShellLoadInfo *aLoadInfo);
2700 nsresult InternalLoad(nsIURI *aURI, nsIURI *aReferrer, nsISupports *aOwner, PRUint32 aFlags, const PRUnichar *aWindowTarget,
2701 const char *aTypeHint, nsIInputStream *aPostDataStream, nsIInputStream *aHeadersStream, PRUint32 aLoadFlags,
2702 nsISHEntry *aSHEntry, PRBool firstParty, nsIDocShell **aDocShell, nsIRequest **aRequest);
2703 nsresult CreateLoadInfo(nsIDocShellLoadInfo **loadInfo);
2704 nsresult PrepareForNewContentModel();
2705 nsresult SetCurrentURI(nsIURI *aURI);
2706 nsresult FirePageHideNotification(PRBool isUnload);
2707 nsresult GetPresContext(void /*nsPresContext*/ **aPresContext);
2708 nsresult GetPresShell(nsIPresShell **aPresShell);
2709 nsresult GetEldestPresShell(nsIPresShell **aEldestPresShell);
2710 nsresult GetContentViewer(nsIContentViewer **aContentViewer);
2711 nsresult GetChromeEventHandler(nsIDOMEventTarget **aChromeEventHandler);
2712 nsresult SetChromeEventHandler(nsIDOMEventTarget *aChromeEventHandler);
2713 nsresult GetDocumentCharsetInfo(nsIDocumentCharsetInfo **aDocumentCharsetInfo);
2714 nsresult SetDocumentCharsetInfo(nsIDocumentCharsetInfo *aDocumentCharsetInfo);
2715 nsresult GetAllowPlugins(PRBool *aAllowPlugins);
2716 nsresult SetAllowPlugins(PRBool aAllowPlugins);
2717 nsresult GetAllowJavascript(PRBool *aAllowJavascript);
2718 nsresult SetAllowJavascript(PRBool aAllowJavascript);
2719 nsresult GetAllowMetaRedirects(PRBool *aAllowMetaRedirects);
2720 nsresult SetAllowMetaRedirects(PRBool aAllowMetaRedirects);
2721 nsresult GetAllowSubframes(PRBool *aAllowSubframes);
2722 nsresult SetAllowSubframes(PRBool aAllowSubframes);
2723 nsresult GetAllowImages(PRBool *aAllowImages);
2724 nsresult SetAllowImages(PRBool aAllowImages);
2725 nsresult GetAllowDNSPrefetch(PRBool *aAllowDNSPrefetch);
2726 nsresult SetAllowDNSPrefetch(PRBool aAllowDNSPrefetch);
2727 nsresult GetDocShellEnumerator(PRInt32 aItemType, PRInt32 aDirection, nsISimpleEnumerator **_retval);
2728 nsresult GetAppType(PRUint32 *aAppType);
2729 nsresult SetAppType(PRUint32 aAppType);
2730 nsresult GetAllowAuth(PRBool *aAllowAuth);
2731 nsresult SetAllowAuth(PRBool aAllowAuth);
2732 nsresult GetZoom(float *aZoom);
2733 nsresult SetZoom(float aZoom);
2734 nsresult GetMarginWidth(PRInt32 *aMarginWidth);
2735 nsresult SetMarginWidth(PRInt32 aMarginWidth);
2736 nsresult GetMarginHeight(PRInt32 *aMarginHeight);
2737 nsresult SetMarginHeight(PRInt32 aMarginHeight);
2738 nsresult TabToTreeOwner(PRBool forward, PRBool *tookFocus);
2739 nsresult GetBusyFlags(PRUint32 *aBusyFlags);
2740 nsresult GetLoadType(PRUint32 *aLoadType);
2741 nsresult SetLoadType(PRUint32 aLoadType);
2742 nsresult IsBeingDestroyed(PRBool *_retval);
2743 nsresult GetIsExecutingOnLoadHandler(PRBool *aIsExecutingOnLoadHandler);
2744 nsresult GetLayoutHistoryState(nsILayoutHistoryState **aLayoutHistoryState);
2745 nsresult SetLayoutHistoryState(nsILayoutHistoryState *aLayoutHistoryState);
2746 nsresult GetShouldSaveLayoutState(PRBool *aShouldSaveLayoutState);
2747 nsresult GetSecurityUI(nsISecureBrowserUI **aSecurityUI);
2748 nsresult SetSecurityUI(nsISecureBrowserUI *aSecurityUI);
2749 nsresult SuspendRefreshURIs();
2750 nsresult ResumeRefreshURIs();
2751 nsresult BeginRestore(nsIContentViewer *viewer, PRBool top);
2752 nsresult FinishRestore();
2753 nsresult GetRestoringDocument(PRBool *aRestoringDocument);
2754 nsresult GetUseErrorPages(PRBool *aUseErrorPages);
2755 nsresult SetUseErrorPages(PRBool aUseErrorPages);
2756 nsresult GetPreviousTransIndex(PRInt32 *aPreviousTransIndex);
2757 nsresult GetLoadedTransIndex(PRInt32 *aLoadedTransIndex);
2758 nsresult HistoryPurged(PRInt32 numEntries);
2759 nsresult GetSessionStorageForURI(nsIURI *uri, nsIDOMStorage **_retval);
2760 nsresult GetSessionStorageForPrincipal(nsIPrincipal *principal, PRBool create, nsIDOMStorage **_retval);
2761 nsresult AddSessionStorage(nsIPrincipal *principal, nsIDOMStorage *storage);
2762 nsresult GetCurrentDocumentChannel(nsIChannel **aCurrentDocumentChannel);
2763 nsresult SetChildOffset(PRUint32 offset);
2764 nsresult GetIsInUnload(PRBool *aIsInUnload);
2765 nsresult GetChannelIsUnsafe(PRBool *aChannelIsUnsafe);
2766 void DetachEditorFromWindow();
2767 nsresult GetIsOffScreenBrowser(PRBool *aIsOffScreenBrowser);
2768 nsresult SetIsOffScreenBrowser(PRBool aIsOffScreenBrowser);
2769 }
2770
2771 [
2772 object,
2773 uuid(365d600b-868a-452a-8de8-f46fad8fee53),
2774 local
2775 /* NOT_FROZEN */
2776 ]
2777 interface nsIMutationObserver : nsISupports
2778 {
2779 void CharacterDataWillChange(nsIDocument *aDocument, nsIContent *aContent,
2780 void /*CharacterDataChangeInfo*/ *aInfo);
2781 void CharacterDataChanged(nsIDocument *aDocument, nsIContent *aContent,
2782 void /*CharacterDataChangeInfo*/ *aInfo);
2783 void AttributeWillChange(nsIDocument *aDocument, nsIContent * aContent, PRInt32 aNameSpaceID,
2784 nsIAtom *aAttribute, PRInt32 aModType);
2785 void AttributeChanged(nsIDocument *aDocument, nsIContent *aContent, PRInt32 aNameSpaceID,
2786 nsIAtom *aAttribute, PRInt32 aModType, PRUint32 aStateMask);
2787 void ContentAppended(nsIDocument *aDocument, nsIContent *aContainer, PRInt32 aNewIndexInContainer);
2788 void ContentInserted(nsIDocument *aDocument, nsIContent *aContainer, nsIContent *aChild,
2789 PRInt32 aIndexInContainer);
2790 void ContentRemoved(nsIDocument *aDocument, nsIContent *aContainer, nsIContent *aChild,
2791 PRInt32 aIndexInContainer);
2792 void NodeWillBeDestroyed(const nsINode *aNode);
2793 void ParentChainChanged(nsIContent *aContent);
2794 }
2795
2796 [
2797 object,
2798 uuid(4e14e321-a4bb-49f8-a57a-2363668d14d0),
2799 local
2800 /* NOT_FROZEN */
2801 ]
2802 interface nsIDocumentObserver : nsIMutationObserver
2803 {
2804 typedef int nsUpdateType;
2805
2806 void BeginUpdate(nsIDocument *aDocument, nsUpdateType aUpdateType);
2807 void EndUpdate(nsIDocument *aDocument, nsUpdateType aUpdateType);
2808 void BeginLoad(nsIDocument *aDocument);
2809 void EndLoad(nsIDocument *aDocument);
2810 void ContentStatesChanged(nsIDocument *aDocument, nsIContent *aContent1, nsIContent *aContent2,
2811 PRInt32 aStateMask);
2812 void StyleSheetAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet);
2813 void StyleSheetRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, PRBool aDocumentSheet);
2814 void StyleSheetApplicableStateChanged(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet,
2815 PRBool aApplicable);
2816 void StyleRuleChanged(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aOldStyleRule,
2817 nsIStyleRule *aNewStyleRule);
2818 void StyleRuleAdded(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule);
2819 void StyleRuleRemoved(nsIDocument *aDocument, nsIStyleSheet *aStyleSheet, nsIStyleRule *aStyleRule);
2820 void BindToDocument(nsIDocument *aDocument, nsIContent *aContent);
2821 void DoneAddingChildren(nsIContent *aContent, PRBool aHaveNotified);
2822 }