no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / tools / @types / lib.gecko.xpcom.d.ts
blobba4d17fef6e10fe655a3d2bf2e3a6a25b034475f
1 /**
2  * NOTE: Do not modify this file by hand.
3  * Content was generated from source XPCOM .idl files.
4  */
6 declare global {
8 // https://searchfox.org/mozilla-central/source/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl
10 interface nsIInstalledApplication extends nsISupports {
11   readonly name: string;
12   readonly publisher: string;
15 interface nsIAboutThirdParty extends nsISupports {
16   readonly ModuleType_Unknown: 1;
17   readonly ModuleType_IME: 2;
18   readonly ModuleType_ShellExtension: 4;
19   readonly ModuleType_BlockedByUser: 8;
20   readonly ModuleType_BlockedByUserAtLaunch: 16;
22   lookupModuleType(aLeafName: string): u32;
23   lookupApplication(aModulePath: string): nsIInstalledApplication;
24   readonly isDynamicBlocklistAvailable: boolean;
25   readonly isDynamicBlocklistDisabled: boolean;
26   updateBlocklist(aLeafName: string, aNewBlockStatus: boolean): Promise<any>;
27   collectSystemInfo(): Promise<any>;
28   openAndCloseFileDialogForTesting(aModuleName: string, aInitialDir: string, aFilter: string): void;
31 // https://searchfox.org/mozilla-central/source/toolkit/components/aboutwindowsmessages/nsIAboutWindowsMessages.idl
33 interface nsIAboutWindowsMessages extends nsISupports {
34   getMessages(currentWindow: mozIDOMWindowProxy, messages: OutParam<string[][]>, windowTitles: OutParam<string[]>): void;
37 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibilityService.idl
39 interface nsIAccessibilityService extends nsISupports {
40   getApplicationAccessible(): nsIAccessible;
41   getAccessibleFor(aNode: Node): nsIAccessible;
42   getAccessibleDescendantFor(aNode: Node): nsIAccessible;
43   getStringRole(aRole: u32): string;
44   getStringStates(aStates: u32, aExtraStates: u32): nsISupports;
45   getStringEventType(aEventType: u32): string;
46   getStringRelationType(aRelationType: u32): string;
47   getAccessibleFromCache(aNode: Node): nsIAccessible;
48   createAccessiblePivot(aRoot: nsIAccessible): nsIAccessiblePivot;
49   createTextLeafPoint(aAccessible: nsIAccessible, aOffset: i32): nsIAccessibleTextLeafPoint;
50   setLogging(aModules: string): void;
51   isLogged(aModule: string): boolean;
52   getConsumers(): string;
55 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessible.idl
57 interface nsIAccessible extends nsISupports {
58   readonly parent: nsIAccessible;
59   readonly nextSibling: nsIAccessible;
60   readonly previousSibling: nsIAccessible;
61   readonly firstChild: nsIAccessible;
62   readonly lastChild: nsIAccessible;
63   readonly children: nsIArray;
64   readonly childCount: i32;
65   readonly indexInParent: i32;
66   readonly uniqueID: i64;
67   readonly DOMNode: Node;
68   readonly id: string;
69   readonly document: nsIAccessibleDocument;
70   readonly rootDocument: nsIAccessibleDocument;
71   readonly language: string;
72   readonly name: string;
73   readonly value: string;
74   readonly description: string;
75   readonly accessKey: string;
76   readonly keyboardShortcut: string;
77   readonly role: u32;
78   getState(aState: OutParam<u32>, aExtraState: OutParam<u32>): void;
79   readonly focusedChild: nsIAccessible;
80   readonly attributes: nsIPersistentProperties;
81   readonly cache: nsIPersistentProperties;
82   readonly nativeInterface: nsISupports;
83   groupPosition(aGroupLevel: OutParam<i32>, aSimilarItemsInGroup: OutParam<i32>, aPositionInGroup: OutParam<i32>): void;
84   getChildAtPoint(x: i32, y: i32): nsIAccessible;
85   getDeepestChildAtPoint(x: i32, y: i32): nsIAccessible;
86   getDeepestChildAtPointInProcess(x: i32, y: i32): nsIAccessible;
87   getChildAt(aChildIndex: i32): nsIAccessible;
88   getRelationByType(aRelationType: u32): nsIAccessibleRelation;
89   getRelations(): nsIArray;
90   getBounds(x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
91   getBoundsInCSSPixels(aX: OutParam<i32>, aY: OutParam<i32>, aWidth: OutParam<i32>, aHeight: OutParam<i32>): void;
92   setSelected(isSelected: boolean): void;
93   takeSelection(): void;
94   takeFocus(): void;
95   readonly actionCount: u8;
96   getActionName(index: u8): string;
97   getActionDescription(aIndex: u8): string;
98   doAction(index: u8): void;
99   scrollTo(aScrollType: u32): void;
100   scrollToPoint(coordinateType: u32, x: i32, y: i32): void;
101   announce(announcement: string, priority: u16): void;
102   readonly computedARIARole: string;
105 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleAnnouncementEvent.idl
107 interface nsIAccessibleAnnouncementEvent extends nsIAccessibleEvent {
108   readonly POLITE: 0;
109   readonly ASSERTIVE: 1;
111   readonly announcement: string;
112   readonly priority: u16;
115 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleApplication.idl
117 interface nsIAccessibleApplication extends nsISupports {
118   readonly appName: string;
119   readonly appVersion: string;
120   readonly platformName: string;
121   readonly platformVersion: string;
124 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleCaretMoveEvent.idl
126 interface nsIAccessibleCaretMoveEvent extends nsIAccessibleEvent {
127   readonly caretOffset: i32;
128   readonly isSelectionCollapsed: boolean;
129   readonly isAtEndOfLine: boolean;
130   readonly granularity: i32;
133 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleDocument.idl
135 interface nsIAccessibleDocument extends nsISupports {
136   readonly URL: string;
137   readonly title: string;
138   readonly mimeType: string;
139   readonly docType: string;
140   readonly DOMDocument: Document;
141   readonly window: mozIDOMWindowProxy;
142   readonly parentDocument: nsIAccessibleDocument;
143   readonly childDocumentCount: u32;
144   getChildDocumentAt(index: u32): nsIAccessibleDocument;
147 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleEditableText.idl
149 interface nsIAccessibleEditableText extends nsISupports {
150   setTextContents(text: string): void;
151   insertText(text: string, position: i32): void;
152   copyText(startPos: i32, endPos: i32): void;
153   cutText(startPos: i32, endPos: i32): void;
154   deleteText(startPos: i32, endPos: i32): void;
155   pasteText(position: i32): void;
158 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleEvent.idl
160 interface nsIAccessibleEvent extends nsISupports {
161   readonly EVENT_SHOW: 1;
162   readonly EVENT_HIDE: 2;
163   readonly EVENT_REORDER: 3;
164   readonly EVENT_FOCUS: 4;
165   readonly EVENT_STATE_CHANGE: 5;
166   readonly EVENT_NAME_CHANGE: 6;
167   readonly EVENT_DESCRIPTION_CHANGE: 7;
168   readonly EVENT_VALUE_CHANGE: 8;
169   readonly EVENT_SELECTION: 9;
170   readonly EVENT_SELECTION_ADD: 10;
171   readonly EVENT_SELECTION_REMOVE: 11;
172   readonly EVENT_SELECTION_WITHIN: 12;
173   readonly EVENT_ALERT: 13;
174   readonly EVENT_MENU_START: 14;
175   readonly EVENT_MENU_END: 15;
176   readonly EVENT_MENUPOPUP_START: 16;
177   readonly EVENT_MENUPOPUP_END: 17;
178   readonly EVENT_DRAGDROP_START: 18;
179   readonly EVENT_SCROLLING_START: 19;
180   readonly EVENT_SCROLLING_END: 20;
181   readonly EVENT_DOCUMENT_LOAD_COMPLETE: 21;
182   readonly EVENT_DOCUMENT_RELOAD: 22;
183   readonly EVENT_DOCUMENT_LOAD_STOPPED: 23;
184   readonly EVENT_TEXT_ATTRIBUTE_CHANGED: 24;
185   readonly EVENT_TEXT_CARET_MOVED: 25;
186   readonly EVENT_TEXT_INSERTED: 26;
187   readonly EVENT_TEXT_REMOVED: 27;
188   readonly EVENT_TEXT_SELECTION_CHANGED: 28;
189   readonly EVENT_WINDOW_ACTIVATE: 29;
190   readonly EVENT_WINDOW_DEACTIVATE: 30;
191   readonly EVENT_WINDOW_MAXIMIZE: 31;
192   readonly EVENT_WINDOW_MINIMIZE: 32;
193   readonly EVENT_WINDOW_RESTORE: 33;
194   readonly EVENT_OBJECT_ATTRIBUTE_CHANGED: 34;
195   readonly EVENT_TEXT_VALUE_CHANGE: 35;
196   readonly EVENT_SCROLLING: 36;
197   readonly EVENT_ANNOUNCEMENT: 37;
198   readonly EVENT_LIVE_REGION_ADDED: 38;
199   readonly EVENT_LIVE_REGION_REMOVED: 39;
200   readonly EVENT_INNER_REORDER: 40;
201   readonly EVENT_LAST_ENTRY: 41;
203   readonly eventType: u32;
204   readonly accessible: nsIAccessible;
205   readonly accessibleDocument: nsIAccessibleDocument;
206   readonly DOMNode: Node;
207   readonly isFromUserInput: boolean;
210 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHideEvent.idl
212 interface nsIAccessibleHideEvent extends nsIAccessibleEvent {
213   readonly targetParent: nsIAccessible;
214   readonly targetNextSibling: nsIAccessible;
215   readonly targetPrevSibling: nsIAccessible;
218 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHyperLink.idl
220 interface nsIAccessibleHyperLink extends nsISupports {
221   readonly startIndex: i32;
222   readonly endIndex: i32;
223   readonly valid: boolean;
224   readonly anchorCount: i32;
225   getURI(index: i32): nsIURI;
226   getAnchor(index: i32): nsIAccessible;
229 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleHyperText.idl
231 interface nsIAccessibleHyperText extends nsISupports {
232   readonly linkCount: i32;
233   getLinkAt(index: i32): nsIAccessibleHyperLink;
234   getLinkIndex(link: nsIAccessibleHyperLink): i32;
235   getLinkIndexAtOffset(offset: i32): i32;
238 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleImage.idl
240 interface nsIAccessibleImage extends nsISupports {
241   getImagePosition(coordType: u32, x: OutParam<i32>, y: OutParam<i32>): void;
242   getImageSize(width: OutParam<i32>, height: OutParam<i32>): void;
245 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleObjectAttributeChangedEvent.idl
247 interface nsIAccessibleObjectAttributeChangedEvent extends nsIAccessibleEvent {
248   readonly changedAttribute: string;
251 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessiblePivot.idl
253 interface nsIAccessiblePivot extends nsISupports {
254   next(aAnchor: nsIAccessible, aRule: nsIAccessibleTraversalRule, aIncludeStart?: boolean): nsIAccessible;
255   prev(aAnchor: nsIAccessible, aRule: nsIAccessibleTraversalRule, aIncludeStart?: boolean): nsIAccessible;
256   first(aRule: nsIAccessibleTraversalRule): nsIAccessible;
257   last(aRule: nsIAccessibleTraversalRule): nsIAccessible;
258   atPoint(aX: i32, aY: i32, aRule: nsIAccessibleTraversalRule): nsIAccessible;
261 interface nsIAccessibleTraversalRule extends nsISupports {
262   readonly FILTER_IGNORE: 0;
263   readonly FILTER_MATCH: 1;
264   readonly FILTER_IGNORE_SUBTREE: 2;
266   match(aAccessible: nsIAccessible): u16;
269 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleRelation.idl
271 interface nsIAccessibleRelation extends nsISupports {
272   readonly RELATION_LABELLED_BY: 0;
273   readonly RELATION_LABEL_FOR: 1;
274   readonly RELATION_DESCRIBED_BY: 2;
275   readonly RELATION_DESCRIPTION_FOR: 3;
276   readonly RELATION_NODE_CHILD_OF: 4;
277   readonly RELATION_NODE_PARENT_OF: 5;
278   readonly RELATION_CONTROLLED_BY: 6;
279   readonly RELATION_CONTROLLER_FOR: 7;
280   readonly RELATION_FLOWS_TO: 8;
281   readonly RELATION_FLOWS_FROM: 9;
282   readonly RELATION_MEMBER_OF: 10;
283   readonly RELATION_SUBWINDOW_OF: 11;
284   readonly RELATION_EMBEDS: 12;
285   readonly RELATION_EMBEDDED_BY: 13;
286   readonly RELATION_POPUP_FOR: 14;
287   readonly RELATION_PARENT_WINDOW_OF: 15;
288   readonly RELATION_DEFAULT_BUTTON: 16;
289   readonly RELATION_CONTAINING_DOCUMENT: 17;
290   readonly RELATION_CONTAINING_TAB_PANE: 18;
291   readonly RELATION_CONTAINING_WINDOW: 19;
292   readonly RELATION_CONTAINING_APPLICATION: 20;
293   readonly RELATION_DETAILS: 21;
294   readonly RELATION_DETAILS_FOR: 22;
295   readonly RELATION_ERRORMSG: 23;
296   readonly RELATION_ERRORMSG_FOR: 24;
297   readonly RELATION_LINKS_TO: 25;
299   readonly relationType: u32;
300   readonly targetsCount: u32;
301   getTarget(index: u32): nsIAccessible;
302   getTargets(): nsIArray;
305 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleRole.idl
307 interface nsIAccessibleRole extends nsISupports {
308   readonly ROLE_NOTHING: 0;
309   readonly ROLE_MENUBAR: 1;
310   readonly ROLE_SCROLLBAR: 2;
311   readonly ROLE_ALERT: 3;
312   readonly ROLE_INTERNAL_FRAME: 4;
313   readonly ROLE_MENUPOPUP: 5;
314   readonly ROLE_MENUITEM: 6;
315   readonly ROLE_TOOLTIP: 7;
316   readonly ROLE_APPLICATION: 8;
317   readonly ROLE_DOCUMENT: 9;
318   readonly ROLE_PANE: 10;
319   readonly ROLE_DIALOG: 11;
320   readonly ROLE_GROUPING: 12;
321   readonly ROLE_SEPARATOR: 13;
322   readonly ROLE_TOOLBAR: 14;
323   readonly ROLE_STATUSBAR: 15;
324   readonly ROLE_TABLE: 16;
325   readonly ROLE_COLUMNHEADER: 17;
326   readonly ROLE_ROWHEADER: 18;
327   readonly ROLE_ROW: 19;
328   readonly ROLE_CELL: 20;
329   readonly ROLE_LINK: 21;
330   readonly ROLE_LIST: 22;
331   readonly ROLE_LISTITEM: 23;
332   readonly ROLE_OUTLINE: 24;
333   readonly ROLE_OUTLINEITEM: 25;
334   readonly ROLE_PAGETAB: 26;
335   readonly ROLE_PROPERTYPAGE: 27;
336   readonly ROLE_GRAPHIC: 28;
337   readonly ROLE_STATICTEXT: 29;
338   readonly ROLE_TEXT_LEAF: 30;
339   readonly ROLE_PUSHBUTTON: 31;
340   readonly ROLE_CHECKBUTTON: 32;
341   readonly ROLE_RADIOBUTTON: 33;
342   readonly ROLE_COMBOBOX: 34;
343   readonly ROLE_PROGRESSBAR: 35;
344   readonly ROLE_SLIDER: 36;
345   readonly ROLE_SPINBUTTON: 37;
346   readonly ROLE_DIAGRAM: 38;
347   readonly ROLE_ANIMATION: 39;
348   readonly ROLE_BUTTONDROPDOWN: 40;
349   readonly ROLE_BUTTONMENU: 41;
350   readonly ROLE_WHITESPACE: 42;
351   readonly ROLE_PAGETABLIST: 43;
352   readonly ROLE_CANVAS: 44;
353   readonly ROLE_CHECK_MENU_ITEM: 45;
354   readonly ROLE_DATE_EDITOR: 46;
355   readonly ROLE_CHROME_WINDOW: 47;
356   readonly ROLE_LABEL: 48;
357   readonly ROLE_PASSWORD_TEXT: 49;
358   readonly ROLE_RADIO_MENU_ITEM: 50;
359   readonly ROLE_TEXT_CONTAINER: 51;
360   readonly ROLE_TOGGLE_BUTTON: 52;
361   readonly ROLE_TREE_TABLE: 53;
362   readonly ROLE_PARAGRAPH: 54;
363   readonly ROLE_ENTRY: 55;
364   readonly ROLE_CAPTION: 56;
365   readonly ROLE_NON_NATIVE_DOCUMENT: 57;
366   readonly ROLE_HEADING: 58;
367   readonly ROLE_SECTION: 59;
368   readonly ROLE_FORM: 60;
369   readonly ROLE_APP_ROOT: 61;
370   readonly ROLE_PARENT_MENUITEM: 62;
371   readonly ROLE_COMBOBOX_LIST: 63;
372   readonly ROLE_COMBOBOX_OPTION: 64;
373   readonly ROLE_IMAGE_MAP: 65;
374   readonly ROLE_OPTION: 66;
375   readonly ROLE_RICH_OPTION: 67;
376   readonly ROLE_LISTBOX: 68;
377   readonly ROLE_FLAT_EQUATION: 69;
378   readonly ROLE_GRID_CELL: 70;
379   readonly ROLE_NOTE: 71;
380   readonly ROLE_FIGURE: 72;
381   readonly ROLE_CHECK_RICH_OPTION: 73;
382   readonly ROLE_DEFINITION_LIST: 74;
383   readonly ROLE_TERM: 75;
384   readonly ROLE_DEFINITION: 76;
385   readonly ROLE_KEY: 77;
386   readonly ROLE_SWITCH: 78;
387   readonly ROLE_MATHML_MATH: 79;
388   readonly ROLE_MATHML_IDENTIFIER: 80;
389   readonly ROLE_MATHML_NUMBER: 81;
390   readonly ROLE_MATHML_OPERATOR: 82;
391   readonly ROLE_MATHML_TEXT: 83;
392   readonly ROLE_MATHML_STRING_LITERAL: 84;
393   readonly ROLE_MATHML_GLYPH: 85;
394   readonly ROLE_MATHML_ROW: 86;
395   readonly ROLE_MATHML_FRACTION: 87;
396   readonly ROLE_MATHML_SQUARE_ROOT: 88;
397   readonly ROLE_MATHML_ROOT: 89;
398   readonly ROLE_MATHML_ENCLOSED: 90;
399   readonly ROLE_MATHML_STYLE: 91;
400   readonly ROLE_MATHML_SUB: 92;
401   readonly ROLE_MATHML_SUP: 93;
402   readonly ROLE_MATHML_SUB_SUP: 94;
403   readonly ROLE_MATHML_UNDER: 95;
404   readonly ROLE_MATHML_OVER: 96;
405   readonly ROLE_MATHML_UNDER_OVER: 97;
406   readonly ROLE_MATHML_MULTISCRIPTS: 98;
407   readonly ROLE_MATHML_TABLE: 99;
408   readonly ROLE_MATHML_LABELED_ROW: 100;
409   readonly ROLE_MATHML_TABLE_ROW: 101;
410   readonly ROLE_MATHML_CELL: 102;
411   readonly ROLE_MATHML_ACTION: 103;
412   readonly ROLE_MATHML_ERROR: 104;
413   readonly ROLE_MATHML_STACK: 105;
414   readonly ROLE_MATHML_LONG_DIVISION: 106;
415   readonly ROLE_MATHML_STACK_GROUP: 107;
416   readonly ROLE_MATHML_STACK_ROW: 108;
417   readonly ROLE_MATHML_STACK_CARRIES: 109;
418   readonly ROLE_MATHML_STACK_CARRY: 110;
419   readonly ROLE_MATHML_STACK_LINE: 111;
420   readonly ROLE_RADIO_GROUP: 112;
421   readonly ROLE_TEXT: 113;
422   readonly ROLE_DETAILS: 114;
423   readonly ROLE_SUMMARY: 115;
424   readonly ROLE_LANDMARK: 116;
425   readonly ROLE_NAVIGATION: 117;
426   readonly ROLE_FOOTNOTE: 118;
427   readonly ROLE_ARTICLE: 119;
428   readonly ROLE_REGION: 120;
429   readonly ROLE_EDITCOMBOBOX: 121;
430   readonly ROLE_BLOCKQUOTE: 122;
431   readonly ROLE_CONTENT_DELETION: 123;
432   readonly ROLE_CONTENT_INSERTION: 124;
433   readonly ROLE_FORM_LANDMARK: 125;
434   readonly ROLE_MARK: 126;
435   readonly ROLE_SUGGESTION: 127;
436   readonly ROLE_COMMENT: 128;
437   readonly ROLE_CODE: 129;
438   readonly ROLE_TIME_EDITOR: 130;
439   readonly ROLE_LISTITEM_MARKER: 131;
440   readonly ROLE_METER: 132;
441   readonly ROLE_SUBSCRIPT: 133;
442   readonly ROLE_SUPERSCRIPT: 134;
443   readonly ROLE_EMPHASIS: 135;
444   readonly ROLE_STRONG: 136;
445   readonly ROLE_TIME: 137;
446   readonly ROLE_GRID: 138;
449 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleScrollingEvent.idl
451 interface nsIAccessibleScrollingEvent extends nsIAccessibleEvent {
452   readonly scrollX: u32;
453   readonly scrollY: u32;
454   readonly maxScrollX: u32;
455   readonly maxScrollY: u32;
458 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleSelectable.idl
460 interface nsIAccessibleSelectable extends nsISupports {
461   readonly selectedItems: nsIArray;
462   readonly selectedItemCount: u32;
463   getSelectedItemAt(index: u32): nsIAccessible;
464   isItemSelected(index: u32): boolean;
465   addItemToSelection(index: u32): void;
466   removeItemFromSelection(index: u32): void;
467   selectAll(): boolean;
468   unselectAll(): void;
471 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStateChangeEvent.idl
473 interface nsIAccessibleStateChangeEvent extends nsIAccessibleEvent {
474   readonly state: u32;
475   readonly isExtraState: boolean;
476   readonly isEnabled: boolean;
479 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStates.idl
481 interface nsIAccessibleStates extends nsISupports {
482   readonly STATE_UNAVAILABLE: 1;
483   readonly STATE_SELECTED: 2;
484   readonly STATE_FOCUSED: 4;
485   readonly STATE_PRESSED: 8;
486   readonly STATE_CHECKED: 16;
487   readonly STATE_MIXED: 32;
488   readonly STATE_READONLY: 64;
489   readonly STATE_HOTTRACKED: 128;
490   readonly STATE_DEFAULT: 256;
491   readonly STATE_EXPANDED: 512;
492   readonly STATE_COLLAPSED: 1024;
493   readonly STATE_BUSY: 2048;
494   readonly STATE_FLOATING: 4096;
495   readonly STATE_MARQUEED: 8192;
496   readonly STATE_ANIMATED: 16384;
497   readonly STATE_INVISIBLE: 32768;
498   readonly STATE_OFFSCREEN: 65536;
499   readonly STATE_SIZEABLE: 131072;
500   readonly STATE_MOVEABLE: 262144;
501   readonly STATE_SELFVOICING: 524288;
502   readonly STATE_FOCUSABLE: 1048576;
503   readonly STATE_SELECTABLE: 2097152;
504   readonly STATE_LINKED: 4194304;
505   readonly STATE_TRAVERSED: 8388608;
506   readonly STATE_MULTISELECTABLE: 16777216;
507   readonly STATE_EXTSELECTABLE: 33554432;
508   readonly STATE_ALERT_LOW: 67108864;
509   readonly STATE_ALERT_MEDIUM: 134217728;
510   readonly STATE_ALERT_HIGH: 268435456;
511   readonly STATE_PROTECTED: 536870912;
512   readonly STATE_HASPOPUP: 1073741824;
513   readonly STATE_REQUIRED: 67108864;
514   readonly STATE_IMPORTANT: 134217728;
515   readonly STATE_INVALID: 268435456;
516   readonly STATE_CHECKABLE: 8192;
517   readonly EXT_STATE_SUPPORTS_AUTOCOMPLETION: 1;
518   readonly EXT_STATE_DEFUNCT: 2;
519   readonly EXT_STATE_SELECTABLE_TEXT: 4;
520   readonly EXT_STATE_EDITABLE: 8;
521   readonly EXT_STATE_ACTIVE: 16;
522   readonly EXT_STATE_MODAL: 32;
523   readonly EXT_STATE_MULTI_LINE: 64;
524   readonly EXT_STATE_HORIZONTAL: 128;
525   readonly EXT_STATE_OPAQUE: 256;
526   readonly EXT_STATE_SINGLE_LINE: 512;
527   readonly EXT_STATE_TRANSIENT: 1024;
528   readonly EXT_STATE_VERTICAL: 2048;
529   readonly EXT_STATE_STALE: 4096;
530   readonly EXT_STATE_ENABLED: 8192;
531   readonly EXT_STATE_SENSITIVE: 16384;
532   readonly EXT_STATE_EXPANDABLE: 32768;
533   readonly EXT_STATE_PINNED: 65536;
534   readonly EXT_STATE_CURRENT: 131072;
537 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTable.idl
539 interface nsIAccessibleTable extends nsISupports {
540   readonly caption: nsIAccessible;
541   readonly summary: string;
542   readonly columnCount: i32;
543   readonly rowCount: i32;
544   getCellAt(rowIndex: i32, columnIndex: i32): nsIAccessible;
545   getCellIndexAt(rowIndex: i32, columnIndex: i32): i32;
546   getColumnIndexAt(cellIndex: i32): i32;
547   getRowIndexAt(cellIndex: i32): i32;
548   getRowAndColumnIndicesAt(cellIndex: i32, rowIndex: OutParam<i32>, columnIndex: OutParam<i32>): void;
549   getColumnExtentAt(row: i32, column: i32): i32;
550   getRowExtentAt(row: i32, column: i32): i32;
551   getColumnDescription(columnIndex: i32): string;
552   getRowDescription(rowIndex: i32): string;
553   isColumnSelected(columnIndex: i32): boolean;
554   isRowSelected(rowIndex: i32): boolean;
555   isCellSelected(rowIndex: i32, columnIndex: i32): boolean;
556   readonly selectedCellCount: u32;
557   readonly selectedColumnCount: u32;
558   readonly selectedRowCount: u32;
559   readonly selectedCells: nsIArray;
560   getSelectedCellIndices(): u32[];
561   getSelectedColumnIndices(): u32[];
562   getSelectedRowIndices(): u32[];
563   isProbablyForLayout(): boolean;
566 interface nsIAccessibleTableCell extends nsISupports {
567   readonly table: nsIAccessibleTable;
568   readonly columnIndex: i32;
569   readonly rowIndex: i32;
570   readonly columnExtent: i32;
571   readonly rowExtent: i32;
572   readonly columnHeaderCells: nsIArray;
573   readonly rowHeaderCells: nsIArray;
574   isSelected(): boolean;
577 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTableChangeEvent.idl
579 interface nsIAccessibleTableChangeEvent extends nsIAccessibleEvent {
580   readonly rowOrColIndex: i32;
581   readonly RowsOrColsCount: i32;
584 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleText.idl
586 interface nsIAccessibleText extends nsISupports {
587   readonly TEXT_OFFSET_END_OF_TEXT: -1;
588   readonly TEXT_OFFSET_CARET: -2;
589   readonly BOUNDARY_CHAR: 0;
590   readonly BOUNDARY_WORD_START: 1;
591   readonly BOUNDARY_WORD_END: 2;
592   readonly BOUNDARY_SENTENCE_START: 3;
593   readonly BOUNDARY_SENTENCE_END: 4;
594   readonly BOUNDARY_LINE_START: 5;
595   readonly BOUNDARY_LINE_END: 6;
596   readonly BOUNDARY_PARAGRAPH: 7;
598   caretOffset: i32;
599   getCaretRect(x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
600   readonly characterCount: i32;
601   readonly selectionCount: i32;
602   getText(startOffset: i32, endOffset: i32): string;
603   getTextAfterOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
604   getTextAtOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
605   getTextBeforeOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
606   getCharacterAtOffset(offset: i32): string;
607   getTextAttributes(includeDefAttrs: boolean, offset: i32, rangeStartOffset: OutParam<i32>, rangeEndOffset: OutParam<i32>): nsIPersistentProperties;
608   readonly defaultTextAttributes: nsIPersistentProperties;
609   getCharacterExtents(offset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;
610   getRangeExtents(startOffset: i32, endOffset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;
611   getOffsetAtPoint(x: i32, y: i32, coordType: u32): i32;
612   getSelectionBounds(selectionNum: i32, startOffset: OutParam<i32>, endOffset: OutParam<i32>): void;
613   setSelectionBounds(selectionNum: i32, startOffset: i32, endOffset: i32): void;
614   addSelection(startOffset: i32, endOffset: i32): void;
615   removeSelection(selectionNum: i32): void;
616   scrollSubstringTo(startIndex: i32, endIndex: i32, scrollType: u32): void;
617   scrollSubstringToPoint(startIndex: i32, endIndex: i32, coordinateType: u32, x: i32, y: i32): void;
618   readonly selectionRanges: nsIArray;
621 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextChangeEvent.idl
623 interface nsIAccessibleTextChangeEvent extends nsIAccessibleEvent {
624   readonly start: i32;
625   readonly length: u32;
626   readonly isInserted: boolean;
627   readonly modifiedText: string;
630 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextLeafRange.idl
632 interface nsIAccessibleTextLeafPoint extends nsISupports {
633   readonly DIRECTION_NEXT: 0;
634   readonly DIRECTION_PREVIOUS: 1;
635   readonly BOUNDARY_FLAG_DEFAULT: 0;
636   readonly BOUNDARY_FLAG_INCLUDE_ORIGIN: 1;
637   readonly BOUNDARY_FLAG_STOP_IN_EDITABLE: 2;
638   readonly BOUNDARY_FLAG_SKIP_LIST_ITEM_MARKER: 4;
640   accessible: nsIAccessible;
641   offset: i32;
642   findBoundary(aBoundaryType: AccessibleTextBoundary, aDirection: u32, aFlags: u32): nsIAccessibleTextLeafPoint;
645 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextRange.idl
647 interface nsIAccessibleTextRange extends nsISupports {
648   readonly EndPoint_Start: 1;
649   readonly EndPoint_End: 2;
650   readonly AlignToTop: 0;
651   readonly AlignToBottom: 1;
653   readonly startContainer: nsIAccessibleText;
654   readonly startOffset: i32;
655   readonly endContainer: nsIAccessibleText;
656   readonly endOffset: i32;
657   readonly container: nsIAccessible;
658   compare(aOtherRange: nsIAccessibleTextRange): boolean;
659   compareEndPoints(aEndPoint: u32, aOtherRange: nsIAccessibleTextRange, aOtherRangeEndPoint: u32): i32;
660   crop(aContainer: nsIAccessible): boolean;
663 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextSelectionChangeEvent.idl
665 interface nsIAccessibleTextSelectionChangeEvent extends nsIAccessibleEvent {
666   readonly selectionRanges: nsIArray;
669 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTypes.idl
671 interface nsIAccessibleScrollType extends nsISupports {
672   readonly SCROLL_TYPE_TOP_LEFT: 0;
673   readonly SCROLL_TYPE_BOTTOM_RIGHT: 1;
674   readonly SCROLL_TYPE_TOP_EDGE: 2;
675   readonly SCROLL_TYPE_BOTTOM_EDGE: 3;
676   readonly SCROLL_TYPE_LEFT_EDGE: 4;
677   readonly SCROLL_TYPE_RIGHT_EDGE: 5;
678   readonly SCROLL_TYPE_ANYWHERE: 6;
681 interface nsIAccessibleCoordinateType extends nsISupports {
682   readonly COORDTYPE_SCREEN_RELATIVE: 0;
683   readonly COORDTYPE_WINDOW_RELATIVE: 1;
684   readonly COORDTYPE_PARENT_RELATIVE: 2;
687 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleValue.idl
689 interface nsIAccessibleValue extends nsISupports {
690   readonly maximumValue: double;
691   readonly minimumValue: double;
692   currentValue: double;
693   readonly minimumIncrement: double;
696 // https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIAlertsService.idl
698 interface nsIAlertNotificationImageListener extends nsISupports {
699   onImageReady(aUserData: nsISupports, aRequest: imgIRequest): void;
700   onImageMissing(aUserData: nsISupports): void;
703 interface nsIAlertAction extends nsISupports {
704   readonly action: string;
705   readonly title: string;
706   readonly iconURL: string;
707   readonly windowsSystemActivationType: boolean;
708   readonly opaqueRelaunchData: string;
711 interface nsIAlertNotification extends nsISupports {
712   init(aName?: string, aImageURL?: string, aTitle?: string, aText?: string, aTextClickable?: boolean, aCookie?: string, aDir?: string, aLang?: string, aData?: string, aPrincipal?: nsIPrincipal, aInPrivateBrowsing?: boolean, aRequireInteraction?: boolean, aSilent?: boolean, aVibrate?: u32[]): void;
713   readonly name: string;
714   readonly imageURL: string;
715   readonly title: string;
716   readonly text: string;
717   readonly textClickable: boolean;
718   readonly cookie: string;
719   readonly dir: string;
720   readonly lang: string;
721   readonly data: string;
722   readonly principal: nsIPrincipal;
723   readonly URI: nsIURI;
724   readonly inPrivateBrowsing: boolean;
725   readonly requireInteraction: boolean;
726   readonly silent: boolean;
727   readonly vibrate: u32[];
728   actions: nsIAlertAction[];
729   readonly actionable: boolean;
730   readonly source: string;
731   opaqueRelaunchData: string;
732   loadImage(aTimeout: u32, aListener: nsIAlertNotificationImageListener, aUserData?: nsISupports): nsICancelable;
735 interface nsIAlertsService extends nsISupports {
736   showPersistentNotification(aPersistentData: string, aAlert: nsIAlertNotification, aAlertListener?: nsIObserver): void;
737   showAlert(aAlert: nsIAlertNotification, aAlertListener?: nsIObserver): void;
738   showAlertNotification(aImageURL: string, aTitle: string, aText: string, aTextClickable?: boolean, aCookie?: string, aAlertListener?: nsIObserver, aName?: string, aDir?: string, aLang?: string, aData?: string, aPrincipal?: nsIPrincipal, aInPrivateBrowsing?: boolean, aRequireInteraction?: boolean): void;
739   closeAlert(aName?: string, aContextClosed?: boolean): void;
742 interface nsIAlertsDoNotDisturb extends nsISupports {
743   manualDoNotDisturb: boolean;
744   suppressForScreenSharing: boolean;
747 interface nsIAlertsIconData extends nsISupports {
748   showAlertWithIconData(aAlert: nsIAlertNotification, aAlertListener: nsIObserver, aIconSize: u32, aIconData: u8[]): void;
751 interface nsIAlertsIconURI extends nsISupports {
752   showAlertWithIconURI(aAlert: nsIAlertNotification, aAlertListener?: nsIObserver, aIconURI?: nsIURI): void;
755 // https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIWindowsAlertsService.idl
757 }  // global
759 declare namespace nsIWindowsAlertNotification {
761 enum ImagePlacement {
762   eInline = 0,
763   eHero = 1,
764   eIcon = 2,
769 declare global {
771 interface nsIWindowsAlertNotification extends nsIAlertNotification, Enums<typeof nsIWindowsAlertNotification.ImagePlacement> {
772   handleActions: boolean;
773   imagePlacement: nsIWindowsAlertNotification.ImagePlacement;
776 interface nsIWindowsAlertsService extends nsIAlertsService {
777   handleWindowsTag(aWindowsTag: string): Promise<any>;
778   getXmlStringForWindowsAlert(aAlert: nsIAlertNotification, aWindowsTag?: string): string;
779   removeAllNotificationsForInstall(): void;
782 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppShellService.idl
784 interface nsIAppShellService extends nsISupports {
785   readonly SIZE_TO_CONTENT: -1;
787   createTopLevelWindow(aParent: nsIAppWindow, aUrl: nsIURI, aChromeMask: u32, aInitialWidth: i32, aInitialHeight: i32): nsIAppWindow;
788   createWindowlessBrowser(aIsChrome?: boolean, aChromeMask?: u32): nsIWindowlessBrowser;
789   destroyHiddenWindow(): void;
790   readonly hiddenWindow: nsIAppWindow;
791   readonly hiddenDOMWindow: mozIDOMWindowProxy;
792   readonly applicationProvidedHiddenWindow: boolean;
793   registerTopLevelWindow(aWindow: nsIAppWindow): void;
794   unregisterTopLevelWindow(aWindow: nsIAppWindow): void;
795   readonly hasHiddenWindow: boolean;
796   startEventLoopLagTracking(): boolean;
797   stopEventLoopLagTracking(): void;
800 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppWindow.idl
802 interface nsIAppWindow extends nsISupports {
803   readonly lowestZ: 0;
804   readonly loweredZ: 4;
805   readonly normalZ: 5;
806   readonly raisedZ: 6;
807   readonly highestZ: 9;
809   readonly docShell: nsIDocShell;
810   intrinsicallySized: boolean;
811   readonly primaryContentShell: nsIDocShellTreeItem;
812   readonly primaryRemoteTab: nsIRemoteTab;
813   readonly primaryContentBrowsingContext: BrowsingContext;
814   remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;
815   remoteTabRemoved(aTab: nsIRemoteTab): void;
816   readonly outerToInnerHeightDifferenceInCSSPixels: u32;
817   readonly outerToInnerWidthDifferenceInCSSPixels: u32;
818   center(aRelative: nsIAppWindow, aScreen: boolean, aAlert: boolean): void;
819   showModal(): void;
820   lockAspectRatio(aShouldLock: boolean): void;
821   zLevel: u32;
822   chromeFlags: u32;
823   assumeChromeFlagsAreFrozen(): void;
824   createNewWindow(aChromeFlags: i32, aOpenWindowInfo: nsIOpenWindowInfo): nsIAppWindow;
825   XULBrowserWindow: nsIXULBrowserWindow;
826   readonly initialOpenWindowInfo: nsIOpenWindowInfo;
827   needFastSnaphot(): void;
830 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediator.idl
832 interface nsIWindowMediator extends nsISupports {
833   readonly zLevelTop: 1;
834   readonly zLevelBottom: 2;
835   readonly zLevelBelow: 3;
837   getEnumerator(aWindowType: string): nsISimpleEnumerator;
838   getAppWindowEnumerator(aWindowType: string): nsISimpleEnumerator;
839   getZOrderAppWindowEnumerator(aWindowType: string, aFrontToBack: boolean): nsISimpleEnumerator;
840   getMostRecentWindow(aWindowType: string): mozIDOMWindowProxy;
841   getMostRecentBrowserWindow(): mozIDOMWindowProxy;
842   getMostRecentNonPBWindow(aWindowType: string): mozIDOMWindowProxy;
843   getOuterWindowWithId(aOuterWindowID: u64): mozIDOMWindowProxy;
844   getCurrentInnerWindowWithId(aInnerWindowID: u64): mozIDOMWindow;
845   addListener(aListener: nsIWindowMediatorListener): void;
846   removeListener(aListener: nsIWindowMediatorListener): void;
849 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediatorListener.idl
851 interface nsIWindowMediatorListener extends nsISupports {
852   onOpenWindow(window: nsIAppWindow): void;
853   onCloseWindow(window: nsIAppWindow): void;
856 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowlessBrowser.idl
858 interface nsIWindowlessBrowser extends nsIWebNavigation {
859   close(): void;
860   readonly docShell: nsIDocShell;
861   readonly browsingContext: BrowsingContext;
864 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIXULBrowserWindow.idl
866 interface nsIXULBrowserWindow extends nsISupports {
867   setOverLink(link: string): void;
868   onBeforeLinkTraversal(originalTarget: string, linkURI: nsIURI, linkNode: Node, isAppTab: boolean): string;
869   showTooltip(x: i32, y: i32, tooltip: string, direction: string, browser: Element): void;
870   hideTooltip(): void;
871   getTabCount(): u32;
874 // https://searchfox.org/mozilla-central/source/toolkit/components/startup/public/nsIAppStartup.idl
876 }  // global
878 declare namespace nsIAppStartup {
880 enum IDLShutdownPhase {
881   SHUTDOWN_PHASE_NOTINSHUTDOWN = 0,
882   SHUTDOWN_PHASE_APPSHUTDOWNCONFIRMED = 1,
883   SHUTDOWN_PHASE_APPSHUTDOWNNETTEARDOWN = 2,
884   SHUTDOWN_PHASE_APPSHUTDOWNTEARDOWN = 3,
885   SHUTDOWN_PHASE_APPSHUTDOWN = 4,
886   SHUTDOWN_PHASE_APPSHUTDOWNQM = 5,
887   SHUTDOWN_PHASE_APPSHUTDOWNRELEMETRY = 6,
888   SHUTDOWN_PHASE_XPCOMWILLSHUTDOWN = 7,
889   SHUTDOWN_PHASE_XPCOMSHUTDOWN = 8,
894 declare global {
896 interface nsIAppStartup extends nsISupports, Enums<typeof nsIAppStartup.IDLShutdownPhase> {
897   readonly eConsiderQuit: 1;
898   readonly eAttemptQuit: 2;
899   readonly eForceQuit: 3;
900   readonly eRestart: 16;
901   readonly eSilently: 256;
903   createHiddenWindow(): void;
904   destroyHiddenWindow(): void;
905   run(): void;
906   enterLastWindowClosingSurvivalArea(): void;
907   exitLastWindowClosingSurvivalArea(): void;
908   readonly automaticSafeModeNecessary: boolean;
909   restartInSafeMode(aQuitMode: u32): void;
910   createInstanceWithProfile(aProfile: nsIToolkitProfile): void;
911   trackStartupCrashBegin(): boolean;
912   trackStartupCrashEnd(): void;
913   quit(aMode: u32, aExitCode?: i32): boolean;
914   advanceShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): void;
915   isInOrBeyondShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): boolean;
916   readonly shuttingDown: boolean;
917   readonly startingUp: boolean;
918   readonly restarting: boolean;
919   readonly wasRestarted: boolean;
920   readonly wasSilentlyStarted: boolean;
921   readonly secondsSinceLastOSRestart: i64;
922   readonly showedPreXULSkeletonUI: boolean;
923   getStartupInfo(): any;
924   interrupted: boolean;
927 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteController.idl
929 interface nsIAutoCompleteController extends nsISupports {
930   readonly STATUS_NONE: 1;
931   readonly STATUS_SEARCHING: 2;
932   readonly STATUS_COMPLETE_NO_MATCH: 3;
933   readonly STATUS_COMPLETE_MATCH: 4;
935   input: nsIAutoCompleteInput;
936   readonly searchStatus: u16;
937   readonly matchCount: u32;
938   startSearch(searchString: string): void;
939   stopSearch(): void;
940   handleText(): boolean;
941   handleEnter(aIsPopupSelection: boolean, aEvent?: Event): boolean;
942   handleEscape(): boolean;
943   handleStartComposition(): void;
944   handleEndComposition(): void;
945   handleTab(): void;
946   handleKeyNavigation(key: u32): boolean;
947   handleDelete(): boolean;
948   getValueAt(index: i32): string;
949   getLabelAt(index: i32): string;
950   getCommentAt(index: i32): string;
951   getStyleAt(index: i32): string;
952   getImageAt(index: i32): string;
953   getFinalCompleteValueAt(index: i32): string;
954   searchString: string;
955   setInitiallySelectedIndex(index: i32): void;
956   resetInternalState(): void;
959 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteInput.idl
961 interface nsIAutoCompleteInput extends nsISupports {
962   readonly popupElement: Element;
963   readonly popup: nsIAutoCompletePopup;
964   readonly controller: nsIAutoCompleteController;
965   popupOpen: boolean;
966   disableAutoComplete: boolean;
967   completeDefaultIndex: boolean;
968   completeSelectedIndex: boolean;
969   forceComplete: boolean;
970   minResultsForPopup: u32;
971   maxRows: u32;
972   timeout: u32;
973   searchParam: string;
974   readonly searchCount: u32;
975   getSearchAt(index: u32): string;
976   textValue: string;
977   readonly selectionStart: i32;
978   readonly selectionEnd: i32;
979   selectTextRange(startIndex: i32, endIndex: i32): void;
980   onSearchBegin(): void;
981   onSearchComplete(): void;
982   onTextEntered(aEvent?: Event): void;
983   onTextReverted(): boolean;
984   readonly consumeRollupEvent: boolean;
985   readonly inPrivateContext: boolean;
986   readonly noRollupOnCaretMove: boolean;
987   readonly noRollupOnEmptySearch: boolean;
988   readonly userContextId: u32;
989   readonly invalidatePreviousResult: boolean;
992 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompletePopup.idl
994 interface nsIAutoCompletePopup extends nsISupports {
995   readonly INVALIDATE_REASON_NEW_RESULT: 0;
996   readonly INVALIDATE_REASON_DELETE: 1;
998   readonly input: nsIAutoCompleteInput;
999   readonly overrideValue: string;
1000   selectedIndex: i32;
1001   readonly popupOpen: boolean;
1002   openAutocompletePopup(input: nsIAutoCompleteInput, element: Element): void;
1003   closePopup(): void;
1004   invalidate(reason: u16): void;
1005   selectBy(reverse: boolean, page: boolean): void;
1008 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteResult.idl
1010 interface nsIAutoCompleteResult extends nsISupports {
1011   readonly RESULT_IGNORED: 1;
1012   readonly RESULT_FAILURE: 2;
1013   readonly RESULT_NOMATCH: 3;
1014   readonly RESULT_SUCCESS: 4;
1015   readonly RESULT_NOMATCH_ONGOING: 5;
1016   readonly RESULT_SUCCESS_ONGOING: 6;
1018   readonly searchString: string;
1019   readonly searchResult: u16;
1020   readonly defaultIndex: i32;
1021   readonly errorDescription: string;
1022   readonly matchCount: u32;
1023   getValueAt(index: i32): string;
1024   getLabelAt(index: i32): string;
1025   getCommentAt(index: i32): string;
1026   getStyleAt(index: i32): string;
1027   getImageAt(index: i32): string;
1028   getFinalCompleteValueAt(index: i32): string;
1029   isRemovableAt(rowIndex: i32): boolean;
1030   removeValueAt(rowIndex: i32): void;
1033 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSearch.idl
1035 interface nsIAutoCompleteSearch extends nsISupports {
1036   startSearch(searchString: string, searchParam: string, previousResult: nsIAutoCompleteResult, listener: nsIAutoCompleteObserver): void;
1037   stopSearch(): void;
1040 interface nsIAutoCompleteObserver extends nsISupports {
1041   onSearchResult(search: nsIAutoCompleteSearch, result: nsIAutoCompleteResult): void;
1044 interface nsIAutoCompleteSearchDescriptor extends nsISupports {
1045   readonly SEARCH_TYPE_DELAYED: 0;
1046   readonly SEARCH_TYPE_IMMEDIATE: 1;
1048   readonly searchType: u16;
1049   readonly clearingAutoFillSearchesAgain: boolean;
1052 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl
1054 interface nsIAutoCompleteSimpleResult extends nsIAutoCompleteResult {
1055   setSearchString(aSearchString: string): void;
1056   setErrorDescription(aErrorDescription: string): void;
1057   setDefaultIndex(aDefaultIndex: i32): void;
1058   setSearchResult(aSearchResult: u16): void;
1059   insertMatchAt(aIndex: i32, aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;
1060   appendMatch(aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;
1061   removeMatchAt(aIndex: i32): void;
1062   getListener(): nsIAutoCompleteSimpleResultListener;
1063   setListener(aListener: nsIAutoCompleteSimpleResultListener): void;
1066 interface nsIAutoCompleteSimpleResultListener extends nsISupports {
1067   onValueRemoved(aResult: nsIAutoCompleteSimpleResult, aValue: string): void;
1070 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleSearch.idl
1072 interface nsIAutoCompleteSimpleSearch extends nsIAutoCompleteSearch {
1073   overrideNextResult(values: nsIAutoCompleteResult): void;
1076 // https://searchfox.org/mozilla-central/source/dom/media/autoplay/nsIAutoplay.idl
1078 interface nsIAutoplay extends nsISupports {
1079   readonly ALLOWED: 0;
1080   readonly BLOCKED: 1;
1081   readonly BLOCKED_ALL: 5;
1084 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundhangmonitor/nsIHangDetails.idl
1086 interface nsIHangDetails extends nsISupports {
1087   readonly wasPersisted: boolean;
1088   readonly duration: double;
1089   readonly thread: string;
1090   readonly runnableName: string;
1091   readonly process: string;
1092   readonly remoteType: string;
1093   readonly stack: any;
1094   readonly modules: any;
1095   readonly annotations: any;
1098 // https://searchfox.org/mozilla-central/source/toolkit/components/bitsdownload/nsIBits.idl
1100 interface nsIBits extends nsISupports {
1101   readonly ERROR_TYPE_SUCCESS: 0;
1102   readonly ERROR_TYPE_UNKNOWN: 1;
1103   readonly ERROR_TYPE_METHOD_THREW: 2;
1104   readonly ERROR_TYPE_METHOD_TIMEOUT: 3;
1105   readonly ERROR_TYPE_NULL_ARGUMENT: 4;
1106   readonly ERROR_TYPE_INVALID_ARGUMENT: 5;
1107   readonly ERROR_TYPE_NOT_INITIALIZED: 6;
1108   readonly ERROR_TYPE_NO_UTF8_CONVERSION: 7;
1109   readonly ERROR_TYPE_INVALID_GUID: 8;
1110   readonly ERROR_TYPE_PIPE_NOT_CONNECTED: 9;
1111   readonly ERROR_TYPE_PIPE_TIMEOUT: 10;
1112   readonly ERROR_TYPE_PIPE_BAD_WRITE_COUNT: 11;
1113   readonly ERROR_TYPE_PIPE_API_ERROR: 12;
1114   readonly ERROR_TYPE_FAILED_TO_CREATE_BITS_JOB: 13;
1115   readonly ERROR_TYPE_FAILED_TO_ADD_FILE_TO_JOB: 14;
1116   readonly ERROR_TYPE_FAILED_TO_APPLY_BITS_JOB_SETTINGS: 15;
1117   readonly ERROR_TYPE_FAILED_TO_RESUME_BITS_JOB: 16;
1118   readonly ERROR_TYPE_OTHER_BITS_ERROR: 17;
1119   readonly ERROR_TYPE_OTHER_BITS_CLIENT_ERROR: 18;
1120   readonly ERROR_TYPE_BITS_JOB_NOT_FOUND: 19;
1121   readonly ERROR_TYPE_FAILED_TO_GET_BITS_JOB: 20;
1122   readonly ERROR_TYPE_FAILED_TO_SUSPEND_BITS_JOB: 21;
1123   readonly ERROR_TYPE_FAILED_TO_COMPLETE_BITS_JOB: 22;
1124   readonly ERROR_TYPE_PARTIALLY_COMPLETED_BITS_JOB: 23;
1125   readonly ERROR_TYPE_FAILED_TO_CANCEL_BITS_JOB: 24;
1126   readonly ERROR_TYPE_MISSING_RESULT_DATA: 25;
1127   readonly ERROR_TYPE_MISSING_CALLBACK: 26;
1128   readonly ERROR_TYPE_CALLBACK_ON_WRONG_THREAD: 27;
1129   readonly ERROR_TYPE_MISSING_BITS_SERVICE: 28;
1130   readonly ERROR_TYPE_BITS_SERVICE_ON_WRONG_THREAD: 29;
1131   readonly ERROR_TYPE_MISSING_BITS_REQUEST: 30;
1132   readonly ERROR_TYPE_BITS_REQUEST_ON_WRONG_THREAD: 31;
1133   readonly ERROR_TYPE_MISSING_OBSERVER: 32;
1134   readonly ERROR_TYPE_OBSERVER_ON_WRONG_THREAD: 33;
1135   readonly ERROR_TYPE_MISSING_CONTEXT: 34;
1136   readonly ERROR_TYPE_CONTEXT_ON_WRONG_THREAD: 35;
1137   readonly ERROR_TYPE_FAILED_TO_START_THREAD: 36;
1138   readonly ERROR_TYPE_FAILED_TO_CONSTRUCT_TASK_RUNNABLE: 37;
1139   readonly ERROR_TYPE_FAILED_TO_DISPATCH_RUNNABLE: 38;
1140   readonly ERROR_TYPE_TRANSFER_ALREADY_COMPLETE: 39;
1141   readonly ERROR_TYPE_OPERATION_ALREADY_IN_PROGRESS: 40;
1142   readonly ERROR_TYPE_MISSING_BITS_CLIENT: 41;
1143   readonly ERROR_TYPE_FAILED_TO_GET_JOB_STATUS: 42;
1144   readonly ERROR_TYPE_BITS_STATE_ERROR: 43;
1145   readonly ERROR_TYPE_BITS_STATE_TRANSIENT_ERROR: 44;
1146   readonly ERROR_TYPE_BITS_STATE_CANCELLED: 45;
1147   readonly ERROR_TYPE_BITS_STATE_UNEXPECTED: 46;
1148   readonly ERROR_TYPE_VERIFICATION_FAILURE: 47;
1149   readonly ERROR_TYPE_ACCESS_DENIED_EXPECTED: 48;
1150   readonly ERROR_TYPE_FAILED_TO_CONNECT_TO_BCM: 49;
1151   readonly ERROR_TYPE_USE_AFTER_REQUEST_SHUTDOWN: 50;
1152   readonly ERROR_TYPE_BROWSER_SHUTTING_DOWN: 51;
1153   readonly ERROR_ACTION_UNKNOWN: 1;
1154   readonly ERROR_ACTION_NONE: 2;
1155   readonly ERROR_ACTION_START_DOWNLOAD: 3;
1156   readonly ERROR_ACTION_MONITOR_DOWNLOAD: 4;
1157   readonly ERROR_ACTION_CHANGE_MONITOR_INTERVAL: 5;
1158   readonly ERROR_ACTION_CANCEL: 6;
1159   readonly ERROR_ACTION_SET_PRIORITY: 7;
1160   readonly ERROR_ACTION_COMPLETE: 8;
1161   readonly ERROR_ACTION_SUSPEND: 9;
1162   readonly ERROR_ACTION_RESUME: 10;
1163   readonly ERROR_ACTION_SET_NO_PROGRESS_TIMEOUT: 11;
1164   readonly ERROR_STAGE_UNKNOWN: 1;
1165   readonly ERROR_STAGE_PRETASK: 2;
1166   readonly ERROR_STAGE_COMMAND_THREAD: 3;
1167   readonly ERROR_STAGE_AGENT_COMMUNICATION: 4;
1168   readonly ERROR_STAGE_BITS_CLIENT: 5;
1169   readonly ERROR_STAGE_MAIN_THREAD: 6;
1170   readonly ERROR_STAGE_MONITOR: 7;
1171   readonly ERROR_STAGE_VERIFICATION: 8;
1172   readonly ERROR_CODE_TYPE_NONE: 1;
1173   readonly ERROR_CODE_TYPE_NSRESULT: 2;
1174   readonly ERROR_CODE_TYPE_HRESULT: 3;
1175   readonly ERROR_CODE_TYPE_STRING: 4;
1176   readonly ERROR_CODE_TYPE_EXCEPTION: 5;
1177   readonly PROXY_NONE: 1;
1178   readonly PROXY_PRECONFIG: 2;
1179   readonly PROXY_AUTODETECT: 3;
1181   readonly initialized: boolean;
1182   init(jobName: string, savePathPrefix: string, monitorTimeoutMs: u32): void;
1183   startDownload(downloadURL: string, saveRelativePath: string, proxy: nsProxyUsage, noProgressTimeoutSecs: u32, monitorIntervalMs: u32, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;
1184   monitorDownload(id: string, monitorIntervalMs: u32, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;
1187 interface nsIBitsNewRequestCallback extends nsISupports {
1188   success(request: nsIBitsRequest): void;
1189   failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;
1190   failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;
1191   failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;
1192   failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;
1195 interface nsIBitsRequest extends nsIRequest {
1196   readonly bitsId: string;
1197   readonly transferError: nsBitsErrorType;
1198   changeMonitorInterval(monitorIntervalMs: u32, callback: nsIBitsCallback): void;
1199   cancelAsync(status: nsresult, callback: nsIBitsCallback): void;
1200   setPriorityHigh(callback: nsIBitsCallback): void;
1201   setPriorityLow(callback: nsIBitsCallback): void;
1202   setNoProgressTimeout(timeoutSecs: u32, callback: nsIBitsCallback): void;
1203   complete(callback: nsIBitsCallback): void;
1204   suspendAsync(callback: nsIBitsCallback): void;
1205   resumeAsync(callback: nsIBitsCallback): void;
1208 interface nsIBitsCallback extends nsISupports {
1209   success(): void;
1210   failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;
1211   failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;
1212   failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;
1213   failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;
1216 // https://searchfox.org/mozilla-central/source/browser/components/newtab/nsIAboutNewTabService.idl
1218 interface nsIAboutNewTabService extends nsISupports {
1219   readonly defaultURL: string;
1220   aboutHomeChannel(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
1221   readonly welcomeURL: string;
1224 // https://searchfox.org/mozilla-central/source/browser/components/nsIBrowserHandler.idl
1226 interface nsIBrowserHandler extends nsISupports {
1227   startPage: string;
1228   defaultArgs: string;
1229   kiosk: boolean;
1230   majorUpgrade: boolean;
1231   firstRunProfile: boolean;
1232   getFeatures(aCmdLine: nsICommandLine): string;
1235 // https://searchfox.org/mozilla-central/source/caps/nsIAddonPolicyService.idl
1237 interface nsIAddonPolicyService extends nsISupports {
1238   readonly defaultCSP: string;
1239   readonly defaultCSPV3: string;
1240   getBaseCSP(aAddonId: string): string;
1241   getExtensionPageCSP(aAddonId: string): string;
1242   getGeneratedBackgroundPageUrl(aAddonId: string): string;
1243   addonHasPermission(aAddonId: string, aPerm: string): boolean;
1244   addonMayLoadURI(aAddonId: string, aURI: nsIURI, aExplicit?: boolean): boolean;
1245   getExtensionName(aAddonId: string): string;
1246   sourceMayLoadExtensionURI(aSourceURI: nsIURI, aExtensionURI: nsIURI): boolean;
1247   extensionURIToAddonId(aURI: nsIURI): string;
1250 interface nsIAddonContentPolicy extends nsISupports {
1251   readonly CSP_ALLOW_ANY: 65535;
1252   readonly CSP_ALLOW_LOCALHOST: 1;
1253   readonly CSP_ALLOW_EVAL: 2;
1254   readonly CSP_ALLOW_REMOTE: 4;
1255   readonly CSP_ALLOW_WASM: 8;
1257   validateAddonCSP(aPolicyString: string, aPermittedPolicy: u32): string;
1260 // https://searchfox.org/mozilla-central/source/caps/nsIDomainPolicy.idl
1262 interface nsIDomainPolicy extends nsISupports {
1263   readonly blocklist: nsIDomainSet;
1264   readonly superBlocklist: nsIDomainSet;
1265   readonly allowlist: nsIDomainSet;
1266   readonly superAllowlist: nsIDomainSet;
1267   deactivate(): void;
1270 interface nsIDomainSet extends nsISupports {
1271   add(aDomain: nsIURI): void;
1272   remove(aDomain: nsIURI): void;
1273   clear(): void;
1274   contains(aDomain: nsIURI): boolean;
1275   containsSuperDomain(aDomain: nsIURI): boolean;
1278 // https://searchfox.org/mozilla-central/source/caps/nsIPrincipal.idl
1280 interface nsIPrincipal extends nsISupports {
1281   equals(other: nsIPrincipal): boolean;
1282   equalsForPermission(other: nsIPrincipal, aExactHost: boolean): boolean;
1283   equalsConsideringDomain(other: nsIPrincipal): boolean;
1284   equalsURI(aOtherURI: nsIURI): boolean;
1285   readonly URI: nsIURI;
1286   subsumes(other: nsIPrincipal): boolean;
1287   subsumesConsideringDomain(other: nsIPrincipal): boolean;
1288   subsumesConsideringDomainIgnoringFPD(other: nsIPrincipal): boolean;
1289   checkMayLoad(uri: nsIURI, allowIfInheritsPrincipal: boolean): void;
1290   checkMayLoadWithReporting(uri: nsIURI, allowIfInheritsPrincipal: boolean, innerWindowID: u64): void;
1291   isThirdPartyURI(uri: nsIURI): boolean;
1292   isThirdPartyPrincipal(principal: nsIPrincipal): boolean;
1293   isThirdPartyChannel(channel: nsIChannel): boolean;
1294   readonly originAttributes: any;
1295   readonly origin: string;
1296   readonly hostPort: string;
1297   readonly asciiHost: string;
1298   readonly host: string;
1299   readonly prePath: string;
1300   readonly filePath: string;
1301   readonly asciiSpec: string;
1302   readonly spec: string;
1303   readonly exposablePrePath: string;
1304   readonly exposableSpec: string;
1305   readonly scheme: string;
1306   schemeIs(scheme: string): boolean;
1307   isURIInPrefList(pref: string): boolean;
1308   isURIInList(list: string): boolean;
1309   isContentAccessibleAboutURI(): boolean;
1310   isSameOrigin(otherURI: nsIURI): boolean;
1311   allowsRelaxStrictFileOriginPolicy(aURI: nsIURI): boolean;
1312   hasFirstpartyStorageAccess(aWindow: mozIDOMWindow, rejectedReason: OutParam<u32>): boolean;
1313   readonly localStorageQuotaKey: string;
1314   readonly isOriginPotentiallyTrustworthy: boolean;
1315   readonly isLoopbackHost: boolean;
1316   getAboutModuleFlags(): u32;
1317   readonly storageOriginKey: string;
1318   readonly originNoSuffix: string;
1319   readonly originSuffix: string;
1320   readonly siteOrigin: string;
1321   readonly siteOriginNoSuffix: string;
1322   readonly baseDomain: string;
1323   readonly addonId: string;
1324   readonly addonPolicy: WebExtensionPolicy;
1325   readonly contentScriptAddonPolicy: WebExtensionPolicy;
1326   readonly userContextId: u32;
1327   readonly privateBrowsingId: u32;
1328   readonly isNullPrincipal: boolean;
1329   readonly isContentPrincipal: boolean;
1330   readonly isExpandedPrincipal: boolean;
1331   readonly isSystemPrincipal: boolean;
1332   readonly isAddonOrExpandedAddonPrincipal: boolean;
1333   readonly isOnion: boolean;
1334   readonly isScriptAllowedByPolicy: boolean;
1335   isL10nAllowed(aDocumentURI: nsIURI): boolean;
1336   readonly nextSubDomainPrincipal: nsIPrincipal;
1337   readonly isIpAddress: boolean;
1338   readonly isLocalIpAddress: boolean;
1339   readonly precursorPrincipal: nsIPrincipal;
1342 // https://searchfox.org/mozilla-central/source/caps/nsIScriptSecurityManager.idl
1344 interface nsIScriptSecurityManager extends nsISupports {
1345   readonly STANDARD: 0;
1346   readonly LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT: 1;
1347   readonly ALLOW_CHROME: 2;
1348   readonly DISALLOW_INHERIT_PRINCIPAL: 4;
1349   readonly DISALLOW_SCRIPT_OR_DATA: 4;
1350   readonly DISALLOW_SCRIPT: 8;
1351   readonly DONT_REPORT_ERRORS: 16;
1352   readonly DEFAULT_USER_CONTEXT_ID: 0;
1353   readonly DEFAULT_PRIVATE_BROWSING_ID: 0;
1355   checkLoadURIWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: nsIURI, flags: u32, innerWindowID?: u64): void;
1356   checkLoadURIWithPrincipal(aPrincipal: nsIPrincipal, uri: nsIURI, flags?: u32, innerWindowID?: u64): void;
1357   checkLoadURIStrWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: string, flags: u32): void;
1358   checkLoadURIStrWithPrincipal(aPrincipal: nsIPrincipal, uri: string, flags?: u32): void;
1359   inFileURIAllowlist(aUri: nsIURI): boolean;
1360   getSystemPrincipal(): nsIPrincipal;
1361   getLoadContextContentPrincipal(uri: nsIURI, loadContext: nsILoadContext): nsIPrincipal;
1362   getDocShellContentPrincipal(uri: nsIURI, docShell: nsIDocShell): nsIPrincipal;
1363   principalWithOA(principal: nsIPrincipal, originAttributes: any): nsIPrincipal;
1364   createContentPrincipal(uri: nsIURI, originAttributes: any): nsIPrincipal;
1365   createContentPrincipalFromOrigin(origin: string): nsIPrincipal;
1366   principalToJSON(principal: nsIPrincipal): string;
1367   JSONToPrincipal(json: string): nsIPrincipal;
1368   createNullPrincipal(originAttributes: any): nsIPrincipal;
1369   checkSameOriginURI(aSourceURI: nsIURI, aTargetURI: nsIURI, reportError: boolean, fromPrivateWindow: boolean): void;
1370   getChannelResultPrincipal(aChannel: nsIChannel): nsIPrincipal;
1371   getChannelResultStoragePrincipal(aChannel: nsIChannel): nsIPrincipal;
1372   getChannelResultPrincipals(aChannel: nsIChannel, aPrincipal: OutParam<nsIPrincipal>, aPartitionedPrincipal: OutParam<nsIPrincipal>): void;
1373   getChannelURIPrincipal(aChannel: nsIChannel): nsIPrincipal;
1374   activateDomainPolicy(): nsIDomainPolicy;
1375   readonly domainPolicyActive: boolean;
1376   policyAllowsScript(aDomain: nsIURI): boolean;
1379 // https://searchfox.org/mozilla-central/source/toolkit/components/captivedetect/nsICaptivePortalDetector.idl
1381 interface nsICaptivePortalCallback extends nsISupports {
1382   prepare(): void;
1383   complete(success: boolean): void;
1386 interface nsICaptivePortalDetector extends nsISupports {
1387   checkCaptivePortal(ifname: string, callback: nsICaptivePortalCallback): void;
1388   abort(ifname: string): void;
1389   cancelLogin(eventId: string): void;
1390   finishPreparation(ifname: string): void;
1393 // https://searchfox.org/mozilla-central/source/toolkit/components/cascade_bloom_filter/nsICascadeFilter.idl
1395 interface nsICascadeFilter extends nsISupports {
1396   setFilterData(data: u8[]): void;
1397   has(key: string): boolean;
1400 // https://searchfox.org/mozilla-central/source/chrome/nsIChromeRegistry.idl
1402 interface nsIChromeRegistry extends nsISupports {
1403   readonly NONE: 0;
1404   readonly PARTIAL: 1;
1405   readonly FULL: 2;
1407   convertChromeURL(aChromeURL: nsIURI): nsIURI;
1408   checkForNewChrome(): void;
1411 interface nsIXULChromeRegistry extends nsIChromeRegistry {
1412   isLocaleRTL(package: string): boolean;
1413   allowScriptsForPackage(url: nsIURI): boolean;
1414   allowContentToAccess(url: nsIURI): boolean;
1415   canLoadURLRemotely(url: nsIURI): boolean;
1416   mustLoadURLRemotely(url: nsIURI): boolean;
1419 // https://searchfox.org/mozilla-central/source/chrome/nsIToolkitChromeRegistry.idl
1421 interface nsIToolkitChromeRegistry extends nsIXULChromeRegistry {
1422   getLocalesForPackage(aPackage: string): nsIUTF8StringEnumerator;
1425 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandManager.idl
1427 interface nsICommandManager extends nsISupports {
1428   addCommandObserver(aCommandObserver: nsIObserver, aCommandToObserve: string): void;
1429   removeCommandObserver(aCommandObserver: nsIObserver, aCommandObserved: string): void;
1430   isCommandSupported(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;
1431   isCommandEnabled(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;
1432   getCommandState(aCommandName: string, aTargetWindow: mozIDOMWindowProxy, aCommandParams: nsICommandParams): void;
1433   doCommand(aCommandName: string, aCommandParams: nsICommandParams, aTargetWindow: mozIDOMWindowProxy): void;
1436 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandParams.idl
1438 interface nsICommandParams extends nsISupports {
1439   readonly eNoType: 0;
1440   readonly eBooleanType: 1;
1441   readonly eLongType: 2;
1442   readonly eDoubleType: 3;
1443   readonly eWStringType: 4;
1444   readonly eISupportsType: 5;
1445   readonly eStringType: 6;
1447   getValueType(name: string): i16;
1448   getBooleanValue(name: string): boolean;
1449   getLongValue(name: string): i32;
1450   getDoubleValue(name: string): double;
1451   getStringValue(name: string): string;
1452   getCStringValue(name: string): string;
1453   getISupportsValue(name: string): nsISupports;
1454   setBooleanValue(name: string, value: boolean): void;
1455   setLongValue(name: string, value: i32): void;
1456   setDoubleValue(name: string, value: double): void;
1457   setStringValue(name: string, value: string): void;
1458   setCStringValue(name: string, value: string): void;
1459   setISupportsValue(name: string, value: nsISupports): void;
1460   removeValue(name: string): void;
1463 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommand.idl
1465 interface nsIControllerCommand extends nsISupports {
1466   isCommandEnabled(aCommandName: string, aCommandContext: nsISupports): boolean;
1467   getCommandStateParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;
1468   doCommand(aCommandName: string, aCommandContext: nsISupports): void;
1469   doCommandParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;
1472 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommandTable.idl
1474 interface nsIControllerCommandTable extends nsISupports {
1475   makeImmutable(): void;
1476   registerCommand(aCommandName: string, aCommand: nsIControllerCommand): void;
1477   unregisterCommand(aCommandName: string, aCommand: nsIControllerCommand): void;
1478   findCommandHandler(aCommandName: string): nsIControllerCommand;
1479   isCommandEnabled(aCommandName: string, aCommandRefCon: nsISupports): boolean;
1480   updateCommandState(aCommandName: string, aCommandRefCon: nsISupports): void;
1481   supportsCommand(aCommandName: string, aCommandRefCon: nsISupports): boolean;
1482   doCommand(aCommandName: string, aCommandRefCon: nsISupports): void;
1483   doCommandParams(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;
1484   getCommandState(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;
1485   getSupportedCommands(): string[];
1488 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerContext.idl
1490 interface nsIControllerContext extends nsISupports {
1491   setCommandContext(aCommandContext: nsISupports): void;
1494 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLine.idl
1496 interface nsICommandLine extends nsISupports {
1497   readonly STATE_INITIAL_LAUNCH: 0;
1498   readonly STATE_REMOTE_AUTO: 1;
1499   readonly STATE_REMOTE_EXPLICIT: 2;
1501   readonly length: i32;
1502   getArgument(aIndex: i32): string;
1503   findFlag(aFlag: string, aCaseSensitive: boolean): i32;
1504   removeArguments(aStart: i32, aEnd: i32): void;
1505   handleFlag(aFlag: string, aCaseSensitive: boolean): boolean;
1506   handleFlagWithParam(aFlag: string, aCaseSensitive: boolean): string;
1507   readonly state: u32;
1508   preventDefault: boolean;
1509   readonly workingDirectory: nsIFile;
1510   resolveFile(aArgument: string): nsIFile;
1511   resolveURI(aArgument: string): nsIURI;
1514 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineHandler.idl
1516 interface nsICommandLineHandler extends nsISupports {
1517   handle(aCommandLine: nsICommandLine): void;
1518   readonly helpInfo: string;
1521 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineRunner.idl
1523 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineValidator.idl
1525 interface nsICommandLineValidator extends nsISupports {
1526   validate(aCommandLine: nsICommandLine): void;
1529 // https://searchfox.org/mozilla-central/source/editor/composer/nsIEditingSession.idl
1531 interface nsIEditingSession extends nsISupports {
1532   readonly eEditorOK: 0;
1533   readonly eEditorCreationInProgress: 1;
1534   readonly eEditorErrorCantEditMimeType: 2;
1535   readonly eEditorErrorFileNotFound: 3;
1536   readonly eEditorErrorCantEditFramesets: 8;
1537   readonly eEditorErrorUnknown: 9;
1539   readonly editorStatus: u32;
1540   makeWindowEditable(window: mozIDOMWindowProxy, aEditorType: string, doAfterUriLoad: boolean, aMakeWholeDocumentEditable: boolean, aInteractive: boolean): void;
1541   windowIsEditable(window: mozIDOMWindowProxy): boolean;
1542   getEditorForWindow(window: mozIDOMWindowProxy): nsIEditor;
1545 // https://searchfox.org/mozilla-central/source/dom/events/nsIEventListenerService.idl
1547 interface nsIEventListenerChange extends nsISupports {
1548   readonly target: EventTarget;
1551 type nsIListenerChangeListener = Callable<{
1552   listenersChanged(aEventListenerChanges: nsIArray): void;
1555 interface nsIEventListenerInfo extends nsISupports {
1556   readonly type: string;
1557   readonly capturing: boolean;
1558   readonly allowsUntrusted: boolean;
1559   readonly inSystemEventGroup: boolean;
1560   enabled: boolean;
1561   readonly listenerObject: any;
1562   toSource(): string;
1565 interface nsIEventListenerService extends nsISupports {
1566   getListenerInfoFor(aEventTarget: EventTarget): nsIEventListenerInfo[];
1567   hasListenersFor(aEventTarget: EventTarget, aType: string): boolean;
1568   addListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aWantsUntrusted?: boolean, aSystemEventGroup?: boolean): void;
1569   removeListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aSystemEventGroup?: boolean): void;
1570   addListenerChangeListener(aListener: nsIListenerChangeListener): void;
1571   removeListenerChangeListener(aListener: nsIListenerChangeListener): void;
1574 // https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginChromeService.idl
1576 interface mozIGeckoMediaPluginChromeService extends nsISupports {
1577   addPluginDirectory(directory: string): void;
1578   removePluginDirectory(directory: string): void;
1579   removeAndDeletePluginDirectory(directory: string, defer?: boolean): void;
1580   forgetThisSite(site: string, aPattern: string): void;
1581   forgetThisBaseDomain(baseDomain: string): void;
1582   isPersistentStorageAllowed(nodeId: string): boolean;
1583   getStorageDir(): nsIFile;
1586 // https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginService.idl
1588 interface mozIGeckoMediaPluginService extends nsISupports {
1589   readonly thread: nsIThread;
1590   RunPluginCrashCallbacks(pluginId: u32, pluginName: string): void;
1593 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIDefaultAgent.idl
1595 interface nsIDefaultAgent extends nsISupports {
1596   registerTask(aUniqueToken: string): void;
1597   updateTask(aUniqueToken: string): void;
1598   unregisterTask(aUniqueToken: string): void;
1599   uninstall(aUniqueToken: string): void;
1600   appRanRecently(): boolean;
1601   getDefaultBrowser(): string;
1602   getReplacePreviousDefaultBrowser(aCurrentBrowser: string): string;
1603   getDefaultPdfHandler(): string;
1604   sendPing(aCurrentBrowser: string, aPreviousBrowser: string, aPdfHandler: string, aNotificationShown: string, aNotificationAction: string): void;
1605   setDefaultBrowserUserChoice(aAumid: string, aExtraFileExtensions: string[]): void;
1606   setDefaultBrowserUserChoiceAsync(aAumid: string, aExtraFileExtensions: string[]): Promise<any>;
1607   setDefaultExtensionHandlersUserChoice(aAumid: string, aFileExtensions: string[]): void;
1608   agentDisabled(): boolean;
1611 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIWindowsMutex.idl
1613 interface nsIWindowsMutex extends nsISupports {
1614   tryLock(): void;
1615   isLocked(): boolean;
1616   unlock(): void;
1619 interface nsIWindowsMutexFactory extends nsISupports {
1620   createMutex(aName: string): nsIWindowsMutex;
1623 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShell.idl
1625 }  // global
1627 declare namespace nsIDocShell {
1629 enum DocShellEnumeratorDirection {
1630   ENUMERATE_FORWARDS = 0,
1631   ENUMERATE_BACKWARDS = 1,
1634 enum AppType {
1635   APP_TYPE_UNKNOWN = 0,
1636   APP_TYPE_MAIL = 1,
1637   APP_TYPE_EDITOR = 2,
1640 enum BusyFlags {
1641   BUSY_FLAGS_NONE = 0,
1642   BUSY_FLAGS_BUSY = 1,
1643   BUSY_FLAGS_BEFORE_PAGE_LOAD = 2,
1644   BUSY_FLAGS_PAGE_LOADING = 4,
1647 enum LoadCommand {
1648   LOAD_CMD_NORMAL = 1,
1649   LOAD_CMD_RELOAD = 2,
1650   LOAD_CMD_HISTORY = 4,
1651   LOAD_CMD_PUSHSTATE = 8,
1654 enum MetaViewportOverride {
1655   META_VIEWPORT_OVERRIDE_DISABLED = 0,
1656   META_VIEWPORT_OVERRIDE_ENABLED = 1,
1657   META_VIEWPORT_OVERRIDE_NONE = 2,
1662 declare global {
1664 interface nsIDocShell extends nsIDocShellTreeItem, Enums<typeof nsIDocShell.DocShellEnumeratorDirection & typeof nsIDocShell.AppType & typeof nsIDocShell.BusyFlags & typeof nsIDocShell.LoadCommand & typeof nsIDocShell.MetaViewportOverride> {
1665   setCancelContentJSEpoch(aEpoch: i32): void;
1666   addState(aData: any, aTitle: string, aURL: string, aReplace: boolean): void;
1667   prepareForNewContentModel(): void;
1668   setCurrentURIForSessionStore(aURI: nsIURI): void;
1669   readonly docViewer: nsIDocumentViewer;
1670   readonly outerWindowID: u64;
1671   chromeEventHandler: EventTarget;
1672   customUserAgent: string;
1673   cssErrorReportingEnabled: boolean;
1674   allowMetaRedirects: boolean;
1675   allowSubframes: boolean;
1676   allowImages: boolean;
1677   allowMedia: boolean;
1678   allowDNSPrefetch: boolean;
1679   allowWindowControl: boolean;
1680   allowContentRetargeting: boolean;
1681   allowContentRetargetingOnChildren: boolean;
1682   getAllDocShellsInSubtree(aItemType: i32, aDirection: nsIDocShell.DocShellEnumeratorDirection): nsIDocShell[];
1683   appType: nsIDocShell.AppType;
1684   allowAuth: boolean;
1685   zoom: float;
1686   tabToTreeOwner(forward: boolean, forDocumentNavigation: boolean): boolean;
1687   readonly busyFlags: nsIDocShell.BusyFlags;
1688   loadType: u32;
1689   defaultLoadFlags: nsLoadFlags;
1690   isBeingDestroyed(): boolean;
1691   readonly isExecutingOnLoadHandler: boolean;
1692   layoutHistoryState: nsILayoutHistoryState;
1693   readonly loadURIDelegate: nsILoadURIDelegate;
1694   suspendRefreshURIs(): void;
1695   resumeRefreshURIs(): void;
1696   beginRestore(viewer: nsIDocumentViewer, top: boolean): void;
1697   finishRestore(): void;
1698   clearCachedUserAgent(): void;
1699   clearCachedPlatform(): void;
1700   readonly restoringDocument: boolean;
1701   useErrorPages: boolean;
1702   displayLoadError(aError: nsresult, aURI: nsIURI, aURL: string, aFailedChannel?: nsIChannel): boolean;
1703   readonly failedChannel: nsIChannel;
1704   readonly previousEntryIndex: i32;
1705   readonly loadedEntryIndex: i32;
1706   historyPurged(numEntries: i32): void;
1707   readonly currentDocumentChannel: nsIChannel;
1708   readonly isInUnload: boolean;
1709   exitPrintPreview(): void;
1710   readonly historyID: nsID;
1711   createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal, aCSP?: nsIContentSecurityPolicy): void;
1712   readonly charset: string;
1713   forceEncodingDetection(): void;
1714   now(): DOMHighResTimeStamp;
1715   addWeakPrivacyTransitionObserver(obs: nsIPrivacyTransitionObserver): void;
1716   addWeakReflowObserver(obs: nsIReflowObserver): void;
1717   removeWeakReflowObserver(obs: nsIReflowObserver): void;
1718   readonly isTopLevelContentDocShell: boolean;
1719   readonly asyncPanZoomEnabled: boolean;
1720   readonly mayEnableCharacterEncodingMenu: boolean;
1721   editor: nsIEditor;
1722   readonly editable: boolean;
1723   readonly hasEditingSession: boolean;
1724   makeEditable(inWaitForUriLoad: boolean): void;
1725   getCurrentSHEntry(aEntry: OutParam<nsISHEntry>): boolean;
1726   isCommandEnabled(command: string): boolean;
1727   doCommand(command: string): void;
1728   doCommandWithParams(command: string, aParams: nsICommandParams): void;
1729   readonly hasLoadedNonBlankURI: boolean;
1730   windowDraggingAllowed: boolean;
1731   currentScrollRestorationIsManual: boolean;
1732   getOriginAttributes(): any;
1733   setOriginAttributes(aAttrs: any): void;
1734   readonly editingSession: nsIEditingSession;
1735   readonly browserChild: nsIBrowserChild;
1736   metaViewportOverride: nsIDocShell.MetaViewportOverride;
1737   useTrackingProtection: boolean;
1738   setColorMatrix(aMatrix: float[]): void;
1739   readonly isForceReloading: boolean;
1740   getColorMatrix(): float[];
1741   readonly messageManager: ContentFrameMessageManager;
1742   getHasTrackingContentBlocked(): Promise<any>;
1743   readonly isNavigating: boolean;
1744   synchronizeLayoutHistoryState(): void;
1745   persistLayoutHistoryState(): void;
1748 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeItem.idl
1750 interface nsIDocShellTreeItem extends nsISupports {
1751   readonly typeChrome: 0;
1752   readonly typeContent: 1;
1753   readonly typeContentWrapper: 2;
1754   readonly typeChromeWrapper: 3;
1755   readonly typeAll: 2147483647;
1757   name: string;
1758   nameEquals(name: string): boolean;
1759   readonly itemType: i32;
1760   readonly parent: nsIDocShellTreeItem;
1761   readonly sameTypeParent: nsIDocShellTreeItem;
1762   readonly rootTreeItem: nsIDocShellTreeItem;
1763   readonly sameTypeRootTreeItem: nsIDocShellTreeItem;
1764   readonly treeOwner: nsIDocShellTreeOwner;
1765   readonly childCount: i32;
1766   getChildAt(index: i32): nsIDocShellTreeItem;
1767   readonly browsingContext: BrowsingContext;
1768   readonly domWindow: mozIDOMWindowProxy;
1771 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeOwner.idl
1773 interface nsIDocShellTreeOwner extends nsISupports {
1774   contentShellAdded(aContentShell: nsIDocShellTreeItem, aPrimary: boolean): void;
1775   contentShellRemoved(aContentShell: nsIDocShellTreeItem): void;
1776   readonly primaryContentShell: nsIDocShellTreeItem;
1777   remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;
1778   remoteTabRemoved(aTab: nsIRemoteTab): void;
1779   readonly primaryRemoteTab: nsIRemoteTab;
1780   readonly primaryContentBrowsingContext: BrowsingContext;
1781   sizeShellTo(shell: nsIDocShellTreeItem, cx: i32, cy: i32): void;
1782   getPrimaryContentSize(width: OutParam<i32>, height: OutParam<i32>): void;
1783   setPrimaryContentSize(width: i32, height: i32): void;
1784   getRootShellSize(width: OutParam<i32>, height: OutParam<i32>): void;
1785   setRootShellSize(width: i32, height: i32): void;
1786   setPersistence(aPersistPosition: boolean, aPersistSize: boolean, aPersistSizeMode: boolean): void;
1787   getPersistence(aPersistPosition: OutParam<boolean>, aPersistSize: OutParam<boolean>, aPersistSizeMode: OutParam<boolean>): void;
1788   readonly tabCount: u32;
1789   readonly hasPrimaryContent: boolean;
1792 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentLoaderFactory.idl
1794 interface nsIDocumentLoaderFactory extends nsISupports {
1795   createInstance(aCommand: string, aChannel: nsIChannel, aLoadGroup: nsILoadGroup, aContentType: string, aContainer: nsIDocShell, aExtraInfo: nsISupports, aDocListenerResult: OutParam<nsIStreamListener>): nsIDocumentViewer;
1796   createInstanceForDocument(aContainer: nsISupports, aDocument: Document, aCommand: string): nsIDocumentViewer;
1799 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewer.idl
1801 }  // global
1803 declare namespace nsIDocumentViewer {
1805 enum PermitUnloadAction {
1806   ePrompt = 0,
1807   eDontPromptAndDontUnload = 1,
1808   eDontPromptAndUnload = 2,
1811 enum PermitUnloadResult {
1812   eAllowNavigation = 0,
1813   eRequestBlockNavigation = 1,
1818 declare global {
1820 interface nsIDocumentViewer extends nsISupports, Enums<typeof nsIDocumentViewer.PermitUnloadAction & typeof nsIDocumentViewer.PermitUnloadResult> {
1821   readonly eDelayResize: 1;
1823   container: nsIDocShell;
1824   loadComplete(aStatus: nsresult): void;
1825   permitUnload(aAction?: nsIDocumentViewer.PermitUnloadAction): boolean;
1826   readonly inPermitUnload: boolean;
1827   readonly beforeUnloadFiring: boolean;
1828   pageHide(isUnload: boolean): void;
1829   close(historyEntry: nsISHEntry): void;
1830   destroy(): void;
1831   stop(): void;
1832   readonly DOMDocument: Document;
1833   move(aX: i32, aY: i32): void;
1834   show(): void;
1835   hide(): void;
1836   sticky: boolean;
1837   open(aState: nsISupports, aSHEntry: nsISHEntry): void;
1838   clearHistoryEntry(): void;
1839   setPageModeForTesting(aPageMode: boolean, aPrintSettings: nsIPrintSettings): void;
1840   readonly historyEntry: nsISHEntry;
1841   readonly isTabModalPromptAllowed: boolean;
1842   isHidden: boolean;
1843   readonly deviceFullZoomForTest: float;
1844   authorStyleDisabled: boolean;
1845   getContentSize(maxWidth: i32, maxHeight: i32, prefWidth: i32, width: OutParam<i32>, height: OutParam<i32>): void;
1848 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewerEdit.idl
1850 interface nsIDocumentViewerEdit extends nsISupports {
1851   readonly COPY_IMAGE_TEXT: 1;
1852   readonly COPY_IMAGE_HTML: 2;
1853   readonly COPY_IMAGE_DATA: 4;
1854   readonly COPY_IMAGE_ALL: -1;
1856   clearSelection(): void;
1857   selectAll(): void;
1858   copySelection(): void;
1859   readonly copyable: boolean;
1860   copyLinkLocation(): void;
1861   readonly inLink: boolean;
1862   copyImage(aCopyFlags: i32): void;
1863   readonly inImage: boolean;
1864   getContents(aMimeType: string, aSelectionOnly: boolean): string;
1865   readonly canGetContents: boolean;
1866   setCommandNode(aNode: Node): void;
1869 // https://searchfox.org/mozilla-central/source/docshell/base/nsILoadContext.idl
1871 interface nsILoadContext extends nsISupports {
1872   readonly associatedWindow: mozIDOMWindowProxy;
1873   readonly topWindow: mozIDOMWindowProxy;
1874   readonly topFrameElement: Element;
1875   readonly isContent: boolean;
1876   usePrivateBrowsing: boolean;
1877   readonly useRemoteTabs: boolean;
1878   readonly useRemoteSubframes: boolean;
1879   useTrackingProtection: boolean;
1880   readonly originAttributes: any;
1883 // https://searchfox.org/mozilla-central/source/docshell/base/nsILoadURIDelegate.idl
1885 interface nsILoadURIDelegate extends nsISupports {
1886   handleLoadError(aURI: nsIURI, aError: nsresult, aErrorModule: i16): nsIURI;
1889 // https://searchfox.org/mozilla-central/source/docshell/base/nsIPrivacyTransitionObserver.idl
1891 type nsIPrivacyTransitionObserver = Callable<{
1892   privateModeChanged(enabled: boolean): void;
1895 // https://searchfox.org/mozilla-central/source/docshell/base/nsIReflowObserver.idl
1897 interface nsIReflowObserver extends nsISupports {
1898   reflow(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;
1899   reflowInterruptible(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;
1902 // https://searchfox.org/mozilla-central/source/docshell/base/nsIRefreshURI.idl
1904 interface nsIRefreshURI extends nsISupports {
1905   refreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;
1906   forceRefreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;
1907   cancelRefreshURITimers(): void;
1908   readonly refreshPending: boolean;
1911 // https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipListener.idl
1913 interface nsITooltipListener extends nsISupports {
1914   onShowTooltip(aXCoords: i32, aYCoords: i32, aTipText: string, aTipDir: string): void;
1915   onHideTooltip(): void;
1918 // https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipTextProvider.idl
1920 interface nsITooltipTextProvider extends nsISupports {
1921   getNodeText(aNode: Node, aText: OutParam<string>, aDirection: OutParam<string>): boolean;
1924 // https://searchfox.org/mozilla-central/source/docshell/base/nsIURIFixup.idl
1926 interface nsIURIFixupInfo extends nsISupports {
1927   consumer: BrowsingContext;
1928   preferredURI: nsIURI;
1929   fixedURI: nsIURI;
1930   keywordProviderName: string;
1931   keywordAsSent: string;
1932   wasSchemelessInput: boolean;
1933   fixupChangedProtocol: boolean;
1934   fixupCreatedAlternateURI: boolean;
1935   originalInput: string;
1936   postData: nsIInputStream;
1939 interface nsIURIFixup extends nsISupports {
1940   readonly FIXUP_FLAG_NONE: 0;
1941   readonly FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP: 1;
1942   readonly FIXUP_FLAGS_MAKE_ALTERNATE_URI: 2;
1943   readonly FIXUP_FLAG_PRIVATE_CONTEXT: 4;
1944   readonly FIXUP_FLAG_FIX_SCHEME_TYPOS: 8;
1946   getFixupURIInfo(aURIText: string, aFixupFlags?: u32): nsIURIFixupInfo;
1947   webNavigationFlagsToFixupFlags(aURIText: string, aDocShellFlags: u32): u32;
1948   keywordToURI(aKeyword: string, aIsPrivateContext?: boolean): nsIURIFixupInfo;
1949   forceHttpFixup(aUriString: string): nsIURIFixupInfo;
1950   checkHost(aURI: nsIURI, aListener: nsIDNSListener, aOriginAttributes?: any): void;
1951   isDomainKnown(aDomain: string): boolean;
1954 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigation.idl
1956 interface nsIWebNavigation extends nsISupports {
1957   readonly LOAD_FLAGS_MASK: 65535;
1958   readonly LOAD_FLAGS_NONE: 0;
1959   readonly LOAD_FLAGS_IS_REFRESH: 16;
1960   readonly LOAD_FLAGS_IS_LINK: 32;
1961   readonly LOAD_FLAGS_BYPASS_HISTORY: 64;
1962   readonly LOAD_FLAGS_REPLACE_HISTORY: 128;
1963   readonly LOAD_FLAGS_BYPASS_CACHE: 256;
1964   readonly LOAD_FLAGS_BYPASS_PROXY: 512;
1965   readonly LOAD_FLAGS_CHARSET_CHANGE: 1024;
1966   readonly LOAD_FLAGS_STOP_CONTENT: 2048;
1967   readonly LOAD_FLAGS_FROM_EXTERNAL: 4096;
1968   readonly LOAD_FLAGS_FIRST_LOAD: 16384;
1969   readonly LOAD_FLAGS_ALLOW_POPUPS: 32768;
1970   readonly LOAD_FLAGS_BYPASS_CLASSIFIER: 65536;
1971   readonly LOAD_FLAGS_FORCE_ALLOW_COOKIES: 131072;
1972   readonly LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL: 262144;
1973   readonly LOAD_FLAGS_ERROR_LOAD_CHANGES_RV: 524288;
1974   readonly LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP: 1048576;
1975   readonly LOAD_FLAGS_FIXUP_SCHEME_TYPOS: 2097152;
1976   readonly LOAD_FLAGS_FORCE_ALLOW_DATA_URI: 4194304;
1977   readonly LOAD_FLAGS_IS_REDIRECT: 8388608;
1978   readonly LOAD_FLAGS_DISABLE_TRR: 16777216;
1979   readonly LOAD_FLAGS_FORCE_TRR: 33554432;
1980   readonly LOAD_FLAGS_BYPASS_LOAD_URI_DELEGATE: 67108864;
1981   readonly LOAD_FLAGS_USER_ACTIVATION: 134217728;
1982   readonly STOP_NETWORK: 1;
1983   readonly STOP_CONTENT: 2;
1984   readonly STOP_ALL: 3;
1986   readonly canGoBack: boolean;
1987   readonly canGoForward: boolean;
1988   goBack(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;
1989   goForward(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;
1990   gotoIndex(index: i32, aUserActivation?: boolean): void;
1991   loadURI(aURI: nsIURI, aLoadURIOptions: any): void;
1992   fixupAndLoadURIString(aURIString: string, aLoadURIOptions: any): void;
1993   reload(aReloadFlags: u32): void;
1994   stop(aStopFlags: u32): void;
1995   readonly document: Document;
1996   readonly currentURI: nsIURI;
1997   readonly sessionHistory: nsISupports;
1998   resumeRedirectedLoad(aLoadIdentifier: u64, aHistoryIndex: i32): void;
2001 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigationInfo.idl
2003 interface nsIWebNavigationInfo extends nsISupports {
2004   readonly UNSUPPORTED: 0;
2005   readonly IMAGE: 1;
2006   readonly FALLBACK: 2;
2007   readonly OTHER: 32768;
2009   isTypeSupported(aType: string): u32;
2012 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebPageDescriptor.idl
2014 interface nsIWebPageDescriptor extends nsISupports {
2015   loadPageAsViewSource(otherDocShell: nsIDocShell, aURL: string): void;
2016   readonly currentDescriptor: nsISupports;
2019 // https://searchfox.org/mozilla-central/source/dom/base/mozIDOMWindow.idl
2021 interface mozIDOMWindow extends nsISupports {
2024 interface mozIDOMWindowProxy extends nsISupports {
2027 // https://searchfox.org/mozilla-central/source/dom/base/nsIContentPolicy.idl
2029 }  // global
2031 declare namespace nsIContentPolicy {
2033 enum nsContentPolicyType {
2034   TYPE_INVALID = 0,
2035   TYPE_OTHER = 1,
2036   TYPE_SCRIPT = 2,
2037   TYPE_IMAGE = 3,
2038   TYPE_STYLESHEET = 4,
2039   TYPE_OBJECT = 5,
2040   TYPE_DOCUMENT = 6,
2041   TYPE_SUBDOCUMENT = 7,
2042   TYPE_PING = 10,
2043   TYPE_XMLHTTPREQUEST = 11,
2044   TYPE_OBJECT_SUBREQUEST = 12,
2045   TYPE_DTD = 13,
2046   TYPE_FONT = 14,
2047   TYPE_MEDIA = 15,
2048   TYPE_WEBSOCKET = 16,
2049   TYPE_CSP_REPORT = 17,
2050   TYPE_XSLT = 18,
2051   TYPE_BEACON = 19,
2052   TYPE_FETCH = 20,
2053   TYPE_IMAGESET = 21,
2054   TYPE_WEB_MANIFEST = 22,
2055   TYPE_INTERNAL_SCRIPT = 23,
2056   TYPE_INTERNAL_WORKER = 24,
2057   TYPE_INTERNAL_SHARED_WORKER = 25,
2058   TYPE_INTERNAL_EMBED = 26,
2059   TYPE_INTERNAL_OBJECT = 27,
2060   TYPE_INTERNAL_FRAME = 28,
2061   TYPE_INTERNAL_IFRAME = 29,
2062   TYPE_INTERNAL_AUDIO = 30,
2063   TYPE_INTERNAL_VIDEO = 31,
2064   TYPE_INTERNAL_TRACK = 32,
2065   TYPE_INTERNAL_XMLHTTPREQUEST = 33,
2066   TYPE_INTERNAL_EVENTSOURCE = 34,
2067   TYPE_INTERNAL_SERVICE_WORKER = 35,
2068   TYPE_INTERNAL_SCRIPT_PRELOAD = 36,
2069   TYPE_INTERNAL_IMAGE = 37,
2070   TYPE_INTERNAL_IMAGE_PRELOAD = 38,
2071   TYPE_INTERNAL_STYLESHEET = 39,
2072   TYPE_INTERNAL_STYLESHEET_PRELOAD = 40,
2073   TYPE_INTERNAL_IMAGE_FAVICON = 41,
2074   TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS = 42,
2075   TYPE_SAVEAS_DOWNLOAD = 43,
2076   TYPE_SPECULATIVE = 44,
2077   TYPE_INTERNAL_MODULE = 45,
2078   TYPE_INTERNAL_MODULE_PRELOAD = 46,
2079   TYPE_INTERNAL_DTD = 47,
2080   TYPE_INTERNAL_FORCE_ALLOWED_DTD = 48,
2081   TYPE_INTERNAL_AUDIOWORKLET = 49,
2082   TYPE_INTERNAL_PAINTWORKLET = 50,
2083   TYPE_INTERNAL_FONT_PRELOAD = 51,
2084   TYPE_INTERNAL_CHROMEUTILS_COMPILED_SCRIPT = 52,
2085   TYPE_INTERNAL_FRAME_MESSAGEMANAGER_SCRIPT = 53,
2086   TYPE_INTERNAL_FETCH_PRELOAD = 54,
2087   TYPE_UA_FONT = 55,
2088   TYPE_PROXIED_WEBRTC_MEDIA = 56,
2089   TYPE_WEB_IDENTITY = 57,
2090   TYPE_INTERNAL_WORKER_STATIC_MODULE = 58,
2091   TYPE_WEB_TRANSPORT = 59,
2092   TYPE_END = 60,
2097 declare global {
2099 interface nsIContentPolicy extends nsISupports, Enums<typeof nsIContentPolicy.nsContentPolicyType> {
2100   readonly REJECT_REQUEST: -1;
2101   readonly REJECT_TYPE: -2;
2102   readonly REJECT_SERVER: -3;
2103   readonly REJECT_OTHER: -4;
2104   readonly REJECT_POLICY: -5;
2105   readonly ACCEPT: 1;
2107   shouldLoad(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;
2108   shouldProcess(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;
2111 // https://searchfox.org/mozilla-central/source/dom/base/nsIDroppedLinkHandler.idl
2113 interface nsIDroppedLinkItem extends nsISupports {
2114   readonly url: string;
2115   readonly name: string;
2116   readonly type: string;
2119 interface nsIDroppedLinkHandler extends nsISupports {
2120   canDropLink(aEvent: DragEvent, aAllowSameDocument: boolean): boolean;
2121   dropLinks(aEvent: DragEvent, aDisallowInherit?: boolean): nsIDroppedLinkItem[];
2122   validateURIsForDrop(aEvent: DragEvent, aURIs: string[], aDisallowInherit?: boolean): void;
2123   queryLinks(aDataTransfer: DataTransfer): nsIDroppedLinkItem[];
2124   getTriggeringPrincipal(aEvent: DragEvent): nsIPrincipal;
2125   getCsp(aEvent: DragEvent): nsIContentSecurityPolicy;
2128 // https://searchfox.org/mozilla-central/source/dom/base/nsIEventSourceEventService.idl
2130 interface nsIEventSourceEventListener extends nsISupports {
2131   eventSourceConnectionOpened(aHttpChannelId: u64): void;
2132   eventSourceConnectionClosed(aHttpChannelId: u64): void;
2133   eventReceived(aHttpChannelId: u64, aEventName: string, aLastEventID: string, aData: string, aRetry: u32, aTimeStamp: DOMHighResTimeStamp): void;
2136 interface nsIEventSourceEventService extends nsISupports {
2137   addListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;
2138   removeListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;
2139   hasListenerFor(aInnerWindowID: u64): boolean;
2142 // https://searchfox.org/mozilla-central/source/dom/base/nsIImageLoadingContent.idl
2144 interface nsIImageLoadingContent extends imgINotificationObserver {
2145   readonly UNKNOWN_REQUEST: -1;
2146   readonly CURRENT_REQUEST: 0;
2147   readonly PENDING_REQUEST: 1;
2150 // https://searchfox.org/mozilla-central/source/dom/base/nsIMessageManager.idl
2152 interface nsIMessageSender extends nsISupports {
2155 // https://searchfox.org/mozilla-central/source/dom/base/nsIObjectLoadingContent.idl
2157 interface nsIObjectLoadingContent extends nsISupports {
2158   readonly TYPE_LOADING: 0;
2159   readonly TYPE_DOCUMENT: 1;
2160   readonly TYPE_FALLBACK: 2;
2162   readonly actualType: string;
2163   readonly displayedType: u32;
2164   readonly srcURI: nsIURI;
2167 // https://searchfox.org/mozilla-central/source/dom/base/nsIScriptChannel.idl
2169 // https://searchfox.org/mozilla-central/source/dom/base/nsIScriptableContentIterator.idl
2171 }  // global
2173 declare namespace nsIScriptableContentIterator {
2175 enum IteratorType {
2176   NOT_INITIALIZED = 0,
2177   POST_ORDER_ITERATOR = 1,
2178   PRE_ORDER_ITERATOR = 2,
2179   SUBTREE_ITERATOR = 3,
2184 declare global {
2186 interface nsIScriptableContentIterator extends nsISupports, Enums<typeof nsIScriptableContentIterator.IteratorType> {
2187   initWithRootNode(aType: nsIScriptableContentIterator.IteratorType, aRoot: Node): void;
2188   initWithRange(aType: nsIScriptableContentIterator.IteratorType, aRange: Range): void;
2189   initWithPositions(aType: nsIScriptableContentIterator.IteratorType, aStartContainer: Node, aStartOffset: u32, aEndContainer: Node, aEndOffset: u32): void;
2190   first(): void;
2191   last(): void;
2192   next(): void;
2193   prev(): void;
2194   readonly currentNode: Node;
2195   readonly isDone: boolean;
2196   positionAt(aNode: Node): void;
2199 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionController.idl
2201 interface nsISelectionController extends nsISelectionDisplay {
2202   readonly SELECTION_NONE: 0;
2203   readonly SELECTION_NORMAL: 1;
2204   readonly SELECTION_SPELLCHECK: 2;
2205   readonly SELECTION_IME_RAWINPUT: 3;
2206   readonly SELECTION_IME_SELECTEDRAWTEXT: 4;
2207   readonly SELECTION_IME_CONVERTEDTEXT: 5;
2208   readonly SELECTION_IME_SELECTEDCONVERTEDTEXT: 6;
2209   readonly SELECTION_ACCESSIBILITY: 7;
2210   readonly SELECTION_FIND: 8;
2211   readonly SELECTION_URLSECONDARY: 9;
2212   readonly SELECTION_URLSTRIKEOUT: 10;
2213   readonly SELECTION_HIGHLIGHT: 11;
2214   readonly NUM_SELECTIONTYPES: 12;
2215   readonly SELECTION_ANCHOR_REGION: 0;
2216   readonly SELECTION_FOCUS_REGION: 1;
2217   readonly SELECTION_WHOLE_SELECTION: 2;
2218   readonly NUM_SELECTION_REGIONS: 3;
2219   readonly SELECTION_OFF: 0;
2220   readonly SELECTION_HIDDEN: 1;
2221   readonly SELECTION_ON: 2;
2222   readonly SELECTION_DISABLED: 3;
2223   readonly SELECTION_ATTENTION: 4;
2224   readonly SCROLL_SYNCHRONOUS: 2;
2225   readonly SCROLL_FIRST_ANCESTOR_ONLY: 4;
2226   readonly SCROLL_CENTER_VERTICALLY: 16;
2227   readonly SCROLL_OVERFLOW_HIDDEN: 32;
2228   readonly SCROLL_FOR_CARET_MOVE: 64;
2229   readonly MOVE_LEFT: 0;
2230   readonly MOVE_RIGHT: 1;
2231   readonly MOVE_UP: 2;
2232   readonly MOVE_DOWN: 3;
2234   setDisplaySelection(toggle: i16): void;
2235   getDisplaySelection(): i16;
2236   getSelection(type: i16): Selection;
2237   scrollSelectionIntoView(type: i16, region: i16, flags: i16): void;
2238   repaintSelection(type: i16): void;
2239   setCaretEnabled(enabled: boolean): void;
2240   setCaretReadOnly(readOnly: boolean): void;
2241   getCaretEnabled(): boolean;
2242   readonly caretVisible: boolean;
2243   setCaretVisibilityDuringSelection(visibility: boolean): void;
2244   characterMove(forward: boolean, extend: boolean): void;
2245   physicalMove(direction: i16, amount: i16, extend: boolean): void;
2246   wordMove(forward: boolean, extend: boolean): void;
2247   lineMove(forward: boolean, extend: boolean): void;
2248   intraLineMove(forward: boolean, extend: boolean): void;
2249   pageMove(forward: boolean, extend: boolean): void;
2250   completeScroll(forward: boolean): void;
2251   completeMove(forward: boolean, extend: boolean): void;
2252   scrollPage(forward: boolean): void;
2253   scrollLine(forward: boolean): void;
2254   scrollCharacter(right: boolean): void;
2257 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionDisplay.idl
2259 interface nsISelectionDisplay extends nsISupports {
2260   readonly DISPLAY_TEXT: 1;
2261   readonly DISPLAY_IMAGES: 2;
2262   readonly DISPLAY_FRAMES: 4;
2263   readonly DISPLAY_ALL: 7;
2265   setSelectionFlags(toggle: i16): void;
2266   getSelectionFlags(): i16;
2269 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionListener.idl
2271 interface nsISelectionListener extends nsISupports {
2272   readonly NO_REASON: 0;
2273   readonly DRAG_REASON: 1;
2274   readonly MOUSEDOWN_REASON: 2;
2275   readonly MOUSEUP_REASON: 4;
2276   readonly KEYPRESS_REASON: 8;
2277   readonly SELECTALL_REASON: 16;
2278   readonly COLLAPSETOSTART_REASON: 32;
2279   readonly COLLAPSETOEND_REASON: 64;
2280   readonly IME_REASON: 128;
2281   readonly JS_REASON: 256;
2282   readonly CHARACTER_AMOUNT: 0;
2283   readonly CLUSTER_AMOUNT: 1;
2284   readonly WORD_AMOUNT: 2;
2285   readonly WORDNOSPACE_AMOUNT: 3;
2286   readonly LINE_AMOUNT: 4;
2287   readonly BEGINLINE_AMOUNT: 5;
2288   readonly ENDLINE_AMOUNT: 6;
2289   readonly NO_AMOUNT: 7;
2290   readonly PARAGRAPH_AMOUNT: 8;
2292   notifySelectionChanged(doc: Document, sel: Selection, reason: i16, amount: i32): void;
2295 // https://searchfox.org/mozilla-central/source/dom/base/nsISlowScriptDebug.idl
2297 type nsISlowScriptDebugCallback = Callable<{
2298   handleSlowScriptDebug(aWindow: nsIDOMWindow): void;
2301 type nsISlowScriptDebuggerStartupCallback = Callable<{
2302   finishDebuggerStartup(): void;
2305 type nsISlowScriptDebugRemoteCallback = Callable<{
2306   handleSlowScriptDebug(aBrowser: EventTarget, aCallback: nsISlowScriptDebuggerStartupCallback): void;
2309 interface nsISlowScriptDebug extends nsISupports {
2310   activationHandler: nsISlowScriptDebugCallback;
2311   remoteActivationHandler: nsISlowScriptDebugRemoteCallback;
2314 // https://searchfox.org/mozilla-central/source/dom/console/nsIConsoleAPIStorage.idl
2316 interface nsIConsoleAPIStorage extends nsISupports {
2317   getEvents(aId?: string): any;
2318   addLogEventListener(aListener: any, aPrincipal: nsIPrincipal): void;
2319   removeLogEventListener(aListener: any): void;
2320   recordEvent(aId: string, aEvent: any): void;
2321   clearEvents(aId?: string): void;
2324 // https://searchfox.org/mozilla-central/source/dom/file/ipc/mozIRemoteLazyInputStream.idl
2326 interface mozIRemoteLazyInputStream extends nsISupports {
2329 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessChild.idl
2331 interface nsIDOMProcessChild extends nsISupports {
2332   readonly childID: u64;
2333   getActor(name: string): JSProcessActorChild;
2334   getExistingActor(name: string): JSProcessActorChild;
2335   readonly canSend: boolean;
2338 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessParent.idl
2340 interface nsIDOMProcessParent extends nsISupports {
2341   readonly childID: u64;
2342   readonly osPid: i32;
2343   getActor(name: string): JSProcessActorParent;
2344   getExistingActor(name: string): JSProcessActorParent;
2345   readonly canSend: boolean;
2346   readonly remoteType: string;
2349 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIHangReport.idl
2351 interface nsIHangReport extends nsISupports {
2352   readonly scriptBrowser: Element;
2353   readonly scriptFileName: string;
2354   readonly hangDuration: double;
2355   readonly addonId: string;
2356   readonly childID: u64;
2357   userCanceled(): void;
2358   terminateScript(): void;
2359   beginStartingDebugger(): void;
2360   endStartingDebugger(): void;
2361   isReportForBrowserOrChildren(aFrameLoader: FrameLoader): boolean;
2364 // https://searchfox.org/mozilla-central/source/dom/ipc/nsILoginDetectionService.idl
2366 interface nsILoginDetectionService extends nsISupports {
2367   init(): void;
2368   isLoginsLoaded(): boolean;
2371 // https://searchfox.org/mozilla-central/source/dom/audiochannel/nsIAudioChannelAgent.idl
2373 interface nsISuspendedTypes extends nsISupports {
2374   readonly NONE_SUSPENDED: 0;
2375   readonly SUSPENDED_BLOCK: 1;
2378 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/domstubs.idl
2380 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowser.idl
2382 interface nsIBrowser extends nsISupports {
2383   dropLinks(links: string[], triggeringPrincipal: nsIPrincipal): void;
2384   swapBrowsers(aOtherBrowser: nsIBrowser): void;
2385   closeBrowser(): void;
2386   readonly isRemoteBrowser: boolean;
2387   readonly permanentKey: any;
2388   readonly contentPrincipal: nsIPrincipal;
2389   readonly contentPartitionedPrincipal: nsIPrincipal;
2390   readonly csp: nsIContentSecurityPolicy;
2391   readonly referrerInfo: nsIReferrerInfo;
2392   isNavigating: boolean;
2393   mayEnableCharacterEncodingMenu: boolean;
2394   updateForStateChange(aCharset: string, aDocumentURI: nsIURI, aContentType: string): void;
2395   updateWebNavigationForLocationChange(aCanGoBack: boolean, aCanGoForward: boolean): void;
2396   updateForLocationChange(aLocation: nsIURI, aCharset: string, aMayEnableCharacterEncodingMenu: boolean, aDocumentURI: nsIURI, aTitle: string, aContentPrincipal: nsIPrincipal, aContentPartitionedPrincipal: nsIPrincipal, aCSP: nsIContentSecurityPolicy, aReferrerInfo: nsIReferrerInfo, aIsSynthetic: boolean, aHasRequestContextID: boolean, aRequestContextID: u64, aContentType: string): void;
2397   prepareToChangeRemoteness(): Promise<any>;
2398   beforeChangeRemoteness(): void;
2399   finishChangeRemoteness(aPendingSwitchId: u64): boolean;
2402 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserChild.idl
2404 interface nsIBrowserChild extends nsISupports {
2405   readonly messageManager: ContentFrameMessageManager;
2406   remoteDropLinks(links: nsIDroppedLinkItem[]): void;
2407   contentTransformsReceived(): Promise<any>;
2408   readonly tabId: u64;
2409   notifyNavigationFinished(): void;
2410   readonly chromeOuterWindowID: u64;
2413 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserDOMWindow.idl
2415 interface nsIOpenURIInFrameParams extends nsISupports {
2416   readonly openWindowInfo: nsIOpenWindowInfo;
2417   referrerInfo: nsIReferrerInfo;
2418   readonly isPrivate: boolean;
2419   triggeringPrincipal: nsIPrincipal;
2420   csp: nsIContentSecurityPolicy;
2421   readonly openerBrowser: Element;
2422   readonly openerOriginAttributes: any;
2425 interface nsIBrowserDOMWindow extends nsISupports {
2426   readonly OPEN_DEFAULTWINDOW: 0;
2427   readonly OPEN_CURRENTWINDOW: 1;
2428   readonly OPEN_NEWWINDOW: 2;
2429   readonly OPEN_NEWTAB: 3;
2430   readonly OPEN_PRINT_BROWSER: 4;
2431   readonly OPEN_NEWTAB_BACKGROUND: 5;
2432   readonly OPEN_NEW: 0;
2433   readonly OPEN_EXTERNAL: 1;
2434   readonly OPEN_NO_OPENER: 4;
2435   readonly OPEN_NO_REFERRER: 8;
2437   createContentWindow(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;
2438   createContentWindowInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;
2439   openURI(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;
2440   openURIInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;
2441   canClose(): boolean;
2442   readonly tabCount: u32;
2445 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserUsage.idl
2447 interface nsIBrowserUsage extends nsISupports {
2448   getUniqueDomainsVisitedInPast24Hours(): u32;
2451 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPermissionPrompt.idl
2453 interface nsIContentPermissionType extends nsISupports {
2454   readonly type: string;
2455   readonly options: nsIArray;
2458 interface nsIContentPermissionRequest extends nsISupports {
2459   readonly types: nsIArray;
2460   readonly principal: nsIPrincipal;
2461   readonly topLevelPrincipal: nsIPrincipal;
2462   readonly window: mozIDOMWindow;
2463   readonly element: Element;
2464   readonly hasValidTransientUserGestureActivation: boolean;
2465   readonly isRequestDelegatedToUnsafeThirdParty: boolean;
2466   getDelegatePrincipal(aType: string): nsIPrincipal;
2467   cancel(): void;
2468   allow(choices?: any): void;
2471 type nsIContentPermissionPrompt = Callable<{
2472   prompt(request: nsIContentPermissionRequest): void;
2475 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPrefService2.idl
2477 interface nsIContentPrefObserver extends nsISupports {
2478   onContentPrefSet(aGroup: string, aName: string, aValue: nsIVariant, aIsPrivate?: boolean): void;
2479   onContentPrefRemoved(aGroup: string, aName: string, aIsPrivate?: boolean): void;
2482 interface nsIContentPrefService2 extends nsISupports {
2483   readonly GROUP_NAME_MAX_LENGTH: 2000;
2485   getByName(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2486   getByDomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2487   getBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2488   getGlobal(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2489   getCachedByDomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref;
2490   getCachedBySubdomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref[];
2491   getCachedGlobal(name: string, context: nsILoadContext): nsIContentPref;
2492   set(domain: string, name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2493   setGlobal(name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2494   removeByDomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2495   removeBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2496   removeGlobal(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2497   removeByDomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2498   removeBySubdomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2499   removeByName(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2500   removeAllDomains(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2501   removeAllDomainsSince(since: u64, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2502   removeAllGlobals(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2503   addObserverForName(name: string, observer: nsIContentPrefObserver): void;
2504   removeObserverForName(name: string, observer: nsIContentPrefObserver): void;
2505   extractDomain(str: string): string;
2508 interface nsIContentPrefCallback2 extends nsISupports {
2509   readonly COMPLETE_OK: 0;
2510   readonly COMPLETE_ERROR: 1;
2512   handleResult(pref: nsIContentPref): void;
2513   handleError(error: nsresult): void;
2514   handleCompletion(reason: u16): void;
2517 interface nsIContentPref extends nsISupports {
2518   readonly domain: string;
2519   readonly name: string;
2520   readonly value: nsIVariant;
2523 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentProcess.idl
2525 interface nsIContentProcessInfo extends nsISupports {
2526   readonly isAlive: boolean;
2527   readonly processId: i32;
2528   readonly tabCount: i32;
2529   readonly messageManager: nsISupports;
2532 interface nsIContentProcessProvider extends nsISupports {
2533   readonly NEW_PROCESS: -1;
2535   provideProcess(aType: string, aAliveProcesses: nsIContentProcessInfo[], aMaxCount: u32): i32;
2538 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMGlobalPropertyInitializer.idl
2540 interface nsIDOMGlobalPropertyInitializer extends nsISupports {
2541   init(window: mozIDOMWindow): any;
2544 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindow.idl
2546 interface nsIDOMWindow extends nsISupports {
2549 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindowUtils.idl
2551 interface nsIDOMWindowUtils extends nsISupports {
2552   readonly MODIFIER_ALT: 1;
2553   readonly MODIFIER_CONTROL: 2;
2554   readonly MODIFIER_SHIFT: 4;
2555   readonly MODIFIER_META: 8;
2556   readonly MODIFIER_ALTGRAPH: 16;
2557   readonly MODIFIER_CAPSLOCK: 32;
2558   readonly MODIFIER_FN: 64;
2559   readonly MODIFIER_FNLOCK: 128;
2560   readonly MODIFIER_NUMLOCK: 256;
2561   readonly MODIFIER_SCROLLLOCK: 512;
2562   readonly MODIFIER_SYMBOL: 1024;
2563   readonly MODIFIER_SYMBOLLOCK: 2048;
2564   readonly WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE: 1;
2565   readonly WHEEL_EVENT_CAUSED_BY_MOMENTUM: 2;
2566   readonly WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS: 4;
2567   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO: 16;
2568   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE: 32;
2569   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE: 64;
2570   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO: 256;
2571   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE: 512;
2572   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE: 1024;
2573   readonly NATIVE_MODIFIER_CAPS_LOCK: 1;
2574   readonly NATIVE_MODIFIER_NUM_LOCK: 2;
2575   readonly NATIVE_MODIFIER_SHIFT_LEFT: 256;
2576   readonly NATIVE_MODIFIER_SHIFT_RIGHT: 512;
2577   readonly NATIVE_MODIFIER_CONTROL_LEFT: 1024;
2578   readonly NATIVE_MODIFIER_CONTROL_RIGHT: 2048;
2579   readonly NATIVE_MODIFIER_ALT_LEFT: 4096;
2580   readonly NATIVE_MODIFIER_ALT_RIGHT: 8192;
2581   readonly NATIVE_MODIFIER_COMMAND_LEFT: 16384;
2582   readonly NATIVE_MODIFIER_COMMAND_RIGHT: 32768;
2583   readonly NATIVE_MODIFIER_HELP: 65536;
2584   readonly NATIVE_MODIFIER_ALT_GRAPH: 131072;
2585   readonly NATIVE_MODIFIER_FUNCTION: 1048576;
2586   readonly NATIVE_MODIFIER_NUMERIC_KEY_PAD: 16777216;
2587   readonly NATIVE_MOUSE_MESSAGE_BUTTON_DOWN: 1;
2588   readonly NATIVE_MOUSE_MESSAGE_BUTTON_UP: 2;
2589   readonly NATIVE_MOUSE_MESSAGE_MOVE: 3;
2590   readonly NATIVE_MOUSE_MESSAGE_ENTER_WINDOW: 4;
2591   readonly NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW: 5;
2592   readonly MOUSESCROLL_PREFER_WIDGET_AT_POINT: 1;
2593   readonly MOUSESCROLL_SCROLL_LINES: 2;
2594   readonly MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL: 65536;
2595   readonly TOUCH_HOVER: 1;
2596   readonly TOUCH_CONTACT: 2;
2597   readonly TOUCH_REMOVE: 4;
2598   readonly TOUCH_CANCEL: 8;
2599   readonly PHASE_BEGIN: 0;
2600   readonly PHASE_UPDATE: 1;
2601   readonly PHASE_END: 2;
2602   readonly UPDATE_TYPE_RESTORE: 0;
2603   readonly UPDATE_TYPE_MAIN_THREAD: 1;
2604   readonly SCROLL_MODE_INSTANT: 0;
2605   readonly SCROLL_MODE_SMOOTH: 1;
2606   readonly FLUSH_NONE: -1;
2607   readonly FLUSH_STYLE: 0;
2608   readonly FLUSH_LAYOUT: 1;
2609   readonly FLUSH_DISPLAY: 2;
2610   readonly IME_STATUS_DISABLED: 0;
2611   readonly IME_STATUS_ENABLED: 1;
2612   readonly IME_STATUS_PASSWORD: 2;
2613   readonly INPUT_CONTEXT_ORIGIN_MAIN: 0;
2614   readonly INPUT_CONTEXT_ORIGIN_CONTENT: 1;
2615   readonly QUERY_CONTENT_FLAG_USE_NATIVE_LINE_BREAK: 0;
2616   readonly QUERY_CONTENT_FLAG_USE_XP_LINE_BREAK: 1;
2617   readonly QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK: 2;
2618   readonly QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT: 4;
2619   readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT: 8;
2620   readonly QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT: 16;
2621   readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT: 32;
2622   readonly QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY: 64;
2623   readonly QUERY_CONTENT_FLAG_SELECTION_FIND: 128;
2624   readonly QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY: 256;
2625   readonly QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT: 512;
2626   readonly QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT: 1024;
2627   readonly QUERY_SELECTED_TEXT: 3200;
2628   readonly QUERY_TEXT_CONTENT: 3201;
2629   readonly QUERY_CARET_RECT: 3203;
2630   readonly QUERY_TEXT_RECT: 3204;
2631   readonly QUERY_EDITOR_RECT: 3205;
2632   readonly QUERY_CHARACTER_AT_POINT: 3208;
2633   readonly QUERY_TEXT_RECT_ARRAY: 3209;
2634   readonly SELECTION_SET_FLAG_USE_NATIVE_LINE_BREAK: 0;
2635   readonly SELECTION_SET_FLAG_USE_XP_LINE_BREAK: 1;
2636   readonly SELECTION_SET_FLAG_REVERSE: 2;
2637   readonly SELECT_CHARACTER: 0;
2638   readonly SELECT_CLUSTER: 1;
2639   readonly SELECT_WORD: 2;
2640   readonly SELECT_LINE: 3;
2641   readonly SELECT_BEGINLINE: 4;
2642   readonly SELECT_ENDLINE: 5;
2643   readonly SELECT_PARAGRAPH: 6;
2644   readonly SELECT_WORDNOSPACE: 7;
2645   readonly AUDIO_INPUT: 0;
2646   readonly AUDIO_OUTPUT: 1;
2647   readonly AGENT_SHEET: 0;
2648   readonly USER_SHEET: 1;
2649   readonly AUTHOR_SHEET: 2;
2650   readonly WR_CAPTURE_SCENE: 1;
2651   readonly WR_CAPTURE_FRAME: 2;
2652   readonly WR_CAPTURE_TILE_CACHE: 4;
2653   readonly WR_CAPTURE_EXTERNAL_RESOURCES: 8;
2654   readonly DEFAULT_MOUSE_POINTER_ID: 0;
2655   readonly DEFAULT_PEN_POINTER_ID: 1;
2656   readonly DEFAULT_TOUCH_POINTER_ID: 2;
2657   readonly MOUSE_BUTTON_LEFT_BUTTON: 0;
2658   readonly MOUSE_BUTTON_MIDDLE_BUTTON: 1;
2659   readonly MOUSE_BUTTON_RIGHT_BUTTON: 2;
2660   readonly MOUSE_BUTTONS_NO_BUTTON: 0;
2661   readonly MOUSE_BUTTONS_LEFT_BUTTON: 1;
2662   readonly MOUSE_BUTTONS_RIGHT_BUTTON: 2;
2663   readonly MOUSE_BUTTONS_MIDDLE_BUTTON: 4;
2664   readonly MOUSE_BUTTONS_4TH_BUTTON: 8;
2665   readonly MOUSE_BUTTONS_5TH_BUTTON: 16;
2666   readonly MOUSE_BUTTONS_NOT_SPECIFIED: -1;
2667   readonly DIRECTION_LTR: 0;
2668   readonly DIRECTION_RTL: 1;
2669   readonly DIRECTION_NOT_SET: 2;
2671   imageAnimationMode: u16;
2672   readonly docCharsetIsForced: boolean;
2673   readonly physicalMillimeterInCSSPixels: float;
2674   getDocumentMetadata(aName: string): string;
2675   getLastOverWindowPointerLocationInCSSPixels(aX: OutParam<float>, aY: OutParam<float>): void;
2676   updateLayerTree(): void;
2677   readonly lastTransactionId: u64;
2678   getViewportInfo(aDisplayWidth: u32, aDisplayHeight: u32, aDefaultZoom: OutParam<double>, aAllowZoom: OutParam<boolean>, aMinZoom: OutParam<double>, aMaxZoom: OutParam<double>, aWidth: OutParam<u32>, aHeight: OutParam<u32>, aAutoSize: OutParam<boolean>): void;
2679   getViewportFitInfo(): string;
2680   getDocumentViewerSize(aDisplayWidth: OutParam<u32>, aDisplayHeight: OutParam<u32>): void;
2681   setMousewheelAutodir(aElement: Element, aEnabled: boolean, aHonourRoot: boolean): void;
2682   setDisplayPortForElement(aXPx: float, aYPx: float, aWidthPx: float, aHeightPx: float, aElement: Element, aPriority: u32): void;
2683   setDisplayPortMarginsForElement(aLeftMargin: float, aTopMargin: float, aRightMargin: float, aBottomMargin: float, aElement: Element, aPriority: u32): void;
2684   setDisplayPortBaseForElement(aX: i32, aY: i32, aWidth: i32, aHeight: i32, aElement: Element): void;
2685   getScrollbarSizes(aElement: Element, aVerticalScrollbarWidth: OutParam<u32>, aHorizontalScrollbarHeight: OutParam<u32>): void;
2686   setResolutionAndScaleTo(aResolution: float): void;
2687   getResolution(): float;
2688   setRestoreResolution(aResolution: float, aDisplayWidth: u32, aDisplayHeight: u32): void;
2689   isFirstPaint: boolean;
2690   getPresShellId(): u32;
2691   isCORSSafelistedRequestHeader(name: string, value: string): boolean;
2692   sendMouseEvent(aType: string, aX: float, aY: float, aButton: i32, aClickCount: i32, aModifiers: i32, aIgnoreRootScrollFrame?: boolean, aPressure?: float, aInputSourceArg?: u16, aIsDOMEventSynthesized?: boolean, aIsWidgetEventSynthesized?: boolean, aButtons?: i32, aIdentifier?: u32): boolean;
2693   sendTouchEvent(aType: string, aIdentifiers: u32[], aXs: i32[], aYs: i32[], aRxs: u32[], aRys: u32[], aRotationAngles: float[], aForces: float[], aTiltXs: i32[], aTiltYs: i32[], aTwists: i32[], aModifiers: i32, aIgnoreRootScrollFrame?: boolean): boolean;
2694   sendMouseEventToWindow(aType: string, aX: float, aY: float, aButton: i32, aClickCount: i32, aModifiers: i32, aIgnoreRootScrollFrame?: boolean, aPressure?: float, aInputSourceArg?: u16, aIsDOMEventSynthesized?: boolean, aIsWidgetEventSynthesized?: boolean, aButtons?: i32, aIdentifier?: u32): void;
2695   sendTouchEventToWindow(aType: string, aIdentifiers: u32[], aXs: i32[], aYs: i32[], aRxs: u32[], aRys: u32[], aRotationAngles: float[], aForces: float[], aTiltXs: i32[], aTiltYs: i32[], aTwists: i32[], aModifiers: i32, aIgnoreRootScrollFrame?: boolean): boolean;
2696   sendWheelEvent(aX: float, aY: float, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aDeltaMode: u32, aModifiers: i32, aLineOrPageDeltaX: i32, aLineOrPageDeltaY: i32, aOptions: u32): void;
2697   sendNativeKeyEvent(aNativeKeyboardLayout: i32, aNativeKeyCode: i32, aModifierFlags: u32, aCharacters: string, aUnmodifiedCharacters: string, aObserver?: nsIObserver): void;
2698   sendNativeMouseEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aButton: i16, aModifierFlags: u32, aElementOnWidget: Element, aObserver?: nsIObserver): void;
2699   suppressAnimation(aSuppress: boolean): void;
2700   sendNativeMouseScrollEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aModifierFlags: u32, aAdditionalFlags: u32, aElement: Element, aObserver?: nsIObserver): void;
2701   sendNativeTouchPoint(aPointerId: u32, aTouchState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aOrientation: u32, aObserver?: nsIObserver): void;
2702   sendNativeTouchpadPinch(aEventPhase: u32, aScale: float, aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;
2703   sendNativeTouchTap(aScreenX: i32, aScreenY: i32, aLongTap: boolean, aObserver?: nsIObserver): void;
2704   sendNativePenInput(aPointerId: u32, aPointerState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aRotation: u32, aTiltX: i32, aTiltY: i32, aButton: i32, aObserver?: nsIObserver): void;
2705   clearNativeTouchSequence(aObserver?: nsIObserver): void;
2706   sendNativeTouchpadDoubleTap(aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;
2707   sendNativeTouchpadPan(aEventPhase: u32, aScreenX: i32, aScreenY: i32, aDeltaX: double, aDeltaY: double, aModifierFlags: i32, aObserver?: nsIObserver): void;
2708   clearSharedStyleSheetCache(): void;
2709   readonly parsedStyleSheets: u32;
2710   activateNativeMenuItemAt(indexString: string): void;
2711   forceUpdateNativeMenuAt(indexString: string): void;
2712   GetSelectionAsPlaintext(): string;
2713   garbageCollect(aListener?: nsICycleCollectorListener): void;
2714   cycleCollect(aListener?: nsICycleCollectorListener): void;
2715   runNextCollectorTimer(aReason?: string): void;
2716   pokeGC(aReason?: string): void;
2717   sendSimpleGestureEvent(aType: string, aX: float, aY: float, aDirection: u32, aDelta: double, aModifiers: i32, aClickCount?: u32): void;
2718   elementFromPoint(aX: float, aY: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean): Element;
2719   nodesFromRect(aX: float, aY: float, aTopSize: float, aRightSize: float, aBottomSize: float, aLeftSize: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean, aOnlyVisible: boolean, aTransparencyThreshold?: float): NodeList;
2720   getTranslationNodes(aRoot: Node): nsITranslationNodeList;
2721   compareCanvases(aCanvas1: nsISupports, aCanvas2: nsISupports, aMaxDifference: OutParam<u32>): u32;
2722   readonly isMozAfterPaintPending: boolean;
2723   readonly isInputTaskManagerSuspended: boolean;
2724   suppressEventHandling(aSuppress: boolean): void;
2725   disableNonTestMouseEvents(aDisable: boolean): void;
2726   getScrollXY(aFlushLayout: boolean, aScrollX: OutParam<i32>, aScrollY: OutParam<i32>): void;
2727   getScrollXYFloat(aFlushLayout: boolean, aScrollX: OutParam<float>, aScrollY: OutParam<float>): void;
2728   getScrollbarSize(aFlushLayout: boolean, aWidth: OutParam<i32>, aHeight: OutParam<i32>): void;
2729   getBoundsWithoutFlushing(aElement: Element): DOMRect;
2730   scrollToVisual(aOffsetX: float, aOffsetY: float, aUpdateType: i32, aScrollMode: i32): void;
2731   getVisualViewportOffsetRelativeToLayoutViewport(aOffsetX: OutParam<float>, aOffsetY: OutParam<float>): void;
2732   getVisualViewportOffset(aOffsetX: OutParam<i32>, aOffsetY: OutParam<i32>): void;
2733   transformRectLayoutToVisual(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2734   toScreenRectInCSSUnits(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2735   toScreenRect(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2736   convertFromParentProcessWidgetToLocal(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2737   setDynamicToolbarMaxHeight(aHeightInScreen: u32): void;
2738   needsFlush(aFlushtype: i32): boolean;
2739   flushLayoutWithoutThrottledAnimations(): void;
2740   getRootBounds(): DOMRect;
2741   readonly IMEIsOpen: boolean;
2742   readonly IMEStatus: u32;
2743   readonly inputContextURI: nsIURI;
2744   readonly inputContextOrigin: u32;
2745   readonly nodeObservedByIMEContentObserver: Node;
2746   dispatchDOMEventViaPresShellForTesting(aTarget: Node, aEvent: Event): boolean;
2747   dispatchEventToChromeOnly(aTarget: EventTarget, aEvent: Event): boolean;
2748   getClassName(aObject: any): string;
2749   sendContentCommandEvent(aType: string, aTransferable?: nsITransferable, aString?: string): void;
2750   sendQueryContentEvent(aType: u32, aOffset: i64, aLength: u32, aX: i32, aY: i32, aAdditionalFlags?: u32): nsIQueryContentEventResult;
2751   remoteFrameFullscreenChanged(aFrameElement: Element): void;
2752   remoteFrameFullscreenReverted(): void;
2753   handleFullscreenRequests(): boolean;
2754   exitFullscreen(aDontRestoreViewSize?: boolean): void;
2755   sendSelectionSetEvent(aOffset: u32, aLength: u32, aAdditionalFlags?: u32): boolean;
2756   selectAtPoint(aX: float, aY: float, aSelectBehavior: u32): boolean;
2757   getVisitedDependentComputedStyle(aElement: Element, aPseudoElement: string, aPropertyName: string): string;
2758   enterModalState(): void;
2759   leaveModalState(): void;
2760   isInModalState(): boolean;
2761   suspendTimeouts(): void;
2762   resumeTimeouts(): void;
2763   readonly layerManagerType: string;
2764   readonly layerManagerRemote: boolean;
2765   readonly isWebRenderRequested: boolean;
2766   readonly currentAudioBackend: string;
2767   readonly currentMaxAudioChannels: u32;
2768   defaultDevicesRoundTripLatency(): Promise<any>;
2769   readonly currentPreferredSampleRate: u32;
2770   audioDevices(aSide: u16): nsIArray;
2771   startFrameTimeRecording(): OutParam<u32>;
2772   stopFrameTimeRecording(startIndex: u32): float[];
2773   readonly displayDPI: float;
2774   advanceTimeAndRefresh(aMilliseconds: i64): void;
2775   restoreNormalRefresh(): void;
2776   readonly isTestControllingRefreshes: boolean;
2777   readonly asyncPanZoomEnabled: boolean;
2778   setAsyncScrollOffset(aElement: Element, aX: float, aY: float): void;
2779   setAsyncZoom(aRootElement: Element, aValue: float): void;
2780   flushApzRepaints(): boolean;
2781   disableApzForElement(aElement: Element): void;
2782   zoomToFocusedInput(): void;
2783   computeAnimationDistance(element: Element, property: string, value1: string, value2: string): double;
2784   getUnanimatedComputedStyle(aElement: Element, aPseudoElement: string, aProperty: string, aFlushType: i32): string;
2785   readonly canvasBackgroundColor: string;
2786   readonly focusedInputType: string;
2787   readonly focusedActionHint: string;
2788   readonly focusedInputMode: string;
2789   readonly focusedAutocapitalize: string;
2790   getViewId(aElement: Element): nsViewID;
2791   checkAndClearPaintedState(aElement: Element): boolean;
2792   checkAndClearDisplayListState(aElement: Element): boolean;
2793   isPartOfOpaqueLayer(aElement: Element): boolean;
2794   numberOfAssignedPaintedLayers(aElements: Element[]): u32;
2795   getFileId(aFile: any): i64;
2796   getFilePath(aFile: any): string;
2797   getFileReferences(aDatabaseName: string, aId: i64, aRefCnt?: OutParam<i32>, aDBRefCnt?: OutParam<i32>): boolean;
2798   flushPendingFileDeletions(): void;
2799   startPCCountProfiling(): void;
2800   stopPCCountProfiling(): void;
2801   purgePCCounts(): void;
2802   getPCCountScriptCount(): i32;
2803   getPCCountScriptSummary(script: i32): string;
2804   getPCCountScriptContents(script: i32): string;
2805   readonly paintingSuppressed: boolean;
2806   setVisualViewportSize(aWidth: float, aHeight: float): void;
2807   disableDialogs(): void;
2808   enableDialogs(): void;
2809   areDialogsEnabled(): boolean;
2810   resetDialogAbuseState(): void;
2811   loadSheet(sheetURI: nsIURI, type: u32): void;
2812   loadSheetUsingURIString(sheetURI: string, type: u32): void;
2813   addSheet(sheet: nsIPreloadedStyleSheet, type: u32): void;
2814   removeSheet(sheetURI: nsIURI, type: u32): void;
2815   removeSheetUsingURIString(sheetURI: string, type: u32): void;
2816   readonly isHandlingUserInput: boolean;
2817   readonly millisSinceLastUserInput: double;
2818   allowScriptsToClose(): void;
2819   readonly isParentWindowMainWidgetVisible: boolean;
2820   isNodeDisabledForEvents(aNode: Node): boolean;
2821   getOMTAStyle(aElement: Element, aProperty: string, aPseudoElement?: string): string;
2822   setHandlingUserInput(aHandlingInput: boolean): nsIJSRAIIHelper;
2823   isKeyboardEventUserActivity(aKeyboardEvent: Event): boolean;
2824   getContentAPZTestData(): any;
2825   getCompositorAPZTestData(): any;
2826   postRestyleSelfEvent(aElement: Element): void;
2827   xpconnectArgument(aObj: nsISupports): void;
2828   askPermission(aRequest: nsIContentPermissionRequest): void;
2829   readonly restyleGeneration: u64;
2830   readonly framesConstructed: u64;
2831   readonly framesReflowed: u64;
2832   readonly animationTriggeredRestyles: u64;
2833   readonly refreshDriverHasPendingTick: boolean;
2834   setChromeMargin(aTop: i32, aRight: i32, aBottom: i32, aLeft: i32): void;
2835   setResizeMargin(aResizeMargin: i32): void;
2836   getFrameUniformityTestData(): any;
2837   enterChaosMode(): void;
2838   leaveChaosMode(): void;
2839   triggerDeviceReset(): void;
2840   hasRuleProcessorUsedByMultipleStyleSets(aSheetType: u32): boolean;
2841   respectDisplayPortSuppression(aEnabled: boolean): void;
2842   forceReflowInterrupt(): void;
2843   terminateGPUProcess(): void;
2844   readonly gpuProcessPid: i32;
2845   addManuallyManagedState(element: Element, state: string): void;
2846   removeManuallyManagedState(element: Element, state: string): void;
2847   getStorageUsage(aStorage: Storage): i64;
2848   getDirectionFromText(aString: string): i32;
2849   ensureDirtyRootFrame(): void;
2850   wrCapture(): void;
2851   wrStartCaptureSequence(aPath: string, aFlags: u32): void;
2852   wrStopCaptureSequence(): void;
2853   setCompositionRecording(aValue: boolean): Promise<any>;
2854   startCompositionRecording(): Promise<any>;
2855   stopCompositionRecording(aWriteToDisk: boolean): Promise<any>;
2856   isCssPropertyRecordedInUseCounter(aProperty: string): boolean;
2857   resetMobileViewportManager(): void;
2858   isCoepCredentialless(): boolean;
2859   setHiDPIMode(aHiDPI: boolean): void;
2860   restoreHiDPIMode(): void;
2861   systemFont: string;
2862   readonly paintCount: u64;
2863   syncFlushCompositor(): void;
2864   getLayersId(): u64;
2865   readonly effectivelyThrottlesFrameRequests: boolean;
2866   readonly webrtcRawDeviceId: string;
2867   readonly suspendedByBrowsingContextGroup: boolean;
2868   readonly hasScrollLinkedEffect: boolean;
2869   readonly orientationLock: u32;
2870   getWheelScrollTarget(): Element;
2873 interface nsITranslationNodeList extends nsISupports {
2874   readonly length: u32;
2875   item(index: u32): Node;
2876   isTranslationRootAtIndex(index: u32): boolean;
2879 interface nsIJSRAIIHelper extends nsISupports {
2880   destruct(): void;
2883 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIFocusManager.idl
2885 interface nsIFocusManager extends nsISupports {
2886   readonly FLAG_RAISE: 1;
2887   readonly FLAG_NOSCROLL: 2;
2888   readonly FLAG_NOSWITCHFRAME: 4;
2889   readonly FLAG_NOPARENTFRAME: 8;
2890   readonly FLAG_NONSYSTEMCALLER: 16;
2891   readonly FLAG_BYMOUSE: 4096;
2892   readonly FLAG_BYKEY: 8192;
2893   readonly FLAG_BYMOVEFOCUS: 16384;
2894   readonly FLAG_NOSHOWRING: 32768;
2895   readonly FLAG_SHOWRING: 1048576;
2896   readonly FLAG_BYTOUCH: 2097152;
2897   readonly FLAG_BYJS: 4194304;
2898   readonly FLAG_BYLONGPRESS: 8388608;
2899   readonly METHOD_MASK: 14708736;
2900   readonly METHODANDRING_MASK: 15790080;
2901   readonly MOVEFOCUS_FORWARD: 1;
2902   readonly MOVEFOCUS_BACKWARD: 2;
2903   readonly MOVEFOCUS_FORWARDDOC: 3;
2904   readonly MOVEFOCUS_BACKWARDDOC: 4;
2905   readonly MOVEFOCUS_FIRST: 5;
2906   readonly MOVEFOCUS_LAST: 6;
2907   readonly MOVEFOCUS_ROOT: 7;
2908   readonly MOVEFOCUS_CARET: 8;
2909   readonly MOVEFOCUS_FIRSTDOC: 9;
2910   readonly MOVEFOCUS_LASTDOC: 10;
2912   readonly activeWindow: mozIDOMWindowProxy;
2913   readonly activeBrowsingContext: BrowsingContext;
2914   focusedWindow: mozIDOMWindowProxy;
2915   readonly focusedContentBrowsingContext: BrowsingContext;
2916   readonly focusedElement: Element;
2917   getLastFocusMethod(window: mozIDOMWindowProxy): u32;
2918   setFocus(aElement: Element, aFlags: u32): void;
2919   moveFocus(aWindow: mozIDOMWindowProxy, aStartElement: Element, aType: u32, aFlags: u32): Element;
2920   clearFocus(aWindow: mozIDOMWindowProxy): void;
2921   getFocusedElementForWindow(aWindow: mozIDOMWindowProxy, aDeep: boolean, aFocusedWindow: OutParam<mozIDOMWindowProxy>): Element;
2922   moveCaretToFocus(aWindow: mozIDOMWindowProxy): void;
2923   elementIsFocusable(aElement: Element, aFlags: u32): boolean;
2926 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIPermissionDelegateHandler.idl
2928 interface nsIPermissionDelegateHandler extends nsISupports {
2929   maybeUnsafePermissionDelegate(aTypes: string[]): boolean;
2932 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIQueryContentEventResult.idl
2934 interface nsIQueryContentEventResult extends nsISupports {
2935   readonly offset: u32;
2936   readonly tentativeCaretOffset: u32;
2937   readonly reversed: boolean;
2938   readonly left: i32;
2939   readonly top: i32;
2940   readonly width: i32;
2941   readonly height: i32;
2942   readonly text: string;
2943   getCharacterRect(offset: i32, left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
2944   readonly succeeded: boolean;
2945   readonly notFound: boolean;
2946   readonly tentativeCaretOffsetNotFound: boolean;
2949 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIRemoteTab.idl
2951 }  // global
2953 declare namespace nsIRemoteTab {
2955 enum NavigationType {
2956   NAVIGATE_BACK = 0,
2957   NAVIGATE_FORWARD = 1,
2958   NAVIGATE_INDEX = 2,
2959   NAVIGATE_URL = 3,
2964 declare global {
2966 interface nsIRemoteTab extends nsISupports, Enums<typeof nsIRemoteTab.NavigationType> {
2967   renderLayers: boolean;
2968   readonly hasLayers: boolean;
2969   priorityHint: boolean;
2970   deprioritize(): void;
2971   preserveLayers(aPreserveLayers: boolean): void;
2972   readonly tabId: u64;
2973   readonly contentProcessId: u64;
2974   readonly osPid: i32;
2975   readonly browsingContext: BrowsingContext;
2976   readonly hasPresented: boolean;
2977   transmitPermissionsForPrincipal(aPrincipal: nsIPrincipal): void;
2978   createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal): void;
2979   maybeCancelContentJSExecution(aNavigationType: nsIRemoteTab.NavigationType, aCancelContentJSOptions?: any): void;
2982 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIServiceWorkerManager.idl
2984 interface nsIServiceWorkerUnregisterCallback extends nsISupports {
2985   unregisterSucceeded(aState: boolean): void;
2986   unregisterFailed(): void;
2989 interface nsIServiceWorkerInfo extends nsISupports {
2990   readonly STATE_PARSED: 0;
2991   readonly STATE_INSTALLING: 1;
2992   readonly STATE_INSTALLED: 2;
2993   readonly STATE_ACTIVATING: 3;
2994   readonly STATE_ACTIVATED: 4;
2995   readonly STATE_REDUNDANT: 5;
2996   readonly STATE_UNKNOWN: 6;
2998   readonly id: string;
2999   readonly scriptSpec: string;
3000   readonly cacheName: string;
3001   readonly state: u16;
3002   readonly debugger: nsIWorkerDebugger;
3003   readonly handlesFetchEvents: boolean;
3004   readonly installedTime: PRTime;
3005   readonly activatedTime: PRTime;
3006   readonly redundantTime: PRTime;
3007   readonly navigationFaultCount: u32;
3008   testingInjectCancellation: nsresult;
3009   attachDebugger(): void;
3010   detachDebugger(): void;
3013 interface nsIServiceWorkerRegistrationInfoListener extends nsISupports {
3014   onChange(): void;
3017 interface nsIServiceWorkerRegistrationInfo extends nsISupports {
3018   readonly UPDATE_VIA_CACHE_IMPORTS: 0;
3019   readonly UPDATE_VIA_CACHE_ALL: 1;
3020   readonly UPDATE_VIA_CACHE_NONE: 2;
3022   readonly principal: nsIPrincipal;
3023   readonly unregistered: boolean;
3024   readonly scope: string;
3025   readonly scriptSpec: string;
3026   readonly updateViaCache: u16;
3027   readonly lastUpdateTime: PRTime;
3028   readonly evaluatingWorker: nsIServiceWorkerInfo;
3029   readonly installingWorker: nsIServiceWorkerInfo;
3030   readonly waitingWorker: nsIServiceWorkerInfo;
3031   readonly activeWorker: nsIServiceWorkerInfo;
3032   readonly quotaUsageCheckCount: i32;
3033   getWorkerByID(aID: u64): nsIServiceWorkerInfo;
3034   addListener(listener: nsIServiceWorkerRegistrationInfoListener): void;
3035   removeListener(listener: nsIServiceWorkerRegistrationInfoListener): void;
3036   forceShutdown(): void;
3039 interface nsIServiceWorkerManagerListener extends nsISupports {
3040   onRegister(aInfo: nsIServiceWorkerRegistrationInfo): void;
3041   onUnregister(aInfo: nsIServiceWorkerRegistrationInfo): void;
3042   onQuotaUsageCheckFinish(aInfo: nsIServiceWorkerRegistrationInfo): void;
3045 interface nsIServiceWorkerManager extends nsISupports {
3046   reloadRegistrationsForTest(): void;
3047   registerForTest(aPrincipal: nsIPrincipal, aScope: string, aScriptURL: string): Promise<any>;
3048   registerForAddonPrincipal(aPrincipal: nsIPrincipal): Promise<any>;
3049   getRegistrationForAddonPrincipal(aPrincipal: nsIPrincipal): OutParam<nsIServiceWorkerRegistrationInfo>;
3050   wakeForExtensionAPIEvent(aExtensionBaseURL: string, aAPINamespace: string, aAPIEventName: string): Promise<any>;
3051   unregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;
3052   getRegistrationByPrincipal(aPrincipal: nsIPrincipal, aScope: string): nsIServiceWorkerRegistrationInfo;
3053   getScopeForUrl(aPrincipal: nsIPrincipal, aPath: string): string;
3054   getAllRegistrations(): nsIArray;
3055   removeRegistrationsByOriginAttributes(aOriginAttributes: string): void;
3056   propagateUnregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;
3057   sendNotificationClickEvent(aOriginSuffix: string, scope: string, aID: string, aTitle: string, aDir: string, aLang: string, aBody: string, aTag: string, aIcon: string, aData: string, aBehavior: string): void;
3058   sendNotificationCloseEvent(aOriginSuffix: string, scope: string, aID: string, aTitle: string, aDir: string, aLang: string, aBody: string, aTag: string, aIcon: string, aData: string, aBehavior: string): void;
3059   sendPushEvent(aOriginAttributes: string, aScope: string, aDataBytes?: u8[]): void;
3060   sendPushSubscriptionChangeEvent(aOriginAttributes: string, scope: string): void;
3061   addListener(aListener: nsIServiceWorkerManagerListener): void;
3062   removeListener(aListener: nsIServiceWorkerManagerListener): void;
3065 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIStructuredCloneContainer.idl
3067 interface nsIStructuredCloneContainer extends nsISupports {
3068   initFromBase64(aData: string, aFormatVersion: u32): void;
3069   deserializeToJsval(): any;
3070   getDataAsBase64(): string;
3071   readonly serializedNBytes: u64;
3072   readonly formatVersion: u32;
3075 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessor.idl
3077 interface nsITextInputProcessor extends nsISupports {
3078   readonly ATTR_RAW_CLAUSE: 2;
3079   readonly ATTR_SELECTED_RAW_CLAUSE: 3;
3080   readonly ATTR_CONVERTED_CLAUSE: 4;
3081   readonly ATTR_SELECTED_CLAUSE: 5;
3082   readonly KEY_DEFAULT_PREVENTED: 1;
3083   readonly KEY_NON_PRINTABLE_KEY: 2;
3084   readonly KEY_FORCE_PRINTABLE_KEY: 4;
3085   readonly KEY_KEEP_KEY_LOCATION_STANDARD: 8;
3086   readonly KEY_KEEP_KEYCODE_ZERO: 16;
3087   readonly KEY_DONT_DISPATCH_MODIFIER_KEY_EVENT: 32;
3088   readonly KEY_DONT_MARK_KEYDOWN_AS_PROCESSED: 64;
3089   readonly KEY_MARK_KEYUP_AS_PROCESSED: 128;
3090   readonly KEYEVENT_NOT_CONSUMED: 0;
3091   readonly KEYDOWN_IS_CONSUMED: 1;
3092   readonly KEYPRESS_IS_CONSUMED: 2;
3094   readonly hasComposition: boolean;
3095   beginInputTransaction(aWindow: mozIDOMWindow, aCallback: nsITextInputProcessorCallback): boolean;
3096   beginInputTransactionForTests(aWindow: mozIDOMWindow, aCallback?: nsITextInputProcessorCallback): boolean;
3097   startComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3098   setPendingCompositionString(aString: string): void;
3099   appendClauseToPendingComposition(aLength: u32, aAttribute: u32): void;
3100   setCaretInPendingComposition(aOffset: u32): void;
3101   flushPendingComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3102   commitComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;
3103   commitCompositionWith(aCommitString: string, aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3104   cancelComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;
3105   keydown(aKeyboardEvent: Event, aKeyFlags?: u32): u32;
3106   keyup(aKeyboardEvent: Event, aKeyFlags?: u32): boolean;
3107   getModifierState(aModifierKey: string): boolean;
3108   shareModifierStateOf(aOther: nsITextInputProcessor): void;
3109   computeCodeValueOfNonPrintableKey(aKeyValue: string, aLocation?: any): string;
3110   guessCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): string;
3111   guessKeyCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): u32;
3114 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessorCallback.idl
3116 interface nsITextInputProcessorNotification extends nsISupports {
3117   readonly type: string;
3118   readonly hasRange: boolean;
3119   readonly offset: u32;
3120   readonly text: string;
3121   readonly collapsed: boolean;
3122   readonly length: u32;
3123   readonly reversed: boolean;
3124   readonly writingMode: string;
3125   readonly causedByComposition: boolean;
3126   readonly causedBySelectionEvent: boolean;
3127   readonly occurredDuringComposition: boolean;
3128   readonly removedLength: u32;
3129   readonly addedLength: u32;
3130   readonly causedOnlyByComposition: boolean;
3131   readonly includingChangesDuringComposition: boolean;
3132   readonly includingChangesWithoutComposition: boolean;
3135 type nsITextInputProcessorCallback = Callable<{
3136   onNotify(aTextInputProcessor: nsITextInputProcessor, aNotification: nsITextInputProcessorNotification): boolean;
3139 // https://searchfox.org/mozilla-central/source/dom/bindings/nsIScriptError.idl
3141 interface nsIScriptErrorNote extends nsISupports {
3142   readonly errorMessage: string;
3143   readonly sourceName: string;
3144   readonly sourceId: u32;
3145   readonly lineNumber: u32;
3146   readonly columnNumber: u32;
3147   toString(): string;
3150 interface nsIScriptError extends nsIConsoleMessage {
3151   readonly errorFlag: 0;
3152   readonly warningFlag: 1;
3153   readonly infoFlag: 8;
3155   readonly errorMessage: string;
3156   readonly sourceName: string;
3157   readonly sourceLine: string;
3158   readonly sourceId: u32;
3159   readonly lineNumber: u32;
3160   readonly columnNumber: u32;
3161   readonly flags: u32;
3162   readonly category: string;
3163   readonly outerWindowID: u64;
3164   readonly innerWindowID: u64;
3165   readonly isFromPrivateWindow: boolean;
3166   readonly isFromChromeContext: boolean;
3167   readonly isPromiseRejection: boolean;
3168   exception: any;
3169   readonly hasException: boolean;
3170   stack: any;
3171   errorMessageName: string;
3172   readonly notes: nsIArray;
3173   cssSelectors: string;
3174   init(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, fromPrivateWindow?: boolean, fromChromeContext?: boolean): void;
3175   initWithWindowID(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3176   initWithSanitizedSource(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3177   initWithSourceURI(message: string, sourceURI: nsIURI, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3178   initSourceId(sourceId: u32): void;
3181 // https://searchfox.org/mozilla-central/source/dom/interfaces/events/nsIDOMEventListener.idl
3183 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPosition.idl
3185 interface nsIDOMGeoPosition extends nsISupports {
3186   readonly timestamp: EpochTimeStamp;
3187   readonly coords: nsIDOMGeoPositionCoords;
3190 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCallback.idl
3192 type nsIDOMGeoPositionCallback = Callable<{
3193   handleEvent(position: nsIDOMGeoPosition): void;
3196 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCoords.idl
3198 interface nsIDOMGeoPositionCoords extends nsISupports {
3199   readonly latitude: double;
3200   readonly longitude: double;
3201   readonly altitude: double;
3202   readonly accuracy: double;
3203   readonly altitudeAccuracy: double;
3204   readonly heading: double;
3205   readonly speed: double;
3208 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionErrorCallback.idl
3210 type nsIDOMGeoPositionErrorCallback = Callable<{
3211   handleEvent(positionError: GeolocationPositionError): void;
3214 // https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialPromptService.idl
3216 interface nsIIdentityCredentialPromptService extends nsISupports {
3217   showProviderPrompt(browsingContext: BrowsingContext, identityProviders: any, identityManifests: any): Promise<any>;
3218   showPolicyPrompt(browsingContext: BrowsingContext, identityProvider: any, identityManifest: any, identityClientMetadata: any): Promise<any>;
3219   showAccountListPrompt(browsingContext: BrowsingContext, accountList: any, identityProvider: any, identityManifest: any): Promise<any>;
3220   close(browsingContext: BrowsingContext): void;
3223 // https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialStorageService.idl
3225 interface nsIIdentityCredentialStorageService extends nsISupports {
3226   setState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: boolean, allowLogout: boolean): void;
3227   getState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: OutParam<boolean>, allowLogout: OutParam<boolean>): void;
3228   delete(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string): void;
3229   clear(): void;
3230   deleteFromBaseDomain(baseDomain: string): void;
3231   deleteFromPrincipal(rpPrincipal: nsIPrincipal): void;
3232   deleteFromTimeRange(aFrom: PRTime, aTo: PRTime): void;
3233   deleteFromOriginAttributesPattern(aPattern: string): void;
3236 // https://searchfox.org/mozilla-central/source/dom/indexedDB/nsIIDBPermissionsRequest.idl
3238 interface nsIIDBPermissionsRequest extends nsISupports {
3239   readonly browserElement: Element;
3240   readonly responseObserver: nsIObserver;
3243 // https://searchfox.org/mozilla-central/source/dom/localstorage/nsILocalStorageManager.idl
3245 interface nsILocalStorageManager extends nsISupports {
3246   readonly nextGenLocalStorageEnabled: boolean;
3247   preload(aPrincipal: nsIPrincipal): Promise<any>;
3248   isPreloaded(aPrincipal: nsIPrincipal): Promise<any>;
3249   getState(aPrincipal: nsIPrincipal): Promise<any>;
3252 // https://searchfox.org/mozilla-central/source/dom/media/nsIAudioDeviceInfo.idl
3254 interface nsIAudioDeviceInfo extends nsISupports {
3255   readonly TYPE_UNKNOWN: 0;
3256   readonly TYPE_INPUT: 1;
3257   readonly TYPE_OUTPUT: 2;
3258   readonly STATE_DISABLED: 0;
3259   readonly STATE_UNPLUGGED: 1;
3260   readonly STATE_ENABLED: 2;
3261   readonly PREF_NONE: 0;
3262   readonly PREF_MULTIMEDIA: 1;
3263   readonly PREF_VOICE: 2;
3264   readonly PREF_NOTIFICATION: 4;
3265   readonly PREF_ALL: 15;
3266   readonly FMT_S16LE: 16;
3267   readonly FMT_S16BE: 32;
3268   readonly FMT_F32LE: 4096;
3269   readonly FMT_F32BE: 8192;
3271   readonly name: string;
3272   readonly groupId: string;
3273   readonly vendor: string;
3274   readonly type: u16;
3275   readonly state: u16;
3276   readonly preferred: u16;
3277   readonly supportedFormat: u16;
3278   readonly defaultFormat: u16;
3279   readonly maxChannels: u32;
3280   readonly defaultRate: u32;
3281   readonly maxRate: u32;
3282   readonly minRate: u32;
3283   readonly maxLatency: u32;
3284   readonly minLatency: u32;
3287 // https://searchfox.org/mozilla-central/source/dom/media/nsIMediaDevice.idl
3289 interface nsIMediaDevice extends nsISupports {
3290   readonly type: string;
3291   readonly mediaSource: string;
3292   readonly rawId: string;
3293   readonly id: string;
3294   readonly scary: boolean;
3295   readonly canRequestOsLevelPrompt: boolean;
3296   readonly rawName: string;
3299 // https://searchfox.org/mozilla-central/source/dom/media/nsIMediaManager.idl
3301 interface nsIMediaManagerService extends nsISupports {
3302   readonly STATE_NOCAPTURE: 0;
3303   readonly STATE_CAPTURE_ENABLED: 1;
3304   readonly STATE_CAPTURE_DISABLED: 2;
3306   readonly activeMediaCaptureWindows: nsIArray;
3307   mediaCaptureWindowState(aWindow: nsIDOMWindow, aCamera: OutParam<u16>, aMicrophone: OutParam<u16>, aScreenShare: OutParam<u16>, aWindowShare: OutParam<u16>, aBrowserShare: OutParam<u16>, devices: OutParam<nsIMediaDevice[]>): void;
3308   sanitizeDeviceIds(sinceWhen: i64): void;
3311 // https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsITCPSocketCallback.idl
3313 interface nsITCPSocketCallback extends nsISupports {
3314   readonly BUFFER_SIZE: 65536;
3316   fireErrorEvent(name: string, type: string, errorCode: nsresult): void;
3317   fireDataStringEvent(type: string, data: string): void;
3318   fireEvent(type: string): void;
3319   updateReadyState(readystate: u32): void;
3320   updateBufferedAmount(bufferedAmount: u32, trackingNumber: u32): void;
3323 // https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsIUDPSocketChild.idl
3325 interface nsIUDPSocketInternal extends nsISupports {
3326   callListenerOpened(): void;
3327   callListenerConnected(): void;
3328   callListenerClosed(): void;
3329   callListenerReceivedData(host: string, port: u16, data: u8[]): void;
3330   callListenerError(message: string, filename: string, lineNumber: u32): void;
3333 // https://searchfox.org/mozilla-central/source/dom/interfaces/notification/nsINotificationStorage.idl
3335 interface nsINotificationStorageCallback extends nsISupports {
3336   handle(id: string, title: string, dir: string, lang: string, body: string, tag: string, icon: string, data: string, behavior: string, serviceWorkerRegistrationScope: string): void;
3337   done(): void;
3340 interface nsINotificationStorage extends nsISupports {
3341   put(origin: string, id: string, title: string, dir: string, lang: string, body: string, tag: string, icon: string, alertName: string, data: string, behavior: string, serviceWorkerRegistrationScope: string): void;
3342   get(origin: string, tag: string, aCallback: nsINotificationStorageCallback): void;
3343   delete(origin: string, id: string): void;
3346 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentActionResponse.idl
3348 interface nsIPaymentResponseData extends nsISupports {
3349   readonly GENERAL_RESPONSE: 0;
3350   readonly BASICCARD_RESPONSE: 1;
3352   readonly type: u32;
3353   init(aType: u32): void;
3356 interface nsIGeneralResponseData extends nsIPaymentResponseData {
3357   readonly data: string;
3358   initData(aData: any): void;
3361 interface nsIBasicCardResponseData extends nsIPaymentResponseData {
3362   readonly cardholderName: string;
3363   readonly cardNumber: string;
3364   readonly expiryMonth: string;
3365   readonly expiryYear: string;
3366   readonly cardSecurityCode: string;
3367   readonly billingAddress: nsIPaymentAddress;
3368   initData(aCardholderName: string, aCardNumber: string, aExpiryMonth: string, aExpiryYear: string, aCardSecurityCode: string, billingAddress: nsIPaymentAddress): void;
3371 interface nsIPaymentActionResponse extends nsISupports {
3372   readonly NO_TYPE: 0;
3373   readonly CANMAKE_ACTION: 2;
3374   readonly SHOW_ACTION: 3;
3375   readonly ABORT_ACTION: 4;
3376   readonly COMPLETE_ACTION: 5;
3377   readonly ABORT_SUCCEEDED: 1;
3378   readonly ABORT_FAILED: 0;
3379   readonly PAYMENT_REJECTED: 0;
3380   readonly PAYMENT_ACCEPTED: 1;
3381   readonly PAYMENT_NOTSUPPORTED: 2;
3382   readonly COMPLETE_SUCCEEDED: 1;
3383   readonly COMPLETE_FAILED: 0;
3385   readonly requestId: string;
3386   readonly type: u32;
3389 interface nsIPaymentCanMakeActionResponse extends nsIPaymentActionResponse {
3390   readonly result: boolean;
3391   init(aRequestId: string, aResult: boolean): void;
3394 interface nsIPaymentShowActionResponse extends nsIPaymentActionResponse {
3395   readonly acceptStatus: u32;
3396   readonly methodName: string;
3397   readonly data: nsIPaymentResponseData;
3398   readonly payerName: string;
3399   readonly payerEmail: string;
3400   readonly payerPhone: string;
3401   init(aRequestId: string, aAcceptStatus: u32, aMethodName: string, aData: nsIPaymentResponseData, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;
3404 interface nsIPaymentAbortActionResponse extends nsIPaymentActionResponse {
3405   readonly abortStatus: u32;
3406   init(aRequestId: string, aAbortStatus: u32): void;
3407   isSucceeded(): boolean;
3410 interface nsIPaymentCompleteActionResponse extends nsIPaymentActionResponse {
3411   readonly completeStatus: u32;
3412   init(aRequestId: string, aCompleteStatus: u32): void;
3413   isCompleted(): boolean;
3416 interface nsIMethodChangeDetails extends nsISupports {
3417   readonly GENERAL_DETAILS: 0;
3418   readonly BASICCARD_DETAILS: 1;
3420   readonly type: u32;
3421   init(aType: u32): void;
3424 interface nsIGeneralChangeDetails extends nsIMethodChangeDetails {
3425   readonly details: string;
3426   initData(aDetails: any): void;
3429 interface nsIBasicCardChangeDetails extends nsIMethodChangeDetails {
3430   readonly billingAddress: nsIPaymentAddress;
3431   initData(billingAddress: nsIPaymentAddress): void;
3434 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentAddress.idl
3436 interface nsIPaymentAddress extends nsISupports {
3437   readonly country: string;
3438   readonly addressLine: nsIArray;
3439   readonly region: string;
3440   readonly regionCode: string;
3441   readonly city: string;
3442   readonly dependentLocality: string;
3443   readonly postalCode: string;
3444   readonly sortingCode: string;
3445   readonly organization: string;
3446   readonly recipient: string;
3447   readonly phone: string;
3448   init(aCountry: string, aAddressLine: nsIArray, aRegion: string, aRegionCode: string, aCity: string, aDependentLocality: string, aPostalCode: string, aSortingCode: string, aOrganization: string, aRecipient: string, aPhone: string): void;
3451 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequest.idl
3453 interface nsIPaymentMethodData extends nsISupports {
3454   readonly supportedMethods: string;
3455   readonly data: any;
3458 interface nsIPaymentCurrencyAmount extends nsISupports {
3459   readonly currency: string;
3460   readonly value: string;
3463 interface nsIPaymentItem extends nsISupports {
3464   readonly label: string;
3465   readonly amount: nsIPaymentCurrencyAmount;
3466   readonly pending: boolean;
3469 interface nsIPaymentDetailsModifier extends nsISupports {
3470   readonly supportedMethods: string;
3471   readonly total: nsIPaymentItem;
3472   readonly additionalDisplayItems: nsIArray;
3473   readonly data: any;
3476 interface nsIPaymentShippingOption extends nsISupports {
3477   readonly id: string;
3478   readonly label: string;
3479   readonly amount: nsIPaymentCurrencyAmount;
3480   selected: boolean;
3483 interface nsIPaymentDetails extends nsISupports {
3484   readonly id: string;
3485   readonly totalItem: nsIPaymentItem;
3486   readonly displayItems: nsIArray;
3487   readonly shippingOptions: nsIArray;
3488   readonly modifiers: nsIArray;
3489   readonly error: string;
3490   readonly shippingAddressErrors: any;
3491   readonly payerErrors: any;
3492   readonly paymentMethodErrors: any;
3495 interface nsIPaymentOptions extends nsISupports {
3496   readonly requestPayerName: boolean;
3497   readonly requestPayerEmail: boolean;
3498   readonly requestPayerPhone: boolean;
3499   readonly requestShipping: boolean;
3500   readonly requestBillingAddress: boolean;
3501   readonly shippingType: string;
3504 interface nsIPaymentRequest extends nsISupports {
3505   readonly topOuterWindowId: u64;
3506   readonly topLevelPrincipal: nsIPrincipal;
3507   readonly requestId: string;
3508   readonly completeStatus: string;
3509   readonly paymentMethods: nsIArray;
3510   readonly paymentDetails: nsIPaymentDetails;
3511   readonly paymentOptions: nsIPaymentOptions;
3512   readonly shippingOption: string;
3515 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequestService.idl
3517 interface nsIPaymentRequestService extends nsISupports {
3518   getPaymentRequestById(aRequestId: string): nsIPaymentRequest;
3519   enumerate(): nsISimpleEnumerator;
3520   respondPayment(aResponse: nsIPaymentActionResponse): void;
3521   changeShippingAddress(requestId: string, aAddress: nsIPaymentAddress): void;
3522   changeShippingOption(requestId: string, option: string): void;
3523   changePayerDetail(requestId: string, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;
3524   changePaymentMethod(requestId: string, aMethodName: string, aMethodDetails: nsIMethodChangeDetails): void;
3525   cleanup(): void;
3526   setTestingUIService(aUIService: nsIPaymentUIService): void;
3529 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentUIService.idl
3531 interface nsIPaymentUIService extends nsISupports {
3532   showPayment(requestId: string): void;
3533   abortPayment(requestId: string): void;
3534   completePayment(requestId: string): void;
3535   updatePayment(requestId: string): void;
3536   closePayment(requestId: string): void;
3539 // https://searchfox.org/mozilla-central/source/dom/power/nsIDOMWakeLockListener.idl
3541 type nsIDOMMozWakeLockListener = Callable<{
3542   callback(aTopic: string, aState: string): void;
3545 // https://searchfox.org/mozilla-central/source/dom/power/nsIPowerManagerService.idl
3547 interface nsIPowerManagerService extends nsISupports {
3548   addWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;
3549   removeWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;
3550   getWakeLockState(aTopic: string): string;
3551   newWakeLock(aTopic: string, aWindow?: mozIDOMWindow): nsIWakeLock;
3554 // https://searchfox.org/mozilla-central/source/dom/power/nsIWakeLock.idl
3556 interface nsIWakeLock extends nsISupports {
3557   unlock(): void;
3560 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushErrorReporter.idl
3562 interface nsIPushErrorReporter extends nsISupports {
3563   readonly ACK_DELIVERED: 0;
3564   readonly ACK_DECRYPTION_ERROR: 1;
3565   readonly ACK_NOT_DELIVERED: 2;
3566   readonly UNSUBSCRIBE_MANUAL: 3;
3567   readonly UNSUBSCRIBE_QUOTA_EXCEEDED: 4;
3568   readonly UNSUBSCRIBE_PERMISSION_REVOKED: 5;
3569   readonly DELIVERY_UNCAUGHT_EXCEPTION: 6;
3570   readonly DELIVERY_UNHANDLED_REJECTION: 7;
3571   readonly DELIVERY_INTERNAL_ERROR: 8;
3573   reportDeliveryError(messageId: string, reason?: u16): void;
3576 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushNotifier.idl
3578 interface nsIPushNotifier extends nsISupports {
3579   notifyPush(scope: string, principal: nsIPrincipal, messageId: string): void;
3580   notifyPushWithData(scope: string, principal: nsIPrincipal, messageId: string, data: u8[]): void;
3581   notifySubscriptionChange(scope: string, principal: nsIPrincipal): void;
3582   notifySubscriptionModified(scope: string, principal: nsIPrincipal): void;
3583   notifyError(scope: string, principal: nsIPrincipal, message: string, flags: u32): void;
3586 interface nsIPushData extends nsISupports {
3587   text(): string;
3588   json(): any;
3589   binary(): u8[];
3592 interface nsIPushMessage extends nsISupports {
3593   readonly principal: nsIPrincipal;
3594   readonly data: nsIPushData;
3597 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushService.idl
3599 interface nsIPushSubscription extends nsISupports {
3600   readonly endpoint: string;
3601   readonly pushCount: i64;
3602   readonly lastPush: i64;
3603   readonly quota: i32;
3604   readonly isSystemSubscription: boolean;
3605   readonly p256dhPrivateKey: any;
3606   quotaApplies(): boolean;
3607   isExpired(): boolean;
3608   getKey(name: string): u8[];
3611 type nsIPushSubscriptionCallback = Callable<{
3612   onPushSubscription(status: nsresult, subscription: nsIPushSubscription): void;
3615 type nsIUnsubscribeResultCallback = Callable<{
3616   onUnsubscribe(status: nsresult, success: boolean): void;
3619 type nsIPushClearResultCallback = Callable<{
3620   onClear(status: nsresult): void;
3623 interface nsIPushService extends nsISupports {
3624   readonly pushTopic: string;
3625   readonly subscriptionChangeTopic: string;
3626   readonly subscriptionModifiedTopic: string;
3627   subscribe(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;
3628   subscribeWithKey(scope: string, principal: nsIPrincipal, key: u8[], callback: nsIPushSubscriptionCallback): void;
3629   unsubscribe(scope: string, principal: nsIPrincipal, callback: nsIUnsubscribeResultCallback): void;
3630   getSubscription(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;
3631   clearForDomain(domain: string, callback: nsIPushClearResultCallback): void;
3634 interface nsIPushQuotaManager extends nsISupports {
3635   notificationForOriginShown(origin: string): void;
3636   notificationForOriginClosed(origin: string): void;
3639 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaCallbacks.idl
3641 type nsIQuotaUsageCallback = Callable<{
3642   onUsageResult(aRequest: nsIQuotaUsageRequest): void;
3645 type nsIQuotaCallback = Callable<{
3646   onComplete(aRequest: nsIQuotaRequest): void;
3649 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaManagerService.idl
3651 interface nsIQuotaManagerService extends nsISupports {
3652   storageName(): nsIQuotaRequest;
3653   storageInitialized(): nsIQuotaRequest;
3654   temporaryStorageInitialized(): nsIQuotaRequest;
3655   init(): nsIQuotaRequest;
3656   initTemporaryStorage(): nsIQuotaRequest;
3657   initializePersistentOrigin(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3658   initializeTemporaryOrigin(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;
3659   initializePersistentClient(aPrincipal: nsIPrincipal, aClientType: string): nsIQuotaRequest;
3660   initializeTemporaryClient(aPersistenceType: string, aPrincipal: nsIPrincipal, aClientType: string): nsIQuotaRequest;
3661   getFullOriginMetadata(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;
3662   getUsage(aCallback: nsIQuotaUsageCallback, aGetAll?: boolean): nsIQuotaUsageRequest;
3663   getUsageForPrincipal(aPrincipal: nsIPrincipal, aCallback: nsIQuotaUsageCallback, aFromMemory?: boolean): nsIQuotaUsageRequest;
3664   listOrigins(): nsIQuotaRequest;
3665   clear(): nsIQuotaRequest;
3666   clearStoragesForPrivateBrowsing(): nsIQuotaRequest;
3667   clearStoragesForOriginAttributesPattern(aPattern: string): nsIQuotaRequest;
3668   clearStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string, aClientType?: string): nsIQuotaRequest;
3669   clearStoragesForOriginPrefix(aPrincipal: nsIPrincipal, aPersistenceType?: string): nsIQuotaRequest;
3670   reset(): nsIQuotaRequest;
3671   resetStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string, aClientType?: string): nsIQuotaRequest;
3672   persisted(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3673   persist(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3674   estimate(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3677 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaRequests.idl
3679 interface nsIQuotaRequestBase extends nsISupports {
3680   readonly principal: nsIPrincipal;
3681   readonly resultCode: nsresult;
3682   readonly resultName: string;
3685 interface nsIQuotaUsageRequest extends nsIQuotaRequestBase {
3686   readonly result: nsIVariant;
3687   callback: nsIQuotaUsageCallback;
3688   cancel(): void;
3691 interface nsIQuotaRequest extends nsIQuotaRequestBase {
3692   readonly result: nsIVariant;
3693   callback: nsIQuotaCallback;
3696 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaResults.idl
3698 interface nsIQuotaFullOriginMetadataResult extends nsISupports {
3699   readonly suffix: string;
3700   readonly group: string;
3701   readonly origin: string;
3702   readonly storageOrigin: string;
3703   readonly persistenceType: string;
3704   readonly persisted: boolean;
3705   readonly lastAccessTime: i64;
3708 interface nsIQuotaUsageResult extends nsISupports {
3709   readonly origin: string;
3710   readonly persisted: boolean;
3711   readonly usage: u64;
3712   readonly lastAccessed: u64;
3715 interface nsIQuotaOriginUsageResult extends nsISupports {
3716   readonly databaseUsage: u64;
3717   readonly fileUsage: u64;
3718   readonly usage: u64;
3719   readonly databaseUsageIsExplicit: boolean;
3720   readonly fileUsageIsExplicit: boolean;
3721   readonly totalUsageIsExplicit: boolean;
3724 interface nsIQuotaEstimateResult extends nsISupports {
3725   readonly usage: u64;
3726   readonly limit: u64;
3729 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityManager.idl
3731 interface nsIContentSecurityManager extends nsISupports {
3732   performSecurityCheck(aChannel: nsIChannel, aStreamListener: nsIStreamListener): nsIStreamListener;
3735 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityPolicy.idl
3737 }  // global
3739 declare namespace nsIContentSecurityPolicy {
3741 enum CSPDirective {
3742   NO_DIRECTIVE = 0,
3743   DEFAULT_SRC_DIRECTIVE = 1,
3744   SCRIPT_SRC_DIRECTIVE = 2,
3745   OBJECT_SRC_DIRECTIVE = 3,
3746   STYLE_SRC_DIRECTIVE = 4,
3747   IMG_SRC_DIRECTIVE = 5,
3748   MEDIA_SRC_DIRECTIVE = 6,
3749   FRAME_SRC_DIRECTIVE = 7,
3750   FONT_SRC_DIRECTIVE = 8,
3751   CONNECT_SRC_DIRECTIVE = 9,
3752   REPORT_URI_DIRECTIVE = 10,
3753   FRAME_ANCESTORS_DIRECTIVE = 11,
3754   REFLECTED_XSS_DIRECTIVE = 12,
3755   BASE_URI_DIRECTIVE = 13,
3756   FORM_ACTION_DIRECTIVE = 14,
3757   WEB_MANIFEST_SRC_DIRECTIVE = 15,
3758   UPGRADE_IF_INSECURE_DIRECTIVE = 16,
3759   CHILD_SRC_DIRECTIVE = 17,
3760   BLOCK_ALL_MIXED_CONTENT = 18,
3761   SANDBOX_DIRECTIVE = 19,
3762   WORKER_SRC_DIRECTIVE = 20,
3763   SCRIPT_SRC_ELEM_DIRECTIVE = 21,
3764   SCRIPT_SRC_ATTR_DIRECTIVE = 22,
3765   STYLE_SRC_ELEM_DIRECTIVE = 23,
3766   STYLE_SRC_ATTR_DIRECTIVE = 24,
3771 declare global {
3773 interface nsIContentSecurityPolicy extends nsISerializable, Enums<typeof nsIContentSecurityPolicy.CSPDirective> {
3774   readonly VIOLATION_TYPE_EVAL: 1;
3775   readonly VIOLATION_TYPE_WASM_EVAL: 2;
3777   getPolicy(index: u32): string;
3778   readonly policyCount: u32;
3779   readonly upgradeInsecureRequests: boolean;
3780   readonly blockAllMixedContent: boolean;
3781   readonly enforcesFrameAncestors: boolean;
3782   appendPolicy(policyString: string, reportOnly: boolean, deliveredViaMetaTag: boolean): void;
3783   getAllowsInline(aDirective: nsIContentSecurityPolicy.CSPDirective, aHasUnsafeHash: boolean, aNonce: string, aParserCreated: boolean, aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aContentOfPseudoScript: string, aLineNumber: u32, aColumnNumber: u32): boolean;
3784   getAllowsEval(shouldReportViolations: OutParam<boolean>): boolean;
3785   getAllowsWasmEval(shouldReportViolations: OutParam<boolean>): boolean;
3786   getCSPSandboxFlags(): u32;
3787   logViolationDetails(violationType: u16, triggeringElement: Element, aCSPEventListener: nsICSPEventListener, sourceFile: string, scriptSample: string, lineNum: i32, columnNum: i32, nonce?: string, content?: string): void;
3788   setRequestContextWithDocument(aDocument: Document): void;
3789   setRequestContextWithPrincipal(aRequestPrincipal: nsIPrincipal, aSelfURI: nsIURI, aReferrer: string, aInnerWindowId: u64): void;
3790   permitsAncestry(aLoadInfo: nsILoadInfo): boolean;
3791   permits(aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aURI: nsIURI, aDir: nsIContentSecurityPolicy.CSPDirective, aSpecific: boolean, aSendViolationReports: boolean): boolean;
3792   shouldLoad(aContentType: nsContentPolicyType, aCSPEventListener: nsICSPEventListener, aLoadInfo: nsILoadInfo, aContentLocation: nsIURI, aOriginalURIIfRedirect: nsIURI, aSendViolationReports: boolean): i16;
3793   toJSON(): string;
3796 type nsICSPEventListener = Callable<{
3797   onCSPViolationEvent(aJSON: string): void;
3800 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIReferrerInfo.idl
3802 }  // global
3804 declare namespace nsIReferrerInfo {
3806 enum ReferrerPolicyIDL {
3807   EMPTY = 0,
3808   NO_REFERRER_WHEN_DOWNGRADE = 1,
3809   NO_REFERRER = 2,
3810   ORIGIN = 3,
3811   ORIGIN_WHEN_CROSS_ORIGIN = 4,
3812   UNSAFE_URL = 5,
3813   SAME_ORIGIN = 6,
3814   STRICT_ORIGIN = 7,
3815   STRICT_ORIGIN_WHEN_CROSS_ORIGIN = 8,
3820 declare global {
3822 interface nsIReferrerInfo extends nsISerializable, Enums<typeof nsIReferrerInfo.ReferrerPolicyIDL> {
3823   readonly originalReferrer: nsIURI;
3824   readonly referrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL;
3825   getReferrerPolicyString(): string;
3826   readonly sendReferrer: boolean;
3827   readonly computedReferrerSpec: string;
3828   equals(other: nsIReferrerInfo): boolean;
3829   init(aReferrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer?: boolean, aOriginalReferrer?: nsIURI): void;
3830   initWithDocument(aDocument: Document): void;
3831   initWithElement(aNode: Element): void;
3834 // https://searchfox.org/mozilla-central/source/dom/security/nsIHttpsOnlyModePermission.idl
3836 interface nsIHttpsOnlyModePermission extends nsISupports {
3837   readonly LOAD_INSECURE_DEFAULT: 0;
3838   readonly LOAD_INSECURE_ALLOW: 1;
3839   readonly LOAD_INSECURE_BLOCK: 2;
3840   readonly LOAD_INSECURE_ALLOW_SESSION: 9;
3843 // https://searchfox.org/mozilla-central/source/dom/serializers/nsIDocumentEncoder.idl
3845 interface nsIDocumentEncoderNodeFixup extends nsISupports {
3846   fixupNode(aNode: Node, aSerializeCloneKids: OutParam<boolean>): Node;
3849 interface nsIDocumentEncoder extends nsISupports {
3850   readonly OutputSelectionOnly: 1;
3851   readonly OutputFormatted: 2;
3852   readonly OutputRaw: 4;
3853   readonly OutputBodyOnly: 8;
3854   readonly OutputPreformatted: 16;
3855   readonly OutputWrap: 32;
3856   readonly OutputFormatFlowed: 64;
3857   readonly OutputAbsoluteLinks: 128;
3858   readonly OutputCRLineBreak: 512;
3859   readonly OutputLFLineBreak: 1024;
3860   readonly OutputNoScriptContent: 2048;
3861   readonly OutputNoFramesContent: 4096;
3862   readonly OutputNoFormattingInPre: 8192;
3863   readonly OutputEncodeBasicEntities: 16384;
3864   readonly OutputPersistNBSP: 131072;
3865   readonly OutputDontRewriteEncodingDeclaration: 262144;
3866   readonly SkipInvisibleContent: 524288;
3867   readonly OutputFormatDelSp: 1048576;
3868   readonly OutputDropInvisibleBreak: 2097152;
3869   readonly OutputIgnoreMozDirty: 4194304;
3870   readonly OutputForPlainTextClipboardCopy: 33554432;
3871   readonly OutputRubyAnnotation: 67108864;
3872   readonly OutputDisallowLineBreaking: 134217728;
3873   readonly RequiresReinitAfterOutput: 268435456;
3875   init(aDocument: Document, aMimeType: string, aFlags: u32): void;
3876   setSelection(aSelection: Selection): void;
3877   setRange(aRange: Range): void;
3878   setNode(aNode: Node): void;
3879   setContainerNode(aContainer: Node): void;
3880   setCharset(aCharset: string): void;
3881   setWrapColumn(aWrapColumn: u32): void;
3882   readonly mimeType: string;
3883   encodeToStream(aStream: nsIOutputStream): void;
3884   encodeToString(): string;
3885   encodeToStringWithContext(aContextString: OutParam<string>, aInfoString: OutParam<string>): string;
3886   encodeToStringWithMaxLength(aMaxLength: u32): string;
3887   setNodeFixup(aFixup: nsIDocumentEncoderNodeFixup): void;
3890 // https://searchfox.org/mozilla-central/source/dom/interfaces/sidebar/nsIWebProtocolHandlerRegistrar.idl
3892 interface nsIWebProtocolHandlerRegistrar extends nsISupports {
3893   registerProtocolHandler(protocol: string, uri: nsIURI, title: string, documentURI: nsIURI, windowOrBrowser: nsISupports): void;
3894   removeProtocolHandler(protocol: string, uri: string): void;
3897 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBCallbacks.idl
3899 type nsISDBCallback = Callable<{
3900   onComplete(aRequest: nsISDBRequest): void;
3903 type nsISDBCloseCallback = Callable<{
3904   onClose(aConnection: nsISDBConnection): void;
3907 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBConnection.idl
3909 interface nsISDBConnection extends nsISupports {
3910   init(aPrincipal: nsIPrincipal, aPersistenceType?: string): void;
3911   open(aName: string): nsISDBRequest;
3912   seek(offset: u64): nsISDBRequest;
3913   read(size: u64): nsISDBRequest;
3914   write(value: any): nsISDBRequest;
3915   close(): nsISDBRequest;
3916   closeCallback: nsISDBCloseCallback;
3919 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBRequest.idl
3921 interface nsISDBRequest extends nsISupports {
3922   readonly result: nsIVariant;
3923   readonly resultCode: nsresult;
3924   callback: nsISDBCallback;
3927 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBResults.idl
3929 interface nsISDBResult extends nsISupports {
3930   getAsArray(): u8[];
3931   getAsArrayBuffer(): any;
3934 // https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIDOMStorageManager.idl
3936 interface nsIDOMStorageManager extends nsISupports {
3937   precacheStorage(aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal): Storage;
3938   createStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aDocumentURI: string, aPrivate?: boolean): Storage;
3939   getStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aPrivate?: boolean): Storage;
3940   cloneStorage(aStorageToCloneFrom: Storage): void;
3941   checkStorage(aPrincipal: nsIPrincipal, aStorage: Storage): boolean;
3944 // https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIStorageActivityService.idl
3946 interface nsIStorageActivityService extends nsISupports {
3947   getActiveOrigins(from: PRTime, to: PRTime): nsIArray;
3948   moveOriginInTime(origin: nsIPrincipal, when: PRTime): void;
3949   testOnlyReset(): void;
3952 // https://searchfox.org/mozilla-central/source/dom/storage/nsISessionStorageService.idl
3954 interface nsISessionStorageService extends nsISupports {
3955   clearStoragesForOrigin(aPrincipal: nsIPrincipal): void;
3958 // https://searchfox.org/mozilla-central/source/dom/system/nsIOSPermissionRequest.idl
3960 interface nsIOSPermissionRequest extends nsISupports {
3961   readonly PERMISSION_STATE_NOTDETERMINED: 0;
3962   readonly PERMISSION_STATE_RESTRICTED: 1;
3963   readonly PERMISSION_STATE_DENIED: 2;
3964   readonly PERMISSION_STATE_AUTHORIZED: 3;
3966   getMediaCapturePermissionState(aVideo: OutParam<u16>, aAudio: OutParam<u16>): void;
3967   getAudioCapturePermissionState(aAudio: OutParam<u16>): void;
3968   getVideoCapturePermissionState(aVideo: OutParam<u16>): void;
3969   getScreenCapturePermissionState(aScreen: OutParam<u16>): void;
3970   requestVideoCapturePermission(): Promise<any>;
3971   requestAudioCapturePermission(): Promise<any>;
3972   maybeRequestScreenCapturePermission(): void;
3975 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnArgs.idl
3977 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnAttObj.idl
3979 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnPromise.idl
3981 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnResult.idl
3983 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnService.idl
3985 interface nsICredentialParameters extends nsISupports {
3986   readonly credentialId: string;
3987   readonly isResidentCredential: boolean;
3988   readonly rpId: string;
3989   readonly privateKey: string;
3990   readonly userHandle: string;
3991   readonly signCount: u32;
3994 interface nsIWebAuthnAutoFillEntry extends nsISupports {
3995   readonly PROVIDER_UNKNOWN: 0;
3996   readonly PROVIDER_TEST_TOKEN: 1;
3997   readonly PROVIDER_PLATFORM_WINDOWS: 2;
3998   readonly PROVIDER_PLATFORM_MACOS: 3;
3999   readonly PROVIDER_PLATFORM_ANDROID: 4;
4001   readonly provider: u8;
4002   readonly userName: string;
4003   readonly rpId: string;
4004   readonly credentialId: u8[];
4007 interface nsIWebAuthnService extends nsISupports {
4008   readonly isUVPAA: boolean;
4009   makeCredential(aTransactionId: u64, browsingContextId: u64, args: nsIWebAuthnRegisterArgs, promise: nsIWebAuthnRegisterPromise): void;
4010   getAssertion(aTransactionId: u64, browsingContextId: u64, args: nsIWebAuthnSignArgs, promise: nsIWebAuthnSignPromise): void;
4011   cancel(aTransactionId: u64): void;
4012   hasPendingConditionalGet(aBrowsingContextId: u64, aOrigin: string): u64;
4013   getAutoFillEntries(aTransactionId: u64): nsIWebAuthnAutoFillEntry[];
4014   selectAutoFillEntry(aTransactionId: u64, aCredentialId: u8[]): void;
4015   resumeConditionalGet(aTransactionId: u64): void;
4016   pinCallback(aTransactionId: u64, aPin: string): void;
4017   resumeMakeCredential(aTransactionId: u64, aForceNoneAttestation: boolean): void;
4018   selectionCallback(aTransactionId: u64, aIndex: u64): void;
4019   addVirtualAuthenticator(protocol: string, transport: string, hasResidentKey: boolean, hasUserVerification: boolean, isUserConsenting: boolean, isUserVerified: boolean): u64;
4020   removeVirtualAuthenticator(authenticatorId: u64): void;
4021   addCredential(authenticatorId: u64, credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle: string, signCount: u32): void;
4022   getCredentials(authenticatorId: u64): nsICredentialParameters[];
4023   removeCredential(authenticatorId: u64, credentialId: string): void;
4024   removeAllCredentials(authenticatorId: u64): void;
4025   setUserVerified(authenticatorId: u64, isUserVerified: boolean): void;
4026   listen(): void;
4027   runCommand(aCommand: string): void;
4030 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/recognition/nsISpeechRecognitionService.idl
4032 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISpeechService.idl
4034 interface nsISpeechTaskCallback extends nsISupports {
4035   onPause(): void;
4036   onResume(): void;
4037   onCancel(): void;
4038   onVolumeChanged(aVolume: float): void;
4041 interface nsISpeechTask extends nsISupports {
4042   setup(aCallback: nsISpeechTaskCallback): void;
4043   dispatchStart(): void;
4044   dispatchEnd(aElapsedTime: float, aCharIndex: u32): void;
4045   dispatchPause(aElapsedTime: float, aCharIndex: u32): void;
4046   dispatchResume(aElapsedTime: float, aCharIndex: u32): void;
4047   dispatchError(aElapsedTime: float, aCharIndex: u32): void;
4048   dispatchBoundary(aName: string, aElapsedTime: float, aCharIndex: u32, aCharLength?: u32): void;
4049   dispatchMark(aName: string, aElapsedTime: float, aCharIndex: u32): void;
4052 interface nsISpeechService extends nsISupports {
4053   speak(aText: string, aUri: string, aVolume: float, aRate: float, aPitch: float, aTask: nsISpeechTask): void;
4056 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISynthVoiceRegistry.idl
4058 interface nsISynthVoiceRegistry extends nsISupports {
4059   addVoice(aService: nsISpeechService, aUri: string, aName: string, aLang: string, aLocalService: boolean, aQueuesUtterances: boolean): void;
4060   removeVoice(aService: nsISpeechService, aUri: string): void;
4061   notifyVoicesChanged(): void;
4062   notifyVoicesError(aError: string): void;
4063   setDefaultVoice(aUri: string, aIsDefault: boolean): void;
4064   readonly voiceCount: u32;
4065   getVoice(aIndex: u32): string;
4066   isDefaultVoice(aUri: string): boolean;
4067   isLocalVoice(aUri: string): boolean;
4068   getVoiceLang(aUri: string): string;
4069   getVoiceName(aUri: string): string;
4072 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerChannelInfo.idl
4074 interface nsIWorkerChannelLoadInfo extends nsISupports {
4075   workerAssociatedBrowsingContextID: u64;
4076   readonly workerAssociatedBrowsingContext: BrowsingContext;
4079 interface nsIWorkerChannelInfo extends nsISupports {
4080   loadInfo: nsIWorkerChannelLoadInfo;
4081   readonly channelId: u64;
4084 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebugger.idl
4086 interface nsIWorkerDebuggerListener extends nsISupports {
4087   onClose(): void;
4088   onError(filename: string, lineno: u32, message: string): void;
4089   onMessage(message: string): void;
4092 interface nsIWorkerDebugger extends nsISupports {
4093   readonly TYPE_DEDICATED: 0;
4094   readonly TYPE_SHARED: 1;
4095   readonly TYPE_SERVICE: 2;
4097   readonly isClosed: boolean;
4098   readonly isChrome: boolean;
4099   readonly isInitialized: boolean;
4100   readonly parent: nsIWorkerDebugger;
4101   readonly type: u32;
4102   readonly url: string;
4103   readonly window: mozIDOMWindow;
4104   readonly windowIDs: u64[];
4105   readonly principal: nsIPrincipal;
4106   readonly serviceWorkerID: u32;
4107   readonly id: string;
4108   initialize(url: string): void;
4109   postMessage(message: string): void;
4110   addListener(listener: nsIWorkerDebuggerListener): void;
4111   removeListener(listener: nsIWorkerDebuggerListener): void;
4112   setDebuggerReady(ready: boolean): void;
4115 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebuggerManager.idl
4117 interface nsIWorkerDebuggerManagerListener extends nsISupports {
4118   onRegister(aDebugger: nsIWorkerDebugger): void;
4119   onUnregister(aDebugger: nsIWorkerDebugger): void;
4122 interface nsIWorkerDebuggerManager extends nsISupports {
4123   getWorkerDebuggerEnumerator(): nsISimpleEnumerator;
4124   addListener(listener: nsIWorkerDebuggerManagerListener): void;
4125   removeListener(listener: nsIWorkerDebuggerManagerListener): void;
4128 // https://searchfox.org/mozilla-central/source/dom/xslt/xslt/txIEXSLTFunctions.idl
4130 interface txIEXSLTFunctions extends nsISupports {
4131   match(str: string, regex: string, flags: string, doc: Document): DocumentFragment;
4132   replace(str: string, regex: string, flags: string, replace: string): string;
4133   test(str: string, regex: string, flags: string): boolean;
4136 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULButtonElement.idl
4138 interface nsIDOMXULButtonElement extends nsIDOMXULControlElement {
4139   type: string;
4140   open: boolean;
4141   checked: boolean;
4142   group: string;
4145 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl
4147 interface nsIDOMXULCommandDispatcher extends nsISupports {
4148   focusedElement: Element;
4149   focusedWindow: mozIDOMWindowProxy;
4150   addCommandUpdater(updater: Element, events: string, targets: string): void;
4151   removeCommandUpdater(updater: Element): void;
4152   updateCommands(eventName: string): void;
4153   getControllerForCommand(command: string): nsIController;
4154   getControllers(): nsIControllers;
4155   advanceFocus(): void;
4156   rewindFocus(): void;
4157   advanceFocusIntoSubtree(elt: Element): void;
4158   lock(): void;
4159   unlock(): void;
4162 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULContainerElement.idl
4164 interface nsIDOMXULContainerItemElement extends nsISupports {
4165   readonly parentContainer: Element;
4168 interface nsIDOMXULContainerElement extends nsIDOMXULContainerItemElement {
4171 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULControlElement.idl
4173 interface nsIDOMXULControlElement extends nsISupports {
4174   disabled: boolean;
4177 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMenuListElement.idl
4179 interface nsIDOMXULMenuListElement extends nsIDOMXULSelectControlElement {
4180   editable: boolean;
4181   open: boolean;
4182   readonly label: string;
4183   image: string;
4186 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
4188 interface nsIDOMXULMultiSelectControlElement extends nsIDOMXULSelectControlElement {
4189   selType: string;
4190   currentItem: Element;
4191   currentIndex: i32;
4192   readonly selectedItems: NodeList;
4193   addItemToSelection(item: nsIDOMXULSelectControlItemElement): void;
4194   removeItemFromSelection(item: nsIDOMXULSelectControlItemElement): void;
4195   toggleItemSelection(item: nsIDOMXULSelectControlItemElement): void;
4196   selectItem(item: nsIDOMXULSelectControlItemElement): void;
4197   selectItemRange(startItem: nsIDOMXULSelectControlItemElement, item: nsIDOMXULSelectControlItemElement): void;
4198   selectAll(): void;
4199   clearSelection(): void;
4200   readonly selectedCount: i32;
4201   getSelectedItem(index: i32): Element;
4204 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl
4206 interface nsIDOMXULRadioGroupElement extends nsISupports {
4207   focusedItem: Element;
4210 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRelatedElement.idl
4212 interface nsIDOMXULRelatedElement extends nsISupports {
4213   getRelatedElement(aElement: Node): Element;
4216 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
4218 interface nsIDOMXULSelectControlElement extends nsIDOMXULControlElement {
4219   selectedItem: Element;
4220   selectedIndex: i32;
4221   value: string;
4222   readonly itemCount: u32;
4223   getIndexOfItem(item: nsIDOMXULSelectControlItemElement): i32;
4224   getItemAtIndex(index: i32): Element;
4227 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
4229 interface nsIDOMXULSelectControlItemElement extends nsISupports {
4230   disabled: boolean;
4231   image: string;
4232   label: string;
4233   accessKey: string;
4234   command: string;
4235   value: string;
4236   readonly selected: boolean;
4237   readonly control: Element;
4240 // https://searchfox.org/mozilla-central/source/toolkit/components/downloads/mozIDownloadPlatform.idl
4242 interface mozIDownloadPlatform extends nsISupports {
4243   readonly ZONE_MY_COMPUTER: 0;
4244   readonly ZONE_INTRANET: 1;
4245   readonly ZONE_TRUSTED: 2;
4246   readonly ZONE_INTERNET: 3;
4247   readonly ZONE_RESTRICTED: 4;
4249   downloadDone(aSource: nsIURI, aReferrer: nsIURI, aTarget: nsIFile, aContentType: string, aIsPrivate: boolean): Promise<any>;
4250   mapUrlToZone(aURL: string): u32;
4253 // https://searchfox.org/mozilla-central/source/editor/nsIDocumentStateListener.idl
4255 interface nsIDocumentStateListener extends nsISupports {
4256   NotifyDocumentWillBeDestroyed(): void;
4257   NotifyDocumentStateChanged(aNowDirty: boolean): void;
4260 // https://searchfox.org/mozilla-central/source/editor/nsIEditActionListener.idl
4262 interface nsIEditActionListener extends nsISupports {
4263   DidDeleteNode(aChild: Node, aResult: nsresult): void;
4264   DidInsertText(aTextNode: CharacterData, aOffset: i32, aString: string, aResult: nsresult): void;
4265   WillDeleteText(aTextNode: CharacterData, aOffset: i32, aLength: i32): void;
4266   WillDeleteRanges(aRangesToDelete: Range[]): void;
4269 // https://searchfox.org/mozilla-central/source/editor/nsIEditor.idl
4271 interface nsIEditor extends nsISupports {
4272   readonly eNone: 0;
4273   readonly eNext: 1;
4274   readonly ePrevious: 2;
4275   readonly eNextWord: 3;
4276   readonly ePreviousWord: 4;
4277   readonly eToBeginningOfLine: 5;
4278   readonly eToEndOfLine: 6;
4279   readonly eStrip: 0;
4280   readonly eNoStrip: 1;
4281   readonly eEditorPlaintextMask: 1;
4282   readonly eEditorSingleLineMask: 2;
4283   readonly eEditorPasswordMask: 4;
4284   readonly eEditorReadonlyMask: 8;
4285   readonly eEditorMailMask: 32;
4286   readonly eEditorEnableWrapHackMask: 64;
4287   readonly eEditorAllowInteraction: 512;
4288   readonly eEditorRightToLeft: 2048;
4289   readonly eEditorLeftToRight: 4096;
4290   readonly eEditorSkipSpellCheck: 8192;
4291   readonly eNewlinesPasteIntact: 0;
4292   readonly eNewlinesPasteToFirst: 1;
4293   readonly eNewlinesReplaceWithSpaces: 2;
4294   readonly eNewlinesStrip: 3;
4295   readonly eNewlinesReplaceWithCommas: 4;
4296   readonly eNewlinesStripSurroundingWhitespace: 5;
4298   readonly selection: Selection;
4299   setAttributeOrEquivalent(element: Element, sourceAttrName: string, sourceAttrValue: string, aSuppressTransaction: boolean): void;
4300   removeAttributeOrEquivalent(element: Element, sourceAttrName: string, aSuppressTransaction: boolean): void;
4301   flags: u32;
4302   contentsMIMEType: string;
4303   readonly isDocumentEditable: boolean;
4304   readonly isSelectionEditable: boolean;
4305   readonly document: Document;
4306   readonly rootElement: Element;
4307   readonly selectionController: nsISelectionController;
4308   deleteSelection(action: i16, stripWrappers: i16): void;
4309   readonly documentIsEmpty: boolean;
4310   readonly documentModified: boolean;
4311   documentCharacterSet: string;
4312   resetModificationCount(): void;
4313   getModificationCount(): i32;
4314   incrementModificationCount(aModCount: i32): void;
4315   enableUndo(enable: boolean): void;
4316   readonly undoRedoEnabled: boolean;
4317   readonly canUndo: boolean;
4318   readonly canRedo: boolean;
4319   clearUndoRedo(): void;
4320   undo(): void;
4321   undoAll(): void;
4322   redo(): void;
4323   beginTransaction(): void;
4324   endTransaction(): void;
4325   getInlineSpellChecker(autoCreate: boolean): nsIInlineSpellChecker;
4326   setSpellcheckUserOverride(enable: boolean): void;
4327   cut(): void;
4328   canCut(): boolean;
4329   copy(): void;
4330   canCopy(): boolean;
4331   paste(aClipboardType: i32): void;
4332   pasteTransferable(aTransferable: nsITransferable): void;
4333   canPaste(aClipboardType: i32): boolean;
4334   selectAll(): void;
4335   beginningOfDocument(): void;
4336   endOfDocument(): void;
4337   setAttribute(aElement: Element, attributestr: string, attvalue: string): void;
4338   removeAttribute(aElement: Element, aAttribute: string): void;
4339   cloneAttributes(aDestElement: Element, aSourceElement: Element): void;
4340   insertNode(node: Node, parent: Node, aPosition: u32, aPreserveSelection?: boolean): void;
4341   deleteNode(child: Node, aPreserveSelection?: boolean): void;
4342   outputToString(formatType: string, flags: u32): string;
4343   addEditActionListener(listener: nsIEditActionListener): void;
4344   removeEditActionListener(listener: nsIEditActionListener): void;
4345   addDocumentStateListener(listener: nsIDocumentStateListener): void;
4346   removeDocumentStateListener(listener: nsIDocumentStateListener): void;
4347   forceCompositionEnd(): void;
4348   readonly composing: boolean;
4349   unmask(aStart?: u32, aEnd?: i64, aTimeout?: u32): void;
4350   mask(): void;
4351   readonly unmaskedStart: u32;
4352   readonly unmaskedEnd: u32;
4353   readonly autoMaskingEnabled: boolean;
4354   readonly passwordMask: string;
4355   readonly textLength: u32;
4356   newlineHandling: i32;
4357   insertText(aStringToInsert: string): void;
4358   insertLineBreak(): void;
4361 // https://searchfox.org/mozilla-central/source/editor/nsIEditorMailSupport.idl
4363 interface nsIEditorMailSupport extends nsISupports {
4364   insertAsCitedQuotation(aQuotedText: string, aCitation: string, aInsertHTML: boolean): Node;
4365   rewrap(aRespectNewlines: boolean): void;
4366   insertTextWithQuotations(aStringToInsert: string): void;
4367   wrapWidth: i32;
4370 // https://searchfox.org/mozilla-central/source/editor/nsIEditorSpellCheck.idl
4372 interface nsIEditorSpellCheck extends nsISupports {
4373   readonly FILTERTYPE_NORMAL: 1;
4374   readonly FILTERTYPE_MAIL: 2;
4376   canSpellCheck(): boolean;
4377   InitSpellChecker(editor: nsIEditor, enableSelectionChecking: boolean, callback?: nsIEditorSpellCheckCallback): void;
4378   GetNextMisspelledWord(): string;
4379   GetSuggestedWord(): string;
4380   CheckCurrentWord(suggestedWord: string): boolean;
4381   suggest(aCheckingWorkd: string, aMaxCount: u32): Promise<any>;
4382   ReplaceWord(misspelledWord: string, replaceWord: string, allOccurrences: boolean): void;
4383   IgnoreWordAllOccurrences(word: string): void;
4384   GetPersonalDictionary(): void;
4385   GetPersonalDictionaryWord(): string;
4386   AddWordToDictionary(word: string): void;
4387   RemoveWordFromDictionary(word: string): void;
4388   GetDictionaryList(): string[];
4389   getCurrentDictionaries(): string[];
4390   setCurrentDictionaries(dictionaries: string[]): Promise<any>;
4391   UninitSpellChecker(): void;
4392   setFilterType(filterType: u32): void;
4393   UpdateCurrentDictionary(callback?: nsIEditorSpellCheckCallback): void;
4396 type nsIEditorSpellCheckCallback = Callable<{
4397   editorSpellCheckDone(): void;
4400 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLAbsPosEditor.idl
4402 interface nsIHTMLAbsPosEditor extends nsISupports {
4403   absolutePositioningEnabled: boolean;
4404   snapToGridEnabled: boolean;
4405   gridSize: u32;
4408 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLEditor.idl
4410 interface nsIHTMLEditor extends nsISupports {
4411   readonly eLeft: 0;
4412   readonly eCenter: 1;
4413   readonly eRight: 2;
4414   readonly eJustify: 3;
4416   setInlineProperty(aProperty: string, aAttribute: string, aValue: string): void;
4417   getInlinePropertyWithAttrValue(aProperty: string, aAttribute: string, aValue: string, aFirst: OutParam<boolean>, aAny: OutParam<boolean>, aAll: OutParam<boolean>): string;
4418   removeInlineProperty(aProperty: string, aAttribute: string): void;
4419   nodeIsBlock(aNode: Node): boolean;
4420   insertHTML(aInputString: string): void;
4421   rebuildDocumentFromSource(aSourceString: string): void;
4422   insertElementAtSelection(aElement: Element, aDeleteSelection: boolean): void;
4423   updateBaseURL(): void;
4424   selectElement(aElement: Element): void;
4425   getParagraphState(aMixed: OutParam<boolean>): string;
4426   getFontFaceState(aMixed: OutParam<boolean>): string;
4427   getHighlightColorState(aMixed: OutParam<boolean>): string;
4428   getListState(aMixed: OutParam<boolean>, aOL: OutParam<boolean>, aUL: OutParam<boolean>, aDL: OutParam<boolean>): void;
4429   getListItemState(aMixed: OutParam<boolean>, aLI: OutParam<boolean>, aDT: OutParam<boolean>, aDD: OutParam<boolean>): void;
4430   getAlignment(aMixed: OutParam<boolean>, aAlign: OutParam<i16>): void;
4431   makeOrChangeList(aListType: string, entireList: boolean, aBulletType: string): void;
4432   removeList(aListType: string): void;
4433   getElementOrParentByTagName(aTagName: string, aNode: Node): Element;
4434   getSelectedElement(aTagName: string): nsISupports;
4435   createElementWithDefaults(aTagName: string): Element;
4436   insertLinkAroundSelection(aAnchorElement: Element): void;
4437   setBackgroundColor(aColor: string): void;
4438   isCSSEnabled: boolean;
4439   checkSelectionStateForAnonymousButtons(): void;
4440   isAnonymousElement(aElement: Element): boolean;
4441   returnInParagraphCreatesNewParagraph: boolean;
4444 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLInlineTableEditor.idl
4446 interface nsIHTMLInlineTableEditor extends nsISupports {
4447   inlineTableEditingEnabled: boolean;
4450 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLObjectResizer.idl
4452 interface nsIHTMLObjectResizer extends nsISupports {
4453   readonly eTopLeft: 0;
4454   readonly eTop: 1;
4455   readonly eTopRight: 2;
4456   readonly eLeft: 3;
4457   readonly eRight: 4;
4458   readonly eBottomLeft: 5;
4459   readonly eBottom: 6;
4460   readonly eBottomRight: 7;
4462   objectResizingEnabled: boolean;
4463   hideResizers(): void;
4466 // https://searchfox.org/mozilla-central/source/editor/nsITableEditor.idl
4468 interface nsITableEditor extends nsISupports {
4469   readonly eNoSearch: 0;
4470   readonly ePreviousColumn: 1;
4471   readonly ePreviousRow: 2;
4473   insertTableCell(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4474   insertTableColumn(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4475   insertTableRow(aNumberOfRowsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4476   deleteTable(): void;
4477   deleteTableCellContents(): void;
4478   deleteTableCell(aNumberOfCellsToDelete: i32): void;
4479   deleteTableColumn(aNumberOfColumnsToDelete: i32): void;
4480   deleteTableRow(aNumberOfRowsToDelete: i32): void;
4481   selectTableCell(): void;
4482   selectTableRow(): void;
4483   selectTableColumn(): void;
4484   selectTable(): void;
4485   selectAllTableCells(): void;
4486   switchTableCellHeaderType(aSourceCell: Element): Element;
4487   joinTableCells(aMergeNonContiguousContents: boolean): void;
4488   splitTableCell(): void;
4489   normalizeTable(aTable: Element): void;
4490   getCellIndexes(aCellElement: Element, aRowIndex: OutParam<i32>, aColumnIndex: OutParam<i32>): void;
4491   getTableSize(aTableOrElementInTable: Element, aRowCount: OutParam<i32>, aColCount: OutParam<i32>): void;
4492   getCellAt(aTableElement: Element, aRowIndex: i32, aColumnIndex: i32): Element;
4493   getCellDataAt(aTableElement: Element, aRowIndex: i32, aColumnIndex: i32, aCellElement: OutParam<Element>, aStartRowIndex: OutParam<i32>, aStartColumnIndex: OutParam<i32>, aRowSpan: OutParam<i32>, aColSpan: OutParam<i32>, aEffectiveRowSpan: OutParam<i32>, aEffectiveColSpan: OutParam<i32>, aIsSelected: OutParam<boolean>): void;
4494   getFirstRow(aTableElement: Element): Element;
4495   getSelectedOrParentTableElement(aTagName: OutParam<string>, aCount: OutParam<i32>): Element;
4496   getSelectedCellsType(aElement: Element): u32;
4497   getFirstSelectedCellInTable(aRowIndex: OutParam<i32>, aColIndex: OutParam<i32>): Element;
4498   getSelectedCells(): Element[];
4501 // https://searchfox.org/mozilla-central/source/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl
4503 interface nsIEnterprisePolicies extends nsISupports {
4504   readonly UNINITIALIZED: -1;
4505   readonly INACTIVE: 0;
4506   readonly ACTIVE: 1;
4507   readonly FAILED: 2;
4509   readonly status: i16;
4510   isAllowed(feature: string): boolean;
4511   getActivePolicies(): any;
4512   getSupportMenu(): any;
4513   getExtensionPolicy(extensionID: string): any;
4514   getExtensionSettings(extensionID: string): any;
4515   mayInstallAddon(addon: any): boolean;
4516   allowedInstallSource(uri: nsIURI): boolean;
4517   isExemptExecutableExtension(url: string, extension: string): boolean;
4520 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIAddonManagerStartup.idl
4522 interface amIAddonManagerStartup extends nsISupports {
4523   readStartupData(): any;
4524   registerChrome(manifestURI: nsIURI, entries: any): nsIJSRAIIHelper;
4525   encodeBlob(value: any): any;
4526   decodeBlob(value: any): any;
4527   enumerateJAR(uri: nsIURI, pattern: string): string[];
4528   enumerateJARSubtree(uri: nsIURI): string[];
4529   initializeURLPreloader(): void;
4532 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIWebInstallPrompt.idl
4534 interface amIWebInstallPrompt extends nsISupports {
4535   confirm(aBrowser: Element, aUri: nsIURI, aInstalls: nsIVariant[]): void;
4538 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsCExternalHandlerService.idl
4540 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIContentDispatchChooser.idl
4542 interface nsIContentDispatchChooser extends nsISupports {
4543   handleURI(aHandler: nsIHandlerInfo, aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aBrowsingContext: BrowsingContext, aWasTriggeredExternally?: boolean): void;
4546 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalHelperAppService.idl
4548 interface nsIExternalHelperAppService extends nsISupports {
4549   doContent(aMimeContentType: string, aChannel: nsIChannel, aContentContext: nsIInterfaceRequestor, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;
4550   createListener(aMimeContentType: string, aChannel: nsIChannel, aContentContext: BrowsingContext, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;
4551   applyDecodingForExtension(aExtension: string, aEncodingType: string): boolean;
4554 interface nsPIExternalAppLauncher extends nsISupports {
4555   deleteTemporaryFileOnExit(aTemporaryFile: nsIFile): void;
4556   deleteTemporaryPrivateFileWhenPossible(aTemporaryFile: nsIFile): void;
4559 interface nsIHelperAppLauncher extends nsICancelable {
4560   readonly MIMEInfo: nsIMIMEInfo;
4561   readonly source: nsIURI;
4562   readonly suggestedFileName: string;
4563   promptForSaveDestination(): void;
4564   setDownloadToLaunch(aHandleInternally: boolean, aFile: nsIFile): void;
4565   launchLocalFile(): void;
4566   saveDestinationAvailable(aFile: nsIFile, aDialogWasShown?: boolean): void;
4567   setWebProgressListener(aWebProgressListener: nsIWebProgressListener2): void;
4568   readonly targetFile: nsIFile;
4569   readonly targetFileIsExecutable: boolean;
4570   readonly timeDownloadStarted: PRTime;
4571   readonly contentLength: i64;
4572   readonly browsingContextId: u64;
4575 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalProtocolService.idl
4577 interface nsIExternalProtocolService extends nsISupports {
4578   externalProtocolHandlerExists(aProtocolScheme: string): boolean;
4579   isExposedProtocol(aProtocolScheme: string): boolean;
4580   getProtocolHandlerInfo(aProtocolScheme: string): nsIHandlerInfo;
4581   getProtocolHandlerInfoFromOS(aProtocolScheme: string, aFound: OutParam<boolean>): nsIHandlerInfo;
4582   setProtocolHandlerDefaults(aHandlerInfo: nsIHandlerInfo, aOSHandlerExists: boolean): void;
4583   loadURI(aURI: nsIURI, aTriggeringPrincipal?: nsIPrincipal, aRedirectPrincipal?: nsIPrincipal, aBrowsingContext?: BrowsingContext, aWasTriggeredExternally?: boolean, aHasValidUserGestureActivation?: boolean): void;
4584   getApplicationDescription(aScheme: string): string;
4585   isCurrentAppOSDefaultForProtocol(aScheme: string): boolean;
4588 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHandlerService.idl
4590 interface nsIHandlerService extends nsISupports {
4591   asyncInit(): void;
4592   enumerate(): nsISimpleEnumerator;
4593   fillHandlerInfo(aHandlerInfo: nsIHandlerInfo, aOverrideType: string): void;
4594   store(aHandlerInfo: nsIHandlerInfo): void;
4595   exists(aHandlerInfo: nsIHandlerInfo): boolean;
4596   remove(aHandlerInfo: nsIHandlerInfo): void;
4597   getTypeFromExtension(aFileExtension: string): string;
4598   existsForProtocolOS(aProtocolScheme: string): boolean;
4599   existsForProtocol(aProtocolScheme: string): boolean;
4600   getApplicationDescription(aProtocolScheme: string): string;
4603 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHelperAppLauncherDialog.idl
4605 interface nsIHelperAppLauncherDialog extends nsISupports {
4606   readonly REASON_CANTHANDLE: 0;
4607   readonly REASON_SERVERREQUEST: 1;
4608   readonly REASON_TYPESNIFFED: 2;
4610   show(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aReason: u32): void;
4611   promptForSaveToFileAsync(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aDefaultFileName: string, aSuggestedFileExtension: string, aForcePrompt: boolean): void;
4614 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsISharingHandlerApp.idl
4616 interface nsISharingHandlerApp extends nsIHandlerApp {
4617   share(data: string, title?: string): void;
4620 // https://searchfox.org/mozilla-central/source/toolkit/components/typeaheadfind/nsITypeAheadFind.idl
4622 interface nsITypeAheadFind extends nsISupports {
4623   readonly FIND_INITIAL: 0;
4624   readonly FIND_NEXT: 1;
4625   readonly FIND_PREVIOUS: 2;
4626   readonly FIND_FIRST: 3;
4627   readonly FIND_LAST: 4;
4628   readonly FIND_FOUND: 0;
4629   readonly FIND_NOTFOUND: 1;
4630   readonly FIND_WRAPPED: 2;
4631   readonly FIND_PENDING: 3;
4633   init(aDocShell: nsIDocShell): void;
4634   find(aSearchString: string, aLinksOnly: boolean, aMode: u32, aDontIterateFrames: boolean): u16;
4635   getFoundRange(): Range;
4636   setDocShell(aDocShell: nsIDocShell): void;
4637   setSelectionModeAndRepaint(toggle: i16): void;
4638   collapseSelection(): void;
4639   isRangeVisible(aRange: Range, aMustBeInViewPort: boolean): boolean;
4640   isRangeRendered(aRange: Range): boolean;
4641   readonly searchString: string;
4642   caseSensitive: boolean;
4643   matchDiacritics: boolean;
4644   entireWord: boolean;
4645   readonly foundLink: Element;
4646   readonly foundEditable: Element;
4647   readonly currentWindow: mozIDOMWindow;
4650 // https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIFOG.idl
4652 interface nsIFOG extends nsISupports {
4653   initializeFOG(aDataPathOverride?: string, aAppIdOverride?: string): void;
4654   registerCustomPings(): void;
4655   setLogPings(aEnableLogPings: boolean): void;
4656   setTagPings(aDebugTag: string): void;
4657   sendPing(aPingName: string): void;
4658   setExperimentActive(aExperimentId: string, aBranch: string, aExtra?: any): void;
4659   setExperimentInactive(aExperimentId: string): void;
4660   testGetExperimentData(aExperimentId: string): any;
4661   setMetricsFeatureConfig(aJsonConfig: string): void;
4662   testFlushAllChildren(): Promise<any>;
4663   testResetFOG(aDataPathOverride?: string, aAppIdOverride?: string): void;
4664   testTriggerMetrics(aProcessType: u32): Promise<any>;
4665   testRegisterRuntimeMetric(aType: string, aCategory: string, aName: string, aPings: string[], aLifetime: string, aDisabled: boolean, aExtraArgs?: string): u32;
4666   testRegisterRuntimePing(aName: string, aIncludeClientId: boolean, aSendIfEmpty: boolean, aPreciseTimestamps: boolean, aIncludeInfoSections: boolean, aReasonCodes: string[]): u32;
4669 // https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIGleanPing.idl
4671 type nsIGleanPingTestCallback = Callable<{
4672   call(aReason: string): void;
4675 interface nsIGleanPing extends nsISupports {
4676   submit(aReason?: string): void;
4677   testBeforeNextSubmit(aCallback: nsIGleanPingTestCallback): void;
4680 // https://searchfox.org/mozilla-central/source/gfx/src/nsIFontEnumerator.idl
4682 interface nsIFontEnumerator extends nsISupports {
4683   EnumerateAllFonts(): string[];
4684   EnumerateFonts(aLangGroup: string, aGeneric: string): string[];
4685   EnumerateAllFontsAsync(): any;
4686   EnumerateFontsAsync(aLangGroup: string, aGeneric: string): any;
4687   HaveFontFor(aLangGroup: string): OutParam<boolean>;
4688   getDefaultFont(aLangGroup: string, aGeneric: string): string;
4689   getStandardFamilyName(aName: string): string;
4692 // https://searchfox.org/mozilla-central/source/gfx/thebes/nsIFontLoadCompleteCallback.idl
4694 // https://searchfox.org/mozilla-central/source/parser/html/nsIParserUtils.idl
4696 interface nsIParserUtils extends nsISupports {
4697   readonly SanitizerAllowComments: 1;
4698   readonly SanitizerAllowStyle: 2;
4699   readonly SanitizerCidEmbedsOnly: 4;
4700   readonly SanitizerDropNonCSSPresentation: 8;
4701   readonly SanitizerDropForms: 16;
4702   readonly SanitizerDropMedia: 32;
4703   readonly SanitizerLogRemovals: 64;
4705   sanitize(src: string, flags: u32): string;
4706   removeConditionalCSS(src: string): string;
4707   convertToPlainText(src: string, flags: u32, wrapCol: u32): string;
4708   parseFragment(fragment: string, flags: u32, isXML: boolean, baseURI: nsIURI, element: Element): DocumentFragment;
4711 // https://searchfox.org/mozilla-central/source/parser/htmlparser/nsIExpatSink.idl
4713 interface nsIExpatSink extends nsISupports {
4714   HandleStartElement(aName: string, aAtts: string[], aAttsCount: u32, aLineNumber: u32, aColumnNumber: u32): void;
4715   HandleEndElement(aName: string): void;
4716   HandleComment(aCommentText: string): void;
4717   HandleCDataSection(aData: string, aLength: u32): void;
4718   HandleDoctypeDecl(aSubset: string, aName: string, aSystemId: string, aPublicId: string, aCatalogData: nsISupports): void;
4719   HandleCharacterData(aData: string, aLength: u32): void;
4720   HandleProcessingInstruction(aTarget: string, aData: string): void;
4721   HandleXMLDeclaration(aVersion: string, aEncoding: string, aStandalone: i32): void;
4722   ReportError(aErrorText: string, aSourceText: string, aError: nsIScriptError): boolean;
4725 // https://searchfox.org/mozilla-central/source/netwerk/base/http-sfv/nsIStructuredFieldValues.idl
4727 interface nsISFVBareItem extends nsISupports {
4728   readonly BOOL: 1;
4729   readonly STRING: 2;
4730   readonly DECIMAL: 3;
4731   readonly INTEGER: 4;
4732   readonly TOKEN: 5;
4733   readonly BYTE_SEQUENCE: 6;
4735   readonly type: i32;
4738 interface nsISFVInteger extends nsISFVBareItem {
4739   value: i64;
4742 interface nsISFVString extends nsISFVBareItem {
4743   value: string;
4746 interface nsISFVBool extends nsISFVBareItem {
4747   value: boolean;
4750 interface nsISFVDecimal extends nsISFVBareItem {
4751   value: double;
4754 interface nsISFVToken extends nsISFVBareItem {
4755   value: string;
4758 interface nsISFVByteSeq extends nsISFVBareItem {
4759   value: string;
4762 interface nsISFVParams extends nsISupports {
4763   get(key: string): nsISFVBareItem;
4764   set(key: string, item: nsISFVBareItem): void;
4765   delete(key: string): void;
4766   keys(): string[];
4769 interface nsISFVParametrizable extends nsISupports {
4770   readonly params: nsISFVParams;
4773 interface nsISFVItemOrInnerList extends nsISFVParametrizable {
4776 interface nsISFVSerialize extends nsISupports {
4777   serialize(): string;
4780 interface nsISFVItem extends nsISFVItemOrInnerList {
4781   readonly value: nsISFVBareItem;
4782   serialize(): string;
4785 interface nsISFVInnerList extends nsISFVItemOrInnerList {
4786   items: nsISFVItem[];
4789 interface nsISFVList extends nsISFVSerialize {
4790   members: nsISFVItemOrInnerList[];
4791   parseMore(header: string): void;
4794 interface nsISFVDictionary extends nsISFVSerialize {
4795   get(key: string): nsISFVItemOrInnerList;
4796   set(key: string, member_value: nsISFVItemOrInnerList): void;
4797   delete(key: string): void;
4798   keys(): string[];
4799   parseMore(header: string): void;
4802 interface nsISFVService extends nsISupports {
4803   parseDictionary(header: string): nsISFVDictionary;
4804   parseList(header: string): nsISFVList;
4805   parseItem(header: string): nsISFVItem;
4806   newInteger(value: i64): nsISFVInteger;
4807   newBool(value: boolean): nsISFVBool;
4808   newDecimal(value: double): nsISFVDecimal;
4809   newString(value: string): nsISFVString;
4810   newByteSequence(value: string): nsISFVByteSeq;
4811   newToken(value: string): nsISFVToken;
4812   newParameters(): nsISFVParams;
4813   newInnerList(items: nsISFVItem[], params: nsISFVParams): nsISFVInnerList;
4814   newItem(value: nsISFVBareItem, params: nsISFVParams): nsISFVItem;
4815   newList(members: nsISFVItemOrInnerList[]): nsISFVList;
4816   newDictionary(): nsISFVDictionary;
4819 // https://searchfox.org/mozilla-central/source/image/imgICache.idl
4821 interface imgICache extends nsISupports {
4822   clearCache(chrome: boolean): void;
4823   removeEntriesFromPrincipalInAllProcesses(aPrincipal: nsIPrincipal): void;
4824   removeEntriesFromBaseDomainInAllProcesses(aBaseDomain: string): void;
4825   findEntryProperties(uri: nsIURI, doc?: Document): nsIProperties;
4826   respectPrivacyNotifications(): void;
4829 // https://searchfox.org/mozilla-central/source/image/imgIContainer.idl
4831 }  // global
4833 declare namespace imgIContainer {
4835 enum DecodeResult {
4836   DECODE_SURFACE_AVAILABLE = 0,
4837   DECODE_REQUESTED = 1,
4838   DECODE_REQUEST_FAILED = 2,
4843 declare global {
4845 interface imgIContainer extends nsISupports, Enums<typeof imgIContainer.DecodeResult> {
4846   readonly TYPE_RASTER: 0;
4847   readonly TYPE_VECTOR: 1;
4848   readonly TYPE_REQUEST: 2;
4849   readonly FLAG_NONE: 0;
4850   readonly FLAG_SYNC_DECODE: 1;
4851   readonly FLAG_SYNC_DECODE_IF_FAST: 2;
4852   readonly FLAG_ASYNC_NOTIFY: 4;
4853   readonly FLAG_DECODE_NO_PREMULTIPLY_ALPHA: 8;
4854   readonly FLAG_DECODE_NO_COLORSPACE_CONVERSION: 16;
4855   readonly FLAG_CLAMP: 32;
4856   readonly FLAG_HIGH_QUALITY_SCALING: 64;
4857   readonly FLAG_BYPASS_SURFACE_CACHE: 128;
4858   readonly FLAG_FORCE_PRESERVEASPECTRATIO_NONE: 256;
4859   readonly FLAG_FORCE_UNIFORM_SCALING: 512;
4860   readonly FLAG_AVOID_REDECODE_FOR_SIZE: 1024;
4861   readonly FLAG_DECODE_TO_SRGB_COLORSPACE: 2048;
4862   readonly FLAG_RECORD_BLOB: 4096;
4863   readonly DECODE_FLAGS_DEFAULT: 0;
4864   readonly DECODE_FLAGS_FOR_REENCODE: 2056;
4865   readonly FRAME_FIRST: 0;
4866   readonly FRAME_CURRENT: 1;
4867   readonly FRAME_MAX_VALUE: 1;
4868   readonly kNormalAnimMode: 0;
4869   readonly kDontAnimMode: 1;
4870   readonly kLoopOnceAnimMode: 2;
4872   readonly width: i32;
4873   readonly height: i32;
4874   readonly hotspotX: i32;
4875   readonly hotspotY: i32;
4876   readonly type: u16;
4877   readonly animated: boolean;
4878   readonly providerId: u32;
4879   lockImage(): void;
4880   unlockImage(): void;
4881   requestDiscard(): void;
4882   animationMode: u16;
4883   resetAnimation(): void;
4886 // https://searchfox.org/mozilla-central/source/image/imgIContainerDebug.idl
4888 interface imgIContainerDebug extends nsISupports {
4889   readonly framesNotified: u32;
4892 // https://searchfox.org/mozilla-central/source/image/imgIEncoder.idl
4894 interface imgIEncoder extends nsIAsyncInputStream {
4895   readonly INPUT_FORMAT_RGB: 0;
4896   readonly INPUT_FORMAT_RGBA: 1;
4897   readonly INPUT_FORMAT_HOSTARGB: 2;
4899   initFromData(data: u8[], length: u32, width: u32, height: u32, stride: u32, inputFormat: u32, outputOptions: string): void;
4900   startImageEncode(width: u32, height: u32, inputFormat: u32, outputOptions: string): void;
4901   addImageFrame(data: u8[], length: u32, width: u32, height: u32, stride: u32, frameFormat: u32, frameOptions: string): void;
4902   endImageEncode(): void;
4905 // https://searchfox.org/mozilla-central/source/image/imgILoader.idl
4907 interface imgILoader extends nsISupports {
4908   readonly LOAD_CORS_ANONYMOUS: 65536;
4909   readonly LOAD_CORS_USE_CREDENTIALS: 131072;
4911   loadImageXPCOM(aURI: nsIURI, aInitialDocumentURL: nsIURI, aReferrerInfo: nsIReferrerInfo, aLoadingPrincipal: nsIPrincipal, aLoadGroup: nsILoadGroup, aObserver: imgINotificationObserver, aLoadingDocument: Document, aLoadFlags: nsLoadFlags, cacheKey: nsISupports, aContentPolicyType?: nsContentPolicyType): imgIRequest;
4912   loadImageWithChannelXPCOM(aChannel: nsIChannel, aObserver: imgINotificationObserver, aLoadingDocument: Document, aListener: OutParam<nsIStreamListener>): imgIRequest;
4915 // https://searchfox.org/mozilla-central/source/image/imgINotificationObserver.idl
4917 interface imgINotificationObserver extends nsISupports {
4918   readonly SIZE_AVAILABLE: 1;
4919   readonly FRAME_UPDATE: 2;
4920   readonly FRAME_COMPLETE: 3;
4921   readonly LOAD_COMPLETE: 4;
4922   readonly DECODE_COMPLETE: 5;
4923   readonly DISCARD: 6;
4924   readonly UNLOCKED_DRAW: 7;
4925   readonly IS_ANIMATED: 8;
4926   readonly HAS_TRANSPARENCY: 9;
4929 // https://searchfox.org/mozilla-central/source/image/imgIRequest.idl
4931 interface imgIRequest extends nsIRequest {
4932   readonly STATUS_NONE: 0;
4933   readonly STATUS_SIZE_AVAILABLE: 1;
4934   readonly STATUS_LOAD_COMPLETE: 2;
4935   readonly STATUS_ERROR: 4;
4936   readonly STATUS_FRAME_COMPLETE: 8;
4937   readonly STATUS_DECODE_COMPLETE: 16;
4938   readonly STATUS_IS_ANIMATED: 32;
4939   readonly STATUS_HAS_TRANSPARENCY: 64;
4940   readonly CATEGORY_FRAME_INIT: 1;
4941   readonly CATEGORY_FRAME_STYLE: 2;
4942   readonly CATEGORY_SIZE_QUERY: 4;
4943   readonly CATEGORY_DISPLAY: 8;
4945   readonly image: imgIContainer;
4946   readonly providerId: u32;
4947   readonly triggeringPrincipal: nsIPrincipal;
4948   readonly imageStatus: u32;
4949   readonly URI: nsIURI;
4950   readonly finalURI: nsIURI;
4951   readonly notificationObserver: imgINotificationObserver;
4952   readonly mimeType: string;
4953   readonly fileName: string;
4954   clone(aObserver: imgINotificationObserver): imgIRequest;
4955   readonly imagePrincipal: nsIPrincipal;
4956   readonly hadCrossOriginRedirects: boolean;
4957   readonly multipart: boolean;
4958   readonly CORSMode: i32;
4959   readonly referrerInfo: nsIReferrerInfo;
4960   cancelAndForgetObserver(aStatus: nsresult): void;
4961   startDecoding(aFlags: u32): void;
4962   lockImage(): void;
4963   unlockImage(): void;
4964   requestDiscard(): void;
4965   getStaticRequest(): imgIRequest;
4966   incrementAnimationConsumers(): void;
4967   decrementAnimationConsumers(): void;
4968   boostPriority(aCategory: u32): void;
4971 // https://searchfox.org/mozilla-central/source/image/imgIScriptedNotificationObserver.idl
4973 interface imgIScriptedNotificationObserver extends nsISupports {
4974   sizeAvailable(aRequest: imgIRequest): void;
4975   frameUpdate(aRequest: imgIRequest): void;
4976   frameComplete(aRequest: imgIRequest): void;
4977   loadComplete(aRequest: imgIRequest): void;
4978   decodeComplete(aRequest: imgIRequest): void;
4979   discard(aRequest: imgIRequest): void;
4980   isAnimated(aRequest: imgIRequest): void;
4981   hasTransparency(aRequest: imgIRequest): void;
4984 // https://searchfox.org/mozilla-central/source/image/imgITools.idl
4986 interface imgITools extends nsISupports {
4987   decodeImageFromBuffer(aBuffer: string, aSize: u32, aMimeType: string): imgIContainer;
4988   decodeImageFromArrayBuffer(aArrayBuffer: any, aMimeType: string): imgIContainer;
4989   decodeImageFromChannelAsync(aURI: nsIURI, aChannel: nsIChannel, aCallback: imgIContainerCallback, aObserver: imgINotificationObserver): void;
4990   decodeImageAsync(aStream: nsIInputStream, aMimeType: string, aCallback: imgIContainerCallback, aEventTarget: nsIEventTarget): void;
4991   encodeImage(aContainer: imgIContainer, aMimeType: string, outputOptions?: string): nsIInputStream;
4992   encodeScaledImage(aContainer: imgIContainer, aMimeType: string, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;
4993   getImgLoaderForDocument(doc: Document): imgILoader;
4994   getImgCacheForDocument(doc: Document): imgICache;
4995   encodeCroppedImage(aContainer: imgIContainer, aMimeType: string, aOffsetX: i32, aOffsetY: i32, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;
4996   createScriptedObserver(aObserver: imgIScriptedNotificationObserver): imgINotificationObserver;
4999 type imgIContainerCallback = Callable<{
5000   onImageReady(aImage: imgIContainer, aStatus: nsresult): void;
5003 // https://searchfox.org/mozilla-central/source/image/nsIIconURI.idl
5005 interface nsIMozIconURI extends nsIURI {
5006   readonly iconURL: nsIURL;
5007   readonly imageSize: u32;
5008   readonly stockIcon: string;
5009   readonly iconSize: string;
5010   readonly iconState: string;
5011   readonly contentType: string;
5012   readonly fileExtension: string;
5015 // https://searchfox.org/mozilla-central/source/layout/inspector/inIDeepTreeWalker.idl
5017 interface inIDeepTreeWalker extends nsISupports {
5018   showAnonymousContent: boolean;
5019   showSubDocuments: boolean;
5020   showDocumentsAsNodes: boolean;
5021   init(aRoot: Node): void;
5022   readonly root: Node;
5023   currentNode: Node;
5024   parentNode(): Node;
5025   firstChild(): Node;
5026   lastChild(): Node;
5027   previousSibling(): Node;
5028   nextSibling(): Node;
5029   previousNode(): Node;
5030   nextNode(): Node;
5033 // https://searchfox.org/mozilla-central/source/intl/strres/nsIStringBundle.idl
5035 interface nsIStringBundle extends nsISupports {
5036   GetStringFromID(aID: i32): string;
5037   GetStringFromName(aName: string): string;
5038   formatStringFromID(aID: i32, params: string[]): string;
5039   formatStringFromName(aName: string, params: string[]): string;
5040   getSimpleEnumeration(): nsISimpleEnumerator;
5041   asyncPreload(): void;
5044 interface nsIStringBundleService extends nsISupports {
5045   createBundle(aURLSpec: string): nsIStringBundle;
5046   formatStatusMessage(aStatus: nsresult, aStatusArg: string): string;
5047   flushBundles(): void;
5050 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARChannel.idl
5052 interface nsIJARChannel extends nsIChannel {
5053   jarFile: nsIFile;
5054   readonly zipEntry: nsIZipEntry;
5055   ensureCached(): boolean;
5058 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARURI.idl
5060 interface nsIJARURI extends nsIURL {
5061   readonly JARFile: nsIURI;
5062   readonly JAREntry: string;
5065 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIZipReader.idl
5067 interface nsIZipEntry extends nsISupports {
5068   readonly compression: u16;
5069   readonly size: u32;
5070   readonly realSize: u32;
5071   readonly CRC32: u32;
5072   readonly isDirectory: boolean;
5073   readonly lastModifiedTime: PRTime;
5074   readonly isSynthetic: boolean;
5075   readonly permissions: u32;
5078 interface nsIZipReader extends nsISupports {
5079   open(zipFile: nsIFile): void;
5080   openInner(zipReader: nsIZipReader, zipEntry: string): void;
5081   readonly file: nsIFile;
5082   close(): void;
5083   test(aEntryName: string): void;
5084   extract(zipEntry: string, outFile: nsIFile): void;
5085   getEntry(zipEntry: string): nsIZipEntry;
5086   hasEntry(zipEntry: string): boolean;
5087   findEntries(aPattern: string): nsIUTF8StringEnumerator;
5088   getInputStream(zipEntry: string): nsIInputStream;
5091 interface nsIZipReaderCache extends nsISupports {
5092   init(cacheSize: u32): void;
5093   getZip(zipFile: nsIFile): nsIZipReader;
5094   getZipIfCached(zipFile: nsIFile): nsIZipReader;
5095   isCached(zipFile: nsIFile): boolean;
5096   getInnerZip(zipFile: nsIFile, zipEntry: string): nsIZipReader;
5099 // https://searchfox.org/mozilla-central/source/devtools/platform/IJSDebugger.idl
5101 interface IJSDebugger extends nsISupports {
5102   addClass(global: any): void;
5105 // https://searchfox.org/mozilla-central/source/devtools/platform/nsIJSInspector.idl
5107 interface nsIJSInspector extends nsISupports {
5108   enterNestedEventLoop(requestor: any): u32;
5109   exitNestedEventLoop(): u32;
5110   readonly eventLoopNestLevel: u32;
5111   readonly lastNestRequestor: any;
5114 // https://searchfox.org/mozilla-central/source/toolkit/components/kvstore/nsIKeyValue.idl
5116 }  // global
5118 declare namespace nsIKeyValueService {
5120 enum RecoveryStrategy {
5121   ERROR = 0,
5122   DISCARD = 1,
5123   RENAME = 2,
5128 declare global {
5130 interface nsIKeyValueService extends nsISupports, Enums<typeof nsIKeyValueService.RecoveryStrategy> {
5131   getOrCreate(callback: nsIKeyValueDatabaseCallback, path: string, name: string): void;
5132   getOrCreateWithOptions(callback: nsIKeyValueDatabaseCallback, path: string, name: string, recoveryStrategy?: nsIKeyValueService.RecoveryStrategy): void;
5135 interface nsIKeyValueDatabase extends nsISupports {
5136   put(callback: nsIKeyValueVoidCallback, key: string, value: nsIVariant): void;
5137   writeMany(callback: nsIKeyValueVoidCallback, pairs: nsIKeyValuePair[]): void;
5138   get(callback: nsIKeyValueVariantCallback, key: string, defaultValue?: nsIVariant): void;
5139   has(callback: nsIKeyValueVariantCallback, key: string): void;
5140   delete(callback: nsIKeyValueVoidCallback, key: string): void;
5141   clear(callback: nsIKeyValueVoidCallback): void;
5142   enumerate(callback: nsIKeyValueEnumeratorCallback, fromKey?: string, toKey?: string): void;
5145 interface nsIKeyValuePair extends nsISupports {
5146   readonly key: string;
5147   readonly value: nsIVariant;
5150 interface nsIKeyValueEnumerator extends nsISupports {
5151   hasMoreElements(): boolean;
5152   getNext(): nsIKeyValuePair;
5155 interface nsIKeyValueDatabaseCallback extends nsISupports {
5156   resolve(database: nsIKeyValueDatabase): void;
5157   reject(message: string): void;
5160 interface nsIKeyValueEnumeratorCallback extends nsISupports {
5161   resolve(enumerator: nsIKeyValueEnumerator): void;
5162   reject(message: string): void;
5165 interface nsIKeyValuePairCallback extends nsISupports {
5166   resolve(pair: nsIKeyValuePair): void;
5167   reject(message: string): void;
5170 interface nsIKeyValueVariantCallback extends nsISupports {
5171   resolve(result: nsIVariant): void;
5172   reject(message: string): void;
5175 interface nsIKeyValueVoidCallback extends nsISupports {
5176   resolve(): void;
5177   reject(message: string): void;
5180 // https://searchfox.org/mozilla-central/source/layout/base/nsILayoutHistoryState.idl
5182 interface nsILayoutHistoryState extends nsISupports {
5183   readonly hasStates: boolean;
5184   getKeys(): string[];
5185   getPresState(aKey: string, aScrollX: OutParam<float>, aScrollY: OutParam<float>, aAllowScrollOriginDowngrade: OutParam<boolean>, aRes: OutParam<float>): void;
5186   addNewPresState(aKey: string, aScrollX: float, aScrollY: float, aAllowScrollOriginDowngrade: boolean, aRes: float): void;
5189 // https://searchfox.org/mozilla-central/source/layout/base/nsIPreloadedStyleSheet.idl
5191 interface nsIPreloadedStyleSheet extends nsISupports {
5194 // https://searchfox.org/mozilla-central/source/layout/base/nsIStyleSheetService.idl
5196 interface nsIStyleSheetService extends nsISupports {
5197   readonly AGENT_SHEET: 0;
5198   readonly USER_SHEET: 1;
5199   readonly AUTHOR_SHEET: 2;
5201   loadAndRegisterSheet(sheetURI: nsIURI, type: u32): void;
5202   sheetRegistered(sheetURI: nsIURI, type: u32): boolean;
5203   preloadSheet(sheetURI: nsIURI, type: u32): nsIPreloadedStyleSheet;
5204   preloadSheetAsync(sheetURI: nsIURI, type: u32): any;
5205   unregisterSheet(sheetURI: nsIURI, type: u32): void;
5208 // https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeSelection.idl
5210 interface nsITreeSelection extends nsISupports {
5211   tree: XULTreeElement;
5212   readonly single: boolean;
5213   readonly count: i32;
5214   isSelected(index: i32): boolean;
5215   select(index: i32): void;
5216   timedSelect(index: i32, delay: i32): void;
5217   toggleSelect(index: i32): void;
5218   rangedSelect(startIndex: i32, endIndex: i32, augment: boolean): void;
5219   clearRange(startIndex: i32, endIndex: i32): void;
5220   clearSelection(): void;
5221   selectAll(): void;
5222   getRangeCount(): i32;
5223   getRangeAt(i: i32, min: OutParam<i32>, max: OutParam<i32>): void;
5224   invalidateSelection(): void;
5225   adjustSelection(index: i32, count: i32): void;
5226   selectEventsSuppressed: boolean;
5227   currentIndex: i32;
5228   readonly shiftSelectPivot: i32;
5231 // https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeView.idl
5233 interface nsITreeView extends nsISupports {
5234   readonly DROP_BEFORE: -1;
5235   readonly DROP_ON: 0;
5236   readonly DROP_AFTER: 1;
5238   readonly rowCount: i32;
5239   selection: nsITreeSelection;
5240   getRowProperties(index: i32): string;
5241   getCellProperties(row: i32, col: TreeColumn): string;
5242   getColumnProperties(col: TreeColumn): string;
5243   isContainer(index: i32): boolean;
5244   isContainerOpen(index: i32): boolean;
5245   isContainerEmpty(index: i32): boolean;
5246   isSeparator(index: i32): boolean;
5247   isSorted(): boolean;
5248   canDrop(index: i32, orientation: i32, dataTransfer: DataTransfer): boolean;
5249   drop(row: i32, orientation: i32, dataTransfer: DataTransfer): void;
5250   getParentIndex(rowIndex: i32): i32;
5251   hasNextSibling(rowIndex: i32, afterIndex: i32): boolean;
5252   getLevel(index: i32): i32;
5253   getImageSrc(row: i32, col: TreeColumn): string;
5254   getCellValue(row: i32, col: TreeColumn): string;
5255   getCellText(row: i32, col: TreeColumn): string;
5256   setTree(tree: XULTreeElement): void;
5257   toggleOpenState(index: i32): void;
5258   cycleHeader(col: TreeColumn): void;
5259   selectionChanged(): void;
5260   cycleCell(row: i32, col: TreeColumn): void;
5261   isEditable(row: i32, col: TreeColumn): boolean;
5262   setCellValue(row: i32, col: TreeColumn, value: string): void;
5263   setCellText(row: i32, col: TreeColumn, value: string): void;
5266 // https://searchfox.org/mozilla-central/source/intl/locale/mozILocaleService.idl
5268 interface mozILocaleService extends nsISupports {
5269   readonly langNegStrategyFiltering: 0;
5270   readonly langNegStrategyMatching: 1;
5271   readonly langNegStrategyLookup: 2;
5273   readonly defaultLocale: string;
5274   readonly lastFallbackLocale: string;
5275   readonly appLocalesAsLangTags: string[];
5276   readonly appLocalesAsBCP47: string[];
5277   readonly regionalPrefsLocales: string[];
5278   readonly webExposedLocales: string[];
5279   negotiateLanguages(aRequested: string[], aAvailable: string[], aDefaultLocale?: string, langNegStrategy?: i32): string[];
5280   readonly appLocaleAsLangTag: string;
5281   readonly appLocaleAsBCP47: string;
5282   requestedLocales: string[];
5283   readonly requestedLocale: string;
5284   availableLocales: string[];
5285   readonly isAppLocaleRTL: boolean;
5286   readonly packagedLocales: string[];
5289 // https://searchfox.org/mozilla-central/source/intl/locale/mozIOSPreferences.idl
5291 interface mozIOSPreferences extends nsISupports {
5292   readonly dateTimeFormatStyleNone: 0;
5293   readonly dateTimeFormatStyleShort: 1;
5294   readonly dateTimeFormatStyleMedium: 2;
5295   readonly dateTimeFormatStyleLong: 3;
5296   readonly dateTimeFormatStyleFull: 4;
5298   readonly systemLocales: string[];
5299   readonly regionalPrefsLocales: string[];
5300   readonly systemLocale: string;
5301   getDateTimePattern(timeFormatStyle: i32, dateFormatStyle: i32, locale?: string): string;
5304 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginAutoCompleteSearch.idl
5306 interface nsILoginAutoCompleteSearch extends nsISupports {
5307   startSearch(aSearchString: string, aPreviousResult: nsIAutoCompleteResult, aElement: HTMLInputElement, aListener: nsIFormAutoCompleteObserver): void;
5308   stopSearch(): void;
5311 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginInfo.idl
5313 interface nsILoginInfo extends nsISupports {
5314   readonly displayOrigin: string;
5315   origin: string;
5316   hostname: string;
5317   formActionOrigin: string;
5318   formSubmitURL: string;
5319   httpRealm: string;
5320   username: string;
5321   usernameField: string;
5322   password: string;
5323   passwordField: string;
5324   unknownFields: string;
5325   everSynced: boolean;
5326   syncCounter: i32;
5327   init(aOrigin: string, aFormActionOrigin: string, aHttpRealm: string, aUsername: string, aPassword: string, aUsernameField?: string, aPasswordField?: string): void;
5328   equals(aLoginInfo: nsILoginInfo): boolean;
5329   matches(aLoginInfo: nsILoginInfo, ignorePassword: boolean): boolean;
5330   clone(): nsILoginInfo;
5333 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManager.idl
5335 interface nsILoginSearchCallback extends nsISupports {
5336   onSearchComplete(aLogins: nsILoginInfo[]): void;
5339 interface nsILoginManager extends nsISupports {
5340   readonly initializationPromise: Promise<any>;
5341   addLogin(aLogin: nsILoginInfo): nsILoginInfo;
5342   addLoginAsync(aLogin: nsILoginInfo): Promise<any>;
5343   addLogins(aLogins: any): Promise<any>;
5344   removeLogin(aLogin: nsILoginInfo): void;
5345   modifyLogin(oldLogin: nsILoginInfo, newLoginData: nsISupports): void;
5346   recordPasswordUse(aLogin: nsILoginInfo, aPrivateContextWithoutExplicitConsent: boolean, aLoginType: string, aFilled: boolean): void;
5347   removeAllUserFacingLogins(): void;
5348   removeAllLogins(): void;
5349   getAllLogins(): Promise<any>;
5350   getAllLoginsWithCallback(aCallback: nsILoginSearchCallback): void;
5351   getAllDisabledHosts(): string[];
5352   getLoginSavingEnabled(aHost: string): boolean;
5353   setLoginSavingEnabled(aHost: string, isEnabled: boolean): void;
5354   findLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): nsILoginInfo[];
5355   countLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): u32;
5356   searchLoginsAsync(matchData: any): Promise<any>;
5357   searchLogins(matchData: nsIPropertyBag): nsILoginInfo[];
5358   getSyncID(): Promise<any>;
5359   setSyncID(syncID: string): Promise<any>;
5360   getLastSync(): Promise<any>;
5361   setLastSync(timestamp: double): Promise<any>;
5362   ensureCurrentSyncID(newSyncID: string): Promise<any>;
5363   readonly uiBusy: boolean;
5364   readonly isLoggedIn: boolean;
5367 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerAuthPrompter.idl
5369 interface nsILoginManagerAuthPrompter extends nsISupports {
5370   init(aWindow: nsIDOMWindow): void;
5371   browser: Element;
5374 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerCrypto.idl
5376 interface nsILoginManagerCrypto extends nsISupports {
5377   readonly ENCTYPE_BASE64: 0;
5378   readonly ENCTYPE_SDR: 1;
5380   encrypt(plainText: string): string;
5381   encryptMany(plainTexts: any): Promise<any>;
5382   decrypt(cipherText: string): string;
5383   decryptMany(cipherTexts: any): Promise<any>;
5384   readonly uiBusy: boolean;
5385   readonly isLoggedIn: boolean;
5386   readonly defaultEncType: u32;
5389 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
5391 interface nsILoginManagerPrompter extends nsISupports {
5392   promptToSavePassword(aBrowser: Element, aLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;
5393   promptToChangePassword(aBrowser: Element, aOldLogin: nsILoginInfo, aNewLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoSavedLoginGuid?: string, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;
5394   promptToChangePasswordWithUsernames(aBrowser: Element, logins: nsILoginInfo[], aNewLogin: nsILoginInfo): nsIPromptInstance;
5397 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginMetaInfo.idl
5399 interface nsILoginMetaInfo extends nsISupports {
5400   guid: string;
5401   timeCreated: u64;
5402   timeLastUsed: u64;
5403   timePasswordChanged: u64;
5404   timesUsed: u32;
5407 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsIPromptInstance.idl
5409 interface nsIPromptInstance extends nsISupports {
5410   dismiss(): void;
5413 // https://searchfox.org/mozilla-central/source/browser/components/migration/nsIEdgeMigrationUtils.idl
5415 interface nsIEdgeMigrationUtils extends nsISupports {
5416   isDbLocked(aFile: nsIFile): Promise<any>;
5419 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEHeaderParam.idl
5421 interface nsIMIMEHeaderParam extends nsISupports {
5422   getParameter(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;
5423   getParameterHTTP(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;
5424   decodeRFC5987Param(aParamVal: string, aLang: OutParam<string>): string;
5427 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEInfo.idl
5429 interface nsIHandlerInfo extends nsISupports {
5430   readonly saveToDisk: 0;
5431   readonly alwaysAsk: 1;
5432   readonly useHelperApp: 2;
5433   readonly handleInternally: 3;
5434   readonly useSystemDefault: 4;
5436   readonly type: string;
5437   description: string;
5438   preferredApplicationHandler: nsIHandlerApp;
5439   readonly possibleApplicationHandlers: nsIMutableArray;
5440   readonly hasDefaultHandler: boolean;
5441   readonly defaultDescription: string;
5442   launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;
5443   preferredAction: nsHandlerInfoAction;
5444   alwaysAskBeforeHandling: boolean;
5447 interface nsIMIMEInfo extends nsIHandlerInfo {
5448   getFileExtensions(): nsIUTF8StringEnumerator;
5449   setFileExtensions(aExtensions: string): void;
5450   extensionExists(aExtension: string): boolean;
5451   appendExtension(aExtension: string): void;
5452   primaryExtension: string;
5453   readonly MIMEType: string;
5454   equals(aMIMEInfo: nsIMIMEInfo): boolean;
5455   readonly possibleLocalHandlers: nsIArray;
5456   launchWithFile(aFile: nsIFile): void;
5457   isCurrentAppOSDefault(): boolean;
5460 interface nsIHandlerApp extends nsISupports {
5461   name: string;
5462   detailedDescription: string;
5463   equals(aHandlerApp: nsIHandlerApp): boolean;
5464   launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;
5467 interface nsILocalHandlerApp extends nsIHandlerApp {
5468   executable: nsIFile;
5469   readonly parameterCount: u32;
5470   clearParameters(): void;
5471   appendParameter(param: string): void;
5472   getParameter(parameterIndex: u32): string;
5473   parameterExists(param: string): boolean;
5476 interface nsIWebHandlerApp extends nsIHandlerApp {
5477   uriTemplate: string;
5480 interface nsIDBusHandlerApp extends nsIHandlerApp {
5481   service: string;
5482   objectPath: string;
5483   dBusInterface: string;
5484   method: string;
5487 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEService.idl
5489 interface nsIMIMEService extends nsISupports {
5490   readonly VALIDATE_DEFAULT: 0;
5491   readonly VALIDATE_SANITIZE_ONLY: 1;
5492   readonly VALIDATE_DONT_COLLAPSE_WHITESPACE: 2;
5493   readonly VALIDATE_DONT_TRUNCATE: 4;
5494   readonly VALIDATE_GUESS_FROM_EXTENSION: 8;
5495   readonly VALIDATE_ALLOW_EMPTY: 16;
5496   readonly VALIDATE_NO_DEFAULT_FILENAME: 32;
5497   readonly VALIDATE_FORCE_APPEND_EXTENSION: 64;
5498   readonly VALIDATE_ALLOW_INVALID_FILENAMES: 128;
5500   getFromTypeAndExtension(aMIMEType: string, aFileExt: string): nsIMIMEInfo;
5501   getTypeFromExtension(aFileExt: string): string;
5502   getTypeFromURI(aURI: nsIURI): string;
5503   getDefaultTypeFromURI(aURI: nsIURI): string;
5504   getTypeFromFile(aFile: nsIFile): string;
5505   getPrimaryExtension(aMIMEType: string, aFileExt: string): string;
5506   getMIMEInfoFromOS(aType: string, aFileExtension: string, aFound: OutParam<boolean>): nsIMIMEInfo;
5507   updateDefaultAppInfo(aMIMEInfo: nsIMIMEInfo): void;
5508   getValidFileName(aChannel: nsIChannel, aType: string, aOriginalURI: nsIURI, aFlags: u32): string;
5509   validateFileNameForSaving(aFileName: string, aType: string, aFlags: u32): string;
5512 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFind.idl
5514 interface nsIFind extends nsISupports {
5515   findBackwards: boolean;
5516   caseSensitive: boolean;
5517   entireWord: boolean;
5518   matchDiacritics: boolean;
5519   Find(aPatText: string, aSearchRange: Range, aStartPoint: Range, aEndPoint: Range): Range;
5522 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFindService.idl
5524 interface nsIFindService extends nsISupports {
5525   searchString: string;
5526   replaceString: string;
5527   findBackwards: boolean;
5528   wrapFind: boolean;
5529   entireWord: boolean;
5530   matchCase: boolean;
5531   matchDiacritics: boolean;
5534 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIWebBrowserFind.idl
5536 interface nsIWebBrowserFind extends nsISupports {
5537   findNext(): boolean;
5538   searchString: string;
5539   findBackwards: boolean;
5540   wrapFind: boolean;
5541   entireWord: boolean;
5542   matchCase: boolean;
5543   matchDiacritics: boolean;
5544   searchFrames: boolean;
5547 interface nsIWebBrowserFindInFrames extends nsISupports {
5548   currentSearchFrame: mozIDOMWindowProxy;
5549   rootSearchFrame: mozIDOMWindowProxy;
5550   searchSubframes: boolean;
5551   searchParentFrames: boolean;
5554 // https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntl.idl
5556 interface mozIMozIntl extends nsISupports {
5557   getCalendarInfo(locales?: any): any;
5558   getDisplayNamesDeprecated(locales?: any, options?: any): any;
5559   getAvailableLocaleDisplayNames(type: any): any;
5560   getLanguageDisplayNames(locales: any, langCodes: any): any;
5561   getRegionDisplayNames(locales: any, regionCodes: any): any;
5562   getLocaleDisplayNames(locales: any, localeCodes: any, options?: any): any;
5563   getScriptDirection(locale: any): any;
5564   stringHasRTLChars(str: any): boolean;
5565   readonly Collator: any;
5566   readonly DateTimeFormat: any;
5567   readonly DisplayNames: any;
5568   readonly ListFormat: any;
5569   readonly Locale: any;
5570   readonly NumberFormat: any;
5571   readonly PluralRules: any;
5572   readonly RelativeTimeFormat: any;
5575 // https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntlHelper.idl
5577 interface mozIMozIntlHelper extends nsISupports {
5578   addGetCalendarInfo(intlObject: any): void;
5579   addDateTimeFormatConstructor(intlObject: any): void;
5580   addDisplayNamesConstructor(intlObject: any): void;
5581   stringHasRTLChars(str: any): boolean;
5584 // https://searchfox.org/mozilla-central/source/netwerk/base/mozIThirdPartyUtil.idl
5586 interface mozIThirdPartyUtil extends nsISupports {
5587   isThirdPartyURI(aFirstURI: nsIURI, aSecondURI: nsIURI): boolean;
5588   isThirdPartyWindow(aWindow: mozIDOMWindowProxy, aURI?: nsIURI): boolean;
5589   isThirdPartyChannel(aChannel: nsIChannel, aURI?: nsIURI): boolean;
5590   getBaseDomain(aHostURI: nsIURI): string;
5591   getBaseDomainFromSchemeHost(aScheme: string, aAsciiHost: string): string;
5592   getURIFromWindow(aWindow: mozIDOMWindowProxy): nsIURI;
5593   getPrincipalFromWindow(aWindow: mozIDOMWindowProxy): nsIPrincipal;
5596 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIArrayBufferInputStream.idl
5598 interface nsIArrayBufferInputStream extends nsIInputStream {
5599   setData(buffer: any, byteOffset: u64, byteLen: u64): void;
5602 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier.idl
5604 interface nsIAsyncStreamCopier extends nsIRequest {
5605   init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aSourceBuffered: boolean, aSinkBuffered: boolean, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;
5606   asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;
5609 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier2.idl
5611 interface nsIAsyncStreamCopier2 extends nsIRequest {
5612   init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;
5613   asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;
5616 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncVerifyRedirectCallback.idl
5618 interface nsIAsyncVerifyRedirectCallback extends nsISupports {
5619   onRedirectVerifyCallback(result: nsresult): void;
5622 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthInformation.idl
5624 interface nsIAuthInformation extends nsISupports {
5625   readonly AUTH_HOST: 1;
5626   readonly AUTH_PROXY: 2;
5627   readonly NEED_DOMAIN: 4;
5628   readonly ONLY_PASSWORD: 8;
5629   readonly PREVIOUS_FAILED: 16;
5630   readonly CROSS_ORIGIN_SUB_RESOURCE: 32;
5632   readonly flags: u32;
5633   readonly realm: string;
5634   readonly authenticationScheme: string;
5635   username: string;
5636   password: string;
5637   domain: string;
5640 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthModule.idl
5642 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt.idl
5644 interface nsIAuthPrompt extends nsISupports {
5645   readonly SAVE_PASSWORD_NEVER: 0;
5646   readonly SAVE_PASSWORD_FOR_SESSION: 1;
5647   readonly SAVE_PASSWORD_PERMANENTLY: 2;
5649   prompt(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, defaultText: string, result: OutParam<string>): boolean;
5650   promptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): boolean;
5651   asyncPromptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): Promise<any>;
5652   promptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): boolean;
5653   asyncPromptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): Promise<any>;
5656 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt2.idl
5658 interface nsIAuthPrompt2 extends nsISupports {
5659   readonly LEVEL_NONE: 0;
5660   readonly LEVEL_PW_ENCRYPTED: 1;
5661   readonly LEVEL_SECURE: 2;
5663   promptAuth(aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
5664   asyncPromptAuth(aChannel: nsIChannel, aCallback: nsIAuthPromptCallback, aContext: nsISupports, level: u32, authInfo: nsIAuthInformation): nsICancelable;
5667 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptAdapterFactory.idl
5669 interface nsIAuthPromptAdapterFactory extends nsISupports {
5670   createAdapter(aPrompt: nsIAuthPrompt): nsIAuthPrompt2;
5673 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptCallback.idl
5675 interface nsIAuthPromptCallback extends nsISupports {
5676   onAuthAvailable(aContext: nsISupports, aAuthInfo: nsIAuthInformation): void;
5677   onAuthCancelled(aContext: nsISupports, userCancel: boolean): void;
5680 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptProvider.idl
5682 interface nsIAuthPromptProvider extends nsISupports {
5683   readonly PROMPT_NORMAL: 0;
5684   readonly PROMPT_PROXY: 1;
5686   getAuthPrompt<T extends nsIID>(aPromptReason: u32, iid: T): nsQIResult<T>;
5689 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBackgroundFileSaver.idl
5691 interface nsIBackgroundFileSaver extends nsISupports {
5692   observer: nsIBackgroundFileSaverObserver;
5693   readonly signatureInfo: u8[][][];
5694   readonly sha256Hash: string;
5695   enableSignatureInfo(): void;
5696   enableSha256(): void;
5697   enableAppend(): void;
5698   setTarget(aTarget: nsIFile, aKeepPartial: boolean): void;
5699   finish(aStatus: nsresult): void;
5702 interface nsIBackgroundFileSaverObserver extends nsISupports {
5703   onTargetChange(aSaver: nsIBackgroundFileSaver, aTarget: nsIFile): void;
5704   onSaveComplete(aSaver: nsIBackgroundFileSaver, aStatus: nsresult): void;
5707 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBaseChannel.idl
5709 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBufferedStreams.idl
5711 interface nsIBufferedInputStream extends nsIInputStream {
5712   init(fillFromStream: nsIInputStream, bufferSize: u32): void;
5713   readonly data: nsIInputStream;
5716 interface nsIBufferedOutputStream extends nsIOutputStream {
5717   init(sinkToStream: nsIOutputStream, bufferSize: u32): void;
5718   readonly data: nsIOutputStream;
5721 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIByteRangeRequest.idl
5723 interface nsIByteRangeRequest extends nsISupports {
5724   readonly isByteRangeRequest: boolean;
5725   readonly startRange: i64;
5726   readonly endRange: i64;
5729 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICacheInfoChannel.idl
5731 interface nsIInputStreamReceiver extends nsISupports {
5732   onInputStreamReady(aStream: nsIInputStream): void;
5735 }  // global
5737 declare namespace nsICacheInfoChannel {
5739 enum PreferredAlternativeDataDeliveryType {
5740   NONE = 0,
5741   ASYNC = 1,
5742   SERIALIZE = 2,
5747 declare global {
5749 interface nsICacheInfoChannel extends nsISupports, Enums<typeof nsICacheInfoChannel.PreferredAlternativeDataDeliveryType> {
5750   readonly cacheTokenFetchCount: u32;
5751   readonly cacheTokenExpirationTime: u32;
5752   isFromCache(): boolean;
5753   isRacing(): boolean;
5754   getCacheEntryId(): u64;
5755   cacheKey: u32;
5756   allowStaleCacheContent: boolean;
5757   preferCacheLoadOverBypass: boolean;
5758   forceValidateCacheContent: boolean;
5759   preferAlternativeDataType(type: string, contentType: string, deliverAltData: nsICacheInfoChannel.PreferredAlternativeDataDeliveryType): void;
5760   readonly alternativeDataType: string;
5761   readonly alternativeDataInputStream: nsIInputStream;
5762   getOriginalInputStream(aReceiver: nsIInputStreamReceiver): void;
5763   openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;
5766 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICachingChannel.idl
5768 interface nsICachingChannel extends nsICacheInfoChannel {
5769   readonly LOAD_NO_NETWORK_IO: 67108864;
5770   readonly LOAD_BYPASS_LOCAL_CACHE: 268435456;
5771   readonly LOAD_BYPASS_LOCAL_CACHE_IF_BUSY: 536870912;
5772   readonly LOAD_ONLY_FROM_CACHE: 1073741824;
5773   readonly LOAD_ONLY_IF_MODIFIED: 2147483648;
5775   cacheToken: nsISupports;
5776   cacheOnlyMetadata: boolean;
5777   pin: boolean;
5778   forceCacheEntryValidFor(aSecondsToTheFuture: u32): void;
5781 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICancelable.idl
5783 interface nsICancelable extends nsISupports {
5784   cancel(aReason: nsresult): void;
5787 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICaptivePortalService.idl
5789 interface nsICaptivePortalServiceCallback extends nsISupports {
5790   complete(success: boolean, error: nsresult): void;
5793 interface nsICaptivePortalService extends nsISupports {
5794   readonly UNKNOWN: 0;
5795   readonly NOT_CAPTIVE: 1;
5796   readonly UNLOCKED_PORTAL: 2;
5797   readonly LOCKED_PORTAL: 3;
5799   recheckCaptivePortal(): void;
5800   readonly state: i32;
5801   readonly lastChecked: u64;
5804 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannel.idl
5806 interface nsIChannel extends nsIRequest {
5807   readonly LOAD_DOCUMENT_URI: 65536;
5808   readonly LOAD_RETARGETED_DOCUMENT_URI: 131072;
5809   readonly LOAD_REPLACE: 262144;
5810   readonly LOAD_INITIAL_DOCUMENT_URI: 524288;
5811   readonly LOAD_TARGETED: 1048576;
5812   readonly LOAD_CALL_CONTENT_SNIFFERS: 2097152;
5813   readonly LOAD_BYPASS_URL_CLASSIFIER: 4194304;
5814   readonly LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE: 8388608;
5815   readonly LOAD_EXPLICIT_CREDENTIALS: 16777216;
5816   readonly LOAD_BYPASS_SERVICE_WORKER: 33554432;
5817   readonly DISPOSITION_INLINE: 0;
5818   readonly DISPOSITION_ATTACHMENT: 1;
5819   readonly DISPOSITION_FORCE_INLINE: 2;
5821   originalURI: nsIURI;
5822   readonly URI: nsIURI;
5823   owner: nsISupports;
5824   notificationCallbacks: nsIInterfaceRequestor;
5825   readonly securityInfo: nsITransportSecurityInfo;
5826   contentType: string;
5827   contentCharset: string;
5828   contentLength: i64;
5829   open(): nsIInputStream;
5830   asyncOpen(aListener: nsIStreamListener): void;
5831   readonly canceled: boolean;
5832   contentDisposition: u32;
5833   contentDispositionFilename: string;
5834   readonly contentDispositionHeader: string;
5835   loadInfo: nsILoadInfo;
5836   readonly isDocument: boolean;
5839 interface nsIIdentChannel extends nsIChannel {
5840   channelId: u64;
5843 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannelEventSink.idl
5845 interface nsIChannelEventSink extends nsISupports {
5846   readonly REDIRECT_TEMPORARY: 1;
5847   readonly REDIRECT_PERMANENT: 2;
5848   readonly REDIRECT_INTERNAL: 4;
5849   readonly REDIRECT_STS_UPGRADE: 8;
5850   readonly REDIRECT_AUTH_RETRY: 16;
5852   asyncOnChannelRedirect(oldChannel: nsIChannel, newChannel: nsIChannel, flags: u32, callback: nsIAsyncVerifyRedirectCallback): void;
5855 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChildChannel.idl
5857 interface nsIChildChannel extends nsISupports {
5858   connectParent(registrarId: u32): void;
5859   completeRedirectSetup(aListener: nsIStreamListener): void;
5862 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassOfService.idl
5864 interface nsIClassOfService extends nsISupports {
5865   readonly Leader: 1;
5866   readonly Follower: 2;
5867   readonly Speculative: 4;
5868   readonly Background: 8;
5869   readonly Unblocked: 16;
5870   readonly Throttleable: 32;
5871   readonly UrgentStart: 64;
5872   readonly DontThrottle: 128;
5873   readonly Tail: 256;
5874   readonly TailAllowed: 512;
5875   readonly TailForbidden: 1024;
5877   classFlags: u32;
5878   incremental: boolean;
5879   clearClassFlags(flags: u32): void;
5880   addClassFlags(flags: u32): void;
5883 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassifiedChannel.idl
5885 }  // global
5887 declare namespace nsIClassifiedChannel {
5889 enum ClassificationFlags {
5890   CLASSIFIED_FINGERPRINTING = 1,
5891   CLASSIFIED_FINGERPRINTING_CONTENT = 128,
5892   CLASSIFIED_CRYPTOMINING = 2,
5893   CLASSIFIED_CRYPTOMINING_CONTENT = 256,
5894   CLASSIFIED_TRACKING = 4,
5895   CLASSIFIED_TRACKING_AD = 8,
5896   CLASSIFIED_TRACKING_ANALYTICS = 16,
5897   CLASSIFIED_TRACKING_SOCIAL = 32,
5898   CLASSIFIED_TRACKING_CONTENT = 64,
5899   CLASSIFIED_SOCIALTRACKING = 512,
5900   CLASSIFIED_SOCIALTRACKING_FACEBOOK = 1024,
5901   CLASSIFIED_SOCIALTRACKING_LINKEDIN = 2048,
5902   CLASSIFIED_SOCIALTRACKING_TWITTER = 4096,
5903   CLASSIFIED_EMAILTRACKING = 8192,
5904   CLASSIFIED_EMAILTRACKING_CONTENT = 16384,
5905   CLASSIFIED_ANY_BASIC_TRACKING = 61,
5906   CLASSIFIED_ANY_STRICT_TRACKING = 253,
5907   CLASSIFIED_ANY_SOCIAL_TRACKING = 7680,
5912 declare global {
5914 interface nsIClassifiedChannel extends nsISupports, Enums<typeof nsIClassifiedChannel.ClassificationFlags> {
5915   setMatchedInfo(aList: string, aProvider: string, aFullHash: string): void;
5916   readonly matchedList: string;
5917   readonly matchedProvider: string;
5918   readonly matchedFullHash: string;
5919   setMatchedTrackingInfo(aLists: string[], aFullHashes: string[]): void;
5920   readonly matchedTrackingLists: string[];
5921   readonly matchedTrackingFullHashes: string[];
5922   readonly firstPartyClassificationFlags: u32;
5923   readonly thirdPartyClassificationFlags: u32;
5924   readonly classificationFlags: u32;
5925   isThirdPartyTrackingResource(): boolean;
5926   isThirdPartySocialTrackingResource(): boolean;
5929 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIContentSniffer.idl
5931 interface nsIContentSniffer extends nsISupports {
5932   getMIMETypeFromContent(aRequest: nsIRequest, aData: u8[], aLength: u32): string;
5935 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDHCPClient.idl
5937 interface nsIDHCPClient extends nsISupports {
5938   getOption(option: u8): string;
5941 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboard.idl
5943 type nsINetDashboardCallback = Callable<{
5944   onDashboardDataAvailable(data: any): void;
5947 interface nsIDashboard extends nsISupports {
5948   requestSockets(cb: nsINetDashboardCallback): void;
5949   requestHttpConnections(cb: nsINetDashboardCallback): void;
5950   requestWebsocketConnections(cb: nsINetDashboardCallback): void;
5951   requestDNSInfo(cb: nsINetDashboardCallback): void;
5952   requestConnection(aHost: string, aPort: u32, aProtocol: string, aTimeout: u32, cb: nsINetDashboardCallback): void;
5953   enableLogging: boolean;
5954   requestDNSLookup(aHost: string, cb: nsINetDashboardCallback): void;
5955   requestDNSHTTPSRRLookup(aHost: string, cb: nsINetDashboardCallback): void;
5956   requestRcwnStats(cb: nsINetDashboardCallback): void;
5957   getLogPath(): string;
5960 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboardEventNotifier.idl
5962 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDownloader.idl
5964 interface nsIDownloader extends nsIStreamListener {
5965   init(observer: nsIDownloadObserver, downloadLocation: nsIFile): void;
5968 interface nsIDownloadObserver extends nsISupports {
5969   onDownloadComplete(downloader: nsIDownloader, request: nsIRequest, status: nsresult, result: nsIFile): void;
5972 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIEncodedChannel.idl
5974 interface nsIEncodedChannel extends nsISupports {
5975   readonly contentEncodings: nsIUTF8StringEnumerator;
5976   applyConversion: boolean;
5977   hasContentDecompressed: boolean;
5978   doApplyContentConversions(aNextListener: nsIStreamListener, aNewNextListener: OutParam<nsIStreamListener>, aCtxt: nsISupports): void;
5981 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIExternalProtocolHandler.idl
5983 interface nsIExternalProtocolHandler extends nsIProtocolHandler {
5984   externalAppExistsForScheme(scheme: string): boolean;
5987 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileStreams.idl
5989 interface nsIFileInputStream extends nsIInputStream {
5990   readonly CLOSE_ON_EOF: 4;
5991   readonly REOPEN_ON_REWIND: 8;
5992   readonly DEFER_OPEN: 16;
5993   readonly SHARE_DELETE: 32;
5995   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
5998 interface nsIFileOutputStream extends nsIOutputStream {
5999   readonly DEFER_OPEN: 1;
6001   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
6004 interface nsIFileRandomAccessStream extends nsIRandomAccessStream {
6005   readonly DEFER_OPEN: 1;
6007   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
6010 interface nsIFileMetadata extends nsISupports {
6011   readonly size: i64;
6012   readonly lastModified: i64;
6015 interface nsIAsyncFileMetadata extends nsIFileMetadata {
6016   asyncFileMetadataWait(aCallback: nsIFileMetadataCallback, aEventTarget: nsIEventTarget): void;
6019 type nsIFileMetadataCallback = Callable<{
6020   onFileMetadataReady(aObject: nsIAsyncFileMetadata): void;
6023 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileURL.idl
6025 interface nsIFileURL extends nsIURL {
6026   readonly file: nsIFile;
6029 interface nsIFileURLMutator extends nsISupports {
6032 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIForcePendingChannel.idl
6034 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFormPOSTActionChannel.idl
6036 interface nsIFormPOSTActionChannel extends nsIUploadChannel {
6039 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIHttpAuthenticatorCallback.idl
6041 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIHttpPushListener.idl
6043 interface nsIHttpPushListener extends nsISupports {
6044   onPush(associatedChannel: nsIHttpChannel, pushChannel: nsIHttpChannel): void;
6047 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIOService.idl
6049 interface nsIIOService extends nsISupports {
6050   getProtocolHandler(aScheme: string): nsIProtocolHandler;
6051   getProtocolFlags(aScheme: string): u32;
6052   getDynamicProtocolFlags(aURI: nsIURI): u32;
6053   getDefaultPort(aScheme: string): i32;
6054   newURI(aSpec: string, aOriginCharset?: string, aBaseURI?: nsIURI): nsIURI;
6055   newFileURI(aFile: nsIFile): nsIURI;
6056   createExposableURI(aURI: nsIURI): nsIURI;
6057   newChannelFromURI(aURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6058   newChannelFromURIWithLoadInfo(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
6059   newChannel(aSpec: string, aOriginCharset: string, aBaseURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6060   newWebTransport(): nsIWebTransport;
6061   offline: boolean;
6062   readonly connectivity: boolean;
6063   allowPort(aPort: i32, aScheme: string): boolean;
6064   extractScheme(urlString: string): string;
6065   hostnameIsLocalIPAddress(aURI: nsIURI): boolean;
6066   hostnameIsSharedIPAddress(aURI: nsIURI): boolean;
6067   isValidHostname(hostname: string): boolean;
6068   manageOfflineStatus: boolean;
6069   newChannelFromURIWithProxyFlags(aURI: nsIURI, aProxyURI: nsIURI, aProxyFlags: u32, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6070   readonly socketProcessLaunched: boolean;
6071   readonly socketProcessId: u64;
6072   registerProtocolHandler(aScheme: string, aHandler: nsIProtocolHandler, aProtocolFlags: u32, aDefaultPort: i32): void;
6073   unregisterProtocolHandler(aScheme: string): void;
6076 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalDownload.idl
6078 interface nsIIncrementalDownload extends nsIRequest {
6079   init(uri: nsIURI, destination: nsIFile, chunkSize: i32, intervalInSeconds: i32): void;
6080   readonly URI: nsIURI;
6081   readonly finalURI: nsIURI;
6082   readonly destination: nsIFile;
6083   readonly totalSize: i64;
6084   readonly currentSize: i64;
6085   start(observer: nsIRequestObserver, ctxt: nsISupports): void;
6088 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalStreamLoader.idl
6090 interface nsIIncrementalStreamLoaderObserver extends nsISupports {
6091   onIncrementalData(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, dataLength: u32, data: u8[], consumedLength: InOutParam<u32>): void;
6092   onStreamComplete(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;
6095 interface nsIIncrementalStreamLoader extends nsIThreadRetargetableStreamListener {
6096   init(aObserver: nsIIncrementalStreamLoaderObserver): void;
6097   readonly numBytesRead: u32;
6098   readonly request: nsIRequest;
6101 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamChannel.idl
6103 interface nsIInputStreamChannel extends nsISupports {
6104   setURI(aURI: nsIURI): void;
6105   contentStream: nsIInputStream;
6106   srcdocData: string;
6107   readonly isSrcdocChannel: boolean;
6108   baseURI: nsIURI;
6111 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamPump.idl
6113 interface nsIInputStreamPump extends nsIRequest {
6114   init(aStream: nsIInputStream, aSegmentSize: u32, aSegmentCount: u32, aCloseWhenDone: boolean, aMainThreadTarget?: nsISerialEventTarget): void;
6115   asyncRead(aListener: nsIStreamListener): void;
6118 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInterceptionInfo.idl
6120 interface nsIInterceptionInfo extends nsISupports {
6123 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadContextInfo.idl
6125 interface nsILoadContextInfo extends nsISupports {
6126   readonly isPrivate: boolean;
6127   readonly isAnonymous: boolean;
6128   readonly originAttributes: any;
6131 interface nsILoadContextInfoFactory extends nsISupports {
6132   readonly default: nsILoadContextInfo;
6133   readonly private: nsILoadContextInfo;
6134   readonly anonymous: nsILoadContextInfo;
6135   custom(aAnonymous: boolean, aOriginAttributes: any): nsILoadContextInfo;
6136   fromLoadContext(aLoadContext: nsILoadContext, aAnonymous: boolean): nsILoadContextInfo;
6137   fromWindow(aWindow: nsIDOMWindow, aAnonymous: boolean): nsILoadContextInfo;
6140 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroup.idl
6142 interface nsILoadGroup extends nsIRequest {
6143   groupObserver: nsIRequestObserver;
6144   defaultLoadRequest: nsIRequest;
6145   addRequest(aRequest: nsIRequest, aContext: nsISupports): void;
6146   removeRequest(aRequest: nsIRequest, aContext: nsISupports, aStatus: nsresult): void;
6147   readonly requests: nsISimpleEnumerator;
6148   readonly activeCount: u32;
6149   notificationCallbacks: nsIInterfaceRequestor;
6150   readonly requestContextID: u64;
6151   defaultLoadFlags: nsLoadFlags;
6152   readonly isBrowsingContextDiscarded: boolean;
6155 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroupChild.idl
6157 interface nsILoadGroupChild extends nsISupports {
6158   parentLoadGroup: nsILoadGroup;
6159   readonly childLoadGroup: nsILoadGroup;
6160   readonly rootLoadGroup: nsILoadGroup;
6163 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadInfo.idl
6165 }  // global
6167 declare namespace nsILoadInfo {
6169 enum StoragePermissionState {
6170   NoStoragePermission = 0,
6171   HasStoragePermission = 1,
6172   StoragePermissionAllowListed = 2,
6175 enum CrossOriginOpenerPolicy {
6176   OPENER_POLICY_UNSAFE_NONE = 0,
6177   OPENER_POLICY_SAME_ORIGIN = 1,
6178   OPENER_POLICY_SAME_ORIGIN_ALLOW_POPUPS = 2,
6179   OPENER_POLICY_EMBEDDER_POLICY_REQUIRE_CORP_FLAG = 16,
6180   OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP = 17,
6183 enum CrossOriginEmbedderPolicy {
6184   EMBEDDER_POLICY_NULL = 0,
6185   EMBEDDER_POLICY_REQUIRE_CORP = 1,
6186   EMBEDDER_POLICY_CREDENTIALLESS = 2,
6191 declare global {
6193 interface nsILoadInfo extends nsISupports, Enums<typeof nsILoadInfo.StoragePermissionState & typeof nsILoadInfo.CrossOriginOpenerPolicy & typeof nsILoadInfo.CrossOriginEmbedderPolicy> {
6194   readonly SEC_ONLY_FOR_EXPLICIT_CONTENTSEC_CHECK: 0;
6195   readonly SEC_REQUIRE_SAME_ORIGIN_INHERITS_SEC_CONTEXT: 1;
6196   readonly SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED: 2;
6197   readonly SEC_ALLOW_CROSS_ORIGIN_INHERITS_SEC_CONTEXT: 4;
6198   readonly SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL: 8;
6199   readonly SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT: 16;
6200   readonly SEC_COOKIES_DEFAULT: 0;
6201   readonly SEC_COOKIES_INCLUDE: 32;
6202   readonly SEC_COOKIES_SAME_ORIGIN: 64;
6203   readonly SEC_COOKIES_OMIT: 96;
6204   readonly SEC_FORCE_INHERIT_PRINCIPAL: 128;
6205   readonly SEC_ABOUT_BLANK_INHERITS: 512;
6206   readonly SEC_ALLOW_CHROME: 1024;
6207   readonly SEC_DISALLOW_SCRIPT: 2048;
6208   readonly SEC_DONT_FOLLOW_REDIRECTS: 4096;
6209   readonly SEC_LOAD_ERROR_PAGE: 8192;
6210   readonly SEC_FORCE_INHERIT_PRINCIPAL_OVERRULE_OWNER: 16384;
6211   readonly HTTPS_ONLY_UNINITIALIZED: 1;
6212   readonly HTTPS_ONLY_UPGRADED_LISTENER_NOT_REGISTERED: 2;
6213   readonly HTTPS_ONLY_UPGRADED_LISTENER_REGISTERED: 4;
6214   readonly HTTPS_ONLY_EXEMPT: 8;
6215   readonly HTTPS_ONLY_TOP_LEVEL_LOAD_IN_PROGRESS: 16;
6216   readonly HTTPS_ONLY_DOWNLOAD_IN_PROGRESS: 32;
6217   readonly HTTPS_ONLY_DO_NOT_LOG_TO_CONSOLE: 64;
6218   readonly HTTPS_ONLY_UPGRADED_HTTPS_FIRST: 128;
6219   readonly HTTPS_ONLY_BYPASS_ORB: 256;
6220   readonly HTTPS_FIRST_EXEMPT_NEXT_LOAD: 512;
6221   readonly TAINTING_BASIC: 0;
6222   readonly TAINTING_CORS: 1;
6223   readonly TAINTING_OPAQUE: 2;
6224   readonly BLOCKING_REASON_NONE: 0;
6225   readonly BLOCKING_REASON_CORSDISABLED: 1001;
6226   readonly BLOCKING_REASON_CORSDIDNOTSUCCEED: 1002;
6227   readonly BLOCKING_REASON_CORSREQUESTNOTHTTP: 1003;
6228   readonly BLOCKING_REASON_CORSMULTIPLEALLOWORIGINNOTALLOWED: 1004;
6229   readonly BLOCKING_REASON_CORSMISSINGALLOWORIGIN: 1005;
6230   readonly BLOCKING_REASON_CORSNOTSUPPORTINGCREDENTIALS: 1006;
6231   readonly BLOCKING_REASON_CORSALLOWORIGINNOTMATCHINGORIGIN: 1007;
6232   readonly BLOCKING_REASON_CORSMISSINGALLOWCREDENTIALS: 1008;
6233   readonly BLOCKING_REASON_CORSORIGINHEADERNOTADDED: 1009;
6234   readonly BLOCKING_REASON_CORSEXTERNALREDIRECTNOTALLOWED: 1010;
6235   readonly BLOCKING_REASON_CORSPREFLIGHTDIDNOTSUCCEED: 1011;
6236   readonly BLOCKING_REASON_CORSINVALIDALLOWMETHOD: 1012;
6237   readonly BLOCKING_REASON_CORSMETHODNOTFOUND: 1013;
6238   readonly BLOCKING_REASON_CORSINVALIDALLOWHEADER: 1014;
6239   readonly BLOCKING_REASON_CORSMISSINGALLOWHEADERFROMPREFLIGHT: 1015;
6240   readonly BLOCKING_REASON_CLASSIFY_MALWARE_URI: 2001;
6241   readonly BLOCKING_REASON_CLASSIFY_PHISHING_URI: 2002;
6242   readonly BLOCKING_REASON_CLASSIFY_UNWANTED_URI: 2003;
6243   readonly BLOCKING_REASON_CLASSIFY_TRACKING_URI: 2004;
6244   readonly BLOCKING_REASON_CLASSIFY_BLOCKED_URI: 2005;
6245   readonly BLOCKING_REASON_CLASSIFY_HARMFUL_URI: 2006;
6246   readonly BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI: 2007;
6247   readonly BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI: 2008;
6248   readonly BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI: 2009;
6249   readonly BLOCKING_REASON_CLASSIFY_EMAILTRACKING_URI: 2010;
6250   readonly BLOCKING_REASON_MIXED_BLOCKED: 3001;
6251   readonly BLOCKING_REASON_CONTENT_POLICY_GENERAL: 4000;
6252   readonly BLOCKING_REASON_CONTENT_POLICY_NO_DATA_PROTOCOL: 4001;
6253   readonly BLOCKING_REASON_CONTENT_POLICY_CONTENT_BLOCKED: 4003;
6254   readonly BLOCKING_REASON_CONTENT_POLICY_DATA_DOCUMENT: 4004;
6255   readonly BLOCKING_REASON_CONTENT_POLICY_WEB_BROWSER: 4005;
6256   readonly BLOCKING_REASON_CONTENT_POLICY_PRELOAD: 4006;
6257   readonly BLOCKING_REASON_NOT_SAME_ORIGIN: 5000;
6258   readonly BLOCKING_REASON_EXTENSION_WEBREQUEST: 6000;
6259   readonly BLOCKING_REASON_WEBDRIVER_BIDI: 7000;
6261   readonly loadingPrincipal: nsIPrincipal;
6262   readonly triggeringPrincipal: nsIPrincipal;
6263   triggeringRemoteType: string;
6264   principalToInherit: nsIPrincipal;
6265   readonly loadingDocument: Document;
6266   readonly loadingContext: nsISupports;
6267   readonly securityFlags: nsSecurityFlags;
6268   readonly sandboxFlags: u32;
6269   triggeringSandboxFlags: u32;
6270   triggeringWindowId: u64;
6271   triggeringStorageAccess: boolean;
6272   readonly securityMode: u32;
6273   skipContentSniffing: boolean;
6274   httpsOnlyStatus: u32;
6275   hstsStatus: boolean;
6276   hasValidUserGestureActivation: boolean;
6277   allowDeprecatedSystemRequests: boolean;
6278   parserCreatedScript: boolean;
6279   isUserTriggeredSave: boolean;
6280   isInDevToolsContext: boolean;
6281   isInThirdPartyContext: boolean;
6282   isThirdPartyContextToTopWindow: boolean;
6283   readonly cookiePolicy: u32;
6284   cookieJarSettings: nsICookieJarSettings;
6285   storagePermission: nsILoadInfo.StoragePermissionState;
6286   isMetaRefresh: boolean;
6287   readonly forceInheritPrincipal: boolean;
6288   readonly forceInheritPrincipalOverruleOwner: boolean;
6289   readonly loadingSandboxed: boolean;
6290   readonly aboutBlankInherits: boolean;
6291   readonly allowChrome: boolean;
6292   readonly disallowScript: boolean;
6293   readonly dontFollowRedirects: boolean;
6294   readonly loadErrorPage: boolean;
6295   isFormSubmission: boolean;
6296   readonly externalContentPolicyType: nsContentPolicyType;
6297   sendCSPViolationEvents: boolean;
6298   readonly internalContentPolicyType: nsContentPolicyType;
6299   readonly blockAllMixedContent: boolean;
6300   readonly upgradeInsecureRequests: boolean;
6301   readonly browserUpgradeInsecureRequests: boolean;
6302   browserDidUpgradeInsecureRequests: boolean;
6303   readonly browserWouldUpgradeInsecureRequests: boolean;
6304   forceAllowDataURI: boolean;
6305   allowInsecureRedirectToDataURI: boolean;
6306   skipContentPolicyCheckForWebRequest: boolean;
6307   originalFrameSrcLoad: boolean;
6308   readonly forceInheritPrincipalDropped: boolean;
6309   readonly innerWindowID: u64;
6310   readonly browsingContextID: u64;
6311   readonly browsingContext: BrowsingContext;
6312   workerAssociatedBrowsingContextID: u64;
6313   readonly workerAssociatedBrowsingContext: BrowsingContext;
6314   readonly frameBrowsingContextID: u64;
6315   readonly frameBrowsingContext: BrowsingContext;
6316   readonly targetBrowsingContextID: u64;
6317   readonly targetBrowsingContext: BrowsingContext;
6318   resetPrincipalToInheritToNullPrincipal(): void;
6319   originAttributes: any;
6320   initialSecurityCheckDone: boolean;
6321   loadTriggeredFromExternal: boolean;
6322   appendRedirectHistoryEntry(channelToDeriveFrom: nsIChannel, isInternalRedirect: boolean): void;
6323   readonly redirectChainIncludingInternalRedirects: any;
6324   readonly redirectChain: any;
6325   readonly forcePreflight: boolean;
6326   readonly isPreflight: boolean;
6327   readonly tainting: u32;
6328   maybeIncreaseTainting(aTainting: u32): void;
6329   readonly isTopLevelLoad: boolean;
6330   resultPrincipalURI: nsIURI;
6331   channelCreationOriginalURI: nsIURI;
6332   documentHasUserInteracted: boolean;
6333   allowListFutureDocumentsCreatedFromThisRedirectChain: boolean;
6334   needForCheckingAntiTrackingHeuristic: boolean;
6335   cspNonce: string;
6336   integrityMetadata: string;
6337   requestBlockingReason: u32;
6338   cspEventListener: nsICSPEventListener;
6339   readonly isFromProcessingFrameAttributes: boolean;
6340   loadingEmbedderPolicy: nsILoadInfo.CrossOriginEmbedderPolicy;
6341   isOriginTrialCoepCredentiallessEnabledForTopLevel: boolean;
6342   isMediaRequest: boolean;
6343   isMediaInitialRequest: boolean;
6344   isFromObjectOrEmbed: boolean;
6345   readonly shouldSkipCheckForBrokenURLOrZeroSized: boolean;
6346   unstrippedURI: nsIURI;
6347   hasInjectedCookieForCookieBannerHandling: boolean;
6348   wasSchemelessInput: boolean;
6351 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIMIMEInputStream.idl
6353 interface nsIMIMEInputStream extends nsIInputStream {
6354   addHeader(name: string, value: string): void;
6355   visitHeaders(visitor: nsIHttpHeaderVisitor): void;
6356   setData(stream: nsIInputStream): void;
6357   readonly data: nsIInputStream;
6360 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIMultiPartChannel.idl
6362 interface nsIMultiPartChannel extends nsISupports {
6363   readonly baseChannel: nsIChannel;
6364   readonly partID: u32;
6365   readonly isLastPart: boolean;
6368 interface nsIMultiPartChannelListener extends nsISupports {
6369   onAfterLastPart(status: nsresult): void;
6372 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINestedURI.idl
6374 interface nsINestedURI extends nsISupports {
6375   readonly innerURI: nsIURI;
6376   readonly innermostURI: nsIURI;
6379 interface nsINestedURIMutator extends nsISupports {
6382 interface nsINestedAboutURIMutator extends nsISupports {
6385 interface nsIJSURIMutator extends nsISupports {
6388 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetAddr.idl
6390 interface nsINetAddr extends nsISupports {
6391   readonly FAMILY_INET: 1;
6392   readonly FAMILY_INET6: 2;
6393   readonly FAMILY_LOCAL: 3;
6395   readonly family: u16;
6396   readonly address: string;
6397   readonly port: u16;
6398   readonly flow: u32;
6399   readonly scope: u32;
6400   readonly isV4Mapped: boolean;
6403 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetUtil.idl
6405 interface nsINetUtil extends nsISupports {
6406   readonly ESCAPE_ALL: 0;
6407   readonly ESCAPE_XALPHAS: 1;
6408   readonly ESCAPE_XPALPHAS: 2;
6409   readonly ESCAPE_URL_PATH: 4;
6410   readonly ESCAPE_URL_APPLE_EXTRA: 8;
6411   readonly ESCAPE_URL_SCHEME: 1;
6412   readonly ESCAPE_URL_USERNAME: 2;
6413   readonly ESCAPE_URL_PASSWORD: 4;
6414   readonly ESCAPE_URL_HOST: 8;
6415   readonly ESCAPE_URL_DIRECTORY: 16;
6416   readonly ESCAPE_URL_FILE_BASENAME: 32;
6417   readonly ESCAPE_URL_FILE_EXTENSION: 64;
6418   readonly ESCAPE_URL_PARAM: 128;
6419   readonly ESCAPE_URL_QUERY: 256;
6420   readonly ESCAPE_URL_REF: 512;
6421   readonly ESCAPE_URL_FILEPATH: 112;
6422   readonly ESCAPE_URL_MINIMAL: 1023;
6423   readonly ESCAPE_URL_FORCED: 1024;
6424   readonly ESCAPE_URL_ONLY_ASCII: 2048;
6425   readonly ESCAPE_URL_ONLY_NONASCII: 4096;
6426   readonly ESCAPE_URL_COLON: 16384;
6427   readonly ESCAPE_URL_SKIP_CONTROL: 32768;
6428   readonly ESCAPE_URL_EXT_HANDLER: 131072;
6430   parseRequestContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;
6431   parseResponseContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;
6432   protocolHasFlags(aURI: nsIURI, aFlag: u32): boolean;
6433   URIChainHasFlags(aURI: nsIURI, aFlags: u32): boolean;
6434   escapeString(aString: string, aEscapeType: u32): string;
6435   escapeURL(aStr: string, aFlags: u32): string;
6436   unescapeString(aStr: string, aFlags: u32): string;
6437   extractCharsetFromContentType(aTypeHeader: string, aCharset: OutParam<string>, aCharsetStart: OutParam<i32>, aCharsetEnd: OutParam<i32>): boolean;
6438   socketProcessTelemetryPing(): void;
6439   notImplemented(): void;
6442 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkConnectivityService.idl
6444 }  // global
6446 declare namespace nsINetworkConnectivityService {
6448 enum ConnectivityState {
6449   UNKNOWN = 0,
6450   OK = 1,
6451   NOT_AVAILABLE = 2,
6456 declare global {
6458 interface nsINetworkConnectivityService extends nsISupports, Enums<typeof nsINetworkConnectivityService.ConnectivityState> {
6459   readonly DNSv4: nsINetworkConnectivityService.ConnectivityState;
6460   readonly DNSv6: nsINetworkConnectivityService.ConnectivityState;
6461   readonly IPv4: nsINetworkConnectivityService.ConnectivityState;
6462   readonly IPv6: nsINetworkConnectivityService.ConnectivityState;
6463   readonly NAT64: nsINetworkConnectivityService.ConnectivityState;
6464   recheckDNS(): void;
6465   recheckIPConnectivity(): void;
6468 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInfoService.idl
6470 interface nsIListNetworkAddressesListener extends nsISupports {
6471   onListedNetworkAddresses(aAddressArray: string[]): void;
6472   onListNetworkAddressesFailed(): void;
6475 interface nsIGetHostnameListener extends nsISupports {
6476   onGotHostname(aHostname: string): void;
6477   onGetHostnameFailed(): void;
6480 interface nsINetworkInfoService extends nsISupports {
6481   listNetworkAddresses(aListener: nsIListNetworkAddressesListener): void;
6482   getHostname(aListener: nsIGetHostnameListener): void;
6485 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInterceptController.idl
6487 interface nsIInterceptedBodyCallback extends nsISupports {
6488   bodyComplete(aRv: nsresult): void;
6491 interface nsIInterceptedChannel extends nsISupports {
6492   resetInterception(bypass: boolean): void;
6493   synthesizeStatus(status: u16, reason: string): void;
6494   synthesizeHeader(name: string, value: string): void;
6495   startSynthesizedResponse(body: nsIInputStream, callback: nsIInterceptedBodyCallback, channel: nsICacheInfoChannel, finalURLSpec: string, responseRedirected: boolean): void;
6496   finishSynthesizedResponse(): void;
6497   cancelInterception(status: nsresult): void;
6498   readonly channel: nsIChannel;
6499   readonly secureUpgradedChannelURI: nsIURI;
6502 interface nsINetworkInterceptController extends nsISupports {
6503   shouldPrepareForIntercept(aURI: nsIURI, aChannel: nsIChannel): boolean;
6504   channelIntercepted(aChannel: nsIInterceptedChannel): void;
6507 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkLinkService.idl
6509 interface nsINetworkLinkService extends nsISupports {
6510   readonly LINK_TYPE_UNKNOWN: 0;
6511   readonly LINK_TYPE_ETHERNET: 1;
6512   readonly LINK_TYPE_USB: 2;
6513   readonly LINK_TYPE_WIFI: 3;
6514   readonly LINK_TYPE_WIMAX: 4;
6515   readonly LINK_TYPE_MOBILE: 9;
6516   readonly NONE_DETECTED: 0;
6517   readonly VPN_DETECTED: 1;
6518   readonly PROXY_DETECTED: 2;
6519   readonly NRPT_DETECTED: 4;
6521   readonly isLinkUp: boolean;
6522   readonly linkStatusKnown: boolean;
6523   readonly linkType: u32;
6524   readonly networkID: string;
6525   readonly dnsSuffixList: string[];
6526   readonly resolvers: nsINetAddr[];
6527   readonly platformDNSIndications: u32;
6530 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictor.idl
6532 interface nsINetworkPredictor extends nsISupports {
6533   readonly PREDICT_LINK: 0;
6534   readonly PREDICT_LOAD: 1;
6535   readonly PREDICT_STARTUP: 2;
6536   readonly LEARN_LOAD_TOPLEVEL: 0;
6537   readonly LEARN_LOAD_SUBRESOURCE: 1;
6538   readonly LEARN_LOAD_REDIRECT: 2;
6539   readonly LEARN_STARTUP: 3;
6541   predict(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorPredictReason, originAttributes: any, verifier: nsINetworkPredictorVerifier): void;
6542   learn(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorLearnReason, originAttributes: any): void;
6543   reset(): void;
6546 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictorVerifier.idl
6548 interface nsINetworkPredictorVerifier extends nsISupports {
6549   onPredictPrefetch(uri: nsIURI, status: u32): void;
6550   onPredictPreconnect(uri: nsIURI): void;
6551   onPredictDNS(uri: nsIURI): void;
6554 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINullChannel.idl
6556 interface nsINullChannel extends nsISupports {
6559 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentChannel.idl
6561 interface nsIParentChannel extends nsIStreamListener {
6562   delete(): void;
6563   readonly remoteType: string;
6566 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentRedirectingChannel.idl
6568 interface nsIParentRedirectingChannel extends nsIParentChannel {
6569   startRedirect(newChannel: nsIChannel, redirectFlags: u32, callback: nsIAsyncVerifyRedirectCallback): void;
6570   continueVerification(callback: nsIAsyncVerifyRedirectReadyCallback): void;
6571   completeRedirect(succeeded: nsresult): void;
6574 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermission.idl
6576 interface nsIPermission extends nsISupports {
6577   readonly principal: nsIPrincipal;
6578   readonly type: string;
6579   readonly capability: u32;
6580   readonly expireType: u32;
6581   readonly expireTime: i64;
6582   readonly modificationTime: i64;
6583   matches(principal: nsIPrincipal, exactHost: boolean): boolean;
6584   matchesURI(uri: nsIURI, exactHost: boolean): boolean;
6587 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermissionManager.idl
6589 interface nsIPermissionManager extends nsISupports {
6590   readonly UNKNOWN_ACTION: 0;
6591   readonly ALLOW_ACTION: 1;
6592   readonly DENY_ACTION: 2;
6593   readonly PROMPT_ACTION: 3;
6594   readonly EXPIRE_NEVER: 0;
6595   readonly EXPIRE_SESSION: 1;
6596   readonly EXPIRE_TIME: 2;
6597   readonly EXPIRE_POLICY: 3;
6599   getAllForPrincipal(principal: nsIPrincipal): nsIPermission[];
6600   getAllWithTypePrefix(prefix: string): nsIPermission[];
6601   getAllByTypes(types: string[]): nsIPermission[];
6602   getAllByTypeSince(type: string, since: i64): nsIPermission[];
6603   addFromPrincipal(principal: nsIPrincipal, type: string, permission: u32, expireType?: u32, expireTime?: i64): void;
6604   addFromPrincipalAndPersistInPrivateBrowsing(principal: nsIPrincipal, type: string, permission: u32): void;
6605   removeFromPrincipal(principal: nsIPrincipal, type: string): void;
6606   removePermission(perm: nsIPermission): void;
6607   removeAll(): void;
6608   removeAllSince(since: i64): void;
6609   removeByType(type: string): void;
6610   removeByTypeSince(type: string, since: i64): void;
6611   testPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;
6612   testExactPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;
6613   testExactPermanentPermission(principal: nsIPrincipal, type: string): u32;
6614   getPermissionObject(principal: nsIPrincipal, type: string, exactHost: boolean): nsIPermission;
6615   readonly all: nsIPermission[];
6616   removePermissionsWithAttributes(patternAsJSON: string): void;
6619 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrivateBrowsingChannel.idl
6621 interface nsIPrivateBrowsingChannel extends nsISupports {
6622   setPrivate(aPrivate: boolean): void;
6623   readonly isChannelPrivate: boolean;
6626 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProgressEventSink.idl
6628 interface nsIProgressEventSink extends nsISupports {
6629   onProgress(aRequest: nsIRequest, aProgress: i64, aProgressMax: i64): void;
6630   onStatus(aRequest: nsIRequest, aStatus: nsresult, aStatusArg: string): void;
6633 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrompt.idl
6635 interface nsIPrompt extends nsISupports {
6636   readonly BUTTON_POS_0: 1;
6637   readonly BUTTON_POS_1: 256;
6638   readonly BUTTON_POS_2: 65536;
6639   readonly BUTTON_TITLE_OK: 1;
6640   readonly BUTTON_TITLE_CANCEL: 2;
6641   readonly BUTTON_TITLE_YES: 3;
6642   readonly BUTTON_TITLE_NO: 4;
6643   readonly BUTTON_TITLE_SAVE: 5;
6644   readonly BUTTON_TITLE_DONT_SAVE: 6;
6645   readonly BUTTON_TITLE_REVERT: 7;
6646   readonly BUTTON_TITLE_IS_STRING: 127;
6647   readonly BUTTON_POS_0_DEFAULT: 0;
6648   readonly BUTTON_POS_1_DEFAULT: 16777216;
6649   readonly BUTTON_POS_2_DEFAULT: 33554432;
6650   readonly BUTTON_DELAY_ENABLE: 67108864;
6651   readonly SHOW_SPINNER: 134217728;
6652   readonly STD_OK_CANCEL_BUTTONS: 513;
6653   readonly STD_YES_NO_BUTTONS: 1027;
6654   readonly MODAL_TYPE_CONTENT: 1;
6655   readonly MODAL_TYPE_TAB: 2;
6656   readonly MODAL_TYPE_WINDOW: 3;
6657   readonly MODAL_TYPE_INTERNAL_WINDOW: 4;
6659   alert(dialogTitle: string, text: string): void;
6660   alertCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): void;
6661   confirm(dialogTitle: string, text: string): boolean;
6662   confirmCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): boolean;
6663   confirmEx(dialogTitle: string, text: string, buttonFlags: u32, button0Title: string, button1Title: string, button2Title: string, checkMsg: string, checkValue: InOutParam<boolean>): i32;
6664   prompt(dialogTitle: string, text: string, value: InOutParam<string>, checkMsg: string, checkValue: InOutParam<boolean>): boolean;
6665   promptPassword(dialogTitle: string, text: string, password: InOutParam<string>): boolean;
6666   promptUsernameAndPassword(dialogTitle: string, text: string, username: InOutParam<string>, password: InOutParam<string>): boolean;
6667   select(dialogTitle: string, text: string, selectList: string[], outSelection: OutParam<i32>): boolean;
6670 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolHandler.idl
6672 interface nsIProtocolHandlerWithDynamicFlags extends nsISupports {
6673   getFlagsForURI(aURI: nsIURI): u32;
6676 interface nsIProtocolHandler extends nsISupports {
6677   readonly URI_STD: 0;
6678   readonly URI_NORELATIVE: 1;
6679   readonly URI_NOAUTH: 2;
6680   readonly ALLOWS_PROXY: 4;
6681   readonly ALLOWS_PROXY_HTTP: 8;
6682   readonly URI_INHERITS_SECURITY_CONTEXT: 16;
6683   readonly URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT: 32;
6684   readonly URI_LOADABLE_BY_ANYONE: 64;
6685   readonly URI_DANGEROUS_TO_LOAD: 128;
6686   readonly URI_IS_UI_RESOURCE: 256;
6687   readonly URI_IS_LOCAL_FILE: 512;
6688   readonly URI_LOADABLE_BY_SUBSUMERS: 1024;
6689   readonly URI_DOES_NOT_RETURN_DATA: 2048;
6690   readonly URI_IS_LOCAL_RESOURCE: 4096;
6691   readonly URI_OPENING_EXECUTES_SCRIPT: 8192;
6692   readonly URI_NON_PERSISTABLE: 16384;
6693   readonly URI_CROSS_ORIGIN_NEEDS_WEBAPPS_PERM: 32768;
6694   readonly URI_SYNC_LOAD_IS_OK: 65536;
6695   readonly URI_IS_POTENTIALLY_TRUSTWORTHY: 131072;
6696   readonly URI_FETCHABLE_BY_ANYONE: 262144;
6697   readonly ORIGIN_IS_FULL_SPEC: 524288;
6698   readonly URI_SCHEME_NOT_SELF_LINKABLE: 1048576;
6699   readonly URI_LOADABLE_BY_EXTENSIONS: 2097152;
6700   readonly URI_DISALLOW_IN_PRIVATE_CONTEXT: 4194304;
6701   readonly URI_FORBIDS_COOKIE_ACCESS: 8388608;
6702   readonly WEBEXT_URI_WEB_ACCESSIBLE: 16777216;
6703   readonly URI_HAS_WEB_EXPOSED_ORIGIN: 33554432;
6704   readonly DYNAMIC_URI_FLAGS: 57016512;
6706   readonly scheme: string;
6707   newChannel(aURI: nsIURI, aLoadinfo: nsILoadInfo): nsIChannel;
6708   allowPort(port: i32, scheme: string): boolean;
6711 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyCallback.idl
6713 interface nsIProtocolProxyCallback extends nsISupports {
6714   onProxyAvailable(aRequest: nsICancelable, aChannel: nsIChannel, aProxyInfo: nsIProxyInfo, aStatus: nsresult): void;
6717 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyFilter.idl
6719 interface nsIProxyProtocolFilterResult extends nsISupports {
6720   onProxyFilterResult(aProxy: nsIProxyInfo): void;
6723 interface nsIProtocolProxyFilter extends nsISupports {
6724   applyFilter(aURI: nsIURI, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;
6727 interface nsIProtocolProxyChannelFilter extends nsISupports {
6728   applyFilter(aChannel: nsIChannel, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;
6731 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService.idl
6733 interface nsIProxyConfigChangedCallback extends nsISupports {
6734   onProxyConfigChanged(): void;
6737 interface nsIProtocolProxyService extends nsISupports {
6738   readonly RESOLVE_PREFER_SOCKS_PROXY: 2;
6739   readonly RESOLVE_IGNORE_URI_SCHEME: 4;
6740   readonly RESOLVE_PREFER_HTTPS_PROXY: 12;
6741   readonly RESOLVE_ALWAYS_TUNNEL: 16;
6742   readonly PROXYCONFIG_DIRECT: 0;
6743   readonly PROXYCONFIG_MANUAL: 1;
6744   readonly PROXYCONFIG_PAC: 2;
6745   readonly PROXYCONFIG_WPAD: 4;
6746   readonly PROXYCONFIG_SYSTEM: 5;
6748   asyncResolve(aChannelOrURI: nsISupports, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;
6749   newProxyInfo(aType: string, aHost: string, aPort: i32, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;
6750   newProxyInfoWithAuth(aType: string, aHost: string, aPort: i32, aUsername: string, aPassword: string, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;
6751   getFailoverForProxy(aProxyInfo: nsIProxyInfo, aURI: nsIURI, aReason: nsresult): nsIProxyInfo;
6752   registerFilter(aFilter: nsIProtocolProxyFilter, aPosition: u32): void;
6753   registerChannelFilter(aFilter: nsIProtocolProxyChannelFilter, aPosition: u32): void;
6754   unregisterFilter(aFilter: nsIProtocolProxyFilter): void;
6755   unregisterChannelFilter(aFilter: nsIProtocolProxyChannelFilter): void;
6756   addProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;
6757   removeProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;
6758   notifyProxyConfigChangedInternal(): void;
6759   readonly proxyConfigType: u32;
6762 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService2.idl
6764 interface nsIProtocolProxyService2 extends nsIProtocolProxyService {
6765   reloadPAC(): void;
6766   asyncResolve2(aChannel: nsIChannel, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;
6769 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedChannel.idl
6771 interface nsIProxiedChannel extends nsISupports {
6772   readonly proxyInfo: nsIProxyInfo;
6773   readonly httpProxyConnectResponseCode: i32;
6776 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedProtocolHandler.idl
6778 interface nsIProxiedProtocolHandler extends nsIProtocolHandler {
6779   newProxiedChannel(uri: nsIURI, proxyInfo: nsIProxyInfo, proxyResolveFlags: u32, proxyURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
6782 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxyInfo.idl
6784 interface nsIProxyInfo extends nsISupports {
6785   readonly TRANSPARENT_PROXY_RESOLVES_HOST: 1;
6787   readonly host: string;
6788   readonly port: i32;
6789   readonly type: string;
6790   readonly flags: u32;
6791   readonly resolveFlags: u32;
6792   readonly username: string;
6793   readonly password: string;
6794   readonly failoverTimeout: u32;
6795   failoverProxy: nsIProxyInfo;
6796   sourceId: string;
6797   readonly proxyAuthorizationHeader: string;
6798   readonly connectionIsolationKey: string;
6801 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRandomGenerator.idl
6803 interface nsIRandomGenerator extends nsISupports {
6804   generateRandomBytes(aLength: u32): OutParam<u8[]>;
6805   generateRandomBytesInto(aBuffer: u8[], aLength: u32): void;
6808 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectChannelRegistrar.idl
6810 interface nsIRedirectChannelRegistrar extends nsISupports {
6811   registerChannel(channel: nsIChannel, id: u64): void;
6812   linkChannels(id: u64, channel: nsIParentChannel): nsIChannel;
6813   getRegisteredChannel(id: u64): nsIChannel;
6814   getParentChannel(id: u64): nsIParentChannel;
6815   deregisterChannels(id: u64): void;
6818 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectHistoryEntry.idl
6820 interface nsIRedirectHistoryEntry extends nsISupports {
6821   readonly principal: nsIPrincipal;
6822   readonly referrerURI: nsIURI;
6823   readonly remoteAddress: string;
6826 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectResultListener.idl
6828 interface nsIRedirectResultListener extends nsISupports {
6829   onRedirectResult(status: nsresult): void;
6832 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequest.idl
6834 }  // global
6836 declare namespace nsIRequest {
6838 enum TRRMode {
6839   TRR_DEFAULT_MODE = 0,
6840   TRR_DISABLED_MODE = 1,
6841   TRR_FIRST_MODE = 2,
6842   TRR_ONLY_MODE = 3,
6847 declare global {
6849 interface nsIRequest extends nsISupports, Enums<typeof nsIRequest.TRRMode> {
6850   readonly LOAD_REQUESTMASK: 65535;
6851   readonly LOAD_NORMAL: 0;
6852   readonly LOAD_BACKGROUND: 1;
6853   readonly LOAD_HTML_OBJECT_DATA: 2;
6854   readonly LOAD_DOCUMENT_NEEDS_COOKIE: 4;
6855   readonly LOAD_TRR_MASK: 24;
6856   readonly LOAD_TRR_DISABLED_MODE: 8;
6857   readonly LOAD_TRR_FIRST_MODE: 16;
6858   readonly LOAD_TRR_ONLY_MODE: 24;
6859   readonly LOAD_ANONYMOUS_ALLOW_CLIENT_CERT: 32;
6860   readonly INHIBIT_CACHING: 128;
6861   readonly INHIBIT_PERSISTENT_CACHING: 256;
6862   readonly LOAD_BYPASS_CACHE: 512;
6863   readonly LOAD_FROM_CACHE: 1024;
6864   readonly VALIDATE_ALWAYS: 2048;
6865   readonly VALIDATE_NEVER: 4096;
6866   readonly VALIDATE_ONCE_PER_SESSION: 8192;
6867   readonly LOAD_ANONYMOUS: 16384;
6868   readonly LOAD_FRESH_CONNECTION: 32768;
6870   readonly name: string;
6871   isPending(): boolean;
6872   readonly status: nsresult;
6873   cancel(aStatus: nsresult): void;
6874   suspend(): void;
6875   resume(): void;
6876   loadGroup: nsILoadGroup;
6877   loadFlags: nsLoadFlags;
6878   getTRRMode(): nsIRequest.TRRMode;
6879   setTRRMode(mode: nsIRequest.TRRMode): void;
6880   cancelWithReason(aStatus: nsresult, aReason: string): void;
6881   canceledReason: string;
6884 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestContext.idl
6886 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserver.idl
6888 interface nsIRequestObserver extends nsISupports {
6889   onStartRequest(aRequest: nsIRequest): void;
6890   onStopRequest(aRequest: nsIRequest, aStatusCode: nsresult): void;
6893 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserverProxy.idl
6895 interface nsIRequestObserverProxy extends nsIRequestObserver {
6896   init(observer: nsIRequestObserver, context: nsISupports): void;
6899 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIResumableChannel.idl
6901 interface nsIResumableChannel extends nsISupports {
6902   resumeAt(startPos: u64, entityID: string): void;
6903   readonly entityID: string;
6906 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISecCheckWrapChannel.idl
6908 interface nsISecCheckWrapChannel extends nsISupports {
6909   readonly innerChannel: nsIChannel;
6912 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISecureBrowserUI.idl
6914 interface nsISecureBrowserUI extends nsISupports {
6915   readonly state: u32;
6916   readonly isSecureContext: boolean;
6917   readonly secInfo: nsITransportSecurityInfo;
6920 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISensitiveInfoHiddenURI.idl
6922 interface nsISensitiveInfoHiddenURI extends nsISupports {
6923   getSensitiveInfoHiddenSpec(): string;
6926 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISerializationHelper.idl
6928 interface nsISerializationHelper extends nsISupports {
6929   serializeToString(serializable: nsISerializable): string;
6930   deserializeObject(input: string): nsISupports;
6933 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIServerSocket.idl
6935 interface nsIServerSocket extends nsISupports {
6936   readonly LoopbackOnly: 1;
6937   readonly KeepWhenOffline: 2;
6939   init(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;
6940   initIPv6(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;
6941   initDualStack(aPort: i32, aBackLog: i32): void;
6942   initSpecialConnection(aPort: i32, aFlags: nsServerSocketFlag, aBackLog: i32): void;
6943   initWithFilename(aPath: nsIFile, aPermissions: u32, aBacklog: i32): void;
6944   initWithAbstractAddress(aName: string, aBacklog: i32): void;
6945   close(): void;
6946   asyncListen(aListener: nsIServerSocketListener): void;
6947   readonly port: i32;
6950 interface nsIServerSocketListener extends nsISupports {
6951   onSocketAccepted(aServ: nsIServerSocket, aTransport: nsISocketTransport): void;
6952   onStopListening(aServ: nsIServerSocket, aStatus: nsresult): void;
6955 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleStreamListener.idl
6957 interface nsISimpleStreamListener extends nsIStreamListener {
6958   init(aSink: nsIOutputStream, aObserver: nsIRequestObserver): void;
6961 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleURIMutator.idl
6963 interface nsISimpleURIMutator extends nsISupports {
6964   setSpecAndFilterWhitespace(aSpec: string): nsIURIMutator;
6967 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketFilter.idl
6969 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransport.idl
6971 interface nsISocketTransport extends nsITransport {
6972   readonly TIMEOUT_CONNECT: 0;
6973   readonly TIMEOUT_READ_WRITE: 1;
6974   readonly STATUS_RESOLVING: 4915203;
6975   readonly STATUS_RESOLVED: 4915211;
6976   readonly STATUS_CONNECTING_TO: 4915207;
6977   readonly STATUS_CONNECTED_TO: 4915204;
6978   readonly STATUS_SENDING_TO: 4915205;
6979   readonly STATUS_WAITING_FOR: 4915210;
6980   readonly STATUS_RECEIVING_FROM: 4915206;
6981   readonly STATUS_TLS_HANDSHAKE_STARTING: 4915212;
6982   readonly STATUS_TLS_HANDSHAKE_ENDED: 4915213;
6983   readonly BYPASS_CACHE: 1;
6984   readonly ANONYMOUS_CONNECT: 2;
6985   readonly DISABLE_IPV6: 4;
6986   readonly NO_PERMANENT_STORAGE: 8;
6987   readonly DISABLE_IPV4: 16;
6988   readonly DISABLE_RFC1918: 32;
6989   readonly BE_CONSERVATIVE: 64;
6990   readonly DISABLE_TRR: 128;
6991   readonly REFRESH_CACHE: 256;
6992   readonly RETRY_WITH_DIFFERENT_IP_FAMILY: 512;
6993   readonly DONT_TRY_ECH: 1024;
6994   readonly TRR_MODE_FLAGS: 6144;
6995   readonly USE_IP_HINT_ADDRESS: 8192;
6996   readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT: 16384;
6997   readonly IS_RETRY: 32768;
6998   readonly IS_SPECULATIVE_CONNECTION: 65536;
7000   readonly host: string;
7001   readonly port: i32;
7002   originAttributes: any;
7003   getScriptablePeerAddr(): nsINetAddr;
7004   getScriptableSelfAddr(): nsINetAddr;
7005   readonly tlsSocketControl: nsITLSSocketControl;
7006   securityCallbacks: nsIInterfaceRequestor;
7007   isAlive(): boolean;
7008   getTimeout(aType: u32): u32;
7009   setTimeout(aType: u32, aValue: u32): void;
7010   setLinger(aPolarity: boolean, aTimeout: i16): void;
7011   setReuseAddrPort(reuseAddrPort: boolean): void;
7012   connectionFlags: u32;
7013   tlsFlags: u32;
7014   QoSBits: u8;
7015   recvBufferSize: u32;
7016   sendBufferSize: u32;
7017   keepaliveEnabled: boolean;
7018   setKeepaliveVals(keepaliveIdleTime: i32, keepaliveRetryInterval: i32): void;
7019   readonly resetIPFamilyPreference: boolean;
7020   readonly echConfigUsed: boolean;
7021   setEchConfig(echConfig: string): void;
7022   resolvedByTRR(): boolean;
7023   readonly effectiveTRRMode: nsIRequest.TRRMode;
7024   readonly trrSkipReason: nsITRRSkipReason.value;
7025   readonly retryDnsIfPossible: boolean;
7028 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransportService.idl
7030 type nsISTSShutdownObserver = Callable<{
7031   observe(): void;
7034 interface nsISocketTransportService extends nsISupports {
7035   createTransport(aSocketTypes: string[], aHost: string, aPort: i32, aProxyInfo: nsIProxyInfo, dnsRecord: nsIDNSRecord): nsISocketTransport;
7036   createUnixDomainTransport(aPath: nsIFile): nsISocketTransport;
7037   createUnixDomainAbstractAddressTransport(aName: string): nsISocketTransport;
7040 interface nsIRoutedSocketTransportService extends nsISocketTransportService {
7041   createRoutedTransport(aSocketTypes: string[], aHost: string, aPort: i32, aHostRoute: string, aPortRoute: i32, aProxyInfo: nsIProxyInfo, aDnsRecord: nsIDNSRecord): nsISocketTransport;
7044 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISpeculativeConnect.idl
7046 interface nsISpeculativeConnect extends nsISupports {
7047   speculativeConnect(aURI: nsIURI, aPrincipal: nsIPrincipal, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;
7048   speculativeConnectWithOriginAttributes(aURI: nsIURI, originAttributes: any, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;
7051 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStandardURL.idl
7053 interface nsIStandardURL extends nsISupports {
7054   readonly URLTYPE_STANDARD: 1;
7055   readonly URLTYPE_AUTHORITY: 2;
7056   readonly URLTYPE_NO_AUTHORITY: 3;
7059 interface nsIStandardURLMutator extends nsISupports {
7060   init(aUrlType: u32, aDefaultPort: i32, aSpec: string, aOriginCharset: string, aBaseURI: nsIURI): nsIURIMutator;
7061   setDefaultPort(aNewDefaultPort: i32): nsIURIMutator;
7064 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListener.idl
7066 interface nsIStreamListener extends nsIRequestObserver {
7067   onDataAvailable(aRequest: nsIRequest, aInputStream: nsIInputStream, aOffset: u64, aCount: u32): void;
7070 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListenerTee.idl
7072 interface nsIStreamListenerTee extends nsIThreadRetargetableStreamListener {
7073   init(listener: nsIStreamListener, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;
7074   initAsync(listener: nsIStreamListener, eventTarget: nsIEventTarget, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;
7077 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamLoader.idl
7079 interface nsIStreamLoaderObserver extends nsISupports {
7080   onStreamComplete(loader: nsIStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;
7083 interface nsIStreamLoader extends nsIThreadRetargetableStreamListener {
7084   init(aStreamObserver: nsIStreamLoaderObserver, aRequestObserver?: nsIRequestObserver): void;
7085   readonly numBytesRead: u32;
7086   readonly request: nsIRequest;
7089 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamTransportService.idl
7091 interface nsIStreamTransportService extends nsISupports {
7092   createInputTransport(aStream: nsIInputStream, aCloseWhenDone: boolean): nsITransport;
7093   InputAvailable(aStream: nsIInputStream, aCallback: nsIInputAvailableCallback): void;
7096 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISyncStreamListener.idl
7098 interface nsISyncStreamListener extends nsIStreamListener {
7099   readonly inputStream: nsIInputStream;
7102 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISystemProxySettings.idl
7104 interface nsISystemProxySettings extends nsISupports {
7105   readonly mainThreadOnly: boolean;
7106   readonly PACURI: string;
7107   getProxyForURI(testSpec: string, testScheme: string, testHost: string, testPort: i32): string;
7108   readonly systemWPADSetting: boolean;
7111 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITLSServerSocket.idl
7113 interface nsITLSServerSocket extends nsIServerSocket {
7114   readonly REQUEST_NEVER: 0;
7115   readonly REQUEST_FIRST_HANDSHAKE: 1;
7116   readonly REQUEST_ALWAYS: 2;
7117   readonly REQUIRE_FIRST_HANDSHAKE: 3;
7118   readonly REQUIRE_ALWAYS: 4;
7120   serverCert: nsIX509Cert;
7121   setSessionTickets(aSessionTickets: boolean): void;
7122   setRequestClientCertificate(aRequestClientCert: u32): void;
7123   setVersionRange(aMinVersion: u16, aMaxVersion: u16): void;
7126 interface nsITLSClientStatus extends nsISupports {
7127   readonly SSL_VERSION_3: 768;
7128   readonly TLS_VERSION_1: 769;
7129   readonly TLS_VERSION_1_1: 770;
7130   readonly TLS_VERSION_1_2: 771;
7131   readonly TLS_VERSION_1_3: 772;
7132   readonly TLS_VERSION_UNKNOWN: -1;
7134   readonly peerCert: nsIX509Cert;
7135   readonly tlsVersionUsed: i16;
7136   readonly cipherName: string;
7137   readonly keyLength: u32;
7138   readonly macLength: u32;
7141 interface nsITLSServerConnectionInfo extends nsISupports {
7142   setSecurityObserver(observer: nsITLSServerSecurityObserver): void;
7143   readonly serverSocket: nsITLSServerSocket;
7144   readonly status: nsITLSClientStatus;
7147 interface nsITLSServerSecurityObserver extends nsISupports {
7148   onHandshakeDone(aServer: nsITLSServerSocket, aStatus: nsITLSClientStatus): void;
7151 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableRequest.idl
7153 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableStreamListener.idl
7155 interface nsIThreadRetargetableStreamListener extends nsIStreamListener {
7156   checkListenerChain(): void;
7157   onDataFinished(aStatusCode: nsresult): void;
7160 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThrottledInputChannel.idl
7162 interface nsIInputChannelThrottleQueue extends nsISupports {
7163   init(aMeanBytesPerSecond: u32, aMaxBytesPerSecond: u32): void;
7164   available(aRemaining: u32): u32;
7165   recordRead(aBytesRead: u32): void;
7166   bytesProcessed(): u64;
7167   wrapStream(aInputStream: nsIInputStream): nsIAsyncInputStream;
7170 interface nsIThrottledInputChannel extends nsISupports {
7171   throttleQueue: nsIInputChannelThrottleQueue;
7174 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITimedChannel.idl
7176 interface nsIServerTiming extends nsISupports {
7177   readonly name: string;
7178   readonly duration: double;
7179   readonly description: string;
7182 interface nsITimedChannel extends nsISupports {
7183   timingEnabled: boolean;
7184   redirectCount: u8;
7185   internalRedirectCount: u8;
7186   readonly channelCreationTime: PRTime;
7187   readonly asyncOpenTime: PRTime;
7188   readonly launchServiceWorkerStartTime: PRTime;
7189   readonly launchServiceWorkerEndTime: PRTime;
7190   readonly dispatchFetchEventStartTime: PRTime;
7191   readonly dispatchFetchEventEndTime: PRTime;
7192   readonly handleFetchEventStartTime: PRTime;
7193   readonly handleFetchEventEndTime: PRTime;
7194   readonly domainLookupStartTime: PRTime;
7195   readonly domainLookupEndTime: PRTime;
7196   readonly connectStartTime: PRTime;
7197   readonly tcpConnectEndTime: PRTime;
7198   readonly secureConnectionStartTime: PRTime;
7199   readonly connectEndTime: PRTime;
7200   readonly requestStartTime: PRTime;
7201   readonly responseStartTime: PRTime;
7202   readonly responseEndTime: PRTime;
7203   readonly cacheReadStartTime: PRTime;
7204   readonly cacheReadEndTime: PRTime;
7205   readonly redirectStartTime: PRTime;
7206   readonly redirectEndTime: PRTime;
7207   readonly transactionPendingTime: PRTime;
7208   readonly serverTiming: nsIArray;
7211 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITraceableChannel.idl
7213 interface nsITraceableChannel extends nsISupports {
7214   setNewListener(aListener: nsIStreamListener, aMustApplyContentConversion?: boolean): nsIStreamListener;
7217 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITransport.idl
7219 interface nsITransport extends nsISupports {
7220   readonly OPEN_BLOCKING: 1;
7221   readonly OPEN_UNBUFFERED: 2;
7222   readonly STATUS_READING: 4915208;
7223   readonly STATUS_WRITING: 4915209;
7225   openInputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIInputStream;
7226   openOutputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIOutputStream;
7227   close(aReason: nsresult): void;
7228   setEventSink(aSink: nsITransportEventSink, aEventTarget: nsIEventTarget): void;
7231 interface nsITransportEventSink extends nsISupports {
7232   onTransportStatus(aTransport: nsITransport, aStatus: nsresult, aProgress: i64, aProgressMax: i64): void;
7235 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUDPSocket.idl
7237 interface nsIUDPSocket extends nsISupports {
7238   init(aPort: i32, aLoopbackOnly: boolean, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;
7239   init2(aAddr: string, aPort: i32, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;
7240   close(): void;
7241   asyncListen(aListener: nsIUDPSocketListener): void;
7242   syncListen(aListener: nsIUDPSocketSyncListener): void;
7243   readonly localAddr: nsINetAddr;
7244   readonly port: i32;
7245   send(host: string, port: u16, data: u8[]): u32;
7246   sendWithAddr(addr: nsINetAddr, data: u8[]): u32;
7247   sendBinaryStream(host: string, port: u16, stream: nsIInputStream): void;
7248   joinMulticast(addr: string, iface?: string): void;
7249   leaveMulticast(addr: string, iface?: string): void;
7250   multicastLoopback: boolean;
7251   multicastInterface: string;
7254 interface nsIUDPSocketListener extends nsISupports {
7255   onPacketReceived(aSocket: nsIUDPSocket, aMessage: nsIUDPMessage): void;
7256   onStopListening(aSocket: nsIUDPSocket, aStatus: nsresult): void;
7259 interface nsIUDPMessage extends nsISupports {
7260   readonly fromAddr: nsINetAddr;
7261   readonly data: string;
7262   readonly outputStream: nsIOutputStream;
7263   readonly rawData: any;
7266 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURI.idl
7268 interface nsIURI extends nsISupports {
7269   readonly spec: string;
7270   readonly prePath: string;
7271   readonly scheme: string;
7272   readonly userPass: string;
7273   readonly username: string;
7274   readonly password: string;
7275   readonly hostPort: string;
7276   readonly host: string;
7277   readonly port: i32;
7278   readonly pathQueryRef: string;
7279   equals(other: nsIURI): boolean;
7280   schemeIs(scheme: string): boolean;
7281   resolve(relativePath: string): string;
7282   readonly asciiSpec: string;
7283   readonly asciiHostPort: string;
7284   readonly asciiHost: string;
7285   readonly ref: string;
7286   equalsExceptRef(other: nsIURI): boolean;
7287   readonly specIgnoringRef: string;
7288   readonly hasRef: boolean;
7289   readonly hasUserPass: boolean;
7290   readonly filePath: string;
7291   readonly query: string;
7292   readonly hasQuery: boolean;
7293   readonly displayHost: string;
7294   readonly displayHostPort: string;
7295   readonly displaySpec: string;
7296   readonly displayPrePath: string;
7297   mutate(): nsIURIMutator;
7300 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIMutator.idl
7302 interface nsIURISetSpec extends nsISupports {
7303   setSpec(aSpec: string): nsIURIMutator;
7306 interface nsIURISetters extends nsIURISetSpec {
7307   setScheme(aScheme: string): nsIURIMutator;
7308   setUserPass(aUserPass: string): nsIURIMutator;
7309   setUsername(aUsername: string): nsIURIMutator;
7310   setPassword(aPassword: string): nsIURIMutator;
7311   setHostPort(aHostPort: string): nsIURIMutator;
7312   setHost(aHost: string): nsIURIMutator;
7313   setPort(aPort: i32): nsIURIMutator;
7314   setPathQueryRef(aPathQueryRef: string): nsIURIMutator;
7315   setRef(aRef: string): nsIURIMutator;
7316   setFilePath(aFilePath: string): nsIURIMutator;
7317   setQuery(aQuery: string): nsIURIMutator;
7320 interface nsIURIMutator extends nsIURISetters {
7321   finalize(): nsIURI;
7324 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIWithSpecialOrigin.idl
7326 interface nsIURIWithSpecialOrigin extends nsISupports {
7327   readonly origin: nsIURI;
7330 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURL.idl
7332 interface nsIURL extends nsIURI {
7333   readonly directory: string;
7334   readonly fileName: string;
7335   readonly fileBaseName: string;
7336   readonly fileExtension: string;
7337   getCommonBaseSpec(aURIToCompare: nsIURI): string;
7338   getRelativeSpec(aURIToCompare: nsIURI): string;
7341 interface nsIURLMutator extends nsISupports {
7342   setFileName(aFileName: string): nsIURIMutator;
7343   setFileBaseName(aFileBaseName: string): nsIURIMutator;
7344   setFileExtension(aFileExtension: string): nsIURIMutator;
7347 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURLParser.idl
7349 interface nsIURLParser extends nsISupports {
7350   parseURL(spec: string, specLen: i32, schemePos: OutParam<u32>, schemeLen: OutParam<i32>, authorityPos: OutParam<u32>, authorityLen: OutParam<i32>, pathPos: OutParam<u32>, pathLen: OutParam<i32>): void;
7351   parseAuthority(authority: string, authorityLen: i32, usernamePos: OutParam<u32>, usernameLen: OutParam<i32>, passwordPos: OutParam<u32>, passwordLen: OutParam<i32>, hostnamePos: OutParam<u32>, hostnameLen: OutParam<i32>, port: OutParam<i32>): void;
7352   parseUserInfo(userinfo: string, userinfoLen: i32, usernamePos: OutParam<u32>, usernameLen: OutParam<i32>, passwordPos: OutParam<u32>, passwordLen: OutParam<i32>): void;
7353   parseServerInfo(serverinfo: string, serverinfoLen: i32, hostnamePos: OutParam<u32>, hostnameLen: OutParam<i32>, port: OutParam<i32>): void;
7354   parsePath(path: string, pathLen: i32, filepathPos: OutParam<u32>, filepathLen: OutParam<i32>, queryPos: OutParam<u32>, queryLen: OutParam<i32>, refPos: OutParam<u32>, refLen: OutParam<i32>): void;
7355   parseFilePath(filepath: string, filepathLen: i32, directoryPos: OutParam<u32>, directoryLen: OutParam<i32>, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;
7356   parseFileName(filename: string, filenameLen: i32, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;
7359 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel.idl
7361 interface nsIUploadChannel extends nsISupports {
7362   setUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64): void;
7363   readonly uploadStream: nsIInputStream;
7366 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel2.idl
7368 interface nsIUploadChannel2 extends nsISupports {
7369   explicitSetUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64, aMethod: string, aStreamHasHeaders: boolean): void;
7370   readonly uploadStreamHasHeaders: boolean;
7373 // https://searchfox.org/mozilla-central/source/netwerk/base/nsPISocketTransportService.idl
7375 interface nsPISocketTransportService extends nsIRoutedSocketTransportService {
7376   init(): void;
7377   shutdown(aXpcomShutdown: boolean): void;
7378   readonly sendBufferSize: i32;
7379   offline: boolean;
7380   readonly keepaliveIdleTime: i32;
7381   readonly keepaliveRetryInterval: i32;
7382   readonly keepaliveProbeCount: i32;
7385 // https://searchfox.org/mozilla-central/source/netwerk/protocol/about/nsIAboutModule.idl
7387 interface nsIAboutModule extends nsISupports {
7388   readonly URI_SAFE_FOR_UNTRUSTED_CONTENT: 1;
7389   readonly ALLOW_SCRIPT: 2;
7390   readonly HIDE_FROM_ABOUTABOUT: 4;
7391   readonly ENABLE_INDEXED_DB: 8;
7392   readonly URI_CAN_LOAD_IN_CHILD: 16;
7393   readonly URI_MUST_LOAD_IN_CHILD: 32;
7394   readonly MAKE_UNLINKABLE: 64;
7395   readonly MAKE_LINKABLE: 128;
7396   readonly URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS: 256;
7397   readonly URI_MUST_LOAD_IN_EXTENSION_PROCESS: 512;
7398   readonly IS_SECURE_CHROME_UI: 1024;
7400   newChannel(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
7401   getURIFlags(aURI: nsIURI): u32;
7402   getChromeURI(aURI: nsIURI): nsIURI;
7405 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntry.idl
7407 interface nsICacheEntry extends nsISupports {
7408   readonly CONTENT_TYPE_UNKNOWN: 0;
7409   readonly CONTENT_TYPE_OTHER: 1;
7410   readonly CONTENT_TYPE_JAVASCRIPT: 2;
7411   readonly CONTENT_TYPE_IMAGE: 3;
7412   readonly CONTENT_TYPE_MEDIA: 4;
7413   readonly CONTENT_TYPE_STYLESHEET: 5;
7414   readonly CONTENT_TYPE_WASM: 6;
7415   readonly CONTENT_TYPE_LAST: 7;
7416   readonly NO_EXPIRATION_TIME: 4294967295;
7418   readonly key: string;
7419   readonly cacheEntryId: u64;
7420   readonly persistent: boolean;
7421   readonly fetchCount: u32;
7422   readonly lastFetched: u32;
7423   readonly lastModified: u32;
7424   readonly expirationTime: u32;
7425   setExpirationTime(expirationTime: u32): void;
7426   readonly onStartTime: u64;
7427   readonly onStopTime: u64;
7428   setNetworkTimes(onStartTime: u64, onStopTime: u64): void;
7429   setContentType(contentType: u8): void;
7430   forceValidFor(aSecondsToTheFuture: u32): void;
7431   readonly isForcedValid: boolean;
7432   markForcedValidUse(): void;
7433   openInputStream(offset: i64): nsIInputStream;
7434   openOutputStream(offset: i64, predictedSize: i64): nsIOutputStream;
7435   securityInfo: nsITransportSecurityInfo;
7436   readonly storageDataSize: u32;
7437   asyncDoom(listener: nsICacheEntryDoomCallback): void;
7438   getMetaDataElement(key: string): string;
7439   setMetaDataElement(key: string, value: string): void;
7440   visitMetaData(visitor: nsICacheEntryMetaDataVisitor): void;
7441   metaDataReady(): void;
7442   setValid(): void;
7443   dismiss(): void;
7444   readonly diskStorageSizeInKB: u32;
7445   recreate(aMemoryOnly?: boolean): nsICacheEntry;
7446   readonly dataSize: i64;
7447   readonly altDataSize: i64;
7448   readonly altDataType: string;
7449   openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;
7450   openAlternativeInputStream(type: string): nsIInputStream;
7451   readonly loadContextInfo: nsILoadContextInfo;
7452   close(): void;
7453   markValid(): void;
7454   maybeMarkValid(): void;
7455   hasWriteAccess(aWriteAllowed: boolean): boolean;
7458 interface nsICacheEntryMetaDataVisitor extends nsISupports {
7459   onMetaDataElement(key: string, value: string): void;
7462 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryDoomCallback.idl
7464 interface nsICacheEntryDoomCallback extends nsISupports {
7465   onCacheEntryDoomed(aResult: nsresult): void;
7468 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryOpenCallback.idl
7470 interface nsICacheEntryOpenCallback extends nsISupports {
7471   readonly ENTRY_WANTED: 0;
7472   readonly RECHECK_AFTER_WRITE_FINISHED: 1;
7473   readonly ENTRY_NEEDS_REVALIDATION: 2;
7474   readonly ENTRY_NOT_WANTED: 3;
7476   onCacheEntryCheck(aEntry: nsICacheEntry): u32;
7477   onCacheEntryAvailable(aEntry: nsICacheEntry, aNew: boolean, aResult: nsresult): void;
7480 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICachePurgeLock.idl
7482 interface nsICachePurgeLock extends nsISupports {
7483   lock(profileName: string): void;
7484   isOtherInstanceRunning(): boolean;
7485   unlock(): void;
7486   getLockFile(profileName: string): nsIFile;
7489 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorage.idl
7491 interface nsICacheStorage extends nsISupports {
7492   readonly OPEN_NORMALLY: 0;
7493   readonly OPEN_TRUNCATE: 1;
7494   readonly OPEN_READONLY: 2;
7495   readonly OPEN_PRIORITY: 4;
7496   readonly OPEN_BYPASS_IF_BUSY: 8;
7497   readonly CHECK_MULTITHREADED: 16;
7498   readonly OPEN_SECRETLY: 32;
7499   readonly OPEN_INTERCEPTED: 64;
7501   asyncOpenURI(aURI: nsIURI, aIdExtension: string, aFlags: u32, aCallback: nsICacheEntryOpenCallback): void;
7502   openTruncate(aURI: nsIURI, aIdExtension: string): nsICacheEntry;
7503   exists(aURI: nsIURI, aIdExtension: string): boolean;
7504   getCacheIndexEntryAttrs(aURI: nsIURI, aIdExtension: string, aHasAltData: OutParam<boolean>, aSizeInKB: OutParam<u32>): void;
7505   asyncDoomURI(aURI: nsIURI, aIdExtension: string, aCallback: nsICacheEntryDoomCallback): void;
7506   asyncEvictStorage(aCallback: nsICacheEntryDoomCallback): void;
7507   asyncVisitStorage(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;
7510 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageService.idl
7512 interface nsICacheStorageService extends nsISupports {
7513   readonly PURGE_DISK_DATA_ONLY: 1;
7514   readonly PURGE_DISK_ALL: 2;
7515   readonly PURGE_EVERYTHING: 3;
7517   memoryCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7518   diskCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7519   pinningCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7520   clearOrigin(aPrincipal: nsIPrincipal): void;
7521   clearBaseDomain(aBaseDomain: string): void;
7522   clearOriginAttributes(aOriginAttributes: string): void;
7523   clear(): void;
7524   purgeFromMemory(aWhat: u32): void;
7525   readonly ioTarget: nsIEventTarget;
7526   asyncGetDiskConsumption(aObserver: nsICacheStorageConsumptionObserver): void;
7527   asyncVisitAllStorages(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;
7530 interface nsICacheStorageConsumptionObserver extends nsISupports {
7531   onNetworkCacheDiskConsumption(aDiskSize: i64): void;
7534 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageVisitor.idl
7536 interface nsICacheStorageVisitor extends nsISupports {
7537   onCacheStorageInfo(aEntryCount: u32, aConsumption: u64, aCapacity: u64, aDiskDirectory: nsIFile): void;
7538   onCacheEntryInfo(aURI: nsIURI, aIdEnhance: string, aDataSize: i64, aAltDataSize: i64, aFetchCount: u32, aLastModifiedTime: u32, aExpirationTime: u32, aPinned: boolean, aInfo: nsILoadContextInfo): void;
7539   onCacheEntryVisitCompleted(): void;
7542 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheTesting.idl
7544 interface nsICacheTesting extends nsISupports {
7545   suspendCacheIOThread(aLevel: u32): void;
7546   resumeCacheIOThread(): void;
7547   flush(aObserver: nsIObserver): void;
7550 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookie.idl
7552 }  // global
7554 declare namespace nsICookie {
7556 enum schemeType {
7557   SCHEME_UNSET = 0,
7558   SCHEME_HTTP = 1,
7559   SCHEME_HTTPS = 2,
7560   SCHEME_FILE = 4,
7565 declare global {
7567 interface nsICookie extends nsISupports, Enums<typeof nsICookie.schemeType> {
7568   readonly SAMESITE_NONE: 0;
7569   readonly SAMESITE_LAX: 1;
7570   readonly SAMESITE_STRICT: 2;
7572   readonly name: string;
7573   readonly value: string;
7574   readonly isDomain: boolean;
7575   readonly host: string;
7576   readonly rawHost: string;
7577   readonly path: string;
7578   readonly isSecure: boolean;
7579   readonly expires: u64;
7580   readonly expiry: i64;
7581   readonly originAttributes: any;
7582   readonly isSession: boolean;
7583   readonly isHttpOnly: boolean;
7584   readonly creationTime: i64;
7585   readonly lastAccessed: i64;
7586   readonly sameSite: i32;
7587   readonly schemeMap: nsICookie.schemeType;
7588   readonly isPartitioned: boolean;
7591 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieJarSettings.idl
7593 interface nsICookieJarSettings extends nsISerializable {
7594   readonly cookieBehavior: u32;
7595   readonly isFirstPartyIsolated: boolean;
7596   readonly shouldResistFingerprinting: boolean;
7597   readonly rejectThirdPartyContexts: boolean;
7598   readonly limitForeignContexts: boolean;
7599   readonly blockingAllThirdPartyContexts: boolean;
7600   readonly blockingAllContexts: boolean;
7601   partitionForeign: boolean;
7602   readonly isOnContentBlockingAllowList: boolean;
7603   readonly partitionKey: string;
7604   readonly fingerprintingRandomizationKey: u8[];
7605   cookiePermission(aPrincipal: nsIPrincipal): u32;
7606   initWithURI(aURI: nsIURI, aIsPrivate: boolean): void;
7609 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieManager.idl
7611 interface nsICookieManager extends nsISupports {
7612   removeAll(): void;
7613   readonly cookies: nsICookie[];
7614   readonly sessionCookies: nsICookie[];
7615   getCookieBehavior(aIsPrivate: boolean): u32;
7616   remove(aHost: string, aName: string, aPath: string, aOriginAttributes: any): void;
7617   add(aHost: string, aPath: string, aName: string, aValue: string, aIsSecure: boolean, aIsHttpOnly: boolean, aIsSession: boolean, aExpiry: i64, aOriginAttributes: any, aSameSite: i32, aSchemeMap: nsICookie.schemeType): void;
7618   cookieExists(aHost: string, aPath: string, aName: string, aOriginAttributes: any): boolean;
7619   countCookiesFromHost(aHost: string): u32;
7620   getCookiesFromHost(aHost: string, aOriginAttributes: any): nsICookie[];
7621   getCookiesWithOriginAttributes(aPattern: string, aHost?: string): nsICookie[];
7622   removeCookiesWithOriginAttributes(aPattern: string, aHost?: string): void;
7623   removeCookiesFromExactHost(aHost: string, aPattern: string): void;
7624   removeAllSince(aSinceWhen: i64): Promise<any>;
7625   getCookiesSince(aSinceWhen: i64): nsICookie[];
7628 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieNotification.idl
7630 }  // global
7632 declare namespace nsICookieNotification {
7634 enum Action {
7635   COOKIE_DELETED = 0,
7636   COOKIE_ADDED = 1,
7637   COOKIE_CHANGED = 2,
7638   ALL_COOKIES_CLEARED = 3,
7639   COOKIES_BATCH_DELETED = 4,
7644 declare global {
7646 interface nsICookieNotification extends nsISupports, Enums<typeof nsICookieNotification.Action> {
7647   readonly action: nsICookieNotification.Action;
7648   readonly cookie: nsICookie;
7649   readonly baseDomain: string;
7650   readonly batchDeletedCookies: nsIArray;
7651   readonly browsingContextId: u64;
7652   readonly browsingContext: BrowsingContext;
7655 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookiePermission.idl
7657 interface nsICookiePermission extends nsISupports {
7658   readonly ACCESS_DEFAULT: 0;
7659   readonly ACCESS_ALLOW: 1;
7660   readonly ACCESS_DENY: 2;
7661   readonly ACCESS_SESSION: 8;
7664 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieService.idl
7666 type nsICookieTransactionCallback = Callable<{
7667   callback(): void;
7670 interface nsICookieService extends nsISupports {
7671   readonly BEHAVIOR_ACCEPT: 0;
7672   readonly BEHAVIOR_REJECT_FOREIGN: 1;
7673   readonly BEHAVIOR_REJECT: 2;
7674   readonly BEHAVIOR_LIMIT_FOREIGN: 3;
7675   readonly BEHAVIOR_REJECT_TRACKER: 4;
7676   readonly BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN: 5;
7677   readonly BEHAVIOR_LAST: 5;
7679   getCookieStringFromDocument(aDocument: Document): string;
7680   getCookieStringFromHttp(aURI: nsIURI, aChannel: nsIChannel): string;
7681   setCookieStringFromDocument(aDocument: Document, aCookie: string): void;
7682   setCookieStringFromHttp(aURI: nsIURI, aCookie: string, aChannel: nsIChannel): void;
7683   runInTransaction(aCallback: nsICookieTransactionCallback): void;
7686 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSAdditionalInfo.idl
7688 interface nsIDNSAdditionalInfo extends nsISupports {
7689   readonly port: i32;
7690   readonly resolverURL: string;
7693 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSByTypeRecord.idl
7695 interface nsIDNSByTypeRecord extends nsIDNSRecord {
7696   readonly type: u32;
7699 interface nsIDNSTXTRecord extends nsISupports {
7700   getRecordsAsOneString(): string;
7703 interface nsISVCParam extends nsISupports {
7704   readonly type: u16;
7707 interface nsISVCParamAlpn extends nsISupports {
7708   readonly alpn: string[];
7711 interface nsISVCParamNoDefaultAlpn extends nsISupports {
7714 interface nsISVCParamPort extends nsISupports {
7715   readonly port: u16;
7718 interface nsISVCParamIPv4Hint extends nsISupports {
7719   readonly ipv4Hint: nsINetAddr[];
7722 interface nsISVCParamEchConfig extends nsISupports {
7723   readonly echconfig: string;
7726 interface nsISVCParamIPv6Hint extends nsISupports {
7727   readonly ipv6Hint: nsINetAddr[];
7730 interface nsISVCParamODoHConfig extends nsISupports {
7731   readonly ODoHConfig: string;
7734 interface nsISVCBRecord extends nsISupports {
7735   readonly priority: u16;
7736   readonly name: string;
7737   readonly selectedAlpn: string;
7738   readonly echConfig: string;
7739   readonly ODoHConfig: string;
7740   readonly hasIPHintAddress: boolean;
7741   readonly values: nsISVCParam[];
7744 interface nsIDNSHTTPSSVCRecord extends nsISupports {
7745   readonly records: nsISVCBRecord[];
7746   GetServiceModeRecord(aNoHttp2: boolean, aNoHttp3: boolean): nsISVCBRecord;
7747   readonly hasIPAddresses: boolean;
7748   readonly allRecordsExcluded: boolean;
7749   readonly ttl: u32;
7750   GetAllRecordsWithEchConfig(aNoHttp2: boolean, aNoHttp3: boolean, aAllRecordsHaveEchConfig: OutParam<boolean>, aAllRecordsInH3ExcludedList: OutParam<boolean>): nsISVCBRecord[];
7753 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSListener.idl
7755 interface nsIDNSListener extends nsISupports {
7756   onLookupComplete(aRequest: nsICancelable, aRecord: nsIDNSRecord, aStatus: nsresult): void;
7759 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSRecord.idl
7761 interface nsIDNSRecord extends nsISupports {
7764 interface nsIDNSAddrRecord extends nsIDNSRecord {
7765   readonly canonicalName: string;
7766   getScriptableNextAddr(aPort: u16): nsINetAddr;
7767   getNextAddrAsString(): string;
7768   hasMore(): boolean;
7769   rewind(): void;
7770   reportUnusable(aPort: u16): void;
7771   IsTRR(): boolean;
7772   resolvedInSocketProcess(): boolean;
7773   readonly trrFetchDuration: double;
7774   readonly trrFetchDurationNetworkOnly: double;
7775   readonly effectiveTRRMode: nsIRequest.TRRMode;
7776   readonly trrSkipReason: nsITRRSkipReason.value;
7777   readonly ttl: u32;
7780 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSService.idl
7782 }  // global
7784 declare namespace nsIDNSService {
7786 enum ResolveType {
7787   RESOLVE_TYPE_DEFAULT = 0,
7788   RESOLVE_TYPE_TXT = 16,
7789   RESOLVE_TYPE_HTTPSSVC = 65,
7792 enum ResolverMode {
7793   MODE_NATIVEONLY = 0,
7794   MODE_RESERVED1 = 1,
7795   MODE_TRRFIRST = 2,
7796   MODE_TRRONLY = 3,
7797   MODE_RESERVED4 = 4,
7798   MODE_TRROFF = 5,
7801 enum DNSFlags {
7802   RESOLVE_DEFAULT_FLAGS = 0,
7803   RESOLVE_BYPASS_CACHE = 1,
7804   RESOLVE_CANONICAL_NAME = 2,
7805   RESOLVE_PRIORITY_MEDIUM = 4,
7806   RESOLVE_PRIORITY_LOW = 8,
7807   RESOLVE_SPECULATE = 16,
7808   RESOLVE_DISABLE_IPV6 = 32,
7809   RESOLVE_OFFLINE = 64,
7810   RESOLVE_DISABLE_IPV4 = 128,
7811   RESOLVE_ALLOW_NAME_COLLISION = 256,
7812   RESOLVE_DISABLE_TRR = 512,
7813   RESOLVE_REFRESH_CACHE = 1024,
7814   RESOLVE_TRR_MODE_MASK = 6144,
7815   RESOLVE_TRR_DISABLED_MODE = 2048,
7816   RESOLVE_IGNORE_SOCKS_DNS = 8192,
7817   RESOLVE_IP_HINT = 16384,
7818   RESOLVE_WANT_RECORD_ON_ERROR = 65536,
7819   ALL_DNSFLAGS_BITS = 131071,
7822 enum ConfirmationState {
7823   CONFIRM_OFF = 0,
7824   CONFIRM_TRYING_OK = 1,
7825   CONFIRM_OK = 2,
7826   CONFIRM_FAILED = 3,
7827   CONFIRM_TRYING_FAILED = 4,
7828   CONFIRM_DISABLED = 5,
7833 declare global {
7835 interface nsIDNSService extends nsISupports, Enums<typeof nsIDNSService.ResolveType & typeof nsIDNSService.ResolverMode & typeof nsIDNSService.DNSFlags & typeof nsIDNSService.ConfirmationState> {
7836   asyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aInfo: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aListenerTarget: nsIEventTarget, aOriginAttributes?: any): nsICancelable;
7837   newAdditionalInfo(aTrrURL: string, aPort: i32): nsIDNSAdditionalInfo;
7838   cancelAsyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aResolver: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aReason: nsresult, aOriginAttributes?: any): void;
7839   resolve(aHostName: string, aFlags: nsIDNSService.DNSFlags, aOriginAttributes?: any): nsIDNSRecord;
7840   clearCache(aTrrToo: boolean): void;
7841   reloadParentalControlEnabled(): void;
7842   setDetectedTrrURI(aURI: string): void;
7843   setHeuristicDetectionResult(value: nsITRRSkipReason.value): void;
7844   readonly heuristicDetectionResult: nsITRRSkipReason.value;
7845   getTRRSkipReasonName(value: nsITRRSkipReason.value): string;
7846   readonly lastConfirmationStatus: nsresult;
7847   readonly lastConfirmationSkipReason: nsITRRSkipReason.value;
7848   readonly currentTrrURI: string;
7849   readonly currentTrrMode: nsIDNSService.ResolverMode;
7850   readonly currentTrrConfirmationState: u32;
7851   readonly myHostName: string;
7852   readonly trrDomain: string;
7853   readonly TRRDomainKey: string;
7856 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIEffectiveTLDService.idl
7858 interface nsIEffectiveTLDService extends nsISupports {
7859   getPublicSuffix(aURI: nsIURI): string;
7860   getKnownPublicSuffix(aURI: nsIURI): string;
7861   getBaseDomain(aURI: nsIURI, aAdditionalParts?: u32): string;
7862   getSchemelessSite(aURI: nsIURI): string;
7863   getSite(aURI: nsIURI): string;
7864   getPublicSuffixFromHost(aHost: string): string;
7865   getKnownPublicSuffixFromHost(aHost: string): string;
7866   getBaseDomainFromHost(aHost: string, aAdditionalParts?: u32): string;
7867   getNextSubDomain(aHost: string): string;
7868   hasRootDomain(aInput: string, aHost: string): boolean;
7871 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIIDNService.idl
7873 interface nsIIDNService extends nsISupports {
7874   convertUTF8toACE(input: string): string;
7875   convertACEtoUTF8(input: string): string;
7876   isACE(input: string): boolean;
7877   convertToDisplayIDN(input: string, isASCII: OutParam<boolean>): string;
7880 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsINativeDNSResolverOverride.idl
7882 interface nsINativeDNSResolverOverride extends nsISupports {
7883   addIPOverride(aHost: string, aIPLiteral: string): void;
7884   addHTTPSRecordOverride(aHost: string, aData: u8[], aLength: u32): void;
7885   setCnameOverride(aHost: string, aCNAME: string): void;
7886   clearHostOverride(aHost: string): void;
7887   clearOverrides(): void;
7890 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsITRRSkipReason.idl
7892 }  // global
7894 declare namespace nsITRRSkipReason {
7896 enum value {
7897   TRR_UNSET = 0,
7898   TRR_OK = 1,
7899   TRR_NO_GSERVICE = 2,
7900   TRR_PARENTAL_CONTROL = 3,
7901   TRR_OFF_EXPLICIT = 4,
7902   TRR_REQ_MODE_DISABLED = 5,
7903   TRR_MODE_NOT_ENABLED = 6,
7904   TRR_FAILED = 7,
7905   TRR_MODE_UNHANDLED_DEFAULT = 8,
7906   TRR_MODE_UNHANDLED_DISABLED = 9,
7907   TRR_DISABLED_FLAG = 10,
7908   TRR_TIMEOUT = 11,
7909   TRR_CHANNEL_DNS_FAIL = 12,
7910   TRR_IS_OFFLINE = 13,
7911   TRR_NOT_CONFIRMED = 14,
7912   TRR_DID_NOT_MAKE_QUERY = 15,
7913   TRR_UNKNOWN_CHANNEL_FAILURE = 16,
7914   TRR_HOST_BLOCKED_TEMPORARY = 17,
7915   TRR_SEND_FAILED = 18,
7916   TRR_NET_RESET = 19,
7917   TRR_NET_TIMEOUT = 20,
7918   TRR_NET_REFUSED = 21,
7919   TRR_NET_INTERRUPT = 22,
7920   TRR_NET_INADEQ_SEQURITY = 23,
7921   TRR_NO_ANSWERS = 24,
7922   TRR_DECODE_FAILED = 25,
7923   TRR_EXCLUDED = 26,
7924   TRR_SERVER_RESPONSE_ERR = 27,
7925   TRR_RCODE_FAIL = 28,
7926   TRR_NO_CONNECTIVITY = 29,
7927   TRR_NXDOMAIN = 30,
7928   TRR_REQ_CANCELLED = 31,
7929   ODOH_KEY_NOT_USABLE = 32,
7930   ODOH_UPDATE_KEY_FAILED = 33,
7931   ODOH_KEY_NOT_AVAILABLE = 34,
7932   ODOH_ENCRYPTION_FAILED = 35,
7933   ODOH_DECRYPTION_FAILED = 36,
7934   TRR_HEURISTIC_TRIPPED_GOOGLE_SAFESEARCH = 37,
7935   TRR_HEURISTIC_TRIPPED_YOUTUBE_SAFESEARCH = 38,
7936   TRR_HEURISTIC_TRIPPED_ZSCALER_CANARY = 39,
7937   TRR_HEURISTIC_TRIPPED_CANARY = 40,
7938   TRR_HEURISTIC_TRIPPED_MODIFIED_ROOTS = 41,
7939   TRR_HEURISTIC_TRIPPED_PARENTAL_CONTROLS = 42,
7940   TRR_HEURISTIC_TRIPPED_THIRD_PARTY_ROOTS = 43,
7941   TRR_HEURISTIC_TRIPPED_ENTERPRISE_POLICY = 44,
7942   TRR_HEURISTIC_TRIPPED_VPN = 45,
7943   TRR_HEURISTIC_TRIPPED_PROXY = 46,
7944   TRR_HEURISTIC_TRIPPED_NRPT = 47,
7945   TRR_BAD_URL = 48,
7950 declare global {
7952 interface nsITRRSkipReason extends nsISupports, Enums<typeof nsITRRSkipReason.value> {
7955 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsPIDNSService.idl
7957 interface nsPIDNSService extends nsIDNSService {
7958   init(): void;
7959   shutdown(): void;
7960   prefetchEnabled: boolean;
7963 // https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileChannel.idl
7965 interface nsIFileChannel extends nsISupports {
7966   readonly file: nsIFile;
7969 // https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileProtocolHandler.idl
7971 interface nsIFileProtocolHandler extends nsIProtocolHandler {
7972   newFileURI(aFile: nsIFile): nsIURI;
7973   newFileURIMutator(file: nsIFile): nsIURIMutator;
7974   getURLSpecFromActualFile(file: nsIFile): string;
7975   getURLSpecFromDir(file: nsIFile): string;
7976   getFileFromURLSpec(url: string): nsIFile;
7977   readURLFile(file: nsIFile): nsIURI;
7978   readShellLink(file: nsIFile): nsIURI;
7981 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBackgroundChannelRegistrar.idl
7983 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBinaryHttp.idl
7985 interface nsIBinaryHttpRequest extends nsISupports {
7986   readonly method: string;
7987   readonly scheme: string;
7988   readonly authority: string;
7989   readonly path: string;
7990   readonly headerNames: string[];
7991   readonly headerValues: string[];
7992   readonly content: u8[];
7995 interface nsIBinaryHttpResponse extends nsISupports {
7996   readonly status: u16;
7997   readonly headerNames: string[];
7998   readonly headerValues: string[];
7999   readonly content: u8[];
8002 interface nsIBinaryHttp extends nsISupports {
8003   encodeRequest(request: nsIBinaryHttpRequest): u8[];
8004   decodeRequest(request: u8[]): nsIBinaryHttpRequest;
8005   decodeResponse(response: u8[]): nsIBinaryHttpResponse;
8006   encodeResponse(response: nsIBinaryHttpResponse): u8[];
8009 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIEarlyHintObserver.idl
8011 interface nsIEarlyHintObserver extends nsISupports {
8012   earlyHint(linkHeader: string, referrerPolicy: string, cspHeader: string): void;
8015 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpActivityObserver.idl
8017 interface nsIHttpActivityObserver extends nsISupports {
8018   readonly ACTIVITY_TYPE_SOCKET_TRANSPORT: 1;
8019   readonly ACTIVITY_TYPE_HTTP_TRANSACTION: 2;
8020   readonly ACTIVITY_TYPE_HTTP_CONNECTION: 3;
8021   readonly ACTIVITY_SUBTYPE_REQUEST_HEADER: 20481;
8022   readonly ACTIVITY_SUBTYPE_REQUEST_BODY_SENT: 20482;
8023   readonly ACTIVITY_SUBTYPE_RESPONSE_START: 20483;
8024   readonly ACTIVITY_SUBTYPE_RESPONSE_HEADER: 20484;
8025   readonly ACTIVITY_SUBTYPE_RESPONSE_COMPLETE: 20485;
8026   readonly ACTIVITY_SUBTYPE_TRANSACTION_CLOSE: 20486;
8027   readonly ACTIVITY_SUBTYPE_PROXY_RESPONSE_HEADER: 20487;
8028   readonly ACTIVITY_SUBTYPE_DNSANDSOCKET_CREATED: 20488;
8029   readonly ACTIVITY_SUBTYPE_SPECULATIVE_DNSANDSOCKET_CREATED: 20489;
8030   readonly ACTIVITY_SUBTYPE_ECH_SET: 20490;
8031   readonly ACTIVITY_SUBTYPE_CONNECTION_CREATED: 20491;
8033   observeActivity(aHttpChannel: nsISupports, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraSizeData: u64, aExtraStringData: string): void;
8034   readonly isActive: boolean;
8035   observeConnectionActivity(aHost: string, aPort: i32, aSSL: boolean, aHasECH: boolean, aIsHttp3: boolean, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraStringData: string): void;
8038 interface nsIHttpActivityDistributor extends nsIHttpActivityObserver {
8039   addObserver(aObserver: nsIHttpActivityObserver): void;
8040   removeObserver(aObserver: nsIHttpActivityObserver): void;
8041   observeProxyResponse: boolean;
8042   observeConnection: boolean;
8045 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthManager.idl
8047 interface nsIHttpAuthManager extends nsISupports {
8048   getAuthIdentity(aScheme: string, aHost: string, aPort: i32, aAuthType: string, aRealm: string, aPath: string, aUserDomain: OutParam<string>, aUserName: OutParam<string>, aUserPassword: OutParam<string>, aIsPrivate?: boolean, aPrincipal?: nsIPrincipal): void;
8049   setAuthIdentity(aScheme: string, aHost: string, aPort: i32, aAuthType: string, aRealm: string, aPath: string, aUserDomain: string, aUserName: string, aUserPassword: string, aIsPrivate?: boolean, aPrincipal?: nsIPrincipal): void;
8050   clearAll(): void;
8053 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticableChannel.idl
8055 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticator.idl
8057 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannel.idl
8059 interface nsIHttpChannel extends nsIIdentChannel {
8060   requestMethod: string;
8061   referrerInfo: nsIReferrerInfo;
8062   readonly protocolVersion: string;
8063   readonly transferSize: u64;
8064   readonly requestSize: u64;
8065   readonly decodedBodySize: u64;
8066   readonly encodedBodySize: u64;
8067   getRequestHeader(aHeader: string): string;
8068   setRequestHeader(aHeader: string, aValue: string, aMerge: boolean): void;
8069   setNewReferrerInfo(aUrl: string, aPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer: boolean): void;
8070   setEmptyRequestHeader(aHeader: string): void;
8071   visitRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8072   visitNonDefaultRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8073   ShouldStripRequestBodyHeader(aMethod: string): boolean;
8074   allowSTS: boolean;
8075   redirectionLimit: u32;
8076   readonly responseStatus: u32;
8077   readonly responseStatusText: string;
8078   readonly requestSucceeded: boolean;
8079   isMainDocumentChannel: boolean;
8080   getResponseHeader(header: string): string;
8081   setResponseHeader(header: string, value: string, merge: boolean): void;
8082   visitResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8083   getOriginalResponseHeader(aHeader: string, aVisitor: nsIHttpHeaderVisitor): void;
8084   visitOriginalResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8085   isNoStoreResponse(): boolean;
8086   isNoCacheResponse(): boolean;
8087   isPrivateResponse(): boolean;
8088   redirectTo(aTargetURI: nsIURI): void;
8089   upgradeToSecure(): void;
8090   topLevelContentWindowId: u64;
8091   browserId: u64;
8092   logBlockedCORSRequest(aMessage: string, aCategory: string, aIsWarning: boolean): void;
8093   logMimeTypeMismatch(aMessageName: string, aWarning: boolean, aURL: string, aContentType: string): void;
8094   classicScriptHintCharset: string;
8095   documentCharacterSet: string;
8098 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelAuthProvider.idl
8100 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelChild.idl
8102 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelInternal.idl
8104 interface nsIHttpUpgradeListener extends nsISupports {
8105   onTransportAvailable(aTransport: nsISocketTransport, aSocketIn: nsIAsyncInputStream, aSocketOut: nsIAsyncOutputStream): void;
8106   onUpgradeFailed(aErrorCode: nsresult): void;
8109 interface nsIHttpChannelInternal extends nsISupports {
8110   readonly THIRD_PARTY_FORCE_ALLOW: 1;
8111   readonly REDIRECT_MODE_FOLLOW: 0;
8112   readonly REDIRECT_MODE_ERROR: 1;
8113   readonly REDIRECT_MODE_MANUAL: 2;
8114   readonly FETCH_CACHE_MODE_DEFAULT: 0;
8115   readonly FETCH_CACHE_MODE_NO_STORE: 1;
8116   readonly FETCH_CACHE_MODE_RELOAD: 2;
8117   readonly FETCH_CACHE_MODE_NO_CACHE: 3;
8118   readonly FETCH_CACHE_MODE_FORCE_CACHE: 4;
8119   readonly FETCH_CACHE_MODE_ONLY_IF_CACHED: 5;
8121   documentURI: nsIURI;
8122   getRequestVersion(major: OutParam<u32>, minor: OutParam<u32>): void;
8123   getResponseVersion(major: OutParam<u32>, minor: OutParam<u32>): void;
8124   setCookie(aCookieHeader: string): void;
8125   thirdPartyFlags: u32;
8126   forceAllowThirdPartyCookie: boolean;
8127   channelIsForDownload: boolean;
8128   readonly localAddress: string;
8129   readonly localPort: i32;
8130   readonly remoteAddress: string;
8131   readonly remotePort: i32;
8132   HTTPUpgrade(aProtocolName: string, aListener: nsIHttpUpgradeListener): void;
8133   setConnectOnly(): void;
8134   readonly onlyConnect: boolean;
8135   allowSpdy: boolean;
8136   allowHttp3: boolean;
8137   responseTimeoutEnabled: boolean;
8138   initialRwin: u32;
8139   readonly apiRedirectToURI: nsIURI;
8140   allowAltSvc: boolean;
8141   beConservative: boolean;
8142   bypassProxy: boolean;
8143   readonly isResolvedByTRR: boolean;
8144   readonly effectiveTRRMode: nsIRequest.TRRMode;
8145   readonly trrSkipReason: nsITRRSkipReason.value;
8146   readonly isLoadedBySocketProcess: boolean;
8147   isOCSP: boolean;
8148   tlsFlags: u32;
8149   readonly lastModifiedTime: PRTime;
8150   corsIncludeCredentials: boolean;
8151   redirectMode: u32;
8152   fetchCacheMode: u32;
8153   readonly topWindowURI: nsIURI;
8154   setTopWindowURIIfUnknown(topWindowURI: nsIURI): void;
8155   readonly proxyURI: nsIURI;
8156   blockAuthPrompt: boolean;
8157   integrityMetadata: string;
8158   readonly connectionInfoHashKey: string;
8159   setIPv4Disabled(): void;
8160   setIPv6Disabled(): void;
8161   readonly crossOriginOpenerPolicy: nsILoadInfo.CrossOriginOpenerPolicy;
8162   setWaitForHTTPSSVCRecord(): void;
8163   readonly supportsHTTP3: boolean;
8164   readonly hasHTTPSRR: boolean;
8165   setEarlyHintObserver(aObserver: nsIEarlyHintObserver): void;
8166   earlyHintPreloaderId: u64;
8167   readonly isProxyUsed: boolean;
8168   setWebTransportSessionEventListener(aListener: WebTransportSessionEventListener): void;
8169   earlyHintLinkType: u32;
8170   isUserAgentHeaderModified: boolean;
8173 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpHeaderVisitor.idl
8175 type nsIHttpHeaderVisitor = Callable<{
8176   visitHeader(aHeader: string, aValue: string): void;
8179 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpProtocolHandler.idl
8181 interface nsIHttpProtocolHandler extends nsIProxiedProtocolHandler {
8182   readonly userAgent: string;
8183   readonly rfpUserAgent: string;
8184   readonly appName: string;
8185   readonly appVersion: string;
8186   readonly platform: string;
8187   readonly oscpu: string;
8188   readonly misc: string;
8189   readonly altSvcCacheKeys: string[];
8190   readonly authCacheKeys: string[];
8191   EnsureHSTSDataReady(): Promise<any>;
8192   clearCORSPreflightCache(): void;
8195 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttp.idl
8197 interface nsIObliviousHttpClientResponse extends nsISupports {
8198   decapsulate(encResponse: u8[]): u8[];
8201 interface nsIObliviousHttpClientRequest extends nsISupports {
8202   readonly encRequest: u8[];
8203   readonly response: nsIObliviousHttpClientResponse;
8206 interface nsIObliviousHttpServerResponse extends nsISupports {
8207   readonly request: u8[];
8208   encapsulate(response: u8[]): u8[];
8211 interface nsIObliviousHttpServer extends nsISupports {
8212   readonly encodedConfig: u8[];
8213   decapsulate(encRequest: u8[]): nsIObliviousHttpServerResponse;
8216 interface nsIObliviousHttp extends nsISupports {
8217   encapsulateRequest(encodedConfig: u8[], request: u8[]): nsIObliviousHttpClientRequest;
8218   server(): nsIObliviousHttpServer;
8221 interface nsIObliviousHttpService extends nsISupports {
8222   newChannel(relayURI: nsIURI, targetURI: nsIURI, encodedConfig: u8[]): nsIChannel;
8223   getTRRSettings(relayURI: OutParam<nsIURI>, encodedConfig: OutParam<u8[]>): void;
8224   clearTRRConfig(): void;
8227 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttpChannel.idl
8229 interface nsIObliviousHttpChannel extends nsIHttpChannel {
8230   readonly relayChannel: nsIHttpChannel;
8233 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIRaceCacheWithNetwork.idl
8235 interface nsIRaceCacheWithNetwork extends nsISupports {
8236   test_triggerNetwork(timeout: i32): void;
8237   test_delayCacheEntryOpeningBy(timeout: i32): void;
8238   test_triggerDelayedOpenCacheEntry(): void;
8241 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsITlsHandshakeListener.idl
8243 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIWellKnownOpportunisticUtils.idl
8245 interface nsIWellKnownOpportunisticUtils extends nsISupports {
8246   verify(aJSON: string, aOrigin: string): void;
8247   readonly valid: boolean;
8250 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/converters/nsICompressConvStats.idl
8252 interface nsICompressConvStats extends nsISupports {
8253   readonly decodedDataLength: u64;
8256 // https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsIResProtocolHandler.idl
8258 interface nsIResProtocolHandler extends nsISubstitutingProtocolHandler {
8259   allowContentToAccess(url: nsIURI): boolean;
8262 // https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl
8264 interface nsISubstitutingProtocolHandler extends nsIProtocolHandler {
8265   readonly ALLOW_CONTENT_ACCESS: 1;
8266   readonly RESOLVE_JAR_URI: 2;
8268   setSubstitution(root: string, baseURI: nsIURI): void;
8269   setSubstitutionWithFlags(root: string, baseURI: nsIURI, flags: u32): void;
8270   getSubstitution(root: string): nsIURI;
8271   hasSubstitution(root: string): boolean;
8272   resolveURI(resURI: nsIURI): string;
8275 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsINamedPipeService.idl
8277 interface nsINamedPipeDataObserver extends nsISupports {
8280 interface nsINamedPipeService extends nsISupports {
8281   isOnCurrentThread(): boolean;
8284 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProvider.idl
8286 interface nsISocketProvider extends nsISupports {
8287   readonly PROXY_RESOLVES_HOST: 1;
8288   readonly ANONYMOUS_CONNECT: 2;
8289   readonly NO_PERMANENT_STORAGE: 4;
8290   readonly BE_CONSERVATIVE: 8;
8291   readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT: 16;
8292   readonly IS_SPECULATIVE_CONNECTION: 32;
8293   readonly DONT_TRY_ECH: 1024;
8294   readonly IS_RETRY: 2048;
8295   readonly USED_PRIVATE_DNS: 4096;
8298 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProviderService.idl
8300 interface nsISocketProviderService extends nsISupports {
8301   getSocketProvider(socketType: string): nsISocketProvider;
8304 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/mozITXTToHTMLConv.idl
8306 interface mozITXTToHTMLConv extends nsIStreamConverter {
8307   readonly kEntities: 0;
8308   readonly kURLs: 2;
8309   readonly kGlyphSubstitution: 4;
8310   readonly kStructPhrase: 8;
8312   scanTXT(text: string, whattodo: u32): string;
8313   scanHTML(text: string, whattodo: u32): string;
8314   citeLevelTXT(line: string, logLineStart: OutParam<u32>): u32;
8315   findURLInPlaintext(text: string, aLength: i32, aPos: i32, aStartPos: OutParam<i32>, aEndPos: OutParam<i32>): void;
8318 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndex.idl
8320 interface nsIDirIndex extends nsISupports {
8321   readonly TYPE_UNKNOWN: 0;
8322   readonly TYPE_DIRECTORY: 1;
8323   readonly TYPE_FILE: 2;
8324   readonly TYPE_SYMLINK: 3;
8326   type: u32;
8327   location: string;
8328   size: i64;
8329   lastModified: PRTime;
8332 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndexListener.idl
8334 interface nsIDirIndexListener extends nsISupports {
8335   onIndexAvailable(aRequest: nsIRequest, aIndex: nsIDirIndex): void;
8338 interface nsIDirIndexParser extends nsIStreamListener {
8339   listener: nsIDirIndexListener;
8342 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverter.idl
8344 interface nsIStreamConverter extends nsIThreadRetargetableStreamListener {
8345   convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aCtxt: nsISupports): nsIInputStream;
8346   asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aCtxt: nsISupports): void;
8347   getConvertedType(aFromType: string, aChannel: nsIChannel): string;
8350 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverterService.idl
8352 interface nsIStreamConverterService extends nsISupports {
8353   canConvert(aFromType: string, aToType: string): boolean;
8354   convertedType(aFromType: string, aChannel: nsIChannel): string;
8355   convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aContext: nsISupports): nsIInputStream;
8356   asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aContext: nsISupports): nsIStreamListener;
8359 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsITXTToHTMLConv.idl
8361 interface nsITXTToHTMLConv extends nsIStreamConverter {
8362   setTitle(text: string): void;
8363   preFormatHTML(value: boolean): void;
8366 // https://searchfox.org/mozilla-central/source/netwerk/protocol/viewsource/nsIViewSourceChannel.idl
8368 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsITransportProvider.idl
8370 interface nsITransportProvider extends nsISupports {
8371   setListener(listener: nsIHttpUpgradeListener): void;
8374 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketChannel.idl
8376 interface nsIWebSocketChannel extends nsISupports {
8377   readonly CLOSE_NORMAL: 1000;
8378   readonly CLOSE_GOING_AWAY: 1001;
8379   readonly CLOSE_PROTOCOL_ERROR: 1002;
8380   readonly CLOSE_UNSUPPORTED_DATATYPE: 1003;
8381   readonly CLOSE_NO_STATUS: 1005;
8382   readonly CLOSE_ABNORMAL: 1006;
8383   readonly CLOSE_INVALID_PAYLOAD: 1007;
8384   readonly CLOSE_POLICY_VIOLATION: 1008;
8385   readonly CLOSE_TOO_LARGE: 1009;
8386   readonly CLOSE_EXTENSION_MISSING: 1010;
8387   readonly CLOSE_INTERNAL_ERROR: 1011;
8388   readonly CLOSE_TLS_FAILED: 1015;
8390   readonly originalURI: nsIURI;
8391   readonly URI: nsIURI;
8392   notificationCallbacks: nsIInterfaceRequestor;
8393   readonly securityInfo: nsITransportSecurityInfo;
8394   loadGroup: nsILoadGroup;
8395   loadInfo: nsILoadInfo;
8396   protocol: string;
8397   readonly extensions: string;
8398   readonly httpChannelId: u64;
8399   initLoadInfo(aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): void;
8400   asyncOpen(aURI: nsIURI, aOrigin: string, aOriginAttributes: any, aInnerWindowID: u64, aListener: nsIWebSocketListener, aContext: nsISupports): void;
8401   close(aCode: u16, aReason: string): void;
8402   sendMsg(aMsg: string): void;
8403   sendBinaryMsg(aMsg: string): void;
8404   sendBinaryStream(aStream: nsIInputStream, length: u32): void;
8405   pingInterval: u32;
8406   pingTimeout: u32;
8407   serial: u32;
8408   setServerParameters(aProvider: nsITransportProvider, aNegotiatedExtensions: string): void;
8411 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketEventService.idl
8413 interface nsIWebSocketFrame extends nsISupports {
8414   readonly OPCODE_CONTINUATION: 0;
8415   readonly OPCODE_TEXT: 1;
8416   readonly OPCODE_BINARY: 2;
8417   readonly OPCODE_CLOSE: 8;
8418   readonly OPCODE_PING: 9;
8419   readonly OPCODE_PONG: 10;
8421   readonly timeStamp: DOMHighResTimeStamp;
8422   readonly finBit: boolean;
8423   readonly rsvBit1: boolean;
8424   readonly rsvBit2: boolean;
8425   readonly rsvBit3: boolean;
8426   readonly opCode: u16;
8427   readonly maskBit: boolean;
8428   readonly mask: u32;
8429   readonly payload: string;
8432 interface nsIWebSocketEventListener extends nsISupports {
8433   readonly TYPE_STRING: 0;
8434   readonly TYPE_BLOB: 1;
8435   readonly TYPE_ARRAYBUFFER: 2;
8437   webSocketCreated(aWebSocketSerialID: u32, aURI: string, aProtocols: string): void;
8438   webSocketOpened(aWebSocketSerialID: u32, aEffectiveURI: string, aProtocols: string, aExtensions: string, aHttpChannelId: u64): void;
8439   webSocketMessageAvailable(aWebSocketSerialID: u32, aMessage: string, aType: u16): void;
8440   webSocketClosed(aWebSocketSerialID: u32, aWasClean: boolean, aCode: u16, aReason: string): void;
8441   frameReceived(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;
8442   frameSent(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;
8445 interface nsIWebSocketEventService extends nsISupports {
8446   sendMessage(aWebSocketSerialID: u32, aMessage: string): void;
8447   addListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;
8448   removeListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;
8449   hasListenerFor(aInnerWindowID: u64): boolean;
8452 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketImpl.idl
8454 interface nsIWebSocketImpl extends nsISupports {
8455   sendMessage(aMessage: string): void;
8458 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketListener.idl
8460 interface nsIWebSocketListener extends nsISupports {
8461   onStart(aContext: nsISupports): void;
8462   onStop(aContext: nsISupports, aStatusCode: nsresult): void;
8463   onMessageAvailable(aContext: nsISupports, aMsg: string): void;
8464   onBinaryMessageAvailable(aContext: nsISupports, aMsg: string): void;
8465   onAcknowledge(aContext: nsISupports, aSize: u32): void;
8466   onServerClose(aContext: nsISupports, aCode: u16, aReason: string): void;
8467   OnError(): void;
8470 // https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransport.idl
8472 }  // global
8474 declare namespace nsIWebTransport {
8476 enum WebTransportError {
8477   UNKNOWN_ERROR = 0,
8478   INVALID_STATE_ERROR = 1,
8483 declare global {
8485 interface nsIWebTransport extends nsISupports, Enums<typeof nsIWebTransport.WebTransportError> {
8486   asyncConnect(aURI: nsIURI, aDedicated: boolean, aServerCertHashes: nsIWebTransportHash[], aLoadingPrincipal: nsIPrincipal, aSecurityFlags: u32, aListener: WebTransportSessionEventListener): void;
8487   getStats(): void;
8488   closeSession(aErrorCode: u32, aReason: string): void;
8489   createOutgoingBidirectionalStream(aListener: nsIWebTransportStreamCallback): void;
8490   createOutgoingUnidirectionalStream(aListener: nsIWebTransportStreamCallback): void;
8491   sendDatagram(aData: u8[], aTrackingId: u64): void;
8492   getMaxDatagramSize(): void;
8495 }  // global
8497 declare namespace WebTransportSessionEventListener {
8499 enum DatagramOutcome {
8500   UNKNOWN = 0,
8501   DROPPED_TOO_MUCH_DATA = 1,
8502   SENT = 2,
8507 declare global {
8509 interface WebTransportSessionEventListener extends nsISupports, Enums<typeof WebTransportSessionEventListener.DatagramOutcome> {
8510   onSessionReady(aSessionId: u64): void;
8511   onSessionClosed(aCleanly: boolean, aErrorCode: u32, aReason: string): void;
8512   onIncomingBidirectionalStreamAvailable(aStream: nsIWebTransportBidirectionalStream): void;
8513   onIncomingUnidirectionalStreamAvailable(aStream: nsIWebTransportReceiveStream): void;
8514   onStopSending(aStreamId: u64, aError: nsresult): void;
8515   onResetReceived(aStreamId: u64, aError: nsresult): void;
8516   onDatagramReceived(aData: u8[]): void;
8517   onMaxDatagramSize(aSize: u64): void;
8518   onOutgoingDatagramOutCome(aId: u64, aOutCome: WebTransportSessionEventListener.DatagramOutcome): void;
8521 interface nsIWebTransportStreamCallback extends nsISupports {
8522   onBidirectionalStreamReady(aStream: nsIWebTransportBidirectionalStream): void;
8523   onUnidirectionalStreamReady(aStream: nsIWebTransportSendStream): void;
8524   onError(aError: u8): void;
8527 interface nsIWebTransportHash extends nsISupports {
8528   readonly algorithm: string;
8529   readonly value: u8[];
8532 // https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransportStream.idl
8534 interface nsIWebTransportSendStreamStats extends nsISupports {
8535   readonly bytesSent: u64;
8536   readonly bytesAcknowledged: u64;
8539 interface nsIWebTransportReceiveStreamStats extends nsISupports {
8540   readonly bytesReceived: u64;
8543 interface nsIWebTransportStreamStatsCallback extends nsISupports {
8544   onSendStatsAvailable(aStats: nsIWebTransportSendStreamStats): void;
8545   onReceiveStatsAvailable(aStats: nsIWebTransportReceiveStreamStats): void;
8548 interface nsIWebTransportReceiveStream extends nsISupports {
8549   sendStopSending(aError: u8): void;
8550   getReceiveStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;
8551   readonly hasReceivedFIN: boolean;
8552   readonly inputStream: nsIAsyncInputStream;
8553   readonly streamId: u64;
8556 interface nsIWebTransportSendStream extends nsISupports {
8557   sendFin(): void;
8558   reset(aErrorCode: u8): void;
8559   getSendStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;
8560   readonly outputStream: nsIAsyncOutputStream;
8561   readonly streamId: u64;
8564 interface nsIWebTransportBidirectionalStream extends nsISupports {
8565   sendStopSending(aError: u8): void;
8566   sendFin(): void;
8567   reset(aErrorCode: u8): void;
8568   readonly hasReceivedFIN: boolean;
8569   readonly inputStream: nsIAsyncInputStream;
8570   readonly outputStream: nsIAsyncOutputStream;
8571   readonly streamId: u64;
8574 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiAccessPoint.idl
8576 interface nsIWifiAccessPoint extends nsISupports {
8577   readonly mac: string;
8578   readonly ssid: string;
8579   readonly rawSSID: string;
8580   readonly signal: i32;
8583 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiListener.idl
8585 interface nsIWifiListener extends nsISupports {
8586   onChange(accessPoints: nsIWifiAccessPoint[]): void;
8587   onError(error: nsresult): void;
8590 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiMonitor.idl
8592 interface nsIWifiMonitor extends nsISupports {
8593   startWatching(aListener: nsIWifiListener, aForcePolling: boolean): void;
8594   stopWatching(aListener: nsIWifiListener): void;
8597 // https://searchfox.org/mozilla-central/source/toolkit/components/parentalcontrols/nsIParentalControlsService.idl
8599 interface nsIParentalControlsService extends nsISupports {
8600   readonly DOWNLOAD: 1;
8601   readonly INSTALL_EXTENSION: 2;
8602   readonly INSTALL_APP: 3;
8603   readonly BROWSE: 4;
8604   readonly SHARE: 5;
8605   readonly BOOKMARK: 6;
8606   readonly ADD_CONTACT: 7;
8607   readonly SET_IMAGE: 8;
8608   readonly MODIFY_ACCOUNTS: 9;
8609   readonly REMOTE_DEBUGGING: 10;
8610   readonly IMPORT_SETTINGS: 11;
8611   readonly PRIVATE_BROWSING: 12;
8612   readonly DATA_CHOICES: 13;
8613   readonly CLEAR_HISTORY: 14;
8614   readonly MASTER_PASSWORD: 15;
8615   readonly GUEST_BROWSING: 16;
8616   readonly ADVANCED_SETTINGS: 17;
8617   readonly CAMERA_MICROPHONE: 18;
8618   readonly BLOCK_LIST: 19;
8619   readonly TELEMETRY: 20;
8620   readonly HEALTH_REPORT: 21;
8621   readonly DEFAULT_THEME: 22;
8622   readonly ePCLog_URIVisit: 1;
8623   readonly ePCLog_FileDownload: 2;
8625   readonly parentalControlsEnabled: boolean;
8626   readonly blockFileDownloadsEnabled: boolean;
8627   isAllowed(aAction: i16, aUri?: nsIURI): boolean;
8628   readonly loggingEnabled: boolean;
8629   log(aEntryType: i16, aFlag: boolean, aSource: nsIURI, aTarget?: nsIFile): void;
8632 // https://searchfox.org/mozilla-central/source/dom/media/bridge/IPeerConnection.idl
8634 interface IPeerConnectionObserver extends nsISupports {
8637 interface IPeerConnection extends nsISupports {
8638   readonly kHintAudio: 1;
8639   readonly kHintVideo: 2;
8640   readonly kActionNone: -1;
8641   readonly kActionOffer: 0;
8642   readonly kActionAnswer: 1;
8643   readonly kActionPRAnswer: 2;
8644   readonly kActionRollback: 3;
8645   readonly kIceGathering: 0;
8646   readonly kIceWaiting: 1;
8647   readonly kIceChecking: 2;
8648   readonly kIceConnected: 3;
8649   readonly kIceFailed: 4;
8650   readonly kNew: 0;
8651   readonly kNegotiating: 1;
8652   readonly kActive: 2;
8653   readonly kClosing: 3;
8654   readonly kClosed: 4;
8655   readonly kDataChannelReliable: 0;
8656   readonly kDataChannelPartialReliableRexmit: 1;
8657   readonly kDataChannelPartialReliableTimed: 2;
8658   readonly kNoError: 0;
8659   readonly kInvalidCandidate: 2;
8660   readonly kInvalidMediastreamTrack: 3;
8661   readonly kInvalidState: 4;
8662   readonly kInvalidSessionDescription: 5;
8663   readonly kIncompatibleSessionDescription: 6;
8664   readonly kIncompatibleMediaStreamTrack: 8;
8665   readonly kInternalError: 9;
8666   readonly kTypeError: 10;
8667   readonly kOperationError: 11;
8668   readonly kMaxErrorType: 11;
8671 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertOverrideService.idl
8673 interface nsICertOverride extends nsISupports {
8674   readonly asciiHost: string;
8675   readonly port: i32;
8676   readonly hostPort: string;
8677   readonly fingerprint: string;
8678   readonly originAttributes: any;
8681 interface nsICertOverrideService extends nsISupports {
8682   rememberValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aTemporary: boolean): void;
8683   hasMatchingOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aIsTemporary: OutParam<boolean>): boolean;
8684   clearValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any): void;
8685   clearAllOverrides(): void;
8686   getOverrides(): nsICertOverride[];
8687   setDisableAllSecurityChecksAndLetAttackersInterceptMyData(aDisable: boolean): void;
8688   readonly securityCheckDisabled: boolean;
8691 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertStorage.idl
8693 type nsICertStorageCallback = Callable<{
8694   done(rv: nsresult, result: nsIVariant): void;
8697 interface nsIRevocationState extends nsISupports {
8698   readonly state: i16;
8701 interface nsIIssuerAndSerialRevocationState extends nsIRevocationState {
8702   readonly issuer: string;
8703   readonly serial: string;
8706 interface nsISubjectAndPubKeyRevocationState extends nsIRevocationState {
8707   readonly subject: string;
8708   readonly pubKey: string;
8711 interface nsICRLiteCoverage extends nsISupports {
8712   readonly b64LogID: string;
8713   readonly minTimestamp: u64;
8714   readonly maxTimestamp: u64;
8717 interface nsICertInfo extends nsISupports {
8718   readonly cert: string;
8719   readonly subject: string;
8720   readonly trust: i16;
8723 interface nsICertStorage extends nsISupports {
8724   readonly DATA_TYPE_REVOCATION: 1;
8725   readonly DATA_TYPE_CERTIFICATE: 2;
8726   readonly DATA_TYPE_CRLITE: 3;
8727   readonly DATA_TYPE_CRLITE_FILTER_FULL: 4;
8728   readonly DATA_TYPE_CRLITE_FILTER_INCREMENTAL: 5;
8729   readonly STATE_UNSET: 0;
8730   readonly STATE_ENFORCE: 1;
8731   readonly STATE_NOT_ENROLLED: 2;
8732   readonly STATE_NOT_COVERED: 3;
8733   readonly STATE_NO_FILTER: 4;
8734   readonly TRUST_INHERIT: 0;
8735   readonly TRUST_ANCHOR: 1;
8737   hasPriorData(type: u8, callback: nsICertStorageCallback): void;
8738   setRevocations(revocations: nsIRevocationState[], callback: nsICertStorageCallback): void;
8739   getRevocationState(issuer: u8[], serial: u8[], subject: u8[], pubkey: u8[]): i16;
8740   setFullCRLiteFilter(filter: u8[], enrolledIssuers: string[], coverage: nsICRLiteCoverage[], callback: nsICertStorageCallback): void;
8741   getCRLiteRevocationState(issuer: u8[], issuerSPKI: u8[], serialNumber: u8[], timestamps: nsICRLiteTimestamp[]): i16;
8742   addCRLiteStash(stash: u8[], callback: nsICertStorageCallback): void;
8743   isCertRevokedByStash(issuerSPKI: u8[], serialNumber: u8[]): boolean;
8744   addCerts(certs: nsICertInfo[], callback: nsICertStorageCallback): void;
8745   removeCertsByHashes(hashes: string[], callback: nsICertStorageCallback): void;
8746   findCertsBySubject(subject: u8[]): u8[][];
8747   GetRemainingOperationCount(): i32;
8750 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertTree.idl
8752 interface nsICertTreeItem extends nsISupports {
8753   readonly cert: nsIX509Cert;
8756 interface nsICertTree extends nsITreeView {
8757   loadCertsFromCache(cache: nsIX509Cert[], type: u32): void;
8758   getCert(index: u32): nsIX509Cert;
8759   getTreeItem(index: u32): nsICertTreeItem;
8760   deleteEntryObject(index: u32): void;
8763 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertificateDialogs.idl
8765 interface nsICertificateDialogs extends nsISupports {
8766   confirmDownloadCACert(ctx: nsIInterfaceRequestor, cert: nsIX509Cert, trust: OutParam<u32>): boolean;
8767   setPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;
8768   getPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;
8771 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthDialogService.idl
8773 type nsIClientAuthDialogCallback = Callable<{
8774   certificateChosen(cert: nsIX509Cert, rememberDecision: boolean): void;
8777 interface nsIClientAuthDialogService extends nsISupports {
8778   chooseCertificate(hostname: string, certArray: nsIX509Cert[], loadContext: nsILoadContext, callback: nsIClientAuthDialogCallback): void;
8781 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthRememberService.idl
8783 interface nsIClientAuthRememberRecord extends nsISupports {
8784   readonly asciiHost: string;
8785   readonly dbKey: string;
8786   readonly entryKey: string;
8789 interface nsIClientAuthRememberService extends nsISupports {
8790   forgetRememberedDecision(key: string): void;
8791   getDecisions(): nsIClientAuthRememberRecord[];
8792   rememberDecisionScriptable(aHostName: string, originAttributes: any, aClientCert: nsIX509Cert): void;
8793   hasRememberedDecisionScriptable(aHostName: string, originAttributes: any, aCertDBKey: OutParam<string>): boolean;
8794   clearRememberedDecisions(): void;
8795   deleteDecisionsByHost(aHostName: string, aOriginAttributes: any): void;
8798 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIContentSignatureVerifier.idl
8800 interface nsIContentSignatureVerifier extends nsISupports {
8801   readonly ContentSignatureProdRoot: 1;
8802   readonly ContentSignatureStageRoot: 2;
8803   readonly ContentSignatureDevRoot: 3;
8804   readonly ContentSignatureLocalRoot: 4;
8806   asyncVerifyContentSignature(aData: string, aContentSignatureHeader: string, aCertificateChain: string, aHostname: string, aTrustedRoot: AppTrustedRoot): Promise<any>;
8809 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICryptoHash.idl
8811 interface nsICryptoHash extends nsISupports {
8812   readonly MD5: 2;
8813   readonly SHA1: 3;
8814   readonly SHA256: 4;
8815   readonly SHA384: 5;
8816   readonly SHA512: 6;
8818   init(aAlgorithm: u32): void;
8819   initWithString(aAlgorithm: string): void;
8820   update(aData: u8[], aLen: u32): void;
8821   updateFromStream(aStream: nsIInputStream, aLen: u32): void;
8822   finish(aASCII: boolean): string;
8825 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIDataStorage.idl
8827 }  // global
8829 declare namespace nsIDataStorageManager {
8831 enum DataStorage {
8832   AlternateServices = 0,
8833   ClientAuthRememberList = 1,
8834   SiteSecurityServiceState = 2,
8839 declare global {
8841 interface nsIDataStorageManager extends nsISupports, Enums<typeof nsIDataStorageManager.DataStorage> {
8842   get(dataStorage: nsIDataStorageManager.DataStorage): nsIDataStorage;
8845 }  // global
8847 declare namespace nsIDataStorage {
8849 enum DataType {
8850   Persistent = 0,
8851   Private = 1,
8856 declare global {
8858 interface nsIDataStorage extends nsISupports, Enums<typeof nsIDataStorage.DataType> {
8859   get(key: string, type: nsIDataStorage.DataType): string;
8860   put(key: string, value: string, type: nsIDataStorage.DataType): void;
8861   remove(key: string, type: nsIDataStorage.DataType): void;
8862   clear(): void;
8863   isReady(): boolean;
8864   getAll(): nsIDataStorageItem[];
8867 interface nsIDataStorageItem extends nsISupports {
8868   readonly key: string;
8869   readonly value: string;
8870   readonly type: nsIDataStorage.DataType;
8873 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSComponent.idl
8875 interface nsINSSComponent extends nsISupports {
8876   getEnterpriseRoots(): u8[][];
8877   getEnterpriseRootsPEM(): string;
8878   getEnterpriseIntermediates(): u8[][];
8879   getEnterpriseIntermediatesPEM(): string;
8880   addEnterpriseIntermediate(intermediateBytes: u8[]): void;
8881   clearSSLExternalAndInternalSessionCache(): void;
8882   asyncClearSSLExternalAndInternalSessionCache(): Promise<any>;
8885 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSErrorsService.idl
8887 interface nsINSSErrorsService extends nsISupports {
8888   readonly ERROR_CLASS_SSL_PROTOCOL: 1;
8889   readonly ERROR_CLASS_BAD_CERT: 2;
8890   readonly NSS_SEC_ERROR_BASE: -8192;
8891   readonly NSS_SEC_ERROR_LIMIT: -7192;
8892   readonly NSS_SSL_ERROR_BASE: -12288;
8893   readonly NSS_SSL_ERROR_LIMIT: -11288;
8894   readonly MOZILLA_PKIX_ERROR_BASE: -16384;
8895   readonly MOZILLA_PKIX_ERROR_LIMIT: -15384;
8897   isNSSErrorCode(aNSPRCode: i32): boolean;
8898   getXPCOMFromNSSError(aNSPRCode: i32): nsresult;
8899   getErrorMessage(aXPCOMErrorCode: nsresult): string;
8900   getErrorClass(aXPCOMErrorCode: nsresult): u32;
8903 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSVersion.idl
8905 interface nsINSSVersion extends nsISupports {
8906   readonly NSPR_MinVersion: string;
8907   readonly NSS_MinVersion: string;
8908   readonly NSSUTIL_MinVersion: string;
8909   readonly NSSSSL_MinVersion: string;
8910   readonly NSSSMIME_MinVersion: string;
8911   readonly NSPR_Version: string;
8912   readonly NSS_Version: string;
8913   readonly NSSUTIL_Version: string;
8914   readonly NSSSSL_Version: string;
8915   readonly NSSSMIME_Version: string;
8918 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSKeyStore.idl
8920 interface nsIOSKeyStore extends nsISupports {
8921   asyncGenerateSecret(label: string): Promise<any>;
8922   asyncSecretAvailable(label: string): Promise<any>;
8923   asyncRecoverSecret(label: string, recoveryPhrase: string): Promise<any>;
8924   asyncDeleteSecret(label: string): Promise<any>;
8925   asyncEncryptBytes(label: string, inBytes: u8[]): Promise<any>;
8926   asyncDecryptBytes(label: string, encryptedBase64Text: string): Promise<any>;
8929 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSReauthenticator.idl
8931 interface nsIOSReauthenticator extends nsISupports {
8932   asyncReauthenticateUser(prompt: string, caption: string, parentWindow: mozIDOMWindow): Promise<any>;
8935 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11Token.idl
8937 interface nsIPK11Token extends nsISupports {
8938   readonly tokenName: string;
8939   readonly isInternalKeyToken: boolean;
8940   readonly tokenManID: string;
8941   readonly tokenHWVersion: string;
8942   readonly tokenFWVersion: string;
8943   readonly tokenSerialNumber: string;
8944   isLoggedIn(): boolean;
8945   login(force: boolean): void;
8946   logoutSimple(): void;
8947   logoutAndDropAuthenticatedResources(): void;
8948   needsLogin(): boolean;
8949   readonly needsUserInit: boolean;
8950   reset(): void;
8951   checkPassword(password: string): boolean;
8952   initPassword(initialPassword: string): void;
8953   changePassword(oldPassword: string, newPassword: string): void;
8954   readonly hasPassword: boolean;
8957 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11TokenDB.idl
8959 interface nsIPK11TokenDB extends nsISupports {
8960   getInternalKeyToken(): nsIPK11Token;
8963 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Module.idl
8965 interface nsIPKCS11Module extends nsISupports {
8966   readonly name: string;
8967   readonly libName: string;
8968   listSlots(): nsISimpleEnumerator;
8971 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11ModuleDB.idl
8973 interface nsIPKCS11ModuleDB extends nsISupports {
8974   deleteModule(moduleName: string): void;
8975   addModule(moduleName: string, libraryFullPath: string, cryptoMechanismFlags: i32, cipherFlags: i32): void;
8976   listModules(): nsISimpleEnumerator;
8977   readonly canToggleFIPS: boolean;
8978   toggleFIPSMode(): void;
8979   readonly isFIPSEnabled: boolean;
8982 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Slot.idl
8984 interface nsIPKCS11Slot extends nsISupports {
8985   readonly SLOT_DISABLED: 0;
8986   readonly SLOT_NOT_PRESENT: 1;
8987   readonly SLOT_UNINITIALIZED: 2;
8988   readonly SLOT_NOT_LOGGED_IN: 3;
8989   readonly SLOT_LOGGED_IN: 4;
8990   readonly SLOT_READY: 5;
8992   readonly name: string;
8993   readonly desc: string;
8994   readonly manID: string;
8995   readonly HWVersion: string;
8996   readonly FWVersion: string;
8997   readonly status: u32;
8998   getToken(): nsIPK11Token;
8999   readonly tokenName: string;
9002 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPublicKeyPinningService.idl
9004 interface nsIPublicKeyPinningService extends nsISupports {
9005   hostHasPins(aURI: nsIURI): boolean;
9008 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecretDecoderRing.idl
9010 interface nsISecretDecoderRing extends nsISupports {
9011   encryptString(text: string): string;
9012   asyncEncryptStrings(plaintexts: string[]): Promise<any>;
9013   decryptString(encryptedBase64Text: string): string;
9014   asyncDecryptStrings(encryptedStrings: string[]): Promise<any>;
9015   changePassword(): void;
9016   logout(): void;
9017   logoutAndTeardown(): void;
9020 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecurityUITelemetry.idl
9022 interface nsISecurityUITelemetry extends nsISupports {
9023   readonly WARNING_ADDON_ASKING_PREVENTED: 1;
9024   readonly WARNING_ADDON_ASKING_PREVENTED_CLICK_THROUGH: 2;
9025   readonly WARNING_CONFIRM_ADDON_INSTALL: 3;
9026   readonly WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH: 4;
9027   readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE: 9;
9028   readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE_CLICK_THROUGH: 10;
9031 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISiteSecurityService.idl
9033 }  // global
9035 declare namespace nsISiteSecurityService {
9037 enum ResetStateBy {
9038   ExactDomain = 0,
9039   RootDomain = 1,
9040   BaseDomain = 2,
9045 declare global {
9047 interface nsISiteSecurityService extends nsISupports, Enums<typeof nsISiteSecurityService.ResetStateBy> {
9048   readonly Success: 0;
9049   readonly ERROR_UNKNOWN: 1;
9050   readonly ERROR_COULD_NOT_PARSE_HEADER: 3;
9051   readonly ERROR_NO_MAX_AGE: 4;
9052   readonly ERROR_MULTIPLE_MAX_AGES: 5;
9053   readonly ERROR_INVALID_MAX_AGE: 6;
9054   readonly ERROR_MULTIPLE_INCLUDE_SUBDOMAINS: 7;
9055   readonly ERROR_INVALID_INCLUDE_SUBDOMAINS: 8;
9056   readonly ERROR_COULD_NOT_SAVE_STATE: 13;
9058   processHeader(aSourceURI: nsIURI, aHeader: string, aOriginAttributes?: any, aMaxAge?: OutParam<u64>, aIncludeSubdomains?: OutParam<boolean>, aFailureResult?: OutParam<u32>): void;
9059   resetState(aURI: nsIURI, aOriginAttributes?: any, aScope?: nsISiteSecurityService.ResetStateBy): void;
9060   isSecureURI(aURI: nsIURI, aOriginAttributes?: any): boolean;
9061   clearAll(): void;
9064 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITLSSocketControl.idl
9066 interface nsITLSSocketControl extends nsISupports {
9067   readonly KEY_EXCHANGE_UNKNOWN: -1;
9068   readonly SSL_VERSION_3: 768;
9069   readonly TLS_VERSION_1: 769;
9070   readonly TLS_VERSION_1_1: 770;
9071   readonly TLS_VERSION_1_2: 771;
9072   readonly TLS_VERSION_1_3: 772;
9073   readonly SSL_VERSION_UNKNOWN: -1;
9074   readonly SSL_MAC_UNKNOWN: -1;
9075   readonly SSL_MAC_NULL: 0;
9076   readonly SSL_MAC_MD5: 1;
9077   readonly SSL_MAC_SHA: 2;
9078   readonly SSL_HMAC_MD5: 3;
9079   readonly SSL_HMAC_SHA: 4;
9080   readonly SSL_HMAC_SHA256: 5;
9081   readonly SSL_MAC_AEAD: 6;
9083   proxyStartSSL(): void;
9084   StartTLS(): void;
9085   getAlpnEarlySelection(): string;
9086   readonly earlyDataAccepted: boolean;
9087   driveHandshake(): void;
9088   joinConnection(npnProtocol: string, hostname: string, port: i32): boolean;
9089   testJoinConnection(npnProtocol: string, hostname: string, port: i32): boolean;
9090   isAcceptableForHost(hostname: string): boolean;
9091   readonly KEAUsed: i16;
9092   readonly KEAKeyBits: u32;
9093   readonly providerFlags: u32;
9094   readonly SSLVersionUsed: i16;
9095   readonly SSLVersionOffered: i16;
9096   readonly MACAlgorithmUsed: i16;
9097   readonly clientCertSent: boolean;
9098   readonly failedVerification: boolean;
9099   esniTxt: string;
9100   echConfig: string;
9101   readonly retryEchConfig: string;
9102   readonly peerId: string;
9103   readonly securityInfo: nsITransportSecurityInfo;
9104   asyncGetSecurityInfo(): Promise<any>;
9105   claim(): void;
9106   browserId: u64;
9109 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITokenPasswordDialogs.idl
9111 interface nsITokenPasswordDialogs extends nsISupports {
9112   setPassword(ctx: nsIInterfaceRequestor, token: nsIPK11Token): boolean;
9115 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITransportSecurityInfo.idl
9117 }  // global
9119 declare namespace nsITransportSecurityInfo {
9121 enum OverridableErrorCategory {
9122   ERROR_UNSET = 0,
9123   ERROR_TRUST = 1,
9124   ERROR_DOMAIN = 2,
9125   ERROR_TIME = 3,
9130 declare global {
9132 interface nsITransportSecurityInfo extends nsISupports, Enums<typeof nsITransportSecurityInfo.OverridableErrorCategory> {
9133   readonly SSL_VERSION_3: 0;
9134   readonly TLS_VERSION_1: 1;
9135   readonly TLS_VERSION_1_1: 2;
9136   readonly TLS_VERSION_1_2: 3;
9137   readonly TLS_VERSION_1_3: 4;
9138   readonly CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE: 0;
9139   readonly CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT: 5;
9140   readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS: 6;
9141   readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS: 7;
9143   readonly securityState: u32;
9144   readonly errorCode: i32;
9145   readonly errorCodeString: string;
9146   readonly failedCertChain: nsIX509Cert[];
9147   readonly serverCert: nsIX509Cert;
9148   readonly succeededCertChain: nsIX509Cert[];
9149   readonly cipherName: string;
9150   readonly keyLength: u32;
9151   readonly secretKeyLength: u32;
9152   readonly keaGroupName: string;
9153   readonly signatureSchemeName: string;
9154   readonly protocolVersion: u16;
9155   readonly certificateTransparencyStatus: u16;
9156   readonly isAcceptedEch: boolean;
9157   readonly isDelegatedCredential: boolean;
9158   readonly overridableErrorCategory: nsITransportSecurityInfo.OverridableErrorCategory;
9159   readonly madeOCSPRequests: boolean;
9160   readonly usedPrivateDNS: boolean;
9161   readonly isExtendedValidation: boolean;
9162   toString(): string;
9163   readonly negotiatedNPN: string;
9164   readonly resumed: boolean;
9165   readonly isBuiltCertChainRootBuiltInRoot: boolean;
9166   readonly peerId: string;
9169 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509Cert.idl
9171 interface nsIX509Cert extends nsISupports {
9172   readonly UNKNOWN_CERT: 0;
9173   readonly CA_CERT: 1;
9174   readonly USER_CERT: 2;
9175   readonly EMAIL_CERT: 4;
9176   readonly SERVER_CERT: 8;
9177   readonly ANY_CERT: 65535;
9179   readonly emailAddress: string;
9180   getEmailAddresses(): string[];
9181   containsEmailAddress(aEmailAddress: string): boolean;
9182   readonly subjectName: string;
9183   readonly commonName: string;
9184   readonly organization: string;
9185   readonly organizationalUnit: string;
9186   readonly sha256Fingerprint: string;
9187   readonly sha1Fingerprint: string;
9188   readonly tokenName: string;
9189   readonly issuerName: string;
9190   readonly serialNumber: string;
9191   readonly issuerCommonName: string;
9192   readonly issuerOrganization: string;
9193   readonly issuerOrganizationUnit: string;
9194   readonly validity: nsIX509CertValidity;
9195   readonly dbKey: string;
9196   readonly displayName: string;
9197   readonly certType: u32;
9198   getRawDER(): u8[];
9199   getBase64DERString(): string;
9200   readonly sha256SubjectPublicKeyInfoDigest: string;
9203 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertDB.idl
9205 }  // global
9207 declare namespace nsIAppSignatureInfo {
9209 enum SignatureAlgorithm {
9210   PKCS7_WITH_SHA1 = 0,
9211   PKCS7_WITH_SHA256 = 1,
9212   COSE_WITH_SHA256 = 2,
9217 declare global {
9219 interface nsIAppSignatureInfo extends nsISupports, Enums<typeof nsIAppSignatureInfo.SignatureAlgorithm> {
9220   readonly signerCert: nsIX509Cert;
9221   readonly signatureAlgorithm: nsIAppSignatureInfo.SignatureAlgorithm;
9224 type nsIOpenSignedAppFileCallback = Callable<{
9225   openSignedAppFileFinished(rv: nsresult, aZipReader: nsIZipReader, aSignatureInfos: nsIAppSignatureInfo[]): void;
9228 type nsIAsyncBoolCallback = Callable<{
9229   onResult(result: boolean): void;
9232 type nsICertVerificationCallback = Callable<{
9233   verifyCertFinished(aPRErrorCode: i32, aVerifiedChain: nsIX509Cert[], aHasEVPolicy: boolean): void;
9236 interface nsIX509CertDB extends nsISupports {
9237   readonly UNTRUSTED: 0;
9238   readonly TRUSTED_SSL: 1;
9239   readonly TRUSTED_EMAIL: 2;
9240   readonly Success: 0;
9241   readonly ERROR_UNKNOWN: 1;
9242   readonly ERROR_PKCS12_NOSMARTCARD_EXPORT: 2;
9243   readonly ERROR_PKCS12_RESTORE_FAILED: 3;
9244   readonly ERROR_PKCS12_BACKUP_FAILED: 4;
9245   readonly ERROR_PKCS12_CERT_COLLISION: 5;
9246   readonly ERROR_BAD_PASSWORD: 6;
9247   readonly ERROR_DECODE_ERROR: 7;
9248   readonly ERROR_PKCS12_DUPLICATE_DATA: 8;
9249   readonly AppXPCShellRoot: 6;
9250   readonly AddonsPublicRoot: 7;
9251   readonly AddonsStageRoot: 8;
9252   readonly FLAG_LOCAL_ONLY: 1;
9253   readonly FLAG_MUST_BE_EV: 2;
9255   findCertByDBKey(aDBkey: string): nsIX509Cert;
9256   importCertificates(data: u8[], length: u32, type: u32, ctx: nsIInterfaceRequestor): void;
9257   importEmailCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;
9258   importUserCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;
9259   deleteCertificate(aCert: nsIX509Cert): void;
9260   setCertTrust(cert: nsIX509Cert, type: u32, trust: u32): void;
9261   setCertTrustFromString(cert: nsIX509Cert, trustString: string): void;
9262   isCertTrusted(cert: nsIX509Cert, certType: u32, trustType: u32): boolean;
9263   importCertsFromFile(aFile: nsIFile, aType: u32): void;
9264   importPKCS12File(aFile: nsIFile, aPassword: string): u32;
9265   exportPKCS12File(aFile: nsIFile, aCerts: nsIX509Cert[], aPassword: string): u32;
9266   constructX509FromBase64(base64: string): nsIX509Cert;
9267   constructX509(certDER: u8[]): nsIX509Cert;
9268   openSignedAppFileAsync(trustedRoot: AppTrustedRoot, aJarFile: nsIFile, callback: nsIOpenSignedAppFileCallback): void;
9269   addCert(certDER: string, trust: string): nsIX509Cert;
9270   asyncVerifyCertAtTime(aCert: nsIX509Cert, aUsage: i64, aFlags: u32, aHostname: string, aTime: u64, aCallback: nsICertVerificationCallback): void;
9271   clearOCSPCache(): void;
9272   addCertFromBase64(base64: string, trust: string): nsIX509Cert;
9273   getCerts(): nsIX509Cert[];
9274   asPKCS7Blob(certList: nsIX509Cert[]): string;
9275   asyncHasThirdPartyRoots(callback: nsIAsyncBoolCallback): void;
9278 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertValidity.idl
9280 interface nsIX509CertValidity extends nsISupports {
9281   readonly notBefore: PRTime;
9282   readonly notAfter: PRTime;
9285 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIAsyncHistory.idl
9287 interface mozIVisitInfo extends nsISupports {
9288   readonly visitId: i64;
9289   readonly visitDate: PRTime;
9290   readonly transitionType: u32;
9291   readonly referrerURI: nsIURI;
9294 interface mozIPlaceInfo extends nsISupports {
9295   readonly placeId: i64;
9296   readonly guid: string;
9297   readonly uri: nsIURI;
9298   readonly title: string;
9299   readonly frecency: i64;
9300   readonly visits: any;
9303 interface mozIVisitInfoCallback extends nsISupports {
9304   handleError(aResultCode: nsresult, aPlaceInfo: mozIPlaceInfo): void;
9305   handleResult(aPlaceInfo: mozIPlaceInfo): void;
9306   handleCompletion(aUpdatedItems: u32): void;
9307   readonly ignoreResults: boolean;
9308   readonly ignoreErrors: boolean;
9311 type mozIVisitedStatusCallback = Callable<{
9312   isVisited(aURI: nsIURI, aVisitedStatus: boolean): void;
9315 interface mozIAsyncHistory extends nsISupports {
9316   updatePlaces(aPlaceInfo: any, aCallback?: mozIVisitInfoCallback): void;
9317   isURIVisited(aURI: nsIURI, aCallback: mozIVisitedStatusCallback): void;
9318   clearCache(): void;
9321 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesAutoComplete.idl
9323 interface mozIPlacesAutoComplete extends nsISupports {
9324   readonly MATCH_ANYWHERE: 0;
9325   readonly MATCH_BOUNDARY_ANYWHERE: 1;
9326   readonly MATCH_BOUNDARY: 2;
9327   readonly MATCH_BEGINNING: 3;
9328   readonly MATCH_ANYWHERE_UNMODIFIED: 4;
9329   readonly MATCH_BEGINNING_CASE_SENSITIVE: 5;
9330   readonly BEHAVIOR_HISTORY: 1;
9331   readonly BEHAVIOR_BOOKMARK: 2;
9332   readonly BEHAVIOR_TAG: 4;
9333   readonly BEHAVIOR_TITLE: 8;
9334   readonly BEHAVIOR_URL: 16;
9335   readonly BEHAVIOR_TYPED: 32;
9336   readonly BEHAVIOR_JAVASCRIPT: 64;
9337   readonly BEHAVIOR_OPENPAGE: 128;
9338   readonly BEHAVIOR_RESTRICT: 256;
9339   readonly BEHAVIOR_SEARCH: 512;
9342 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesPendingOperation.idl
9344 interface mozIPlacesPendingOperation extends nsISupports {
9345   cancel(): void;
9348 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozISyncedBookmarksMirror.idl
9350 interface mozISyncedBookmarksMirrorProgressListener extends nsISupports {
9351   onFetchLocalTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;
9352   onFetchRemoteTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;
9353   onMerge(took: i64, counts: nsIPropertyBag): void;
9354   onApply(took: i64): void;
9357 interface mozISyncedBookmarksMirrorCallback extends nsISupports {
9358   handleSuccess(result: boolean): void;
9359   handleError(code: nsresult, message: string): void;
9362 interface mozISyncedBookmarksMirrorLogger extends nsISupports {
9363   readonly LEVEL_OFF: 0;
9364   readonly LEVEL_ERROR: 1;
9365   readonly LEVEL_WARN: 2;
9366   readonly LEVEL_DEBUG: 3;
9367   readonly LEVEL_TRACE: 4;
9369   maxLevel: i16;
9370   error(message: string): void;
9371   warn(message: string): void;
9372   debug(message: string): void;
9373   trace(message: string): void;
9376 interface mozISyncedBookmarksMerger extends nsISupports {
9377   readonly KIND_BOOKMARK: 1;
9378   readonly KIND_QUERY: 2;
9379   readonly KIND_FOLDER: 3;
9380   readonly KIND_LIVEMARK: 4;
9381   readonly KIND_SEPARATOR: 5;
9382   readonly VALIDITY_VALID: 1;
9383   readonly VALIDITY_REUPLOAD: 2;
9384   readonly VALIDITY_REPLACE: 3;
9386   db: mozIStorageConnection;
9387   logger: mozIServicesLogSink;
9388   merge(localTimeSeconds: i64, remoteTimeSeconds: i64, callback: mozISyncedBookmarksMirrorCallback): mozIPlacesPendingOperation;
9389   reset(): void;
9392 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIFaviconService.idl
9394 interface nsIFaviconService extends nsISupports {
9395   readonly FAVICON_LOAD_PRIVATE: 1;
9396   readonly FAVICON_LOAD_NON_PRIVATE: 2;
9397   readonly MAX_FAVICON_BUFFER_SIZE: 65536;
9399   getFaviconLinkForIcon(aFaviconURI: nsIURI): nsIURI;
9400   expireAllFavicons(): void;
9401   setDefaultIconURIPreferredSize(aDefaultSize: u16): void;
9402   preferredSizeFromURI(aURI: nsIURI): u16;
9403   readonly defaultFavicon: nsIURI;
9404   readonly defaultFaviconMimeType: string;
9405   setAndFetchFaviconForPage(aPageURI: nsIURI, aFaviconURI: nsIURI, aForceReload: boolean, aFaviconLoadType: u32, aCallback?: nsIFaviconDataCallback, aLoadingPrincipal?: nsIPrincipal, aRequestContextID?: u64): mozIPlacesPendingOperation;
9406   replaceFaviconData(aFaviconURI: nsIURI, aData: u8[], aMimeType: string, aExpiration?: PRTime): void;
9407   replaceFaviconDataFromDataURL(aFaviconURI: nsIURI, aDataURL: string, aExpiration?: PRTime, aLoadingPrincipal?: nsIPrincipal): void;
9408   getFaviconURLForPage(aPageURI: nsIURI, aCallback: nsIFaviconDataCallback, aPreferredWidth?: u16): void;
9409   getFaviconDataForPage(aPageURI: nsIURI, aCallback: nsIFaviconDataCallback, aPreferredWidth?: u16): void;
9410   copyFavicons(aFromPageURI: nsIURI, aToPageURI: nsIURI, aFaviconLoadType: u32, aCallback?: nsIFaviconDataCallback): void;
9413 type nsIFaviconDataCallback = Callable<{
9414   onComplete(aFaviconURI: nsIURI, aDataLen: u32, aData: u8[], aMimeType: string, aWidth: u16): void;
9417 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavBookmarksService.idl
9419 interface nsINavBookmarksService extends nsISupports {
9420   readonly DEFAULT_INDEX: -1;
9421   readonly TYPE_BOOKMARK: 1;
9422   readonly TYPE_FOLDER: 2;
9423   readonly TYPE_SEPARATOR: 3;
9424   readonly TYPE_DYNAMIC_CONTAINER: 4;
9425   readonly SOURCE_DEFAULT: 0;
9426   readonly SOURCE_SYNC: 1;
9427   readonly SOURCE_IMPORT: 2;
9428   readonly SOURCE_SYNC_REPARENT_REMOVED_FOLDER_CHILDREN: 4;
9429   readonly SOURCE_RESTORE: 5;
9430   readonly SOURCE_RESTORE_ON_STARTUP: 6;
9431   readonly SYNC_STATUS_UNKNOWN: 0;
9432   readonly SYNC_STATUS_NEW: 1;
9433   readonly SYNC_STATUS_NORMAL: 2;
9435   readonly tagsFolder: i64;
9436   readonly totalSyncChanges: i64;
9437   insertBookmark(aParentId: i64, aURI: nsIURI, aIndex: i32, aTitle: string, aGuid?: string, aSource?: u16): i64;
9438   removeItem(aItemId: i64, aSource?: u16): void;
9439   createFolder(aParentFolder: i64, name: string, index: i32, aGuid?: string, aSource?: u16): i64;
9440   setItemTitle(aItemId: i64, aTitle: string, aSource?: u16): void;
9441   getItemTitle(aItemId: i64): string;
9442   setItemLastModified(aItemId: i64, aLastModified: PRTime, aSource?: u16): void;
9445 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavHistoryService.idl
9447 interface nsINavHistoryResultNode extends nsISupports {
9448   readonly RESULT_TYPE_URI: 0;
9449   readonly RESULT_TYPE_QUERY: 5;
9450   readonly RESULT_TYPE_FOLDER: 6;
9451   readonly RESULT_TYPE_SEPARATOR: 7;
9452   readonly RESULT_TYPE_FOLDER_SHORTCUT: 9;
9454   readonly parent: nsINavHistoryContainerResultNode;
9455   readonly parentResult: nsINavHistoryResult;
9456   readonly uri: string;
9457   readonly type: u32;
9458   readonly title: string;
9459   readonly accessCount: u32;
9460   readonly time: PRTime;
9461   readonly icon: string;
9462   readonly indentLevel: i32;
9463   readonly bookmarkIndex: i32;
9464   readonly itemId: i64;
9465   readonly dateAdded: PRTime;
9466   readonly lastModified: PRTime;
9467   readonly tags: string;
9468   readonly pageGuid: string;
9469   readonly bookmarkGuid: string;
9470   readonly visitId: i64;
9471   readonly visitType: u32;
9474 interface nsINavHistoryContainerResultNode extends nsINavHistoryResultNode {
9475   readonly STATE_CLOSED: 0;
9476   readonly STATE_LOADING: 1;
9477   readonly STATE_OPENED: 2;
9479   containerOpen: boolean;
9480   readonly state: u16;
9481   readonly hasChildren: boolean;
9482   readonly childCount: u32;
9483   getChild(aIndex: u32): nsINavHistoryResultNode;
9484   getChildIndex(aNode: nsINavHistoryResultNode): u32;
9487 interface nsINavHistoryQueryResultNode extends nsINavHistoryContainerResultNode {
9488   readonly query: nsINavHistoryQuery;
9489   readonly queryOptions: nsINavHistoryQueryOptions;
9490   readonly folderItemId: i64;
9491   readonly targetFolderGuid: string;
9494 interface nsINavHistoryResultObserver extends nsISupports {
9495   readonly skipHistoryDetailsNotifications: boolean;
9496   nodeInserted(aParent: nsINavHistoryContainerResultNode, aNode: nsINavHistoryResultNode, aNewIndex: u32): void;
9497   nodeRemoved(aParent: nsINavHistoryContainerResultNode, aItem: nsINavHistoryResultNode, aOldIndex: u32): void;
9498   nodeMoved(aNode: nsINavHistoryResultNode, aOldParent: nsINavHistoryContainerResultNode, aOldIndex: u32, aNewParent: nsINavHistoryContainerResultNode, aNewIndex: u32): void;
9499   nodeTitleChanged(aNode: nsINavHistoryResultNode, aNewTitle: string): void;
9500   nodeURIChanged(aNode: nsINavHistoryResultNode, aOldURI: string): void;
9501   nodeIconChanged(aNode: nsINavHistoryResultNode): void;
9502   nodeHistoryDetailsChanged(aNode: nsINavHistoryResultNode, aOldVisitDate: PRTime, aOldAccessCount: u32): void;
9503   nodeTagsChanged(aNode: nsINavHistoryResultNode): void;
9504   nodeKeywordChanged(aNode: nsINavHistoryResultNode, aNewKeyword: string): void;
9505   nodeDateAddedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;
9506   nodeLastModifiedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;
9507   containerStateChanged(aContainerNode: nsINavHistoryContainerResultNode, aOldState: u32, aNewState: u32): void;
9508   invalidateContainer(aContainerNode: nsINavHistoryContainerResultNode): void;
9509   sortingChanged(sortingMode: u16): void;
9510   batching(aToggleMode: boolean): void;
9511   result: nsINavHistoryResult;
9514 interface nsINavHistoryResult extends nsISupports {
9515   sortingMode: u16;
9516   suppressNotifications: boolean;
9517   addObserver(aObserver: nsINavHistoryResultObserver, aOwnsWeak?: boolean): void;
9518   removeObserver(aObserver: nsINavHistoryResultObserver): void;
9519   readonly root: nsINavHistoryContainerResultNode;
9520   onBeginUpdateBatch(): void;
9521   onEndUpdateBatch(): void;
9524 interface nsINavHistoryQuery extends nsISupports {
9525   readonly TIME_RELATIVE_EPOCH: 0;
9526   readonly TIME_RELATIVE_TODAY: 1;
9527   readonly TIME_RELATIVE_NOW: 2;
9529   beginTime: PRTime;
9530   beginTimeReference: u32;
9531   readonly hasBeginTime: boolean;
9532   readonly absoluteBeginTime: PRTime;
9533   endTime: PRTime;
9534   endTimeReference: u32;
9535   readonly hasEndTime: boolean;
9536   readonly absoluteEndTime: PRTime;
9537   searchTerms: string;
9538   readonly hasSearchTerms: boolean;
9539   minVisits: i32;
9540   maxVisits: i32;
9541   setTransitions(transitions: u32[]): void;
9542   getTransitions(): u32[];
9543   readonly transitionCount: u32;
9544   domainIsHost: boolean;
9545   domain: string;
9546   readonly hasDomain: boolean;
9547   uri: nsIURI;
9548   readonly hasUri: boolean;
9549   tags: nsIVariant;
9550   tagsAreNot: boolean;
9551   getParents(): string[];
9552   readonly parentCount: u32;
9553   setParents(aGuids: string[]): void;
9554   clone(): nsINavHistoryQuery;
9557 interface nsINavHistoryQueryOptions extends nsISupports {
9558   readonly SORT_BY_NONE: 0;
9559   readonly SORT_BY_TITLE_ASCENDING: 1;
9560   readonly SORT_BY_TITLE_DESCENDING: 2;
9561   readonly SORT_BY_DATE_ASCENDING: 3;
9562   readonly SORT_BY_DATE_DESCENDING: 4;
9563   readonly SORT_BY_URI_ASCENDING: 5;
9564   readonly SORT_BY_URI_DESCENDING: 6;
9565   readonly SORT_BY_VISITCOUNT_ASCENDING: 7;
9566   readonly SORT_BY_VISITCOUNT_DESCENDING: 8;
9567   readonly SORT_BY_DATEADDED_ASCENDING: 11;
9568   readonly SORT_BY_DATEADDED_DESCENDING: 12;
9569   readonly SORT_BY_LASTMODIFIED_ASCENDING: 13;
9570   readonly SORT_BY_LASTMODIFIED_DESCENDING: 14;
9571   readonly SORT_BY_TAGS_ASCENDING: 17;
9572   readonly SORT_BY_TAGS_DESCENDING: 18;
9573   readonly SORT_BY_FRECENCY_ASCENDING: 21;
9574   readonly SORT_BY_FRECENCY_DESCENDING: 22;
9575   readonly RESULTS_AS_URI: 0;
9576   readonly RESULTS_AS_VISIT: 1;
9577   readonly RESULTS_AS_DATE_QUERY: 3;
9578   readonly RESULTS_AS_SITE_QUERY: 4;
9579   readonly RESULTS_AS_DATE_SITE_QUERY: 5;
9580   readonly RESULTS_AS_TAGS_ROOT: 6;
9581   readonly RESULTS_AS_TAG_CONTENTS: 7;
9582   readonly RESULTS_AS_ROOTS_QUERY: 8;
9583   readonly RESULTS_AS_LEFT_PANE_QUERY: 9;
9584   readonly QUERY_TYPE_HISTORY: 0;
9585   readonly QUERY_TYPE_BOOKMARKS: 1;
9587   sortingMode: u16;
9588   resultType: u16;
9589   excludeItems: boolean;
9590   excludeQueries: boolean;
9591   expandQueries: boolean;
9592   includeHidden: boolean;
9593   maxResults: u32;
9594   queryType: u16;
9595   asyncEnabled: boolean;
9596   clone(): nsINavHistoryQueryOptions;
9599 interface nsINavHistoryService extends nsISupports {
9600   readonly DATABASE_SCHEMA_VERSION: 76;
9601   readonly TRANSITION_LINK: 1;
9602   readonly TRANSITION_TYPED: 2;
9603   readonly TRANSITION_BOOKMARK: 3;
9604   readonly TRANSITION_EMBED: 4;
9605   readonly TRANSITION_REDIRECT_PERMANENT: 5;
9606   readonly TRANSITION_REDIRECT_TEMPORARY: 6;
9607   readonly TRANSITION_DOWNLOAD: 7;
9608   readonly TRANSITION_FRAMED_LINK: 8;
9609   readonly TRANSITION_RELOAD: 9;
9610   readonly DATABASE_STATUS_OK: 0;
9611   readonly DATABASE_STATUS_CREATE: 1;
9612   readonly DATABASE_STATUS_CORRUPT: 2;
9613   readonly DATABASE_STATUS_UPGRADED: 3;
9614   readonly DATABASE_STATUS_LOCKED: 4;
9615   readonly VISIT_SOURCE_ORGANIC: 0;
9616   readonly VISIT_SOURCE_SPONSORED: 1;
9617   readonly VISIT_SOURCE_BOOKMARKED: 2;
9618   readonly VISIT_SOURCE_SEARCHED: 3;
9620   readonly databaseStatus: u16;
9621   markPageAsFollowedBookmark(aURI: nsIURI): void;
9622   markPageAsTyped(aURI: nsIURI): void;
9623   markPageAsFollowedLink(aURI: nsIURI): void;
9624   canAddURI(aURI: nsIURI): boolean;
9625   getNewQuery(): nsINavHistoryQuery;
9626   getNewQueryOptions(): nsINavHistoryQueryOptions;
9627   executeQuery(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): nsINavHistoryResult;
9628   queryStringToQuery(aQueryString: string, aQuery: OutParam<nsINavHistoryQuery>, options: OutParam<nsINavHistoryQueryOptions>): void;
9629   queryToQueryString(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): string;
9630   readonly historyDisabled: boolean;
9631   makeGuid(): string;
9632   hashURL(aSpec: string, aMode?: string): u64;
9633   isFrecencyDecaying: boolean;
9634   shouldStartFrecencyRecalculation: boolean;
9635   readonly DBConnection: mozIStorageConnection;
9636   asyncExecuteLegacyQuery(aQuery: nsINavHistoryQuery, aOptions: nsINavHistoryQueryOptions, aCallback: mozIStorageStatementCallback): mozIStoragePendingStatement;
9637   readonly shutdownClient: nsIAsyncShutdownClient;
9638   readonly connectionShutdownClient: nsIAsyncShutdownClient;
9641 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIPlacesPreviewsHelperService.idl
9643 interface nsIPlacesPreviewsHelperService extends nsISupports {
9644   getFilePathForURL(aURL: string): string;
9647 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsITaggingService.idl
9649 interface nsITaggingService extends nsISupports {
9650   tagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;
9651   untagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;
9652   getTagsForURI(aURI: nsIURI): string[];
9655 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefBranch.idl
9657 interface nsIPrefBranch extends nsISupports {
9658   readonly PREF_INVALID: 0;
9659   readonly PREF_STRING: 32;
9660   readonly PREF_INT: 64;
9661   readonly PREF_BOOL: 128;
9663   readonly root: string;
9664   getPrefType(aPrefName: string): i32;
9665   getBoolPref(aPrefName: string, aDefaultValue?: boolean): boolean;
9666   setBoolPref(aPrefName: string, aValue: boolean): void;
9667   getFloatPref(aPrefName: string, aDefaultValue?: float): float;
9668   getCharPref(aPrefName: string, aDefaultValue?: string): string;
9669   setCharPref(aPrefName: string, aValue: string): void;
9670   getStringPref(aPrefName: string, aDefaultValue?: string): string;
9671   setStringPref(aPrefName: string, aValue: string): void;
9672   getIntPref(aPrefName: string, aDefaultValue?: i32): i32;
9673   setIntPref(aPrefName: string, aValue: i32): void;
9674   getComplexValue<T extends nsIID>(aPrefName: string, aType: T): nsQIResult<T>;
9675   setComplexValue(aPrefName: string, aType: nsID, aValue: nsISupports): void;
9676   clearUserPref(aPrefName: string): void;
9677   lockPref(aPrefName: string): void;
9678   prefHasUserValue(aPrefName: string): boolean;
9679   prefHasDefaultValue(aPrefName: string): boolean;
9680   prefIsLocked(aPrefName: string): boolean;
9681   prefIsSanitized(aPrefName: string): boolean;
9682   unlockPref(aPrefName: string): void;
9683   deleteBranch(aStartingAt: string): void;
9684   getChildList(aStartingAt: string): string[];
9685   addObserver(aDomain: string, aObserver: nsIObserver, aHoldWeak?: boolean): void;
9686   removeObserver(aDomain: string, aObserver: nsIObserver): void;
9689 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefLocalizedString.idl
9691 interface nsIPrefLocalizedString extends nsISupportsString {
9694 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefService.idl
9696 type nsIPrefStatsCallback = Callable<{
9697   visit(prefName: string, accessCount: u32): void;
9700 interface nsIPrefObserver extends nsISupports {
9701   onStringPref(kind: string, name: string, value: string, isSticky: boolean, isLocked: boolean): void;
9702   onIntPref(kind: string, name: string, value: i32, isSticky: boolean, isLocked: boolean): void;
9703   onBoolPref(kind: string, name: string, value: boolean, isSticky: boolean, isLocked: boolean): void;
9704   onError(message: string): void;
9707 interface nsIPrefService extends nsISupports {
9708   resetPrefs(): void;
9709   savePrefFile(aFile: nsIFile): void;
9710   getBranch(aPrefRoot: string): nsIPrefBranch;
9711   getDefaultBranch(aPrefRoot: string): nsIPrefBranch;
9712   readonly dirty: boolean;
9713   readDefaultPrefsFromFile(aFile: nsIFile): void;
9714   readUserPrefsFromFile(aFile: nsIFile): void;
9715   readStats(callback: nsIPrefStatsCallback): void;
9716   resetStats(): void;
9717   parsePrefsFromBuffer(bytes: u8[], observer: nsIPrefObserver, pathLabel?: string): void;
9720 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIRelativeFilePref.idl
9722 interface nsIRelativeFilePref extends nsISupports {
9723   file: nsIFile;
9724   relativeToKey: string;
9727 // https://searchfox.org/mozilla-central/source/uriloader/prefetch/nsIPrefetchService.idl
9729 interface nsIPrefetchService extends nsISupports {
9730   prefetchURI(aURI: nsIURI, aReferrerInfo: nsIReferrerInfo, aSource: Node, aExplicit: boolean): void;
9731   preloadURI(aURI: nsIURI, aReferrerInfo: nsIReferrerInfo, aSource: Node, aPolicyType: nsContentPolicyType): void;
9732   hasMoreElements(): boolean;
9733   cancelPrefetchPreloadURI(aURI: nsIURI, aSource: Node): void;
9736 // https://searchfox.org/mozilla-central/source/tools/profiler/gecko/nsIProfiler.idl
9738 interface nsIProfilerStartParams extends nsISupports {
9739   readonly entries: u32;
9740   readonly duration: double;
9741   readonly interval: double;
9742   readonly features: u32;
9743   readonly activeTabID: u64;
9746 interface nsIProfiler extends nsISupports {
9747   StartProfiler(aEntries: u32, aInterval: double, aFeatures: string[], aFilters?: string[], aActiveTabID?: u64, aDuration?: double): Promise<any>;
9748   StopProfiler(): Promise<any>;
9749   IsPaused(): boolean;
9750   Pause(): Promise<any>;
9751   Resume(): Promise<any>;
9752   IsSamplingPaused(): boolean;
9753   PauseSampling(): Promise<any>;
9754   ResumeSampling(): Promise<any>;
9755   waitOnePeriodicSampling(): Promise<any>;
9756   GetProfile(aSinceTime?: double): string;
9757   getProfileData(aSinceTime?: double): any;
9758   getProfileDataAsync(aSinceTime?: double): Promise<any>;
9759   getProfileDataAsArrayBuffer(aSinceTime?: double): Promise<any>;
9760   getProfileDataAsGzippedArrayBuffer(aSinceTime?: double): Promise<any>;
9761   dumpProfileToFileAsync(aFilename: string, aSinceTime?: double): Promise<any>;
9762   dumpProfileToFile(aFilename: string): void;
9763   IsActive(): boolean;
9764   ClearAllPages(): void;
9765   GetFeatures(): string[];
9766   readonly activeConfiguration: any;
9767   GetAllFeatures(): string[];
9768   GetBufferInfo(aCurrentPosition: OutParam<u32>, aTotalSize: OutParam<u32>, aGeneration: OutParam<u32>): void;
9769   getElapsedTime(): double;
9770   readonly sharedLibraries: any;
9771   getSymbolTable(aDebugPath: string, aBreakpadID: string): Promise<any>;
9774 // https://searchfox.org/mozilla-central/source/dom/media/test/rdd_process_xpcom/nsIRddProcessTest.idl
9776 interface nsIRddProcessTest extends nsISupports {
9777   testTelemetryProbes(): Promise<any>;
9778   stopProcess(): void;
9781 // https://searchfox.org/mozilla-central/source/remote/components/nsIMarionette.idl
9783 interface nsIMarionette extends nsISupports {
9784   readonly running: boolean;
9787 // https://searchfox.org/mozilla-central/source/remote/components/nsIRemoteAgent.idl
9789 interface nsIRemoteAgent extends nsISupports {
9790   readonly debuggerAddress: string;
9791   readonly running: boolean;
9794 // https://searchfox.org/mozilla-central/source/toolkit/components/reputationservice/nsIApplicationReputation.idl
9796 interface nsIApplicationReputationService extends nsISupports {
9797   readonly VERDICT_SAFE: 0;
9798   readonly VERDICT_DANGEROUS: 1;
9799   readonly VERDICT_UNCOMMON: 2;
9800   readonly VERDICT_POTENTIALLY_UNWANTED: 3;
9801   readonly VERDICT_DANGEROUS_HOST: 4;
9803   queryReputation(aQuery: nsIApplicationReputationQuery, aCallback: nsIApplicationReputationCallback): void;
9804   isBinary(aFilename: string): boolean;
9805   isExecutable(aFilename: string): boolean;
9808 interface nsIApplicationReputationQuery extends nsISupports {
9809   readonly sourceURI: nsIURI;
9810   readonly referrerInfo: nsIReferrerInfo;
9811   readonly suggestedFileName: string;
9812   readonly fileSize: u32;
9813   readonly sha256Hash: string;
9814   readonly signatureInfo: u8[][][];
9815   readonly redirects: nsIArray;
9818 type nsIApplicationReputationCallback = Callable<{
9819   onComplete(aShouldBlock: boolean, aStatus: nsresult, aVerdict: u32): void;
9822 // https://searchfox.org/mozilla-central/source/security/sandbox/common/mozISandboxSettings.idl
9824 interface mozISandboxSettings extends nsISupports {
9825   readonly effectiveContentSandboxLevel: i32;
9826   readonly contentWin32kLockdownState: i32;
9827   readonly contentWin32kLockdownStateString: string;
9830 // https://searchfox.org/mozilla-central/source/toolkit/components/satchel/nsIFormAutoComplete.idl
9832 interface nsIFormAutoComplete extends nsISupports {
9833   autoCompleteSearchAsync(aInputName: string, aSearchString: string, aField: HTMLInputElement, aPreviousResult: nsIAutoCompleteResult, aAddDatalist: boolean, aListener: nsIFormAutoCompleteObserver): void;
9834   stopAutoCompleteSearch(): void;
9837 type nsIFormAutoCompleteObserver = Callable<{
9838   onSearchCompletion(result: nsIAutoCompleteResult): void;
9841 // https://searchfox.org/mozilla-central/source/toolkit/components/satchel/nsIFormFillController.idl
9843 interface nsIFormFillController extends nsISupports {
9844   readonly focusedInput: HTMLInputElement;
9845   readonly passwordPopupAutomaticallyOpened: boolean;
9846   attachPopupElementToDocument(document: Document, popup: Element): void;
9847   detachFromDocument(document: Document): void;
9848   isLoginManagerField(aInput: HTMLInputElement): boolean;
9849   markAsLoginManagerField(aInput: HTMLInputElement): void;
9850   markAsAutofillField(aInput: HTMLInputElement): void;
9851   showPopup(): void;
9854 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIAppServicesLogger.idl
9856 interface mozIAppServicesLogger extends nsISupports {
9857   register(target: string, logger: mozIServicesLogSink): void;
9860 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIBridgedSyncEngine.idl
9862 interface mozIBridgedSyncEngineCallback extends nsISupports {
9863   handleSuccess(result: nsIVariant): void;
9864   handleError(code: nsresult, message: string): void;
9867 interface mozIBridgedSyncEngineApplyCallback extends nsISupports {
9868   handleSuccess(outgoingEnvelopesAsJSON: string[]): void;
9869   handleError(code: nsresult, message: string): void;
9872 interface mozIBridgedSyncEngine extends nsISupports {
9873   readonly storageVersion: i32;
9874   readonly allowSkippedRecord: boolean;
9875   logger: mozIServicesLogSink;
9876   getLastSync(callback: mozIBridgedSyncEngineCallback): void;
9877   setLastSync(lastSyncMillis: i64, callback: mozIBridgedSyncEngineCallback): void;
9878   getSyncId(callback: mozIBridgedSyncEngineCallback): void;
9879   resetSyncId(callback: mozIBridgedSyncEngineCallback): void;
9880   ensureCurrentSyncId(newSyncId: string, callback: mozIBridgedSyncEngineCallback): void;
9881   syncStarted(callback: mozIBridgedSyncEngineCallback): void;
9882   storeIncoming(incomingEnvelopesAsJSON: string[], callback: mozIBridgedSyncEngineCallback): void;
9883   apply(callback: mozIBridgedSyncEngineApplyCallback): void;
9884   setUploaded(newTimestampMillis: i64, uploadedIds: string[], callback: mozIBridgedSyncEngineCallback): void;
9885   syncFinished(callback: mozIBridgedSyncEngineCallback): void;
9886   reset(callback: mozIBridgedSyncEngineCallback): void;
9887   wipe(callback: mozIBridgedSyncEngineCallback): void;
9890 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIInterruptible.idl
9892 interface mozIInterruptible extends nsISupports {
9893   interrupt(): void;
9896 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIServicesLogSink.idl
9898 interface mozIServicesLogSink extends nsISupports {
9899   readonly LEVEL_OFF: 0;
9900   readonly LEVEL_ERROR: 1;
9901   readonly LEVEL_WARN: 2;
9902   readonly LEVEL_INFO: 3;
9903   readonly LEVEL_DEBUG: 4;
9904   readonly LEVEL_TRACE: 5;
9906   maxLevel: i16;
9907   error(message: string): void;
9908   warn(message: string): void;
9909   debug(message: string): void;
9910   trace(message: string): void;
9911   info(message: string): void;
9914 // https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/SessionStoreFunctions.idl
9916 interface nsISessionStoreFunctions extends nsISupports {
9917   UpdateSessionStore(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aCollectSHistory: boolean, aData: any): void;
9918   UpdateSessionStoreForStorage(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aData: any): void;
9921 // https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/nsISessionStoreRestoreData.idl
9923 interface nsISessionStoreRestoreData extends nsISupports {
9924   url: string;
9925   innerHTML: string;
9926   scroll: string;
9927   addTextField(aIsXPath: boolean, aIdOrXPath: string, aValue: string): void;
9928   addCheckbox(aIsXPath: boolean, aIdOrXPath: string, aValue: boolean): void;
9929   addFileList(aIsXPath: boolean, aIdOrXPath: string, aType: string, aFileList: string[]): void;
9930   addSingleSelect(aIsXPath: boolean, aIdOrXPath: string, aSelectedIndex: u32, aValue: string): void;
9931   addMultipleSelect(aIsXPath: boolean, aIdOrXPath: string, aValues: string[]): void;
9932   addCustomElement(aIsXPath: boolean, aIdOrXPath: string, aValue: any, aState: any): void;
9933   addChild(aChild: nsISessionStoreRestoreData, aIndex: u32): void;
9936 // https://searchfox.org/mozilla-central/source/browser/components/shell/nsIShellService.idl
9938 interface nsIShellService extends nsISupports {
9939   readonly BACKGROUND_TILE: 1;
9940   readonly BACKGROUND_STRETCH: 2;
9941   readonly BACKGROUND_CENTER: 3;
9942   readonly BACKGROUND_FILL: 4;
9943   readonly BACKGROUND_FIT: 5;
9944   readonly BACKGROUND_SPAN: 6;
9946   isDefaultBrowser(aForAllTypes?: boolean): boolean;
9947   setDefaultBrowser(aForAllUsers: boolean): void;
9948   setDesktopBackground(aElement: Element, aPosition: i32, aImageName: string): void;
9949   desktopBackgroundColor: u32;
9952 // https://searchfox.org/mozilla-central/source/browser/components/shell/nsIWindowsShellService.idl
9954 interface nsIWindowsShellService extends nsISupports {
9955   createShortcut(aBinary: nsIFile, aArguments: string[], aDescription: string, aIconFile: nsIFile, aIconIndex: u16, aAppUserModelId: string, aShortcutFolder: string, aShortcutName: string): Promise<any>;
9956   getLaunchOnLoginShortcuts(): string[];
9957   pinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;
9958   checkPinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;
9959   isCurrentAppPinnedToTaskbarAsync(aumid: string): Promise<any>;
9960   pinShortcutToTaskbar(aShortcutPath: string): void;
9961   unpinShortcutFromTaskbar(aShortcutPath: string): void;
9962   getTaskbarTabShortcutPath(aShortcutName: string): string;
9963   getTaskbarTabPins(): string[];
9964   classifyShortcut(aPath: string): string;
9965   hasMatchingShortcut(aAUMID: string, aPrivateBrowsing: boolean): Promise<any>;
9966   canSetDefaultBrowserUserChoice(): boolean;
9967   checkAllProgIDsExist(): boolean;
9968   checkBrowserUserChoiceHashes(): boolean;
9969   isDefaultHandlerFor(aFileExtensionOrProtocol: string): boolean;
9970   queryCurrentDefaultHandlerFor(aFileExtensionOrProtocol: string): string;
9973 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsIBFCacheEntry.idl
9975 interface nsIBFCacheEntry extends nsISupports {
9976   RemoveFromBFCacheSync(): void;
9977   RemoveFromBFCacheAsync(): void;
9980 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHEntry.idl
9982 interface nsISHEntry extends nsISupports {
9983   URI: nsIURI;
9984   originalURI: nsIURI;
9985   resultPrincipalURI: nsIURI;
9986   unstrippedURI: nsIURI;
9987   loadReplace: boolean;
9988   title: string;
9989   name: string;
9990   isSubFrame: boolean;
9991   hasUserInteraction: boolean;
9992   hasUserActivation: boolean;
9993   referrerInfo: nsIReferrerInfo;
9994   documentViewer: nsIDocumentViewer;
9995   readonly isInBFCache: boolean;
9996   sticky: boolean;
9997   windowState: nsISupports;
9998   refreshURIList: nsIMutableArray;
9999   postData: nsIInputStream;
10000   readonly hasPostData: boolean;
10001   layoutHistoryState: nsILayoutHistoryState;
10002   parent: nsISHEntry;
10003   loadType: u32;
10004   ID: u32;
10005   cacheKey: u32;
10006   saveLayoutStateFlag: boolean;
10007   contentType: string;
10008   URIWasModified: boolean;
10009   triggeringPrincipal: nsIPrincipal;
10010   principalToInherit: nsIPrincipal;
10011   partitionedPrincipalToInherit: nsIPrincipal;
10012   csp: nsIContentSecurityPolicy;
10013   stateData: nsIStructuredCloneContainer;
10014   docshellID: nsID;
10015   readonly isSrcdocEntry: boolean;
10016   srcdocData: string;
10017   baseURI: nsIURI;
10018   scrollRestorationIsManual: boolean;
10019   readonly loadedInThisProcess: boolean;
10020   readonly childCount: i32;
10021   persist: boolean;
10022   setScrollPosition(x: i32, y: i32): void;
10023   getScrollPosition(x: OutParam<i32>, y: OutParam<i32>): void;
10024   initLayoutHistoryState(): nsILayoutHistoryState;
10025   clone(): nsISHEntry;
10026   hasDynamicallyAddedChild(): boolean;
10027   adoptBFCacheEntry(aEntry: nsISHEntry): void;
10028   abandonBFCacheEntry(): void;
10029   sharesDocumentWith(aEntry: nsISHEntry): boolean;
10030   setLoadTypeAsHistory(): void;
10031   AddChild(aChild: nsISHEntry, aOffset: i32, aUseRemoteSubframes?: boolean): void;
10032   GetChildAt(aIndex: i32): nsISHEntry;
10033   readonly bfcacheID: u64;
10034   wireframe: any;
10037 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistory.idl
10039 interface nsISHistory extends nsISupports {
10040   readonly count: i32;
10041   index: i32;
10042   readonly requestedIndex: i32;
10043   getEntryAtIndex(aIndex: i32): nsISHEntry;
10044   purgeHistory(aNumEntries: i32): void;
10045   addSHistoryListener(aListener: nsISHistoryListener): void;
10046   removeSHistoryListener(aListener: nsISHistoryListener): void;
10047   reloadCurrentEntry(): void;
10048   addEntry(aEntry: nsISHEntry, aPersist: boolean): void;
10049   updateIndex(): void;
10050   replaceEntry(aIndex: i32, aReplaceEntry: nsISHEntry): void;
10051   notifyOnHistoryReload(): boolean;
10052   evictOutOfRangeDocumentViewers(aIndex: i32): void;
10053   evictAllDocumentViewers(): void;
10054   createEntry(): nsISHEntry;
10057 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistoryListener.idl
10059 interface nsISHistoryListener extends nsISupports {
10060   OnHistoryNewEntry(aNewURI: nsIURI, aOldIndex: i32): void;
10061   OnHistoryReload(): boolean;
10062   OnHistoryGotoIndex(): void;
10063   OnHistoryPurge(aNumEntries: i32): void;
10064   OnHistoryTruncate(aNumEntries: i32): void;
10065   OnHistoryReplaceEntry(): void;
10066   OnDocumentViewerEvicted(aNumEvicted: u32): void;
10069 // https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozIPersonalDictionary.idl
10071 interface mozIPersonalDictionary extends nsISupports {
10072   load(): void;
10073   save(): void;
10074   readonly wordList: nsIStringEnumerator;
10075   check(word: string): boolean;
10076   addWord(word: string): void;
10077   removeWord(word: string): void;
10078   ignoreWord(word: string): void;
10079   endSession(): void;
10082 // https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
10084 interface mozISpellCheckingEngine extends nsISupports {
10085   dictionaries: string[];
10086   personalDictionary: mozIPersonalDictionary;
10087   getDictionaryList(): string[];
10088   check(word: string): boolean;
10089   suggest(word: string): string[];
10090   loadDictionariesFromDir(dir: nsIFile): void;
10091   addDirectory(dir: nsIFile): void;
10092   removeDirectory(dir: nsIFile): void;
10093   addDictionary(lang: string, file: nsIURI): void;
10094   removeDictionary(lang: string, file: nsIURI): boolean;
10097 // https://searchfox.org/mozilla-central/source/startupcache/nsIStartupCacheInfo.idl
10099 interface nsIStartupCacheInfo extends nsISupports {
10100   readonly IgnoreDiskCache: boolean;
10101   readonly FoundDiskCacheOnInit: boolean;
10102   readonly WroteToDiskCache: boolean;
10103   readonly DiskCachePath: string;
10106 // https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncConnection.idl
10108 interface mozIStorageAsyncConnection extends nsISupports {
10109   readonly TRANSACTION_DEFAULT: -1;
10110   readonly TRANSACTION_DEFERRED: 0;
10111   readonly TRANSACTION_IMMEDIATE: 1;
10112   readonly TRANSACTION_EXCLUSIVE: 2;
10114   defaultTransactionType: i32;
10115   readonly variableLimit: i32;
10116   readonly transactionInProgress: boolean;
10117   asyncClose(aCallback?: mozIStorageCompletionCallback): void;
10118   asyncClone(aReadOnly: boolean, aCallback: mozIStorageCompletionCallback): void;
10119   readonly databaseFile: nsIFile;
10120   interrupt(): void;
10121   asyncVacuum(aCallback?: mozIStorageCompletionCallback, aUseIncremental?: boolean, aSetPageSize?: i32): void;
10122   createAsyncStatement(aSQLStatement: string): mozIStorageAsyncStatement;
10123   executeAsync(aStatements: mozIStorageBaseStatement[], aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10124   executeSimpleSQLAsync(aSQLStatement: string, aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10125   loadExtension(aExtensionName: string, aCallback?: mozIStorageCompletionCallback): void;
10126   createFunction(aFunctionName: string, aNumArguments: i32, aFunction: mozIStorageFunction): void;
10127   removeFunction(aFunctionName: string): void;
10128   setProgressHandler(aGranularity: i32, aHandler: mozIStorageProgressHandler): mozIStorageProgressHandler;
10129   removeProgressHandler(): mozIStorageProgressHandler;
10130   backupToFileAsync(aDestinationFile: nsIFile, aCallback: mozIStorageCompletionCallback): void;
10133 // https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncStatement.idl
10135 interface mozIStorageAsyncStatement extends mozIStorageBaseStatement {
10138 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBaseStatement.idl
10140 interface mozIStorageBaseStatement extends mozIStorageBindingParams {
10141   readonly MOZ_STORAGE_STATEMENT_INVALID: 0;
10142   readonly MOZ_STORAGE_STATEMENT_READY: 1;
10143   readonly MOZ_STORAGE_STATEMENT_EXECUTING: 2;
10145   finalize(): void;
10146   bindParameters(aParameters: mozIStorageBindingParamsArray): void;
10147   newBindingParamsArray(): mozIStorageBindingParamsArray;
10148   executeAsync(aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10149   readonly state: i32;
10150   escapeStringForLIKE(aValue: string, aEscapeChar: string): string;
10151   escapeUTF8StringForLIKE(aValue: string, aEscapeChar: string): string;
10154 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParams.idl
10156 interface mozIStorageBindingParams extends nsISupports {
10157   bindByName(aName: string, aValue: nsIVariant): void;
10158   bindBlobByName(aName: string, aValue: u8[]): void;
10159   bindStringAsBlobByName(aName: string, aValue: string): void;
10160   bindUTF8StringAsBlobByName(aName: string, aValue: string): void;
10161   bindByIndex(aIndex: u32, aValue: nsIVariant): void;
10162   bindBlobByIndex(aIndex: u32, aValue: u8[]): void;
10163   bindStringAsBlobByIndex(aIndex: u32, aValue: string): void;
10164   bindUTF8StringAsBlobByIndex(aIndex: u32, aValue: string): void;
10167 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParamsArray.idl
10169 interface mozIStorageBindingParamsArray extends nsISupports {
10170   newBindingParams(): mozIStorageBindingParams;
10171   addParams(aParameters: mozIStorageBindingParams): void;
10172   readonly length: u32;
10175 // https://searchfox.org/mozilla-central/source/storage/mozIStorageCompletionCallback.idl
10177 type mozIStorageCompletionCallback = Callable<{
10178   complete(status: nsresult, value?: nsISupports): void;
10181 // https://searchfox.org/mozilla-central/source/storage/mozIStorageConnection.idl
10183 interface mozIStorageConnection extends mozIStorageAsyncConnection {
10184   close(): void;
10185   clone(aReadOnly?: boolean): mozIStorageConnection;
10186   readonly defaultPageSize: i32;
10187   readonly connectionReady: boolean;
10188   readonly lastInsertRowID: i64;
10189   readonly affectedRows: i32;
10190   readonly lastError: i32;
10191   readonly lastErrorString: string;
10192   schemaVersion: i32;
10193   createStatement(aSQLStatement: string): mozIStorageStatement;
10194   executeSimpleSQL(aSQLStatement: string): void;
10195   tableExists(aTableName: string): boolean;
10196   indexExists(aIndexName: string): boolean;
10197   beginTransaction(): void;
10198   commitTransaction(): void;
10199   rollbackTransaction(): void;
10200   createTable(aTableName: string, aTableSchema: string): void;
10201   setGrowthIncrement(aIncrement: i32, aDatabaseName: string): void;
10204 // https://searchfox.org/mozilla-central/source/storage/mozIStorageError.idl
10206 interface mozIStorageError extends nsISupports {
10207   readonly ERROR: 1;
10208   readonly INTERNAL: 2;
10209   readonly PERM: 3;
10210   readonly ABORT: 4;
10211   readonly BUSY: 5;
10212   readonly LOCKED: 6;
10213   readonly NOMEM: 7;
10214   readonly READONLY: 8;
10215   readonly INTERRUPT: 9;
10216   readonly IOERR: 10;
10217   readonly CORRUPT: 11;
10218   readonly FULL: 13;
10219   readonly CANTOPEN: 14;
10220   readonly EMPTY: 16;
10221   readonly SCHEMA: 17;
10222   readonly TOOBIG: 18;
10223   readonly CONSTRAINT: 19;
10224   readonly MISMATCH: 20;
10225   readonly MISUSE: 21;
10226   readonly NOLFS: 22;
10227   readonly AUTH: 23;
10228   readonly FORMAT: 24;
10229   readonly RANGE: 25;
10230   readonly NOTADB: 26;
10232   readonly result: i32;
10233   readonly message: string;
10236 // https://searchfox.org/mozilla-central/source/storage/mozIStorageFunction.idl
10238 type mozIStorageFunction = Callable<{
10239   onFunctionCall(aFunctionArguments: mozIStorageValueArray): nsIVariant;
10242 // https://searchfox.org/mozilla-central/source/storage/mozIStoragePendingStatement.idl
10244 interface mozIStoragePendingStatement extends nsISupports {
10245   cancel(): void;
10248 // https://searchfox.org/mozilla-central/source/storage/mozIStorageProgressHandler.idl
10250 interface mozIStorageProgressHandler extends nsISupports {
10251   onProgress(aConnection: mozIStorageConnection): boolean;
10254 // https://searchfox.org/mozilla-central/source/storage/mozIStorageResultSet.idl
10256 interface mozIStorageResultSet extends nsISupports {
10257   getNextRow(): mozIStorageRow;
10260 // https://searchfox.org/mozilla-central/source/storage/mozIStorageRow.idl
10262 interface mozIStorageRow extends mozIStorageValueArray {
10263   getResultByIndex(aIndex: u32): nsIVariant;
10264   getResultByName(aName: string): nsIVariant;
10267 // https://searchfox.org/mozilla-central/source/storage/mozIStorageService.idl
10269 interface mozIStorageService extends nsISupports {
10270   readonly OPEN_DEFAULT: 0;
10271   readonly OPEN_SHARED: 1;
10272   readonly OPEN_READONLY: 2;
10273   readonly OPEN_IGNORE_LOCKING_MODE: 4;
10274   readonly CONNECTION_DEFAULT: 0;
10275   readonly CONNECTION_INTERRUPTIBLE: 1;
10277   openAsyncDatabase(aDatabaseStore: nsIVariant, aOpenFlags: u32, aConnectionFlags: u32, aCallback: mozIStorageCompletionCallback): void;
10278   openSpecialDatabase(aStorageKey: string, aName?: string, aConnectionFlags?: u32): mozIStorageConnection;
10279   openDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;
10280   openUnsharedDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;
10281   openDatabaseWithFileURL(aFileURL: nsIFileURL, aTelemetryFilename?: string, aConnectionFlags?: u32): mozIStorageConnection;
10284 // https://searchfox.org/mozilla-central/source/storage/mozIStorageStatement.idl
10286 interface mozIStorageStatement extends mozIStorageBaseStatement {
10287   readonly VALUE_TYPE_NULL: 0;
10288   readonly VALUE_TYPE_INTEGER: 1;
10289   readonly VALUE_TYPE_FLOAT: 2;
10290   readonly VALUE_TYPE_TEXT: 3;
10291   readonly VALUE_TYPE_BLOB: 4;
10293   clone(): mozIStorageStatement;
10294   readonly parameterCount: u32;
10295   getParameterName(aParamIndex: u32): string;
10296   getParameterIndex(aName: string): u32;
10297   readonly columnCount: u32;
10298   getColumnName(aColumnIndex: u32): string;
10299   getColumnIndex(aName: string): u32;
10300   reset(): void;
10301   execute(): void;
10302   executeStep(): boolean;
10303   readonly numEntries: u32;
10304   getTypeOfIndex(aIndex: u32): i32;
10305   getVariant(aIndex: u32): nsIVariant;
10306   getInt32(aIndex: u32): i32;
10307   getInt64(aIndex: u32): i64;
10308   getDouble(aIndex: u32): double;
10309   getUTF8String(aIndex: u32): string;
10310   getString(aIndex: u32): string;
10311   getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;
10312   getBlobAsString(aIndex: u32): string;
10313   getBlobAsUTF8String(aIndex: u32): string;
10314   getIsNull(aIndex: u32): boolean;
10317 // https://searchfox.org/mozilla-central/source/storage/mozIStorageStatementCallback.idl
10319 interface mozIStorageStatementCallback extends nsISupports {
10320   readonly REASON_FINISHED: 0;
10321   readonly REASON_CANCELED: 1;
10322   readonly REASON_ERROR: 2;
10324   handleResult(aResultSet: mozIStorageResultSet): void;
10325   handleError(aError: mozIStorageError): void;
10326   handleCompletion(aReason: u16): void;
10329 // https://searchfox.org/mozilla-central/source/storage/mozIStorageVacuumParticipant.idl
10331 interface mozIStorageVacuumParticipant extends nsISupports {
10332   readonly expectedDatabasePageSize: i32;
10333   readonly useIncrementalVacuum: boolean;
10334   readonly databaseConnection: mozIStorageAsyncConnection;
10335   onBeginVacuum(): boolean;
10336   onEndVacuum(aSucceeded: boolean): void;
10339 // https://searchfox.org/mozilla-central/source/storage/mozIStorageValueArray.idl
10341 interface mozIStorageValueArray extends nsISupports {
10342   readonly VALUE_TYPE_NULL: 0;
10343   readonly VALUE_TYPE_INTEGER: 1;
10344   readonly VALUE_TYPE_FLOAT: 2;
10345   readonly VALUE_TYPE_TEXT: 3;
10346   readonly VALUE_TYPE_BLOB: 4;
10348   readonly numEntries: u32;
10349   getTypeOfIndex(aIndex: u32): i32;
10350   getInt32(aIndex: u32): i32;
10351   getInt64(aIndex: u32): i64;
10352   getDouble(aIndex: u32): double;
10353   getUTF8String(aIndex: u32): string;
10354   getString(aIndex: u32): string;
10355   getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;
10356   getBlobAsString(aIndex: u32): string;
10357   getBlobAsUTF8String(aIndex: u32): string;
10358   getIsNull(aIndex: u32): boolean;
10361 // https://searchfox.org/mozilla-central/source/toolkit/components/taskscheduler/nsIWinTaskSchedulerService.idl
10363 interface nsIWinTaskSchedulerService extends nsISupports {
10364   registerTask(aFolderName: string, aTaskName: string, aDefinitionXML: string, aUpdateExisting?: boolean): void;
10365   validateTaskDefinition(aDefinitionXML: string): i32;
10366   getTaskXML(aFolderName: string, aTaskName: string): string;
10367   getCurrentUserSid(): string;
10368   deleteTask(aFolderName: string, aTaskName: string): void;
10369   getFolderTasks(aFolderName: string): string[];
10370   createFolder(aParentFolderName: string, aSubFolderName: string): void;
10371   deleteFolder(aParentFolderName: string, aSubFolderName: string): void;
10374 // https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl
10376 type nsIFetchTelemetryDataCallback = Callable<{
10377   complete(): void;
10380 interface nsITelemetry extends nsISupports {
10381   readonly HISTOGRAM_EXPONENTIAL: 0;
10382   readonly HISTOGRAM_LINEAR: 1;
10383   readonly HISTOGRAM_BOOLEAN: 2;
10384   readonly HISTOGRAM_FLAG: 3;
10385   readonly HISTOGRAM_COUNT: 4;
10386   readonly HISTOGRAM_CATEGORICAL: 5;
10387   readonly SCALAR_TYPE_COUNT: 0;
10388   readonly SCALAR_TYPE_STRING: 1;
10389   readonly SCALAR_TYPE_BOOLEAN: 2;
10390   readonly DATASET_ALL_CHANNELS: 0;
10391   readonly DATASET_PRERELEASE_CHANNELS: 1;
10392   readonly INCLUDE_OLD_LOADEVENTS: 1;
10393   readonly KEEP_LOADEVENTS_NEW: 2;
10394   readonly INCLUDE_PRIVATE_FIELDS_IN_LOADEVENTS: 4;
10395   readonly EXCLUDE_STACKINFO_FROM_LOADEVENTS: 8;
10397   getCategoricalLabels(): any;
10398   getSnapshotForHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10399   getSnapshotForKeyedHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10400   getSnapshotForScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10401   getSnapshotForKeyedScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10402   readonly lastShutdownDuration: u32;
10403   readonly failedProfileLockCount: u32;
10404   readonly slowSQL: any;
10405   readonly debugSlowSQL: any;
10406   getUntrustedModuleLoadEvents(aFlags?: u32): Promise<any>;
10407   readonly areUntrustedModuleLoadEventsReady: boolean;
10408   getLoadedModules(): Promise<any>;
10409   readonly lateWrites: any;
10410   getHistogramById(id: string): any;
10411   getKeyedHistogramById(id: string): any;
10412   canRecordBase: boolean;
10413   canRecordExtended: boolean;
10414   readonly canRecordReleaseData: boolean;
10415   readonly canRecordPrereleaseData: boolean;
10416   readonly isOfficialTelemetry: boolean;
10417   setHistogramRecordingEnabled(id: string, enabled: boolean): void;
10418   asyncFetchTelemetryData(aCallback: nsIFetchTelemetryDataCallback): void;
10419   readonly fileIOReports: any;
10420   msSinceProcessStart(): double;
10421   msSinceProcessStartIncludingSuspend(): double;
10422   msSinceProcessStartExcludingSuspend(): double;
10423   msSystemNow(): double;
10424   scalarAdd(aName: string, aValue: any): void;
10425   scalarSet(aName: string, aValue: any): void;
10426   scalarSetMaximum(aName: string, aValue: any): void;
10427   keyedScalarAdd(aName: string, aKey: string, aValue: any): void;
10428   keyedScalarSet(aName: string, aKey: string, aValue: any): void;
10429   keyedScalarSetMaximum(aName: string, aKey: string, aValue: any): void;
10430   clearScalars(): void;
10431   flushBatchedChildTelemetry(): void;
10432   recordEvent(aCategory: string, aMethod: string, aObject: string, aValue?: any, extra?: any): void;
10433   setEventRecordingEnabled(aCategory: string, aEnabled: boolean): void;
10434   snapshotEvents(aDataset: u32, aClear?: boolean, aEventLimit?: u32): any;
10435   registerEvents(aCategory: string, aEventData: any): void;
10436   registerBuiltinEvents(aCategory: string, aEventData: any): void;
10437   registerScalars(aCategoryName: string, aScalarData: any): void;
10438   registerBuiltinScalars(aCategoryName: string, aScalarData: any): void;
10439   clearEvents(): void;
10440   getAllStores(): any;
10441   earlyInit(): void;
10442   delayedInit(): void;
10443   shutdown(): void;
10444   gatherMemory(): Promise<any>;
10447 // https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/dap/nsIDAPTelemetry.idl
10449 interface nsIDAPTelemetry extends nsISupports {
10450   GetReportU8(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u8, task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10451   GetReportVecU8(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u8[], task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10452   GetReportVecU16(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u16[], task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10455 // https://searchfox.org/mozilla-central/source/netwerk/test/httpserver/nsIHttpServer.idl
10457 interface nsIHttpServer extends nsISupports {
10458   start(port: i32): void;
10459   start_ipv6(port: i32): void;
10460   start_dualStack(port: i32): void;
10461   stop(callback: nsIHttpServerStoppedCallback): void;
10462   registerFile(path: string, file: nsIFile, handler?: nsIHttpRequestHandler): void;
10463   registerPathHandler(path: string, handler: nsIHttpRequestHandler): void;
10464   registerPrefixHandler(prefix: string, handler: nsIHttpRequestHandler): void;
10465   registerErrorHandler(code: u32, handler: nsIHttpRequestHandler): void;
10466   registerDirectory(path: string, dir: nsIFile): void;
10467   registerContentType(extension: string, type: string): void;
10468   setIndexHandler(handler: nsIHttpRequestHandler): void;
10469   readonly identity: nsIHttpServerIdentity;
10470   getState(path: string, key: string): string;
10471   setState(path: string, key: string, value: string): void;
10472   getSharedState(key: string): string;
10473   setSharedState(key: string, value: string): void;
10474   getObjectState(key: string): nsISupports;
10475   setObjectState(key: string, value: nsISupports): void;
10478 type nsIHttpServerStoppedCallback = Callable<{
10479   onStopped(): void;
10482 interface nsIHttpServerIdentity extends nsISupports {
10483   readonly primaryScheme: string;
10484   readonly primaryHost: string;
10485   readonly primaryPort: i32;
10486   add(scheme: string, host: string, port: i32): void;
10487   remove(scheme: string, host: string, port: i32): boolean;
10488   has(scheme: string, host: string, port: i32): boolean;
10489   getScheme(host: string, port: i32): string;
10490   setPrimary(scheme: string, host: string, port: i32): void;
10493 type nsIHttpRequestHandler = Callable<{
10494   handle(request: nsIHttpRequest, response: nsIHttpResponse): void;
10497 interface nsIHttpRequest extends nsISupports {
10498   readonly method: string;
10499   readonly scheme: string;
10500   readonly host: string;
10501   readonly port: u32;
10502   readonly path: string;
10503   readonly queryString: string;
10504   readonly httpVersion: string;
10505   getHeader(fieldName: string): string;
10506   hasHeader(fieldName: string): boolean;
10507   readonly headers: nsISimpleEnumerator;
10508   readonly bodyInputStream: nsIInputStream;
10511 interface nsIHttpResponse extends nsISupports {
10512   setStatusLine(httpVersion: string, statusCode: u16, description: string): void;
10513   setHeader(name: string, value: string, merge: boolean): void;
10514   setHeaderNoCheck(name: string, value: string): void;
10515   readonly bodyOutputStream: nsIOutputStream;
10516   write(data: string): void;
10517   processAsync(): void;
10518   seizePower(): void;
10519   finish(): void;
10522 // https://searchfox.org/mozilla-central/source/toolkit/components/thumbnails/nsIPageThumbsStorageService.idl
10524 interface nsIPageThumbsStorageService extends nsISupports {
10525   getLeafNameForURL(aURL: string): string;
10526   readonly path: string;
10527   getFilePathForURL(aURL: string): string;
10530 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileMigrator.idl
10532 interface nsIProfileStartup extends nsISupports {
10533   readonly directory: nsIFile;
10534   doStartup(): void;
10537 interface nsIProfileMigrator extends nsISupports {
10538   migrate(aStartup: nsIProfileStartup, aKey: string, aProfileName?: string): void;
10541 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileUnlocker.idl
10543 interface nsIProfileUnlocker extends nsISupports {
10544   readonly ATTEMPT_QUIT: 0;
10545   readonly FORCE_QUIT: 1;
10547   unlock(aSeverity: u32): void;
10550 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfile.idl
10552 interface nsIProfileLock extends nsISupports {
10553   readonly directory: nsIFile;
10554   readonly localDirectory: nsIFile;
10555   readonly replacedLockTime: PRTime;
10556   unlock(): void;
10559 interface nsIToolkitProfile extends nsISupports {
10560   readonly rootDir: nsIFile;
10561   readonly localDir: nsIFile;
10562   name: string;
10563   remove(removeFiles: boolean): void;
10564   removeInBackground(removeFiles: boolean): void;
10565   lock(aUnlocker: OutParam<nsIProfileUnlocker>): nsIProfileLock;
10568 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfileService.idl
10570 }  // global
10572 declare namespace nsIToolkitProfileService {
10574 enum downgradeUIFlags {
10575   hasSync = 1,
10578 enum downgradeUIChoice {
10579   quit = 0,
10580   createNewProfile = 1,
10583 enum profileManagerResult {
10584   exit = 0,
10585   launchWithProfile = 1,
10586   restart = 2,
10591 declare global {
10593 interface nsIToolkitProfileService extends nsISupports, Enums<typeof nsIToolkitProfileService.downgradeUIFlags & typeof nsIToolkitProfileService.downgradeUIChoice & typeof nsIToolkitProfileService.profileManagerResult> {
10594   readonly isListOutdated: boolean;
10595   startWithLastProfile: boolean;
10596   readonly profiles: nsISimpleEnumerator;
10597   readonly currentProfile: nsIToolkitProfile;
10598   defaultProfile: nsIToolkitProfile;
10599   selectStartupProfile(aArgv: string[], aIsResetting: boolean, aUpdateChannel: string, aLegacyInstallHash: string, aRootDir: OutParam<nsIFile>, aLocalDir: OutParam<nsIFile>, aProfile: OutParam<nsIToolkitProfile>): boolean;
10600   getProfileByName(aName: string): nsIToolkitProfile;
10601   createProfile(aRootDir: nsIFile, aName: string): nsIToolkitProfile;
10602   createUniqueProfile(aRootDir: nsIFile, aNamePrefix: string): nsIToolkitProfile;
10603   readonly profileCount: u32;
10604   flush(): void;
10607 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl
10609 interface nsIBounceTrackingProtection extends nsISupports {
10610   clearAll(): void;
10611   clearBySiteHostAndOA(aSiteHost: string, originAttributes: any): void;
10612   clearBySiteHost(aSiteHost: string): void;
10613   clearByTimeRange(aFrom: PRTime, aTo: PRTime): void;
10614   clearByOriginAttributesPattern(aPattern: string): void;
10615   testRunPurgeBounceTrackers(): Promise<any>;
10616   testClearExpiredUserActivations(): void;
10617   testGetBounceTrackerCandidateHosts(originAttributes: any): string[];
10618   testGetUserActivationHosts(originAttributes: any): string[];
10619   testAddBounceTrackerCandidate(originAttributes: any, aSiteHost: string, aBounceTime: PRTime): void;
10620   testAddUserActivation(originAttributes: any, aSiteHost: string, aActivationTime: PRTime): void;
10623 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIContentBlockingAllowList.idl
10625 interface nsIContentBlockingAllowList extends nsISupports {
10626   computeContentBlockingAllowListPrincipal(aPrincipal: nsIPrincipal): nsIPrincipal;
10629 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPartitioningExceptionListService.idl
10631 type nsIPartitioningExceptionListObserver = Callable<{
10632   onExceptionListUpdate(aList: string): void;
10635 interface nsIPartitioningExceptionListService extends nsISupports {
10636   registerAndRunExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;
10637   unregisterExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;
10640 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPurgeTrackerService.idl
10642 interface nsIPurgeTrackerService extends nsISupports {
10643   purgeTrackingCookieJars(): Promise<any>;
10646 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsITrackingDBService.idl
10648 interface nsITrackingDBService extends nsISupports {
10649   readonly OTHER_COOKIES_BLOCKED_ID: 0;
10650   readonly TRACKERS_ID: 1;
10651   readonly TRACKING_COOKIES_ID: 2;
10652   readonly CRYPTOMINERS_ID: 3;
10653   readonly FINGERPRINTERS_ID: 4;
10654   readonly SOCIAL_ID: 5;
10655   readonly SUSPICIOUS_FINGERPRINTERS_ID: 6;
10657   recordContentBlockingLog(data: string): void;
10658   saveEvents(data: string): Promise<any>;
10659   clearAll(): Promise<any>;
10660   clearSince(since: i64): Promise<any>;
10661   getEventsByDateRange(dateFrom: i64, dateTo: i64): Promise<any>;
10662   sumAllEvents(): Promise<any>;
10663   getEarliestRecordedDate(): Promise<any>;
10666 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLDecorationAnnotationsService.idl
10668 interface nsIURLDecorationAnnotationsService extends nsISupports {
10669   ensureUpdated(): Promise<any>;
10672 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStringStripper.idl
10674 interface nsIURLQueryStringStripper extends nsISupports {
10675   strip(aURI: nsIURI, aIsPBM: boolean, aOutput: OutParam<nsIURI>): u32;
10676   stripForCopyOrShare(aURI: nsIURI): nsIURI;
10677   testGetStripList(): string;
10680 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStrippingListService.idl
10682 interface nsIURLQueryStrippingListObserver extends nsISupports {
10683   onQueryStrippingListUpdate(aStripList: string, aAllowList: string): void;
10684   onStripOnShareUpdate(aStripRules: string[]): void;
10687 interface nsIURLQueryStrippingListService extends nsISupports {
10688   registerAndRunObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10689   registerAndRunObserverStripOnShare(aObserver: nsIURLQueryStrippingListObserver): void;
10690   unregisterObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10691   unregisterStripOnShareObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10692   clearLists(): void;
10693   testWaitForInit(): Promise<any>;
10694   testSetList(testFile: any): Promise<any>;
10695   testHasStripOnShareObservers(): boolean;
10696   testHasQPSObservers(): boolean;
10699 // https://searchfox.org/mozilla-central/source/toolkit/components/asyncshutdown/nsIAsyncShutdown.idl
10701 interface nsIAsyncShutdownBlocker extends nsISupports {
10702   readonly name: string;
10703   blockShutdown(aBarrierClient: nsIAsyncShutdownClient): void;
10704   readonly state: nsIPropertyBag;
10707 interface nsIAsyncShutdownClient extends nsISupports {
10708   readonly name: string;
10709   readonly isClosed: boolean;
10710   addBlocker(aBlocker: nsIAsyncShutdownBlocker, aFileName: string, aLineNumber: i32, aStack: string): void;
10711   removeBlocker(aBlocker: nsIAsyncShutdownBlocker): void;
10712   readonly jsclient: any;
10715 type nsIAsyncShutdownCompletionCallback = Callable<{
10716   done(): void;
10719 interface nsIAsyncShutdownBarrier extends nsISupports {
10720   readonly client: nsIAsyncShutdownClient;
10721   readonly state: nsIPropertyBag;
10722   wait(aOnReady: nsIAsyncShutdownCompletionCallback): void;
10725 interface nsIAsyncShutdownService extends nsISupports {
10726   makeBarrier(aName: string): nsIAsyncShutdownBarrier;
10727   readonly profileBeforeChange: nsIAsyncShutdownClient;
10728   readonly profileChangeTeardown: nsIAsyncShutdownClient;
10729   readonly quitApplicationGranted: nsIAsyncShutdownClient;
10730   readonly sendTelemetry: nsIAsyncShutdownClient;
10731   readonly webWorkersShutdown: nsIAsyncShutdownClient;
10732   readonly xpcomWillShutdown: nsIAsyncShutdownClient;
10735 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasks.idl
10737 interface nsIBackgroundTasks extends nsISupports {
10738   readonly isBackgroundTaskMode: boolean;
10739   backgroundTaskName(): string;
10740   overrideBackgroundTaskNameForTesting(taskName: string): void;
10743 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksManager.idl
10745 interface nsIBackgroundTasksManager extends nsICommandLineHandler {
10746   runBackgroundTaskNamed(aTaskName: string, aCommandLine: nsICommandLine): void;
10749 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksRunner.idl
10751 interface nsIBackgroundTasksRunner extends nsISupports {
10752   runInDetachedProcess(aTaskName: string, aCommandLine: string[]): void;
10753   removeDirectoryInDetachedProcess(aParentDirPath: string, aChildDirName: string, aSecondsToWait: string, aOtherFoldersSuffix: string, aMetricsId?: string): void;
10756 // https://searchfox.org/mozilla-central/source/toolkit/components/cleardata/nsIClearDataService.idl
10758 interface nsIClearDataService extends nsISupports {
10759   readonly CLEAR_COOKIES: 1;
10760   readonly CLEAR_NETWORK_CACHE: 2;
10761   readonly CLEAR_IMAGE_CACHE: 4;
10762   readonly CLEAR_DOWNLOADS: 16;
10763   readonly CLEAR_PASSWORDS: 32;
10764   readonly CLEAR_MEDIA_DEVICES: 64;
10765   readonly CLEAR_DOM_QUOTA: 128;
10766   readonly CLEAR_PREDICTOR_NETWORK_DATA: 256;
10767   readonly CLEAR_DOM_PUSH_NOTIFICATIONS: 512;
10768   readonly CLEAR_HISTORY: 1024;
10769   readonly CLEAR_SESSION_HISTORY: 2048;
10770   readonly CLEAR_AUTH_TOKENS: 4096;
10771   readonly CLEAR_AUTH_CACHE: 8192;
10772   readonly CLEAR_PERMISSIONS: 16384;
10773   readonly CLEAR_CONTENT_PREFERENCES: 32768;
10774   readonly CLEAR_HSTS: 65536;
10775   readonly CLEAR_EME: 131072;
10776   readonly CLEAR_REPORTS: 262144;
10777   readonly CLEAR_STORAGE_ACCESS: 524288;
10778   readonly CLEAR_CERT_EXCEPTIONS: 1048576;
10779   readonly CLEAR_CONTENT_BLOCKING_RECORDS: 2097152;
10780   readonly CLEAR_CSS_CACHE: 4194304;
10781   readonly CLEAR_PREFLIGHT_CACHE: 8388608;
10782   readonly CLEAR_CLIENT_AUTH_REMEMBER_SERVICE: 16777216;
10783   readonly CLEAR_CREDENTIAL_MANAGER_STATE: 16777216;
10784   readonly CLEAR_COOKIE_BANNER_EXCEPTION: 33554432;
10785   readonly CLEAR_COOKIE_BANNER_EXECUTED_RECORD: 67108864;
10786   readonly CLEAR_FINGERPRINTING_PROTECTION_STATE: 134217728;
10787   readonly CLEAR_BOUNCE_TRACKING_PROTECTION_STATE: 268435456;
10788   readonly CLEAR_ALL: 4294967295;
10789   readonly CLEAR_ALL_CACHES: 12648454;
10790   readonly CLEAR_DOM_STORAGES: 262784;
10791   readonly CLEAR_FORGET_ABOUT_SITE: 534237079;
10793   deleteDataFromLocalFiles(aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10794   deleteDataFromHost(aHost: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10795   deleteDataFromBaseDomain(aDomainOrHost: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10796   deleteDataFromPrincipal(aPrincipal: nsIPrincipal, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10797   deleteDataInTimeRange(aFrom: PRTime, aTo: PRTime, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10798   deleteData(aFlags: u32, aCallback: nsIClearDataCallback): void;
10799   deleteDataFromOriginAttributesPattern(aOriginAttributesPattern: any, aCallback?: nsIClearDataCallback): void;
10800   deleteUserInteractionForClearingHistory(aPrincipalsWithStorage: nsIPrincipal[], aFrom?: PRTime, aCallback?: nsIClearDataCallback): void;
10801   cleanupAfterDeletionAtShutdown(aFlags: u32, aCallback: nsIClearDataCallback): void;
10804 type nsIClearDataCallback = Callable<{
10805   onDataDeleted(aFailedFlags: u32): void;
10808 // https://searchfox.org/mozilla-central/source/toolkit/components/contentanalysis/nsIContentAnalysis.idl
10810 }  // global
10812 declare namespace nsIContentAnalysisAcknowledgement {
10814 enum Result {
10815   eSuccess = 1,
10816   eInvalidResponse = 2,
10817   eTooLate = 3,
10820 enum FinalAction {
10821   eUnspecified = 0,
10822   eAllow = 1,
10823   eReportOnly = 2,
10824   eWarn = 3,
10825   eBlock = 4,
10830 declare global {
10832 interface nsIContentAnalysisAcknowledgement extends nsISupports, Enums<typeof nsIContentAnalysisAcknowledgement.Result & typeof nsIContentAnalysisAcknowledgement.FinalAction> {
10833   readonly result: nsIContentAnalysisAcknowledgement.Result;
10834   readonly finalAction: nsIContentAnalysisAcknowledgement.FinalAction;
10837 }  // global
10839 declare namespace nsIContentAnalysisResponse {
10841 enum Action {
10842   eUnspecified = 0,
10843   eReportOnly = 1,
10844   eWarn = 2,
10845   eBlock = 3,
10846   eAllow = 1000,
10847   eCanceled = 1001,
10852 declare global {
10854 interface nsIContentAnalysisResponse extends nsISupports, Enums<typeof nsIContentAnalysisResponse.Action> {
10855   readonly action: nsIContentAnalysisResponse.Action;
10856   readonly shouldAllowContent: boolean;
10857   readonly requestToken: string;
10858   acknowledge(aCaa: nsIContentAnalysisAcknowledgement): void;
10861 interface nsIClientDownloadResource extends nsISupports {
10862   readonly DOWNLOAD_URL: 0;
10863   readonly DOWNLOAD_REDIRECT: 1;
10864   readonly TAB_URL: 2;
10865   readonly TAB_REDIRECT: 3;
10866   readonly PPAPI_DOCUMENT: 4;
10867   readonly PPAPI_PLUGIN: 5;
10869   readonly url: string;
10870   readonly type: u32;
10873 }  // global
10875 declare namespace nsIContentAnalysisRequest {
10877 enum AnalysisType {
10878   eUnspecified = 0,
10879   eFileDownloaded = 1,
10880   eFileAttached = 2,
10881   eBulkDataEntry = 3,
10882   ePrint = 4,
10883   eFileTransfer = 5,
10886 enum OperationType {
10887   eCustomDisplayString = 0,
10888   eClipboard = 1,
10889   eDroppedText = 2,
10894 declare global {
10896 interface nsIContentAnalysisRequest extends nsISupports, Enums<typeof nsIContentAnalysisRequest.AnalysisType & typeof nsIContentAnalysisRequest.OperationType> {
10897   readonly analysisType: nsIContentAnalysisRequest.AnalysisType;
10898   readonly operationTypeForDisplay: nsIContentAnalysisRequest.OperationType;
10899   readonly operationDisplayString: string;
10900   readonly textContent: string;
10901   readonly filePath: string;
10902   readonly url: nsIURI;
10903   readonly sha256Digest: string;
10904   readonly resources: nsIClientDownloadResource[];
10905   readonly email: string;
10906   readonly requestToken: string;
10907   readonly windowGlobalParent: WindowGlobalParent;
10910 interface nsIContentAnalysisResult extends nsISupports {
10911   readonly shouldAllowContent: boolean;
10914 interface nsIContentAnalysisCallback extends nsISupports {
10915   contentResult(aResult: nsIContentAnalysisResponse): void;
10916   error(aResult: nsresult): void;
10919 interface nsIContentAnalysis extends nsISupports {
10920   readonly isActive: boolean;
10921   readonly mightBeActive: boolean;
10922   isSetByEnterprisePolicy: boolean;
10923   analyzeContentRequest(aCar: nsIContentAnalysisRequest, aAutoAcknowledge: boolean): Promise<any>;
10924   analyzeContentRequestCallback(aCar: nsIContentAnalysisRequest, aAutoAcknowledge: boolean, callback: nsIContentAnalysisCallback): void;
10925   cancelContentAnalysisRequest(aRequestToken: string): void;
10926   respondToWarnDialog(aRequestToken: string, aAllowContent: boolean): void;
10927   cancelAllRequests(): void;
10928   testOnlySetCACmdLineArg(aVal: boolean): void;
10931 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsIClickRule.idl
10933 }  // global
10935 declare namespace nsIClickRule {
10937 enum RunContext {
10938   RUN_TOP = 0,
10939   RUN_CHILD = 1,
10940   RUN_ALL = 2,
10945 declare global {
10947 interface nsIClickRule extends nsISupports, Enums<typeof nsIClickRule.RunContext> {
10948   readonly id: string;
10949   readonly presence: string;
10950   readonly skipPresenceVisibilityCheck: boolean;
10951   readonly runContext: nsIClickRule.RunContext;
10952   readonly hide: string;
10953   readonly optOut: string;
10954   readonly optIn: string;
10955   readonly isGlobalRule: boolean;
10958 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerListService.idl
10960 interface nsICookieBannerListService extends nsISupports {
10961   init(): void;
10962   initForTest(): Promise<any>;
10963   shutdown(): void;
10964   importAllRules(): void;
10967 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerRule.idl
10969 interface nsICookieBannerRule extends nsISupports {
10970   id: string;
10971   domains: string[];
10972   readonly cookiesOptOut: nsICookieRule[];
10973   readonly cookiesOptIn: nsICookieRule[];
10974   readonly isGlobalRule: boolean;
10975   clearCookies(): void;
10976   addCookie(aIsOptOut: boolean, aName: string, aValue: string, aHost: string, aPath: string, aExpiryRelative: i64, aUnsetValue: string, aIsSecure: boolean, aIsHttpOnly: boolean, aIsSession: boolean, aSameSite: i32, aSchemeMap: nsICookie.schemeType): void;
10977   readonly clickRule: nsIClickRule;
10978   addClickRule(aPresence: string, aSkipPresenceVisibilityCheck?: boolean, aRunContext?: nsIClickRule.RunContext, aHide?: string, aOptOut?: string, aOptIn?: string): void;
10979   clearClickRule(): void;
10982 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerService.idl
10984 }  // global
10986 declare namespace nsICookieBannerService {
10988 enum Modes {
10989   MODE_DISABLED = 0,
10990   MODE_REJECT = 1,
10991   MODE_REJECT_OR_ACCEPT = 2,
10992   MODE_UNSET = 3,
10997 declare global {
10999 interface nsICookieBannerService extends nsISupports, Enums<typeof nsICookieBannerService.Modes> {
11000   readonly isEnabled: boolean;
11001   readonly rules: nsICookieBannerRule[];
11002   resetRules(doImport?: boolean): void;
11003   getCookiesForURI(aURI: nsIURI, aIsPrivateBrowsing: boolean): nsICookieRule[];
11004   getClickRulesForDomain(aDomain: string, aIsTopLevel: boolean): nsIClickRule[];
11005   insertRule(aRule: nsICookieBannerRule): void;
11006   removeRule(aRule: nsICookieBannerRule): void;
11007   hasRuleForBrowsingContextTree(aBrowsingContext: BrowsingContext): boolean;
11008   getDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): nsICookieBannerService.Modes;
11009   setDomainPref(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes, aIsPrivate: boolean): void;
11010   setDomainPrefAndPersistInPrivateBrowsing(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes): void;
11011   removeDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): void;
11012   removeAllDomainPrefs(aIsPrivate: boolean): void;
11013   shouldStopBannerClickingForSite(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): boolean;
11014   markSiteExecuted(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): void;
11015   removeExecutedRecordForSite(aSite: string, aIsPrivate: boolean): void;
11016   removeAllExecutedRecords(aIsPrivate: boolean): void;
11017   resetDomainTelemetryRecord(aDomain?: string): void;
11020 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieRule.idl
11022 interface nsICookieRule extends nsISupports {
11023   readonly cookie: nsICookie;
11024   readonly expiryRelative: i64;
11025   readonly unsetValue: string;
11028 // https://searchfox.org/mozilla-central/source/toolkit/components/crashes/nsICrashService.idl
11030 interface nsICrashService extends nsISupports {
11031   readonly CRASH_TYPE_CRASH: 0;
11032   readonly CRASH_TYPE_HANG: 1;
11034   addCrash(processType: i32, crashType: i32, id: string): Promise<any>;
11037 // https://searchfox.org/mozilla-central/source/toolkit/components/finalizationwitness/nsIFinalizationWitnessService.idl
11039 interface nsIFinalizationWitnessService extends nsISupports {
11040   make(aTopic: string, aString: string): any;
11043 // https://searchfox.org/mozilla-central/source/toolkit/modules/nsIBrowserWindowTracker.idl
11045 interface nsIVisibleTab extends nsISupports {
11046   contentTitle: string;
11047   browserId: i64;
11050 interface nsIBrowserWindowTracker extends nsISupports {
11051   getAllVisibleTabs(): nsIVisibleTab[];
11052   getBrowserById(aBrowserId: u64): nsISupports;
11055 // https://searchfox.org/mozilla-central/source/toolkit/modules/nsIRegion.idl
11057 interface nsIRegion extends nsISupports {
11058   readonly current: string;
11059   readonly home: string;
11062 // https://searchfox.org/mozilla-central/source/toolkit/components/processtools/nsIProcessToolsService.idl
11064 interface nsIProcessToolsService extends nsISupports {
11065   kill(pid: u64): void;
11066   crash(pid: u64): void;
11067   readonly pid: u64;
11070 // https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIFingerprintingWebCompatService.idl
11072 interface nsIFingerprintingOverride extends nsISupports {
11073   readonly firstPartyDomain: string;
11074   readonly thirdPartyDomain: string;
11075   readonly overrides: string;
11078 interface nsIFingerprintingWebCompatService extends nsISupports {
11079   init(): void;
11080   shutdown(): void;
11083 // https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIRFPService.idl
11085 interface nsIRFPService extends nsISupports {
11086   setFingerprintingOverrides(aOverrides: nsIFingerprintingOverride[]): void;
11087   getFingerprintingOverrides(aDomainKey: string): u64;
11088   cleanAllOverrides(): void;
11089   readonly enabledFingerprintingProtections: u64;
11090   cleanAllRandomKeys(): void;
11091   cleanRandomKeyByPrincipal(aPrincipal: nsIPrincipal): void;
11092   cleanRandomKeyByDomain(aDomain: string): void;
11093   cleanRandomKeyByHost(aHost: string, aPattern: string): void;
11094   cleanRandomKeyByOriginAttributesPattern(aPattern: string): void;
11095   testGenerateRandomKey(aChannel: nsIChannel): u8[];
11098 // https://searchfox.org/mozilla-central/source/toolkit/components/search/nsISearchService.idl
11100 interface nsISearchSubmission extends nsISupports {
11101   readonly postData: nsIInputStream;
11102   readonly uri: nsIURI;
11105 interface nsISearchEngine extends nsISupports {
11106   getSubmission(searchTerms: string, responseType?: string, purpose?: string): nsISearchSubmission;
11107   searchTermFromResult(uri: nsIURI): string;
11108   readonly searchUrlQueryParamName: string;
11109   readonly searchUrlPublicSuffix: string;
11110   supportsResponseType(responseType: string): boolean;
11111   getIconURL(preferredWidth?: u16): Promise<any>;
11112   speculativeConnect(options: any): void;
11113   alias: string;
11114   readonly aliases: string[];
11115   readonly description: string;
11116   hidden: boolean;
11117   hideOneOffButton: boolean;
11118   readonly name: string;
11119   readonly id: string;
11120   readonly searchForm: string;
11121   readonly telemetryId: string;
11122   readonly identifier: string;
11123   readonly isAppProvided: boolean;
11124   readonly inMemory: boolean;
11125   readonly isGeneralPurposeEngine: boolean;
11126   readonly searchUrlDomain: string;
11127   readonly clickUrl: string;
11130 interface nsISearchParseSubmissionResult extends nsISupports {
11131   readonly engine: nsISearchEngine;
11132   readonly terms: string;
11133   readonly termsParameterName: string;
11136 interface nsISearchService extends nsISupports {
11137   readonly ERROR_DOWNLOAD_FAILURE: 1;
11138   readonly ERROR_DUPLICATE_ENGINE: 2;
11139   readonly ERROR_ENGINE_CORRUPTED: 3;
11140   readonly CHANGE_REASON_UNKNOWN: 0;
11141   readonly CHANGE_REASON_USER: 1;
11142   readonly CHANGE_REASON_USER_PRIVATE_SPLIT: 2;
11143   readonly CHANGE_REASON_USER_SEARCHBAR: 3;
11144   readonly CHANGE_REASON_USER_SEARCHBAR_CONTEXT: 4;
11145   readonly CHANGE_REASON_ADDON_INSTALL: 5;
11146   readonly CHANGE_REASON_ADDON_UNINSTALL: 6;
11147   readonly CHANGE_REASON_CONFIG: 7;
11148   readonly CHANGE_REASON_LOCALE: 8;
11149   readonly CHANGE_REASON_REGION: 9;
11150   readonly CHANGE_REASON_EXPERIMENT: 10;
11151   readonly CHANGE_REASON_ENTERPRISE: 11;
11152   readonly CHANGE_REASON_UITOUR: 12;
11153   readonly CHANGE_REASON_ENGINE_UPDATE: 13;
11155   init(): Promise<any>;
11156   readonly promiseInitialized: Promise<any>;
11157   readonly isInitialized: boolean;
11158   readonly hasSuccessfullyInitialized: boolean;
11159   runBackgroundChecks(): Promise<any>;
11160   resetToAppDefaultEngine(): Promise<any>;
11161   addOpenSearchEngine(engineURL: string, iconURL: string): Promise<any>;
11162   addUserEngine(name: string, url: string, alias?: string): Promise<any>;
11163   addEnginesFromExtension(extension: any): Promise<any>;
11164   restoreDefaultEngines(): void;
11165   getEngineByAlias(alias: string): Promise<any>;
11166   getEngineByName(aEngineName: string): nsISearchEngine;
11167   getEngineById(aEngineId: string): nsISearchEngine;
11168   getEngines(): Promise<any>;
11169   getVisibleEngines(): Promise<any>;
11170   getAppProvidedEngines(): Promise<any>;
11171   getEnginesByExtensionID(extensionID: string): Promise<any>;
11172   moveEngine(engine: nsISearchEngine, newIndex: i32): Promise<any>;
11173   removeEngine(engine: nsISearchEngine): Promise<any>;
11174   removeWebExtensionEngine(id: string): Promise<any>;
11175   readonly appDefaultEngine: nsISearchEngine;
11176   readonly appPrivateDefaultEngine: nsISearchEngine;
11177   defaultEngine: nsISearchEngine;
11178   getDefault(): Promise<any>;
11179   setDefault(engine: nsISearchEngine, changeSource: u16): Promise<any>;
11180   defaultPrivateEngine: nsISearchEngine;
11181   getDefaultPrivate(): Promise<any>;
11182   setDefaultPrivate(engine: nsISearchEngine, changeSource: u16): Promise<any>;
11183   readonly separatePrivateDefaultUrlbarResultEnabled: boolean;
11184   maybeSetAndOverrideDefault(extension: any): Promise<any>;
11185   getDefaultEngineInfo(): any;
11186   parseSubmissionURL(url: string): nsISearchParseSubmissionResult;
11189 // https://searchfox.org/mozilla-central/source/toolkit/components/shell/nsIToolkitShellService.idl
11191 interface nsIToolkitShellService extends nsISupports {
11192   isDefaultApplication(): boolean;
11195 // https://searchfox.org/mozilla-central/source/toolkit/components/xulstore/nsIXULStore.idl
11197 interface nsIXULStore extends nsISupports {
11198   persist(aNode: Node, attr: string): void;
11199   setValue(doc: string, id: string, attr: string, value: string): void;
11200   hasValue(doc: string, id: string, attr: string): boolean;
11201   getValue(doc: string, id: string, attr: string): string;
11202   removeValue(doc: string, id: string, attr: string): void;
11203   removeDocument(doc: string): void;
11204   getIDsEnumerator(doc: string): nsIStringEnumerator;
11205   getAttributeEnumerator(doc: string, id: string): nsIStringEnumerator;
11208 // https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransaction.idl
11210 interface nsITransaction extends nsISupports {
11211   doTransaction(): void;
11212   undoTransaction(): void;
11213   redoTransaction(): void;
11214   readonly isTransient: boolean;
11215   merge(aTransaction: nsITransaction): boolean;
11218 // https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransactionManager.idl
11220 interface nsITransactionManager extends nsISupports {
11221   doTransaction(aTransaction: nsITransaction): void;
11222   undoTransaction(): void;
11223   redoTransaction(): void;
11224   clear(): void;
11225   clearUndoStack(): void;
11226   clearRedoStack(): void;
11227   beginBatch(aData: nsISupports): void;
11228   endBatch(aAllowEmpty: boolean): void;
11229   readonly numberOfUndoItems: i32;
11230   readonly numberOfRedoItems: i32;
11231   maxTransactionCount: i32;
11232   batchTopUndo(): void;
11233   removeTopUndo(): void;
11234   peekUndoStack(): nsITransaction;
11235   peekRedoStack(): nsITransaction;
11238 // https://searchfox.org/mozilla-central/source/editor/spellchecker/nsIInlineSpellChecker.idl
11240 interface nsIInlineSpellChecker extends nsISupports {
11241   readonly spellChecker: nsIEditorSpellCheck;
11242   init(aEditor: nsIEditor): void;
11243   cleanup(aDestroyingFrames: boolean): void;
11244   enableRealTimeSpell: boolean;
11245   spellCheckRange(aSelection: Range): void;
11246   getMisspelledWord(aNode: Node, aOffset: u32): Range;
11247   replaceWord(aNode: Node, aOffset: u32, aNewword: string): void;
11248   addWordToDictionary(aWord: string): void;
11249   removeWordFromDictionary(aWord: string): void;
11250   ignoreWord(aWord: string): void;
11251   ignoreWords(aWordsToIgnore: string[]): void;
11252   updateCurrentDictionary(): void;
11253   readonly spellCheckPending: boolean;
11256 // https://searchfox.org/mozilla-central/source/intl/uconv/nsIScriptableUConv.idl
11258 interface nsIScriptableUnicodeConverter extends nsISupports {
11259   ConvertFromUnicode(aSrc: string): string;
11260   Finish(): string;
11261   ConvertToUnicode(aSrc: string): string;
11262   charset: string;
11263   isInternal: boolean;
11266 // https://searchfox.org/mozilla-central/source/intl/uconv/nsITextToSubURI.idl
11268 interface nsITextToSubURI extends nsISupports {
11269   ConvertAndEscape(charset: string, text: string): string;
11270   UnEscapeAndConvert(charset: string, text: string): string;
11271   unEscapeURIForUI(aURIFragment: string, aDontEscape?: boolean): string;
11272   unEscapeNonAsciiURI(aCharset: string, aURIFragment: string): string;
11275 // https://searchfox.org/mozilla-central/source/toolkit/components/timermanager/nsIUpdateTimerManager.idl
11277 interface nsIUpdateTimerManager extends nsISupports {
11278   registerTimer(id: string, callback: nsITimerCallback, interval: u32, skipFirst?: boolean): void;
11279   unregisterTimer(id: string): void;
11282 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/nsIUpdateService.idl
11284 interface nsIUpdatePatch extends nsISupports {
11285   readonly type: string;
11286   readonly URL: string;
11287   finalURL: string;
11288   readonly size: u32;
11289   state: string;
11290   errorCode: i32;
11291   selected: boolean;
11292   serialize(updates: Document): Element;
11295 interface nsIUpdate extends nsISupports {
11296   readonly type: string;
11297   readonly name: string;
11298   readonly displayVersion: string;
11299   readonly appVersion: string;
11300   readonly previousAppVersion: string;
11301   readonly buildID: string;
11302   readonly detailsURL: string;
11303   readonly serviceURL: string;
11304   readonly channel: string;
11305   readonly unsupported: boolean;
11306   promptWaitTime: i64;
11307   isCompleteUpdate: boolean;
11308   installDate: i64;
11309   statusText: string;
11310   readonly selectedPatch: nsIUpdatePatch;
11311   state: string;
11312   errorCode: i32;
11313   elevationFailure: boolean;
11314   readonly patchCount: u32;
11315   getPatchAt(index: u32): nsIUpdatePatch;
11316   serialize(updates: Document): Element;
11319 interface nsIUpdateCheckResult extends nsISupports {
11320   readonly checksAllowed: boolean;
11321   readonly succeeded: boolean;
11322   readonly request: any;
11323   readonly updates: nsIUpdate[];
11326 interface nsIUpdateCheck extends nsISupports {
11327   readonly id: i32;
11328   readonly result: Promise<any>;
11331 interface nsIUpdateChecker extends nsISupports {
11332   readonly BACKGROUND_CHECK: 1;
11333   readonly FOREGROUND_CHECK: 2;
11335   checkForUpdates(checkType: i32): nsIUpdateCheck;
11336   getUpdateURL(checkType: i32): Promise<any>;
11337   stopCheck(id: i32): void;
11338   stopAllChecks(): void;
11341 interface nsIApplicationUpdateService extends nsISupports {
11342   readonly STATE_IDLE: 1;
11343   readonly STATE_DOWNLOADING: 2;
11344   readonly STATE_STAGING: 4;
11345   readonly STATE_PENDING: 5;
11346   readonly STATE_SWAP: 6;
11348   checkForBackgroundUpdates(): boolean;
11349   selectUpdate(updates: nsIUpdate[]): nsIUpdate;
11350   addDownloadListener(listener: nsIRequestObserver): void;
11351   removeDownloadListener(listener: nsIRequestObserver): void;
11352   downloadUpdate(update: nsIUpdate): Promise<any>;
11353   onCheckComplete(result: nsIUpdateCheckResult): Promise<any>;
11354   stopDownload(): Promise<any>;
11355   readonly disabled: boolean;
11356   readonly canUsuallyCheckForUpdates: boolean;
11357   readonly canCheckForUpdates: boolean;
11358   readonly elevationRequired: boolean;
11359   readonly canUsuallyApplyUpdates: boolean;
11360   readonly canApplyUpdates: boolean;
11361   readonly isOtherInstanceHandlingUpdates: boolean;
11362   readonly canUsuallyStageUpdates: boolean;
11363   readonly canStageUpdates: boolean;
11364   readonly canUsuallyUseBits: boolean;
11365   readonly canUseBits: boolean;
11366   readonly manualUpdateOnly: boolean;
11367   readonly isAppBaseDirWritable: boolean;
11368   onlyDownloadUpdatesThisSession: boolean;
11369   getStateName(state: i32): string;
11370   readonly currentState: i32;
11371   readonly stateTransition: Promise<any>;
11374 interface nsIUpdateProcessor extends nsISupports {
11375   processUpdate(): void;
11376   getServiceRegKeyExists(): boolean;
11377   attemptAutomaticApplicationRestartWithLaunchArgs(argvExtra: string[]): i32;
11378   waitForProcessExit(pid: u32, timeoutMS: u32): void;
11381 interface nsIUpdateSyncManager extends nsISupports {
11382   isOtherInstanceRunning(): boolean;
11383   resetLock(anAppFile?: nsIFile): void;
11386 interface nsIUpdateManager extends nsISupports {
11387   getUpdateAt(index: i32): nsIUpdate;
11388   getUpdateCount(): i32;
11389   readyUpdate: nsIUpdate;
11390   downloadingUpdate: nsIUpdate;
11391   addUpdateToHistory(update: nsIUpdate): void;
11392   saveUpdates(): void;
11393   refreshUpdateStatus(): Promise<any>;
11394   elevationOptedIn(): void;
11395   cleanupDownloadingUpdate(): void;
11396   cleanupReadyUpdate(): void;
11397   doInstallCleanup(): Promise<any>;
11398   doUninstallCleanup(): Promise<any>;
11401 // https://searchfox.org/mozilla-central/source/uriloader/base/nsCURILoader.idl
11403 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIContentHandler.idl
11405 interface nsIContentHandler extends nsISupports {
11406   handleContent(aContentType: string, aWindowContext: nsIInterfaceRequestor, aRequest: nsIRequest): void;
11409 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIDocumentLoader.idl
11411 interface nsIDocumentLoader extends nsISupports {
11412   stop(): void;
11413   readonly container: nsISupports;
11414   readonly loadGroup: nsILoadGroup;
11415   readonly documentChannel: nsIChannel;
11418 // https://searchfox.org/mozilla-central/source/uriloader/base/nsITransfer.idl
11420 interface nsITransfer extends nsIWebProgressListener2 {
11421   readonly DOWNLOAD_ACCEPTABLE: 0;
11422   readonly DOWNLOAD_FORBIDDEN: 1;
11423   readonly DOWNLOAD_POTENTIALLY_UNSAFE: 2;
11425   init(aSource: nsIURI, aSourceOriginalURI: nsIURI, aTarget: nsIURI, aDisplayName: string, aMIMEInfo: nsIMIMEInfo, startTime: PRTime, aTempFile: nsIFile, aCancelable: nsICancelable, aIsPrivate: boolean, aDownloadClassification: i32, aReferrerInfo: nsIReferrerInfo, aOpenDownloadsListOnStart?: boolean): void;
11426   initWithBrowsingContext(aSource: nsIURI, aTarget: nsIURI, aDisplayName: string, aMIMEInfo: nsIMIMEInfo, startTime: PRTime, aTempFile: nsIFile, aCancelable: nsICancelable, aIsPrivate: boolean, aDownloadClassification: i32, aReferrerInfo: nsIReferrerInfo, aOpenDownloadsListOnStart: boolean, aBrowsingContext: BrowsingContext, aHandleInternally: boolean, aHttpChannel: nsIHttpChannel): void;
11427   setSha256Hash(aHash: string): void;
11428   setSignatureInfo(aSignatureInfo: u8[][][]): void;
11429   setRedirects(aRedirects: nsIArray): void;
11432 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIURIContentListener.idl
11434 interface nsIURIContentListener extends nsISupports {
11435   doContent(aContentType: string, aIsContentPreferred: boolean, aRequest: nsIRequest, aContentHandler: OutParam<nsIStreamListener>): boolean;
11436   isPreferred(aContentType: string, aDesiredContentType: OutParam<string>): boolean;
11437   canHandleContent(aContentType: string, aIsContentPreferred: boolean, aDesiredContentType: OutParam<string>): boolean;
11438   loadCookie: nsISupports;
11439   parentContentListener: nsIURIContentListener;
11442 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIURILoader.idl
11444 interface nsIURILoader extends nsISupports {
11445   readonly IS_CONTENT_PREFERRED: 1;
11446   readonly DONT_RETARGET: 2;
11448   registerContentListener(aContentListener: nsIURIContentListener): void;
11449   unRegisterContentListener(aContentListener: nsIURIContentListener): void;
11450   openURI(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): void;
11451   openChannel(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): nsIStreamListener;
11452   stop(aLoadCookie: nsISupports): void;
11455 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgress.idl
11457 interface nsIWebProgress extends nsISupports {
11458   readonly NOTIFY_STATE_REQUEST: 1;
11459   readonly NOTIFY_STATE_DOCUMENT: 2;
11460   readonly NOTIFY_STATE_NETWORK: 4;
11461   readonly NOTIFY_STATE_WINDOW: 8;
11462   readonly NOTIFY_STATE_ALL: 15;
11463   readonly NOTIFY_PROGRESS: 16;
11464   readonly NOTIFY_STATUS: 32;
11465   readonly NOTIFY_SECURITY: 64;
11466   readonly NOTIFY_LOCATION: 128;
11467   readonly NOTIFY_REFRESH: 256;
11468   readonly NOTIFY_CONTENT_BLOCKING: 512;
11469   readonly NOTIFY_ALL: 1023;
11471   addProgressListener(aListener: nsIWebProgressListener, aNotifyMask: u32): void;
11472   removeProgressListener(aListener: nsIWebProgressListener): void;
11473   readonly browsingContext: BrowsingContext;
11474   readonly DOMWindow: mozIDOMWindowProxy;
11475   readonly isTopLevel: boolean;
11476   readonly isLoadingDocument: boolean;
11477   readonly loadType: u32;
11478   target: nsIEventTarget;
11479   readonly documentRequest: nsIRequest;
11482 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener.idl
11484 interface nsIWebProgressListener extends nsISupports {
11485   readonly STATE_START: 1;
11486   readonly STATE_REDIRECTING: 2;
11487   readonly STATE_TRANSFERRING: 4;
11488   readonly STATE_NEGOTIATING: 8;
11489   readonly STATE_STOP: 16;
11490   readonly STATE_IS_REQUEST: 65536;
11491   readonly STATE_IS_DOCUMENT: 131072;
11492   readonly STATE_IS_NETWORK: 262144;
11493   readonly STATE_IS_WINDOW: 524288;
11494   readonly STATE_IS_REDIRECTED_DOCUMENT: 1048576;
11495   readonly STATE_RESTORING: 16777216;
11496   readonly STATE_IS_INSECURE: 4;
11497   readonly STATE_IS_BROKEN: 1;
11498   readonly STATE_IS_SECURE: 2;
11499   readonly STATE_BLOCKED_MIXED_ACTIVE_CONTENT: 16;
11500   readonly STATE_LOADED_MIXED_ACTIVE_CONTENT: 32;
11501   readonly STATE_BLOCKED_MIXED_DISPLAY_CONTENT: 256;
11502   readonly STATE_LOADED_MIXED_DISPLAY_CONTENT: 512;
11503   readonly STATE_IDENTITY_EV_TOPLEVEL: 1048576;
11504   readonly STATE_IDENTITY_ASSOCIATED: 2097152;
11505   readonly STATE_USES_SSL_3: 16777216;
11506   readonly STATE_USES_WEAK_CRYPTO: 33554432;
11507   readonly STATE_CERT_USER_OVERRIDDEN: 67108864;
11508   readonly STATE_BLOCKED_TRACKING_CONTENT: 4096;
11509   readonly STATE_LOADED_LEVEL_1_TRACKING_CONTENT: 8192;
11510   readonly STATE_LOADED_LEVEL_2_TRACKING_CONTENT: 1048576;
11511   readonly STATE_BLOCKED_FINGERPRINTING_CONTENT: 64;
11512   readonly STATE_LOADED_FINGERPRINTING_CONTENT: 1024;
11513   readonly STATE_REPLACED_FINGERPRINTING_CONTENT: 134217728;
11514   readonly STATE_ALLOWED_FINGERPRINTING_CONTENT: 512;
11515   readonly STATE_BLOCKED_CRYPTOMINING_CONTENT: 2048;
11516   readonly STATE_LOADED_CRYPTOMINING_CONTENT: 2097152;
11517   readonly STATE_BLOCKED_UNSAFE_CONTENT: 16384;
11518   readonly STATE_COOKIES_LOADED: 32768;
11519   readonly STATE_COOKIES_LOADED_TRACKER: 262144;
11520   readonly STATE_COOKIES_LOADED_SOCIALTRACKER: 524288;
11521   readonly STATE_COOKIES_BLOCKED_BY_PERMISSION: 268435456;
11522   readonly STATE_COOKIES_BLOCKED_TRACKER: 536870912;
11523   readonly STATE_COOKIES_BLOCKED_SOCIALTRACKER: 16777216;
11524   readonly STATE_COOKIES_BLOCKED_ALL: 1073741824;
11525   readonly STATE_COOKIES_PARTITIONED_FOREIGN: 2147483648;
11526   readonly STATE_COOKIES_BLOCKED_FOREIGN: 128;
11527   readonly STATE_BLOCKED_SOCIALTRACKING_CONTENT: 65536;
11528   readonly STATE_LOADED_SOCIALTRACKING_CONTENT: 131072;
11529   readonly STATE_REPLACED_TRACKING_CONTENT: 16;
11530   readonly STATE_ALLOWED_TRACKING_CONTENT: 32;
11531   readonly STATE_BLOCKED_EMAILTRACKING_CONTENT: 4194304;
11532   readonly STATE_LOADED_EMAILTRACKING_LEVEL_1_CONTENT: 8388608;
11533   readonly STATE_LOADED_EMAILTRACKING_LEVEL_2_CONTENT: 256;
11534   readonly STATE_ALLOWED_CANVAS_FINGERPRINTING: 33554432;
11535   readonly STATE_ALLOWED_FONT_FINGERPRINTING: 67108864;
11536   readonly STATE_BLOCKED_SUSPICIOUS_FINGERPRINTING: 4;
11537   readonly STATE_HTTPS_ONLY_MODE_UPGRADED: 4194304;
11538   readonly STATE_HTTPS_ONLY_MODE_UPGRADE_FAILED: 8388608;
11539   readonly STATE_HTTPS_ONLY_MODE_UPGRADED_FIRST: 134217728;
11540   readonly LOCATION_CHANGE_SAME_DOCUMENT: 1;
11541   readonly LOCATION_CHANGE_ERROR_PAGE: 2;
11542   readonly LOCATION_CHANGE_RELOAD: 4;
11543   readonly LOCATION_CHANGE_HASHCHANGE: 8;
11544   readonly LOCATION_CHANGE_SESSION_STORE: 16;
11546   onStateChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStateFlags: u32, aStatus: nsresult): void;
11547   onProgressChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i32, aMaxSelfProgress: i32, aCurTotalProgress: i32, aMaxTotalProgress: i32): void;
11548   onLocationChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aLocation: nsIURI, aFlags?: u32): void;
11549   onStatusChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStatus: nsresult, aMessage: string): void;
11550   onSecurityChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aState: u32): void;
11551   onContentBlockingEvent(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aEvent: u32): void;
11554 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener2.idl
11556 interface nsIWebProgressListener2 extends nsIWebProgressListener {
11557   onProgressChange64(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i64, aMaxSelfProgress: i64, aCurTotalProgress: i64, aMaxTotalProgress: i64): void;
11558   onRefreshAttempted(aWebProgress: nsIWebProgress, aRefreshURI: nsIURI, aMillis: u32, aSameURI: boolean): boolean;
11561 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIChannelClassifierService.idl
11563 interface nsIUrlClassifierBlockedChannel extends nsISupports {
11564   readonly TRACKING_PROTECTION: 0;
11565   readonly SOCIAL_TRACKING_PROTECTION: 1;
11566   readonly FINGERPRINTING_PROTECTION: 2;
11567   readonly CRYPTOMINING_PROTECTION: 3;
11569   readonly reason: u8;
11570   readonly tables: string;
11571   readonly url: string;
11572   readonly tabId: u64;
11573   readonly channelId: u64;
11574   readonly isPrivateBrowsing: boolean;
11575   readonly topLevelUrl: string;
11576   replace(): void;
11577   allow(): void;
11580 interface nsIChannelClassifierService extends nsISupports {
11581   addListener(aObserver: nsIObserver): void;
11582   removeListener(aObserver: nsIObserver): void;
11585 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIURIClassifier.idl
11587 type nsIURIClassifierCallback = Callable<{
11588   onClassifyComplete(aErrorCode: nsresult, aList: string, aProvider: string, aFullHash: string): void;
11591 interface nsIURIClassifier extends nsISupports {
11592   classify(aPrincipal: nsIPrincipal, aCallback: nsIURIClassifierCallback): boolean;
11593   asyncClassifyLocalWithFeatures(aURI: nsIURI, aFeatures: nsIUrlClassifierFeature[], aListType: nsIUrlClassifierFeature.listType, aCallback: nsIUrlClassifierFeatureCallback): void;
11594   getFeatureByName(aFeatureName: string): nsIUrlClassifierFeature;
11595   getFeatureNames(): string[];
11596   createFeatureWithTables(aName: string, aBlocklistTables: string[], aEntitylistTables: string[]): nsIUrlClassifierFeature;
11597   sendThreatHitReport(aChannel: nsIChannel, aProvider: string, aList: string, aFullHash: string): void;
11600 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierExceptionListService.idl
11602 type nsIUrlClassifierExceptionListObserver = Callable<{
11603   onExceptionListUpdate(aList: string): void;
11606 interface nsIUrlClassifierExceptionListService extends nsISupports {
11607   registerAndRunExceptionListObserver(aFeature: string, aPrefName: string, aObserver: nsIUrlClassifierExceptionListObserver): void;
11608   unregisterExceptionListObserver(aFeature: string, aObserver: nsIUrlClassifierExceptionListObserver): void;
11609   clear(): void;
11612 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierFeature.idl
11614 }  // global
11616 declare namespace nsIUrlClassifierFeature {
11618 enum listType {
11619   blocklist = 0,
11620   entitylist = 1,
11623 enum URIType {
11624   blocklistURI = 0,
11625   entitylistURI = 1,
11626   pairwiseEntitylistURI = 2,
11631 declare global {
11633 interface nsIUrlClassifierFeature extends nsISupports, Enums<typeof nsIUrlClassifierFeature.listType & typeof nsIUrlClassifierFeature.URIType> {
11634   readonly name: string;
11635   readonly exceptionHostList: string;
11638 interface nsIUrlClassifierFeatureResult extends nsISupports {
11639   readonly uri: nsIURI;
11640   readonly feature: nsIUrlClassifierFeature;
11641   readonly list: string;
11644 type nsIUrlClassifierFeatureCallback = Callable<{
11645   onClassifyComplete(aResults: nsIUrlClassifierFeatureResult[]): void;
11648 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/IUrlClassifierUITelemetry.idl
11650 interface IUrlClassifierUITelemetry extends nsISupports {
11651   readonly WARNING_MALWARE_PAGE_TOP: 1;
11652   readonly WARNING_MALWARE_PAGE_TOP_WHY_BLOCKED: 2;
11653   readonly WARNING_MALWARE_PAGE_TOP_GET_ME_OUT_OF_HERE: 3;
11654   readonly WARNING_MALWARE_PAGE_TOP_IGNORE_WARNING: 4;
11655   readonly WARNING_MALWARE_PAGE_FRAME: 5;
11656   readonly WARNING_MALWARE_PAGE_FRAME_WHY_BLOCKED: 6;
11657   readonly WARNING_MALWARE_PAGE_FRAME_GET_ME_OUT_OF_HERE: 7;
11658   readonly WARNING_MALWARE_PAGE_FRAME_IGNORE_WARNING: 8;
11659   readonly WARNING_PHISHING_PAGE_TOP: 9;
11660   readonly WARNING_PHISHING_PAGE_TOP_WHY_BLOCKED: 10;
11661   readonly WARNING_PHISHING_PAGE_TOP_GET_ME_OUT_OF_HERE: 11;
11662   readonly WARNING_PHISHING_PAGE_TOP_IGNORE_WARNING: 12;
11663   readonly WARNING_PHISHING_PAGE_FRAME: 13;
11664   readonly WARNING_PHISHING_PAGE_FRAME_WHY_BLOCKED: 14;
11665   readonly WARNING_PHISHING_PAGE_FRAME_GET_ME_OUT_OF_HERE: 15;
11666   readonly WARNING_PHISHING_PAGE_FRAME_IGNORE_WARNING: 16;
11667   readonly WARNING_UNWANTED_PAGE_TOP: 17;
11668   readonly WARNING_UNWANTED_PAGE_TOP_WHY_BLOCKED: 18;
11669   readonly WARNING_UNWANTED_PAGE_TOP_GET_ME_OUT_OF_HERE: 19;
11670   readonly WARNING_UNWANTED_PAGE_TOP_IGNORE_WARNING: 20;
11671   readonly WARNING_UNWANTED_PAGE_FRAME: 21;
11672   readonly WARNING_UNWANTED_PAGE_FRAME_WHY_BLOCKED: 22;
11673   readonly WARNING_UNWANTED_PAGE_FRAME_GET_ME_OUT_OF_HERE: 23;
11674   readonly WARNING_UNWANTED_PAGE_FRAME_IGNORE_WARNING: 24;
11675   readonly WARNING_HARMFUL_PAGE_TOP: 25;
11676   readonly WARNING_HARMFUL_PAGE_TOP_WHY_BLOCKED: 26;
11677   readonly WARNING_HARMFUL_PAGE_TOP_GET_ME_OUT_OF_HERE: 27;
11678   readonly WARNING_HARMFUL_PAGE_TOP_IGNORE_WARNING: 28;
11679   readonly WARNING_HARMFUL_PAGE_FRAME: 29;
11680   readonly WARNING_HARMFUL_PAGE_FRAME_WHY_BLOCKED: 30;
11681   readonly WARNING_HARMFUL_PAGE_FRAME_GET_ME_OUT_OF_HERE: 31;
11682   readonly WARNING_HARMFUL_PAGE_FRAME_IGNORE_WARNING: 32;
11685 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierDBService.idl
11687 type nsIUrlClassifierCallback = Callable<{
11688   handleEvent(value: string): void;
11691 interface nsIUrlClassifierUpdateObserver extends nsISupports {
11692   updateUrlRequested(url: string, table: string): void;
11693   streamFinished(status: nsresult, delay: u32): void;
11694   updateError(error: nsresult): void;
11695   updateSuccess(requestedTimeout: u32): void;
11698 interface nsIUrlClassifierDBService extends nsISupports {
11699   lookup(principal: nsIPrincipal, tables: string, c: nsIUrlClassifierCallback): void;
11700   getTables(c: nsIUrlClassifierCallback): void;
11701   setHashCompleter(tableName: string, completer: nsIUrlClassifierHashCompleter): void;
11702   clearLastResults(): void;
11703   beginUpdate(updater: nsIUrlClassifierUpdateObserver, tables: string): void;
11704   beginStream(table: string): void;
11705   updateStream(updateChunk: string): void;
11706   finishStream(): void;
11707   finishUpdate(): void;
11708   cancelUpdate(): void;
11709   resetDatabase(): void;
11710   reloadDatabase(): void;
11711   clearCache(): void;
11714 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierHashCompleter.idl
11716 interface nsIFullHashMatch extends nsISupports {
11717   readonly tableName: string;
11718   readonly fullHash: string;
11719   readonly cacheDuration: u32;
11722 interface nsIUrlClassifierHashCompleterCallback extends nsISupports {
11723   completionV2(hash: string, table: string, chunkId: u32): void;
11724   completionV4(partialHash: string, table: string, negativeCacheDuration: u32, fullHashes: nsIArray): void;
11725   completionFinished(status: nsresult): void;
11728 interface nsIUrlClassifierHashCompleter extends nsISupports {
11729   complete(partialHash: string, gethashUrl: string, tableName: string, callback: nsIUrlClassifierHashCompleterCallback): void;
11732 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierInfo.idl
11734 interface nsIUrlClassifierPositiveCacheEntry extends nsISupports {
11735   readonly fullhash: string;
11736   readonly expiry: i64;
11739 interface nsIUrlClassifierCacheEntry extends nsISupports {
11740   readonly prefix: string;
11741   readonly expiry: i64;
11742   readonly matches: nsIArray;
11745 interface nsIUrlClassifierCacheInfo extends nsISupports {
11746   readonly table: string;
11747   readonly entries: nsIArray;
11750 type nsIUrlClassifierGetCacheCallback = Callable<{
11751   onGetCacheComplete(info: nsIUrlClassifierCacheInfo): void;
11754 interface nsIUrlClassifierInfo extends nsISupports {
11755   getCacheInfo(table: string, callback: nsIUrlClassifierGetCacheCallback): void;
11758 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierPrefixSet.idl
11760 interface nsIUrlClassifierPrefixSet extends nsISupports {
11761   init(aName: string): void;
11762   setPrefixes(aPrefixes: u32[], aLength: u32): void;
11763   getPrefixes(aCount: OutParam<u32>): OutParam<u32[]>;
11764   contains(aPrefix: u32): boolean;
11765   isEmpty(): boolean;
11768 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierRemoteSettingsService.idl
11770 interface nsIUrlClassifierRemoteSettingsService extends nsISupports {
11771   fetchList(aPayload: string, aListener: nsIStreamListener): void;
11772   clear(): void;
11775 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierStreamUpdater.idl
11777 interface nsIUrlClassifierStreamUpdater extends nsISupports {
11778   downloadUpdates(aRequestTables: string, aRequestPayload: string, aIsPostRequest: boolean, aUpdateUrl: string, aSuccessCallback: nsIUrlClassifierCallback, aUpdateErrorCallback: nsIUrlClassifierCallback, aDownloadErrorCallback: nsIUrlClassifierCallback): boolean;
11781 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierUtils.idl
11783 interface nsIUrlClassifierParseFindFullHashCallback extends nsISupports {
11784   onCompleteHashFound(aCompleteHash: string, aTableNames: string, aPerHashCacheDuration: u32): void;
11785   onResponseParsed(aMinWaitDuration: u32, aNegCacheDuration: u32): void;
11788 interface nsIUrlClassifierUtils extends nsISupports {
11789   getKeyForURI(uri: nsIURI): string;
11790   getProvider(tableName: string): string;
11791   getTelemetryProvider(tableName: string): string;
11792   getProtocolVersion(provider: string): string;
11793   convertThreatTypeToListNames(threatType: u32): string;
11794   convertListNameToThreatType(listName: string): u32;
11795   makeUpdateRequestV4(aListNames: string[], aStatesBase64: string[]): string;
11796   makeFindFullHashRequestV4(aListNames: string[], aListStatesBase64: string[], aPrefixes: string[]): string;
11797   makeThreatHitReport(aChannel: nsIChannel, aListName: string, aHashBase64: string): string;
11798   parseFindFullHashResponseV4(aResponse: string, aCallback: nsIUrlClassifierParseFindFullHashCallback): void;
11801 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlListManager.idl
11803 interface nsIUrlListManager extends nsISupports {
11804   getGethashUrl(tableName: string): string;
11805   getUpdateUrl(tableName: string): string;
11806   registerTable(tableName: string, providerName: string, updateUrl: string, gethashUrl: string): boolean;
11807   unregisterTable(tableName: string): void;
11808   enableUpdate(tableName: string): void;
11809   disableAllUpdates(): void;
11810   disableUpdate(tableName: string): void;
11811   maybeToggleUpdateChecking(): void;
11812   checkForUpdates(updateUrl: string): boolean;
11813   forceUpdates(tableNames: string): boolean;
11814   getBackOffTime(provider: string): u64;
11815   isRegistered(): boolean;
11818 // https://searchfox.org/mozilla-central/source/toolkit/components/urlformatter/nsIURLFormatter.idl
11820 interface nsIURLFormatter extends nsISupports {
11821   formatURL(aFormat: string): string;
11822   formatURLPref(aPref: string): string;
11823   trimSensitiveURLs(aMsg: string): string;
11826 // https://searchfox.org/mozilla-central/source/ipc/glue/test/utility_process_xpcom/nsIUtilityProcessTest.idl
11828 interface nsIUtilityProcessTest extends nsISupports {
11829   startProcess(actorsToAdd?: string[]): Promise<any>;
11830   untilChildProcessDead(pid: u32): Promise<any>;
11831   noteIntentionalCrash(pid: u32): void;
11832   stopProcess(utilityActorName?: string): void;
11833   testTelemetryProbes(): void;
11836 // https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersist.idl
11838 interface nsIWebBrowserPersist extends nsICancelable {
11839   readonly PERSIST_FLAGS_NONE: 0;
11840   readonly PERSIST_FLAGS_FROM_CACHE: 1;
11841   readonly PERSIST_FLAGS_BYPASS_CACHE: 2;
11842   readonly PERSIST_FLAGS_IGNORE_REDIRECTED_DATA: 4;
11843   readonly PERSIST_FLAGS_IGNORE_IFRAMES: 8;
11844   readonly PERSIST_FLAGS_NO_CONVERSION: 16;
11845   readonly PERSIST_FLAGS_REPLACE_EXISTING_FILES: 32;
11846   readonly PERSIST_FLAGS_NO_BASE_TAG_MODIFICATIONS: 64;
11847   readonly PERSIST_FLAGS_FIXUP_ORIGINAL_DOM: 128;
11848   readonly PERSIST_FLAGS_FIXUP_LINKS_TO_DESTINATION: 256;
11849   readonly PERSIST_FLAGS_DONT_FIXUP_LINKS: 512;
11850   readonly PERSIST_FLAGS_SERIALIZE_OUTPUT: 1024;
11851   readonly PERSIST_FLAGS_DONT_CHANGE_FILENAMES: 2048;
11852   readonly PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS: 4096;
11853   readonly PERSIST_FLAGS_CLEANUP_ON_FAILURE: 8192;
11854   readonly PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION: 16384;
11855   readonly PERSIST_FLAGS_APPEND_TO_FILE: 32768;
11856   readonly PERSIST_STATE_READY: 1;
11857   readonly PERSIST_STATE_SAVING: 2;
11858   readonly PERSIST_STATE_FINISHED: 3;
11859   readonly ENCODE_FLAGS_SELECTION_ONLY: 1;
11860   readonly ENCODE_FLAGS_FORMATTED: 2;
11861   readonly ENCODE_FLAGS_RAW: 4;
11862   readonly ENCODE_FLAGS_BODY_ONLY: 8;
11863   readonly ENCODE_FLAGS_PREFORMATTED: 16;
11864   readonly ENCODE_FLAGS_WRAP: 32;
11865   readonly ENCODE_FLAGS_FORMAT_FLOWED: 64;
11866   readonly ENCODE_FLAGS_ABSOLUTE_LINKS: 128;
11867   readonly ENCODE_FLAGS_CR_LINEBREAKS: 512;
11868   readonly ENCODE_FLAGS_LF_LINEBREAKS: 1024;
11869   readonly ENCODE_FLAGS_NOSCRIPT_CONTENT: 2048;
11870   readonly ENCODE_FLAGS_NOFRAMES_CONTENT: 4096;
11871   readonly ENCODE_FLAGS_ENCODE_BASIC_ENTITIES: 8192;
11873   persistFlags: u32;
11874   readonly currentState: u32;
11875   readonly result: nsresult;
11876   progressListener: nsIWebProgressListener;
11877   saveURI(aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aCacheKey: u32, aReferrerInfo: nsIReferrerInfo, aCookieJarSettings: nsICookieJarSettings, aPostData: nsIInputStream, aExtraHeaders: string, aFile: nsISupports, aContentPolicyType: nsContentPolicyType, aIsPrivate: boolean): void;
11878   saveChannel(aChannel: nsIChannel, aFile: nsISupports): void;
11879   saveDocument(aDocument: nsISupports, aFile: nsISupports, aDataPath: nsISupports, aOutputContentType: string, aEncodingFlags: u32, aWrapColumn: u32): void;
11880   cancelSave(): void;
11883 // https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl
11885 interface nsIWebBrowserPersistURIMap extends nsISupports {
11886   readonly numMappedURIs: u32;
11887   getURIMapping(aIndex: u32, aMapFrom: OutParam<string>, aMapTo: OutParam<string>): void;
11888   readonly targetBaseURI: string;
11891 interface nsIWebBrowserPersistDocument extends nsISupports {
11892   readonly isClosed: boolean;
11893   readonly isPrivate: boolean;
11894   readonly documentURI: string;
11895   readonly baseURI: string;
11896   readonly contentType: string;
11897   readonly characterSet: string;
11898   readonly title: string;
11899   readonly referrerInfo: nsIReferrerInfo;
11900   readonly cookieJarSettings: nsICookieJarSettings;
11901   readonly contentDisposition: string;
11902   readonly postData: nsIInputStream;
11903   readonly principal: nsIPrincipal;
11904   readonly cacheKey: u32;
11905   persistFlags: u32;
11906   readResources(aVisitor: nsIWebBrowserPersistResourceVisitor): void;
11907   writeContent(aStream: nsIOutputStream, aURIMap: nsIWebBrowserPersistURIMap, aRequestedContentType: string, aEncoderFlags: u32, aWrapColumn: u32, aCompletion: nsIWebBrowserPersistWriteCompletion): void;
11910 interface nsIWebBrowserPersistResourceVisitor extends nsISupports {
11911   visitResource(aDocument: nsIWebBrowserPersistDocument, aURI: string, aContentPolicyType: nsContentPolicyType): void;
11912   visitDocument(aDocument: nsIWebBrowserPersistDocument, aSubDocument: nsIWebBrowserPersistDocument): void;
11913   visitBrowsingContext(aDocument: nsIWebBrowserPersistDocument, aContext: BrowsingContext): void;
11914   endVisit(aDocument: nsIWebBrowserPersistDocument, aStatus: nsresult): void;
11917 type nsIWebBrowserPersistWriteCompletion = Callable<{
11918   onFinish(aDocument: nsIWebBrowserPersistDocument, aStream: nsIOutputStream, aContentType: string, aStatus: nsresult): void;
11921 interface nsIWebBrowserPersistDocumentReceiver extends nsISupports {
11922   onDocumentReady(aDocument: nsIWebBrowserPersistDocument): void;
11923   onError(aFailure: nsresult): void;
11926 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowser.idl
11928 interface nsIWebBrowser extends nsISupports {
11929   containerWindow: nsIWebBrowserChrome;
11930   readonly contentDOMWindow: mozIDOMWindowProxy;
11933 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserChrome.idl
11935 interface nsIWebBrowserChrome extends nsISupports {
11936   readonly CHROME_DEFAULT: 1;
11937   readonly CHROME_WINDOW_BORDERS: 2;
11938   readonly CHROME_WINDOW_CLOSE: 4;
11939   readonly CHROME_WINDOW_RESIZE: 8;
11940   readonly CHROME_MENUBAR: 16;
11941   readonly CHROME_TOOLBAR: 32;
11942   readonly CHROME_LOCATIONBAR: 64;
11943   readonly CHROME_STATUSBAR: 128;
11944   readonly CHROME_PERSONAL_TOOLBAR: 256;
11945   readonly CHROME_SCROLLBARS: 512;
11946   readonly CHROME_TITLEBAR: 1024;
11947   readonly CHROME_EXTRA: 2048;
11948   readonly CHROME_ALL: 4094;
11949   readonly CHROME_WINDOW_MINIMIZE: 16384;
11950   readonly CHROME_ALERT: 32768;
11951   readonly CHROME_PRIVATE_WINDOW: 65536;
11952   readonly CHROME_NON_PRIVATE_WINDOW: 131072;
11953   readonly CHROME_PRIVATE_LIFETIME: 262144;
11954   readonly CHROME_ALWAYS_ON_TOP: 524288;
11955   readonly CHROME_REMOTE_WINDOW: 1048576;
11956   readonly CHROME_FISSION_WINDOW: 2097152;
11957   readonly CHROME_SUPPRESS_ANIMATION: 16777216;
11958   readonly CHROME_WINDOW_RAISED: 33554432;
11959   readonly CHROME_WINDOW_LOWERED: 67108864;
11960   readonly CHROME_CENTER_SCREEN: 134217728;
11961   readonly CHROME_DEPENDENT: 268435456;
11962   readonly CHROME_MODAL: 536870912;
11963   readonly CHROME_OPENAS_DIALOG: 1073741824;
11964   readonly CHROME_OPENAS_CHROME: 2147483648;
11965   readonly CHROME_MINIMAL_POPUP: 18126;
11967   setLinkStatus(status: string): void;
11968   chromeFlags: u32;
11969   showAsModal(): void;
11970   isWindowModal(): boolean;
11971   blur(): void;
11974 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserChromeFocus.idl
11976 interface nsIWebBrowserChromeFocus extends nsISupports {
11977   focusNextElement(aForDocumentNavigation: boolean): void;
11978   focusPrevElement(aForDocumentNavigation: boolean): void;
11981 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserPrint.idl
11983 interface nsIWebBrowserPrint extends nsISupports {
11984   readonly PRINTPREVIEW_GOTO_PAGENUM: 0;
11985   readonly PRINTPREVIEW_PREV_PAGE: 1;
11986   readonly PRINTPREVIEW_NEXT_PAGE: 2;
11987   readonly PRINTPREVIEW_HOME: 3;
11988   readonly PRINTPREVIEW_END: 4;
11990   readonly doingPrint: boolean;
11991   readonly doingPrintPreview: boolean;
11992   readonly rawNumPages: i32;
11993   readonly printPreviewNumPages: i32;
11994   readonly printPreviewCurrentPageNumber: i32;
11995   printPreviewScrollToPage(aNavType: i16, aPageNum: i32): void;
11996   exitPrintPreview(): void;
11999 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/storage/mozIExtensionStorageArea.idl
12001 interface mozIExtensionStorageArea extends nsISupports {
12002   readonly SYNC_QUOTA_BYTES: 102400;
12003   readonly SYNC_QUOTA_BYTES_PER_ITEM: 8192;
12004   readonly SYNC_MAX_ITEMS: 512;
12006   set(extensionId: string, json: string, callback: mozIExtensionStorageCallback): void;
12007   get(extensionId: string, key: string, callback: mozIExtensionStorageCallback): void;
12008   remove(extensionId: string, key: string, callback: mozIExtensionStorageCallback): void;
12009   clear(extensionId: string, callback: mozIExtensionStorageCallback): void;
12010   getBytesInUse(extensionId: string, keys: string, callback: mozIExtensionStorageCallback): void;
12011   takeMigrationInfo(callback: mozIExtensionStorageCallback): void;
12014 interface mozIConfigurableExtensionStorageArea extends nsISupports {
12015   configure(databaseFile: nsIFile, kintoFile: nsIFile): void;
12016   teardown(callback: mozIExtensionStorageCallback): void;
12019 interface mozISyncedExtensionStorageArea extends nsISupports {
12020   fetchPendingSyncChanges(callback: mozIExtensionStorageCallback): void;
12023 interface mozIExtensionStorageListener extends nsISupports {
12024   onChanged(extensionId: string, json: string): void;
12027 interface mozIExtensionStorageCallback extends nsISupports {
12028   handleSuccess(result: nsIVariant): void;
12029   handleError(code: nsresult, message: string): void;
12032 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/extIWebNavigation.idl
12034 interface extIWebNavigation extends nsISupports {
12035   onDocumentChange(bc: BrowsingContext, transitionData: any, location: nsIURI): void;
12036   onHistoryChange(bc: BrowsingContext, transitionData: any, location: nsIURI, isHistoryStateUpdated: boolean, isReferenceFragmentUpdated: boolean): void;
12037   onStateChange(bc: BrowsingContext, requestURI: nsIURI, status: nsresult, stateFlags: u32): void;
12038   onCreatedNavigationTarget(bc: BrowsingContext, sourceBC: BrowsingContext, url: string): void;
12039   onDOMContentLoaded(bc: BrowsingContext, documentURI: nsIURI): void;
12042 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionAPIRequestHandling.idl
12044 interface mozIExtensionServiceWorkerInfo extends nsISupports {
12045   readonly principal: nsIPrincipal;
12046   readonly scriptURL: string;
12047   readonly clientInfoId: string;
12048   readonly descriptorId: u64;
12051 }  // global
12053 declare namespace mozIExtensionListenerCallOptions {
12055 enum APIObjectType {
12056   NONE = 0,
12057   RUNTIME_PORT = 1,
12060 enum CallbackType {
12061   CALLBACK_NONE = 0,
12062   CALLBACK_SEND_RESPONSE = 1,
12067 declare global {
12069 interface mozIExtensionListenerCallOptions extends nsISupports, Enums<typeof mozIExtensionListenerCallOptions.APIObjectType & typeof mozIExtensionListenerCallOptions.CallbackType> {
12070   readonly apiObjectType: mozIExtensionListenerCallOptions.APIObjectType;
12071   readonly apiObjectDescriptor: any;
12072   readonly apiObjectPrepended: boolean;
12073   callbackType: mozIExtensionListenerCallOptions.CallbackType;
12076 interface mozIExtensionEventListener extends nsISupports {
12077   callListener(args: any[], listenerCallOptions?: mozIExtensionListenerCallOptions): Promise<any>;
12080 }  // global
12082 declare namespace mozIExtensionAPIRequest {
12084 enum RequestType {
12085   CALL_FUNCTION = 0,
12086   CALL_FUNCTION_NO_RETURN = 1,
12087   CALL_FUNCTION_ASYNC = 2,
12088   ADD_LISTENER = 3,
12089   REMOVE_LISTENER = 4,
12090   GET_PROPERTY = 5,
12095 declare global {
12097 interface mozIExtensionAPIRequest extends nsISupports, Enums<typeof mozIExtensionAPIRequest.RequestType> {
12098   toString(): string;
12099   readonly requestType: string;
12100   readonly apiNamespace: string;
12101   readonly apiName: string;
12102   readonly apiObjectType: string;
12103   readonly apiObjectId: string;
12104   readonly args: any;
12105   normalizedArgs: any;
12106   readonly callerSavedFrame: any;
12107   readonly serviceWorkerInfo: mozIExtensionServiceWorkerInfo;
12108   readonly eventListener: mozIExtensionEventListener;
12111 }  // global
12113 declare namespace mozIExtensionAPIRequestResult {
12115 enum ResultType {
12116   RETURN_VALUE = 0,
12117   EXTENSION_ERROR = 1,
12122 declare global {
12124 interface mozIExtensionAPIRequestResult extends nsISupports, Enums<typeof mozIExtensionAPIRequestResult.ResultType> {
12125   readonly type: mozIExtensionAPIRequestResult.ResultType;
12126   readonly value: any;
12129 interface mozIExtensionAPIRequestHandler extends nsISupports {
12130   handleAPIRequest(extension: nsISupports, apiRequest: mozIExtensionAPIRequest): OutParam<mozIExtensionAPIRequestResult>;
12131   initExtensionWorker(extension: nsISupports, serviceWorkerInfo: mozIExtensionServiceWorkerInfo): void;
12132   onExtensionWorkerLoaded(extension: nsISupports, serviceWorkerDescriptorId: u64): void;
12133   onExtensionWorkerDestroyed(extension: nsISupports, serviceWorkerDescriptorId: u64): void;
12136 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionProcessScript.idl
12138 interface mozIExtensionProcessScript extends nsISupports {
12139   preloadContentScript(contentScript: nsISupports): void;
12140   loadContentScript(contentScript: WebExtensionContentScript, window: mozIDOMWindow): Promise<any>;
12141   initExtensionDocument(extension: nsISupports, doc: Document, privileged: boolean): void;
12144 // https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTListener.idl
12146 interface nsIWebVTTListener extends nsISupports {
12147   onCue(cue: any): void;
12148   onRegion(region: any): void;
12149   onParsingError(errorCode: i32): void;
12152 // https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTParserWrapper.idl
12154 interface nsIWebVTTParserWrapper extends nsISupports {
12155   loadParser(window: mozIDOMWindow): void;
12156   parse(data: string): void;
12157   flush(): void;
12158   watch(callback: nsIWebVTTListener): void;
12159   cancel(): void;
12160   convertCueToDOMTree(window: mozIDOMWindow, cue: nsISupports): DocumentFragment;
12161   processCues(window: mozIDOMWindow, cues: nsIVariant, overlay: nsISupports, controls: nsISupports): void;
12164 // https://searchfox.org/mozilla-central/source/widget/nsIAppShell.idl
12166 // https://searchfox.org/mozilla-central/source/widget/nsIBaseWindow.idl
12168 interface nsIBaseWindow extends nsISupports {
12169   readonly eRepaint: 1;
12170   readonly eDelayResize: 2;
12172   destroy(): void;
12173   setPosition(x: i32, y: i32): void;
12174   setPositionDesktopPix(x: i32, y: i32): void;
12175   getPosition(x: OutParam<i32>, y: OutParam<i32>): void;
12176   setSize(cx: i32, cy: i32, fRepaint: boolean): void;
12177   getSize(cx: OutParam<i32>, cy: OutParam<i32>): void;
12178   setPositionAndSize(x: i32, y: i32, cx: i32, cy: i32, flags: u32): void;
12179   getPositionAndSize(x: OutParam<i32>, y: OutParam<i32>, cx: OutParam<i32>, cy: OutParam<i32>): void;
12180   repaint(force: boolean): void;
12181   parentNativeWindow: nativeWindow;
12182   readonly nativeHandle: string;
12183   visibility: boolean;
12184   enabled: boolean;
12185   readonly devicePixelsPerDesktopPixel: double;
12186   title: string;
12189 // https://searchfox.org/mozilla-central/source/widget/nsIBidiKeyboard.idl
12191 interface nsIBidiKeyboard extends nsISupports {
12192   reset(): void;
12193   isLangRTL(): boolean;
12194   readonly haveBidiKeyboards: boolean;
12197 // https://searchfox.org/mozilla-central/source/widget/nsIClipboard.idl
12199 interface nsIAsyncSetClipboardData extends nsISupports {
12200   setData(aTransferable: nsITransferable, aOwner?: nsIClipboardOwner): void;
12201   abort(aReason: nsresult): void;
12204 type nsIAsyncClipboardRequestCallback = Callable<{
12205   onComplete(aResult: nsresult): void;
12208 interface nsIAsyncGetClipboardData extends nsISupports {
12209   readonly valid: boolean;
12210   readonly flavorList: string[];
12211   getData(aTransferable: nsITransferable, aCallback: nsIAsyncClipboardRequestCallback): void;
12214 interface nsIAsyncClipboardGetCallback extends nsISupports {
12215   onSuccess(aAsyncGetClipboardData: nsIAsyncGetClipboardData): void;
12216   onError(aResult: nsresult): void;
12219 interface nsIClipboard extends nsISupports {
12220   readonly kSelectionClipboard: 0;
12221   readonly kGlobalClipboard: 1;
12222   readonly kFindClipboard: 2;
12223   readonly kSelectionCache: 3;
12225   setData(aTransferable: nsITransferable, anOwner: nsIClipboardOwner, aWhichClipboard: i32): void;
12226   asyncSetData(aWhichClipboard: i32, aCallback?: nsIAsyncClipboardRequestCallback): nsIAsyncSetClipboardData;
12227   getData(aTransferable: nsITransferable, aWhichClipboard: i32, aRequestingWindowContext?: WindowContext): void;
12228   asyncGetData(aFlavorList: string[], aWhichClipboard: i32, aRequestingWindowContext: WindowContext, aRequestingPrincipal: nsIPrincipal, aCallback: nsIAsyncClipboardGetCallback): void;
12229   getDataSnapshotSync(aFlavorList: string[], aWhichClipboard: i32, aRequestingWindowContext?: WindowContext): nsIAsyncGetClipboardData;
12230   emptyClipboard(aWhichClipboard: i32): void;
12231   hasDataMatchingFlavors(aFlavorList: string[], aWhichClipboard: i32): boolean;
12232   isClipboardTypeSupported(aWhichClipboard: i32): boolean;
12235 // https://searchfox.org/mozilla-central/source/widget/nsIClipboardHelper.idl
12237 }  // global
12239 declare namespace nsIClipboardHelper {
12241 enum SensitiveData {
12242   NotSensitive = 0,
12243   Sensitive = 1,
12248 declare global {
12250 interface nsIClipboardHelper extends nsISupports, Enums<typeof nsIClipboardHelper.SensitiveData> {
12251   copyStringToClipboard(aString: string, aClipboardID: i32, aSensitive?: nsIClipboardHelper.SensitiveData): void;
12252   copyString(aString: string, aSensitive?: nsIClipboardHelper.SensitiveData): void;
12255 // https://searchfox.org/mozilla-central/source/widget/nsIClipboardOwner.idl
12257 interface nsIClipboardOwner extends nsISupports {
12258   LosingOwnership(aTransferable: nsITransferable): void;
12261 // https://searchfox.org/mozilla-central/source/widget/nsIColorPicker.idl
12263 interface nsIColorPickerShownCallback extends nsISupports {
12264   update(color: string): void;
12265   done(color: string): void;
12268 interface nsIColorPicker extends nsISupports {
12269   init(parent: mozIDOMWindowProxy, title: string, initialColor: string, defaultColors: string[]): void;
12270   open(aColorPickerShownCallback: nsIColorPickerShownCallback): void;
12273 // https://searchfox.org/mozilla-central/source/widget/nsIDisplayInfo.idl
12275 interface nsIDisplayInfo extends nsISupports {
12276   readonly id: i32;
12277   readonly connected: boolean;
12280 // https://searchfox.org/mozilla-central/source/widget/nsIDragService.idl
12282 interface nsIDragService extends nsISupports {
12283   readonly DRAGDROP_ACTION_NONE: 0;
12284   readonly DRAGDROP_ACTION_COPY: 1;
12285   readonly DRAGDROP_ACTION_MOVE: 2;
12286   readonly DRAGDROP_ACTION_LINK: 4;
12287   readonly DRAGDROP_ACTION_UNINITIALIZED: 64;
12289   invokeDragSession(aDOMNode: Node, aPrincipal: nsIPrincipal, aCsp: nsIContentSecurityPolicy, aCookieJarSettings: nsICookieJarSettings, aTransferables: nsIArray, aActionType: u32, aContentPolicyType?: nsContentPolicyType): void;
12290   getCurrentSession(): nsIDragSession;
12291   startDragSession(): void;
12292   startDragSessionForTests(aAllowedEffect: u32): void;
12293   endDragSession(aDoneDrag: boolean, aKeyModifiers?: u32): void;
12294   suppress(): void;
12295   unsuppress(): void;
12298 // https://searchfox.org/mozilla-central/source/widget/nsIDragSession.idl
12300 interface nsIDragSession extends nsISupports {
12301   canDrop: boolean;
12302   onlyChromeDrop: boolean;
12303   dragAction: u32;
12304   readonly numDropItems: u32;
12305   sourceWindowContext: WindowContext;
12306   sourceTopWindowContext: WindowContext;
12307   readonly sourceNode: Node;
12308   triggeringPrincipal: nsIPrincipal;
12309   csp: nsIContentSecurityPolicy;
12310   dataTransfer: DataTransfer;
12311   getData(aTransferable: nsITransferable, aItemIndex: u32): void;
12312   isDataFlavorSupported(aDataFlavor: string): boolean;
12313   userCancelled(): void;
12314   dragEventDispatchedToChildProcess(): void;
12315   updateDragEffect(): void;
12316   updateDragImage(aImage: Node, aImageX: i32, aImageY: i32): void;
12317   setDragEndPointForTests(aScreenX: i32, aScreenY: i32): void;
12320 // https://searchfox.org/mozilla-central/source/widget/nsIFilePicker.idl
12322 }  // global
12324 declare namespace nsIFilePicker {
12326 enum Mode {
12327   modeOpen = 0,
12328   modeSave = 1,
12329   modeGetFolder = 2,
12330   modeOpenMultiple = 3,
12333 enum ResultCode {
12334   returnOK = 0,
12335   returnCancel = 1,
12336   returnReplace = 2,
12339 enum CaptureTarget {
12340   captureNone = 0,
12341   captureDefault = 1,
12342   captureUser = 2,
12343   captureEnv = 3,
12348 declare global {
12350 interface nsIFilePicker extends nsISupports, Enums<typeof nsIFilePicker.Mode & typeof nsIFilePicker.ResultCode & typeof nsIFilePicker.CaptureTarget> {
12351   readonly filterAll: 1;
12352   readonly filterHTML: 2;
12353   readonly filterText: 4;
12354   readonly filterImages: 8;
12355   readonly filterXML: 16;
12356   readonly filterXUL: 32;
12357   readonly filterApps: 64;
12358   readonly filterAllowURLs: 128;
12359   readonly filterAudio: 256;
12360   readonly filterVideo: 512;
12361   readonly filterPDF: 1024;
12363   init(browsingContext: BrowsingContext, title: string, mode: nsIFilePicker.Mode): void;
12364   isModeSupported(mode: nsIFilePicker.Mode): Promise<any>;
12365   appendFilters(filterMask: i32): void;
12366   appendFilter(title: string, filter: string): void;
12367   appendRawFilter(filter: string): void;
12368   defaultString: string;
12369   defaultExtension: string;
12370   filterIndex: i32;
12371   displayDirectory: nsIFile;
12372   displaySpecialDirectory: string;
12373   readonly file: nsIFile;
12374   readonly fileURL: nsIURI;
12375   readonly files: nsISimpleEnumerator;
12376   readonly domFileOrDirectory: nsISupports;
12377   readonly domFileOrDirectoryEnumerator: nsISimpleEnumerator;
12378   addToRecentDocs: boolean;
12379   open(aFilePickerShownCallback: nsIFilePickerShownCallback): void;
12380   close(): void;
12381   readonly mode: nsIFilePicker.Mode;
12382   okButtonLabel: string;
12383   capture: nsIFilePicker.CaptureTarget;
12386 type nsIFilePickerShownCallback = Callable<{
12387   done(aResult: nsIFilePicker.ResultCode): void;
12390 // https://searchfox.org/mozilla-central/source/widget/nsIFormatConverter.idl
12392 interface nsIFormatConverter extends nsISupports {
12393   getInputDataFlavors(): string[];
12394   getOutputDataFlavors(): string[];
12395   canConvert(aFromDataFlavor: string, aToDataFlavor: string): boolean;
12396   convert(aFromDataFlavor: string, aFromData: nsISupports, aToDataFlavor: string, aToData: OutParam<nsISupports>): void;
12399 // https://searchfox.org/mozilla-central/source/widget/nsIGfxInfo.idl
12401 }  // global
12403 declare namespace nsIGfxInfo {
12405 enum FontVisibilityDeviceDetermination {
12406   Unassigned = 0,
12407   Unknown_Platform = 1,
12408   Windows_Platform = 2,
12409   MacOS_Platform = 3,
12410   Android_Unknown_Release_Version = 4,
12411   Android_Unknown_Peloton = 5,
12412   Android_Unknown_vbox = 6,
12413   Android_Unknown_mitv = 7,
12414   Android_Chromebook = 8,
12415   Android_Amazon = 9,
12416   Android_sub_9 = 10,
12417   Android_9_11 = 11,
12418   Android_12_plus = 12,
12419   Linux_Unknown = 13,
12420   Linux_Ubuntu_any = 14,
12421   Linux_Ubuntu_20 = 15,
12422   Linux_Ubuntu_22 = 16,
12423   Linux_Fedora_any = 17,
12424   Linux_Fedora_38 = 18,
12425   Linux_Fedora_39 = 19,
12430 declare global {
12432 interface nsIGfxInfo extends nsISupports, Enums<typeof nsIGfxInfo.FontVisibilityDeviceDetermination> {
12433   readonly FEATURE_DIRECT2D: 1;
12434   readonly FEATURE_DIRECT3D_9_LAYERS: 2;
12435   readonly FEATURE_DIRECT3D_10_LAYERS: 3;
12436   readonly FEATURE_DIRECT3D_10_1_LAYERS: 4;
12437   readonly FEATURE_OPENGL_LAYERS: 5;
12438   readonly FEATURE_WEBGL_OPENGL: 6;
12439   readonly FEATURE_WEBGL_ANGLE: 7;
12440   readonly UNUSED_FEATURE_WEBGL_MSAA: 8;
12441   readonly FEATURE_STAGEFRIGHT: 9;
12442   readonly FEATURE_WEBRTC_HW_ACCELERATION_H264: 10;
12443   readonly FEATURE_DIRECT3D_11_LAYERS: 11;
12444   readonly FEATURE_HARDWARE_VIDEO_DECODING: 12;
12445   readonly FEATURE_DIRECT3D_11_ANGLE: 13;
12446   readonly FEATURE_WEBRTC_HW_ACCELERATION_ENCODE: 14;
12447   readonly FEATURE_WEBRTC_HW_ACCELERATION_DECODE: 15;
12448   readonly FEATURE_CANVAS2D_ACCELERATION: 16;
12449   readonly FEATURE_VP8_HW_DECODE: 17;
12450   readonly FEATURE_VP9_HW_DECODE: 18;
12451   readonly FEATURE_DX_INTEROP2: 19;
12452   readonly FEATURE_GPU_PROCESS: 20;
12453   readonly FEATURE_WEBGL2: 21;
12454   readonly FEATURE_D3D11_KEYED_MUTEX: 22;
12455   readonly FEATURE_WEBRENDER: 23;
12456   readonly FEATURE_DX_NV12: 24;
12457   readonly FEATURE_DX_P010: 25;
12458   readonly FEATURE_DX_P016: 26;
12459   readonly FEATURE_GL_SWIZZLE: 27;
12460   readonly FEATURE_WEBRENDER_COMPOSITOR: 28;
12461   readonly FEATURE_WEBRENDER_SCISSORED_CACHE_CLEARS: 29;
12462   readonly FEATURE_ALLOW_WEBGL_OUT_OF_PROCESS: 30;
12463   readonly FEATURE_THREADSAFE_GL: 31;
12464   readonly FEATURE_WEBRENDER_OPTIMIZED_SHADERS: 32;
12465   readonly FEATURE_X11_EGL: 33;
12466   readonly FEATURE_DMABUF: 34;
12467   readonly FEATURE_WEBRENDER_SHADER_CACHE: 35;
12468   readonly FEATURE_WEBRENDER_PARTIAL_PRESENT: 36;
12469   readonly FEATURE_WEBGPU: 37;
12470   readonly FEATURE_VIDEO_OVERLAY: 38;
12471   readonly FEATURE_HW_DECODED_VIDEO_ZERO_COPY: 39;
12472   readonly FEATURE_DMABUF_SURFACE_EXPORT: 40;
12473   readonly FEATURE_REUSE_DECODER_DEVICE: 41;
12474   readonly FEATURE_BACKDROP_FILTER: 42;
12475   readonly FEATURE_ACCELERATED_CANVAS2D: 43;
12476   readonly FEATURE_H264_HW_DECODE: 44;
12477   readonly FEATURE_AV1_HW_DECODE: 45;
12478   readonly FEATURE_VIDEO_SOFTWARE_OVERLAY: 46;
12479   readonly FEATURE_WEBGL_USE_HARDWARE: 47;
12480   readonly FEATURE_OVERLAY_VP_AUTO_HDR: 48;
12481   readonly FEATURE_OVERLAY_VP_SUPER_RESOLUTION: 49;
12482   readonly FEATURE_MAX_VALUE: 49;
12483   readonly FEATURE_STATUS_OK: 1;
12484   readonly FEATURE_STATUS_UNKNOWN: 2;
12485   readonly FEATURE_BLOCKED_DRIVER_VERSION: 3;
12486   readonly FEATURE_BLOCKED_DEVICE: 4;
12487   readonly FEATURE_DISCOURAGED: 5;
12488   readonly FEATURE_BLOCKED_OS_VERSION: 6;
12489   readonly FEATURE_BLOCKED_MISMATCHED_VERSION: 7;
12490   readonly FEATURE_DENIED: 8;
12491   readonly FEATURE_ALLOW_ALWAYS: 9;
12492   readonly FEATURE_ALLOW_QUALIFIED: 10;
12493   readonly FEATURE_BLOCKED_PLATFORM_TEST: 11;
12495   readonly D2DEnabled: boolean;
12496   readonly DWriteEnabled: boolean;
12497   readonly EmbeddedInFirefoxReality: boolean;
12498   readonly AzureCanvasBackend: string;
12499   readonly AzureContentBackend: string;
12500   readonly usingGPUProcess: boolean;
12501   readonly hasBattery: boolean;
12502   readonly DWriteVersion: string;
12503   readonly cleartypeParameters: string;
12504   readonly windowProtocol: string;
12505   readonly testType: string;
12506   readonly ContentBackend: string;
12507   readonly isHeadless: boolean;
12508   readonly TargetFrameRate: u32;
12509   readonly CodecSupportInfo: string;
12510   readonly fontVisibilityDetermination: nsIGfxInfo.FontVisibilityDeviceDetermination;
12511   readonly fontVisibilityDeterminationStr: string;
12512   readonly adapterDescription: string;
12513   readonly adapterDescription2: string;
12514   readonly adapterDriver: string;
12515   readonly adapterDriver2: string;
12516   readonly adapterVendorID: string;
12517   readonly adapterVendorID2: string;
12518   readonly adapterDeviceID: string;
12519   readonly adapterDeviceID2: string;
12520   readonly adapterSubsysID: string;
12521   readonly adapterSubsysID2: string;
12522   readonly adapterRAM: u32;
12523   readonly adapterRAM2: u32;
12524   readonly adapterDriverVendor: string;
12525   readonly adapterDriverVendor2: string;
12526   readonly adapterDriverVersion: string;
12527   readonly adapterDriverVersion2: string;
12528   readonly adapterDriverDate: string;
12529   readonly adapterDriverDate2: string;
12530   readonly isGPU2Active: boolean;
12531   readonly drmRenderDevice: string;
12532   getMonitors(): any;
12533   getFailures(indices: OutParam<i32[]>): string[];
12534   getFeatureStatus(aFeature: i32, aFailureId?: OutParam<string>): i32;
12535   getFeatureSuggestedDriverVersion(aFeature: i32): string;
12536   getInfo(): any;
12537   getFeatureLog(): any;
12538   getFeatures(): any;
12539   getActiveCrashGuards(): any;
12540   controlGPUProcessForXPCShell(aEnable: boolean): boolean;
12541   killGPUProcessForTests(): void;
12542   crashGPUProcessForTests(): void;
12545 // https://searchfox.org/mozilla-central/source/widget/nsIGfxInfoDebug.idl
12547 interface nsIGfxInfoDebug extends nsISupports {
12548   spoofVendorID(aVendorID: string): void;
12549   spoofDeviceID(aDeviceID: string): void;
12550   spoofDriverVersion(aDriverVersion: string): void;
12551   spoofOSVersion(aVersion: u32): void;
12554 // https://searchfox.org/mozilla-central/source/widget/nsIJumpListBuilder.idl
12556 interface nsIJumpListBuilder extends nsISupports {
12557   obtainAndCacheFavicon(faviconURL: nsIURI): string;
12558   isAvailable(): Promise<any>;
12559   checkForRemovals(): Promise<any>;
12560   populateJumpList(aTaskDescriptions: any[], aCustomTitle: string, aCustomDescriptions: any[]): Promise<any>;
12561   clearJumpList(): Promise<any>;
12564 // https://searchfox.org/mozilla-central/source/widget/nsILegacyJumpListBuilder.idl
12566 type nsILegacyJumpListCommittedCallback = Callable<{
12567   done(result: boolean): void;
12570 interface nsILegacyJumpListBuilder extends nsISupports {
12571   readonly JUMPLIST_CATEGORY_TASKS: 0;
12572   readonly JUMPLIST_CATEGORY_RECENT: 1;
12573   readonly JUMPLIST_CATEGORY_FREQUENT: 2;
12574   readonly JUMPLIST_CATEGORY_CUSTOMLIST: 3;
12576   readonly available: i16;
12577   readonly isListCommitted: boolean;
12578   readonly maxListItems: i16;
12579   initListBuild(): Promise<any>;
12580   addListToBuild(aCatType: i16, items?: nsIArray, catName?: string): boolean;
12581   abortListBuild(): void;
12582   commitListBuild(callback?: nsILegacyJumpListCommittedCallback): void;
12583   deleteActiveList(): boolean;
12584   setAppUserModelID(aAppUserModelId: string): void;
12587 // https://searchfox.org/mozilla-central/source/widget/nsILegacyJumpListItem.idl
12589 interface nsILegacyJumpListItem extends nsISupports {
12590   readonly JUMPLIST_ITEM_EMPTY: 0;
12591   readonly JUMPLIST_ITEM_SEPARATOR: 1;
12592   readonly JUMPLIST_ITEM_LINK: 2;
12593   readonly JUMPLIST_ITEM_SHORTCUT: 3;
12595   readonly type: i16;
12596   equals(item: nsILegacyJumpListItem): boolean;
12599 interface nsILegacyJumpListSeparator extends nsILegacyJumpListItem {
12602 interface nsILegacyJumpListLink extends nsILegacyJumpListItem {
12603   uri: nsIURI;
12604   uriTitle: string;
12607 interface nsILegacyJumpListShortcut extends nsILegacyJumpListItem {
12608   app: nsILocalHandlerApp;
12609   iconIndex: i32;
12610   faviconPageUri: nsIURI;
12613 // https://searchfox.org/mozilla-central/source/widget/nsIPaper.idl
12615 interface nsIPaper extends nsISupports {
12616   readonly id: string;
12617   readonly name: string;
12618   readonly width: double;
12619   readonly height: double;
12620   readonly unwriteableMargin: Promise<any>;
12623 // https://searchfox.org/mozilla-central/source/widget/nsIPaperMargin.idl
12625 interface nsIPaperMargin extends nsISupports {
12626   readonly top: double;
12627   readonly right: double;
12628   readonly bottom: double;
12629   readonly left: double;
12632 // https://searchfox.org/mozilla-central/source/widget/nsIPrintDialogService.idl
12634 interface nsIPrintDialogService extends nsISupports {
12635   init(): void;
12636   showPrintDialog(aParent: mozIDOMWindowProxy, aHaveSelection: boolean, aPrintSettings: nsIPrintSettings): void;
12637   showPageSetupDialog(aParent: mozIDOMWindowProxy, aPrintSettings: nsIPrintSettings): void;
12640 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettings.idl
12642 }  // global
12644 declare namespace nsIPrintSettings {
12646 enum OutputDestinationType {
12647   kOutputDestinationPrinter = 0,
12648   kOutputDestinationFile = 1,
12649   kOutputDestinationStream = 2,
12654 declare global {
12656 interface nsIPrintSettings extends nsISupports, Enums<typeof nsIPrintSettings.OutputDestinationType> {
12657   readonly kInitSaveHeaderLeft: 2;
12658   readonly kInitSaveHeaderCenter: 4;
12659   readonly kInitSaveHeaderRight: 8;
12660   readonly kInitSaveFooterLeft: 16;
12661   readonly kInitSaveFooterCenter: 32;
12662   readonly kInitSaveFooterRight: 64;
12663   readonly kInitSaveBGColors: 128;
12664   readonly kInitSaveBGImages: 256;
12665   readonly kInitSavePaperSize: 512;
12666   readonly kInitSaveDuplex: 2048;
12667   readonly kInitSaveUnwriteableMargins: 16384;
12668   readonly kInitSaveEdges: 32768;
12669   readonly kInitSaveReversed: 65536;
12670   readonly kInitSaveInColor: 131072;
12671   readonly kInitSaveOrientation: 262144;
12672   readonly kInitSavePrinterName: 1048576;
12673   readonly kInitSavePrintToFile: 2097152;
12674   readonly kInitSaveToFileName: 4194304;
12675   readonly kInitSavePageDelay: 8388608;
12676   readonly kInitSaveMargins: 16777216;
12677   readonly kInitSaveShrinkToFit: 134217728;
12678   readonly kInitSaveScaling: 268435456;
12679   readonly kInitSaveAll: 4294967295;
12680   readonly kGlobalSettings: 134447614;
12681   readonly kPrintDialogPersistSettings: 428313598;
12682   readonly kJustLeft: 0;
12683   readonly kJustCenter: 1;
12684   readonly kJustRight: 2;
12685   readonly kPaperSizeInches: 0;
12686   readonly kPaperSizeMillimeters: 1;
12687   readonly kPortraitOrientation: 0;
12688   readonly kLandscapeOrientation: 1;
12689   readonly kOutputFormatNative: 0;
12690   readonly kOutputFormatPDF: 2;
12691   readonly kDuplexNone: 0;
12692   readonly kDuplexFlipOnLongEdge: 1;
12693   readonly kDuplexFlipOnShortEdge: 2;
12695   GetEffectivePageSize(aWidth: OutParam<double>, aHeight: OutParam<double>): void;
12696   clone(): nsIPrintSettings;
12697   assign(aPS: nsIPrintSettings): void;
12698   equivalentTo(aPrintSettings: nsIPrintSettings): boolean;
12699   edgeTop: double;
12700   edgeLeft: double;
12701   edgeBottom: double;
12702   edgeRight: double;
12703   marginTop: double;
12704   marginLeft: double;
12705   marginBottom: double;
12706   marginRight: double;
12707   unwriteableMarginTop: double;
12708   unwriteableMarginLeft: double;
12709   unwriteableMarginBottom: double;
12710   unwriteableMarginRight: double;
12711   scaling: double;
12712   printBGColors: boolean;
12713   printBGImages: boolean;
12714   honorPageRuleMargins: boolean;
12715   usePageRuleSizeAsPaperSize: boolean;
12716   ignoreUnwriteableMargins: boolean;
12717   showMarginGuides: boolean;
12718   printSelectionOnly: boolean;
12719   title: string;
12720   docURL: string;
12721   headerStrLeft: string;
12722   headerStrCenter: string;
12723   headerStrRight: string;
12724   footerStrLeft: string;
12725   footerStrCenter: string;
12726   footerStrRight: string;
12727   printSilent: boolean;
12728   shrinkToFit: boolean;
12729   paperId: string;
12730   paperWidth: double;
12731   paperHeight: double;
12732   paperSizeUnit: i16;
12733   printReversed: boolean;
12734   printInColor: boolean;
12735   orientation: i32;
12736   numCopies: i32;
12737   numPagesPerSheet: i32;
12738   outputDestination: nsIPrintSettings.OutputDestinationType;
12739   outputFormat: i16;
12740   printerName: string;
12741   toFileName: string;
12742   outputStream: nsIOutputStream;
12743   printPageDelay: i32;
12744   resolution: i32;
12745   duplex: i32;
12746   isInitializedFromPrinter: boolean;
12747   isInitializedFromPrefs: boolean;
12748   pageRanges: i32[];
12751 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsService.idl
12753 interface nsIPrintSettingsService extends nsISupports {
12754   createNewPrintSettings(): nsIPrintSettings;
12755   readonly lastUsedPrinterName: string;
12756   initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;
12757   initPrintSettingsFromPrefs(aPrintSettings: nsIPrintSettings, aUsePrinterNamePrefix: boolean, aFlags: u32): void;
12758   maybeSavePrintSettingsToPrefs(aPrintSettings: nsIPrintSettings, aFlags: u32): void;
12759   maybeSaveLastUsedPrinterNameToPrefs(aPrinterName: string): void;
12762 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsWin.idl
12764 // https://searchfox.org/mozilla-central/source/widget/nsIPrinter.idl
12766 interface nsIPrinterInfo extends nsISupports {
12767   readonly paperList: nsIPaper[];
12768   readonly defaultSettings: nsIPrintSettings;
12771 interface nsIPrinter extends nsISupports {
12772   readonly name: string;
12773   readonly systemName: string;
12774   readonly printerInfo: Promise<any>;
12775   copyFromWithValidation(aSettingsToCopyFrom: nsIPrintSettings): Promise<any>;
12776   readonly supportsDuplex: Promise<any>;
12777   readonly supportsColor: Promise<any>;
12778   readonly supportsMonochrome: Promise<any>;
12779   readonly supportsCollation: Promise<any>;
12782 // https://searchfox.org/mozilla-central/source/widget/nsIPrinterList.idl
12784 interface nsIPrinterList extends nsISupports {
12785   initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;
12786   readonly systemDefaultPrinterName: string;
12787   getPrinterByName(aPrinterName: string): Promise<any>;
12788   getPrinterBySystemName(aPrinterName: string): Promise<any>;
12789   getNamedOrDefaultPrinter(aPrinterName: string): Promise<any>;
12790   readonly printers: Promise<any>;
12791   readonly fallbackPaperList: Promise<any>;
12794 // https://searchfox.org/mozilla-central/source/widget/nsIScreen.idl
12796 interface nsIScreen extends nsISupports {
12797   GetRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12798   GetAvailRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12799   GetRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12800   GetAvailRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12801   readonly pixelDepth: i32;
12802   readonly colorDepth: i32;
12803   readonly contentsScaleFactor: double;
12804   readonly defaultCSSScaleFactor: double;
12805   readonly dpi: float;
12806   readonly refreshRate: i32;
12807   readonly isPseudoDisplay: boolean;
12810 // https://searchfox.org/mozilla-central/source/widget/nsIScreenManager.idl
12812 interface nsIScreenManager extends nsISupports {
12813   screenForRect(left: i32, top: i32, width: i32, height: i32): nsIScreen;
12814   readonly primaryScreen: nsIScreen;
12815   readonly totalScreenPixels: i64;
12818 // https://searchfox.org/mozilla-central/source/widget/nsISharePicker.idl
12820 interface nsISharePicker extends nsISupports {
12821   init(openerWindow: mozIDOMWindowProxy): void;
12822   readonly openerWindow: mozIDOMWindowProxy;
12823   share(title: string, text: string, url: nsIURI): Promise<any>;
12826 // https://searchfox.org/mozilla-central/source/widget/nsISound.idl
12828 interface nsISound extends nsISupports {
12829   readonly EVENT_NEW_MAIL_RECEIVED: 0;
12830   readonly EVENT_ALERT_DIALOG_OPEN: 1;
12831   readonly EVENT_CONFIRM_DIALOG_OPEN: 2;
12832   readonly EVENT_PROMPT_DIALOG_OPEN: 3;
12833   readonly EVENT_SELECT_DIALOG_OPEN: 4;
12834   readonly EVENT_MENU_EXECUTE: 5;
12835   readonly EVENT_MENU_POPUP: 6;
12836   readonly EVENT_EDITOR_MAX_LEN: 7;
12838   play(aURL: nsIURL): void;
12839   beep(): void;
12840   init(): void;
12841   playEventSound(aEventId: u32): void;
12844 // https://searchfox.org/mozilla-central/source/widget/nsISystemStatusBar.idl
12846 interface nsISystemStatusBar extends nsISupports {
12847   addItem(aMenuElement: Element): void;
12848   removeItem(aMenuElement: Element): void;
12851 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarOverlayIconController.idl
12853 interface nsITaskbarOverlayIconController extends nsISupports {
12854   setOverlayIcon(statusIcon: imgIContainer, statusDescription: string): void;
12857 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreview.idl
12859 interface nsITaskbarPreview extends nsISupports {
12860   controller: nsITaskbarPreviewController;
12861   tooltip: string;
12862   visible: boolean;
12863   active: boolean;
12864   invalidate(): void;
12867 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewButton.idl
12869 interface nsITaskbarPreviewButton extends nsISupports {
12870   tooltip: string;
12871   dismissOnClick: boolean;
12872   hasBorder: boolean;
12873   disabled: boolean;
12874   image: imgIContainer;
12875   visible: boolean;
12878 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewController.idl
12880 type nsITaskbarPreviewCallback = Callable<{
12881   done(aCanvas: nsISupports, aDrawBorder: boolean): void;
12884 interface nsITaskbarPreviewController extends nsISupports {
12885   readonly width: u32;
12886   readonly height: u32;
12887   readonly thumbnailAspectRatio: float;
12888   requestPreview(aCallback: nsITaskbarPreviewCallback): void;
12889   requestThumbnail(aCallback: nsITaskbarPreviewCallback, width: u32, height: u32): void;
12890   onClose(): void;
12891   onActivate(): boolean;
12892   onClick(button: nsITaskbarPreviewButton): void;
12895 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl
12897 interface nsITaskbarProgress extends nsISupports {
12898   readonly STATE_NO_PROGRESS: 0;
12899   readonly STATE_INDETERMINATE: 1;
12900   readonly STATE_NORMAL: 2;
12901   readonly STATE_ERROR: 3;
12902   readonly STATE_PAUSED: 4;
12904   setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void;
12907 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarTabPreview.idl
12909 interface nsITaskbarTabPreview extends nsITaskbarPreview {
12910   title: string;
12911   icon: imgIContainer;
12912   move(aNext: nsITaskbarTabPreview): void;
12915 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarWindowPreview.idl
12917 interface nsITaskbarWindowPreview extends nsITaskbarPreview {
12918   readonly NUM_TOOLBAR_BUTTONS: 7;
12920   getButton(index: u32): nsITaskbarPreviewButton;
12921   enableCustomDrawing: boolean;
12924 // https://searchfox.org/mozilla-central/source/widget/nsITransferable.idl
12926 interface nsIFlavorDataProvider extends nsISupports {
12927   getFlavorData(aTransferable: nsITransferable, aFlavor: string, aData: OutParam<nsISupports>): void;
12930 interface nsITransferable extends nsISupports {
12931   init(aContext: nsILoadContext): void;
12932   flavorsTransferableCanExport(): string[];
12933   getTransferData(aFlavor: string, aData: OutParam<nsISupports>): void;
12934   getAnyTransferData(aFlavor: OutParam<string>, aData: OutParam<nsISupports>): void;
12935   flavorsTransferableCanImport(): string[];
12936   setTransferData(aFlavor: string, aData: nsISupports): void;
12937   clearAllData(): void;
12938   addDataFlavor(aDataFlavor: string): void;
12939   removeDataFlavor(aDataFlavor: string): void;
12940   converter: nsIFormatConverter;
12943 // https://searchfox.org/mozilla-central/source/widget/nsIUserIdleService.idl
12945 interface nsIUserIdleService extends nsISupports {
12946   readonly idleTime: u32;
12947   addIdleObserver(observer: nsIObserver, time: u32): void;
12948   removeIdleObserver(observer: nsIObserver, time: u32): void;
12949   disabled: boolean;
12952 // https://searchfox.org/mozilla-central/source/widget/nsIUserIdleServiceInternal.idl
12954 interface nsIUserIdleServiceInternal extends nsIUserIdleService {
12955   resetIdleTimeOut(idleDeltaInMS: u32): void;
12958 // https://searchfox.org/mozilla-central/source/widget/nsIWinTaskbar.idl
12960 interface nsIWinTaskbar extends nsISupports {
12961   readonly available: boolean;
12962   readonly defaultGroupId: string;
12963   readonly defaultPrivateGroupId: string;
12964   createTaskbarTabPreview(shell: nsIDocShell, controller: nsITaskbarPreviewController): nsITaskbarTabPreview;
12965   getTaskbarWindowPreview(shell: nsIDocShell): nsITaskbarWindowPreview;
12966   getTaskbarProgress(shell: nsIDocShell): nsITaskbarProgress;
12967   getOverlayIconController(shell: nsIDocShell): nsITaskbarOverlayIconController;
12968   createLegacyJumpListBuilder(aPrivateBrowsing: boolean): nsILegacyJumpListBuilder;
12969   createJumpListBuilder(aPrivateBrowsing: boolean): nsIJumpListBuilder;
12970   getGroupIdForWindow(aParent: mozIDOMWindow): string;
12971   setGroupIdForWindow(aParent: mozIDOMWindow, aIdentifier: string): void;
12974 // https://searchfox.org/mozilla-central/source/widget/nsIWindowsUIUtils.idl
12976 interface nsIWindowsUIUtils extends nsISupports {
12977   readonly systemSmallIconSize: i32;
12978   readonly systemLargeIconSize: i32;
12979   setWindowIcon(aWindow: mozIDOMWindowProxy, aSmallIcon: imgIContainer, aLargeIcon: imgIContainer): void;
12980   setWindowIconFromExe(aWindow: mozIDOMWindowProxy, aExe: string, aIndex: u16): void;
12981   setWindowIconNoData(aWindow: mozIDOMWindowProxy): void;
12982   readonly inTabletMode: boolean;
12983   shareUrl(shareTitle: string, urlToShare: string): void;
12986 // https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowCreator.idl
12988 interface nsIWindowCreator extends nsISupports {
12989   createChromeWindow(parent: nsIWebBrowserChrome, chromeFlags: u32, aOpenWindowInfo: nsIOpenWindowInfo, cancel: OutParam<boolean>): nsIWebBrowserChrome;
12992 // https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowProvider.idl
12994 interface nsIWindowProvider extends nsISupports {
12997 // https://searchfox.org/mozilla-central/source/toolkit/system/windowsPackageManager/nsIWindowsPackageManager.idl
12999 interface nsIWindowsPackageManager extends nsISupports {
13000   findUserInstalledPackages(prefix: string[]): string[];
13001   getInstalledDate(): u64;
13002   campaignId(): Promise<any>;
13005 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIDialogParamBlock.idl
13007 interface nsIDialogParamBlock extends nsISupports {
13008   GetInt(inIndex: i32): i32;
13009   SetInt(inIndex: i32, inInt: i32): void;
13010   SetNumberStrings(inNumStrings: i32): void;
13011   GetString(inIndex: i32): string;
13012   SetString(inIndex: i32, inString: string): void;
13013   objects: nsIMutableArray;
13016 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIOpenWindowInfo.idl
13018 interface nsIOpenWindowInfo extends nsISupports {
13019   readonly parent: BrowsingContext;
13020   readonly isRemote: boolean;
13021   readonly forceNoOpener: boolean;
13022   readonly isForPrinting: boolean;
13023   readonly isForWindowDotPrint: boolean;
13024   readonly originAttributes: any;
13027 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptCollection.idl
13029 interface nsIPromptCollection extends nsISupports {
13030   asyncBeforeUnloadCheck(aBrowsingContext: BrowsingContext): Promise<any>;
13031   confirmRepost(aBrowsingContext: BrowsingContext): boolean;
13032   confirmFolderUpload(aBrowsingContext: BrowsingContext, aDirectoryName: string): boolean;
13035 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptFactory.idl
13037 interface nsIPromptFactory extends nsISupports {
13038   getPrompt<T extends nsIID>(aParent: mozIDOMWindowProxy, iid: T): nsQIResult<T>;
13041 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptService.idl
13043 interface nsIPromptService extends nsISupports {
13044   readonly BUTTON_POS_0: 1;
13045   readonly BUTTON_POS_1: 256;
13046   readonly BUTTON_POS_2: 65536;
13047   readonly BUTTON_TITLE_OK: 1;
13048   readonly BUTTON_TITLE_CANCEL: 2;
13049   readonly BUTTON_TITLE_YES: 3;
13050   readonly BUTTON_TITLE_NO: 4;
13051   readonly BUTTON_TITLE_SAVE: 5;
13052   readonly BUTTON_TITLE_DONT_SAVE: 6;
13053   readonly BUTTON_TITLE_REVERT: 7;
13054   readonly BUTTON_TITLE_IS_STRING: 127;
13055   readonly BUTTON_POS_0_DEFAULT: 0;
13056   readonly BUTTON_POS_1_DEFAULT: 16777216;
13057   readonly BUTTON_POS_2_DEFAULT: 33554432;
13058   readonly BUTTON_DELAY_ENABLE: 67108864;
13059   readonly SHOW_SPINNER: 134217728;
13060   readonly STD_OK_CANCEL_BUTTONS: 513;
13061   readonly STD_YES_NO_BUTTONS: 1027;
13062   readonly MODAL_TYPE_CONTENT: 1;
13063   readonly MODAL_TYPE_TAB: 2;
13064   readonly MODAL_TYPE_WINDOW: 3;
13065   readonly MODAL_TYPE_INTERNAL_WINDOW: 4;
13067   alert(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): void;
13068   alertBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): void;
13069   asyncAlert(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;
13070   alertCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;
13071   alertCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;
13072   asyncAlertCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13073   confirm(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): boolean;
13074   confirmBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): boolean;
13075   asyncConfirm(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;
13076   confirmCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13077   confirmCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13078   asyncConfirmCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13079   confirmEx(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;
13080   confirmExBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;
13081   asyncConfirmEx(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: boolean, aExtraArgs?: any): Promise<any>;
13082   prompt(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13083   promptBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13084   asyncPrompt(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13085   promptUsernameAndPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;
13086   promptUsernameAndPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;
13087   asyncPromptUsernameAndPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: string, aPassword: string): Promise<any>;
13088   promptPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;
13089   promptPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;
13090   asyncPromptPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: string): Promise<any>;
13091   select(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;
13092   selectBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;
13093   asyncSelect(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[]): Promise<any>;
13094   promptAuth(aParent: mozIDOMWindowProxy, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
13095   promptAuthBC(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
13096   asyncPromptAuth(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): Promise<any>;
13097   confirmUserPaste(aWindow: WindowGlobalParent): Promise<any>;
13100 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIWindowWatcher.idl
13102 interface nsIWindowWatcher extends nsISupports {
13103   openWindow(aParent: mozIDOMWindowProxy, aUrl: string, aName: string, aFeatures: string, aArguments: nsISupports): mozIDOMWindowProxy;
13104   registerNotification(aObserver: nsIObserver): void;
13105   unregisterNotification(aObserver: nsIObserver): void;
13106   getWindowEnumerator(): nsISimpleEnumerator;
13107   getNewPrompter(aParent: mozIDOMWindowProxy): nsIPrompt;
13108   getNewAuthPrompter(aParent: mozIDOMWindowProxy): nsIAuthPrompt;
13109   setWindowCreator(creator: nsIWindowCreator): void;
13110   hasWindowCreator(): boolean;
13111   getChromeForWindow(aWindow: mozIDOMWindowProxy): nsIWebBrowserChrome;
13112   getWindowByName(aTargetName: string): mozIDOMWindowProxy;
13113   readonly activeWindow: mozIDOMWindowProxy;
13116 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsPIWindowWatcher.idl
13118 // https://searchfox.org/mozilla-central/source/xpcom/tests/NotXPCOMTest.idl
13120 interface nsIScriptableOK extends nsISupports {
13121   method1(): void;
13124 interface nsIScriptableWithNotXPCOM extends nsISupports {
13127 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIAvailableMemoryWatcherBase.idl
13129 interface nsITabUnloader extends nsISupports {
13130   unloadTabAsync(): void;
13133 interface nsIAvailableMemoryWatcherBase extends nsISupports {
13134   registerTabUnloader(aTabUnloader: nsITabUnloader): void;
13135   onUnloadAttemptCompleted(aResult: nsresult): void;
13138 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleListener.idl
13140 type nsIConsoleListener = Callable<{
13141   observe(aMessage: nsIConsoleMessage): void;
13144 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleMessage.idl
13146 interface nsIConsoleMessage extends nsISupports {
13147   readonly debug: 0;
13148   readonly info: 1;
13149   readonly warn: 2;
13150   readonly error: 3;
13152   readonly logLevel: u32;
13153   readonly timeStamp: i64;
13154   readonly microSecondTimeStamp: i64;
13155   readonly message: string;
13156   isForwardedFromContentProcess: boolean;
13157   toString(): string;
13160 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleService.idl
13162 }  // global
13164 declare namespace nsIConsoleService {
13166 enum OutputMode {
13167   SuppressLog = 0,
13168   OutputToLog = 1,
13173 declare global {
13175 interface nsIConsoleService extends nsISupports, Enums<typeof nsIConsoleService.OutputMode> {
13176   logMessage(message: nsIConsoleMessage): void;
13177   callFunctionAndLogException(targetGlobal: any, func: any): any;
13178   logMessageWithMode(message: nsIConsoleMessage, mode: nsIConsoleService.OutputMode): void;
13179   logStringMessage(message: string): void;
13180   getMessageArray(): nsIConsoleMessage[];
13181   registerListener(listener: nsIConsoleListener): void;
13182   unregisterListener(listener: nsIConsoleListener): void;
13183   reset(): void;
13184   resetWindow(windowInnerId: u64): void;
13187 // https://searchfox.org/mozilla-central/source/xpcom/base/nsICycleCollectorListener.idl
13189 interface nsICycleCollectorHandler extends nsISupports {
13190   noteRefCountedObject(aAddress: string, aRefCount: u32, aObjectDescription: string): void;
13191   noteGCedObject(aAddress: string, aMarked: boolean, aObjectDescription: string, aCompartmentAddress: string): void;
13192   noteEdge(aFromAddress: string, aToAddress: string, aEdgeName: string): void;
13193   describeRoot(aAddress: string, aKnownEdges: u32): void;
13194   describeGarbage(aAddress: string): void;
13197 interface nsICycleCollectorLogSink extends nsISupports {
13198   closeGCLog(): void;
13199   closeCCLog(): void;
13200   filenameIdentifier: string;
13201   processIdentifier: i32;
13202   readonly gcLog: nsIFile;
13203   readonly ccLog: nsIFile;
13206 interface nsICycleCollectorListener extends nsISupports {
13207   allTraces(): nsICycleCollectorListener;
13208   readonly wantAllTraces: boolean;
13209   disableLog: boolean;
13210   logSink: nsICycleCollectorLogSink;
13211   wantAfterProcessing: boolean;
13212   processNext(aHandler: nsICycleCollectorHandler): boolean;
13215 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIDebug2.idl
13217 interface nsIDebug2 extends nsISupports {
13218   readonly isDebugBuild: boolean;
13219   readonly assertionCount: i32;
13220   readonly isDebuggerAttached: boolean;
13221   assertion(aStr: string, aExpr: string, aFile: string, aLine: i32): void;
13222   warning(aStr: string, aFile: string, aLine: i32): void;
13223   break(aFile: string, aLine: i32): void;
13224   abort(aFile: string, aLine: i32): void;
13225   rustPanic(aMessage: string): void;
13226   rustLog(aTarget: string, aMessage: string): void;
13227   crashWithOOM(): void;
13230 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIException.idl
13232 interface nsIStackFrame extends nsISupports {
13233   readonly filename: string;
13234   readonly name: string;
13235   readonly sourceId: i32;
13236   readonly lineNumber: i32;
13237   readonly columnNumber: i32;
13238   readonly sourceLine: string;
13239   readonly asyncCause: string;
13240   readonly asyncCaller: nsIStackFrame;
13241   readonly caller: nsIStackFrame;
13242   readonly formattedStack: string;
13243   readonly nativeSavedFrame: any;
13244   toString(): string;
13247 interface nsIException extends nsISupports {
13250 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIInterfaceRequestor.idl
13252 interface nsIInterfaceRequestor extends nsISupports {
13253   getInterface<T extends nsIID>(uuid: T): nsQIResult<T>;
13256 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryInfoDumper.idl
13258 type nsIFinishDumpingCallback = Callable<{
13259   callback(data: nsISupports): void;
13262 interface nsIDumpGCAndCCLogsCallback extends nsISupports {
13263   onDump(aGCLog: nsIFile, aCCLog: nsIFile, aIsParent: boolean): void;
13264   onFinish(): void;
13267 interface nsIMemoryInfoDumper extends nsISupports {
13268   dumpMemoryReportsToNamedFile(aFilename: string, aFinishDumping: nsIFinishDumpingCallback, aFinishDumpingData: nsISupports, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;
13269   dumpMemoryInfoToTempDir(aIdentifier: string, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;
13270   dumpGCAndCCLogsToFile(aIdentifier: string, aDumpAllTraces: boolean, aDumpChildProcesses: boolean, aCallback: nsIDumpGCAndCCLogsCallback): void;
13271   dumpGCAndCCLogsToSink(aDumpAllTraces: boolean, aSink: nsICycleCollectorLogSink): void;
13274 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryReporter.idl
13276 type nsIHandleReportCallback = Callable<{
13277   callback(process: string, path: string, kind: i32, units: i32, amount: i64, description: string, data: nsISupports): void;
13280 interface nsIMemoryReporter extends nsISupports {
13281   readonly KIND_NONHEAP: 0;
13282   readonly KIND_HEAP: 1;
13283   readonly KIND_OTHER: 2;
13284   readonly UNITS_BYTES: 0;
13285   readonly UNITS_COUNT: 1;
13286   readonly UNITS_COUNT_CUMULATIVE: 2;
13287   readonly UNITS_PERCENTAGE: 3;
13289   collectReports(callback: nsIHandleReportCallback, data: nsISupports, anonymize: boolean): void;
13292 type nsIFinishReportingCallback = Callable<{
13293   callback(data: nsISupports): void;
13296 type nsIHeapAllocatedCallback = Callable<{
13297   callback(bytesAllocated: i64): void;
13300 interface nsIMemoryReporterManager extends nsISupports {
13301   init(): void;
13302   registerStrongReporter(reporter: nsIMemoryReporter): void;
13303   registerStrongAsyncReporter(reporter: nsIMemoryReporter): void;
13304   registerWeakReporter(reporter: nsIMemoryReporter): void;
13305   registerWeakAsyncReporter(reporter: nsIMemoryReporter): void;
13306   unregisterStrongReporter(reporter: nsIMemoryReporter): void;
13307   unregisterWeakReporter(reporter: nsIMemoryReporter): void;
13308   blockRegistrationAndHideExistingReporters(): void;
13309   unblockRegistrationAndRestoreOriginalReporters(): void;
13310   registerStrongReporterEvenIfBlocked(aReporter: nsIMemoryReporter): void;
13311   getReports(handleReport: nsIHandleReportCallback, handleReportData: nsISupports, finishReporting: nsIFinishReportingCallback, finishReportingData: nsISupports, anonymize: boolean): void;
13312   readonly vsize: i64;
13313   readonly vsizeMaxContiguous: i64;
13314   readonly resident: i64;
13315   readonly residentFast: i64;
13316   readonly residentPeak: i64;
13317   readonly residentUnique: i64;
13318   readonly heapAllocated: i64;
13319   readonly heapOverheadFraction: i64;
13320   readonly JSMainRuntimeGCHeap: i64;
13321   readonly JSMainRuntimeTemporaryPeak: i64;
13322   readonly JSMainRuntimeCompartmentsSystem: i64;
13323   readonly JSMainRuntimeCompartmentsUser: i64;
13324   readonly JSMainRuntimeRealmsSystem: i64;
13325   readonly JSMainRuntimeRealmsUser: i64;
13326   readonly imagesContentUsedUncompressed: i64;
13327   readonly storageSQLite: i64;
13328   readonly lowMemoryEventsPhysical: i64;
13329   readonly ghostWindows: i64;
13330   readonly pageFaultsHard: i64;
13331   readonly hasMozMallocUsableSize: boolean;
13332   readonly isDMDEnabled: boolean;
13333   readonly isDMDRunning: boolean;
13334   minimizeMemoryUsage(callback: nsIRunnable): void;
13335   sizeOfTab(window: mozIDOMWindowProxy, jsObjectsSize: OutParam<i64>, jsStringsSize: OutParam<i64>, jsOtherSize: OutParam<i64>, domSize: OutParam<i64>, styleSize: OutParam<i64>, otherSize: OutParam<i64>, totalSize: OutParam<i64>, jsMilliseconds: OutParam<double>, nonJSMilliseconds: OutParam<double>): void;
13338 // https://searchfox.org/mozilla-central/source/xpcom/base/nsISecurityConsoleMessage.idl
13340 // https://searchfox.org/mozilla-central/source/xpcom/base/nsISupports.idl
13342 interface nsISupports {
13343   QueryInterface?<T extends nsIID>(aIID: T): nsQIResult<T>;
13346 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIUUIDGenerator.idl
13348 interface nsIUUIDGenerator extends nsISupports {
13349   generateUUID(): nsID;
13352 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIVersionComparator.idl
13354 interface nsIVersionComparator extends nsISupports {
13355   compare(A: string, B: string): i32;
13358 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIWeakReference.idl
13360 interface nsIWeakReference extends nsISupports {
13361   QueryReferent<T extends nsIID>(uuid: T): nsQIResult<T>;
13364 interface nsISupportsWeakReference extends nsISupports {
13365   GetWeakReference(): nsIWeakReference;
13368 // https://searchfox.org/mozilla-central/source/xpcom/base/nsrootidl.idl
13370 // https://searchfox.org/mozilla-central/source/xpcom/components/nsICategoryManager.idl
13372 interface nsICategoryEntry extends nsISupportsCString {
13373   readonly entry: string;
13374   readonly value: string;
13377 interface nsICategoryManager extends nsISupports {
13378   getCategoryEntry(aCategory: string, aEntry: string): string;
13379   addCategoryEntry(aCategory: string, aEntry: string, aValue: string, aPersist: boolean, aReplace: boolean): string;
13380   deleteCategoryEntry(aCategory: string, aEntry: string, aPersist: boolean): void;
13381   deleteCategory(aCategory: string): void;
13382   enumerateCategory(aCategory: string): nsISimpleEnumerator;
13383   enumerateCategories(): nsISimpleEnumerator;
13386 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIClassInfo.idl
13388 interface nsIClassInfo extends nsISupports {
13389   readonly SINGLETON: 1;
13390   readonly THREADSAFE: 2;
13391   readonly SINGLETON_CLASSINFO: 32;
13392   readonly RESERVED: 2147483648;
13394   readonly interfaces: nsID[];
13395   getScriptableHelper(): nsIXPCScriptable;
13396   readonly contractID: string;
13397   readonly classDescription: string;
13398   readonly classID: nsID;
13399   readonly flags: u32;
13402 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentManager.idl
13404 interface nsIComponentManager extends nsISupports {
13405   getClassObject<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;
13406   getClassObjectByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;
13407   addBootstrappedManifestLocation(aLocation: nsIFile): void;
13408   removeBootstrappedManifestLocation(aLocation: nsIFile): void;
13409   getManifestLocations(): nsIArray;
13410   getComponentJSMs(): nsIUTF8StringEnumerator;
13411   getComponentESModules(): nsIUTF8StringEnumerator;
13414 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentRegistrar.idl
13416 interface nsIComponentRegistrar extends nsISupports {
13417   autoRegister(aSpec: nsIFile): void;
13418   registerFactory(aClass: nsID, aClassName: string, aContractID: string, aFactory: nsIFactory): void;
13419   unregisterFactory(aClass: nsID, aFactory: nsIFactory): void;
13420   isCIDRegistered(aClass: nsID): boolean;
13421   isContractIDRegistered(aContractID: string): boolean;
13422   getContractIDs(): string[];
13423   contractIDToCID(aContractID: string): nsID;
13426 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIFactory.idl
13428 interface nsIFactory extends nsISupports {
13429   createInstance<T extends nsIID>(iid: T): nsQIResult<T>;
13432 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIServiceManager.idl
13434 interface nsIServiceManager extends nsISupports {
13435   getService<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;
13436   getServiceByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;
13437   isServiceInstantiated(aClass: nsID, aIID: nsID): boolean;
13438   isServiceInstantiatedByContractID(aContractID: string, aIID: nsID): boolean;
13441 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArray.idl
13443 interface nsIArray extends nsISupports {
13444   readonly length: u32;
13445   queryElementAt<T extends nsIID>(index: u32, uuid: T): nsQIResult<T>;
13446   indexOf(startIndex: u32, element: nsISupports): u32;
13447   enumerate(aElemIID?: nsID): nsISimpleEnumerator;
13450 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArrayExtensions.idl
13452 interface nsIArrayExtensions extends nsIArray {
13453   Count(): u32;
13454   GetElementAt(index: u32): nsISupports;
13457 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIINIParser.idl
13459 interface nsIINIParser extends nsISupports {
13460   initFromString(aData: string): void;
13461   getSections(): nsIUTF8StringEnumerator;
13462   getKeys(aSection: string): nsIUTF8StringEnumerator;
13463   getString(aSection: string, aKey: string): string;
13466 interface nsIINIParserWriter extends nsISupports {
13467   setString(aSection: string, aKey: string, aValue: string): void;
13468   writeFile(aINIFile: nsIFile): void;
13469   writeToString(): string;
13472 interface nsIINIParserFactory extends nsISupports {
13473   createINIParser(aINIFile?: nsIFile): nsIINIParser;
13476 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIMutableArray.idl
13478 interface nsIMutableArray extends nsIArrayExtensions {
13479   appendElement(element: nsISupports): void;
13480   removeElementAt(index: u32): void;
13481   insertElementAt(element: nsISupports, index: u32): void;
13482   replaceElementAt(element: nsISupports, index: u32): void;
13483   clear(): void;
13486 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserver.idl
13488 type nsIObserver = Callable<{
13489   observe(aSubject: nsISupports, aTopic: string, aData: string): void;
13492 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserverService.idl
13494 interface nsIObserverService extends nsISupports {
13495   addObserver(anObserver: nsIObserver, aTopic: string, ownsWeak?: boolean): void;
13496   removeObserver(anObserver: nsIObserver, aTopic: string): void;
13497   notifyObservers(aSubject: nsISupports, aTopic: string, someData?: string): void;
13498   enumerateObservers(aTopic: string): nsISimpleEnumerator;
13501 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPersistentProperties2.idl
13503 interface nsIPropertyElement extends nsISupports {
13504   key: string;
13505   value: string;
13508 interface nsIPersistentProperties extends nsIProperties {
13509   load(input: nsIInputStream): void;
13510   save(output: nsIOutputStream, header: string): void;
13511   enumerate(): nsISimpleEnumerator;
13512   getStringProperty(key: string): string;
13513   setStringProperty(key: string, value: string): string;
13516 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperties.idl
13518 interface nsIProperties extends nsISupports {
13519   get<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;
13520   set(prop: string, value: nsISupports): void;
13521   has(prop: string): boolean;
13522   undefine(prop: string): void;
13523   getKeys(): string[];
13526 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperty.idl
13528 interface nsIProperty extends nsISupports {
13529   readonly name: string;
13530   readonly value: nsIVariant;
13533 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag.idl
13535 interface nsIPropertyBag extends nsISupports {
13536   readonly enumerator: nsISimpleEnumerator;
13537   getProperty(name: string): nsIVariant;
13540 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag2.idl
13542 interface nsIPropertyBag2 extends nsIPropertyBag {
13543   getPropertyAsInt32(prop: string): i32;
13544   getPropertyAsUint32(prop: string): u32;
13545   getPropertyAsInt64(prop: string): i64;
13546   getPropertyAsUint64(prop: string): u64;
13547   getPropertyAsDouble(prop: string): double;
13548   getPropertyAsAString(prop: string): string;
13549   getPropertyAsACString(prop: string): string;
13550   getPropertyAsAUTF8String(prop: string): string;
13551   getPropertyAsBool(prop: string): boolean;
13552   getPropertyAsInterface<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;
13553   get(prop: string): nsIVariant;
13554   hasKey(prop: string): boolean;
13557 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISerializable.idl
13559 interface nsISerializable extends nsISupports {
13560   read(aInputStream: nsIObjectInputStream): void;
13561   write(aOutputStream: nsIObjectOutputStream): void;
13564 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISimpleEnumerator.idl
13566 interface nsIJSEnumerator extends nsISupports {
13567   iterator(): nsIJSEnumerator;
13568   next(): any;
13571 interface nsISimpleEnumeratorBase extends nsISupports {
13572   iterator(): nsIJSEnumerator;
13573   entries(aIface: nsID): nsIJSEnumerator;
13576 interface nsISimpleEnumerator extends nsISimpleEnumeratorBase {
13577   hasMoreElements(): boolean;
13578   getNext(): nsISupports;
13581 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIStringEnumerator.idl
13583 interface nsIStringEnumeratorBase extends nsISupports {
13584   iterator(): nsIJSEnumerator;
13587 interface nsIStringEnumerator extends nsIStringEnumeratorBase {
13588   hasMore(): boolean;
13589   getNext(): string;
13592 interface nsIUTF8StringEnumerator extends nsIStringEnumeratorBase {
13593   hasMore(): boolean;
13594   getNext(): string;
13597 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsIterators.idl
13599 interface nsIOutputIterator extends nsISupports {
13600   putElement(anElementToPut: nsISupports): void;
13601   stepForward(): void;
13604 interface nsIInputIterator extends nsISupports {
13605   getElement(): nsISupports;
13606   stepForward(): void;
13607   isEqualTo(anotherIterator: nsISupports): boolean;
13608   clone(): nsISupports;
13611 interface nsIForwardIterator extends nsISupports {
13612   getElement(): nsISupports;
13613   putElement(anElementToPut: nsISupports): void;
13614   stepForward(): void;
13615   isEqualTo(anotherIterator: nsISupports): boolean;
13616   clone(): nsISupports;
13619 interface nsIBidirectionalIterator extends nsISupports {
13620   getElement(): nsISupports;
13621   putElement(anElementToPut: nsISupports): void;
13622   stepForward(): void;
13623   stepBackward(): void;
13624   isEqualTo(anotherIterator: nsISupports): boolean;
13625   clone(): nsISupports;
13628 interface nsIRandomAccessIterator extends nsISupports {
13629   getElement(): nsISupports;
13630   getElementAt(anOffset: i32): nsISupports;
13631   putElement(anElementToPut: nsISupports): void;
13632   putElementAt(anOffset: i32, anElementToPut: nsISupports): void;
13633   stepForward(): void;
13634   stepForwardBy(anOffset: i32): void;
13635   stepBackward(): void;
13636   stepBackwardBy(anOffset: i32): void;
13637   isEqualTo(anotherIterator: nsISupports): boolean;
13638   clone(): nsISupports;
13641 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsPrimitives.idl
13643 interface nsISupportsPrimitive extends nsISupports {
13644   readonly TYPE_ID: 1;
13645   readonly TYPE_CSTRING: 2;
13646   readonly TYPE_STRING: 3;
13647   readonly TYPE_PRBOOL: 4;
13648   readonly TYPE_PRUINT8: 5;
13649   readonly TYPE_PRUINT16: 6;
13650   readonly TYPE_PRUINT32: 7;
13651   readonly TYPE_PRUINT64: 8;
13652   readonly TYPE_PRTIME: 9;
13653   readonly TYPE_CHAR: 10;
13654   readonly TYPE_PRINT16: 11;
13655   readonly TYPE_PRINT32: 12;
13656   readonly TYPE_PRINT64: 13;
13657   readonly TYPE_FLOAT: 14;
13658   readonly TYPE_DOUBLE: 15;
13659   readonly TYPE_INTERFACE_POINTER: 17;
13661   readonly type: u16;
13664 interface nsISupportsID extends nsISupportsPrimitive {
13665   data: nsID;
13666   toString(): string;
13669 interface nsISupportsCString extends nsISupportsPrimitive {
13670   data: string;
13671   toString(): string;
13674 interface nsISupportsString extends nsISupportsPrimitive {
13675   data: string;
13676   toString(): string;
13679 interface nsISupportsPRBool extends nsISupportsPrimitive {
13680   data: boolean;
13681   toString(): string;
13684 interface nsISupportsPRUint8 extends nsISupportsPrimitive {
13685   data: u8;
13686   toString(): string;
13689 interface nsISupportsPRUint16 extends nsISupportsPrimitive {
13690   data: u16;
13691   toString(): string;
13694 interface nsISupportsPRUint32 extends nsISupportsPrimitive {
13695   data: u32;
13696   toString(): string;
13699 interface nsISupportsPRUint64 extends nsISupportsPrimitive {
13700   data: u64;
13701   toString(): string;
13704 interface nsISupportsPRTime extends nsISupportsPrimitive {
13705   data: PRTime;
13706   toString(): string;
13709 interface nsISupportsChar extends nsISupportsPrimitive {
13710   data: string;
13711   toString(): string;
13714 interface nsISupportsPRInt16 extends nsISupportsPrimitive {
13715   data: i16;
13716   toString(): string;
13719 interface nsISupportsPRInt32 extends nsISupportsPrimitive {
13720   data: i32;
13721   toString(): string;
13724 interface nsISupportsPRInt64 extends nsISupportsPrimitive {
13725   data: i64;
13726   toString(): string;
13729 interface nsISupportsFloat extends nsISupportsPrimitive {
13730   data: float;
13731   toString(): string;
13734 interface nsISupportsDouble extends nsISupportsPrimitive {
13735   data: double;
13736   toString(): string;
13739 interface nsISupportsInterfacePointer extends nsISupportsPrimitive {
13740   data: nsISupports;
13741   dataIID: nsID;
13742   toString(): string;
13745 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIVariant.idl
13747 interface nsIVariant extends nsISupports {
13750 interface nsIWritableVariant extends nsIVariant {
13751   writable: boolean;
13752   setAsInt8(aValue: u8): void;
13753   setAsInt16(aValue: i16): void;
13754   setAsInt32(aValue: i32): void;
13755   setAsInt64(aValue: i64): void;
13756   setAsUint8(aValue: u8): void;
13757   setAsUint16(aValue: u16): void;
13758   setAsUint32(aValue: u32): void;
13759   setAsUint64(aValue: u64): void;
13760   setAsFloat(aValue: float): void;
13761   setAsDouble(aValue: double): void;
13762   setAsBool(aValue: boolean): void;
13763   setAsChar(aValue: string): void;
13764   setAsWChar(aValue: string): void;
13765   setAsID(aValue: nsID): void;
13766   setAsAString(aValue: string): void;
13767   setAsACString(aValue: string): void;
13768   setAsAUTF8String(aValue: string): void;
13769   setAsString(aValue: string): void;
13770   setAsWString(aValue: string): void;
13771   setAsISupports(aValue: nsISupports): void;
13772   setAsStringWithSize(size: u32, str: string): void;
13773   setAsWStringWithSize(size: u32, str: string): void;
13774   setAsVoid(): void;
13775   setAsEmpty(): void;
13776   setAsEmptyArray(): void;
13777   setFromVariant(aValue: nsIVariant): void;
13780 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWindowsRegKey.idl
13782 interface nsIWindowsRegKey extends nsISupports {
13783   readonly ROOT_KEY_CLASSES_ROOT: 2147483648;
13784   readonly ROOT_KEY_CURRENT_USER: 2147483649;
13785   readonly ROOT_KEY_LOCAL_MACHINE: 2147483650;
13786   readonly ACCESS_BASIC: 131072;
13787   readonly ACCESS_QUERY_VALUE: 1;
13788   readonly ACCESS_SET_VALUE: 2;
13789   readonly ACCESS_CREATE_SUB_KEY: 4;
13790   readonly ACCESS_ENUMERATE_SUB_KEYS: 8;
13791   readonly ACCESS_NOTIFY: 16;
13792   readonly ACCESS_READ: 131097;
13793   readonly ACCESS_WRITE: 131078;
13794   readonly ACCESS_ALL: 131103;
13795   readonly WOW64_32: 512;
13796   readonly WOW64_64: 256;
13797   readonly TYPE_NONE: 0;
13798   readonly TYPE_STRING: 1;
13799   readonly TYPE_BINARY: 3;
13800   readonly TYPE_INT: 4;
13801   readonly TYPE_INT64: 11;
13803   close(): void;
13804   open(rootKey: u32, relPath: string, mode: u32): void;
13805   create(rootKey: u32, relPath: string, mode: u32): void;
13806   openChild(relPath: string, mode: u32): nsIWindowsRegKey;
13807   createChild(relPath: string, mode: u32): nsIWindowsRegKey;
13808   readonly childCount: u32;
13809   getChildName(index: u32): string;
13810   hasChild(name: string): boolean;
13811   readonly valueCount: u32;
13812   getValueName(index: u32): string;
13813   hasValue(name: string): boolean;
13814   removeChild(relPath: string): void;
13815   removeValue(name: string): void;
13816   getValueType(name: string): u32;
13817   readStringValue(name: string): string;
13818   readIntValue(name: string): u32;
13819   readInt64Value(name: string): u64;
13820   readBinaryValue(name: string): string;
13821   writeStringValue(name: string, data: string): void;
13822   writeIntValue(name: string, data: u32): void;
13823   writeInt64Value(name: string, data: u64): void;
13824   writeBinaryValue(name: string, data: string): void;
13827 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag.idl
13829 interface nsIWritablePropertyBag extends nsIPropertyBag {
13830   setProperty(name: string, value: nsIVariant): void;
13831   deleteProperty(name: string): void;
13834 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag2.idl
13836 interface nsIWritablePropertyBag2 extends nsIPropertyBag2 {
13837   setPropertyAsInt32(prop: string, value: i32): void;
13838   setPropertyAsUint32(prop: string, value: u32): void;
13839   setPropertyAsInt64(prop: string, value: i64): void;
13840   setPropertyAsUint64(prop: string, value: u64): void;
13841   setPropertyAsDouble(prop: string, value: double): void;
13842   setPropertyAsAString(prop: string, value: string): void;
13843   setPropertyAsACString(prop: string, value: string): void;
13844   setPropertyAsAUTF8String(prop: string, value: string): void;
13845   setPropertyAsBool(prop: string, value: boolean): void;
13846   setPropertyAsInterface(prop: string, value: nsISupports): void;
13849 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncInputStream.idl
13851 interface nsIAsyncInputStream extends nsIInputStream {
13852   readonly WAIT_CLOSURE_ONLY: 1;
13854   closeWithStatus(aStatus: nsresult): void;
13855   asyncWait(aCallback: nsIInputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;
13858 type nsIInputStreamCallback = Callable<{
13859   onInputStreamReady(aStream: nsIAsyncInputStream): void;
13862 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncOutputStream.idl
13864 interface nsIAsyncOutputStream extends nsIOutputStream {
13865   readonly WAIT_CLOSURE_ONLY: 1;
13867   closeWithStatus(reason: nsresult): void;
13868   asyncWait(aCallback: nsIOutputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;
13871 type nsIOutputStreamCallback = Callable<{
13872   onOutputStreamReady(aStream: nsIAsyncOutputStream): void;
13875 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryInputStream.idl
13877 interface nsIBinaryInputStream extends nsIInputStream {
13878   setInputStream(aInputStream: nsIInputStream): void;
13879   readBoolean(): boolean;
13880   read8(): u8;
13881   read16(): u16;
13882   read32(): u32;
13883   read64(): u64;
13884   readFloat(): float;
13885   readDouble(): double;
13886   readCString(): string;
13887   readString(): string;
13888   readBytes(aLength: u32): OutParam<string>;
13889   readByteArray(aLength: u32): u8[];
13890   readArrayBuffer(aLength: u64, aArrayBuffer: any): u64;
13893 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryOutputStream.idl
13895 interface nsIBinaryOutputStream extends nsIOutputStream {
13896   setOutputStream(aOutputStream: nsIOutputStream): void;
13897   writeBoolean(aBoolean: boolean): void;
13898   write8(aByte: u8): void;
13899   write16(a16: u16): void;
13900   write32(a32: u32): void;
13901   write64(a64: u64): void;
13902   writeFloat(aFloat: float): void;
13903   writeDouble(aDouble: double): void;
13904   writeStringZ(aString: string): void;
13905   writeWStringZ(aString: string): void;
13906   writeUtf8Z(aString: string): void;
13907   writeBytes(aString: string, aLength?: u32): void;
13908   writeByteArray(aBytes: u8[]): void;
13911 // https://searchfox.org/mozilla-central/source/xpcom/io/nsICloneableInputStream.idl
13913 interface nsICloneableInputStream extends nsISupports {
13914   readonly cloneable: boolean;
13915   clone(): nsIInputStream;
13918 interface nsICloneableInputStreamWithRange extends nsICloneableInputStream {
13919   cloneWithRange(start: u64, length: u64): nsIInputStream;
13922 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterInputStream.idl
13924 interface nsIConverterInputStream extends nsIUnicharInputStream {
13925   readonly DEFAULT_REPLACEMENT_CHARACTER: 65533;
13926   readonly ERRORS_ARE_FATAL: 0;
13928   init(aStream: nsIInputStream, aCharset: string, aBufferSize: i32, aReplacementChar: char16_t): void;
13931 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterOutputStream.idl
13933 interface nsIConverterOutputStream extends nsIUnicharOutputStream {
13934   init(aOutStream: nsIOutputStream, aCharset: string): void;
13937 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryEnumerator.idl
13939 interface nsIDirectoryEnumerator extends nsISimpleEnumerator {
13940   readonly nextFile: nsIFile;
13941   close(): void;
13944 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryService.idl
13946 interface nsIDirectoryServiceProvider extends nsISupports {
13947   getFile(prop: string, persistent: OutParam<boolean>): nsIFile;
13950 interface nsIDirectoryServiceProvider2 extends nsIDirectoryServiceProvider {
13951   getFiles(prop: string): nsISimpleEnumerator;
13954 interface nsIDirectoryService extends nsISupports {
13955   init(): void;
13956   registerProvider(prov: nsIDirectoryServiceProvider): void;
13957   unregisterProvider(prov: nsIDirectoryServiceProvider): void;
13960 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIFile.idl
13962 interface nsIFile extends nsISupports {
13963   readonly NORMAL_FILE_TYPE: 0;
13964   readonly DIRECTORY_TYPE: 1;
13965   readonly OS_READAHEAD: 1073741824;
13966   readonly DELETE_ON_CLOSE: 2147483648;
13968   append(node: string): void;
13969   normalize(): void;
13970   create(type: u32, permissions: u32, skipAncestors?: boolean): void;
13971   leafName: string;
13972   readonly displayName: string;
13973   copyTo(newParentDir: nsIFile, newName: string): void;
13974   copyToFollowingLinks(newParentDir: nsIFile, newName: string): void;
13975   moveTo(newParentDir: nsIFile, newName: string): void;
13976   moveToFollowingLinks(newParentDir: nsIFile, newName: string): void;
13977   renameTo(newParentDir: nsIFile, newName: string): void;
13978   remove(recursive: boolean, removeCount?: InOutParam<u32>): void;
13979   permissions: u32;
13980   permissionsOfLink: u32;
13981   lastAccessedTime: PRTime;
13982   lastAccessedTimeOfLink: PRTime;
13983   lastModifiedTime: PRTime;
13984   lastModifiedTimeOfLink: PRTime;
13985   readonly creationTime: PRTime;
13986   readonly creationTimeOfLink: PRTime;
13987   fileSize: i64;
13988   readonly fileSizeOfLink: i64;
13989   readonly target: string;
13990   readonly path: string;
13991   exists(): boolean;
13992   isWritable(): boolean;
13993   isReadable(): boolean;
13994   isExecutable(): boolean;
13995   isHidden(): boolean;
13996   isDirectory(): boolean;
13997   isFile(): boolean;
13998   isSymlink(): boolean;
13999   isSpecial(): boolean;
14000   createUnique(type: u32, permissions: u32): void;
14001   clone(): nsIFile;
14002   equals(inFile: nsIFile): boolean;
14003   contains(inFile: nsIFile): boolean;
14004   readonly parent: nsIFile;
14005   readonly directoryEntries: nsIDirectoryEnumerator;
14006   initWithPath(filePath: string): void;
14007   initWithFile(aFile: nsIFile): void;
14008   readonly diskSpaceAvailable: i64;
14009   readonly diskCapacity: i64;
14010   appendRelativePath(relativeFilePath: string): void;
14011   persistentDescriptor: string;
14012   reveal(): void;
14013   launch(): void;
14014   getRelativeDescriptor(fromFile: nsIFile): string;
14015   setRelativeDescriptor(fromFile: nsIFile, relativeDesc: string): void;
14016   getRelativePath(fromFile: nsIFile): string;
14017   setRelativePath(fromFile: nsIFile, relativeDesc: string): void;
14020 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIIOUtil.idl
14022 interface nsIIOUtil extends nsISupports {
14023   inputStreamIsBuffered(aStream: nsIInputStream): boolean;
14024   outputStreamIsBuffered(aStream: nsIOutputStream): boolean;
14027 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStream.idl
14029 interface nsIInputStream extends nsISupports {
14030   close(): void;
14031   available(): u64;
14032   streamStatus(): void;
14033   isNonBlocking(): boolean;
14036 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamLength.idl
14038 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamPriority.idl
14040 interface nsIInputStreamPriority extends nsISupports {
14041   priority: u32;
14044 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamTee.idl
14046 interface nsIInputStreamTee extends nsIInputStream {
14047   source: nsIInputStream;
14048   sink: nsIOutputStream;
14049   eventTarget: nsIEventTarget;
14052 // https://searchfox.org/mozilla-central/source/xpcom/io/nsILineInputStream.idl
14054 interface nsILineInputStream extends nsISupports {
14055   readLine(aLine: OutParam<string>): boolean;
14058 // https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileWin.idl
14060 interface nsILocalFileWin extends nsIFile {
14061   initWithCommandLine(aCommandLine: string): void;
14062   getVersionInfoField(aField: string): string;
14063   readOnly: boolean;
14064   useDOSDevicePathSyntax: boolean;
14067 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIMultiplexInputStream.idl
14069 interface nsIMultiplexInputStream extends nsISupports {
14070   readonly count: u32;
14071   appendStream(stream: nsIInputStream): void;
14072   getStream(index: u32): nsIInputStream;
14075 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectInputStream.idl
14077 interface nsIObjectInputStream extends nsIBinaryInputStream {
14078   readObject(aIsStrongRef: boolean): nsISupports;
14081 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectOutputStream.idl
14083 interface nsIObjectOutputStream extends nsIBinaryOutputStream {
14084   writeObject(aObject: nsISupports, aIsStrongRef: boolean): void;
14085   writeSingleRefObject(aObject: nsISupports): void;
14086   writeCompoundObject(aObject: nsISupports, aIID: nsID, aIsStrongRef: boolean): void;
14087   writeID(aID: nsID): void;
14090 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIOutputStream.idl
14092 interface nsIOutputStream extends nsISupports {
14093   close(): void;
14094   flush(): void;
14095   streamStatus(): void;
14096   write(aBuf: string, aCount: u32): u32;
14097   writeFrom(aFromStream: nsIInputStream, aCount: u32): u32;
14098   isNonBlocking(): boolean;
14101 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIPipe.idl
14103 interface nsIPipe extends nsISupports {
14104   init(nonBlockingInput: boolean, nonBlockingOutput: boolean, segmentSize: u32, segmentCount: u32): void;
14105   readonly inputStream: nsIAsyncInputStream;
14106   readonly outputStream: nsIAsyncOutputStream;
14109 interface nsISearchableInputStream extends nsISupports {
14110   search(forString: string, ignoreCase: boolean, found: OutParam<boolean>, offsetSearchedTo: OutParam<u32>): void;
14113 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIRandomAccessStream.idl
14115 interface nsIRandomAccessStream extends nsISeekableStream {
14116   getInputStream(): nsIInputStream;
14117   getOutputStream(): nsIOutputStream;
14120 // https://searchfox.org/mozilla-central/source/xpcom/io/nsISafeOutputStream.idl
14122 interface nsISafeOutputStream extends nsISupports {
14123   finish(): void;
14126 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableBase64Encoder.idl
14128 interface nsIScriptableBase64Encoder extends nsISupports {
14129   encodeToCString(stream: nsIInputStream, length: u32): string;
14130   encodeToString(stream: nsIInputStream, length: u32): string;
14133 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableInputStream.idl
14135 interface nsIScriptableInputStream extends nsISupports {
14136   close(): void;
14137   init(aInputStream: nsIInputStream): void;
14138   available(): u64;
14139   read(aCount: u32): string;
14140   readBytes(aCount: u32): string;
14143 // https://searchfox.org/mozilla-central/source/xpcom/io/nsISeekableStream.idl
14145 interface nsISeekableStream extends nsITellableStream {
14146   readonly NS_SEEK_SET: 0;
14147   readonly NS_SEEK_CUR: 1;
14148   readonly NS_SEEK_END: 2;
14150   seek(whence: i32, offset: i64): void;
14151   setEOF(): void;
14154 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStorageStream.idl
14156 interface nsIStorageStream extends nsISupports {
14157   init(segmentSize: u32, maxSize: u32): void;
14158   getOutputStream(startPosition: i32): nsIOutputStream;
14159   newInputStream(startPosition: i32): nsIInputStream;
14160   length: u32;
14161   readonly writeInProgress: boolean;
14164 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStreamBufferAccess.idl
14166 interface nsIStreamBufferAccess extends nsISupports {
14167   disableBuffering(): void;
14168   enableBuffering(): void;
14169   readonly unbufferedStream: nsISupports;
14172 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStringStream.idl
14174 interface nsIStringInputStream extends nsIInputStream {
14175   setData(data: string, dataLen: i32): void;
14176   setUTF8Data(data: string): void;
14179 // https://searchfox.org/mozilla-central/source/xpcom/io/nsITellableStream.idl
14181 interface nsITellableStream extends nsISupports {
14182   tell(): i64;
14185 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharInputStream.idl
14187 interface nsIUnicharInputStream extends nsISupports {
14188   readString(aCount: u32, aString: OutParam<string>): u32;
14189   close(): void;
14192 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharLineInputStream.idl
14194 interface nsIUnicharLineInputStream extends nsISupports {
14195   readLine(aLine: OutParam<string>): boolean;
14198 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharOutputStream.idl
14200 interface nsIUnicharOutputStream extends nsISupports {
14201   write(aCount: u32, c: char16_t[]): boolean;
14202   writeString(str: string): boolean;
14203   flush(): void;
14204   close(): void;
14207 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIBlocklistService.idl
14209 interface nsIBlocklistService extends nsISupports {
14210   readonly STATE_NOT_BLOCKED: 0;
14211   readonly STATE_SOFTBLOCKED: 1;
14212   readonly STATE_BLOCKED: 2;
14213   readonly STATE_MAX: 3;
14215   readonly isLoaded: boolean;
14218 // https://searchfox.org/mozilla-central/source/xpcom/system/nsICrashReporter.idl
14220 interface nsICrashReporter extends nsISupports {
14221   readonly crashReporterEnabled: boolean;
14222   serverURL: nsIURL;
14223   minidumpPath: nsIFile;
14224   getMinidumpForID(id: string): nsIFile;
14225   getExtraFileForID(id: string): nsIFile;
14226   annotateCrashReport(key: string, data: string): void;
14227   removeCrashReportAnnotation(key: string): void;
14228   isAnnotationAllowedForPing(value: string): boolean;
14229   appendAppNotesToCrashReport(data: string): void;
14230   registerAppMemory(ptr: u64, size: u64): void;
14231   submitReports: boolean;
14232   UpdateCrashEventsDir(): void;
14233   saveMemoryReport(): void;
14236 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIDeviceSensors.idl
14238 interface nsIDeviceSensorData extends nsISupports {
14239   readonly TYPE_ORIENTATION: 0;
14240   readonly TYPE_ACCELERATION: 1;
14241   readonly TYPE_PROXIMITY: 2;
14242   readonly TYPE_LINEAR_ACCELERATION: 3;
14243   readonly TYPE_GYROSCOPE: 4;
14244   readonly TYPE_LIGHT: 5;
14245   readonly TYPE_ROTATION_VECTOR: 6;
14246   readonly TYPE_GAME_ROTATION_VECTOR: 7;
14248   readonly type: u32;
14249   readonly x: double;
14250   readonly y: double;
14251   readonly z: double;
14254 interface nsIDeviceSensors extends nsISupports {
14255   hasWindowListener(aType: u32, aWindow: nsIDOMWindow): boolean;
14258 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGIOService.idl
14260 interface nsIGIOMimeApp extends nsIHandlerApp {
14261   readonly EXPECTS_URIS: 0;
14262   readonly EXPECTS_PATHS: 1;
14263   readonly EXPECTS_URIS_FOR_NON_FILES: 2;
14265   readonly id: string;
14266   readonly command: string;
14267   readonly expectsURIs: i32;
14268   readonly supportedURISchemes: nsIUTF8StringEnumerator;
14269   setAsDefaultForMimeType(mimeType: string): void;
14270   setAsDefaultForFileExtensions(extensions: string): void;
14271   setAsDefaultForURIScheme(uriScheme: string): void;
14274 interface nsIGIOService extends nsISupports {
14275   getMimeTypeFromExtension(extension: string): string;
14276   getAppForURIScheme(aURIScheme: string): nsIHandlerApp;
14277   getAppsForURIScheme(aURIScheme: string): nsIMutableArray;
14278   getAppForMimeType(mimeType: string): nsIHandlerApp;
14279   createAppFromCommand(cmd: string, appName: string): nsIGIOMimeApp;
14280   findAppFromCommand(cmd: string): nsIGIOMimeApp;
14281   getDescriptionForMimeType(mimeType: string): string;
14282   readonly isRunningUnderFlatpak: boolean;
14283   readonly isRunningUnderSnap: boolean;
14286 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGSettingsService.idl
14288 interface nsIGSettingsCollection extends nsISupports {
14289   setString(key: string, value: string): void;
14290   setBoolean(key: string, value: boolean): void;
14291   setInt(key: string, value: i32): void;
14292   getString(key: string): string;
14293   getBoolean(key: string): boolean;
14294   getInt(key: string): i32;
14295   getStringList(key: string): nsIArray;
14298 interface nsIGSettingsService extends nsISupports {
14299   getCollectionForSchema(schema: string): nsIGSettingsCollection;
14302 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGeolocationProvider.idl
14304 interface nsIGeolocationUpdate extends nsISupports {
14305   update(position: nsIDOMGeoPosition): void;
14306   notifyError(error: u16): void;
14309 interface nsIGeolocationProvider extends nsISupports {
14310   startup(): void;
14311   watch(callback: nsIGeolocationUpdate): void;
14312   shutdown(): void;
14313   setHighAccuracy(enable: boolean): void;
14316 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIHapticFeedback.idl
14318 interface nsIHapticFeedback extends nsISupports {
14319   readonly ShortPress: 0;
14320   readonly LongPress: 1;
14322   performSimpleAction(isLongPress: i32): void;
14325 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIPlatformInfo.idl
14327 interface nsIPlatformInfo extends nsISupports {
14328   readonly platformVersion: string;
14329   readonly platformBuildID: string;
14332 // https://searchfox.org/mozilla-central/source/xpcom/system/nsISystemInfo.idl
14334 interface nsISystemInfo extends nsISupports {
14335   readonly diskInfo: Promise<any>;
14336   readonly countryCode: Promise<any>;
14337   readonly osInfo: Promise<any>;
14338   readonly processInfo: Promise<any>;
14341 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULAppInfo.idl
14343 interface nsIXULAppInfo extends nsIPlatformInfo {
14344   readonly vendor: string;
14345   readonly name: string;
14346   readonly ID: string;
14347   readonly version: string;
14348   readonly appBuildID: string;
14349   readonly UAName: string;
14350   readonly sourceURL: string;
14351   readonly updateURL: string;
14354 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULRuntime.idl
14356 }  // global
14358 declare namespace nsIXULRuntime {
14360 enum ExperimentStatus {
14361   eExperimentStatusUnenrolled = 0,
14362   eExperimentStatusControl = 1,
14363   eExperimentStatusTreatment = 2,
14364   eExperimentStatusDisqualified = 3,
14365   eExperimentStatusRollout = 4,
14366   eExperimentStatusCount = 5,
14369 enum ContentWin32kLockdownState {
14370   LockdownEnabled = 1,
14371   MissingWebRender = 2,
14372   OperatingSystemNotSupported = 3,
14373   PrefNotSet = 4,
14374   MissingRemoteWebGL = 5,
14375   MissingNonNativeTheming = 6,
14376   DisabledByEnvVar = 7,
14377   DisabledBySafeMode = 8,
14378   DisabledByE10S = 9,
14379   DisabledByUserPref = 10,
14380   EnabledByUserPref = 11,
14381   DisabledByControlGroup = 12,
14382   EnabledByTreatmentGroup = 13,
14383   DisabledByDefault = 14,
14384   EnabledByDefault = 15,
14385   DecodersArentRemote = 16,
14386   IncompatibleMitigationPolicy = 17,
14389 enum FissionDecisionStatus {
14390   eFissionStatusUnknown = 0,
14391   eFissionExperimentControl = 1,
14392   eFissionExperimentTreatment = 2,
14393   eFissionDisabledByE10sEnv = 3,
14394   eFissionEnabledByEnv = 4,
14395   eFissionDisabledByEnv = 5,
14396   eFissionEnabledByDefault = 7,
14397   eFissionDisabledByDefault = 8,
14398   eFissionEnabledByUserPref = 9,
14399   eFissionDisabledByUserPref = 10,
14400   eFissionDisabledByE10sOther = 11,
14401   eFissionEnabledByRollout = 12,
14406 declare global {
14408 interface nsIXULRuntime extends nsISupports, Enums<typeof nsIXULRuntime.ExperimentStatus & typeof nsIXULRuntime.ContentWin32kLockdownState & typeof nsIXULRuntime.FissionDecisionStatus> {
14409   readonly PROCESS_TYPE_DEFAULT: 0;
14410   readonly PROCESS_TYPE_CONTENT: 2;
14411   readonly PROCESS_TYPE_IPDLUNITTEST: 3;
14412   readonly PROCESS_TYPE_GMPLUGIN: 4;
14413   readonly PROCESS_TYPE_GPU: 5;
14414   readonly PROCESS_TYPE_VR: 6;
14415   readonly PROCESS_TYPE_RDD: 7;
14416   readonly PROCESS_TYPE_SOCKET: 8;
14417   readonly PROCESS_TYPE_REMOTESANDBOXBROKER: 9;
14418   readonly PROCESS_TYPE_FORKSERVER: 10;
14419   readonly PROCESS_TYPE_UTILITY: 11;
14420   readonly E10S_MULTI_EXPERIMENT: 1;
14422   readonly inSafeMode: boolean;
14423   readonly win32kExperimentStatus: nsIXULRuntime.ExperimentStatus;
14424   readonly win32kLiveStatusTestingOnly: nsIXULRuntime.ContentWin32kLockdownState;
14425   readonly win32kSessionStatus: nsIXULRuntime.ContentWin32kLockdownState;
14426   readonly fissionAutostart: boolean;
14427   readonly fissionDecisionStatus: nsIXULRuntime.FissionDecisionStatus;
14428   readonly fissionDecisionStatusString: string;
14429   readonly sessionHistoryInParent: boolean;
14430   readonly sessionStorePlatformCollection: boolean;
14431   logConsoleErrors: boolean;
14432   readonly OS: string;
14433   readonly XPCOMABI: string;
14434   readonly widgetToolkit: string;
14435   readonly processType: u32;
14436   readonly processID: u32;
14437   readonly uniqueProcessID: u64;
14438   readonly remoteType: string;
14439   readonly browserTabsRemoteAutostart: boolean;
14440   readonly maxWebProcessCount: u32;
14441   readonly accessibilityEnabled: boolean;
14442   readonly accessibilityInstantiator: string;
14443   readonly is64Bit: boolean;
14444   readonly isTextRecognitionSupported: boolean;
14445   invalidateCachesOnRestart(): void;
14446   ensureContentProcess(): void;
14447   readonly replacedLockTime: PRTime;
14448   readonly defaultUpdateChannel: string;
14449   readonly distributionID: string;
14450   readonly windowsDLLBlocklistStatus: boolean;
14451   readonly restartedByOS: boolean;
14452   readonly chromeColorSchemeIsDark: boolean;
14453   readonly contentThemeDerivedColorSchemeIsDark: boolean;
14454   readonly prefersReducedMotion: boolean;
14455   readonly drawInTitlebar: boolean;
14456   readonly desktopEnvironment: string;
14457   readonly isWayland: boolean;
14458   readonly processStartupShortcut: string;
14459   readonly launcherProcessState: u32;
14460   readonly lastAppVersion: string;
14461   readonly lastAppBuildID: string;
14464 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIDirectTaskDispatcher.idl
14466 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEnvironment.idl
14468 interface nsIEnvironment extends nsISupports {
14469   set(aName: string, aValue: string): void;
14470   get(aName: string): string;
14471   exists(aName: string): boolean;
14474 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEventTarget.idl
14476 interface nsIEventTarget extends nsISupports {
14477   readonly DISPATCH_NORMAL: 0;
14478   readonly DISPATCH_AT_END: 2;
14479   readonly DISPATCH_EVENT_MAY_BLOCK: 4;
14480   readonly DISPATCH_IGNORE_BLOCK_DISPATCH: 8;
14482   isOnCurrentThread(): boolean;
14483   dispatch(event: nsIRunnable, flags: u32): void;
14486 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIIdlePeriod.idl
14488 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsINamed.idl
14490 interface nsINamed extends nsISupports {
14491   readonly name: string;
14494 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIProcess.idl
14496 interface nsIProcess extends nsISupports {
14497   init(executable: nsIFile): void;
14498   kill(): void;
14499   run(blocking: boolean, args: string[], count: u32): void;
14500   runAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;
14501   runw(blocking: boolean, args: string[], count: u32): void;
14502   runwAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;
14503   startHidden: boolean;
14504   noShell: boolean;
14505   readonly pid: u32;
14506   readonly exitValue: i32;
14507   readonly isRunning: boolean;
14510 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIRunnable.idl
14512 type nsIRunnable = Callable<{
14513   run(): void;
14516 interface nsIRunnablePriority extends nsISupports {
14517   readonly PRIORITY_IDLE: 0;
14518   readonly PRIORITY_DEFERRED_TIMERS: 1;
14519   readonly PRIORITY_LOW: 2;
14520   readonly PRIORITY_NORMAL: 4;
14521   readonly PRIORITY_MEDIUMHIGH: 5;
14522   readonly PRIORITY_INPUT_HIGH: 6;
14523   readonly PRIORITY_VSYNC: 7;
14524   readonly PRIORITY_RENDER_BLOCKING: 9;
14525   readonly PRIORITY_CONTROL: 10;
14527   readonly priority: u32;
14530 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsISerialEventTarget.idl
14532 interface nsISerialEventTarget extends nsIEventTarget {
14535 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsISupportsPriority.idl
14537 interface nsISupportsPriority extends nsISupports {
14538   readonly PRIORITY_HIGHEST: -20;
14539   readonly PRIORITY_HIGH: -10;
14540   readonly PRIORITY_NORMAL: 0;
14541   readonly PRIORITY_LOW: 10;
14542   readonly PRIORITY_LOWEST: 20;
14544   priority: i32;
14545   adjustPriority(delta: i32): void;
14548 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThread.idl
14550 }  // global
14552 declare namespace nsIThread {
14554 enum QoSPriority {
14555   QOS_PRIORITY_NORMAL = 0,
14556   QOS_PRIORITY_LOW = 1,
14561 declare global {
14563 interface nsIThread extends nsISerialEventTarget, Enums<typeof nsIThread.QoSPriority> {
14564   shutdown(): void;
14565   hasPendingEvents(): boolean;
14566   hasPendingHighPriorityEvents(): boolean;
14567   processNextEvent(mayWait: boolean): boolean;
14568   asyncShutdown(): void;
14569   beginShutdown(): nsIThreadShutdown;
14572 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadInternal.idl
14574 interface nsIThreadInternal extends nsIThread {
14575   observer: nsIThreadObserver;
14576   addObserver(observer: nsIThreadObserver): void;
14577   removeObserver(observer: nsIThreadObserver): void;
14580 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadManager.idl
14582 type nsINestedEventLoopCondition = Callable<{
14583   isDone(): boolean;
14586 interface nsIThreadManager extends nsISupports {
14587   readonly mainThread: nsIThread;
14588   readonly currentThread: nsIThread;
14589   dispatchToMainThread(event: nsIRunnable, priority?: u32): void;
14590   dispatchToMainThreadWithMicroTask(event: nsIRunnable, priority?: u32): void;
14591   idleDispatchToMainThread(event: nsIRunnable, timeout?: u32): void;
14592   dispatchDirectTaskToCurrentThread(event: nsIRunnable): void;
14593   spinEventLoopUntil(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;
14594   spinEventLoopUntilOrQuit(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;
14595   spinEventLoopUntilEmpty(): void;
14596   readonly mainThreadEventTarget: nsIEventTarget;
14599 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadPool.idl
14601 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadShutdown.idl
14603 interface nsIThreadShutdown extends nsISupports {
14604   onCompletion(aEvent: nsIRunnable): void;
14605   readonly completed: boolean;
14606   stopWaitingAndLeakThread(): void;
14609 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsITimer.idl
14611 type nsITimerCallback = Callable<{
14612   notify(timer: nsITimer): void;
14615 interface nsITimer extends nsISupports {
14616   readonly TYPE_ONE_SHOT: 0;
14617   readonly TYPE_REPEATING_SLACK: 1;
14618   readonly TYPE_REPEATING_PRECISE: 2;
14619   readonly TYPE_REPEATING_PRECISE_CAN_SKIP: 3;
14620   readonly TYPE_REPEATING_SLACK_LOW_PRIORITY: 4;
14621   readonly TYPE_ONE_SHOT_LOW_PRIORITY: 5;
14623   init(aObserver: nsIObserver, aDelayInMs: u32, aType: u32): void;
14624   initWithCallback(aCallback: nsITimerCallback, aDelayInMs: u32, aType: u32): void;
14625   cancel(): void;
14626   delay: u32;
14627   type: u32;
14628   readonly callback: nsITimerCallback;
14629   target: nsIEventTarget;
14630   readonly name: string;
14633 interface nsITimerManager extends nsISupports {
14634   getTimers(): nsITimer[];
14637 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/mozIJSSubScriptLoader.idl
14639 interface mozIJSSubScriptLoader extends nsISupports {
14640   loadSubScript(url: string, obj?: any): any;
14641   loadSubScriptWithOptions(url: string, options: any): any;
14644 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/nsIXPCScriptable.idl
14646 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpcIJSWeakReference.idl
14648 interface xpcIJSWeakReference extends nsISupports {
14649   get(): any;
14652 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpccomponents.idl
14654 interface nsIXPCComponents_Classes extends nsISupports {
14657 interface nsIXPCComponents_Results extends nsISupports {
14660 interface nsIXPCComponents_ID extends nsISupports {
14663 interface nsIXPCComponents_Exception extends nsISupports {
14666 interface nsIXPCComponents_Constructor extends nsISupports {
14669 interface nsIXPCComponents_utils_Sandbox extends nsISupports {
14672 type nsIScheduledGCCallback = Callable<{
14673   callback(): void;
14676 interface nsIXPCComponents_Utils extends nsISupports {
14677   printStderr(message: string): void;
14678   reportError(error: any, stack?: any): void;
14679   readonly Sandbox: nsIXPCComponents_utils_Sandbox;
14680   evalInSandbox(source: string, sandbox: any, version?: any, filename?: string, lineNo?: i32, enforceFilenameRestrictions?: boolean): any;
14681   getUAWidgetScope(principal: nsIPrincipal): any;
14682   getSandboxMetadata(sandbox: any): any;
14683   setSandboxMetadata(sandbox: any, metadata: any): void;
14684   import(aResourceURI: string, targetObj?: any): any;
14685   isModuleLoaded(aResourceURI: string): boolean;
14686   isJSModuleLoaded(aResourceURI: string): boolean;
14687   isESModuleLoaded(aResourceURI: string): boolean;
14688   unload(registryLocation: string): void;
14689   importGlobalProperties(aPropertyList: any): void;
14690   getWeakReference(obj: any): xpcIJSWeakReference;
14691   forceGC(): void;
14692   forceCC(aListener?: nsICycleCollectorListener): void;
14693   createCCLogger(): nsICycleCollectorListener;
14694   finishCC(): void;
14695   ccSlice(budget: i64): void;
14696   getMaxCCSliceTimeSinceClear(): i32;
14697   clearMaxCCTime(): void;
14698   forceShrinkingGC(): void;
14699   schedulePreciseGC(callback: nsIScheduledGCCallback): void;
14700   schedulePreciseShrinkingGC(callback: nsIScheduledGCCallback): void;
14701   unlinkGhostWindows(): void;
14702   intentionallyLeak(): void;
14703   getJSTestingFunctions(): any;
14704   getFunctionSourceLocation(func: any): any;
14705   callFunctionWithAsyncStack(func: any, stack: nsIStackFrame, asyncCause: string): any;
14706   getGlobalForObject(obj: any): any;
14707   isProxy(vobject: any): boolean;
14708   exportFunction(vfunction: any, vscope: any, voptions?: any): any;
14709   createObjectIn(vobj: any, voptions?: any): any;
14710   makeObjectPropsNormal(vobj: any): void;
14711   isDeadWrapper(obj: any): boolean;
14712   isRemoteProxy(val: any): boolean;
14713   recomputeWrappers(vobj?: any): void;
14714   setWantXrays(vscope: any): void;
14715   dispatch(runnable: any, scope?: any): void;
14716   readonly isInAutomation: boolean;
14717   exitIfInAutomation(): void;
14718   crashIfNotInAutomation(): void;
14719   setGCZeal(zeal: i32): void;
14720   nukeSandbox(obj: any): void;
14721   blockScriptForGlobal(global: any): void;
14722   unblockScriptForGlobal(global: any): void;
14723   isOpaqueWrapper(obj: any): boolean;
14724   isXrayWrapper(obj: any): boolean;
14725   waiveXrays(aVal: any): any;
14726   unwaiveXrays(aVal: any): any;
14727   getClassName(aObj: any, aUnwrap: boolean): string;
14728   getDOMClassInfo(aClassName: string): nsIClassInfo;
14729   getIncumbentGlobal(callback?: any): any;
14730   getDebugName(obj: any): string;
14731   getWatchdogTimestamp(aCategory: string): PRTime;
14732   getJSEngineTelemetryValue(): any;
14733   cloneInto(value: any, scope: any, options?: any): any;
14734   getWebIDLCallerPrincipal(): nsIPrincipal;
14735   getObjectPrincipal(obj: any): nsIPrincipal;
14736   getRealmLocation(obj: any): string;
14737   now(): double;
14738   readUTF8File(file: nsIFile): string;
14739   readUTF8URI(url: nsIURI): string;
14740   createSpellChecker(): nsIEditorSpellCheck;
14741   createCommandLine(args: string[], workingDir: nsIFile, state: u32): nsISupports;
14742   createCommandParams(): nsICommandParams;
14743   createLoadContext(): nsILoadContext;
14744   createPrivateLoadContext(): nsILoadContext;
14745   createPersistentProperties(): nsIPersistentProperties;
14746   createDocumentEncoder(contentType: string): nsIDocumentEncoder;
14747   createHTMLCopyEncoder(): nsIDocumentEncoder;
14748   readonly loadedModules: string[];
14749   readonly loadedJSModules: string[];
14750   readonly loadedESModules: string[];
14751   getModuleImportStack(aLocation: string): string;
14754 interface nsIXPCComponents extends nsISupports {
14755   readonly interfaces: nsIXPCComponents_Interfaces;
14756   readonly results: nsIXPCComponents_Results;
14757   isSuccessCode(result: nsresult): boolean;
14758   readonly classes: nsIXPCComponents_Classes;
14759   readonly stack: nsIStackFrame;
14760   readonly manager: nsIComponentManager;
14761   readonly utils: nsIXPCComponents_Utils;
14762   readonly ID: nsIXPCComponents_ID;
14763   readonly Exception: nsIXPCComponents_Exception;
14764   readonly Constructor: nsIXPCComponents_Constructor;
14765   returnCode: any;
14768 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_attributes.idl
14770 interface nsIXPCTestObjectReadOnly extends nsISupports {
14771   readonly strReadOnly: string;
14772   readonly boolReadOnly: boolean;
14773   readonly shortReadOnly: i16;
14774   readonly longReadOnly: i32;
14775   readonly floatReadOnly: float;
14776   readonly charReadOnly: string;
14777   readonly timeReadOnly: PRTime;
14780 interface nsIXPCTestObjectReadWrite extends nsISupports {
14781   stringProperty: string;
14782   booleanProperty: boolean;
14783   shortProperty: i16;
14784   longProperty: i32;
14785   floatProperty: float;
14786   charProperty: string;
14787   timeProperty: PRTime;
14790 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_bug809674.idl
14792 interface nsIXPCTestBug809674 extends nsISupports {
14793   addArgs(x: u32, y: u32): u32;
14794   addSubMulArgs(x: u32, y: u32, subOut: OutParam<u32>, mulOut: OutParam<u32>): u32;
14795   addVals(x: any, y: any): any;
14796   methodNoArgs(): u32;
14797   methodNoArgsNoRetVal(): void;
14798   addMany(x1: u32, x2: u32, x3: u32, x4: u32, x5: u32, x6: u32, x7: u32, x8: u32): u32;
14799   valProperty: any;
14800   uintProperty: u32;
14801   methodWithOptionalArgc(): void;
14804 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_cenums.idl
14806 }  // global
14808 declare namespace nsIXPCTestCEnums {
14810 enum testFlagsExplicit {
14811   shouldBe1Explicit = 1,
14812   shouldBe2Explicit = 2,
14813   shouldBe4Explicit = 4,
14814   shouldBe8Explicit = 8,
14815   shouldBe12Explicit = 12,
14818 enum testFlagsImplicit {
14819   shouldBe0Implicit = 0,
14820   shouldBe1Implicit = 1,
14821   shouldBe2Implicit = 2,
14822   shouldBe3Implicit = 3,
14823   shouldBe5Implicit = 5,
14824   shouldBe6Implicit = 6,
14825   shouldBe2AgainImplicit = 2,
14826   shouldBe3AgainImplicit = 3,
14831 declare global {
14833 interface nsIXPCTestCEnums extends nsISupports, Enums<typeof nsIXPCTestCEnums.testFlagsExplicit & typeof nsIXPCTestCEnums.testFlagsImplicit> {
14834   readonly testConst: 1;
14836   testCEnumInput(abc: nsIXPCTestCEnums.testFlagsExplicit): void;
14837   testCEnumOutput(): nsIXPCTestCEnums.testFlagsExplicit;
14840 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_interfaces.idl
14842 interface nsIXPCTestInterfaceA extends nsISupports {
14843   name: string;
14846 interface nsIXPCTestInterfaceB extends nsISupports {
14847   name: string;
14850 interface nsIXPCTestInterfaceC extends nsISupports {
14851   someInteger: i32;
14854 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_params.idl
14856 interface nsIXPCTestParams extends nsISupports {
14857   testBoolean(a: boolean, b: InOutParam<boolean>): boolean;
14858   testOctet(a: u8, b: InOutParam<u8>): u8;
14859   testShort(a: i16, b: InOutParam<i16>): i16;
14860   testLong(a: i32, b: InOutParam<i32>): i32;
14861   testLongLong(a: i64, b: InOutParam<i64>): i64;
14862   testUnsignedShort(a: u16, b: InOutParam<u16>): u16;
14863   testUnsignedLong(a: u32, b: InOutParam<u32>): u32;
14864   testUnsignedLongLong(a: u64, b: InOutParam<u64>): u64;
14865   testFloat(a: float, b: InOutParam<float>): float;
14866   testDouble(a: double, b: InOutParam<float>): double;
14867   testChar(a: string, b: InOutParam<string>): string;
14868   testString(a: string, b: InOutParam<string>): string;
14869   testWchar(a: string, b: InOutParam<string>): string;
14870   testWstring(a: string, b: InOutParam<string>): string;
14871   testAString(a: string, b: InOutParam<string>): string;
14872   testAUTF8String(a: string, b: InOutParam<string>): string;
14873   testACString(a: string, b: InOutParam<string>): string;
14874   testJsval(a: any, b: InOutParam<any>): any;
14875   testShortSequence(a: i16[], b: InOutParam<i16[]>): i16[];
14876   testDoubleSequence(a: double[], b: InOutParam<double[]>): double[];
14877   testInterfaceSequence(a: nsIXPCTestInterfaceA[], b: InOutParam<nsIXPCTestInterfaceA[]>): nsIXPCTestInterfaceA[];
14878   testAStringSequence(a: string[], b: InOutParam<string[]>): string[];
14879   testACStringSequence(a: string[], b: InOutParam<string[]>): string[];
14880   testJsvalSequence(a: any[], b: InOutParam<any[]>): any[];
14881   testSequenceSequence(a: i16[][], b: InOutParam<i16[][]>): i16[][];
14882   testOptionalSequence(arr?: u8[]): u8[];
14883   testShortArray(aLength: u32, a: i16[], bLength: InOutParam<u32>, b: InOutParam<i16[]>, rvLength: OutParam<u32>): OutParam<i16[]>;
14884   testDoubleArray(aLength: u32, a: double[], bLength: InOutParam<u32>, b: InOutParam<double[]>, rvLength: OutParam<u32>): OutParam<double[]>;
14885   testStringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): OutParam<string[]>;
14886   testWstringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): OutParam<string[]>;
14887   testInterfaceArray(aLength: u32, a: nsIXPCTestInterfaceA[], bLength: InOutParam<u32>, b: InOutParam<nsIXPCTestInterfaceA[]>, rvLength: OutParam<u32>): OutParam<nsIXPCTestInterfaceA[]>;
14888   testByteArrayOptionalLength(a: u8[], aLength?: u32): u32;
14889   testSizedString(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): OutParam<string>;
14890   testSizedWstring(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): OutParam<string>;
14891   testJsvalArray(aLength: u32, a: any[], bLength: InOutParam<u32>, b: InOutParam<any[]>, rvLength: OutParam<u32>): OutParam<any[]>;
14892   testOutAString(o: OutParam<string>): void;
14893   testStringArrayOptionalSize(a: string[], aLength?: u32): string;
14894   testOmittedOptionalOut(aJSObj: nsIXPCTestParams, aOut?: OutParam<nsIURI>): void;
14895   readonly testNaN: double;
14898 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_returncode.idl
14900 interface nsIXPCTestReturnCodeParent extends nsISupports {
14901   callChild(childBehavior: i32): nsresult;
14904 interface nsIXPCTestReturnCodeChild extends nsISupports {
14905   readonly CHILD_SHOULD_THROW: 0;
14906   readonly CHILD_SHOULD_RETURN_SUCCESS: 1;
14907   readonly CHILD_SHOULD_RETURN_RESULTCODE: 2;
14908   readonly CHILD_SHOULD_NEST_RESULTCODES: 3;
14910   doIt(behavior: i32): void;
14913 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_utils.idl
14915 type nsIXPCTestFunctionInterface = Callable<{
14916   echo(arg: string): string;
14919 interface nsIXPCTestUtils extends nsISupports {
14920   doubleWrapFunction(f: nsIXPCTestFunctionInterface): nsIXPCTestFunctionInterface;
14923 // https://searchfox.org/mozilla-central/source/dom/xul/nsIBrowserController.idl
14925 interface nsIBrowserController extends nsISupports {
14926   enableDisableCommands(action: string, enabledCommands: string[], disabledCommands: string[]): void;
14929 // https://searchfox.org/mozilla-central/source/dom/xul/nsIController.idl
14931 interface nsIController extends nsISupports {
14932   isCommandEnabled(command: string): boolean;
14933   supportsCommand(command: string): boolean;
14934   doCommand(command: string): void;
14935   onEvent(eventName: string): void;
14938 interface nsICommandController extends nsISupports {
14939   getCommandStateWithParams(command: string, aCommandParams: nsICommandParams): void;
14940   doCommandWithParams(command: string, aCommandParams: nsICommandParams): void;
14941   getSupportedCommands(): string[];
14944 // https://searchfox.org/mozilla-central/source/dom/xul/nsIControllers.idl
14946 interface nsIControllers extends nsISupports {
14947   getControllerForCommand(command: string): nsIController;
14948   insertControllerAt(index: u32, controller: nsIController): void;
14949   removeControllerAt(index: u32): nsIController;
14950   getControllerAt(index: u32): nsIController;
14951   appendController(controller: nsIController): void;
14952   removeController(controller: nsIController): void;
14953   getControllerId(controller: nsIController): u32;
14954   getControllerById(controllerID: u32): nsIController;
14955   getControllerCount(): u32;
14958 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsINativeAppSupport.idl
14960 interface nsINativeAppSupport extends nsISupports {
14961   start(): boolean;
14962   enable(): void;
14963   onLastWindowClosing(): void;
14964   ReOpen(): void;
14967 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsIWinAppHelper.idl
14969 interface nsIWinAppHelper extends nsISupports {
14970   readonly userCanElevate: boolean;
14973 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsIXREDirProvider.idl
14975 interface nsIXREDirProvider extends nsISupports {
14976   setUserDataDirectory(aFile: nsIFile, aLocal: boolean): void;
14977   getInstallHash(): string;
14980 // https://searchfox.org/mozilla-central/source/modules/libjar/zipwriter/nsIZipWriter.idl
14982 interface nsIZipWriter extends nsISupports {
14983   readonly COMPRESSION_NONE: 0;
14984   readonly COMPRESSION_FASTEST: 1;
14985   readonly COMPRESSION_DEFAULT: 6;
14986   readonly COMPRESSION_BEST: 9;
14988   comment: string;
14989   readonly inQueue: boolean;
14990   readonly file: nsIFile;
14991   open(aFile: nsIFile, aIoFlags: i32): void;
14992   getEntry(aZipEntry: string): nsIZipEntry;
14993   hasEntry(aZipEntry: string): boolean;
14994   addEntryDirectory(aZipEntry: string, aModTime: PRTime, aQueue: boolean): void;
14995   addEntryFile(aZipEntry: string, aCompression: i32, aFile: nsIFile, aQueue: boolean): void;
14996   addEntryChannel(aZipEntry: string, aModTime: PRTime, aCompression: i32, aChannel: nsIChannel, aQueue: boolean): void;
14997   addEntryStream(aZipEntry: string, aModTime: PRTime, aCompression: i32, aStream: nsIInputStream, aQueue: boolean): void;
14998   removeEntry(aZipEntry: string, aQueue: boolean): void;
14999   processQueue(aObserver: nsIRequestObserver, aContext: nsISupports): void;
15000   close(): void;
15001   alignStoredFiles(aAlignSize: u16): void;
15004 interface nsIXPCComponents_Interfaces {
15005   nsIInstalledApplication: nsJSIID<nsIInstalledApplication>;
15006   nsIAboutThirdParty: nsJSIID<nsIAboutThirdParty>;
15007   nsIAboutWindowsMessages: nsJSIID<nsIAboutWindowsMessages>;
15008   nsIAccessibilityService: nsJSIID<nsIAccessibilityService>;
15009   nsIAccessible: nsJSIID<nsIAccessible>;
15010   nsIAccessibleAnnouncementEvent: nsJSIID<nsIAccessibleAnnouncementEvent>;
15011   nsIAccessibleApplication: nsJSIID<nsIAccessibleApplication>;
15012   nsIAccessibleCaretMoveEvent: nsJSIID<nsIAccessibleCaretMoveEvent>;
15013   nsIAccessibleDocument: nsJSIID<nsIAccessibleDocument>;
15014   nsIAccessibleEditableText: nsJSIID<nsIAccessibleEditableText>;
15015   nsIAccessibleEvent: nsJSIID<nsIAccessibleEvent>;
15016   nsIAccessibleHideEvent: nsJSIID<nsIAccessibleHideEvent>;
15017   nsIAccessibleHyperLink: nsJSIID<nsIAccessibleHyperLink>;
15018   nsIAccessibleHyperText: nsJSIID<nsIAccessibleHyperText>;
15019   nsIAccessibleImage: nsJSIID<nsIAccessibleImage>;
15020   nsIAccessibleObjectAttributeChangedEvent: nsJSIID<nsIAccessibleObjectAttributeChangedEvent>;
15021   nsIAccessiblePivot: nsJSIID<nsIAccessiblePivot>;
15022   nsIAccessibleTraversalRule: nsJSIID<nsIAccessibleTraversalRule>;
15023   nsIAccessibleRelation: nsJSIID<nsIAccessibleRelation>;
15024   nsIAccessibleRole: nsJSIID<nsIAccessibleRole>;
15025   nsIAccessibleScrollingEvent: nsJSIID<nsIAccessibleScrollingEvent>;
15026   nsIAccessibleSelectable: nsJSIID<nsIAccessibleSelectable>;
15027   nsIAccessibleStateChangeEvent: nsJSIID<nsIAccessibleStateChangeEvent>;
15028   nsIAccessibleStates: nsJSIID<nsIAccessibleStates>;
15029   nsIAccessibleTable: nsJSIID<nsIAccessibleTable>;
15030   nsIAccessibleTableCell: nsJSIID<nsIAccessibleTableCell>;
15031   nsIAccessibleTableChangeEvent: nsJSIID<nsIAccessibleTableChangeEvent>;
15032   nsIAccessibleText: nsJSIID<nsIAccessibleText>;
15033   nsIAccessibleTextChangeEvent: nsJSIID<nsIAccessibleTextChangeEvent>;
15034   nsIAccessibleTextLeafPoint: nsJSIID<nsIAccessibleTextLeafPoint>;
15035   nsIAccessibleTextRange: nsJSIID<nsIAccessibleTextRange>;
15036   nsIAccessibleTextSelectionChangeEvent: nsJSIID<nsIAccessibleTextSelectionChangeEvent>;
15037   nsIAccessibleScrollType: nsJSIID<nsIAccessibleScrollType>;
15038   nsIAccessibleCoordinateType: nsJSIID<nsIAccessibleCoordinateType>;
15039   nsIAccessibleValue: nsJSIID<nsIAccessibleValue>;
15040   nsIAlertNotificationImageListener: nsJSIID<nsIAlertNotificationImageListener>;
15041   nsIAlertAction: nsJSIID<nsIAlertAction>;
15042   nsIAlertNotification: nsJSIID<nsIAlertNotification>;
15043   nsIAlertsService: nsJSIID<nsIAlertsService>;
15044   nsIAlertsDoNotDisturb: nsJSIID<nsIAlertsDoNotDisturb>;
15045   nsIAlertsIconData: nsJSIID<nsIAlertsIconData>;
15046   nsIAlertsIconURI: nsJSIID<nsIAlertsIconURI>;
15047   nsIWindowsAlertNotification: nsJSIID<nsIWindowsAlertNotification, typeof nsIWindowsAlertNotification.ImagePlacement>;
15048   nsIWindowsAlertsService: nsJSIID<nsIWindowsAlertsService>;
15049   nsIAppShellService: nsJSIID<nsIAppShellService>;
15050   nsIAppWindow: nsJSIID<nsIAppWindow>;
15051   nsIWindowMediator: nsJSIID<nsIWindowMediator>;
15052   nsIWindowMediatorListener: nsJSIID<nsIWindowMediatorListener>;
15053   nsIWindowlessBrowser: nsJSIID<nsIWindowlessBrowser>;
15054   nsIXULBrowserWindow: nsJSIID<nsIXULBrowserWindow>;
15055   nsIAppStartup: nsJSIID<nsIAppStartup, typeof nsIAppStartup.IDLShutdownPhase>;
15056   nsIAutoCompleteController: nsJSIID<nsIAutoCompleteController>;
15057   nsIAutoCompleteInput: nsJSIID<nsIAutoCompleteInput>;
15058   nsIAutoCompletePopup: nsJSIID<nsIAutoCompletePopup>;
15059   nsIAutoCompleteResult: nsJSIID<nsIAutoCompleteResult>;
15060   nsIAutoCompleteSearch: nsJSIID<nsIAutoCompleteSearch>;
15061   nsIAutoCompleteObserver: nsJSIID<nsIAutoCompleteObserver>;
15062   nsIAutoCompleteSearchDescriptor: nsJSIID<nsIAutoCompleteSearchDescriptor>;
15063   nsIAutoCompleteSimpleResult: nsJSIID<nsIAutoCompleteSimpleResult>;
15064   nsIAutoCompleteSimpleResultListener: nsJSIID<nsIAutoCompleteSimpleResultListener>;
15065   nsIAutoCompleteSimpleSearch: nsJSIID<nsIAutoCompleteSimpleSearch>;
15066   nsIAutoplay: nsJSIID<nsIAutoplay>;
15067   nsIHangDetails: nsJSIID<nsIHangDetails>;
15068   nsIBits: nsJSIID<nsIBits>;
15069   nsIBitsNewRequestCallback: nsJSIID<nsIBitsNewRequestCallback>;
15070   nsIBitsRequest: nsJSIID<nsIBitsRequest>;
15071   nsIBitsCallback: nsJSIID<nsIBitsCallback>;
15072   nsIAboutNewTabService: nsJSIID<nsIAboutNewTabService>;
15073   nsIBrowserHandler: nsJSIID<nsIBrowserHandler>;
15074   nsIAddonPolicyService: nsJSIID<nsIAddonPolicyService>;
15075   nsIAddonContentPolicy: nsJSIID<nsIAddonContentPolicy>;
15076   nsIDomainPolicy: nsJSIID<nsIDomainPolicy>;
15077   nsIDomainSet: nsJSIID<nsIDomainSet>;
15078   nsIPrincipal: nsJSIID<nsIPrincipal>;
15079   nsIScriptSecurityManager: nsJSIID<nsIScriptSecurityManager>;
15080   nsICaptivePortalCallback: nsJSIID<nsICaptivePortalCallback>;
15081   nsICaptivePortalDetector: nsJSIID<nsICaptivePortalDetector>;
15082   nsICascadeFilter: nsJSIID<nsICascadeFilter>;
15083   nsIChromeRegistry: nsJSIID<nsIChromeRegistry>;
15084   nsIXULChromeRegistry: nsJSIID<nsIXULChromeRegistry>;
15085   nsIToolkitChromeRegistry: nsJSIID<nsIToolkitChromeRegistry>;
15086   nsICommandManager: nsJSIID<nsICommandManager>;
15087   nsICommandParams: nsJSIID<nsICommandParams>;
15088   nsIControllerCommand: nsJSIID<nsIControllerCommand>;
15089   nsIControllerCommandTable: nsJSIID<nsIControllerCommandTable>;
15090   nsIControllerContext: nsJSIID<nsIControllerContext>;
15091   nsICommandLine: nsJSIID<nsICommandLine>;
15092   nsICommandLineHandler: nsJSIID<nsICommandLineHandler>;
15093   nsICommandLineValidator: nsJSIID<nsICommandLineValidator>;
15094   nsIEditingSession: nsJSIID<nsIEditingSession>;
15095   nsIEventListenerChange: nsJSIID<nsIEventListenerChange>;
15096   nsIListenerChangeListener: nsJSIID<nsIListenerChangeListener>;
15097   nsIEventListenerInfo: nsJSIID<nsIEventListenerInfo>;
15098   nsIEventListenerService: nsJSIID<nsIEventListenerService>;
15099   mozIGeckoMediaPluginChromeService: nsJSIID<mozIGeckoMediaPluginChromeService>;
15100   mozIGeckoMediaPluginService: nsJSIID<mozIGeckoMediaPluginService>;
15101   nsIDefaultAgent: nsJSIID<nsIDefaultAgent>;
15102   nsIWindowsMutex: nsJSIID<nsIWindowsMutex>;
15103   nsIWindowsMutexFactory: nsJSIID<nsIWindowsMutexFactory>;
15104   nsIDocShell: nsJSIID<nsIDocShell, typeof nsIDocShell.DocShellEnumeratorDirection & typeof nsIDocShell.AppType & typeof nsIDocShell.BusyFlags & typeof nsIDocShell.LoadCommand & typeof nsIDocShell.MetaViewportOverride>;
15105   nsIDocShellTreeItem: nsJSIID<nsIDocShellTreeItem>;
15106   nsIDocShellTreeOwner: nsJSIID<nsIDocShellTreeOwner>;
15107   nsIDocumentLoaderFactory: nsJSIID<nsIDocumentLoaderFactory>;
15108   nsIDocumentViewer: nsJSIID<nsIDocumentViewer, typeof nsIDocumentViewer.PermitUnloadAction & typeof nsIDocumentViewer.PermitUnloadResult>;
15109   nsIDocumentViewerEdit: nsJSIID<nsIDocumentViewerEdit>;
15110   nsILoadContext: nsJSIID<nsILoadContext>;
15111   nsILoadURIDelegate: nsJSIID<nsILoadURIDelegate>;
15112   nsIPrivacyTransitionObserver: nsJSIID<nsIPrivacyTransitionObserver>;
15113   nsIReflowObserver: nsJSIID<nsIReflowObserver>;
15114   nsIRefreshURI: nsJSIID<nsIRefreshURI>;
15115   nsITooltipListener: nsJSIID<nsITooltipListener>;
15116   nsITooltipTextProvider: nsJSIID<nsITooltipTextProvider>;
15117   nsIURIFixupInfo: nsJSIID<nsIURIFixupInfo>;
15118   nsIURIFixup: nsJSIID<nsIURIFixup>;
15119   nsIWebNavigation: nsJSIID<nsIWebNavigation>;
15120   nsIWebNavigationInfo: nsJSIID<nsIWebNavigationInfo>;
15121   nsIWebPageDescriptor: nsJSIID<nsIWebPageDescriptor>;
15122   mozIDOMWindow: nsJSIID<mozIDOMWindow>;
15123   mozIDOMWindowProxy: nsJSIID<mozIDOMWindowProxy>;
15124   nsIContentPolicy: nsJSIID<nsIContentPolicy, typeof nsIContentPolicy.nsContentPolicyType>;
15125   nsIDroppedLinkItem: nsJSIID<nsIDroppedLinkItem>;
15126   nsIDroppedLinkHandler: nsJSIID<nsIDroppedLinkHandler>;
15127   nsIEventSourceEventListener: nsJSIID<nsIEventSourceEventListener>;
15128   nsIEventSourceEventService: nsJSIID<nsIEventSourceEventService>;
15129   nsIImageLoadingContent: nsJSIID<nsIImageLoadingContent>;
15130   nsIMessageSender: nsJSIID<nsIMessageSender>;
15131   nsIObjectLoadingContent: nsJSIID<nsIObjectLoadingContent>;
15132   nsIScriptableContentIterator: nsJSIID<nsIScriptableContentIterator, typeof nsIScriptableContentIterator.IteratorType>;
15133   nsISelectionController: nsJSIID<nsISelectionController>;
15134   nsISelectionDisplay: nsJSIID<nsISelectionDisplay>;
15135   nsISelectionListener: nsJSIID<nsISelectionListener>;
15136   nsISlowScriptDebugCallback: nsJSIID<nsISlowScriptDebugCallback>;
15137   nsISlowScriptDebuggerStartupCallback: nsJSIID<nsISlowScriptDebuggerStartupCallback>;
15138   nsISlowScriptDebugRemoteCallback: nsJSIID<nsISlowScriptDebugRemoteCallback>;
15139   nsISlowScriptDebug: nsJSIID<nsISlowScriptDebug>;
15140   nsIConsoleAPIStorage: nsJSIID<nsIConsoleAPIStorage>;
15141   mozIRemoteLazyInputStream: nsJSIID<mozIRemoteLazyInputStream>;
15142   nsIDOMProcessChild: nsJSIID<nsIDOMProcessChild>;
15143   nsIDOMProcessParent: nsJSIID<nsIDOMProcessParent>;
15144   nsIHangReport: nsJSIID<nsIHangReport>;
15145   nsILoginDetectionService: nsJSIID<nsILoginDetectionService>;
15146   nsISuspendedTypes: nsJSIID<nsISuspendedTypes>;
15147   nsIBrowser: nsJSIID<nsIBrowser>;
15148   nsIBrowserChild: nsJSIID<nsIBrowserChild>;
15149   nsIOpenURIInFrameParams: nsJSIID<nsIOpenURIInFrameParams>;
15150   nsIBrowserDOMWindow: nsJSIID<nsIBrowserDOMWindow>;
15151   nsIBrowserUsage: nsJSIID<nsIBrowserUsage>;
15152   nsIContentPermissionType: nsJSIID<nsIContentPermissionType>;
15153   nsIContentPermissionRequest: nsJSIID<nsIContentPermissionRequest>;
15154   nsIContentPermissionPrompt: nsJSIID<nsIContentPermissionPrompt>;
15155   nsIContentPrefObserver: nsJSIID<nsIContentPrefObserver>;
15156   nsIContentPrefService2: nsJSIID<nsIContentPrefService2>;
15157   nsIContentPrefCallback2: nsJSIID<nsIContentPrefCallback2>;
15158   nsIContentPref: nsJSIID<nsIContentPref>;
15159   nsIContentProcessInfo: nsJSIID<nsIContentProcessInfo>;
15160   nsIContentProcessProvider: nsJSIID<nsIContentProcessProvider>;
15161   nsIDOMGlobalPropertyInitializer: nsJSIID<nsIDOMGlobalPropertyInitializer>;
15162   nsIDOMWindow: nsJSIID<nsIDOMWindow>;
15163   nsIDOMWindowUtils: nsJSIID<nsIDOMWindowUtils>;
15164   nsITranslationNodeList: nsJSIID<nsITranslationNodeList>;
15165   nsIJSRAIIHelper: nsJSIID<nsIJSRAIIHelper>;
15166   nsIFocusManager: nsJSIID<nsIFocusManager>;
15167   nsIPermissionDelegateHandler: nsJSIID<nsIPermissionDelegateHandler>;
15168   nsIQueryContentEventResult: nsJSIID<nsIQueryContentEventResult>;
15169   nsIRemoteTab: nsJSIID<nsIRemoteTab, typeof nsIRemoteTab.NavigationType>;
15170   nsIServiceWorkerUnregisterCallback: nsJSIID<nsIServiceWorkerUnregisterCallback>;
15171   nsIServiceWorkerInfo: nsJSIID<nsIServiceWorkerInfo>;
15172   nsIServiceWorkerRegistrationInfoListener: nsJSIID<nsIServiceWorkerRegistrationInfoListener>;
15173   nsIServiceWorkerRegistrationInfo: nsJSIID<nsIServiceWorkerRegistrationInfo>;
15174   nsIServiceWorkerManagerListener: nsJSIID<nsIServiceWorkerManagerListener>;
15175   nsIServiceWorkerManager: nsJSIID<nsIServiceWorkerManager>;
15176   nsIStructuredCloneContainer: nsJSIID<nsIStructuredCloneContainer>;
15177   nsITextInputProcessor: nsJSIID<nsITextInputProcessor>;
15178   nsITextInputProcessorNotification: nsJSIID<nsITextInputProcessorNotification>;
15179   nsITextInputProcessorCallback: nsJSIID<nsITextInputProcessorCallback>;
15180   nsIScriptErrorNote: nsJSIID<nsIScriptErrorNote>;
15181   nsIScriptError: nsJSIID<nsIScriptError>;
15182   nsIDOMGeoPosition: nsJSIID<nsIDOMGeoPosition>;
15183   nsIDOMGeoPositionCallback: nsJSIID<nsIDOMGeoPositionCallback>;
15184   nsIDOMGeoPositionCoords: nsJSIID<nsIDOMGeoPositionCoords>;
15185   nsIDOMGeoPositionErrorCallback: nsJSIID<nsIDOMGeoPositionErrorCallback>;
15186   nsIIdentityCredentialPromptService: nsJSIID<nsIIdentityCredentialPromptService>;
15187   nsIIdentityCredentialStorageService: nsJSIID<nsIIdentityCredentialStorageService>;
15188   nsIIDBPermissionsRequest: nsJSIID<nsIIDBPermissionsRequest>;
15189   nsILocalStorageManager: nsJSIID<nsILocalStorageManager>;
15190   nsIAudioDeviceInfo: nsJSIID<nsIAudioDeviceInfo>;
15191   nsIMediaDevice: nsJSIID<nsIMediaDevice>;
15192   nsIMediaManagerService: nsJSIID<nsIMediaManagerService>;
15193   nsITCPSocketCallback: nsJSIID<nsITCPSocketCallback>;
15194   nsIUDPSocketInternal: nsJSIID<nsIUDPSocketInternal>;
15195   nsINotificationStorageCallback: nsJSIID<nsINotificationStorageCallback>;
15196   nsINotificationStorage: nsJSIID<nsINotificationStorage>;
15197   nsIPaymentResponseData: nsJSIID<nsIPaymentResponseData>;
15198   nsIGeneralResponseData: nsJSIID<nsIGeneralResponseData>;
15199   nsIBasicCardResponseData: nsJSIID<nsIBasicCardResponseData>;
15200   nsIPaymentActionResponse: nsJSIID<nsIPaymentActionResponse>;
15201   nsIPaymentCanMakeActionResponse: nsJSIID<nsIPaymentCanMakeActionResponse>;
15202   nsIPaymentShowActionResponse: nsJSIID<nsIPaymentShowActionResponse>;
15203   nsIPaymentAbortActionResponse: nsJSIID<nsIPaymentAbortActionResponse>;
15204   nsIPaymentCompleteActionResponse: nsJSIID<nsIPaymentCompleteActionResponse>;
15205   nsIMethodChangeDetails: nsJSIID<nsIMethodChangeDetails>;
15206   nsIGeneralChangeDetails: nsJSIID<nsIGeneralChangeDetails>;
15207   nsIBasicCardChangeDetails: nsJSIID<nsIBasicCardChangeDetails>;
15208   nsIPaymentAddress: nsJSIID<nsIPaymentAddress>;
15209   nsIPaymentMethodData: nsJSIID<nsIPaymentMethodData>;
15210   nsIPaymentCurrencyAmount: nsJSIID<nsIPaymentCurrencyAmount>;
15211   nsIPaymentItem: nsJSIID<nsIPaymentItem>;
15212   nsIPaymentDetailsModifier: nsJSIID<nsIPaymentDetailsModifier>;
15213   nsIPaymentShippingOption: nsJSIID<nsIPaymentShippingOption>;
15214   nsIPaymentDetails: nsJSIID<nsIPaymentDetails>;
15215   nsIPaymentOptions: nsJSIID<nsIPaymentOptions>;
15216   nsIPaymentRequest: nsJSIID<nsIPaymentRequest>;
15217   nsIPaymentRequestService: nsJSIID<nsIPaymentRequestService>;
15218   nsIPaymentUIService: nsJSIID<nsIPaymentUIService>;
15219   nsIDOMMozWakeLockListener: nsJSIID<nsIDOMMozWakeLockListener>;
15220   nsIPowerManagerService: nsJSIID<nsIPowerManagerService>;
15221   nsIWakeLock: nsJSIID<nsIWakeLock>;
15222   nsIPushErrorReporter: nsJSIID<nsIPushErrorReporter>;
15223   nsIPushNotifier: nsJSIID<nsIPushNotifier>;
15224   nsIPushData: nsJSIID<nsIPushData>;
15225   nsIPushMessage: nsJSIID<nsIPushMessage>;
15226   nsIPushSubscription: nsJSIID<nsIPushSubscription>;
15227   nsIPushSubscriptionCallback: nsJSIID<nsIPushSubscriptionCallback>;
15228   nsIUnsubscribeResultCallback: nsJSIID<nsIUnsubscribeResultCallback>;
15229   nsIPushClearResultCallback: nsJSIID<nsIPushClearResultCallback>;
15230   nsIPushService: nsJSIID<nsIPushService>;
15231   nsIPushQuotaManager: nsJSIID<nsIPushQuotaManager>;
15232   nsIQuotaUsageCallback: nsJSIID<nsIQuotaUsageCallback>;
15233   nsIQuotaCallback: nsJSIID<nsIQuotaCallback>;
15234   nsIQuotaManagerService: nsJSIID<nsIQuotaManagerService>;
15235   nsIQuotaRequestBase: nsJSIID<nsIQuotaRequestBase>;
15236   nsIQuotaUsageRequest: nsJSIID<nsIQuotaUsageRequest>;
15237   nsIQuotaRequest: nsJSIID<nsIQuotaRequest>;
15238   nsIQuotaFullOriginMetadataResult: nsJSIID<nsIQuotaFullOriginMetadataResult>;
15239   nsIQuotaUsageResult: nsJSIID<nsIQuotaUsageResult>;
15240   nsIQuotaOriginUsageResult: nsJSIID<nsIQuotaOriginUsageResult>;
15241   nsIQuotaEstimateResult: nsJSIID<nsIQuotaEstimateResult>;
15242   nsIContentSecurityManager: nsJSIID<nsIContentSecurityManager>;
15243   nsIContentSecurityPolicy: nsJSIID<nsIContentSecurityPolicy, typeof nsIContentSecurityPolicy.CSPDirective>;
15244   nsICSPEventListener: nsJSIID<nsICSPEventListener>;
15245   nsIReferrerInfo: nsJSIID<nsIReferrerInfo, typeof nsIReferrerInfo.ReferrerPolicyIDL>;
15246   nsIHttpsOnlyModePermission: nsJSIID<nsIHttpsOnlyModePermission>;
15247   nsIDocumentEncoderNodeFixup: nsJSIID<nsIDocumentEncoderNodeFixup>;
15248   nsIDocumentEncoder: nsJSIID<nsIDocumentEncoder>;
15249   nsIWebProtocolHandlerRegistrar: nsJSIID<nsIWebProtocolHandlerRegistrar>;
15250   nsISDBCallback: nsJSIID<nsISDBCallback>;
15251   nsISDBCloseCallback: nsJSIID<nsISDBCloseCallback>;
15252   nsISDBConnection: nsJSIID<nsISDBConnection>;
15253   nsISDBRequest: nsJSIID<nsISDBRequest>;
15254   nsISDBResult: nsJSIID<nsISDBResult>;
15255   nsIDOMStorageManager: nsJSIID<nsIDOMStorageManager>;
15256   nsIStorageActivityService: nsJSIID<nsIStorageActivityService>;
15257   nsISessionStorageService: nsJSIID<nsISessionStorageService>;
15258   nsIOSPermissionRequest: nsJSIID<nsIOSPermissionRequest>;
15259   nsICredentialParameters: nsJSIID<nsICredentialParameters>;
15260   nsIWebAuthnAutoFillEntry: nsJSIID<nsIWebAuthnAutoFillEntry>;
15261   nsIWebAuthnService: nsJSIID<nsIWebAuthnService>;
15262   nsISpeechTaskCallback: nsJSIID<nsISpeechTaskCallback>;
15263   nsISpeechTask: nsJSIID<nsISpeechTask>;
15264   nsISpeechService: nsJSIID<nsISpeechService>;
15265   nsISynthVoiceRegistry: nsJSIID<nsISynthVoiceRegistry>;
15266   nsIWorkerChannelLoadInfo: nsJSIID<nsIWorkerChannelLoadInfo>;
15267   nsIWorkerChannelInfo: nsJSIID<nsIWorkerChannelInfo>;
15268   nsIWorkerDebuggerListener: nsJSIID<nsIWorkerDebuggerListener>;
15269   nsIWorkerDebugger: nsJSIID<nsIWorkerDebugger>;
15270   nsIWorkerDebuggerManagerListener: nsJSIID<nsIWorkerDebuggerManagerListener>;
15271   nsIWorkerDebuggerManager: nsJSIID<nsIWorkerDebuggerManager>;
15272   txIEXSLTFunctions: nsJSIID<txIEXSLTFunctions>;
15273   nsIDOMXULButtonElement: nsJSIID<nsIDOMXULButtonElement>;
15274   nsIDOMXULCommandDispatcher: nsJSIID<nsIDOMXULCommandDispatcher>;
15275   nsIDOMXULContainerItemElement: nsJSIID<nsIDOMXULContainerItemElement>;
15276   nsIDOMXULContainerElement: nsJSIID<nsIDOMXULContainerElement>;
15277   nsIDOMXULControlElement: nsJSIID<nsIDOMXULControlElement>;
15278   nsIDOMXULMenuListElement: nsJSIID<nsIDOMXULMenuListElement>;
15279   nsIDOMXULMultiSelectControlElement: nsJSIID<nsIDOMXULMultiSelectControlElement>;
15280   nsIDOMXULRadioGroupElement: nsJSIID<nsIDOMXULRadioGroupElement>;
15281   nsIDOMXULRelatedElement: nsJSIID<nsIDOMXULRelatedElement>;
15282   nsIDOMXULSelectControlElement: nsJSIID<nsIDOMXULSelectControlElement>;
15283   nsIDOMXULSelectControlItemElement: nsJSIID<nsIDOMXULSelectControlItemElement>;
15284   mozIDownloadPlatform: nsJSIID<mozIDownloadPlatform>;
15285   nsIDocumentStateListener: nsJSIID<nsIDocumentStateListener>;
15286   nsIEditActionListener: nsJSIID<nsIEditActionListener>;
15287   nsIEditor: nsJSIID<nsIEditor>;
15288   nsIEditorMailSupport: nsJSIID<nsIEditorMailSupport>;
15289   nsIEditorSpellCheck: nsJSIID<nsIEditorSpellCheck>;
15290   nsIEditorSpellCheckCallback: nsJSIID<nsIEditorSpellCheckCallback>;
15291   nsIHTMLAbsPosEditor: nsJSIID<nsIHTMLAbsPosEditor>;
15292   nsIHTMLEditor: nsJSIID<nsIHTMLEditor>;
15293   nsIHTMLInlineTableEditor: nsJSIID<nsIHTMLInlineTableEditor>;
15294   nsIHTMLObjectResizer: nsJSIID<nsIHTMLObjectResizer>;
15295   nsITableEditor: nsJSIID<nsITableEditor>;
15296   nsIEnterprisePolicies: nsJSIID<nsIEnterprisePolicies>;
15297   amIAddonManagerStartup: nsJSIID<amIAddonManagerStartup>;
15298   amIWebInstallPrompt: nsJSIID<amIWebInstallPrompt>;
15299   nsIContentDispatchChooser: nsJSIID<nsIContentDispatchChooser>;
15300   nsIExternalHelperAppService: nsJSIID<nsIExternalHelperAppService>;
15301   nsPIExternalAppLauncher: nsJSIID<nsPIExternalAppLauncher>;
15302   nsIHelperAppLauncher: nsJSIID<nsIHelperAppLauncher>;
15303   nsIExternalProtocolService: nsJSIID<nsIExternalProtocolService>;
15304   nsIHandlerService: nsJSIID<nsIHandlerService>;
15305   nsIHelperAppLauncherDialog: nsJSIID<nsIHelperAppLauncherDialog>;
15306   nsISharingHandlerApp: nsJSIID<nsISharingHandlerApp>;
15307   nsITypeAheadFind: nsJSIID<nsITypeAheadFind>;
15308   nsIFOG: nsJSIID<nsIFOG>;
15309   nsIGleanPingTestCallback: nsJSIID<nsIGleanPingTestCallback>;
15310   nsIGleanPing: nsJSIID<nsIGleanPing>;
15311   nsIFontEnumerator: nsJSIID<nsIFontEnumerator>;
15312   nsIParserUtils: nsJSIID<nsIParserUtils>;
15313   nsIExpatSink: nsJSIID<nsIExpatSink>;
15314   nsISFVBareItem: nsJSIID<nsISFVBareItem>;
15315   nsISFVInteger: nsJSIID<nsISFVInteger>;
15316   nsISFVString: nsJSIID<nsISFVString>;
15317   nsISFVBool: nsJSIID<nsISFVBool>;
15318   nsISFVDecimal: nsJSIID<nsISFVDecimal>;
15319   nsISFVToken: nsJSIID<nsISFVToken>;
15320   nsISFVByteSeq: nsJSIID<nsISFVByteSeq>;
15321   nsISFVParams: nsJSIID<nsISFVParams>;
15322   nsISFVParametrizable: nsJSIID<nsISFVParametrizable>;
15323   nsISFVItemOrInnerList: nsJSIID<nsISFVItemOrInnerList>;
15324   nsISFVSerialize: nsJSIID<nsISFVSerialize>;
15325   nsISFVItem: nsJSIID<nsISFVItem>;
15326   nsISFVInnerList: nsJSIID<nsISFVInnerList>;
15327   nsISFVList: nsJSIID<nsISFVList>;
15328   nsISFVDictionary: nsJSIID<nsISFVDictionary>;
15329   nsISFVService: nsJSIID<nsISFVService>;
15330   imgICache: nsJSIID<imgICache>;
15331   imgIContainer: nsJSIID<imgIContainer, typeof imgIContainer.DecodeResult>;
15332   imgIContainerDebug: nsJSIID<imgIContainerDebug>;
15333   imgIEncoder: nsJSIID<imgIEncoder>;
15334   imgILoader: nsJSIID<imgILoader>;
15335   imgINotificationObserver: nsJSIID<imgINotificationObserver>;
15336   imgIRequest: nsJSIID<imgIRequest>;
15337   imgIScriptedNotificationObserver: nsJSIID<imgIScriptedNotificationObserver>;
15338   imgITools: nsJSIID<imgITools>;
15339   imgIContainerCallback: nsJSIID<imgIContainerCallback>;
15340   nsIMozIconURI: nsJSIID<nsIMozIconURI>;
15341   inIDeepTreeWalker: nsJSIID<inIDeepTreeWalker>;
15342   nsIStringBundle: nsJSIID<nsIStringBundle>;
15343   nsIStringBundleService: nsJSIID<nsIStringBundleService>;
15344   nsIJARChannel: nsJSIID<nsIJARChannel>;
15345   nsIJARURI: nsJSIID<nsIJARURI>;
15346   nsIZipEntry: nsJSIID<nsIZipEntry>;
15347   nsIZipReader: nsJSIID<nsIZipReader>;
15348   nsIZipReaderCache: nsJSIID<nsIZipReaderCache>;
15349   IJSDebugger: nsJSIID<IJSDebugger>;
15350   nsIJSInspector: nsJSIID<nsIJSInspector>;
15351   nsIKeyValueService: nsJSIID<nsIKeyValueService, typeof nsIKeyValueService.RecoveryStrategy>;
15352   nsIKeyValueDatabase: nsJSIID<nsIKeyValueDatabase>;
15353   nsIKeyValuePair: nsJSIID<nsIKeyValuePair>;
15354   nsIKeyValueEnumerator: nsJSIID<nsIKeyValueEnumerator>;
15355   nsIKeyValueDatabaseCallback: nsJSIID<nsIKeyValueDatabaseCallback>;
15356   nsIKeyValueEnumeratorCallback: nsJSIID<nsIKeyValueEnumeratorCallback>;
15357   nsIKeyValuePairCallback: nsJSIID<nsIKeyValuePairCallback>;
15358   nsIKeyValueVariantCallback: nsJSIID<nsIKeyValueVariantCallback>;
15359   nsIKeyValueVoidCallback: nsJSIID<nsIKeyValueVoidCallback>;
15360   nsILayoutHistoryState: nsJSIID<nsILayoutHistoryState>;
15361   nsIPreloadedStyleSheet: nsJSIID<nsIPreloadedStyleSheet>;
15362   nsIStyleSheetService: nsJSIID<nsIStyleSheetService>;
15363   nsITreeSelection: nsJSIID<nsITreeSelection>;
15364   nsITreeView: nsJSIID<nsITreeView>;
15365   mozILocaleService: nsJSIID<mozILocaleService>;
15366   mozIOSPreferences: nsJSIID<mozIOSPreferences>;
15367   nsILoginAutoCompleteSearch: nsJSIID<nsILoginAutoCompleteSearch>;
15368   nsILoginInfo: nsJSIID<nsILoginInfo>;
15369   nsILoginSearchCallback: nsJSIID<nsILoginSearchCallback>;
15370   nsILoginManager: nsJSIID<nsILoginManager>;
15371   nsILoginManagerAuthPrompter: nsJSIID<nsILoginManagerAuthPrompter>;
15372   nsILoginManagerCrypto: nsJSIID<nsILoginManagerCrypto>;
15373   nsILoginManagerPrompter: nsJSIID<nsILoginManagerPrompter>;
15374   nsILoginMetaInfo: nsJSIID<nsILoginMetaInfo>;
15375   nsIPromptInstance: nsJSIID<nsIPromptInstance>;
15376   nsIEdgeMigrationUtils: nsJSIID<nsIEdgeMigrationUtils>;
15377   nsIMIMEHeaderParam: nsJSIID<nsIMIMEHeaderParam>;
15378   nsIHandlerInfo: nsJSIID<nsIHandlerInfo>;
15379   nsIMIMEInfo: nsJSIID<nsIMIMEInfo>;
15380   nsIHandlerApp: nsJSIID<nsIHandlerApp>;
15381   nsILocalHandlerApp: nsJSIID<nsILocalHandlerApp>;
15382   nsIWebHandlerApp: nsJSIID<nsIWebHandlerApp>;
15383   nsIDBusHandlerApp: nsJSIID<nsIDBusHandlerApp>;
15384   nsIMIMEService: nsJSIID<nsIMIMEService>;
15385   nsIFind: nsJSIID<nsIFind>;
15386   nsIFindService: nsJSIID<nsIFindService>;
15387   nsIWebBrowserFind: nsJSIID<nsIWebBrowserFind>;
15388   nsIWebBrowserFindInFrames: nsJSIID<nsIWebBrowserFindInFrames>;
15389   mozIMozIntl: nsJSIID<mozIMozIntl>;
15390   mozIMozIntlHelper: nsJSIID<mozIMozIntlHelper>;
15391   mozIThirdPartyUtil: nsJSIID<mozIThirdPartyUtil>;
15392   nsIArrayBufferInputStream: nsJSIID<nsIArrayBufferInputStream>;
15393   nsIAsyncStreamCopier: nsJSIID<nsIAsyncStreamCopier>;
15394   nsIAsyncStreamCopier2: nsJSIID<nsIAsyncStreamCopier2>;
15395   nsIAsyncVerifyRedirectCallback: nsJSIID<nsIAsyncVerifyRedirectCallback>;
15396   nsIAuthInformation: nsJSIID<nsIAuthInformation>;
15397   nsIAuthPrompt: nsJSIID<nsIAuthPrompt>;
15398   nsIAuthPrompt2: nsJSIID<nsIAuthPrompt2>;
15399   nsIAuthPromptAdapterFactory: nsJSIID<nsIAuthPromptAdapterFactory>;
15400   nsIAuthPromptCallback: nsJSIID<nsIAuthPromptCallback>;
15401   nsIAuthPromptProvider: nsJSIID<nsIAuthPromptProvider>;
15402   nsIBackgroundFileSaver: nsJSIID<nsIBackgroundFileSaver>;
15403   nsIBackgroundFileSaverObserver: nsJSIID<nsIBackgroundFileSaverObserver>;
15404   nsIBufferedInputStream: nsJSIID<nsIBufferedInputStream>;
15405   nsIBufferedOutputStream: nsJSIID<nsIBufferedOutputStream>;
15406   nsIByteRangeRequest: nsJSIID<nsIByteRangeRequest>;
15407   nsIInputStreamReceiver: nsJSIID<nsIInputStreamReceiver>;
15408   nsICacheInfoChannel: nsJSIID<nsICacheInfoChannel, typeof nsICacheInfoChannel.PreferredAlternativeDataDeliveryType>;
15409   nsICachingChannel: nsJSIID<nsICachingChannel>;
15410   nsICancelable: nsJSIID<nsICancelable>;
15411   nsICaptivePortalServiceCallback: nsJSIID<nsICaptivePortalServiceCallback>;
15412   nsICaptivePortalService: nsJSIID<nsICaptivePortalService>;
15413   nsIChannel: nsJSIID<nsIChannel>;
15414   nsIIdentChannel: nsJSIID<nsIIdentChannel>;
15415   nsIChannelEventSink: nsJSIID<nsIChannelEventSink>;
15416   nsIChildChannel: nsJSIID<nsIChildChannel>;
15417   nsIClassOfService: nsJSIID<nsIClassOfService>;
15418   nsIClassifiedChannel: nsJSIID<nsIClassifiedChannel, typeof nsIClassifiedChannel.ClassificationFlags>;
15419   nsIContentSniffer: nsJSIID<nsIContentSniffer>;
15420   nsIDHCPClient: nsJSIID<nsIDHCPClient>;
15421   nsINetDashboardCallback: nsJSIID<nsINetDashboardCallback>;
15422   nsIDashboard: nsJSIID<nsIDashboard>;
15423   nsIDownloader: nsJSIID<nsIDownloader>;
15424   nsIDownloadObserver: nsJSIID<nsIDownloadObserver>;
15425   nsIEncodedChannel: nsJSIID<nsIEncodedChannel>;
15426   nsIExternalProtocolHandler: nsJSIID<nsIExternalProtocolHandler>;
15427   nsIFileInputStream: nsJSIID<nsIFileInputStream>;
15428   nsIFileOutputStream: nsJSIID<nsIFileOutputStream>;
15429   nsIFileRandomAccessStream: nsJSIID<nsIFileRandomAccessStream>;
15430   nsIFileMetadata: nsJSIID<nsIFileMetadata>;
15431   nsIAsyncFileMetadata: nsJSIID<nsIAsyncFileMetadata>;
15432   nsIFileMetadataCallback: nsJSIID<nsIFileMetadataCallback>;
15433   nsIFileURL: nsJSIID<nsIFileURL>;
15434   nsIFileURLMutator: nsJSIID<nsIFileURLMutator>;
15435   nsIFormPOSTActionChannel: nsJSIID<nsIFormPOSTActionChannel>;
15436   nsIHttpPushListener: nsJSIID<nsIHttpPushListener>;
15437   nsIIOService: nsJSIID<nsIIOService>;
15438   nsIIncrementalDownload: nsJSIID<nsIIncrementalDownload>;
15439   nsIIncrementalStreamLoaderObserver: nsJSIID<nsIIncrementalStreamLoaderObserver>;
15440   nsIIncrementalStreamLoader: nsJSIID<nsIIncrementalStreamLoader>;
15441   nsIInputStreamChannel: nsJSIID<nsIInputStreamChannel>;
15442   nsIInputStreamPump: nsJSIID<nsIInputStreamPump>;
15443   nsIInterceptionInfo: nsJSIID<nsIInterceptionInfo>;
15444   nsILoadContextInfo: nsJSIID<nsILoadContextInfo>;
15445   nsILoadContextInfoFactory: nsJSIID<nsILoadContextInfoFactory>;
15446   nsILoadGroup: nsJSIID<nsILoadGroup>;
15447   nsILoadGroupChild: nsJSIID<nsILoadGroupChild>;
15448   nsILoadInfo: nsJSIID<nsILoadInfo, typeof nsILoadInfo.StoragePermissionState & typeof nsILoadInfo.CrossOriginOpenerPolicy & typeof nsILoadInfo.CrossOriginEmbedderPolicy>;
15449   nsIMIMEInputStream: nsJSIID<nsIMIMEInputStream>;
15450   nsIMultiPartChannel: nsJSIID<nsIMultiPartChannel>;
15451   nsIMultiPartChannelListener: nsJSIID<nsIMultiPartChannelListener>;
15452   nsINestedURI: nsJSIID<nsINestedURI>;
15453   nsINestedURIMutator: nsJSIID<nsINestedURIMutator>;
15454   nsINestedAboutURIMutator: nsJSIID<nsINestedAboutURIMutator>;
15455   nsIJSURIMutator: nsJSIID<nsIJSURIMutator>;
15456   nsINetAddr: nsJSIID<nsINetAddr>;
15457   nsINetUtil: nsJSIID<nsINetUtil>;
15458   nsINetworkConnectivityService: nsJSIID<nsINetworkConnectivityService, typeof nsINetworkConnectivityService.ConnectivityState>;
15459   nsIListNetworkAddressesListener: nsJSIID<nsIListNetworkAddressesListener>;
15460   nsIGetHostnameListener: nsJSIID<nsIGetHostnameListener>;
15461   nsINetworkInfoService: nsJSIID<nsINetworkInfoService>;
15462   nsIInterceptedBodyCallback: nsJSIID<nsIInterceptedBodyCallback>;
15463   nsIInterceptedChannel: nsJSIID<nsIInterceptedChannel>;
15464   nsINetworkInterceptController: nsJSIID<nsINetworkInterceptController>;
15465   nsINetworkLinkService: nsJSIID<nsINetworkLinkService>;
15466   nsINetworkPredictor: nsJSIID<nsINetworkPredictor>;
15467   nsINetworkPredictorVerifier: nsJSIID<nsINetworkPredictorVerifier>;
15468   nsINullChannel: nsJSIID<nsINullChannel>;
15469   nsIParentChannel: nsJSIID<nsIParentChannel>;
15470   nsIParentRedirectingChannel: nsJSIID<nsIParentRedirectingChannel>;
15471   nsIPermission: nsJSIID<nsIPermission>;
15472   nsIPermissionManager: nsJSIID<nsIPermissionManager>;
15473   nsIPrivateBrowsingChannel: nsJSIID<nsIPrivateBrowsingChannel>;
15474   nsIProgressEventSink: nsJSIID<nsIProgressEventSink>;
15475   nsIPrompt: nsJSIID<nsIPrompt>;
15476   nsIProtocolHandlerWithDynamicFlags: nsJSIID<nsIProtocolHandlerWithDynamicFlags>;
15477   nsIProtocolHandler: nsJSIID<nsIProtocolHandler>;
15478   nsIProtocolProxyCallback: nsJSIID<nsIProtocolProxyCallback>;
15479   nsIProxyProtocolFilterResult: nsJSIID<nsIProxyProtocolFilterResult>;
15480   nsIProtocolProxyFilter: nsJSIID<nsIProtocolProxyFilter>;
15481   nsIProtocolProxyChannelFilter: nsJSIID<nsIProtocolProxyChannelFilter>;
15482   nsIProxyConfigChangedCallback: nsJSIID<nsIProxyConfigChangedCallback>;
15483   nsIProtocolProxyService: nsJSIID<nsIProtocolProxyService>;
15484   nsIProtocolProxyService2: nsJSIID<nsIProtocolProxyService2>;
15485   nsIProxiedChannel: nsJSIID<nsIProxiedChannel>;
15486   nsIProxiedProtocolHandler: nsJSIID<nsIProxiedProtocolHandler>;
15487   nsIProxyInfo: nsJSIID<nsIProxyInfo>;
15488   nsIRandomGenerator: nsJSIID<nsIRandomGenerator>;
15489   nsIRedirectChannelRegistrar: nsJSIID<nsIRedirectChannelRegistrar>;
15490   nsIRedirectHistoryEntry: nsJSIID<nsIRedirectHistoryEntry>;
15491   nsIRedirectResultListener: nsJSIID<nsIRedirectResultListener>;
15492   nsIRequest: nsJSIID<nsIRequest, typeof nsIRequest.TRRMode>;
15493   nsIRequestObserver: nsJSIID<nsIRequestObserver>;
15494   nsIRequestObserverProxy: nsJSIID<nsIRequestObserverProxy>;
15495   nsIResumableChannel: nsJSIID<nsIResumableChannel>;
15496   nsISecCheckWrapChannel: nsJSIID<nsISecCheckWrapChannel>;
15497   nsISecureBrowserUI: nsJSIID<nsISecureBrowserUI>;
15498   nsISensitiveInfoHiddenURI: nsJSIID<nsISensitiveInfoHiddenURI>;
15499   nsISerializationHelper: nsJSIID<nsISerializationHelper>;
15500   nsIServerSocket: nsJSIID<nsIServerSocket>;
15501   nsIServerSocketListener: nsJSIID<nsIServerSocketListener>;
15502   nsISimpleStreamListener: nsJSIID<nsISimpleStreamListener>;
15503   nsISimpleURIMutator: nsJSIID<nsISimpleURIMutator>;
15504   nsISocketTransport: nsJSIID<nsISocketTransport>;
15505   nsISTSShutdownObserver: nsJSIID<nsISTSShutdownObserver>;
15506   nsISocketTransportService: nsJSIID<nsISocketTransportService>;
15507   nsIRoutedSocketTransportService: nsJSIID<nsIRoutedSocketTransportService>;
15508   nsISpeculativeConnect: nsJSIID<nsISpeculativeConnect>;
15509   nsIStandardURL: nsJSIID<nsIStandardURL>;
15510   nsIStandardURLMutator: nsJSIID<nsIStandardURLMutator>;
15511   nsIStreamListener: nsJSIID<nsIStreamListener>;
15512   nsIStreamListenerTee: nsJSIID<nsIStreamListenerTee>;
15513   nsIStreamLoaderObserver: nsJSIID<nsIStreamLoaderObserver>;
15514   nsIStreamLoader: nsJSIID<nsIStreamLoader>;
15515   nsIStreamTransportService: nsJSIID<nsIStreamTransportService>;
15516   nsISyncStreamListener: nsJSIID<nsISyncStreamListener>;
15517   nsISystemProxySettings: nsJSIID<nsISystemProxySettings>;
15518   nsITLSServerSocket: nsJSIID<nsITLSServerSocket>;
15519   nsITLSClientStatus: nsJSIID<nsITLSClientStatus>;
15520   nsITLSServerConnectionInfo: nsJSIID<nsITLSServerConnectionInfo>;
15521   nsITLSServerSecurityObserver: nsJSIID<nsITLSServerSecurityObserver>;
15522   nsIThreadRetargetableStreamListener: nsJSIID<nsIThreadRetargetableStreamListener>;
15523   nsIInputChannelThrottleQueue: nsJSIID<nsIInputChannelThrottleQueue>;
15524   nsIThrottledInputChannel: nsJSIID<nsIThrottledInputChannel>;
15525   nsIServerTiming: nsJSIID<nsIServerTiming>;
15526   nsITimedChannel: nsJSIID<nsITimedChannel>;
15527   nsITraceableChannel: nsJSIID<nsITraceableChannel>;
15528   nsITransport: nsJSIID<nsITransport>;
15529   nsITransportEventSink: nsJSIID<nsITransportEventSink>;
15530   nsIUDPSocket: nsJSIID<nsIUDPSocket>;
15531   nsIUDPSocketListener: nsJSIID<nsIUDPSocketListener>;
15532   nsIUDPMessage: nsJSIID<nsIUDPMessage>;
15533   nsIURI: nsJSIID<nsIURI>;
15534   nsIURISetSpec: nsJSIID<nsIURISetSpec>;
15535   nsIURISetters: nsJSIID<nsIURISetters>;
15536   nsIURIMutator: nsJSIID<nsIURIMutator>;
15537   nsIURIWithSpecialOrigin: nsJSIID<nsIURIWithSpecialOrigin>;
15538   nsIURL: nsJSIID<nsIURL>;
15539   nsIURLMutator: nsJSIID<nsIURLMutator>;
15540   nsIURLParser: nsJSIID<nsIURLParser>;
15541   nsIUploadChannel: nsJSIID<nsIUploadChannel>;
15542   nsIUploadChannel2: nsJSIID<nsIUploadChannel2>;
15543   nsPISocketTransportService: nsJSIID<nsPISocketTransportService>;
15544   nsIAboutModule: nsJSIID<nsIAboutModule>;
15545   nsICacheEntry: nsJSIID<nsICacheEntry>;
15546   nsICacheEntryMetaDataVisitor: nsJSIID<nsICacheEntryMetaDataVisitor>;
15547   nsICacheEntryDoomCallback: nsJSIID<nsICacheEntryDoomCallback>;
15548   nsICacheEntryOpenCallback: nsJSIID<nsICacheEntryOpenCallback>;
15549   nsICachePurgeLock: nsJSIID<nsICachePurgeLock>;
15550   nsICacheStorage: nsJSIID<nsICacheStorage>;
15551   nsICacheStorageService: nsJSIID<nsICacheStorageService>;
15552   nsICacheStorageConsumptionObserver: nsJSIID<nsICacheStorageConsumptionObserver>;
15553   nsICacheStorageVisitor: nsJSIID<nsICacheStorageVisitor>;
15554   nsICacheTesting: nsJSIID<nsICacheTesting>;
15555   nsICookie: nsJSIID<nsICookie, typeof nsICookie.schemeType>;
15556   nsICookieJarSettings: nsJSIID<nsICookieJarSettings>;
15557   nsICookieManager: nsJSIID<nsICookieManager>;
15558   nsICookieNotification: nsJSIID<nsICookieNotification, typeof nsICookieNotification.Action>;
15559   nsICookiePermission: nsJSIID<nsICookiePermission>;
15560   nsICookieTransactionCallback: nsJSIID<nsICookieTransactionCallback>;
15561   nsICookieService: nsJSIID<nsICookieService>;
15562   nsIDNSAdditionalInfo: nsJSIID<nsIDNSAdditionalInfo>;
15563   nsIDNSByTypeRecord: nsJSIID<nsIDNSByTypeRecord>;
15564   nsIDNSTXTRecord: nsJSIID<nsIDNSTXTRecord>;
15565   nsISVCParam: nsJSIID<nsISVCParam>;
15566   nsISVCParamAlpn: nsJSIID<nsISVCParamAlpn>;
15567   nsISVCParamNoDefaultAlpn: nsJSIID<nsISVCParamNoDefaultAlpn>;
15568   nsISVCParamPort: nsJSIID<nsISVCParamPort>;
15569   nsISVCParamIPv4Hint: nsJSIID<nsISVCParamIPv4Hint>;
15570   nsISVCParamEchConfig: nsJSIID<nsISVCParamEchConfig>;
15571   nsISVCParamIPv6Hint: nsJSIID<nsISVCParamIPv6Hint>;
15572   nsISVCParamODoHConfig: nsJSIID<nsISVCParamODoHConfig>;
15573   nsISVCBRecord: nsJSIID<nsISVCBRecord>;
15574   nsIDNSHTTPSSVCRecord: nsJSIID<nsIDNSHTTPSSVCRecord>;
15575   nsIDNSListener: nsJSIID<nsIDNSListener>;
15576   nsIDNSRecord: nsJSIID<nsIDNSRecord>;
15577   nsIDNSAddrRecord: nsJSIID<nsIDNSAddrRecord>;
15578   nsIDNSService: nsJSIID<nsIDNSService, typeof nsIDNSService.ResolveType & typeof nsIDNSService.ResolverMode & typeof nsIDNSService.DNSFlags & typeof nsIDNSService.ConfirmationState>;
15579   nsIEffectiveTLDService: nsJSIID<nsIEffectiveTLDService>;
15580   nsIIDNService: nsJSIID<nsIIDNService>;
15581   nsINativeDNSResolverOverride: nsJSIID<nsINativeDNSResolverOverride>;
15582   nsITRRSkipReason: nsJSIID<nsITRRSkipReason, typeof nsITRRSkipReason.value>;
15583   nsPIDNSService: nsJSIID<nsPIDNSService>;
15584   nsIFileChannel: nsJSIID<nsIFileChannel>;
15585   nsIFileProtocolHandler: nsJSIID<nsIFileProtocolHandler>;
15586   nsIBinaryHttpRequest: nsJSIID<nsIBinaryHttpRequest>;
15587   nsIBinaryHttpResponse: nsJSIID<nsIBinaryHttpResponse>;
15588   nsIBinaryHttp: nsJSIID<nsIBinaryHttp>;
15589   nsIEarlyHintObserver: nsJSIID<nsIEarlyHintObserver>;
15590   nsIHttpActivityObserver: nsJSIID<nsIHttpActivityObserver>;
15591   nsIHttpActivityDistributor: nsJSIID<nsIHttpActivityDistributor>;
15592   nsIHttpAuthManager: nsJSIID<nsIHttpAuthManager>;
15593   nsIHttpChannel: nsJSIID<nsIHttpChannel>;
15594   nsIHttpUpgradeListener: nsJSIID<nsIHttpUpgradeListener>;
15595   nsIHttpChannelInternal: nsJSIID<nsIHttpChannelInternal>;
15596   nsIHttpHeaderVisitor: nsJSIID<nsIHttpHeaderVisitor>;
15597   nsIHttpProtocolHandler: nsJSIID<nsIHttpProtocolHandler>;
15598   nsIObliviousHttpClientResponse: nsJSIID<nsIObliviousHttpClientResponse>;
15599   nsIObliviousHttpClientRequest: nsJSIID<nsIObliviousHttpClientRequest>;
15600   nsIObliviousHttpServerResponse: nsJSIID<nsIObliviousHttpServerResponse>;
15601   nsIObliviousHttpServer: nsJSIID<nsIObliviousHttpServer>;
15602   nsIObliviousHttp: nsJSIID<nsIObliviousHttp>;
15603   nsIObliviousHttpService: nsJSIID<nsIObliviousHttpService>;
15604   nsIObliviousHttpChannel: nsJSIID<nsIObliviousHttpChannel>;
15605   nsIRaceCacheWithNetwork: nsJSIID<nsIRaceCacheWithNetwork>;
15606   nsIWellKnownOpportunisticUtils: nsJSIID<nsIWellKnownOpportunisticUtils>;
15607   nsICompressConvStats: nsJSIID<nsICompressConvStats>;
15608   nsIResProtocolHandler: nsJSIID<nsIResProtocolHandler>;
15609   nsISubstitutingProtocolHandler: nsJSIID<nsISubstitutingProtocolHandler>;
15610   nsINamedPipeDataObserver: nsJSIID<nsINamedPipeDataObserver>;
15611   nsINamedPipeService: nsJSIID<nsINamedPipeService>;
15612   nsISocketProvider: nsJSIID<nsISocketProvider>;
15613   nsISocketProviderService: nsJSIID<nsISocketProviderService>;
15614   mozITXTToHTMLConv: nsJSIID<mozITXTToHTMLConv>;
15615   nsIDirIndex: nsJSIID<nsIDirIndex>;
15616   nsIDirIndexListener: nsJSIID<nsIDirIndexListener>;
15617   nsIDirIndexParser: nsJSIID<nsIDirIndexParser>;
15618   nsIStreamConverter: nsJSIID<nsIStreamConverter>;
15619   nsIStreamConverterService: nsJSIID<nsIStreamConverterService>;
15620   nsITXTToHTMLConv: nsJSIID<nsITXTToHTMLConv>;
15621   nsITransportProvider: nsJSIID<nsITransportProvider>;
15622   nsIWebSocketChannel: nsJSIID<nsIWebSocketChannel>;
15623   nsIWebSocketFrame: nsJSIID<nsIWebSocketFrame>;
15624   nsIWebSocketEventListener: nsJSIID<nsIWebSocketEventListener>;
15625   nsIWebSocketEventService: nsJSIID<nsIWebSocketEventService>;
15626   nsIWebSocketImpl: nsJSIID<nsIWebSocketImpl>;
15627   nsIWebSocketListener: nsJSIID<nsIWebSocketListener>;
15628   nsIWebTransport: nsJSIID<nsIWebTransport, typeof nsIWebTransport.WebTransportError>;
15629   WebTransportSessionEventListener: nsJSIID<WebTransportSessionEventListener, typeof WebTransportSessionEventListener.DatagramOutcome>;
15630   nsIWebTransportStreamCallback: nsJSIID<nsIWebTransportStreamCallback>;
15631   nsIWebTransportHash: nsJSIID<nsIWebTransportHash>;
15632   nsIWebTransportSendStreamStats: nsJSIID<nsIWebTransportSendStreamStats>;
15633   nsIWebTransportReceiveStreamStats: nsJSIID<nsIWebTransportReceiveStreamStats>;
15634   nsIWebTransportStreamStatsCallback: nsJSIID<nsIWebTransportStreamStatsCallback>;
15635   nsIWebTransportReceiveStream: nsJSIID<nsIWebTransportReceiveStream>;
15636   nsIWebTransportSendStream: nsJSIID<nsIWebTransportSendStream>;
15637   nsIWebTransportBidirectionalStream: nsJSIID<nsIWebTransportBidirectionalStream>;
15638   nsIWifiAccessPoint: nsJSIID<nsIWifiAccessPoint>;
15639   nsIWifiListener: nsJSIID<nsIWifiListener>;
15640   nsIWifiMonitor: nsJSIID<nsIWifiMonitor>;
15641   nsIParentalControlsService: nsJSIID<nsIParentalControlsService>;
15642   IPeerConnectionObserver: nsJSIID<IPeerConnectionObserver>;
15643   IPeerConnection: nsJSIID<IPeerConnection>;
15644   nsICertOverride: nsJSIID<nsICertOverride>;
15645   nsICertOverrideService: nsJSIID<nsICertOverrideService>;
15646   nsICertStorageCallback: nsJSIID<nsICertStorageCallback>;
15647   nsIRevocationState: nsJSIID<nsIRevocationState>;
15648   nsIIssuerAndSerialRevocationState: nsJSIID<nsIIssuerAndSerialRevocationState>;
15649   nsISubjectAndPubKeyRevocationState: nsJSIID<nsISubjectAndPubKeyRevocationState>;
15650   nsICRLiteCoverage: nsJSIID<nsICRLiteCoverage>;
15651   nsICertInfo: nsJSIID<nsICertInfo>;
15652   nsICertStorage: nsJSIID<nsICertStorage>;
15653   nsICertTreeItem: nsJSIID<nsICertTreeItem>;
15654   nsICertTree: nsJSIID<nsICertTree>;
15655   nsICertificateDialogs: nsJSIID<nsICertificateDialogs>;
15656   nsIClientAuthDialogCallback: nsJSIID<nsIClientAuthDialogCallback>;
15657   nsIClientAuthDialogService: nsJSIID<nsIClientAuthDialogService>;
15658   nsIClientAuthRememberRecord: nsJSIID<nsIClientAuthRememberRecord>;
15659   nsIClientAuthRememberService: nsJSIID<nsIClientAuthRememberService>;
15660   nsIContentSignatureVerifier: nsJSIID<nsIContentSignatureVerifier>;
15661   nsICryptoHash: nsJSIID<nsICryptoHash>;
15662   nsIDataStorageManager: nsJSIID<nsIDataStorageManager, typeof nsIDataStorageManager.DataStorage>;
15663   nsIDataStorage: nsJSIID<nsIDataStorage, typeof nsIDataStorage.DataType>;
15664   nsIDataStorageItem: nsJSIID<nsIDataStorageItem>;
15665   nsINSSComponent: nsJSIID<nsINSSComponent>;
15666   nsINSSErrorsService: nsJSIID<nsINSSErrorsService>;
15667   nsINSSVersion: nsJSIID<nsINSSVersion>;
15668   nsIOSKeyStore: nsJSIID<nsIOSKeyStore>;
15669   nsIOSReauthenticator: nsJSIID<nsIOSReauthenticator>;
15670   nsIPK11Token: nsJSIID<nsIPK11Token>;
15671   nsIPK11TokenDB: nsJSIID<nsIPK11TokenDB>;
15672   nsIPKCS11Module: nsJSIID<nsIPKCS11Module>;
15673   nsIPKCS11ModuleDB: nsJSIID<nsIPKCS11ModuleDB>;
15674   nsIPKCS11Slot: nsJSIID<nsIPKCS11Slot>;
15675   nsIPublicKeyPinningService: nsJSIID<nsIPublicKeyPinningService>;
15676   nsISecretDecoderRing: nsJSIID<nsISecretDecoderRing>;
15677   nsISecurityUITelemetry: nsJSIID<nsISecurityUITelemetry>;
15678   nsISiteSecurityService: nsJSIID<nsISiteSecurityService, typeof nsISiteSecurityService.ResetStateBy>;
15679   nsITLSSocketControl: nsJSIID<nsITLSSocketControl>;
15680   nsITokenPasswordDialogs: nsJSIID<nsITokenPasswordDialogs>;
15681   nsITransportSecurityInfo: nsJSIID<nsITransportSecurityInfo, typeof nsITransportSecurityInfo.OverridableErrorCategory>;
15682   nsIX509Cert: nsJSIID<nsIX509Cert>;
15683   nsIAppSignatureInfo: nsJSIID<nsIAppSignatureInfo, typeof nsIAppSignatureInfo.SignatureAlgorithm>;
15684   nsIOpenSignedAppFileCallback: nsJSIID<nsIOpenSignedAppFileCallback>;
15685   nsIAsyncBoolCallback: nsJSIID<nsIAsyncBoolCallback>;
15686   nsICertVerificationCallback: nsJSIID<nsICertVerificationCallback>;
15687   nsIX509CertDB: nsJSIID<nsIX509CertDB>;
15688   nsIX509CertValidity: nsJSIID<nsIX509CertValidity>;
15689   mozIVisitInfo: nsJSIID<mozIVisitInfo>;
15690   mozIPlaceInfo: nsJSIID<mozIPlaceInfo>;
15691   mozIVisitInfoCallback: nsJSIID<mozIVisitInfoCallback>;
15692   mozIVisitedStatusCallback: nsJSIID<mozIVisitedStatusCallback>;
15693   mozIAsyncHistory: nsJSIID<mozIAsyncHistory>;
15694   mozIPlacesAutoComplete: nsJSIID<mozIPlacesAutoComplete>;
15695   mozIPlacesPendingOperation: nsJSIID<mozIPlacesPendingOperation>;
15696   mozISyncedBookmarksMirrorProgressListener: nsJSIID<mozISyncedBookmarksMirrorProgressListener>;
15697   mozISyncedBookmarksMirrorCallback: nsJSIID<mozISyncedBookmarksMirrorCallback>;
15698   mozISyncedBookmarksMirrorLogger: nsJSIID<mozISyncedBookmarksMirrorLogger>;
15699   mozISyncedBookmarksMerger: nsJSIID<mozISyncedBookmarksMerger>;
15700   nsIFaviconService: nsJSIID<nsIFaviconService>;
15701   nsIFaviconDataCallback: nsJSIID<nsIFaviconDataCallback>;
15702   nsINavBookmarksService: nsJSIID<nsINavBookmarksService>;
15703   nsINavHistoryResultNode: nsJSIID<nsINavHistoryResultNode>;
15704   nsINavHistoryContainerResultNode: nsJSIID<nsINavHistoryContainerResultNode>;
15705   nsINavHistoryQueryResultNode: nsJSIID<nsINavHistoryQueryResultNode>;
15706   nsINavHistoryResultObserver: nsJSIID<nsINavHistoryResultObserver>;
15707   nsINavHistoryResult: nsJSIID<nsINavHistoryResult>;
15708   nsINavHistoryQuery: nsJSIID<nsINavHistoryQuery>;
15709   nsINavHistoryQueryOptions: nsJSIID<nsINavHistoryQueryOptions>;
15710   nsINavHistoryService: nsJSIID<nsINavHistoryService>;
15711   nsIPlacesPreviewsHelperService: nsJSIID<nsIPlacesPreviewsHelperService>;
15712   nsITaggingService: nsJSIID<nsITaggingService>;
15713   nsIPrefBranch: nsJSIID<nsIPrefBranch>;
15714   nsIPrefLocalizedString: nsJSIID<nsIPrefLocalizedString>;
15715   nsIPrefStatsCallback: nsJSIID<nsIPrefStatsCallback>;
15716   nsIPrefObserver: nsJSIID<nsIPrefObserver>;
15717   nsIPrefService: nsJSIID<nsIPrefService>;
15718   nsIRelativeFilePref: nsJSIID<nsIRelativeFilePref>;
15719   nsIPrefetchService: nsJSIID<nsIPrefetchService>;
15720   nsIProfilerStartParams: nsJSIID<nsIProfilerStartParams>;
15721   nsIProfiler: nsJSIID<nsIProfiler>;
15722   nsIRddProcessTest: nsJSIID<nsIRddProcessTest>;
15723   nsIMarionette: nsJSIID<nsIMarionette>;
15724   nsIRemoteAgent: nsJSIID<nsIRemoteAgent>;
15725   nsIApplicationReputationService: nsJSIID<nsIApplicationReputationService>;
15726   nsIApplicationReputationQuery: nsJSIID<nsIApplicationReputationQuery>;
15727   nsIApplicationReputationCallback: nsJSIID<nsIApplicationReputationCallback>;
15728   mozISandboxSettings: nsJSIID<mozISandboxSettings>;
15729   nsIFormAutoComplete: nsJSIID<nsIFormAutoComplete>;
15730   nsIFormAutoCompleteObserver: nsJSIID<nsIFormAutoCompleteObserver>;
15731   nsIFormFillController: nsJSIID<nsIFormFillController>;
15732   mozIAppServicesLogger: nsJSIID<mozIAppServicesLogger>;
15733   mozIBridgedSyncEngineCallback: nsJSIID<mozIBridgedSyncEngineCallback>;
15734   mozIBridgedSyncEngineApplyCallback: nsJSIID<mozIBridgedSyncEngineApplyCallback>;
15735   mozIBridgedSyncEngine: nsJSIID<mozIBridgedSyncEngine>;
15736   mozIInterruptible: nsJSIID<mozIInterruptible>;
15737   mozIServicesLogSink: nsJSIID<mozIServicesLogSink>;
15738   nsISessionStoreFunctions: nsJSIID<nsISessionStoreFunctions>;
15739   nsISessionStoreRestoreData: nsJSIID<nsISessionStoreRestoreData>;
15740   nsIShellService: nsJSIID<nsIShellService>;
15741   nsIWindowsShellService: nsJSIID<nsIWindowsShellService>;
15742   nsIBFCacheEntry: nsJSIID<nsIBFCacheEntry>;
15743   nsISHEntry: nsJSIID<nsISHEntry>;
15744   nsISHistory: nsJSIID<nsISHistory>;
15745   nsISHistoryListener: nsJSIID<nsISHistoryListener>;
15746   mozIPersonalDictionary: nsJSIID<mozIPersonalDictionary>;
15747   mozISpellCheckingEngine: nsJSIID<mozISpellCheckingEngine>;
15748   nsIStartupCacheInfo: nsJSIID<nsIStartupCacheInfo>;
15749   mozIStorageAsyncConnection: nsJSIID<mozIStorageAsyncConnection>;
15750   mozIStorageAsyncStatement: nsJSIID<mozIStorageAsyncStatement>;
15751   mozIStorageBaseStatement: nsJSIID<mozIStorageBaseStatement>;
15752   mozIStorageBindingParams: nsJSIID<mozIStorageBindingParams>;
15753   mozIStorageBindingParamsArray: nsJSIID<mozIStorageBindingParamsArray>;
15754   mozIStorageCompletionCallback: nsJSIID<mozIStorageCompletionCallback>;
15755   mozIStorageConnection: nsJSIID<mozIStorageConnection>;
15756   mozIStorageError: nsJSIID<mozIStorageError>;
15757   mozIStorageFunction: nsJSIID<mozIStorageFunction>;
15758   mozIStoragePendingStatement: nsJSIID<mozIStoragePendingStatement>;
15759   mozIStorageProgressHandler: nsJSIID<mozIStorageProgressHandler>;
15760   mozIStorageResultSet: nsJSIID<mozIStorageResultSet>;
15761   mozIStorageRow: nsJSIID<mozIStorageRow>;
15762   mozIStorageService: nsJSIID<mozIStorageService>;
15763   mozIStorageStatement: nsJSIID<mozIStorageStatement>;
15764   mozIStorageStatementCallback: nsJSIID<mozIStorageStatementCallback>;
15765   mozIStorageVacuumParticipant: nsJSIID<mozIStorageVacuumParticipant>;
15766   mozIStorageValueArray: nsJSIID<mozIStorageValueArray>;
15767   nsIWinTaskSchedulerService: nsJSIID<nsIWinTaskSchedulerService>;
15768   nsIFetchTelemetryDataCallback: nsJSIID<nsIFetchTelemetryDataCallback>;
15769   nsITelemetry: nsJSIID<nsITelemetry>;
15770   nsIDAPTelemetry: nsJSIID<nsIDAPTelemetry>;
15771   nsIHttpServer: nsJSIID<nsIHttpServer>;
15772   nsIHttpServerStoppedCallback: nsJSIID<nsIHttpServerStoppedCallback>;
15773   nsIHttpServerIdentity: nsJSIID<nsIHttpServerIdentity>;
15774   nsIHttpRequestHandler: nsJSIID<nsIHttpRequestHandler>;
15775   nsIHttpRequest: nsJSIID<nsIHttpRequest>;
15776   nsIHttpResponse: nsJSIID<nsIHttpResponse>;
15777   nsIPageThumbsStorageService: nsJSIID<nsIPageThumbsStorageService>;
15778   nsIProfileStartup: nsJSIID<nsIProfileStartup>;
15779   nsIProfileMigrator: nsJSIID<nsIProfileMigrator>;
15780   nsIProfileUnlocker: nsJSIID<nsIProfileUnlocker>;
15781   nsIProfileLock: nsJSIID<nsIProfileLock>;
15782   nsIToolkitProfile: nsJSIID<nsIToolkitProfile>;
15783   nsIToolkitProfileService: nsJSIID<nsIToolkitProfileService, typeof nsIToolkitProfileService.downgradeUIFlags & typeof nsIToolkitProfileService.downgradeUIChoice & typeof nsIToolkitProfileService.profileManagerResult>;
15784   nsIBounceTrackingProtection: nsJSIID<nsIBounceTrackingProtection>;
15785   nsIContentBlockingAllowList: nsJSIID<nsIContentBlockingAllowList>;
15786   nsIPartitioningExceptionListObserver: nsJSIID<nsIPartitioningExceptionListObserver>;
15787   nsIPartitioningExceptionListService: nsJSIID<nsIPartitioningExceptionListService>;
15788   nsIPurgeTrackerService: nsJSIID<nsIPurgeTrackerService>;
15789   nsITrackingDBService: nsJSIID<nsITrackingDBService>;
15790   nsIURLDecorationAnnotationsService: nsJSIID<nsIURLDecorationAnnotationsService>;
15791   nsIURLQueryStringStripper: nsJSIID<nsIURLQueryStringStripper>;
15792   nsIURLQueryStrippingListObserver: nsJSIID<nsIURLQueryStrippingListObserver>;
15793   nsIURLQueryStrippingListService: nsJSIID<nsIURLQueryStrippingListService>;
15794   nsIAsyncShutdownBlocker: nsJSIID<nsIAsyncShutdownBlocker>;
15795   nsIAsyncShutdownClient: nsJSIID<nsIAsyncShutdownClient>;
15796   nsIAsyncShutdownCompletionCallback: nsJSIID<nsIAsyncShutdownCompletionCallback>;
15797   nsIAsyncShutdownBarrier: nsJSIID<nsIAsyncShutdownBarrier>;
15798   nsIAsyncShutdownService: nsJSIID<nsIAsyncShutdownService>;
15799   nsIBackgroundTasks: nsJSIID<nsIBackgroundTasks>;
15800   nsIBackgroundTasksManager: nsJSIID<nsIBackgroundTasksManager>;
15801   nsIBackgroundTasksRunner: nsJSIID<nsIBackgroundTasksRunner>;
15802   nsIClearDataService: nsJSIID<nsIClearDataService>;
15803   nsIClearDataCallback: nsJSIID<nsIClearDataCallback>;
15804   nsIContentAnalysisAcknowledgement: nsJSIID<nsIContentAnalysisAcknowledgement, typeof nsIContentAnalysisAcknowledgement.Result & typeof nsIContentAnalysisAcknowledgement.FinalAction>;
15805   nsIContentAnalysisResponse: nsJSIID<nsIContentAnalysisResponse, typeof nsIContentAnalysisResponse.Action>;
15806   nsIClientDownloadResource: nsJSIID<nsIClientDownloadResource>;
15807   nsIContentAnalysisRequest: nsJSIID<nsIContentAnalysisRequest, typeof nsIContentAnalysisRequest.AnalysisType & typeof nsIContentAnalysisRequest.OperationType>;
15808   nsIContentAnalysisResult: nsJSIID<nsIContentAnalysisResult>;
15809   nsIContentAnalysisCallback: nsJSIID<nsIContentAnalysisCallback>;
15810   nsIContentAnalysis: nsJSIID<nsIContentAnalysis>;
15811   nsIClickRule: nsJSIID<nsIClickRule, typeof nsIClickRule.RunContext>;
15812   nsICookieBannerListService: nsJSIID<nsICookieBannerListService>;
15813   nsICookieBannerRule: nsJSIID<nsICookieBannerRule>;
15814   nsICookieBannerService: nsJSIID<nsICookieBannerService, typeof nsICookieBannerService.Modes>;
15815   nsICookieRule: nsJSIID<nsICookieRule>;
15816   nsICrashService: nsJSIID<nsICrashService>;
15817   nsIFinalizationWitnessService: nsJSIID<nsIFinalizationWitnessService>;
15818   nsIVisibleTab: nsJSIID<nsIVisibleTab>;
15819   nsIBrowserWindowTracker: nsJSIID<nsIBrowserWindowTracker>;
15820   nsIRegion: nsJSIID<nsIRegion>;
15821   nsIProcessToolsService: nsJSIID<nsIProcessToolsService>;
15822   nsIFingerprintingOverride: nsJSIID<nsIFingerprintingOverride>;
15823   nsIFingerprintingWebCompatService: nsJSIID<nsIFingerprintingWebCompatService>;
15824   nsIRFPService: nsJSIID<nsIRFPService>;
15825   nsISearchSubmission: nsJSIID<nsISearchSubmission>;
15826   nsISearchEngine: nsJSIID<nsISearchEngine>;
15827   nsISearchParseSubmissionResult: nsJSIID<nsISearchParseSubmissionResult>;
15828   nsISearchService: nsJSIID<nsISearchService>;
15829   nsIToolkitShellService: nsJSIID<nsIToolkitShellService>;
15830   nsIXULStore: nsJSIID<nsIXULStore>;
15831   nsITransaction: nsJSIID<nsITransaction>;
15832   nsITransactionManager: nsJSIID<nsITransactionManager>;
15833   nsIInlineSpellChecker: nsJSIID<nsIInlineSpellChecker>;
15834   nsIScriptableUnicodeConverter: nsJSIID<nsIScriptableUnicodeConverter>;
15835   nsITextToSubURI: nsJSIID<nsITextToSubURI>;
15836   nsIUpdateTimerManager: nsJSIID<nsIUpdateTimerManager>;
15837   nsIUpdatePatch: nsJSIID<nsIUpdatePatch>;
15838   nsIUpdate: nsJSIID<nsIUpdate>;
15839   nsIUpdateCheckResult: nsJSIID<nsIUpdateCheckResult>;
15840   nsIUpdateCheck: nsJSIID<nsIUpdateCheck>;
15841   nsIUpdateChecker: nsJSIID<nsIUpdateChecker>;
15842   nsIApplicationUpdateService: nsJSIID<nsIApplicationUpdateService>;
15843   nsIUpdateProcessor: nsJSIID<nsIUpdateProcessor>;
15844   nsIUpdateSyncManager: nsJSIID<nsIUpdateSyncManager>;
15845   nsIUpdateManager: nsJSIID<nsIUpdateManager>;
15846   nsIContentHandler: nsJSIID<nsIContentHandler>;
15847   nsIDocumentLoader: nsJSIID<nsIDocumentLoader>;
15848   nsITransfer: nsJSIID<nsITransfer>;
15849   nsIURIContentListener: nsJSIID<nsIURIContentListener>;
15850   nsIURILoader: nsJSIID<nsIURILoader>;
15851   nsIWebProgress: nsJSIID<nsIWebProgress>;
15852   nsIWebProgressListener: nsJSIID<nsIWebProgressListener>;
15853   nsIWebProgressListener2: nsJSIID<nsIWebProgressListener2>;
15854   nsIUrlClassifierBlockedChannel: nsJSIID<nsIUrlClassifierBlockedChannel>;
15855   nsIChannelClassifierService: nsJSIID<nsIChannelClassifierService>;
15856   nsIURIClassifierCallback: nsJSIID<nsIURIClassifierCallback>;
15857   nsIURIClassifier: nsJSIID<nsIURIClassifier>;
15858   nsIUrlClassifierExceptionListObserver: nsJSIID<nsIUrlClassifierExceptionListObserver>;
15859   nsIUrlClassifierExceptionListService: nsJSIID<nsIUrlClassifierExceptionListService>;
15860   nsIUrlClassifierFeature: nsJSIID<nsIUrlClassifierFeature, typeof nsIUrlClassifierFeature.listType & typeof nsIUrlClassifierFeature.URIType>;
15861   nsIUrlClassifierFeatureResult: nsJSIID<nsIUrlClassifierFeatureResult>;
15862   nsIUrlClassifierFeatureCallback: nsJSIID<nsIUrlClassifierFeatureCallback>;
15863   IUrlClassifierUITelemetry: nsJSIID<IUrlClassifierUITelemetry>;
15864   nsIUrlClassifierCallback: nsJSIID<nsIUrlClassifierCallback>;
15865   nsIUrlClassifierUpdateObserver: nsJSIID<nsIUrlClassifierUpdateObserver>;
15866   nsIUrlClassifierDBService: nsJSIID<nsIUrlClassifierDBService>;
15867   nsIFullHashMatch: nsJSIID<nsIFullHashMatch>;
15868   nsIUrlClassifierHashCompleterCallback: nsJSIID<nsIUrlClassifierHashCompleterCallback>;
15869   nsIUrlClassifierHashCompleter: nsJSIID<nsIUrlClassifierHashCompleter>;
15870   nsIUrlClassifierPositiveCacheEntry: nsJSIID<nsIUrlClassifierPositiveCacheEntry>;
15871   nsIUrlClassifierCacheEntry: nsJSIID<nsIUrlClassifierCacheEntry>;
15872   nsIUrlClassifierCacheInfo: nsJSIID<nsIUrlClassifierCacheInfo>;
15873   nsIUrlClassifierGetCacheCallback: nsJSIID<nsIUrlClassifierGetCacheCallback>;
15874   nsIUrlClassifierInfo: nsJSIID<nsIUrlClassifierInfo>;
15875   nsIUrlClassifierPrefixSet: nsJSIID<nsIUrlClassifierPrefixSet>;
15876   nsIUrlClassifierRemoteSettingsService: nsJSIID<nsIUrlClassifierRemoteSettingsService>;
15877   nsIUrlClassifierStreamUpdater: nsJSIID<nsIUrlClassifierStreamUpdater>;
15878   nsIUrlClassifierParseFindFullHashCallback: nsJSIID<nsIUrlClassifierParseFindFullHashCallback>;
15879   nsIUrlClassifierUtils: nsJSIID<nsIUrlClassifierUtils>;
15880   nsIUrlListManager: nsJSIID<nsIUrlListManager>;
15881   nsIURLFormatter: nsJSIID<nsIURLFormatter>;
15882   nsIUtilityProcessTest: nsJSIID<nsIUtilityProcessTest>;
15883   nsIWebBrowserPersist: nsJSIID<nsIWebBrowserPersist>;
15884   nsIWebBrowserPersistURIMap: nsJSIID<nsIWebBrowserPersistURIMap>;
15885   nsIWebBrowserPersistDocument: nsJSIID<nsIWebBrowserPersistDocument>;
15886   nsIWebBrowserPersistResourceVisitor: nsJSIID<nsIWebBrowserPersistResourceVisitor>;
15887   nsIWebBrowserPersistWriteCompletion: nsJSIID<nsIWebBrowserPersistWriteCompletion>;
15888   nsIWebBrowserPersistDocumentReceiver: nsJSIID<nsIWebBrowserPersistDocumentReceiver>;
15889   nsIWebBrowser: nsJSIID<nsIWebBrowser>;
15890   nsIWebBrowserChrome: nsJSIID<nsIWebBrowserChrome>;
15891   nsIWebBrowserChromeFocus: nsJSIID<nsIWebBrowserChromeFocus>;
15892   nsIWebBrowserPrint: nsJSIID<nsIWebBrowserPrint>;
15893   mozIExtensionStorageArea: nsJSIID<mozIExtensionStorageArea>;
15894   mozIConfigurableExtensionStorageArea: nsJSIID<mozIConfigurableExtensionStorageArea>;
15895   mozISyncedExtensionStorageArea: nsJSIID<mozISyncedExtensionStorageArea>;
15896   mozIExtensionStorageListener: nsJSIID<mozIExtensionStorageListener>;
15897   mozIExtensionStorageCallback: nsJSIID<mozIExtensionStorageCallback>;
15898   extIWebNavigation: nsJSIID<extIWebNavigation>;
15899   mozIExtensionServiceWorkerInfo: nsJSIID<mozIExtensionServiceWorkerInfo>;
15900   mozIExtensionListenerCallOptions: nsJSIID<mozIExtensionListenerCallOptions, typeof mozIExtensionListenerCallOptions.APIObjectType & typeof mozIExtensionListenerCallOptions.CallbackType>;
15901   mozIExtensionEventListener: nsJSIID<mozIExtensionEventListener>;
15902   mozIExtensionAPIRequest: nsJSIID<mozIExtensionAPIRequest, typeof mozIExtensionAPIRequest.RequestType>;
15903   mozIExtensionAPIRequestResult: nsJSIID<mozIExtensionAPIRequestResult, typeof mozIExtensionAPIRequestResult.ResultType>;
15904   mozIExtensionAPIRequestHandler: nsJSIID<mozIExtensionAPIRequestHandler>;
15905   mozIExtensionProcessScript: nsJSIID<mozIExtensionProcessScript>;
15906   nsIWebVTTListener: nsJSIID<nsIWebVTTListener>;
15907   nsIWebVTTParserWrapper: nsJSIID<nsIWebVTTParserWrapper>;
15908   nsIBaseWindow: nsJSIID<nsIBaseWindow>;
15909   nsIBidiKeyboard: nsJSIID<nsIBidiKeyboard>;
15910   nsIAsyncSetClipboardData: nsJSIID<nsIAsyncSetClipboardData>;
15911   nsIAsyncClipboardRequestCallback: nsJSIID<nsIAsyncClipboardRequestCallback>;
15912   nsIAsyncGetClipboardData: nsJSIID<nsIAsyncGetClipboardData>;
15913   nsIAsyncClipboardGetCallback: nsJSIID<nsIAsyncClipboardGetCallback>;
15914   nsIClipboard: nsJSIID<nsIClipboard>;
15915   nsIClipboardHelper: nsJSIID<nsIClipboardHelper, typeof nsIClipboardHelper.SensitiveData>;
15916   nsIClipboardOwner: nsJSIID<nsIClipboardOwner>;
15917   nsIColorPickerShownCallback: nsJSIID<nsIColorPickerShownCallback>;
15918   nsIColorPicker: nsJSIID<nsIColorPicker>;
15919   nsIDisplayInfo: nsJSIID<nsIDisplayInfo>;
15920   nsIDragService: nsJSIID<nsIDragService>;
15921   nsIDragSession: nsJSIID<nsIDragSession>;
15922   nsIFilePicker: nsJSIID<nsIFilePicker, typeof nsIFilePicker.Mode & typeof nsIFilePicker.ResultCode & typeof nsIFilePicker.CaptureTarget>;
15923   nsIFilePickerShownCallback: nsJSIID<nsIFilePickerShownCallback>;
15924   nsIFormatConverter: nsJSIID<nsIFormatConverter>;
15925   nsIGfxInfo: nsJSIID<nsIGfxInfo, typeof nsIGfxInfo.FontVisibilityDeviceDetermination>;
15926   nsIGfxInfoDebug: nsJSIID<nsIGfxInfoDebug>;
15927   nsIJumpListBuilder: nsJSIID<nsIJumpListBuilder>;
15928   nsILegacyJumpListCommittedCallback: nsJSIID<nsILegacyJumpListCommittedCallback>;
15929   nsILegacyJumpListBuilder: nsJSIID<nsILegacyJumpListBuilder>;
15930   nsILegacyJumpListItem: nsJSIID<nsILegacyJumpListItem>;
15931   nsILegacyJumpListSeparator: nsJSIID<nsILegacyJumpListSeparator>;
15932   nsILegacyJumpListLink: nsJSIID<nsILegacyJumpListLink>;
15933   nsILegacyJumpListShortcut: nsJSIID<nsILegacyJumpListShortcut>;
15934   nsIPaper: nsJSIID<nsIPaper>;
15935   nsIPaperMargin: nsJSIID<nsIPaperMargin>;
15936   nsIPrintDialogService: nsJSIID<nsIPrintDialogService>;
15937   nsIPrintSettings: nsJSIID<nsIPrintSettings, typeof nsIPrintSettings.OutputDestinationType>;
15938   nsIPrintSettingsService: nsJSIID<nsIPrintSettingsService>;
15939   nsIPrinterInfo: nsJSIID<nsIPrinterInfo>;
15940   nsIPrinter: nsJSIID<nsIPrinter>;
15941   nsIPrinterList: nsJSIID<nsIPrinterList>;
15942   nsIScreen: nsJSIID<nsIScreen>;
15943   nsIScreenManager: nsJSIID<nsIScreenManager>;
15944   nsISharePicker: nsJSIID<nsISharePicker>;
15945   nsISound: nsJSIID<nsISound>;
15946   nsISystemStatusBar: nsJSIID<nsISystemStatusBar>;
15947   nsITaskbarOverlayIconController: nsJSIID<nsITaskbarOverlayIconController>;
15948   nsITaskbarPreview: nsJSIID<nsITaskbarPreview>;
15949   nsITaskbarPreviewButton: nsJSIID<nsITaskbarPreviewButton>;
15950   nsITaskbarPreviewCallback: nsJSIID<nsITaskbarPreviewCallback>;
15951   nsITaskbarPreviewController: nsJSIID<nsITaskbarPreviewController>;
15952   nsITaskbarProgress: nsJSIID<nsITaskbarProgress>;
15953   nsITaskbarTabPreview: nsJSIID<nsITaskbarTabPreview>;
15954   nsITaskbarWindowPreview: nsJSIID<nsITaskbarWindowPreview>;
15955   nsIFlavorDataProvider: nsJSIID<nsIFlavorDataProvider>;
15956   nsITransferable: nsJSIID<nsITransferable>;
15957   nsIUserIdleService: nsJSIID<nsIUserIdleService>;
15958   nsIUserIdleServiceInternal: nsJSIID<nsIUserIdleServiceInternal>;
15959   nsIWinTaskbar: nsJSIID<nsIWinTaskbar>;
15960   nsIWindowsUIUtils: nsJSIID<nsIWindowsUIUtils>;
15961   nsIWindowCreator: nsJSIID<nsIWindowCreator>;
15962   nsIWindowProvider: nsJSIID<nsIWindowProvider>;
15963   nsIWindowsPackageManager: nsJSIID<nsIWindowsPackageManager>;
15964   nsIDialogParamBlock: nsJSIID<nsIDialogParamBlock>;
15965   nsIOpenWindowInfo: nsJSIID<nsIOpenWindowInfo>;
15966   nsIPromptCollection: nsJSIID<nsIPromptCollection>;
15967   nsIPromptFactory: nsJSIID<nsIPromptFactory>;
15968   nsIPromptService: nsJSIID<nsIPromptService>;
15969   nsIWindowWatcher: nsJSIID<nsIWindowWatcher>;
15970   nsIScriptableOK: nsJSIID<nsIScriptableOK>;
15971   nsIScriptableWithNotXPCOM: nsJSIID<nsIScriptableWithNotXPCOM>;
15972   nsITabUnloader: nsJSIID<nsITabUnloader>;
15973   nsIAvailableMemoryWatcherBase: nsJSIID<nsIAvailableMemoryWatcherBase>;
15974   nsIConsoleListener: nsJSIID<nsIConsoleListener>;
15975   nsIConsoleMessage: nsJSIID<nsIConsoleMessage>;
15976   nsIConsoleService: nsJSIID<nsIConsoleService, typeof nsIConsoleService.OutputMode>;
15977   nsICycleCollectorHandler: nsJSIID<nsICycleCollectorHandler>;
15978   nsICycleCollectorLogSink: nsJSIID<nsICycleCollectorLogSink>;
15979   nsICycleCollectorListener: nsJSIID<nsICycleCollectorListener>;
15980   nsIDebug2: nsJSIID<nsIDebug2>;
15981   nsIStackFrame: nsJSIID<nsIStackFrame>;
15982   nsIException: nsJSIID<nsIException>;
15983   nsIInterfaceRequestor: nsJSIID<nsIInterfaceRequestor>;
15984   nsIFinishDumpingCallback: nsJSIID<nsIFinishDumpingCallback>;
15985   nsIDumpGCAndCCLogsCallback: nsJSIID<nsIDumpGCAndCCLogsCallback>;
15986   nsIMemoryInfoDumper: nsJSIID<nsIMemoryInfoDumper>;
15987   nsIHandleReportCallback: nsJSIID<nsIHandleReportCallback>;
15988   nsIMemoryReporter: nsJSIID<nsIMemoryReporter>;
15989   nsIFinishReportingCallback: nsJSIID<nsIFinishReportingCallback>;
15990   nsIHeapAllocatedCallback: nsJSIID<nsIHeapAllocatedCallback>;
15991   nsIMemoryReporterManager: nsJSIID<nsIMemoryReporterManager>;
15992   nsISupports: nsJSIID<nsISupports>;
15993   nsIUUIDGenerator: nsJSIID<nsIUUIDGenerator>;
15994   nsIVersionComparator: nsJSIID<nsIVersionComparator>;
15995   nsIWeakReference: nsJSIID<nsIWeakReference>;
15996   nsISupportsWeakReference: nsJSIID<nsISupportsWeakReference>;
15997   nsICategoryEntry: nsJSIID<nsICategoryEntry>;
15998   nsICategoryManager: nsJSIID<nsICategoryManager>;
15999   nsIClassInfo: nsJSIID<nsIClassInfo>;
16000   nsIComponentManager: nsJSIID<nsIComponentManager>;
16001   nsIComponentRegistrar: nsJSIID<nsIComponentRegistrar>;
16002   nsIFactory: nsJSIID<nsIFactory>;
16003   nsIServiceManager: nsJSIID<nsIServiceManager>;
16004   nsIArray: nsJSIID<nsIArray>;
16005   nsIArrayExtensions: nsJSIID<nsIArrayExtensions>;
16006   nsIINIParser: nsJSIID<nsIINIParser>;
16007   nsIINIParserWriter: nsJSIID<nsIINIParserWriter>;
16008   nsIINIParserFactory: nsJSIID<nsIINIParserFactory>;
16009   nsIMutableArray: nsJSIID<nsIMutableArray>;
16010   nsIObserver: nsJSIID<nsIObserver>;
16011   nsIObserverService: nsJSIID<nsIObserverService>;
16012   nsIPropertyElement: nsJSIID<nsIPropertyElement>;
16013   nsIPersistentProperties: nsJSIID<nsIPersistentProperties>;
16014   nsIProperties: nsJSIID<nsIProperties>;
16015   nsIProperty: nsJSIID<nsIProperty>;
16016   nsIPropertyBag: nsJSIID<nsIPropertyBag>;
16017   nsIPropertyBag2: nsJSIID<nsIPropertyBag2>;
16018   nsISerializable: nsJSIID<nsISerializable>;
16019   nsIJSEnumerator: nsJSIID<nsIJSEnumerator>;
16020   nsISimpleEnumeratorBase: nsJSIID<nsISimpleEnumeratorBase>;
16021   nsISimpleEnumerator: nsJSIID<nsISimpleEnumerator>;
16022   nsIStringEnumeratorBase: nsJSIID<nsIStringEnumeratorBase>;
16023   nsIStringEnumerator: nsJSIID<nsIStringEnumerator>;
16024   nsIUTF8StringEnumerator: nsJSIID<nsIUTF8StringEnumerator>;
16025   nsIOutputIterator: nsJSIID<nsIOutputIterator>;
16026   nsIInputIterator: nsJSIID<nsIInputIterator>;
16027   nsIForwardIterator: nsJSIID<nsIForwardIterator>;
16028   nsIBidirectionalIterator: nsJSIID<nsIBidirectionalIterator>;
16029   nsIRandomAccessIterator: nsJSIID<nsIRandomAccessIterator>;
16030   nsISupportsPrimitive: nsJSIID<nsISupportsPrimitive>;
16031   nsISupportsID: nsJSIID<nsISupportsID>;
16032   nsISupportsCString: nsJSIID<nsISupportsCString>;
16033   nsISupportsString: nsJSIID<nsISupportsString>;
16034   nsISupportsPRBool: nsJSIID<nsISupportsPRBool>;
16035   nsISupportsPRUint8: nsJSIID<nsISupportsPRUint8>;
16036   nsISupportsPRUint16: nsJSIID<nsISupportsPRUint16>;
16037   nsISupportsPRUint32: nsJSIID<nsISupportsPRUint32>;
16038   nsISupportsPRUint64: nsJSIID<nsISupportsPRUint64>;
16039   nsISupportsPRTime: nsJSIID<nsISupportsPRTime>;
16040   nsISupportsChar: nsJSIID<nsISupportsChar>;
16041   nsISupportsPRInt16: nsJSIID<nsISupportsPRInt16>;
16042   nsISupportsPRInt32: nsJSIID<nsISupportsPRInt32>;
16043   nsISupportsPRInt64: nsJSIID<nsISupportsPRInt64>;
16044   nsISupportsFloat: nsJSIID<nsISupportsFloat>;
16045   nsISupportsDouble: nsJSIID<nsISupportsDouble>;
16046   nsISupportsInterfacePointer: nsJSIID<nsISupportsInterfacePointer>;
16047   nsIVariant: nsJSIID<nsIVariant>;
16048   nsIWritableVariant: nsJSIID<nsIWritableVariant>;
16049   nsIWindowsRegKey: nsJSIID<nsIWindowsRegKey>;
16050   nsIWritablePropertyBag: nsJSIID<nsIWritablePropertyBag>;
16051   nsIWritablePropertyBag2: nsJSIID<nsIWritablePropertyBag2>;
16052   nsIAsyncInputStream: nsJSIID<nsIAsyncInputStream>;
16053   nsIInputStreamCallback: nsJSIID<nsIInputStreamCallback>;
16054   nsIAsyncOutputStream: nsJSIID<nsIAsyncOutputStream>;
16055   nsIOutputStreamCallback: nsJSIID<nsIOutputStreamCallback>;
16056   nsIBinaryInputStream: nsJSIID<nsIBinaryInputStream>;
16057   nsIBinaryOutputStream: nsJSIID<nsIBinaryOutputStream>;
16058   nsICloneableInputStream: nsJSIID<nsICloneableInputStream>;
16059   nsICloneableInputStreamWithRange: nsJSIID<nsICloneableInputStreamWithRange>;
16060   nsIConverterInputStream: nsJSIID<nsIConverterInputStream>;
16061   nsIConverterOutputStream: nsJSIID<nsIConverterOutputStream>;
16062   nsIDirectoryEnumerator: nsJSIID<nsIDirectoryEnumerator>;
16063   nsIDirectoryServiceProvider: nsJSIID<nsIDirectoryServiceProvider>;
16064   nsIDirectoryServiceProvider2: nsJSIID<nsIDirectoryServiceProvider2>;
16065   nsIDirectoryService: nsJSIID<nsIDirectoryService>;
16066   nsIFile: nsJSIID<nsIFile>;
16067   nsIIOUtil: nsJSIID<nsIIOUtil>;
16068   nsIInputStream: nsJSIID<nsIInputStream>;
16069   nsIInputStreamPriority: nsJSIID<nsIInputStreamPriority>;
16070   nsIInputStreamTee: nsJSIID<nsIInputStreamTee>;
16071   nsILineInputStream: nsJSIID<nsILineInputStream>;
16072   nsILocalFileWin: nsJSIID<nsILocalFileWin>;
16073   nsIMultiplexInputStream: nsJSIID<nsIMultiplexInputStream>;
16074   nsIObjectInputStream: nsJSIID<nsIObjectInputStream>;
16075   nsIObjectOutputStream: nsJSIID<nsIObjectOutputStream>;
16076   nsIOutputStream: nsJSIID<nsIOutputStream>;
16077   nsIPipe: nsJSIID<nsIPipe>;
16078   nsISearchableInputStream: nsJSIID<nsISearchableInputStream>;
16079   nsIRandomAccessStream: nsJSIID<nsIRandomAccessStream>;
16080   nsISafeOutputStream: nsJSIID<nsISafeOutputStream>;
16081   nsIScriptableBase64Encoder: nsJSIID<nsIScriptableBase64Encoder>;
16082   nsIScriptableInputStream: nsJSIID<nsIScriptableInputStream>;
16083   nsISeekableStream: nsJSIID<nsISeekableStream>;
16084   nsIStorageStream: nsJSIID<nsIStorageStream>;
16085   nsIStreamBufferAccess: nsJSIID<nsIStreamBufferAccess>;
16086   nsIStringInputStream: nsJSIID<nsIStringInputStream>;
16087   nsITellableStream: nsJSIID<nsITellableStream>;
16088   nsIUnicharInputStream: nsJSIID<nsIUnicharInputStream>;
16089   nsIUnicharLineInputStream: nsJSIID<nsIUnicharLineInputStream>;
16090   nsIUnicharOutputStream: nsJSIID<nsIUnicharOutputStream>;
16091   nsIBlocklistService: nsJSIID<nsIBlocklistService>;
16092   nsICrashReporter: nsJSIID<nsICrashReporter>;
16093   nsIDeviceSensorData: nsJSIID<nsIDeviceSensorData>;
16094   nsIDeviceSensors: nsJSIID<nsIDeviceSensors>;
16095   nsIGIOMimeApp: nsJSIID<nsIGIOMimeApp>;
16096   nsIGIOService: nsJSIID<nsIGIOService>;
16097   nsIGSettingsCollection: nsJSIID<nsIGSettingsCollection>;
16098   nsIGSettingsService: nsJSIID<nsIGSettingsService>;
16099   nsIGeolocationUpdate: nsJSIID<nsIGeolocationUpdate>;
16100   nsIGeolocationProvider: nsJSIID<nsIGeolocationProvider>;
16101   nsIHapticFeedback: nsJSIID<nsIHapticFeedback>;
16102   nsIPlatformInfo: nsJSIID<nsIPlatformInfo>;
16103   nsISystemInfo: nsJSIID<nsISystemInfo>;
16104   nsIXULAppInfo: nsJSIID<nsIXULAppInfo>;
16105   nsIXULRuntime: nsJSIID<nsIXULRuntime, typeof nsIXULRuntime.ExperimentStatus & typeof nsIXULRuntime.ContentWin32kLockdownState & typeof nsIXULRuntime.FissionDecisionStatus>;
16106   nsIEnvironment: nsJSIID<nsIEnvironment>;
16107   nsIEventTarget: nsJSIID<nsIEventTarget>;
16108   nsINamed: nsJSIID<nsINamed>;
16109   nsIProcess: nsJSIID<nsIProcess>;
16110   nsIRunnable: nsJSIID<nsIRunnable>;
16111   nsIRunnablePriority: nsJSIID<nsIRunnablePriority>;
16112   nsISerialEventTarget: nsJSIID<nsISerialEventTarget>;
16113   nsISupportsPriority: nsJSIID<nsISupportsPriority>;
16114   nsIThread: nsJSIID<nsIThread, typeof nsIThread.QoSPriority>;
16115   nsIThreadInternal: nsJSIID<nsIThreadInternal>;
16116   nsINestedEventLoopCondition: nsJSIID<nsINestedEventLoopCondition>;
16117   nsIThreadManager: nsJSIID<nsIThreadManager>;
16118   nsIThreadShutdown: nsJSIID<nsIThreadShutdown>;
16119   nsITimerCallback: nsJSIID<nsITimerCallback>;
16120   nsITimer: nsJSIID<nsITimer>;
16121   nsITimerManager: nsJSIID<nsITimerManager>;
16122   mozIJSSubScriptLoader: nsJSIID<mozIJSSubScriptLoader>;
16123   xpcIJSWeakReference: nsJSIID<xpcIJSWeakReference>;
16124   nsIXPCComponents_Classes: nsJSIID<nsIXPCComponents_Classes>;
16125   nsIXPCComponents_Results: nsJSIID<nsIXPCComponents_Results>;
16126   nsIXPCComponents_ID: nsJSIID<nsIXPCComponents_ID>;
16127   nsIXPCComponents_Exception: nsJSIID<nsIXPCComponents_Exception>;
16128   nsIXPCComponents_Constructor: nsJSIID<nsIXPCComponents_Constructor>;
16129   nsIXPCComponents_utils_Sandbox: nsJSIID<nsIXPCComponents_utils_Sandbox>;
16130   nsIScheduledGCCallback: nsJSIID<nsIScheduledGCCallback>;
16131   nsIXPCComponents_Utils: nsJSIID<nsIXPCComponents_Utils>;
16132   nsIXPCComponents: nsJSIID<nsIXPCComponents>;
16133   nsIXPCTestObjectReadOnly: nsJSIID<nsIXPCTestObjectReadOnly>;
16134   nsIXPCTestObjectReadWrite: nsJSIID<nsIXPCTestObjectReadWrite>;
16135   nsIXPCTestBug809674: nsJSIID<nsIXPCTestBug809674>;
16136   nsIXPCTestCEnums: nsJSIID<nsIXPCTestCEnums, typeof nsIXPCTestCEnums.testFlagsExplicit & typeof nsIXPCTestCEnums.testFlagsImplicit>;
16137   nsIXPCTestInterfaceA: nsJSIID<nsIXPCTestInterfaceA>;
16138   nsIXPCTestInterfaceB: nsJSIID<nsIXPCTestInterfaceB>;
16139   nsIXPCTestInterfaceC: nsJSIID<nsIXPCTestInterfaceC>;
16140   nsIXPCTestParams: nsJSIID<nsIXPCTestParams>;
16141   nsIXPCTestReturnCodeParent: nsJSIID<nsIXPCTestReturnCodeParent>;
16142   nsIXPCTestReturnCodeChild: nsJSIID<nsIXPCTestReturnCodeChild>;
16143   nsIXPCTestFunctionInterface: nsJSIID<nsIXPCTestFunctionInterface>;
16144   nsIXPCTestUtils: nsJSIID<nsIXPCTestUtils>;
16145   nsIBrowserController: nsJSIID<nsIBrowserController>;
16146   nsIController: nsJSIID<nsIController>;
16147   nsICommandController: nsJSIID<nsICommandController>;
16148   nsIControllers: nsJSIID<nsIControllers>;
16149   nsINativeAppSupport: nsJSIID<nsINativeAppSupport>;
16150   nsIWinAppHelper: nsJSIID<nsIWinAppHelper>;
16151   nsIXREDirProvider: nsJSIID<nsIXREDirProvider>;
16152   nsIZipWriter: nsJSIID<nsIZipWriter>;
16155 }  // global
16157 // Typedefs from xpidl.
16158 type AccessibleTextBoundary = i32;
16159 type AppTrustedRoot = u32;
16160 type COSEAlgorithmIdentifier = i32;
16161 type CSPDirective = nsIContentSecurityPolicy.CSPDirective;
16162 type DOMHighResTimeStamp = double;
16163 type DOMTimeStamp = u64;
16164 type EpochTimeStamp = u64;
16165 type PRTime = i64;
16166 type PivotMoveReason = i16;
16167 type PredictorLearnReason = u32;
16168 type PredictorPredictReason = u32;
16169 type char16_t = u16;
16170 type nsBitsErrorAction = i32;
16171 type nsBitsErrorStage = i32;
16172 type nsBitsErrorType = i32;
16173 type nsContentPolicyType = nsIContentPolicy.nsContentPolicyType;
16174 type nsCookieAccess = i32;
16175 type nsCookiePolicy = i32;
16176 type nsCookieStatus = i32;
16177 type nsHandlerInfoAction = i32;
16178 type nsLoadFlags = u32;
16179 type nsProxyUsage = i32;
16180 type nsSecurityFlags = u32;
16181 type nsServerSocketFlag = u32;
16182 type nsSuspendedTypes = u32;
16183 type nsTaskbarProgressState = i32;
16184 type nsViewID = u64;
16185 type nsresult = u32;
16188  * Gecko XPCOM builtins and utility types.
16189  */
16192  * Generic IDs are created by most code which passes a nsID to js.
16193  * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#24
16194  */
16195 interface nsID<uuid = string> {
16196   readonly number: uuid;
16200  * In addition to nsID, interface IIDs support instanceof type guards,
16201  * and expose constants defined on the class, including variants from enums.
16202  * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#44
16203  */
16204 type nsJSIID<iface, enums = {}> = nsID & Constants<iface> & enums & {
16205   new (_: never): void;
16206   prototype: iface;
16209 /** A union of all known IIDs. */
16210 type nsIID = nsIXPCComponents_Interfaces[keyof nsIXPCComponents_Interfaces];
16212 /** A generic to resolve QueryInterface return type from a nsID (or nsIID). */
16213 export type nsQIResult<iid> = iid extends { prototype: infer U } ? U : never;
16215 /** XPCOM inout param is passed in as a js object with a value property. */
16216 type InOutParam<T> = { value: T };
16218 /** XPCOM out param is written to the passed in object's value property. */
16219 type OutParam<T> = { value?: T };
16221 /** A named type for interfaces to inherit from enums. */
16222 type Enums<enums> = enums;
16224 /** Callable accepts either form of a [function] interface. */
16225 type Callable<iface> = iface | Extract<iface[keyof iface], Function>
16227 /** Picks only const number properties from T. */
16228 type Constants<T> = { [K in keyof T as IfConst<K, T[K]>]: T[K] };
16230 /** Resolves only for keys K whose corresponding type T is a narrow number. */
16231 type IfConst<K, T> = T extends number ? (number extends T ? never : K) : never;
16233 declare global {
16234   // Until we have [ChromeOnly] webidl.
16235   interface BrowsingContext {}
16236   interface ContentFrameMessageManager {}
16237   interface DOMRequest {}
16238   interface FrameLoader {}
16239   interface JSProcessActorChild {}
16240   interface JSProcessActorParent {}
16241   interface TreeColumn {}
16242   interface WebExtensionContentScript {}
16243   interface WebExtensionPolicy {}
16244   interface WindowGlobalParent {}
16245   interface WindowContext {}
16246   interface XULTreeElement {}
16249 // Non-scriptable interfaces referenced from scriptable ones.
16250 interface nsIAsyncVerifyRedirectReadyCallback {}
16251 interface nsICRLiteTimestamp {}
16252 interface nsIInputAvailableCallback {}
16253 interface nsIScriptElement {}
16254 interface nsIThreadObserver {}
16255 interface nsIUDPSocketSyncListener {}
16256 interface nsIWebAuthnRegisterArgs {}
16257 interface nsIWebAuthnRegisterPromise {}
16258 interface nsIWebAuthnSignArgs {}
16259 interface nsIWebAuthnSignPromise {}
16260 interface nsIXPCScriptable {}
16262 // Typedefs useful as a quick reference in method signatures.
16263 type double = number;
16264 type float = number;
16265 type i16 = number;
16266 type i32 = number;
16267 type i64 = number;
16268 type u16 = number;
16269 type u32 = number;
16270 type u64 = number;
16271 type u8 = number;