Backed out 2 changesets (bug 1908320) for causing wr failures on align-items-baseline...
[gecko.git] / tools / @types / lib.gecko.xpcom.d.ts
blobe6df208109797466b9e896a578ae2234cfaf0c1d
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;
447   readonly ROLE_ROWGROUP: 139;
450 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleScrollingEvent.idl
452 interface nsIAccessibleScrollingEvent extends nsIAccessibleEvent {
453   readonly scrollX: u32;
454   readonly scrollY: u32;
455   readonly maxScrollX: u32;
456   readonly maxScrollY: u32;
459 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleSelectable.idl
461 interface nsIAccessibleSelectable extends nsISupports {
462   readonly selectedItems: nsIArray;
463   readonly selectedItemCount: u32;
464   getSelectedItemAt(index: u32): nsIAccessible;
465   isItemSelected(index: u32): boolean;
466   addItemToSelection(index: u32): void;
467   removeItemFromSelection(index: u32): void;
468   selectAll(): boolean;
469   unselectAll(): void;
472 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStateChangeEvent.idl
474 interface nsIAccessibleStateChangeEvent extends nsIAccessibleEvent {
475   readonly state: u32;
476   readonly isExtraState: boolean;
477   readonly isEnabled: boolean;
480 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleStates.idl
482 interface nsIAccessibleStates extends nsISupports {
483   readonly STATE_UNAVAILABLE: 1;
484   readonly STATE_SELECTED: 2;
485   readonly STATE_FOCUSED: 4;
486   readonly STATE_PRESSED: 8;
487   readonly STATE_CHECKED: 16;
488   readonly STATE_MIXED: 32;
489   readonly STATE_READONLY: 64;
490   readonly STATE_HOTTRACKED: 128;
491   readonly STATE_DEFAULT: 256;
492   readonly STATE_EXPANDED: 512;
493   readonly STATE_COLLAPSED: 1024;
494   readonly STATE_BUSY: 2048;
495   readonly STATE_FLOATING: 4096;
496   readonly STATE_MARQUEED: 8192;
497   readonly STATE_ANIMATED: 16384;
498   readonly STATE_INVISIBLE: 32768;
499   readonly STATE_OFFSCREEN: 65536;
500   readonly STATE_SIZEABLE: 131072;
501   readonly STATE_MOVEABLE: 262144;
502   readonly STATE_SELFVOICING: 524288;
503   readonly STATE_FOCUSABLE: 1048576;
504   readonly STATE_SELECTABLE: 2097152;
505   readonly STATE_LINKED: 4194304;
506   readonly STATE_TRAVERSED: 8388608;
507   readonly STATE_MULTISELECTABLE: 16777216;
508   readonly STATE_EXTSELECTABLE: 33554432;
509   readonly STATE_ALERT_LOW: 67108864;
510   readonly STATE_ALERT_MEDIUM: 134217728;
511   readonly STATE_ALERT_HIGH: 268435456;
512   readonly STATE_PROTECTED: 536870912;
513   readonly STATE_HASPOPUP: 1073741824;
514   readonly STATE_REQUIRED: 67108864;
515   readonly STATE_IMPORTANT: 134217728;
516   readonly STATE_INVALID: 268435456;
517   readonly STATE_CHECKABLE: 8192;
518   readonly EXT_STATE_SUPPORTS_AUTOCOMPLETION: 1;
519   readonly EXT_STATE_DEFUNCT: 2;
520   readonly EXT_STATE_SELECTABLE_TEXT: 4;
521   readonly EXT_STATE_EDITABLE: 8;
522   readonly EXT_STATE_ACTIVE: 16;
523   readonly EXT_STATE_MODAL: 32;
524   readonly EXT_STATE_MULTI_LINE: 64;
525   readonly EXT_STATE_HORIZONTAL: 128;
526   readonly EXT_STATE_OPAQUE: 256;
527   readonly EXT_STATE_SINGLE_LINE: 512;
528   readonly EXT_STATE_TRANSIENT: 1024;
529   readonly EXT_STATE_VERTICAL: 2048;
530   readonly EXT_STATE_STALE: 4096;
531   readonly EXT_STATE_ENABLED: 8192;
532   readonly EXT_STATE_SENSITIVE: 16384;
533   readonly EXT_STATE_EXPANDABLE: 32768;
534   readonly EXT_STATE_PINNED: 65536;
535   readonly EXT_STATE_CURRENT: 131072;
538 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTable.idl
540 interface nsIAccessibleTable extends nsISupports {
541   readonly caption: nsIAccessible;
542   readonly summary: string;
543   readonly columnCount: i32;
544   readonly rowCount: i32;
545   getCellAt(rowIndex: i32, columnIndex: i32): nsIAccessible;
546   getCellIndexAt(rowIndex: i32, columnIndex: i32): i32;
547   getColumnIndexAt(cellIndex: i32): i32;
548   getRowIndexAt(cellIndex: i32): i32;
549   getRowAndColumnIndicesAt(cellIndex: i32, rowIndex: OutParam<i32>, columnIndex: OutParam<i32>): void;
550   getColumnExtentAt(row: i32, column: i32): i32;
551   getRowExtentAt(row: i32, column: i32): i32;
552   getColumnDescription(columnIndex: i32): string;
553   getRowDescription(rowIndex: i32): string;
554   isColumnSelected(columnIndex: i32): boolean;
555   isRowSelected(rowIndex: i32): boolean;
556   isCellSelected(rowIndex: i32, columnIndex: i32): boolean;
557   readonly selectedCellCount: u32;
558   readonly selectedColumnCount: u32;
559   readonly selectedRowCount: u32;
560   readonly selectedCells: nsIArray;
561   getSelectedCellIndices(): u32[];
562   getSelectedColumnIndices(): u32[];
563   getSelectedRowIndices(): u32[];
564   isProbablyForLayout(): boolean;
567 interface nsIAccessibleTableCell extends nsISupports {
568   readonly table: nsIAccessibleTable;
569   readonly columnIndex: i32;
570   readonly rowIndex: i32;
571   readonly columnExtent: i32;
572   readonly rowExtent: i32;
573   readonly columnHeaderCells: nsIArray;
574   readonly rowHeaderCells: nsIArray;
575   isSelected(): boolean;
578 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTableChangeEvent.idl
580 interface nsIAccessibleTableChangeEvent extends nsIAccessibleEvent {
581   readonly rowOrColIndex: i32;
582   readonly RowsOrColsCount: i32;
585 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleText.idl
587 interface nsIAccessibleText extends nsISupports {
588   readonly TEXT_OFFSET_END_OF_TEXT: -1;
589   readonly TEXT_OFFSET_CARET: -2;
590   readonly BOUNDARY_CHAR: 0;
591   readonly BOUNDARY_WORD_START: 1;
592   readonly BOUNDARY_WORD_END: 2;
593   readonly BOUNDARY_SENTENCE_START: 3;
594   readonly BOUNDARY_SENTENCE_END: 4;
595   readonly BOUNDARY_LINE_START: 5;
596   readonly BOUNDARY_LINE_END: 6;
597   readonly BOUNDARY_PARAGRAPH: 7;
599   caretOffset: i32;
600   getCaretRect(x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
601   readonly characterCount: i32;
602   readonly selectionCount: i32;
603   getText(startOffset: i32, endOffset: i32): string;
604   getTextAfterOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
605   getTextAtOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
606   getTextBeforeOffset(offset: i32, boundaryType: AccessibleTextBoundary, startOffset: OutParam<i32>, endOffset: OutParam<i32>): string;
607   getCharacterAtOffset(offset: i32): string;
608   getTextAttributes(includeDefAttrs: boolean, offset: i32, rangeStartOffset: OutParam<i32>, rangeEndOffset: OutParam<i32>): nsIPersistentProperties;
609   readonly defaultTextAttributes: nsIPersistentProperties;
610   getCharacterExtents(offset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;
611   getRangeExtents(startOffset: i32, endOffset: i32, x: OutParam<i32>, y: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>, coordType: u32): void;
612   getOffsetAtPoint(x: i32, y: i32, coordType: u32): i32;
613   getSelectionBounds(selectionNum: i32, startOffset: OutParam<i32>, endOffset: OutParam<i32>): void;
614   setSelectionBounds(selectionNum: i32, startOffset: i32, endOffset: i32): void;
615   addSelection(startOffset: i32, endOffset: i32): void;
616   removeSelection(selectionNum: i32): void;
617   scrollSubstringTo(startIndex: i32, endIndex: i32, scrollType: u32): void;
618   scrollSubstringToPoint(startIndex: i32, endIndex: i32, coordinateType: u32, x: i32, y: i32): void;
619   readonly selectionRanges: nsIArray;
622 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextChangeEvent.idl
624 interface nsIAccessibleTextChangeEvent extends nsIAccessibleEvent {
625   readonly start: i32;
626   readonly length: u32;
627   readonly isInserted: boolean;
628   readonly modifiedText: string;
631 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextLeafRange.idl
633 interface nsIAccessibleTextLeafPoint extends nsISupports {
634   readonly DIRECTION_NEXT: 0;
635   readonly DIRECTION_PREVIOUS: 1;
636   readonly BOUNDARY_FLAG_DEFAULT: 0;
637   readonly BOUNDARY_FLAG_INCLUDE_ORIGIN: 1;
638   readonly BOUNDARY_FLAG_STOP_IN_EDITABLE: 2;
639   readonly BOUNDARY_FLAG_SKIP_LIST_ITEM_MARKER: 4;
641   accessible: nsIAccessible;
642   offset: i32;
643   findBoundary(aBoundaryType: AccessibleTextBoundary, aDirection: u32, aFlags: u32): nsIAccessibleTextLeafPoint;
646 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextRange.idl
648 interface nsIAccessibleTextRange extends nsISupports {
649   readonly EndPoint_Start: 1;
650   readonly EndPoint_End: 2;
651   readonly AlignToTop: 0;
652   readonly AlignToBottom: 1;
654   readonly startContainer: nsIAccessibleText;
655   readonly startOffset: i32;
656   readonly endContainer: nsIAccessibleText;
657   readonly endOffset: i32;
658   readonly container: nsIAccessible;
659   compare(aOtherRange: nsIAccessibleTextRange): boolean;
660   compareEndPoints(aEndPoint: u32, aOtherRange: nsIAccessibleTextRange, aOtherRangeEndPoint: u32): i32;
661   crop(aContainer: nsIAccessible): boolean;
664 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTextSelectionChangeEvent.idl
666 interface nsIAccessibleTextSelectionChangeEvent extends nsIAccessibleEvent {
667   readonly selectionRanges: nsIArray;
670 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleTypes.idl
672 interface nsIAccessibleScrollType extends nsISupports {
673   readonly SCROLL_TYPE_TOP_LEFT: 0;
674   readonly SCROLL_TYPE_BOTTOM_RIGHT: 1;
675   readonly SCROLL_TYPE_TOP_EDGE: 2;
676   readonly SCROLL_TYPE_BOTTOM_EDGE: 3;
677   readonly SCROLL_TYPE_LEFT_EDGE: 4;
678   readonly SCROLL_TYPE_RIGHT_EDGE: 5;
679   readonly SCROLL_TYPE_ANYWHERE: 6;
682 interface nsIAccessibleCoordinateType extends nsISupports {
683   readonly COORDTYPE_SCREEN_RELATIVE: 0;
684   readonly COORDTYPE_WINDOW_RELATIVE: 1;
685   readonly COORDTYPE_PARENT_RELATIVE: 2;
688 // https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleValue.idl
690 interface nsIAccessibleValue extends nsISupports {
691   readonly maximumValue: double;
692   readonly minimumValue: double;
693   currentValue: double;
694   readonly minimumIncrement: double;
697 // https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIAlertsService.idl
699 interface nsIAlertNotificationImageListener extends nsISupports {
700   onImageReady(aUserData: nsISupports, aRequest: imgIRequest): void;
701   onImageMissing(aUserData: nsISupports): void;
704 interface nsIAlertAction extends nsISupports {
705   readonly action: string;
706   readonly title: string;
707   readonly iconURL: string;
708   readonly windowsSystemActivationType: boolean;
709   readonly opaqueRelaunchData: string;
712 interface nsIAlertNotification extends nsISupports {
713   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;
714   readonly name: string;
715   readonly imageURL: string;
716   readonly title: string;
717   readonly text: string;
718   readonly textClickable: boolean;
719   readonly cookie: string;
720   readonly dir: string;
721   readonly lang: string;
722   readonly data: string;
723   readonly principal: nsIPrincipal;
724   readonly URI: nsIURI;
725   readonly inPrivateBrowsing: boolean;
726   readonly requireInteraction: boolean;
727   readonly silent: boolean;
728   readonly vibrate: u32[];
729   actions: nsIAlertAction[];
730   readonly actionable: boolean;
731   readonly source: string;
732   opaqueRelaunchData: string;
733   loadImage(aTimeout: u32, aListener: nsIAlertNotificationImageListener, aUserData?: nsISupports): nsICancelable;
736 interface nsIAlertsService extends nsISupports {
737   showPersistentNotification(aPersistentData: string, aAlert: nsIAlertNotification, aAlertListener?: nsIObserver): void;
738   showAlert(aAlert: nsIAlertNotification, aAlertListener?: nsIObserver): void;
739   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;
740   closeAlert(aName?: string, aContextClosed?: boolean): void;
743 interface nsIAlertsDoNotDisturb extends nsISupports {
744   manualDoNotDisturb: boolean;
745   suppressForScreenSharing: boolean;
748 interface nsIAlertsIconData extends nsISupports {
749   showAlertWithIconData(aAlert: nsIAlertNotification, aAlertListener: nsIObserver, aIconSize: u32, aIconData: u8[]): void;
752 interface nsIAlertsIconURI extends nsISupports {
753   showAlertWithIconURI(aAlert: nsIAlertNotification, aAlertListener?: nsIObserver, aIconURI?: nsIURI): void;
756 // https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIWindowsAlertsService.idl
758 }  // global
760 declare namespace nsIWindowsAlertNotification {
762 enum ImagePlacement {
763   eInline = 0,
764   eHero = 1,
765   eIcon = 2,
770 declare global {
772 interface nsIWindowsAlertNotification extends nsIAlertNotification, Enums<typeof nsIWindowsAlertNotification.ImagePlacement> {
773   handleActions: boolean;
774   imagePlacement: nsIWindowsAlertNotification.ImagePlacement;
777 interface nsIWindowsAlertsService extends nsIAlertsService {
778   handleWindowsTag(aWindowsTag: string): Promise<any>;
779   getXmlStringForWindowsAlert(aAlert: nsIAlertNotification, aWindowsTag?: string): string;
780   removeAllNotificationsForInstall(): void;
783 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppShellService.idl
785 interface nsIAppShellService extends nsISupports {
786   readonly SIZE_TO_CONTENT: -1;
788   createTopLevelWindow(aParent: nsIAppWindow, aUrl: nsIURI, aChromeMask: u32, aInitialWidth: i32, aInitialHeight: i32): nsIAppWindow;
789   createWindowlessBrowser(aIsChrome?: boolean, aChromeMask?: u32): nsIWindowlessBrowser;
790   destroyHiddenWindow(): void;
791   readonly hiddenWindow: nsIAppWindow;
792   readonly hiddenDOMWindow: mozIDOMWindowProxy;
793   readonly applicationProvidedHiddenWindow: boolean;
794   registerTopLevelWindow(aWindow: nsIAppWindow): void;
795   unregisterTopLevelWindow(aWindow: nsIAppWindow): void;
796   readonly hasHiddenWindow: boolean;
797   startEventLoopLagTracking(): boolean;
798   stopEventLoopLagTracking(): void;
801 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIAppWindow.idl
803 interface nsIAppWindow extends nsISupports {
804   readonly lowestZ: 0;
805   readonly loweredZ: 4;
806   readonly normalZ: 5;
807   readonly raisedZ: 6;
808   readonly highestZ: 9;
810   readonly docShell: nsIDocShell;
811   intrinsicallySized: boolean;
812   readonly primaryContentShell: nsIDocShellTreeItem;
813   readonly primaryRemoteTab: nsIRemoteTab;
814   readonly primaryContentBrowsingContext: BrowsingContext;
815   remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;
816   remoteTabRemoved(aTab: nsIRemoteTab): void;
817   readonly outerToInnerHeightDifferenceInCSSPixels: u32;
818   readonly outerToInnerWidthDifferenceInCSSPixels: u32;
819   center(aRelative: nsIAppWindow, aScreen: boolean, aAlert: boolean): void;
820   showModal(): void;
821   lockAspectRatio(aShouldLock: boolean): void;
822   zLevel: u32;
823   chromeFlags: u32;
824   assumeChromeFlagsAreFrozen(): void;
825   createNewWindow(aChromeFlags: i32, aOpenWindowInfo: nsIOpenWindowInfo): nsIAppWindow;
826   XULBrowserWindow: nsIXULBrowserWindow;
827   readonly initialOpenWindowInfo: nsIOpenWindowInfo;
828   needFastSnaphot(): void;
831 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediator.idl
833 interface nsIWindowMediator extends nsISupports {
834   readonly zLevelTop: 1;
835   readonly zLevelBottom: 2;
836   readonly zLevelBelow: 3;
838   getEnumerator(aWindowType: string): nsISimpleEnumerator;
839   getAppWindowEnumerator(aWindowType: string): nsISimpleEnumerator;
840   getZOrderAppWindowEnumerator(aWindowType: string, aFrontToBack: boolean): nsISimpleEnumerator;
841   getMostRecentWindow(aWindowType: string): mozIDOMWindowProxy;
842   getMostRecentBrowserWindow(): mozIDOMWindowProxy;
843   getMostRecentNonPBWindow(aWindowType: string): mozIDOMWindowProxy;
844   getOuterWindowWithId(aOuterWindowID: u64): mozIDOMWindowProxy;
845   getCurrentInnerWindowWithId(aInnerWindowID: u64): mozIDOMWindow;
846   addListener(aListener: nsIWindowMediatorListener): void;
847   removeListener(aListener: nsIWindowMediatorListener): void;
850 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowMediatorListener.idl
852 interface nsIWindowMediatorListener extends nsISupports {
853   onOpenWindow(window: nsIAppWindow): void;
854   onCloseWindow(window: nsIAppWindow): void;
857 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIWindowlessBrowser.idl
859 interface nsIWindowlessBrowser extends nsIWebNavigation {
860   close(): void;
861   readonly docShell: nsIDocShell;
862   readonly browsingContext: BrowsingContext;
865 // https://searchfox.org/mozilla-central/source/xpfe/appshell/nsIXULBrowserWindow.idl
867 interface nsIXULBrowserWindow extends nsISupports {
868   setOverLink(link: string): void;
869   onBeforeLinkTraversal(originalTarget: string, linkURI: nsIURI, linkNode: Node, isAppTab: boolean): string;
870   showTooltip(x: i32, y: i32, tooltip: string, direction: string, browser: Element): void;
871   hideTooltip(): void;
872   getTabCount(): u32;
875 // https://searchfox.org/mozilla-central/source/toolkit/components/startup/public/nsIAppStartup.idl
877 }  // global
879 declare namespace nsIAppStartup {
881 enum IDLShutdownPhase {
882   SHUTDOWN_PHASE_NOTINSHUTDOWN = 0,
883   SHUTDOWN_PHASE_APPSHUTDOWNCONFIRMED = 1,
884   SHUTDOWN_PHASE_APPSHUTDOWNNETTEARDOWN = 2,
885   SHUTDOWN_PHASE_APPSHUTDOWNTEARDOWN = 3,
886   SHUTDOWN_PHASE_APPSHUTDOWN = 4,
887   SHUTDOWN_PHASE_APPSHUTDOWNQM = 5,
888   SHUTDOWN_PHASE_APPSHUTDOWNRELEMETRY = 6,
889   SHUTDOWN_PHASE_XPCOMWILLSHUTDOWN = 7,
890   SHUTDOWN_PHASE_XPCOMSHUTDOWN = 8,
895 declare global {
897 interface nsIAppStartup extends nsISupports, Enums<typeof nsIAppStartup.IDLShutdownPhase> {
898   readonly eConsiderQuit: 1;
899   readonly eAttemptQuit: 2;
900   readonly eForceQuit: 3;
901   readonly eRestart: 16;
902   readonly eSilently: 256;
904   createHiddenWindow(): void;
905   destroyHiddenWindow(): void;
906   run(): void;
907   enterLastWindowClosingSurvivalArea(): void;
908   exitLastWindowClosingSurvivalArea(): void;
909   readonly automaticSafeModeNecessary: boolean;
910   restartInSafeMode(aQuitMode: u32): void;
911   createInstanceWithProfile(aProfile: nsIToolkitProfile): void;
912   trackStartupCrashBegin(): boolean;
913   trackStartupCrashEnd(): void;
914   quit(aMode: u32, aExitCode?: i32): boolean;
915   advanceShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): void;
916   isInOrBeyondShutdownPhase(aPhase: nsIAppStartup.IDLShutdownPhase): boolean;
917   readonly shuttingDown: boolean;
918   readonly startingUp: boolean;
919   readonly restarting: boolean;
920   readonly wasRestarted: boolean;
921   readonly wasSilentlyStarted: boolean;
922   readonly secondsSinceLastOSRestart: i64;
923   readonly showedPreXULSkeletonUI: boolean;
924   getStartupInfo(): any;
925   interrupted: boolean;
928 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteController.idl
930 interface nsIAutoCompleteController extends nsISupports {
931   readonly STATUS_NONE: 1;
932   readonly STATUS_SEARCHING: 2;
933   readonly STATUS_COMPLETE_NO_MATCH: 3;
934   readonly STATUS_COMPLETE_MATCH: 4;
936   input: nsIAutoCompleteInput;
937   readonly searchStatus: u16;
938   readonly matchCount: u32;
939   startSearch(searchString: string): void;
940   stopSearch(): void;
941   handleText(): boolean;
942   handleEnter(aIsPopupSelection: boolean, aEvent?: Event): boolean;
943   handleEscape(): boolean;
944   handleStartComposition(): void;
945   handleEndComposition(): void;
946   handleTab(): void;
947   handleKeyNavigation(key: u32): boolean;
948   handleDelete(): boolean;
949   getValueAt(index: i32): string;
950   getLabelAt(index: i32): string;
951   getCommentAt(index: i32): string;
952   getStyleAt(index: i32): string;
953   getImageAt(index: i32): string;
954   getFinalCompleteValueAt(index: i32): string;
955   searchString: string;
956   setInitiallySelectedIndex(index: i32): void;
957   resetInternalState(): void;
960 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteInput.idl
962 interface nsIAutoCompleteInput extends nsISupports {
963   readonly popupElement: Element;
964   readonly popup: nsIAutoCompletePopup;
965   readonly controller: nsIAutoCompleteController;
966   popupOpen: boolean;
967   disableAutoComplete: boolean;
968   completeDefaultIndex: boolean;
969   completeSelectedIndex: boolean;
970   forceComplete: boolean;
971   minResultsForPopup: u32;
972   maxRows: u32;
973   timeout: u32;
974   searchParam: string;
975   readonly searchCount: u32;
976   getSearchAt(index: u32): string;
977   textValue: string;
978   readonly selectionStart: i32;
979   readonly selectionEnd: i32;
980   selectTextRange(startIndex: i32, endIndex: i32): void;
981   onSearchBegin(): void;
982   onSearchComplete(): void;
983   onTextEntered(aEvent?: Event): void;
984   onTextReverted(): boolean;
985   readonly consumeRollupEvent: boolean;
986   readonly inPrivateContext: boolean;
987   readonly noRollupOnCaretMove: boolean;
988   readonly noRollupOnEmptySearch: boolean;
989   readonly userContextId: u32;
990   readonly invalidatePreviousResult: boolean;
993 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompletePopup.idl
995 interface nsIAutoCompletePopup extends nsISupports {
996   readonly INVALIDATE_REASON_NEW_RESULT: 0;
997   readonly INVALIDATE_REASON_DELETE: 1;
999   readonly input: nsIAutoCompleteInput;
1000   readonly overrideValue: string;
1001   selectedIndex: i32;
1002   readonly popupOpen: boolean;
1003   openAutocompletePopup(input: nsIAutoCompleteInput, element: Element): void;
1004   closePopup(): void;
1005   invalidate(reason: u16): void;
1006   selectBy(reverse: boolean, page: boolean): void;
1009 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteResult.idl
1011 interface nsIAutoCompleteResult extends nsISupports {
1012   readonly RESULT_IGNORED: 1;
1013   readonly RESULT_FAILURE: 2;
1014   readonly RESULT_NOMATCH: 3;
1015   readonly RESULT_SUCCESS: 4;
1016   readonly RESULT_NOMATCH_ONGOING: 5;
1017   readonly RESULT_SUCCESS_ONGOING: 6;
1019   readonly searchString: string;
1020   readonly searchResult: u16;
1021   readonly defaultIndex: i32;
1022   readonly errorDescription: string;
1023   readonly matchCount: u32;
1024   getValueAt(index: i32): string;
1025   getLabelAt(index: i32): string;
1026   getCommentAt(index: i32): string;
1027   getStyleAt(index: i32): string;
1028   getImageAt(index: i32): string;
1029   getFinalCompleteValueAt(index: i32): string;
1030   isRemovableAt(rowIndex: i32): boolean;
1031   removeValueAt(rowIndex: i32): void;
1034 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSearch.idl
1036 interface nsIAutoCompleteSearch extends nsISupports {
1037   startSearch(searchString: string, searchParam: string, previousResult: nsIAutoCompleteResult, listener: nsIAutoCompleteObserver): void;
1038   stopSearch(): void;
1041 interface nsIAutoCompleteObserver extends nsISupports {
1042   onSearchResult(search: nsIAutoCompleteSearch, result: nsIAutoCompleteResult): void;
1045 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleResult.idl
1047 interface nsIAutoCompleteSimpleResult extends nsIAutoCompleteResult {
1048   setSearchString(aSearchString: string): void;
1049   setErrorDescription(aErrorDescription: string): void;
1050   setDefaultIndex(aDefaultIndex: i32): void;
1051   setSearchResult(aSearchResult: u16): void;
1052   insertMatchAt(aIndex: i32, aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;
1053   appendMatch(aValue: string, aComment: string, aImage?: string, aStyle?: string, aFinalCompleteValue?: string, aLabel?: string): void;
1054   removeMatchAt(aIndex: i32): void;
1055   getListener(): nsIAutoCompleteSimpleResultListener;
1056   setListener(aListener: nsIAutoCompleteSimpleResultListener): void;
1059 interface nsIAutoCompleteSimpleResultListener extends nsISupports {
1060   onValueRemoved(aResult: nsIAutoCompleteSimpleResult, aValue: string): void;
1063 // https://searchfox.org/mozilla-central/source/toolkit/components/autocomplete/nsIAutoCompleteSimpleSearch.idl
1065 interface nsIAutoCompleteSimpleSearch extends nsIAutoCompleteSearch {
1066   overrideNextResult(values: nsIAutoCompleteResult): void;
1069 // https://searchfox.org/mozilla-central/source/dom/media/autoplay/nsIAutoplay.idl
1071 interface nsIAutoplay extends nsISupports {
1072   readonly ALLOWED: 0;
1073   readonly BLOCKED: 1;
1074   readonly BLOCKED_ALL: 5;
1077 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundhangmonitor/nsIHangDetails.idl
1079 interface nsIHangDetails extends nsISupports {
1080   readonly wasPersisted: boolean;
1081   readonly duration: double;
1082   readonly thread: string;
1083   readonly runnableName: string;
1084   readonly process: string;
1085   readonly remoteType: string;
1086   readonly stack: any;
1087   readonly modules: any;
1088   readonly annotations: any;
1091 // https://searchfox.org/mozilla-central/source/toolkit/components/bitsdownload/nsIBits.idl
1093 interface nsIBits extends nsISupports {
1094   readonly ERROR_TYPE_SUCCESS: 0;
1095   readonly ERROR_TYPE_UNKNOWN: 1;
1096   readonly ERROR_TYPE_METHOD_THREW: 2;
1097   readonly ERROR_TYPE_METHOD_TIMEOUT: 3;
1098   readonly ERROR_TYPE_NULL_ARGUMENT: 4;
1099   readonly ERROR_TYPE_INVALID_ARGUMENT: 5;
1100   readonly ERROR_TYPE_NOT_INITIALIZED: 6;
1101   readonly ERROR_TYPE_NO_UTF8_CONVERSION: 7;
1102   readonly ERROR_TYPE_INVALID_GUID: 8;
1103   readonly ERROR_TYPE_PIPE_NOT_CONNECTED: 9;
1104   readonly ERROR_TYPE_PIPE_TIMEOUT: 10;
1105   readonly ERROR_TYPE_PIPE_BAD_WRITE_COUNT: 11;
1106   readonly ERROR_TYPE_PIPE_API_ERROR: 12;
1107   readonly ERROR_TYPE_FAILED_TO_CREATE_BITS_JOB: 13;
1108   readonly ERROR_TYPE_FAILED_TO_ADD_FILE_TO_JOB: 14;
1109   readonly ERROR_TYPE_FAILED_TO_APPLY_BITS_JOB_SETTINGS: 15;
1110   readonly ERROR_TYPE_FAILED_TO_RESUME_BITS_JOB: 16;
1111   readonly ERROR_TYPE_OTHER_BITS_ERROR: 17;
1112   readonly ERROR_TYPE_OTHER_BITS_CLIENT_ERROR: 18;
1113   readonly ERROR_TYPE_BITS_JOB_NOT_FOUND: 19;
1114   readonly ERROR_TYPE_FAILED_TO_GET_BITS_JOB: 20;
1115   readonly ERROR_TYPE_FAILED_TO_SUSPEND_BITS_JOB: 21;
1116   readonly ERROR_TYPE_FAILED_TO_COMPLETE_BITS_JOB: 22;
1117   readonly ERROR_TYPE_PARTIALLY_COMPLETED_BITS_JOB: 23;
1118   readonly ERROR_TYPE_FAILED_TO_CANCEL_BITS_JOB: 24;
1119   readonly ERROR_TYPE_MISSING_RESULT_DATA: 25;
1120   readonly ERROR_TYPE_MISSING_CALLBACK: 26;
1121   readonly ERROR_TYPE_CALLBACK_ON_WRONG_THREAD: 27;
1122   readonly ERROR_TYPE_MISSING_BITS_SERVICE: 28;
1123   readonly ERROR_TYPE_BITS_SERVICE_ON_WRONG_THREAD: 29;
1124   readonly ERROR_TYPE_MISSING_BITS_REQUEST: 30;
1125   readonly ERROR_TYPE_BITS_REQUEST_ON_WRONG_THREAD: 31;
1126   readonly ERROR_TYPE_MISSING_OBSERVER: 32;
1127   readonly ERROR_TYPE_OBSERVER_ON_WRONG_THREAD: 33;
1128   readonly ERROR_TYPE_MISSING_CONTEXT: 34;
1129   readonly ERROR_TYPE_CONTEXT_ON_WRONG_THREAD: 35;
1130   readonly ERROR_TYPE_FAILED_TO_START_THREAD: 36;
1131   readonly ERROR_TYPE_FAILED_TO_CONSTRUCT_TASK_RUNNABLE: 37;
1132   readonly ERROR_TYPE_FAILED_TO_DISPATCH_RUNNABLE: 38;
1133   readonly ERROR_TYPE_TRANSFER_ALREADY_COMPLETE: 39;
1134   readonly ERROR_TYPE_OPERATION_ALREADY_IN_PROGRESS: 40;
1135   readonly ERROR_TYPE_MISSING_BITS_CLIENT: 41;
1136   readonly ERROR_TYPE_FAILED_TO_GET_JOB_STATUS: 42;
1137   readonly ERROR_TYPE_BITS_STATE_ERROR: 43;
1138   readonly ERROR_TYPE_BITS_STATE_TRANSIENT_ERROR: 44;
1139   readonly ERROR_TYPE_BITS_STATE_CANCELLED: 45;
1140   readonly ERROR_TYPE_BITS_STATE_UNEXPECTED: 46;
1141   readonly ERROR_TYPE_VERIFICATION_FAILURE: 47;
1142   readonly ERROR_TYPE_ACCESS_DENIED_EXPECTED: 48;
1143   readonly ERROR_TYPE_FAILED_TO_CONNECT_TO_BCM: 49;
1144   readonly ERROR_TYPE_USE_AFTER_REQUEST_SHUTDOWN: 50;
1145   readonly ERROR_TYPE_BROWSER_SHUTTING_DOWN: 51;
1146   readonly ERROR_ACTION_UNKNOWN: 1;
1147   readonly ERROR_ACTION_NONE: 2;
1148   readonly ERROR_ACTION_START_DOWNLOAD: 3;
1149   readonly ERROR_ACTION_MONITOR_DOWNLOAD: 4;
1150   readonly ERROR_ACTION_CHANGE_MONITOR_INTERVAL: 5;
1151   readonly ERROR_ACTION_CANCEL: 6;
1152   readonly ERROR_ACTION_SET_PRIORITY: 7;
1153   readonly ERROR_ACTION_COMPLETE: 8;
1154   readonly ERROR_ACTION_SUSPEND: 9;
1155   readonly ERROR_ACTION_RESUME: 10;
1156   readonly ERROR_ACTION_SET_NO_PROGRESS_TIMEOUT: 11;
1157   readonly ERROR_STAGE_UNKNOWN: 1;
1158   readonly ERROR_STAGE_PRETASK: 2;
1159   readonly ERROR_STAGE_COMMAND_THREAD: 3;
1160   readonly ERROR_STAGE_AGENT_COMMUNICATION: 4;
1161   readonly ERROR_STAGE_BITS_CLIENT: 5;
1162   readonly ERROR_STAGE_MAIN_THREAD: 6;
1163   readonly ERROR_STAGE_MONITOR: 7;
1164   readonly ERROR_STAGE_VERIFICATION: 8;
1165   readonly ERROR_CODE_TYPE_NONE: 1;
1166   readonly ERROR_CODE_TYPE_NSRESULT: 2;
1167   readonly ERROR_CODE_TYPE_HRESULT: 3;
1168   readonly ERROR_CODE_TYPE_STRING: 4;
1169   readonly ERROR_CODE_TYPE_EXCEPTION: 5;
1170   readonly PROXY_NONE: 1;
1171   readonly PROXY_PRECONFIG: 2;
1172   readonly PROXY_AUTODETECT: 3;
1174   readonly initialized: boolean;
1175   init(jobName: string, savePathPrefix: string, monitorTimeoutMs: u32): void;
1176   startDownload(downloadURL: string, saveRelativePath: string, proxy: nsProxyUsage, noProgressTimeoutSecs: u32, monitorIntervalMs: u32, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;
1177   monitorDownload(id: string, monitorIntervalMs: u32, observer: nsIRequestObserver, context: nsISupports, callback: nsIBitsNewRequestCallback): void;
1180 interface nsIBitsNewRequestCallback extends nsISupports {
1181   success(request: nsIBitsRequest): void;
1182   failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;
1183   failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;
1184   failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;
1185   failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;
1188 interface nsIBitsRequest extends nsIRequest {
1189   readonly bitsId: string;
1190   readonly transferError: nsBitsErrorType;
1191   changeMonitorInterval(monitorIntervalMs: u32, callback: nsIBitsCallback): void;
1192   cancelAsync(status: nsresult, callback: nsIBitsCallback): void;
1193   setPriorityHigh(callback: nsIBitsCallback): void;
1194   setPriorityLow(callback: nsIBitsCallback): void;
1195   setNoProgressTimeout(timeoutSecs: u32, callback: nsIBitsCallback): void;
1196   complete(callback: nsIBitsCallback): void;
1197   suspendAsync(callback: nsIBitsCallback): void;
1198   resumeAsync(callback: nsIBitsCallback): void;
1201 interface nsIBitsCallback extends nsISupports {
1202   success(): void;
1203   failure(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage): void;
1204   failureNsresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: nsresult): void;
1205   failureHresult(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorCode: i32): void;
1206   failureString(errorType: nsBitsErrorType, errorAction: nsBitsErrorAction, errorStage: nsBitsErrorStage, errorMessage: string): void;
1209 // https://searchfox.org/mozilla-central/source/browser/components/newtab/nsIAboutNewTabService.idl
1211 interface nsIAboutNewTabService extends nsISupports {
1212   readonly defaultURL: string;
1213   aboutHomeChannel(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
1214   readonly welcomeURL: string;
1217 // https://searchfox.org/mozilla-central/source/browser/components/nsIBrowserHandler.idl
1219 interface nsIBrowserHandler extends nsISupports {
1220   startPage: string;
1221   defaultArgs: string;
1222   kiosk: boolean;
1223   majorUpgrade: boolean;
1224   firstRunProfile: boolean;
1225   getFeatures(aCmdLine: nsICommandLine): string;
1228 // https://searchfox.org/mozilla-central/source/caps/nsIAddonPolicyService.idl
1230 interface nsIAddonPolicyService extends nsISupports {
1231   readonly defaultCSP: string;
1232   readonly defaultCSPV3: string;
1233   getBaseCSP(aAddonId: string): string;
1234   getExtensionPageCSP(aAddonId: string): string;
1235   getGeneratedBackgroundPageUrl(aAddonId: string): string;
1236   addonHasPermission(aAddonId: string, aPerm: string): boolean;
1237   addonMayLoadURI(aAddonId: string, aURI: nsIURI, aExplicit?: boolean): boolean;
1238   getExtensionName(aAddonId: string): string;
1239   sourceMayLoadExtensionURI(aSourceURI: nsIURI, aExtensionURI: nsIURI): boolean;
1240   extensionURIToAddonId(aURI: nsIURI): string;
1243 interface nsIAddonContentPolicy extends nsISupports {
1244   readonly CSP_ALLOW_ANY: 65535;
1245   readonly CSP_ALLOW_LOCALHOST: 1;
1246   readonly CSP_ALLOW_EVAL: 2;
1247   readonly CSP_ALLOW_REMOTE: 4;
1248   readonly CSP_ALLOW_WASM: 8;
1250   validateAddonCSP(aPolicyString: string, aPermittedPolicy: u32): string;
1253 // https://searchfox.org/mozilla-central/source/caps/nsIDomainPolicy.idl
1255 interface nsIDomainPolicy extends nsISupports {
1256   readonly blocklist: nsIDomainSet;
1257   readonly superBlocklist: nsIDomainSet;
1258   readonly allowlist: nsIDomainSet;
1259   readonly superAllowlist: nsIDomainSet;
1260   deactivate(): void;
1263 interface nsIDomainSet extends nsISupports {
1264   add(aDomain: nsIURI): void;
1265   remove(aDomain: nsIURI): void;
1266   clear(): void;
1267   contains(aDomain: nsIURI): boolean;
1268   containsSuperDomain(aDomain: nsIURI): boolean;
1271 // https://searchfox.org/mozilla-central/source/caps/nsIPrincipal.idl
1273 interface nsIPrincipal extends nsISupports {
1274   equals(other: nsIPrincipal): boolean;
1275   equalsForPermission(other: nsIPrincipal, aExactHost: boolean): boolean;
1276   equalsConsideringDomain(other: nsIPrincipal): boolean;
1277   equalsURI(aOtherURI: nsIURI): boolean;
1278   readonly URI: nsIURI;
1279   subsumes(other: nsIPrincipal): boolean;
1280   subsumesConsideringDomain(other: nsIPrincipal): boolean;
1281   subsumesConsideringDomainIgnoringFPD(other: nsIPrincipal): boolean;
1282   checkMayLoad(uri: nsIURI, allowIfInheritsPrincipal: boolean): void;
1283   checkMayLoadWithReporting(uri: nsIURI, allowIfInheritsPrincipal: boolean, innerWindowID: u64): void;
1284   isThirdPartyURI(uri: nsIURI): boolean;
1285   isThirdPartyPrincipal(principal: nsIPrincipal): boolean;
1286   isThirdPartyChannel(channel: nsIChannel): boolean;
1287   readonly originAttributes: any;
1288   readonly origin: string;
1289   readonly hostPort: string;
1290   readonly asciiHost: string;
1291   readonly host: string;
1292   readonly prePath: string;
1293   readonly filePath: string;
1294   readonly asciiSpec: string;
1295   readonly spec: string;
1296   readonly exposablePrePath: string;
1297   readonly exposableSpec: string;
1298   readonly scheme: string;
1299   schemeIs(scheme: string): boolean;
1300   isURIInPrefList(pref: string): boolean;
1301   isURIInList(list: string): boolean;
1302   isContentAccessibleAboutURI(): boolean;
1303   isSameOrigin(otherURI: nsIURI): boolean;
1304   allowsRelaxStrictFileOriginPolicy(aURI: nsIURI): boolean;
1305   hasFirstpartyStorageAccess(aWindow: mozIDOMWindow, rejectedReason: OutParam<u32>): boolean;
1306   readonly localStorageQuotaKey: string;
1307   readonly isOriginPotentiallyTrustworthy: boolean;
1308   readonly isLoopbackHost: boolean;
1309   getAboutModuleFlags(): u32;
1310   readonly storageOriginKey: string;
1311   readonly originNoSuffix: string;
1312   readonly originSuffix: string;
1313   readonly siteOrigin: string;
1314   readonly siteOriginNoSuffix: string;
1315   readonly baseDomain: string;
1316   readonly addonId: string;
1317   readonly addonPolicy: WebExtensionPolicy;
1318   readonly contentScriptAddonPolicy: WebExtensionPolicy;
1319   readonly userContextId: u32;
1320   readonly privateBrowsingId: u32;
1321   readonly isNullPrincipal: boolean;
1322   readonly isContentPrincipal: boolean;
1323   readonly isExpandedPrincipal: boolean;
1324   readonly isSystemPrincipal: boolean;
1325   readonly isAddonOrExpandedAddonPrincipal: boolean;
1326   readonly isOnion: boolean;
1327   readonly isScriptAllowedByPolicy: boolean;
1328   isL10nAllowed(aDocumentURI: nsIURI): boolean;
1329   readonly nextSubDomainPrincipal: nsIPrincipal;
1330   readonly isIpAddress: boolean;
1331   readonly isLocalIpAddress: boolean;
1332   readonly precursorPrincipal: nsIPrincipal;
1335 // https://searchfox.org/mozilla-central/source/caps/nsIScriptSecurityManager.idl
1337 interface nsIScriptSecurityManager extends nsISupports {
1338   readonly STANDARD: 0;
1339   readonly LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT: 1;
1340   readonly ALLOW_CHROME: 2;
1341   readonly DISALLOW_INHERIT_PRINCIPAL: 4;
1342   readonly DISALLOW_SCRIPT_OR_DATA: 4;
1343   readonly DISALLOW_SCRIPT: 8;
1344   readonly DONT_REPORT_ERRORS: 16;
1345   readonly DEFAULT_USER_CONTEXT_ID: 0;
1346   readonly DEFAULT_PRIVATE_BROWSING_ID: 0;
1348   checkLoadURIWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: nsIURI, flags: u32, innerWindowID?: u64): void;
1349   checkLoadURIWithPrincipal(aPrincipal: nsIPrincipal, uri: nsIURI, flags?: u32, innerWindowID?: u64): void;
1350   checkLoadURIStrWithPrincipalXPCOM(aPrincipal: nsIPrincipal, uri: string, flags: u32): void;
1351   checkLoadURIStrWithPrincipal(aPrincipal: nsIPrincipal, uri: string, flags?: u32): void;
1352   inFileURIAllowlist(aUri: nsIURI): boolean;
1353   getSystemPrincipal(): nsIPrincipal;
1354   getLoadContextContentPrincipal(uri: nsIURI, loadContext: nsILoadContext): nsIPrincipal;
1355   getDocShellContentPrincipal(uri: nsIURI, docShell: nsIDocShell): nsIPrincipal;
1356   principalWithOA(principal: nsIPrincipal, originAttributes: any): nsIPrincipal;
1357   createContentPrincipal(uri: nsIURI, originAttributes: any): nsIPrincipal;
1358   createContentPrincipalFromOrigin(origin: string): nsIPrincipal;
1359   principalToJSON(principal: nsIPrincipal): string;
1360   JSONToPrincipal(json: string): nsIPrincipal;
1361   createNullPrincipal(originAttributes: any): nsIPrincipal;
1362   checkSameOriginURI(aSourceURI: nsIURI, aTargetURI: nsIURI, reportError: boolean, fromPrivateWindow: boolean): void;
1363   getChannelResultPrincipal(aChannel: nsIChannel): nsIPrincipal;
1364   getChannelResultStoragePrincipal(aChannel: nsIChannel): nsIPrincipal;
1365   getChannelResultPrincipals(aChannel: nsIChannel, aPrincipal: OutParam<nsIPrincipal>, aPartitionedPrincipal: OutParam<nsIPrincipal>): void;
1366   getChannelURIPrincipal(aChannel: nsIChannel): nsIPrincipal;
1367   activateDomainPolicy(): nsIDomainPolicy;
1368   readonly domainPolicyActive: boolean;
1369   policyAllowsScript(aDomain: nsIURI): boolean;
1372 // https://searchfox.org/mozilla-central/source/toolkit/components/captivedetect/nsICaptivePortalDetector.idl
1374 interface nsICaptivePortalCallback extends nsISupports {
1375   prepare(): void;
1376   complete(success: boolean): void;
1379 interface nsICaptivePortalDetector extends nsISupports {
1380   checkCaptivePortal(ifname: string, callback: nsICaptivePortalCallback): void;
1381   abort(ifname: string): void;
1382   cancelLogin(eventId: string): void;
1383   finishPreparation(ifname: string): void;
1386 // https://searchfox.org/mozilla-central/source/toolkit/components/cascade_bloom_filter/nsICascadeFilter.idl
1388 interface nsICascadeFilter extends nsISupports {
1389   setFilterData(data: u8[]): void;
1390   has(key: string): boolean;
1393 // https://searchfox.org/mozilla-central/source/chrome/nsIChromeRegistry.idl
1395 interface nsIChromeRegistry extends nsISupports {
1396   readonly NONE: 0;
1397   readonly PARTIAL: 1;
1398   readonly FULL: 2;
1400   convertChromeURL(aChromeURL: nsIURI): nsIURI;
1401   checkForNewChrome(): void;
1404 interface nsIXULChromeRegistry extends nsIChromeRegistry {
1405   isLocaleRTL(package: string): boolean;
1406   allowScriptsForPackage(url: nsIURI): boolean;
1407   allowContentToAccess(url: nsIURI): boolean;
1408   canLoadURLRemotely(url: nsIURI): boolean;
1409   mustLoadURLRemotely(url: nsIURI): boolean;
1412 // https://searchfox.org/mozilla-central/source/chrome/nsIToolkitChromeRegistry.idl
1414 interface nsIToolkitChromeRegistry extends nsIXULChromeRegistry {
1415   getLocalesForPackage(aPackage: string): nsIUTF8StringEnumerator;
1418 // https://searchfox.org/mozilla-central/source/tools/code-coverage/nsICodeCoverage.idl
1420 interface nsICodeCoverage extends nsISupports {
1421   flushCounters(): Promise<any>;
1424 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandManager.idl
1426 interface nsICommandManager extends nsISupports {
1427   addCommandObserver(aCommandObserver: nsIObserver, aCommandToObserve: string): void;
1428   removeCommandObserver(aCommandObserver: nsIObserver, aCommandObserved: string): void;
1429   isCommandSupported(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;
1430   isCommandEnabled(aCommandName: string, aTargetWindow: mozIDOMWindowProxy): boolean;
1431   getCommandState(aCommandName: string, aTargetWindow: mozIDOMWindowProxy, aCommandParams: nsICommandParams): void;
1432   doCommand(aCommandName: string, aCommandParams: nsICommandParams, aTargetWindow: mozIDOMWindowProxy): void;
1435 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsICommandParams.idl
1437 interface nsICommandParams extends nsISupports {
1438   readonly eNoType: 0;
1439   readonly eBooleanType: 1;
1440   readonly eLongType: 2;
1441   readonly eDoubleType: 3;
1442   readonly eWStringType: 4;
1443   readonly eISupportsType: 5;
1444   readonly eStringType: 6;
1446   getValueType(name: string): i16;
1447   getBooleanValue(name: string): boolean;
1448   getLongValue(name: string): i32;
1449   getDoubleValue(name: string): double;
1450   getStringValue(name: string): string;
1451   getCStringValue(name: string): string;
1452   getISupportsValue(name: string): nsISupports;
1453   setBooleanValue(name: string, value: boolean): void;
1454   setLongValue(name: string, value: i32): void;
1455   setDoubleValue(name: string, value: double): void;
1456   setStringValue(name: string, value: string): void;
1457   setCStringValue(name: string, value: string): void;
1458   setISupportsValue(name: string, value: nsISupports): void;
1459   removeValue(name: string): void;
1462 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommand.idl
1464 interface nsIControllerCommand extends nsISupports {
1465   isCommandEnabled(aCommandName: string, aCommandContext: nsISupports): boolean;
1466   getCommandStateParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;
1467   doCommand(aCommandName: string, aCommandContext: nsISupports): void;
1468   doCommandParams(aCommandName: string, aParams: nsICommandParams, aCommandContext: nsISupports): void;
1471 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerCommandTable.idl
1473 interface nsIControllerCommandTable extends nsISupports {
1474   makeImmutable(): void;
1475   registerCommand(aCommandName: string, aCommand: nsIControllerCommand): void;
1476   unregisterCommand(aCommandName: string, aCommand: nsIControllerCommand): void;
1477   findCommandHandler(aCommandName: string): nsIControllerCommand;
1478   isCommandEnabled(aCommandName: string, aCommandRefCon: nsISupports): boolean;
1479   updateCommandState(aCommandName: string, aCommandRefCon: nsISupports): void;
1480   supportsCommand(aCommandName: string, aCommandRefCon: nsISupports): boolean;
1481   doCommand(aCommandName: string, aCommandRefCon: nsISupports): void;
1482   doCommandParams(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;
1483   getCommandState(aCommandName: string, aParam: nsICommandParams, aCommandRefCon: nsISupports): void;
1484   getSupportedCommands(): string[];
1487 // https://searchfox.org/mozilla-central/source/dom/commandhandler/nsIControllerContext.idl
1489 interface nsIControllerContext extends nsISupports {
1490   setCommandContext(aCommandContext: nsISupports): void;
1493 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLine.idl
1495 interface nsICommandLine extends nsISupports {
1496   readonly STATE_INITIAL_LAUNCH: 0;
1497   readonly STATE_REMOTE_AUTO: 1;
1498   readonly STATE_REMOTE_EXPLICIT: 2;
1500   readonly length: i32;
1501   getArgument(aIndex: i32): string;
1502   findFlag(aFlag: string, aCaseSensitive: boolean): i32;
1503   removeArguments(aStart: i32, aEnd: i32): void;
1504   handleFlag(aFlag: string, aCaseSensitive: boolean): boolean;
1505   handleFlagWithParam(aFlag: string, aCaseSensitive: boolean): string;
1506   readonly state: u32;
1507   preventDefault: boolean;
1508   readonly workingDirectory: nsIFile;
1509   resolveFile(aArgument: string): nsIFile;
1510   resolveURI(aArgument: string): nsIURI;
1513 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineHandler.idl
1515 interface nsICommandLineHandler extends nsISupports {
1516   handle(aCommandLine: nsICommandLine): void;
1517   readonly helpInfo: string;
1520 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineRunner.idl
1522 // https://searchfox.org/mozilla-central/source/toolkit/components/commandlines/nsICommandLineValidator.idl
1524 interface nsICommandLineValidator extends nsISupports {
1525   validate(aCommandLine: nsICommandLine): void;
1528 // https://searchfox.org/mozilla-central/source/editor/composer/nsIEditingSession.idl
1530 interface nsIEditingSession extends nsISupports {
1531   readonly eEditorOK: 0;
1532   readonly eEditorCreationInProgress: 1;
1533   readonly eEditorErrorCantEditMimeType: 2;
1534   readonly eEditorErrorFileNotFound: 3;
1535   readonly eEditorErrorCantEditFramesets: 8;
1536   readonly eEditorErrorUnknown: 9;
1538   readonly editorStatus: u32;
1539   makeWindowEditable(window: mozIDOMWindowProxy, aEditorType: string, doAfterUriLoad: boolean, aMakeWholeDocumentEditable: boolean, aInteractive: boolean): void;
1540   windowIsEditable(window: mozIDOMWindowProxy): boolean;
1541   getEditorForWindow(window: mozIDOMWindowProxy): nsIEditor;
1544 // https://searchfox.org/mozilla-central/source/dom/events/nsIEventListenerService.idl
1546 interface nsIEventListenerChange extends nsISupports {
1547   readonly target: EventTarget;
1550 type nsIListenerChangeListener = Callable<{
1551   listenersChanged(aEventListenerChanges: nsIArray): void;
1554 interface nsIEventListenerInfo extends nsISupports {
1555   readonly type: string;
1556   readonly capturing: boolean;
1557   readonly allowsUntrusted: boolean;
1558   readonly inSystemEventGroup: boolean;
1559   enabled: boolean;
1560   readonly listenerObject: any;
1561   toSource(): string;
1564 interface nsIEventListenerService extends nsISupports {
1565   getListenerInfoFor(aEventTarget: EventTarget): nsIEventListenerInfo[];
1566   hasListenersFor(aEventTarget: EventTarget, aType: string): boolean;
1567   addListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aWantsUntrusted?: boolean, aSystemEventGroup?: boolean): void;
1568   removeListenerForAllEvents(target: EventTarget, listener: any, aUseCapture?: boolean, aSystemEventGroup?: boolean): void;
1569   addListenerChangeListener(aListener: nsIListenerChangeListener): void;
1570   removeListenerChangeListener(aListener: nsIListenerChangeListener): void;
1573 // https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginChromeService.idl
1575 interface mozIGeckoMediaPluginChromeService extends nsISupports {
1576   addPluginDirectory(directory: string): void;
1577   removePluginDirectory(directory: string): void;
1578   removeAndDeletePluginDirectory(directory: string, defer?: boolean): void;
1579   forgetThisSite(site: string, aPattern: string): void;
1580   forgetThisBaseDomain(baseDomain: string): void;
1581   isPersistentStorageAllowed(nodeId: string): boolean;
1582   getStorageDir(): nsIFile;
1585 // https://searchfox.org/mozilla-central/source/dom/media/gmp/mozIGeckoMediaPluginService.idl
1587 interface mozIGeckoMediaPluginService extends nsISupports {
1588   readonly thread: nsIThread;
1589   RunPluginCrashCallbacks(pluginId: u32, pluginName: string): void;
1592 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIDefaultAgent.idl
1594 interface nsIDefaultAgent extends nsISupports {
1595   registerTask(aUniqueToken: string): void;
1596   updateTask(aUniqueToken: string): void;
1597   unregisterTask(aUniqueToken: string): void;
1598   uninstall(aUniqueToken: string): void;
1599   appRanRecently(): boolean;
1600   getDefaultBrowser(): string;
1601   getReplacePreviousDefaultBrowser(aCurrentBrowser: string): string;
1602   getDefaultPdfHandler(): string;
1603   sendPing(aCurrentBrowser: string, aPreviousBrowser: string, aPdfHandler: string, aNotificationShown: string, aNotificationAction: string): void;
1604   setDefaultBrowserUserChoice(aAumid: string, aExtraFileExtensions: string[]): void;
1605   setDefaultBrowserUserChoiceAsync(aAumid: string, aExtraFileExtensions: string[]): Promise<any>;
1606   setDefaultExtensionHandlersUserChoice(aAumid: string, aFileExtensions: string[]): void;
1607   agentDisabled(): boolean;
1610 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIWindowsMutex.idl
1612 interface nsIWindowsMutex extends nsISupports {
1613   tryLock(): void;
1614   isLocked(): boolean;
1615   unlock(): void;
1618 interface nsIWindowsMutexFactory extends nsISupports {
1619   createMutex(aName: string): nsIWindowsMutex;
1622 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShell.idl
1624 }  // global
1626 declare namespace nsIDocShell {
1628 enum DocShellEnumeratorDirection {
1629   ENUMERATE_FORWARDS = 0,
1630   ENUMERATE_BACKWARDS = 1,
1633 enum AppType {
1634   APP_TYPE_UNKNOWN = 0,
1635   APP_TYPE_MAIL = 1,
1636   APP_TYPE_EDITOR = 2,
1639 enum BusyFlags {
1640   BUSY_FLAGS_NONE = 0,
1641   BUSY_FLAGS_BUSY = 1,
1642   BUSY_FLAGS_BEFORE_PAGE_LOAD = 2,
1643   BUSY_FLAGS_PAGE_LOADING = 4,
1646 enum LoadCommand {
1647   LOAD_CMD_NORMAL = 1,
1648   LOAD_CMD_RELOAD = 2,
1649   LOAD_CMD_HISTORY = 4,
1650   LOAD_CMD_PUSHSTATE = 8,
1655 declare global {
1657 interface nsIDocShell extends nsIDocShellTreeItem, Enums<typeof nsIDocShell.DocShellEnumeratorDirection & typeof nsIDocShell.AppType & typeof nsIDocShell.BusyFlags & typeof nsIDocShell.LoadCommand> {
1658   setCancelContentJSEpoch(aEpoch: i32): void;
1659   addState(aData: any, aTitle: string, aURL: string, aReplace: boolean): void;
1660   prepareForNewContentModel(): void;
1661   setCurrentURIForSessionStore(aURI: nsIURI): void;
1662   readonly docViewer: nsIDocumentViewer;
1663   readonly outerWindowID: u64;
1664   chromeEventHandler: EventTarget;
1665   customUserAgent: string;
1666   cssErrorReportingEnabled: boolean;
1667   allowMetaRedirects: boolean;
1668   allowSubframes: boolean;
1669   allowImages: boolean;
1670   allowMedia: boolean;
1671   allowDNSPrefetch: boolean;
1672   allowWindowControl: boolean;
1673   allowContentRetargeting: boolean;
1674   allowContentRetargetingOnChildren: boolean;
1675   getAllDocShellsInSubtree(aItemType: i32, aDirection: nsIDocShell.DocShellEnumeratorDirection): nsIDocShell[];
1676   appType: nsIDocShell.AppType;
1677   allowAuth: boolean;
1678   zoom: float;
1679   tabToTreeOwner(forward: boolean, forDocumentNavigation: boolean): boolean;
1680   readonly busyFlags: nsIDocShell.BusyFlags;
1681   loadType: u32;
1682   defaultLoadFlags: nsLoadFlags;
1683   isBeingDestroyed(): boolean;
1684   readonly isExecutingOnLoadHandler: boolean;
1685   layoutHistoryState: nsILayoutHistoryState;
1686   readonly loadURIDelegate: nsILoadURIDelegate;
1687   suspendRefreshURIs(): void;
1688   resumeRefreshURIs(): void;
1689   beginRestore(viewer: nsIDocumentViewer, top: boolean): void;
1690   finishRestore(): void;
1691   clearCachedUserAgent(): void;
1692   clearCachedPlatform(): void;
1693   readonly restoringDocument: boolean;
1694   useErrorPages: boolean;
1695   displayLoadError(aError: nsresult, aURI: nsIURI, aURL: string, aFailedChannel?: nsIChannel): boolean;
1696   readonly failedChannel: nsIChannel;
1697   readonly previousEntryIndex: i32;
1698   readonly loadedEntryIndex: i32;
1699   historyPurged(numEntries: i32): void;
1700   readonly currentDocumentChannel: nsIChannel;
1701   readonly isInUnload: boolean;
1702   exitPrintPreview(): void;
1703   readonly historyID: nsID;
1704   createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal, aCSP?: nsIContentSecurityPolicy): void;
1705   readonly charset: string;
1706   forceEncodingDetection(): void;
1707   now(): DOMHighResTimeStamp;
1708   addWeakPrivacyTransitionObserver(obs: nsIPrivacyTransitionObserver): void;
1709   addWeakReflowObserver(obs: nsIReflowObserver): void;
1710   removeWeakReflowObserver(obs: nsIReflowObserver): void;
1711   readonly isTopLevelContentDocShell: boolean;
1712   readonly asyncPanZoomEnabled: boolean;
1713   readonly mayEnableCharacterEncodingMenu: boolean;
1714   editor: nsIEditor;
1715   readonly editable: boolean;
1716   readonly hasEditingSession: boolean;
1717   makeEditable(inWaitForUriLoad: boolean): void;
1718   getCurrentSHEntry(aEntry: OutParam<nsISHEntry>): boolean;
1719   isCommandEnabled(command: string): boolean;
1720   doCommand(command: string): void;
1721   doCommandWithParams(command: string, aParams: nsICommandParams): void;
1722   readonly hasLoadedNonBlankURI: boolean;
1723   windowDraggingAllowed: boolean;
1724   currentScrollRestorationIsManual: boolean;
1725   getOriginAttributes(): any;
1726   setOriginAttributes(aAttrs: any): void;
1727   readonly editingSession: nsIEditingSession;
1728   readonly browserChild: nsIBrowserChild;
1729   useTrackingProtection: boolean;
1730   setColorMatrix(aMatrix: float[]): void;
1731   readonly isForceReloading: boolean;
1732   getColorMatrix(): float[];
1733   readonly messageManager: ContentFrameMessageManager;
1734   getHasTrackingContentBlocked(): Promise<any>;
1735   readonly isNavigating: boolean;
1736   synchronizeLayoutHistoryState(): void;
1737   persistLayoutHistoryState(): void;
1740 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeItem.idl
1742 interface nsIDocShellTreeItem extends nsISupports {
1743   readonly typeChrome: 0;
1744   readonly typeContent: 1;
1745   readonly typeContentWrapper: 2;
1746   readonly typeChromeWrapper: 3;
1747   readonly typeAll: 2147483647;
1749   name: string;
1750   nameEquals(name: string): boolean;
1751   readonly itemType: i32;
1752   readonly parent: nsIDocShellTreeItem;
1753   readonly sameTypeParent: nsIDocShellTreeItem;
1754   readonly rootTreeItem: nsIDocShellTreeItem;
1755   readonly sameTypeRootTreeItem: nsIDocShellTreeItem;
1756   readonly treeOwner: nsIDocShellTreeOwner;
1757   readonly childCount: i32;
1758   getChildAt(index: i32): nsIDocShellTreeItem;
1759   readonly browsingContext: BrowsingContext;
1760   readonly domWindow: mozIDOMWindowProxy;
1763 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocShellTreeOwner.idl
1765 interface nsIDocShellTreeOwner extends nsISupports {
1766   contentShellAdded(aContentShell: nsIDocShellTreeItem, aPrimary: boolean): void;
1767   contentShellRemoved(aContentShell: nsIDocShellTreeItem): void;
1768   readonly primaryContentShell: nsIDocShellTreeItem;
1769   remoteTabAdded(aTab: nsIRemoteTab, aPrimary: boolean): void;
1770   remoteTabRemoved(aTab: nsIRemoteTab): void;
1771   readonly primaryRemoteTab: nsIRemoteTab;
1772   readonly primaryContentBrowsingContext: BrowsingContext;
1773   sizeShellTo(shell: nsIDocShellTreeItem, cx: i32, cy: i32): void;
1774   getPrimaryContentSize(width: OutParam<i32>, height: OutParam<i32>): void;
1775   setPrimaryContentSize(width: i32, height: i32): void;
1776   getRootShellSize(width: OutParam<i32>, height: OutParam<i32>): void;
1777   setRootShellSize(width: i32, height: i32): void;
1778   setPersistence(aPersistPosition: boolean, aPersistSize: boolean, aPersistSizeMode: boolean): void;
1779   getPersistence(aPersistPosition: OutParam<boolean>, aPersistSize: OutParam<boolean>, aPersistSizeMode: OutParam<boolean>): void;
1780   readonly tabCount: u32;
1781   readonly hasPrimaryContent: boolean;
1784 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentLoaderFactory.idl
1786 interface nsIDocumentLoaderFactory extends nsISupports {
1787   createInstance(aCommand: string, aChannel: nsIChannel, aLoadGroup: nsILoadGroup, aContentType: string, aContainer: nsIDocShell, aExtraInfo: nsISupports, aDocListenerResult: OutParam<nsIStreamListener>): nsIDocumentViewer;
1788   createInstanceForDocument(aContainer: nsISupports, aDocument: Document, aCommand: string): nsIDocumentViewer;
1791 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewer.idl
1793 }  // global
1795 declare namespace nsIDocumentViewer {
1797 enum PermitUnloadAction {
1798   ePrompt = 0,
1799   eDontPromptAndDontUnload = 1,
1800   eDontPromptAndUnload = 2,
1803 enum PermitUnloadResult {
1804   eAllowNavigation = 0,
1805   eRequestBlockNavigation = 1,
1810 declare global {
1812 interface nsIDocumentViewer extends nsISupports, Enums<typeof nsIDocumentViewer.PermitUnloadAction & typeof nsIDocumentViewer.PermitUnloadResult> {
1813   readonly eDelayResize: 1;
1815   container: nsIDocShell;
1816   loadComplete(aStatus: nsresult): void;
1817   permitUnload(aAction?: nsIDocumentViewer.PermitUnloadAction): boolean;
1818   readonly inPermitUnload: boolean;
1819   readonly beforeUnloadFiring: boolean;
1820   pageHide(isUnload: boolean): void;
1821   close(historyEntry: nsISHEntry): void;
1822   destroy(): void;
1823   stop(): void;
1824   readonly DOMDocument: Document;
1825   move(aX: i32, aY: i32): void;
1826   show(): void;
1827   hide(): void;
1828   sticky: boolean;
1829   open(aState: nsISupports, aSHEntry: nsISHEntry): void;
1830   clearHistoryEntry(): void;
1831   setPageModeForTesting(aPageMode: boolean, aPrintSettings: nsIPrintSettings): void;
1832   readonly historyEntry: nsISHEntry;
1833   readonly isTabModalPromptAllowed: boolean;
1834   isHidden: boolean;
1835   readonly deviceFullZoomForTest: float;
1836   authorStyleDisabled: boolean;
1837   getContentSize(maxWidth: i32, maxHeight: i32, prefWidth: i32, width: OutParam<i32>, height: OutParam<i32>): void;
1840 // https://searchfox.org/mozilla-central/source/docshell/base/nsIDocumentViewerEdit.idl
1842 interface nsIDocumentViewerEdit extends nsISupports {
1843   readonly COPY_IMAGE_TEXT: 1;
1844   readonly COPY_IMAGE_HTML: 2;
1845   readonly COPY_IMAGE_DATA: 4;
1846   readonly COPY_IMAGE_ALL: -1;
1848   clearSelection(): void;
1849   selectAll(): void;
1850   copySelection(): void;
1851   readonly copyable: boolean;
1852   copyLinkLocation(): void;
1853   readonly inLink: boolean;
1854   copyImage(aCopyFlags: i32): void;
1855   readonly inImage: boolean;
1856   getContents(aMimeType: string, aSelectionOnly: boolean): string;
1857   readonly canGetContents: boolean;
1858   setCommandNode(aNode: Node): void;
1861 // https://searchfox.org/mozilla-central/source/docshell/base/nsILoadContext.idl
1863 interface nsILoadContext extends nsISupports {
1864   readonly associatedWindow: mozIDOMWindowProxy;
1865   readonly topWindow: mozIDOMWindowProxy;
1866   readonly topFrameElement: Element;
1867   readonly isContent: boolean;
1868   usePrivateBrowsing: boolean;
1869   readonly useRemoteTabs: boolean;
1870   readonly useRemoteSubframes: boolean;
1871   useTrackingProtection: boolean;
1872   readonly originAttributes: any;
1875 // https://searchfox.org/mozilla-central/source/docshell/base/nsILoadURIDelegate.idl
1877 interface nsILoadURIDelegate extends nsISupports {
1878   handleLoadError(aURI: nsIURI, aError: nsresult, aErrorModule: i16): nsIURI;
1881 // https://searchfox.org/mozilla-central/source/docshell/base/nsIPrivacyTransitionObserver.idl
1883 type nsIPrivacyTransitionObserver = Callable<{
1884   privateModeChanged(enabled: boolean): void;
1887 // https://searchfox.org/mozilla-central/source/docshell/base/nsIReflowObserver.idl
1889 interface nsIReflowObserver extends nsISupports {
1890   reflow(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;
1891   reflowInterruptible(start: DOMHighResTimeStamp, end: DOMHighResTimeStamp): void;
1894 // https://searchfox.org/mozilla-central/source/docshell/base/nsIRefreshURI.idl
1896 interface nsIRefreshURI extends nsISupports {
1897   refreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;
1898   forceRefreshURI(aURI: nsIURI, aPrincipal: nsIPrincipal, aMillis: u32): void;
1899   cancelRefreshURITimers(): void;
1900   readonly refreshPending: boolean;
1903 // https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipListener.idl
1905 interface nsITooltipListener extends nsISupports {
1906   onShowTooltip(aXCoords: i32, aYCoords: i32, aTipText: string, aTipDir: string): void;
1907   onHideTooltip(): void;
1910 // https://searchfox.org/mozilla-central/source/docshell/base/nsITooltipTextProvider.idl
1912 interface nsITooltipTextProvider extends nsISupports {
1913   getNodeText(aNode: Node, aText: OutParam<string>, aDirection: OutParam<string>): boolean;
1916 // https://searchfox.org/mozilla-central/source/docshell/base/nsIURIFixup.idl
1918 interface nsIURIFixupInfo extends nsISupports {
1919   consumer: BrowsingContext;
1920   preferredURI: nsIURI;
1921   fixedURI: nsIURI;
1922   keywordProviderName: string;
1923   keywordAsSent: string;
1924   wasSchemelessInput: boolean;
1925   fixupChangedProtocol: boolean;
1926   fixupCreatedAlternateURI: boolean;
1927   originalInput: string;
1928   postData: nsIInputStream;
1931 interface nsIURIFixup extends nsISupports {
1932   readonly FIXUP_FLAG_NONE: 0;
1933   readonly FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP: 1;
1934   readonly FIXUP_FLAGS_MAKE_ALTERNATE_URI: 2;
1935   readonly FIXUP_FLAG_PRIVATE_CONTEXT: 4;
1936   readonly FIXUP_FLAG_FIX_SCHEME_TYPOS: 8;
1938   getFixupURIInfo(aURIText: string, aFixupFlags?: u32): nsIURIFixupInfo;
1939   webNavigationFlagsToFixupFlags(aURIText: string, aDocShellFlags: u32): u32;
1940   keywordToURI(aKeyword: string, aIsPrivateContext?: boolean): nsIURIFixupInfo;
1941   forceHttpFixup(aUriString: string): nsIURIFixupInfo;
1942   checkHost(aURI: nsIURI, aListener: nsIDNSListener, aOriginAttributes?: any): void;
1943   isDomainKnown(aDomain: string): boolean;
1946 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigation.idl
1948 interface nsIWebNavigation extends nsISupports {
1949   readonly LOAD_FLAGS_MASK: 65535;
1950   readonly LOAD_FLAGS_NONE: 0;
1951   readonly LOAD_FLAGS_IS_REFRESH: 16;
1952   readonly LOAD_FLAGS_IS_LINK: 32;
1953   readonly LOAD_FLAGS_BYPASS_HISTORY: 64;
1954   readonly LOAD_FLAGS_REPLACE_HISTORY: 128;
1955   readonly LOAD_FLAGS_BYPASS_CACHE: 256;
1956   readonly LOAD_FLAGS_BYPASS_PROXY: 512;
1957   readonly LOAD_FLAGS_CHARSET_CHANGE: 1024;
1958   readonly LOAD_FLAGS_STOP_CONTENT: 2048;
1959   readonly LOAD_FLAGS_FROM_EXTERNAL: 4096;
1960   readonly LOAD_FLAGS_FIRST_LOAD: 16384;
1961   readonly LOAD_FLAGS_ALLOW_POPUPS: 32768;
1962   readonly LOAD_FLAGS_BYPASS_CLASSIFIER: 65536;
1963   readonly LOAD_FLAGS_FORCE_ALLOW_COOKIES: 131072;
1964   readonly LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL: 262144;
1965   readonly LOAD_FLAGS_ERROR_LOAD_CHANGES_RV: 524288;
1966   readonly LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP: 1048576;
1967   readonly LOAD_FLAGS_FIXUP_SCHEME_TYPOS: 2097152;
1968   readonly LOAD_FLAGS_FORCE_ALLOW_DATA_URI: 4194304;
1969   readonly LOAD_FLAGS_IS_REDIRECT: 8388608;
1970   readonly LOAD_FLAGS_DISABLE_TRR: 16777216;
1971   readonly LOAD_FLAGS_FORCE_TRR: 33554432;
1972   readonly LOAD_FLAGS_BYPASS_LOAD_URI_DELEGATE: 67108864;
1973   readonly LOAD_FLAGS_USER_ACTIVATION: 134217728;
1974   readonly STOP_NETWORK: 1;
1975   readonly STOP_CONTENT: 2;
1976   readonly STOP_ALL: 3;
1978   readonly canGoBack: boolean;
1979   readonly canGoForward: boolean;
1980   goBack(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;
1981   goForward(aRequireUserInteraction?: boolean, aUserActivation?: boolean): void;
1982   gotoIndex(index: i32, aUserActivation?: boolean): void;
1983   loadURI(aURI: nsIURI, aLoadURIOptions: any): void;
1984   fixupAndLoadURIString(aURIString: string, aLoadURIOptions: any): void;
1985   reload(aReloadFlags: u32): void;
1986   stop(aStopFlags: u32): void;
1987   readonly document: Document;
1988   readonly currentURI: nsIURI;
1989   readonly sessionHistory: nsISupports;
1990   resumeRedirectedLoad(aLoadIdentifier: u64, aHistoryIndex: i32): void;
1993 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebNavigationInfo.idl
1995 interface nsIWebNavigationInfo extends nsISupports {
1996   readonly UNSUPPORTED: 0;
1997   readonly IMAGE: 1;
1998   readonly FALLBACK: 2;
1999   readonly OTHER: 32768;
2001   isTypeSupported(aType: string): u32;
2004 // https://searchfox.org/mozilla-central/source/docshell/base/nsIWebPageDescriptor.idl
2006 interface nsIWebPageDescriptor extends nsISupports {
2007   loadPageAsViewSource(otherDocShell: nsIDocShell, aURL: string): void;
2008   readonly currentDescriptor: nsISupports;
2011 // https://searchfox.org/mozilla-central/source/dom/base/mozIDOMWindow.idl
2013 interface mozIDOMWindow extends nsISupports {
2016 interface mozIDOMWindowProxy extends nsISupports {
2019 // https://searchfox.org/mozilla-central/source/dom/base/nsIContentPolicy.idl
2021 }  // global
2023 declare namespace nsIContentPolicy {
2025 enum nsContentPolicyType {
2026   TYPE_INVALID = 0,
2027   TYPE_OTHER = 1,
2028   TYPE_SCRIPT = 2,
2029   TYPE_IMAGE = 3,
2030   TYPE_STYLESHEET = 4,
2031   TYPE_OBJECT = 5,
2032   TYPE_DOCUMENT = 6,
2033   TYPE_SUBDOCUMENT = 7,
2034   TYPE_PING = 10,
2035   TYPE_XMLHTTPREQUEST = 11,
2036   TYPE_OBJECT_SUBREQUEST = 12,
2037   TYPE_DTD = 13,
2038   TYPE_FONT = 14,
2039   TYPE_MEDIA = 15,
2040   TYPE_WEBSOCKET = 16,
2041   TYPE_CSP_REPORT = 17,
2042   TYPE_XSLT = 18,
2043   TYPE_BEACON = 19,
2044   TYPE_FETCH = 20,
2045   TYPE_IMAGESET = 21,
2046   TYPE_WEB_MANIFEST = 22,
2047   TYPE_INTERNAL_SCRIPT = 23,
2048   TYPE_INTERNAL_WORKER = 24,
2049   TYPE_INTERNAL_SHARED_WORKER = 25,
2050   TYPE_INTERNAL_EMBED = 26,
2051   TYPE_INTERNAL_OBJECT = 27,
2052   TYPE_INTERNAL_FRAME = 28,
2053   TYPE_INTERNAL_IFRAME = 29,
2054   TYPE_INTERNAL_AUDIO = 30,
2055   TYPE_INTERNAL_VIDEO = 31,
2056   TYPE_INTERNAL_TRACK = 32,
2057   TYPE_INTERNAL_XMLHTTPREQUEST_ASYNC = 33,
2058   TYPE_INTERNAL_EVENTSOURCE = 34,
2059   TYPE_INTERNAL_SERVICE_WORKER = 35,
2060   TYPE_INTERNAL_SCRIPT_PRELOAD = 36,
2061   TYPE_INTERNAL_IMAGE = 37,
2062   TYPE_INTERNAL_IMAGE_PRELOAD = 38,
2063   TYPE_INTERNAL_STYLESHEET = 39,
2064   TYPE_INTERNAL_STYLESHEET_PRELOAD = 40,
2065   TYPE_INTERNAL_IMAGE_FAVICON = 41,
2066   TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS = 42,
2067   TYPE_SAVEAS_DOWNLOAD = 43,
2068   TYPE_SPECULATIVE = 44,
2069   TYPE_INTERNAL_MODULE = 45,
2070   TYPE_INTERNAL_MODULE_PRELOAD = 46,
2071   TYPE_INTERNAL_DTD = 47,
2072   TYPE_INTERNAL_FORCE_ALLOWED_DTD = 48,
2073   TYPE_INTERNAL_AUDIOWORKLET = 49,
2074   TYPE_INTERNAL_PAINTWORKLET = 50,
2075   TYPE_INTERNAL_FONT_PRELOAD = 51,
2076   TYPE_INTERNAL_CHROMEUTILS_COMPILED_SCRIPT = 52,
2077   TYPE_INTERNAL_FRAME_MESSAGEMANAGER_SCRIPT = 53,
2078   TYPE_INTERNAL_FETCH_PRELOAD = 54,
2079   TYPE_UA_FONT = 55,
2080   TYPE_PROXIED_WEBRTC_MEDIA = 56,
2081   TYPE_WEB_IDENTITY = 57,
2082   TYPE_INTERNAL_WORKER_STATIC_MODULE = 58,
2083   TYPE_WEB_TRANSPORT = 59,
2084   TYPE_INTERNAL_XMLHTTPREQUEST_SYNC = 60,
2085   TYPE_END = 61,
2090 declare global {
2092 interface nsIContentPolicy extends nsISupports, Enums<typeof nsIContentPolicy.nsContentPolicyType> {
2093   readonly REJECT_REQUEST: -1;
2094   readonly REJECT_TYPE: -2;
2095   readonly REJECT_SERVER: -3;
2096   readonly REJECT_OTHER: -4;
2097   readonly REJECT_POLICY: -5;
2098   readonly ACCEPT: 1;
2100   shouldLoad(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;
2101   shouldProcess(aContentLocation: nsIURI, aLoadInfo: nsILoadInfo): i16;
2104 // https://searchfox.org/mozilla-central/source/dom/base/nsIDroppedLinkHandler.idl
2106 interface nsIDroppedLinkItem extends nsISupports {
2107   readonly url: string;
2108   readonly name: string;
2109   readonly type: string;
2112 interface nsIDroppedLinkHandler extends nsISupports {
2113   canDropLink(aEvent: DragEvent, aAllowSameDocument: boolean): boolean;
2114   dropLinks(aEvent: DragEvent, aDisallowInherit?: boolean): nsIDroppedLinkItem[];
2115   validateURIsForDrop(aEvent: DragEvent, aURIs: string[], aDisallowInherit?: boolean): void;
2116   queryLinks(aDataTransfer: DataTransfer): nsIDroppedLinkItem[];
2117   getTriggeringPrincipal(aEvent: DragEvent): nsIPrincipal;
2118   getCsp(aEvent: DragEvent): nsIContentSecurityPolicy;
2121 // https://searchfox.org/mozilla-central/source/dom/base/nsIEventSourceEventService.idl
2123 interface nsIEventSourceEventListener extends nsISupports {
2124   eventSourceConnectionOpened(aHttpChannelId: u64): void;
2125   eventSourceConnectionClosed(aHttpChannelId: u64): void;
2126   eventReceived(aHttpChannelId: u64, aEventName: string, aLastEventID: string, aData: string, aRetry: u32, aTimeStamp: DOMHighResTimeStamp): void;
2129 interface nsIEventSourceEventService extends nsISupports {
2130   addListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;
2131   removeListener(aInnerWindowID: u64, aListener: nsIEventSourceEventListener): void;
2132   hasListenerFor(aInnerWindowID: u64): boolean;
2135 // https://searchfox.org/mozilla-central/source/dom/base/nsIImageLoadingContent.idl
2137 interface nsIImageLoadingContent extends imgINotificationObserver {
2138   readonly UNKNOWN_REQUEST: -1;
2139   readonly CURRENT_REQUEST: 0;
2140   readonly PENDING_REQUEST: 1;
2143 // https://searchfox.org/mozilla-central/source/dom/base/nsIMessageManager.idl
2145 interface nsIMessageSender extends nsISupports {
2148 // https://searchfox.org/mozilla-central/source/dom/base/nsIObjectLoadingContent.idl
2150 interface nsIObjectLoadingContent extends nsISupports {
2151   readonly TYPE_LOADING: 0;
2152   readonly TYPE_DOCUMENT: 1;
2153   readonly TYPE_FALLBACK: 2;
2155   readonly actualType: string;
2156   readonly displayedType: u32;
2157   readonly srcURI: nsIURI;
2160 // https://searchfox.org/mozilla-central/source/dom/base/nsIScriptChannel.idl
2162 // https://searchfox.org/mozilla-central/source/dom/base/nsIScriptableContentIterator.idl
2164 }  // global
2166 declare namespace nsIScriptableContentIterator {
2168 enum IteratorType {
2169   NOT_INITIALIZED = 0,
2170   POST_ORDER_ITERATOR = 1,
2171   PRE_ORDER_ITERATOR = 2,
2172   SUBTREE_ITERATOR = 3,
2177 declare global {
2179 interface nsIScriptableContentIterator extends nsISupports, Enums<typeof nsIScriptableContentIterator.IteratorType> {
2180   initWithRootNode(aType: nsIScriptableContentIterator.IteratorType, aRoot: Node): void;
2181   initWithRange(aType: nsIScriptableContentIterator.IteratorType, aRange: Range): void;
2182   initWithRangeAllowCrossShadowBoundary(aType: nsIScriptableContentIterator.IteratorType, aRange: Range): void;
2183   initWithPositions(aType: nsIScriptableContentIterator.IteratorType, aStartContainer: Node, aStartOffset: u32, aEndContainer: Node, aEndOffset: u32): void;
2184   first(): void;
2185   last(): void;
2186   next(): void;
2187   prev(): void;
2188   readonly currentNode: Node;
2189   readonly isDone: boolean;
2190   positionAt(aNode: Node): void;
2193 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionController.idl
2195 interface nsISelectionController extends nsISelectionDisplay {
2196   readonly SELECTION_NONE: 0;
2197   readonly SELECTION_NORMAL: 1;
2198   readonly SELECTION_SPELLCHECK: 2;
2199   readonly SELECTION_IME_RAWINPUT: 3;
2200   readonly SELECTION_IME_SELECTEDRAWTEXT: 4;
2201   readonly SELECTION_IME_CONVERTEDTEXT: 5;
2202   readonly SELECTION_IME_SELECTEDCONVERTEDTEXT: 6;
2203   readonly SELECTION_ACCESSIBILITY: 7;
2204   readonly SELECTION_FIND: 8;
2205   readonly SELECTION_URLSECONDARY: 9;
2206   readonly SELECTION_URLSTRIKEOUT: 10;
2207   readonly SELECTION_TARGET_TEXT: 11;
2208   readonly SELECTION_HIGHLIGHT: 12;
2209   readonly NUM_SELECTIONTYPES: 13;
2210   readonly SELECTION_ANCHOR_REGION: 0;
2211   readonly SELECTION_FOCUS_REGION: 1;
2212   readonly SELECTION_WHOLE_SELECTION: 2;
2213   readonly NUM_SELECTION_REGIONS: 3;
2214   readonly SELECTION_OFF: 0;
2215   readonly SELECTION_HIDDEN: 1;
2216   readonly SELECTION_ON: 2;
2217   readonly SELECTION_DISABLED: 3;
2218   readonly SELECTION_ATTENTION: 4;
2219   readonly SCROLL_SYNCHRONOUS: 2;
2220   readonly SCROLL_FIRST_ANCESTOR_ONLY: 4;
2221   readonly SCROLL_CENTER_VERTICALLY: 16;
2222   readonly SCROLL_OVERFLOW_HIDDEN: 32;
2223   readonly SCROLL_FOR_CARET_MOVE: 64;
2224   readonly MOVE_LEFT: 0;
2225   readonly MOVE_RIGHT: 1;
2226   readonly MOVE_UP: 2;
2227   readonly MOVE_DOWN: 3;
2229   setDisplaySelection(toggle: i16): void;
2230   getDisplaySelection(): i16;
2231   getSelection(type: i16): Selection;
2232   scrollSelectionIntoView(type: i16, region: i16, flags: i16): void;
2233   repaintSelection(type: i16): void;
2234   setCaretEnabled(enabled: boolean): void;
2235   setCaretReadOnly(readOnly: boolean): void;
2236   getCaretEnabled(): boolean;
2237   readonly caretVisible: boolean;
2238   setCaretVisibilityDuringSelection(visibility: boolean): void;
2239   characterMove(forward: boolean, extend: boolean): void;
2240   physicalMove(direction: i16, amount: i16, extend: boolean): void;
2241   wordMove(forward: boolean, extend: boolean): void;
2242   lineMove(forward: boolean, extend: boolean): void;
2243   intraLineMove(forward: boolean, extend: boolean): void;
2244   pageMove(forward: boolean, extend: boolean): void;
2245   completeScroll(forward: boolean): void;
2246   completeMove(forward: boolean, extend: boolean): void;
2247   scrollPage(forward: boolean): void;
2248   scrollLine(forward: boolean): void;
2249   scrollCharacter(right: boolean): void;
2252 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionDisplay.idl
2254 interface nsISelectionDisplay extends nsISupports {
2255   readonly DISPLAY_TEXT: 1;
2256   readonly DISPLAY_IMAGES: 2;
2257   readonly DISPLAY_FRAMES: 4;
2258   readonly DISPLAY_ALL: 7;
2260   setSelectionFlags(toggle: i16): void;
2261   getSelectionFlags(): i16;
2264 // https://searchfox.org/mozilla-central/source/dom/base/nsISelectionListener.idl
2266 interface nsISelectionListener extends nsISupports {
2267   readonly NO_REASON: 0;
2268   readonly DRAG_REASON: 1;
2269   readonly MOUSEDOWN_REASON: 2;
2270   readonly MOUSEUP_REASON: 4;
2271   readonly KEYPRESS_REASON: 8;
2272   readonly SELECTALL_REASON: 16;
2273   readonly COLLAPSETOSTART_REASON: 32;
2274   readonly COLLAPSETOEND_REASON: 64;
2275   readonly IME_REASON: 128;
2276   readonly JS_REASON: 256;
2277   readonly CHARACTER_AMOUNT: 0;
2278   readonly CLUSTER_AMOUNT: 1;
2279   readonly WORD_AMOUNT: 2;
2280   readonly WORDNOSPACE_AMOUNT: 3;
2281   readonly LINE_AMOUNT: 4;
2282   readonly BEGINLINE_AMOUNT: 5;
2283   readonly ENDLINE_AMOUNT: 6;
2284   readonly NO_AMOUNT: 7;
2285   readonly PARAGRAPH_AMOUNT: 8;
2287   notifySelectionChanged(doc: Document, sel: Selection, reason: i16, amount: i32): void;
2290 // https://searchfox.org/mozilla-central/source/dom/base/nsISlowScriptDebug.idl
2292 type nsISlowScriptDebugCallback = Callable<{
2293   handleSlowScriptDebug(aWindow: nsIDOMWindow): void;
2296 type nsISlowScriptDebuggerStartupCallback = Callable<{
2297   finishDebuggerStartup(): void;
2300 type nsISlowScriptDebugRemoteCallback = Callable<{
2301   handleSlowScriptDebug(aBrowser: EventTarget, aCallback: nsISlowScriptDebuggerStartupCallback): void;
2304 interface nsISlowScriptDebug extends nsISupports {
2305   activationHandler: nsISlowScriptDebugCallback;
2306   remoteActivationHandler: nsISlowScriptDebugRemoteCallback;
2309 // https://searchfox.org/mozilla-central/source/dom/console/nsIConsoleAPIStorage.idl
2311 interface nsIConsoleAPIStorage extends nsISupports {
2312   getEvents(aId?: string): any;
2313   addLogEventListener(aListener: any, aPrincipal: nsIPrincipal): void;
2314   removeLogEventListener(aListener: any): void;
2315   recordEvent(aId: string, aEvent: any): void;
2316   clearEvents(aId?: string): void;
2319 // https://searchfox.org/mozilla-central/source/dom/file/ipc/mozIRemoteLazyInputStream.idl
2321 interface mozIRemoteLazyInputStream extends nsISupports {
2324 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessChild.idl
2326 interface nsIDOMProcessChild extends nsISupports {
2327   readonly childID: u64;
2328   getActor(name: string): JSProcessActorChild;
2329   getExistingActor(name: string): JSProcessActorChild;
2330   readonly canSend: boolean;
2333 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIDOMProcessParent.idl
2335 interface nsIDOMProcessParent extends nsISupports {
2336   readonly childID: u64;
2337   readonly osPid: i32;
2338   getActor(name: string): JSProcessActorParent;
2339   getExistingActor(name: string): JSProcessActorParent;
2340   readonly canSend: boolean;
2341   readonly remoteType: string;
2344 // https://searchfox.org/mozilla-central/source/dom/ipc/nsIHangReport.idl
2346 interface nsIHangReport extends nsISupports {
2347   readonly scriptBrowser: Element;
2348   readonly scriptFileName: string;
2349   readonly hangDuration: double;
2350   readonly addonId: string;
2351   readonly childID: u64;
2352   userCanceled(): void;
2353   terminateScript(): void;
2354   beginStartingDebugger(): void;
2355   endStartingDebugger(): void;
2356   isReportForBrowserOrChildren(aFrameLoader: FrameLoader): boolean;
2359 // https://searchfox.org/mozilla-central/source/dom/ipc/nsILoginDetectionService.idl
2361 interface nsILoginDetectionService extends nsISupports {
2362   init(): void;
2363   isLoginsLoaded(): boolean;
2366 // https://searchfox.org/mozilla-central/source/dom/audiochannel/nsIAudioChannelAgent.idl
2368 interface nsISuspendedTypes extends nsISupports {
2369   readonly NONE_SUSPENDED: 0;
2370   readonly SUSPENDED_BLOCK: 1;
2373 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/domstubs.idl
2375 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowser.idl
2377 interface nsIBrowser extends nsISupports {
2378   dropLinks(links: string[], triggeringPrincipal: nsIPrincipal): void;
2379   swapBrowsers(aOtherBrowser: nsIBrowser): void;
2380   closeBrowser(): void;
2381   readonly isRemoteBrowser: boolean;
2382   readonly permanentKey: any;
2383   readonly contentPrincipal: nsIPrincipal;
2384   readonly contentPartitionedPrincipal: nsIPrincipal;
2385   readonly csp: nsIContentSecurityPolicy;
2386   readonly referrerInfo: nsIReferrerInfo;
2387   isNavigating: boolean;
2388   mayEnableCharacterEncodingMenu: boolean;
2389   updateForStateChange(aCharset: string, aDocumentURI: nsIURI, aContentType: string): void;
2390   updateWebNavigationForLocationChange(aCanGoBack: boolean, aCanGoForward: boolean): void;
2391   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;
2392   prepareToChangeRemoteness(): Promise<any>;
2393   beforeChangeRemoteness(): void;
2394   finishChangeRemoteness(aPendingSwitchId: u64): boolean;
2397 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserChild.idl
2399 interface nsIBrowserChild extends nsISupports {
2400   readonly messageManager: ContentFrameMessageManager;
2401   remoteDropLinks(links: nsIDroppedLinkItem[]): void;
2402   contentTransformsReceived(): Promise<any>;
2403   readonly tabId: u64;
2404   notifyNavigationFinished(): void;
2405   readonly chromeOuterWindowID: u64;
2408 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserDOMWindow.idl
2410 interface nsIOpenURIInFrameParams extends nsISupports {
2411   readonly openWindowInfo: nsIOpenWindowInfo;
2412   referrerInfo: nsIReferrerInfo;
2413   readonly isPrivate: boolean;
2414   triggeringPrincipal: nsIPrincipal;
2415   csp: nsIContentSecurityPolicy;
2416   readonly openerBrowser: Element;
2417   readonly openerOriginAttributes: any;
2420 interface nsIBrowserDOMWindow extends nsISupports {
2421   readonly OPEN_DEFAULTWINDOW: 0;
2422   readonly OPEN_CURRENTWINDOW: 1;
2423   readonly OPEN_NEWWINDOW: 2;
2424   readonly OPEN_NEWTAB: 3;
2425   readonly OPEN_PRINT_BROWSER: 4;
2426   readonly OPEN_NEWTAB_BACKGROUND: 5;
2427   readonly OPEN_NEW: 0;
2428   readonly OPEN_EXTERNAL: 1;
2429   readonly OPEN_NO_OPENER: 4;
2430   readonly OPEN_NO_REFERRER: 8;
2432   createContentWindow(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;
2433   createContentWindowInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;
2434   openURI(aURI: nsIURI, aOpenWindowInfo: nsIOpenWindowInfo, aWhere: i16, aFlags: i32, aTriggeringPrincipal: nsIPrincipal, aCsp?: nsIContentSecurityPolicy): BrowsingContext;
2435   openURIInFrame(aURI: nsIURI, params: nsIOpenURIInFrameParams, aWhere: i16, aFlags: i32, aName: string): Element;
2436   canClose(): boolean;
2437   readonly tabCount: u32;
2440 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIBrowserUsage.idl
2442 interface nsIBrowserUsage extends nsISupports {
2443   getUniqueDomainsVisitedInPast24Hours(): u32;
2446 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPermissionPrompt.idl
2448 interface nsIContentPermissionType extends nsISupports {
2449   readonly type: string;
2450   readonly options: nsIArray;
2453 interface nsIContentPermissionRequest extends nsISupports {
2454   readonly types: nsIArray;
2455   readonly principal: nsIPrincipal;
2456   readonly topLevelPrincipal: nsIPrincipal;
2457   readonly window: mozIDOMWindow;
2458   readonly element: Element;
2459   readonly hasValidTransientUserGestureActivation: boolean;
2460   readonly isRequestDelegatedToUnsafeThirdParty: boolean;
2461   getDelegatePrincipal(aType: string): nsIPrincipal;
2462   cancel(): void;
2463   allow(choices?: any): void;
2466 type nsIContentPermissionPrompt = Callable<{
2467   prompt(request: nsIContentPermissionRequest): void;
2470 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentPrefService2.idl
2472 interface nsIContentPrefObserver extends nsISupports {
2473   onContentPrefSet(aGroup: string, aName: string, aValue: nsIVariant, aIsPrivate?: boolean): void;
2474   onContentPrefRemoved(aGroup: string, aName: string, aIsPrivate?: boolean): void;
2477 interface nsIContentPrefService2 extends nsISupports {
2478   readonly GROUP_NAME_MAX_LENGTH: 2000;
2480   getByName(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2481   getByDomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2482   getBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2483   getGlobal(name: string, context: nsILoadContext, callback: nsIContentPrefCallback2): void;
2484   getCachedByDomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref;
2485   getCachedBySubdomainAndName(domain: string, name: string, context: nsILoadContext): nsIContentPref[];
2486   getCachedGlobal(name: string, context: nsILoadContext): nsIContentPref;
2487   set(domain: string, name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2488   setGlobal(name: string, value: nsIVariant, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2489   removeByDomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2490   removeBySubdomainAndName(domain: string, name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2491   removeGlobal(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2492   removeByDomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2493   removeBySubdomain(domain: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2494   removeByName(name: string, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2495   removeAllDomains(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2496   removeAllDomainsSince(since: u64, context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2497   removeAllGlobals(context: nsILoadContext, callback?: nsIContentPrefCallback2): void;
2498   addObserverForName(name: string, observer: nsIContentPrefObserver): void;
2499   removeObserverForName(name: string, observer: nsIContentPrefObserver): void;
2500   extractDomain(str: string): string;
2503 interface nsIContentPrefCallback2 extends nsISupports {
2504   readonly COMPLETE_OK: 0;
2505   readonly COMPLETE_ERROR: 1;
2507   handleResult(pref: nsIContentPref): void;
2508   handleError(error: nsresult): void;
2509   handleCompletion(reason: u16): void;
2512 interface nsIContentPref extends nsISupports {
2513   readonly domain: string;
2514   readonly name: string;
2515   readonly value: nsIVariant;
2518 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIContentProcess.idl
2520 interface nsIContentProcessInfo extends nsISupports {
2521   readonly isAlive: boolean;
2522   readonly processId: i32;
2523   readonly tabCount: i32;
2524   readonly messageManager: nsISupports;
2527 interface nsIContentProcessProvider extends nsISupports {
2528   readonly NEW_PROCESS: -1;
2530   provideProcess(aType: string, aAliveProcesses: nsIContentProcessInfo[], aMaxCount: u32): i32;
2533 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMGlobalPropertyInitializer.idl
2535 interface nsIDOMGlobalPropertyInitializer extends nsISupports {
2536   init(window: mozIDOMWindow): any;
2539 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindow.idl
2541 interface nsIDOMWindow extends nsISupports {
2544 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIDOMWindowUtils.idl
2546 interface nsIDOMWindowUtils extends nsISupports {
2547   readonly MODIFIER_ALT: 1;
2548   readonly MODIFIER_CONTROL: 2;
2549   readonly MODIFIER_SHIFT: 4;
2550   readonly MODIFIER_META: 8;
2551   readonly MODIFIER_ALTGRAPH: 16;
2552   readonly MODIFIER_CAPSLOCK: 32;
2553   readonly MODIFIER_FN: 64;
2554   readonly MODIFIER_FNLOCK: 128;
2555   readonly MODIFIER_NUMLOCK: 256;
2556   readonly MODIFIER_SCROLLLOCK: 512;
2557   readonly MODIFIER_SYMBOL: 1024;
2558   readonly MODIFIER_SYMBOLLOCK: 2048;
2559   readonly WHEEL_EVENT_CAUSED_BY_NO_LINE_OR_PAGE_DELTA_DEVICE: 1;
2560   readonly WHEEL_EVENT_CAUSED_BY_MOMENTUM: 2;
2561   readonly WHEEL_EVENT_CUSTOMIZED_BY_USER_PREFS: 4;
2562   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_ZERO: 16;
2563   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_POSITIVE: 32;
2564   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_X_NEGATIVE: 64;
2565   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_ZERO: 256;
2566   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_POSITIVE: 512;
2567   readonly WHEEL_EVENT_EXPECTED_OVERFLOW_DELTA_Y_NEGATIVE: 1024;
2568   readonly NATIVE_MODIFIER_CAPS_LOCK: 1;
2569   readonly NATIVE_MODIFIER_NUM_LOCK: 2;
2570   readonly NATIVE_MODIFIER_SHIFT_LEFT: 256;
2571   readonly NATIVE_MODIFIER_SHIFT_RIGHT: 512;
2572   readonly NATIVE_MODIFIER_CONTROL_LEFT: 1024;
2573   readonly NATIVE_MODIFIER_CONTROL_RIGHT: 2048;
2574   readonly NATIVE_MODIFIER_ALT_LEFT: 4096;
2575   readonly NATIVE_MODIFIER_ALT_RIGHT: 8192;
2576   readonly NATIVE_MODIFIER_COMMAND_LEFT: 16384;
2577   readonly NATIVE_MODIFIER_COMMAND_RIGHT: 32768;
2578   readonly NATIVE_MODIFIER_HELP: 65536;
2579   readonly NATIVE_MODIFIER_ALT_GRAPH: 131072;
2580   readonly NATIVE_MODIFIER_FUNCTION: 1048576;
2581   readonly NATIVE_MODIFIER_NUMERIC_KEY_PAD: 16777216;
2582   readonly NATIVE_MOUSE_MESSAGE_BUTTON_DOWN: 1;
2583   readonly NATIVE_MOUSE_MESSAGE_BUTTON_UP: 2;
2584   readonly NATIVE_MOUSE_MESSAGE_MOVE: 3;
2585   readonly NATIVE_MOUSE_MESSAGE_ENTER_WINDOW: 4;
2586   readonly NATIVE_MOUSE_MESSAGE_LEAVE_WINDOW: 5;
2587   readonly MOUSESCROLL_PREFER_WIDGET_AT_POINT: 1;
2588   readonly MOUSESCROLL_SCROLL_LINES: 2;
2589   readonly MOUSESCROLL_WIN_SCROLL_LPARAM_NOT_NULL: 65536;
2590   readonly TOUCH_HOVER: 1;
2591   readonly TOUCH_CONTACT: 2;
2592   readonly TOUCH_REMOVE: 4;
2593   readonly TOUCH_CANCEL: 8;
2594   readonly PHASE_BEGIN: 0;
2595   readonly PHASE_UPDATE: 1;
2596   readonly PHASE_END: 2;
2597   readonly UPDATE_TYPE_RESTORE: 0;
2598   readonly UPDATE_TYPE_MAIN_THREAD: 1;
2599   readonly SCROLL_MODE_INSTANT: 0;
2600   readonly SCROLL_MODE_SMOOTH: 1;
2601   readonly FLUSH_NONE: -1;
2602   readonly FLUSH_STYLE: 0;
2603   readonly FLUSH_LAYOUT: 1;
2604   readonly FLUSH_DISPLAY: 2;
2605   readonly IME_STATUS_DISABLED: 0;
2606   readonly IME_STATUS_ENABLED: 1;
2607   readonly IME_STATUS_PASSWORD: 2;
2608   readonly INPUT_CONTEXT_ORIGIN_MAIN: 0;
2609   readonly INPUT_CONTEXT_ORIGIN_CONTENT: 1;
2610   readonly QUERY_CONTENT_FLAG_USE_NATIVE_LINE_BREAK: 0;
2611   readonly QUERY_CONTENT_FLAG_USE_XP_LINE_BREAK: 1;
2612   readonly QUERY_CONTENT_FLAG_SELECTION_SPELLCHECK: 2;
2613   readonly QUERY_CONTENT_FLAG_SELECTION_IME_RAWINPUT: 4;
2614   readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDRAWTEXT: 8;
2615   readonly QUERY_CONTENT_FLAG_SELECTION_IME_CONVERTEDTEXT: 16;
2616   readonly QUERY_CONTENT_FLAG_SELECTION_IME_SELECTEDCONVERTEDTEXT: 32;
2617   readonly QUERY_CONTENT_FLAG_SELECTION_ACCESSIBILITY: 64;
2618   readonly QUERY_CONTENT_FLAG_SELECTION_FIND: 128;
2619   readonly QUERY_CONTENT_FLAG_SELECTION_URLSECONDARY: 256;
2620   readonly QUERY_CONTENT_FLAG_SELECTION_URLSTRIKEOUT: 512;
2621   readonly QUERY_CONTENT_FLAG_OFFSET_RELATIVE_TO_INSERTION_POINT: 1024;
2622   readonly QUERY_SELECTED_TEXT: 3200;
2623   readonly QUERY_TEXT_CONTENT: 3201;
2624   readonly QUERY_CARET_RECT: 3203;
2625   readonly QUERY_TEXT_RECT: 3204;
2626   readonly QUERY_EDITOR_RECT: 3205;
2627   readonly QUERY_CHARACTER_AT_POINT: 3208;
2628   readonly QUERY_TEXT_RECT_ARRAY: 3209;
2629   readonly SELECTION_SET_FLAG_USE_NATIVE_LINE_BREAK: 0;
2630   readonly SELECTION_SET_FLAG_USE_XP_LINE_BREAK: 1;
2631   readonly SELECTION_SET_FLAG_REVERSE: 2;
2632   readonly SELECT_CHARACTER: 0;
2633   readonly SELECT_CLUSTER: 1;
2634   readonly SELECT_WORD: 2;
2635   readonly SELECT_LINE: 3;
2636   readonly SELECT_BEGINLINE: 4;
2637   readonly SELECT_ENDLINE: 5;
2638   readonly SELECT_PARAGRAPH: 6;
2639   readonly SELECT_WORDNOSPACE: 7;
2640   readonly AUDIO_INPUT: 0;
2641   readonly AUDIO_OUTPUT: 1;
2642   readonly AGENT_SHEET: 0;
2643   readonly USER_SHEET: 1;
2644   readonly AUTHOR_SHEET: 2;
2645   readonly WR_CAPTURE_SCENE: 1;
2646   readonly WR_CAPTURE_FRAME: 2;
2647   readonly WR_CAPTURE_TILE_CACHE: 4;
2648   readonly WR_CAPTURE_EXTERNAL_RESOURCES: 8;
2649   readonly DEFAULT_MOUSE_POINTER_ID: 0;
2650   readonly DEFAULT_PEN_POINTER_ID: 1;
2651   readonly DEFAULT_TOUCH_POINTER_ID: 2;
2652   readonly MOUSE_BUTTON_LEFT_BUTTON: 0;
2653   readonly MOUSE_BUTTON_MIDDLE_BUTTON: 1;
2654   readonly MOUSE_BUTTON_RIGHT_BUTTON: 2;
2655   readonly MOUSE_BUTTONS_NO_BUTTON: 0;
2656   readonly MOUSE_BUTTONS_LEFT_BUTTON: 1;
2657   readonly MOUSE_BUTTONS_RIGHT_BUTTON: 2;
2658   readonly MOUSE_BUTTONS_MIDDLE_BUTTON: 4;
2659   readonly MOUSE_BUTTONS_4TH_BUTTON: 8;
2660   readonly MOUSE_BUTTONS_5TH_BUTTON: 16;
2661   readonly MOUSE_BUTTONS_NOT_SPECIFIED: -1;
2662   readonly DIRECTION_LTR: 0;
2663   readonly DIRECTION_RTL: 1;
2664   readonly DIRECTION_NOT_SET: 2;
2666   imageAnimationMode: u16;
2667   readonly docCharsetIsForced: boolean;
2668   readonly physicalMillimeterInCSSPixels: float;
2669   getDocumentMetadata(aName: string): string;
2670   getLastOverWindowPointerLocationInCSSPixels(aX: OutParam<float>, aY: OutParam<float>): void;
2671   updateLayerTree(): void;
2672   readonly lastTransactionId: u64;
2673   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;
2674   getViewportFitInfo(): string;
2675   getDocumentViewerSize(aDisplayWidth: OutParam<u32>, aDisplayHeight: OutParam<u32>): void;
2676   setMousewheelAutodir(aElement: Element, aEnabled: boolean, aHonourRoot: boolean): void;
2677   setDisplayPortForElement(aXPx: float, aYPx: float, aWidthPx: float, aHeightPx: float, aElement: Element, aPriority: u32): void;
2678   setDisplayPortMarginsForElement(aLeftMargin: float, aTopMargin: float, aRightMargin: float, aBottomMargin: float, aElement: Element, aPriority: u32): void;
2679   setDisplayPortBaseForElement(aX: i32, aY: i32, aWidth: i32, aHeight: i32, aElement: Element): void;
2680   getScrollbarSizes(aElement: Element, aVerticalScrollbarWidth: OutParam<u32>, aHorizontalScrollbarHeight: OutParam<u32>): void;
2681   setResolutionAndScaleTo(aResolution: float): void;
2682   getResolution(): float;
2683   setRestoreResolution(aResolution: float, aDisplayWidth: u32, aDisplayHeight: u32): void;
2684   isFirstPaint: boolean;
2685   getPresShellId(): u32;
2686   isCORSSafelistedRequestHeader(name: string, value: string): boolean;
2687   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;
2688   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;
2689   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;
2690   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;
2691   sendWheelEvent(aX: float, aY: float, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aDeltaMode: u32, aModifiers: i32, aLineOrPageDeltaX: i32, aLineOrPageDeltaY: i32, aOptions: u32): void;
2692   sendNativeKeyEvent(aNativeKeyboardLayout: i32, aNativeKeyCode: i32, aModifierFlags: u32, aCharacters: string, aUnmodifiedCharacters: string, aObserver?: nsIObserver): void;
2693   sendNativeMouseEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aButton: i16, aModifierFlags: u32, aElementOnWidget: Element, aObserver?: nsIObserver): void;
2694   suppressAnimation(aSuppress: boolean): void;
2695   sendNativeMouseScrollEvent(aScreenX: i32, aScreenY: i32, aNativeMessage: u32, aDeltaX: double, aDeltaY: double, aDeltaZ: double, aModifierFlags: u32, aAdditionalFlags: u32, aElement: Element, aObserver?: nsIObserver): void;
2696   sendNativeTouchPoint(aPointerId: u32, aTouchState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aOrientation: u32, aObserver?: nsIObserver): void;
2697   sendNativeTouchpadPinch(aEventPhase: u32, aScale: float, aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;
2698   sendNativeTouchTap(aScreenX: i32, aScreenY: i32, aLongTap: boolean, aObserver?: nsIObserver): void;
2699   sendNativePenInput(aPointerId: u32, aPointerState: u32, aScreenX: i32, aScreenY: i32, aPressure: double, aRotation: u32, aTiltX: i32, aTiltY: i32, aButton: i32, aObserver?: nsIObserver): void;
2700   clearNativeTouchSequence(aObserver?: nsIObserver): void;
2701   sendNativeTouchpadDoubleTap(aScreenX: i32, aScreenY: i32, aModifierFlags: i32): void;
2702   sendNativeTouchpadPan(aEventPhase: u32, aScreenX: i32, aScreenY: i32, aDeltaX: double, aDeltaY: double, aModifierFlags: i32, aObserver?: nsIObserver): void;
2703   clearSharedStyleSheetCache(): void;
2704   clearSharedScriptCache(): void;
2705   readonly parsedStyleSheets: u32;
2706   activateNativeMenuItemAt(indexString: string): void;
2707   forceUpdateNativeMenuAt(indexString: string): void;
2708   GetSelectionAsPlaintext(): string;
2709   garbageCollect(aListener?: nsICycleCollectorListener): void;
2710   cycleCollect(aListener?: nsICycleCollectorListener): void;
2711   runNextCollectorTimer(aReason?: string): void;
2712   pokeGC(aReason?: string): void;
2713   sendSimpleGestureEvent(aType: string, aX: float, aY: float, aDirection: u32, aDelta: double, aModifiers: i32, aClickCount?: u32): void;
2714   elementFromPoint(aX: float, aY: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean): Element;
2715   nodesFromRect(aX: float, aY: float, aTopSize: float, aRightSize: float, aBottomSize: float, aLeftSize: float, aIgnoreRootScrollFrame: boolean, aFlushLayout: boolean, aOnlyVisible: boolean, aTransparencyThreshold?: float): NodeList;
2716   getTranslationNodes(aRoot: Node): nsITranslationNodeList;
2717   compareCanvases(aCanvas1: nsISupports, aCanvas2: nsISupports, aMaxDifference: OutParam<u32>): u32;
2718   readonly isMozAfterPaintPending: boolean;
2719   readonly isInputTaskManagerSuspended: boolean;
2720   suppressEventHandling(aSuppress: boolean): void;
2721   disableNonTestMouseEvents(aDisable: boolean): void;
2722   getScrollXY(aFlushLayout: boolean, aScrollX: OutParam<i32>, aScrollY: OutParam<i32>): void;
2723   getScrollXYFloat(aFlushLayout: boolean, aScrollX: OutParam<float>, aScrollY: OutParam<float>): void;
2724   getScrollbarSize(aFlushLayout: boolean, aWidth: OutParam<i32>, aHeight: OutParam<i32>): void;
2725   getBoundsWithoutFlushing(aElement: Element): DOMRect;
2726   scrollToVisual(aOffsetX: float, aOffsetY: float, aUpdateType: i32, aScrollMode: i32): void;
2727   getVisualViewportOffsetRelativeToLayoutViewport(aOffsetX: OutParam<float>, aOffsetY: OutParam<float>): void;
2728   getVisualViewportOffset(aOffsetX: OutParam<i32>, aOffsetY: OutParam<i32>): void;
2729   transformRectLayoutToVisual(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2730   toScreenRectInCSSUnits(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2731   toScreenRect(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2732   convertFromParentProcessWidgetToLocal(aX: float, aY: float, aWidth: float, aHeight: float): DOMRect;
2733   setDynamicToolbarMaxHeight(aHeightInScreen: u32): void;
2734   needsFlush(aFlushtype: i32): boolean;
2735   flushLayoutWithoutThrottledAnimations(): void;
2736   getRootBounds(): DOMRect;
2737   readonly IMEIsOpen: boolean;
2738   readonly IMEStatus: u32;
2739   readonly inputContextURI: nsIURI;
2740   readonly inputContextOrigin: u32;
2741   readonly nodeObservedByIMEContentObserver: Node;
2742   dispatchDOMEventViaPresShellForTesting(aTarget: Node, aEvent: Event): boolean;
2743   dispatchEventToChromeOnly(aTarget: EventTarget, aEvent: Event): boolean;
2744   getClassName(aObject: any): string;
2745   sendContentCommandEvent(aType: string, aTransferable?: nsITransferable, aString?: string): void;
2746   sendQueryContentEvent(aType: u32, aOffset: i64, aLength: u32, aX: i32, aY: i32, aAdditionalFlags?: u32): nsIQueryContentEventResult;
2747   remoteFrameFullscreenChanged(aFrameElement: Element): void;
2748   remoteFrameFullscreenReverted(): void;
2749   handleFullscreenRequests(): boolean;
2750   exitFullscreen(aDontRestoreViewSize?: boolean): void;
2751   sendSelectionSetEvent(aOffset: u32, aLength: u32, aAdditionalFlags?: u32): boolean;
2752   selectAtPoint(aX: float, aY: float, aSelectBehavior: u32): boolean;
2753   getVisitedDependentComputedStyle(aElement: Element, aPseudoElement: string, aPropertyName: string): string;
2754   enterModalState(): void;
2755   leaveModalState(): void;
2756   isInModalState(): boolean;
2757   suspendTimeouts(): void;
2758   resumeTimeouts(): void;
2759   readonly layerManagerType: string;
2760   readonly layerManagerRemote: boolean;
2761   readonly isWebRenderRequested: boolean;
2762   readonly currentAudioBackend: string;
2763   readonly currentMaxAudioChannels: u32;
2764   defaultDevicesRoundTripLatency(): Promise<any>;
2765   readonly currentPreferredSampleRate: u32;
2766   audioDevices(aSide: u16): nsIArray;
2767   startFrameTimeRecording(): OutParam<u32>;
2768   stopFrameTimeRecording(startIndex: u32): float[];
2769   readonly displayDPI: float;
2770   advanceTimeAndRefresh(aMilliseconds: i64): void;
2771   restoreNormalRefresh(): void;
2772   readonly isTestControllingRefreshes: boolean;
2773   readonly asyncPanZoomEnabled: boolean;
2774   setAsyncScrollOffset(aElement: Element, aX: float, aY: float): void;
2775   setAsyncZoom(aRootElement: Element, aValue: float): void;
2776   flushApzRepaints(): boolean;
2777   disableApzForElement(aElement: Element): void;
2778   zoomToFocusedInput(): void;
2779   computeAnimationDistance(element: Element, property: string, value1: string, value2: string): double;
2780   getUnanimatedComputedStyle(aElement: Element, aPseudoElement: string, aProperty: string, aFlushType: i32): string;
2781   readonly canvasBackgroundColor: string;
2782   readonly focusedInputType: string;
2783   readonly focusedActionHint: string;
2784   readonly focusedInputMode: string;
2785   readonly focusedAutocapitalize: string;
2786   getViewId(aElement: Element): nsViewID;
2787   checkAndClearPaintedState(aElement: Element): boolean;
2788   checkAndClearDisplayListState(aElement: Element): boolean;
2789   isPartOfOpaqueLayer(aElement: Element): boolean;
2790   numberOfAssignedPaintedLayers(aElements: Element[]): u32;
2791   getFileId(aFile: any): i64;
2792   getFilePath(aFile: any): string;
2793   getFileReferences(aDatabaseName: string, aId: i64, aRefCnt?: OutParam<i32>, aDBRefCnt?: OutParam<i32>): boolean;
2794   flushPendingFileDeletions(): void;
2795   startPCCountProfiling(): void;
2796   stopPCCountProfiling(): void;
2797   purgePCCounts(): void;
2798   getPCCountScriptCount(): i32;
2799   getPCCountScriptSummary(script: i32): string;
2800   getPCCountScriptContents(script: i32): string;
2801   readonly paintingSuppressed: boolean;
2802   setVisualViewportSize(aWidth: float, aHeight: float): void;
2803   disableDialogs(): void;
2804   enableDialogs(): void;
2805   areDialogsEnabled(): boolean;
2806   resetDialogAbuseState(): void;
2807   loadSheet(sheetURI: nsIURI, type: u32): void;
2808   loadSheetUsingURIString(sheetURI: string, type: u32): void;
2809   addSheet(sheet: nsIPreloadedStyleSheet, type: u32): void;
2810   removeSheet(sheetURI: nsIURI, type: u32): void;
2811   removeSheetUsingURIString(sheetURI: string, type: u32): void;
2812   readonly isHandlingUserInput: boolean;
2813   readonly millisSinceLastUserInput: double;
2814   allowScriptsToClose(): void;
2815   readonly isParentWindowMainWidgetVisible: boolean;
2816   isNodeDisabledForEvents(aNode: Node): boolean;
2817   getOMTAStyle(aElement: Element, aProperty: string, aPseudoElement?: string): string;
2818   setHandlingUserInput(aHandlingInput: boolean): nsIJSRAIIHelper;
2819   isKeyboardEventUserActivity(aKeyboardEvent: Event): boolean;
2820   getContentAPZTestData(): any;
2821   getCompositorAPZTestData(): any;
2822   postRestyleSelfEvent(aElement: Element): void;
2823   xpconnectArgument(aObj: nsISupports): void;
2824   askPermission(aRequest: nsIContentPermissionRequest): void;
2825   readonly restyleGeneration: u64;
2826   readonly framesConstructed: u64;
2827   readonly framesReflowed: u64;
2828   readonly animationTriggeredRestyles: u64;
2829   readonly refreshDriverHasPendingTick: boolean;
2830   setChromeMargin(aTop: i32, aRight: i32, aBottom: i32, aLeft: i32): void;
2831   setResizeMargin(aResizeMargin: i32): void;
2832   getFrameUniformityTestData(): any;
2833   enterChaosMode(): void;
2834   leaveChaosMode(): void;
2835   triggerDeviceReset(): void;
2836   hasRuleProcessorUsedByMultipleStyleSets(aSheetType: u32): boolean;
2837   respectDisplayPortSuppression(aEnabled: boolean): void;
2838   forceReflowInterrupt(): void;
2839   terminateGPUProcess(): void;
2840   readonly gpuProcessPid: i32;
2841   addManuallyManagedState(element: Element, state: string): void;
2842   removeManuallyManagedState(element: Element, state: string): void;
2843   getStorageUsage(aStorage: Storage): i64;
2844   getDirectionFromText(aString: string): i32;
2845   ensureDirtyRootFrame(): void;
2846   wrCapture(): void;
2847   wrStartCaptureSequence(aPath: string, aFlags: u32): void;
2848   wrStopCaptureSequence(): void;
2849   setCompositionRecording(aValue: boolean): Promise<any>;
2850   startCompositionRecording(): Promise<any>;
2851   stopCompositionRecording(aWriteToDisk: boolean): Promise<any>;
2852   isCssPropertyRecordedInUseCounter(aProperty: string): boolean;
2853   resetMobileViewportManager(): void;
2854   isCoepCredentialless(): boolean;
2855   setHiDPIMode(aHiDPI: boolean): void;
2856   restoreHiDPIMode(): void;
2857   systemFont: string;
2858   readonly paintCount: u64;
2859   syncFlushCompositor(): void;
2860   getLayersId(): u64;
2861   readonly effectivelyThrottlesFrameRequests: boolean;
2862   readonly webrtcRawDeviceId: string;
2863   readonly suspendedByBrowsingContextGroup: boolean;
2864   readonly hasScrollLinkedEffect: boolean;
2865   readonly orientationLock: u32;
2866   getWheelScrollTarget(): Element;
2869 interface nsITranslationNodeList extends nsISupports {
2870   readonly length: u32;
2871   item(index: u32): Node;
2872   isTranslationRootAtIndex(index: u32): boolean;
2875 interface nsIJSRAIIHelper extends nsISupports {
2876   destruct(): void;
2879 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIFocusManager.idl
2881 interface nsIFocusManager extends nsISupports {
2882   readonly FLAG_RAISE: 1;
2883   readonly FLAG_NOSCROLL: 2;
2884   readonly FLAG_NOSWITCHFRAME: 4;
2885   readonly FLAG_NOPARENTFRAME: 8;
2886   readonly FLAG_NONSYSTEMCALLER: 16;
2887   readonly FLAG_BYMOUSE: 4096;
2888   readonly FLAG_BYKEY: 8192;
2889   readonly FLAG_BYMOVEFOCUS: 16384;
2890   readonly FLAG_NOSHOWRING: 32768;
2891   readonly FLAG_SHOWRING: 1048576;
2892   readonly FLAG_BYTOUCH: 2097152;
2893   readonly FLAG_BYJS: 4194304;
2894   readonly FLAG_BYLONGPRESS: 8388608;
2895   readonly METHOD_MASK: 14708736;
2896   readonly METHODANDRING_MASK: 15790080;
2897   readonly MOVEFOCUS_FORWARD: 1;
2898   readonly MOVEFOCUS_BACKWARD: 2;
2899   readonly MOVEFOCUS_FORWARDDOC: 3;
2900   readonly MOVEFOCUS_BACKWARDDOC: 4;
2901   readonly MOVEFOCUS_FIRST: 5;
2902   readonly MOVEFOCUS_LAST: 6;
2903   readonly MOVEFOCUS_ROOT: 7;
2904   readonly MOVEFOCUS_CARET: 8;
2905   readonly MOVEFOCUS_FIRSTDOC: 9;
2906   readonly MOVEFOCUS_LASTDOC: 10;
2908   readonly activeWindow: mozIDOMWindowProxy;
2909   readonly activeBrowsingContext: BrowsingContext;
2910   focusedWindow: mozIDOMWindowProxy;
2911   readonly focusedContentBrowsingContext: BrowsingContext;
2912   readonly focusedElement: Element;
2913   getLastFocusMethod(window: mozIDOMWindowProxy): u32;
2914   setFocus(aElement: Element, aFlags: u32): void;
2915   moveFocus(aWindow: mozIDOMWindowProxy, aStartElement: Element, aType: u32, aFlags: u32): Element;
2916   clearFocus(aWindow: mozIDOMWindowProxy): void;
2917   getFocusedElementForWindow(aWindow: mozIDOMWindowProxy, aDeep: boolean, aFocusedWindow: OutParam<mozIDOMWindowProxy>): Element;
2918   moveCaretToFocus(aWindow: mozIDOMWindowProxy): void;
2919   elementIsFocusable(aElement: Element, aFlags: u32): boolean;
2922 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIPermissionDelegateHandler.idl
2924 interface nsIPermissionDelegateHandler extends nsISupports {
2925   maybeUnsafePermissionDelegate(aTypes: string[]): boolean;
2928 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIQueryContentEventResult.idl
2930 interface nsIQueryContentEventResult extends nsISupports {
2931   readonly offset: u32;
2932   readonly tentativeCaretOffset: u32;
2933   readonly reversed: boolean;
2934   readonly left: i32;
2935   readonly top: i32;
2936   readonly width: i32;
2937   readonly height: i32;
2938   readonly text: string;
2939   getCharacterRect(offset: i32, left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
2940   readonly succeeded: boolean;
2941   readonly notFound: boolean;
2942   readonly tentativeCaretOffsetNotFound: boolean;
2945 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIRemoteTab.idl
2947 }  // global
2949 declare namespace nsIRemoteTab {
2951 enum NavigationType {
2952   NAVIGATE_BACK = 0,
2953   NAVIGATE_FORWARD = 1,
2954   NAVIGATE_INDEX = 2,
2955   NAVIGATE_URL = 3,
2960 declare global {
2962 interface nsIRemoteTab extends nsISupports, Enums<typeof nsIRemoteTab.NavigationType> {
2963   renderLayers: boolean;
2964   readonly hasLayers: boolean;
2965   priorityHint: boolean;
2966   deprioritize(): void;
2967   preserveLayers(aPreserveLayers: boolean): void;
2968   readonly tabId: u64;
2969   readonly contentProcessId: u64;
2970   readonly osPid: i32;
2971   readonly browsingContext: BrowsingContext;
2972   readonly hasPresented: boolean;
2973   transmitPermissionsForPrincipal(aPrincipal: nsIPrincipal): void;
2974   createAboutBlankDocumentViewer(aPrincipal: nsIPrincipal, aPartitionedPrincipal: nsIPrincipal): void;
2975   maybeCancelContentJSExecution(aNavigationType: nsIRemoteTab.NavigationType, aCancelContentJSOptions?: any): void;
2978 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIServiceWorkerManager.idl
2980 interface nsIServiceWorkerUnregisterCallback extends nsISupports {
2981   unregisterSucceeded(aState: boolean): void;
2982   unregisterFailed(): void;
2985 interface nsIServiceWorkerInfo extends nsISupports {
2986   readonly STATE_PARSED: 0;
2987   readonly STATE_INSTALLING: 1;
2988   readonly STATE_INSTALLED: 2;
2989   readonly STATE_ACTIVATING: 3;
2990   readonly STATE_ACTIVATED: 4;
2991   readonly STATE_REDUNDANT: 5;
2992   readonly STATE_UNKNOWN: 6;
2994   readonly id: string;
2995   readonly scriptSpec: string;
2996   readonly cacheName: string;
2997   readonly state: u16;
2998   readonly debugger: nsIWorkerDebugger;
2999   readonly handlesFetchEvents: boolean;
3000   readonly installedTime: PRTime;
3001   readonly activatedTime: PRTime;
3002   readonly redundantTime: PRTime;
3003   readonly navigationFaultCount: u32;
3004   testingInjectCancellation: nsresult;
3005   attachDebugger(): void;
3006   detachDebugger(): void;
3009 interface nsIServiceWorkerRegistrationInfoListener extends nsISupports {
3010   onChange(): void;
3013 interface nsIServiceWorkerRegistrationInfo extends nsISupports {
3014   readonly UPDATE_VIA_CACHE_IMPORTS: 0;
3015   readonly UPDATE_VIA_CACHE_ALL: 1;
3016   readonly UPDATE_VIA_CACHE_NONE: 2;
3018   readonly principal: nsIPrincipal;
3019   readonly unregistered: boolean;
3020   readonly scope: string;
3021   readonly scriptSpec: string;
3022   readonly updateViaCache: u16;
3023   readonly lastUpdateTime: PRTime;
3024   readonly evaluatingWorker: nsIServiceWorkerInfo;
3025   readonly installingWorker: nsIServiceWorkerInfo;
3026   readonly waitingWorker: nsIServiceWorkerInfo;
3027   readonly activeWorker: nsIServiceWorkerInfo;
3028   readonly quotaUsageCheckCount: i32;
3029   getWorkerByID(aID: u64): nsIServiceWorkerInfo;
3030   addListener(listener: nsIServiceWorkerRegistrationInfoListener): void;
3031   removeListener(listener: nsIServiceWorkerRegistrationInfoListener): void;
3032   forceShutdown(): void;
3035 interface nsIServiceWorkerManagerListener extends nsISupports {
3036   onRegister(aInfo: nsIServiceWorkerRegistrationInfo): void;
3037   onUnregister(aInfo: nsIServiceWorkerRegistrationInfo): void;
3038   onQuotaUsageCheckFinish(aInfo: nsIServiceWorkerRegistrationInfo): void;
3041 interface nsIServiceWorkerManager extends nsISupports {
3042   reloadRegistrationsForTest(): void;
3043   registerForTest(aPrincipal: nsIPrincipal, aScope: string, aScriptURL: string): Promise<any>;
3044   registerForAddonPrincipal(aPrincipal: nsIPrincipal): Promise<any>;
3045   getRegistrationForAddonPrincipal(aPrincipal: nsIPrincipal): OutParam<nsIServiceWorkerRegistrationInfo>;
3046   wakeForExtensionAPIEvent(aExtensionBaseURL: string, aAPINamespace: string, aAPIEventName: string): Promise<any>;
3047   unregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;
3048   getRegistrationByPrincipal(aPrincipal: nsIPrincipal, aScope: string): nsIServiceWorkerRegistrationInfo;
3049   getScopeForUrl(aPrincipal: nsIPrincipal, aPath: string): string;
3050   getAllRegistrations(): nsIArray;
3051   removeRegistrationsByOriginAttributes(aOriginAttributes: string): void;
3052   propagateUnregister(aPrincipal: nsIPrincipal, aCallback: nsIServiceWorkerUnregisterCallback, aScope: string): void;
3053   sendNotificationClickEvent(aOriginSuffix: string, scope: string, aID: string, aTitle: string, aDir: string, aLang: string, aBody: string, aTag: string, aIcon: string, aData: string, aBehavior: string): void;
3054   sendNotificationCloseEvent(aOriginSuffix: string, scope: string, aID: string, aTitle: string, aDir: string, aLang: string, aBody: string, aTag: string, aIcon: string, aData: string, aBehavior: string): void;
3055   sendPushEvent(aOriginAttributes: string, aScope: string, aDataBytes?: u8[]): void;
3056   sendPushSubscriptionChangeEvent(aOriginAttributes: string, scope: string): void;
3057   addListener(aListener: nsIServiceWorkerManagerListener): void;
3058   removeListener(aListener: nsIServiceWorkerManagerListener): void;
3061 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIStructuredCloneContainer.idl
3063 interface nsIStructuredCloneContainer extends nsISupports {
3064   initFromBase64(aData: string, aFormatVersion: u32): void;
3065   deserializeToJsval(): any;
3066   getDataAsBase64(): string;
3067   readonly serializedNBytes: u64;
3068   readonly formatVersion: u32;
3071 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessor.idl
3073 interface nsITextInputProcessor extends nsISupports {
3074   readonly ATTR_RAW_CLAUSE: 2;
3075   readonly ATTR_SELECTED_RAW_CLAUSE: 3;
3076   readonly ATTR_CONVERTED_CLAUSE: 4;
3077   readonly ATTR_SELECTED_CLAUSE: 5;
3078   readonly KEY_DEFAULT_PREVENTED: 1;
3079   readonly KEY_NON_PRINTABLE_KEY: 2;
3080   readonly KEY_FORCE_PRINTABLE_KEY: 4;
3081   readonly KEY_KEEP_KEY_LOCATION_STANDARD: 8;
3082   readonly KEY_KEEP_KEYCODE_ZERO: 16;
3083   readonly KEY_DONT_DISPATCH_MODIFIER_KEY_EVENT: 32;
3084   readonly KEY_DONT_MARK_KEYDOWN_AS_PROCESSED: 64;
3085   readonly KEY_MARK_KEYUP_AS_PROCESSED: 128;
3086   readonly KEYEVENT_NOT_CONSUMED: 0;
3087   readonly KEYDOWN_IS_CONSUMED: 1;
3088   readonly KEYPRESS_IS_CONSUMED: 2;
3090   readonly hasComposition: boolean;
3091   beginInputTransaction(aWindow: mozIDOMWindow, aCallback: nsITextInputProcessorCallback): boolean;
3092   beginInputTransactionForTests(aWindow: mozIDOMWindow, aCallback?: nsITextInputProcessorCallback): boolean;
3093   startComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3094   setPendingCompositionString(aString: string): void;
3095   appendClauseToPendingComposition(aLength: u32, aAttribute: u32): void;
3096   setCaretInPendingComposition(aOffset: u32): void;
3097   flushPendingComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3098   commitComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;
3099   commitCompositionWith(aCommitString: string, aKeyboardEvent?: Event, aKeyFlags?: u32): boolean;
3100   cancelComposition(aKeyboardEvent?: Event, aKeyFlags?: u32): void;
3101   keydown(aKeyboardEvent: Event, aKeyFlags?: u32): u32;
3102   keyup(aKeyboardEvent: Event, aKeyFlags?: u32): boolean;
3103   getModifierState(aModifierKey: string): boolean;
3104   shareModifierStateOf(aOther: nsITextInputProcessor): void;
3105   computeCodeValueOfNonPrintableKey(aKeyValue: string, aLocation?: any): string;
3106   guessCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): string;
3107   guessKeyCodeValueOfPrintableKeyInUSEnglishKeyboardLayout(aKeyValue: string, aLocation?: any): u32;
3110 // https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsITextInputProcessorCallback.idl
3112 interface nsITextInputProcessorNotification extends nsISupports {
3113   readonly type: string;
3114   readonly hasRange: boolean;
3115   readonly offset: u32;
3116   readonly text: string;
3117   readonly collapsed: boolean;
3118   readonly length: u32;
3119   readonly reversed: boolean;
3120   readonly writingMode: string;
3121   readonly causedByComposition: boolean;
3122   readonly causedBySelectionEvent: boolean;
3123   readonly occurredDuringComposition: boolean;
3124   readonly removedLength: u32;
3125   readonly addedLength: u32;
3126   readonly causedOnlyByComposition: boolean;
3127   readonly includingChangesDuringComposition: boolean;
3128   readonly includingChangesWithoutComposition: boolean;
3131 type nsITextInputProcessorCallback = Callable<{
3132   onNotify(aTextInputProcessor: nsITextInputProcessor, aNotification: nsITextInputProcessorNotification): boolean;
3135 // https://searchfox.org/mozilla-central/source/dom/bindings/nsIScriptError.idl
3137 interface nsIScriptErrorNote extends nsISupports {
3138   readonly errorMessage: string;
3139   readonly sourceName: string;
3140   readonly sourceId: u32;
3141   readonly lineNumber: u32;
3142   readonly columnNumber: u32;
3143   toString(): string;
3146 interface nsIScriptError extends nsIConsoleMessage {
3147   readonly errorFlag: 0;
3148   readonly warningFlag: 1;
3149   readonly infoFlag: 8;
3151   readonly errorMessage: string;
3152   readonly sourceName: string;
3153   readonly sourceLine: string;
3154   readonly sourceId: u32;
3155   readonly lineNumber: u32;
3156   readonly columnNumber: u32;
3157   readonly flags: u32;
3158   readonly category: string;
3159   readonly outerWindowID: u64;
3160   readonly innerWindowID: u64;
3161   readonly isFromPrivateWindow: boolean;
3162   readonly isFromChromeContext: boolean;
3163   readonly isPromiseRejection: boolean;
3164   exception: any;
3165   readonly hasException: boolean;
3166   stack: any;
3167   errorMessageName: string;
3168   readonly notes: nsIArray;
3169   cssSelectors: string;
3170   init(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, fromPrivateWindow?: boolean, fromChromeContext?: boolean): void;
3171   initWithWindowID(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3172   initWithSanitizedSource(message: string, sourceName: string, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3173   initWithSourceURI(message: string, sourceURI: nsIURI, sourceLine: string, lineNumber: u32, columnNumber: u32, flags: u32, category: string, innerWindowID: u64, fromChromeContext?: boolean): void;
3174   initSourceId(sourceId: u32): void;
3177 // https://searchfox.org/mozilla-central/source/dom/interfaces/events/nsIDOMEventListener.idl
3179 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPosition.idl
3181 interface nsIDOMGeoPosition extends nsISupports {
3182   readonly timestamp: EpochTimeStamp;
3183   readonly coords: nsIDOMGeoPositionCoords;
3186 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCallback.idl
3188 type nsIDOMGeoPositionCallback = Callable<{
3189   handleEvent(position: nsIDOMGeoPosition): void;
3192 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionCoords.idl
3194 interface nsIDOMGeoPositionCoords extends nsISupports {
3195   readonly latitude: double;
3196   readonly longitude: double;
3197   readonly altitude: double;
3198   readonly accuracy: double;
3199   readonly altitudeAccuracy: double;
3200   readonly heading: double;
3201   readonly speed: double;
3204 // https://searchfox.org/mozilla-central/source/dom/interfaces/geolocation/nsIDOMGeoPositionErrorCallback.idl
3206 type nsIDOMGeoPositionErrorCallback = Callable<{
3207   handleEvent(positionError: GeolocationPositionError): void;
3210 // https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialPromptService.idl
3212 interface nsIIdentityCredentialPromptService extends nsISupports {
3213   showProviderPrompt(browsingContext: BrowsingContext, identityProviders: any, identityManifests: any): Promise<any>;
3214   showPolicyPrompt(browsingContext: BrowsingContext, identityProvider: any, identityManifest: any, identityClientMetadata: any): Promise<any>;
3215   showAccountListPrompt(browsingContext: BrowsingContext, accountList: any, identityProvider: any, identityManifest: any): Promise<any>;
3216   close(browsingContext: BrowsingContext): void;
3219 // https://searchfox.org/mozilla-central/source/toolkit/components/credentialmanagement/nsIIdentityCredentialStorageService.idl
3221 interface nsIIdentityCredentialStorageService extends nsISupports {
3222   setState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: boolean, allowLogout: boolean): void;
3223   getState(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string, registered: OutParam<boolean>, allowLogout: OutParam<boolean>): void;
3224   delete(rpPrincipal: nsIPrincipal, idpPrincipal: nsIPrincipal, credentialID: string): void;
3225   clear(): void;
3226   deleteFromBaseDomain(baseDomain: string): void;
3227   deleteFromPrincipal(rpPrincipal: nsIPrincipal): void;
3228   deleteFromTimeRange(aFrom: PRTime, aTo: PRTime): void;
3229   deleteFromOriginAttributesPattern(aPattern: string): void;
3232 // https://searchfox.org/mozilla-central/source/dom/indexedDB/nsIIDBPermissionsRequest.idl
3234 interface nsIIDBPermissionsRequest extends nsISupports {
3235   readonly browserElement: Element;
3236   readonly responseObserver: nsIObserver;
3239 // https://searchfox.org/mozilla-central/source/dom/localstorage/nsILocalStorageManager.idl
3241 interface nsILocalStorageManager extends nsISupports {
3242   readonly nextGenLocalStorageEnabled: boolean;
3243   preload(aPrincipal: nsIPrincipal): Promise<any>;
3244   isPreloaded(aPrincipal: nsIPrincipal): Promise<any>;
3245   getState(aPrincipal: nsIPrincipal): Promise<any>;
3248 // https://searchfox.org/mozilla-central/source/dom/media/nsIAudioDeviceInfo.idl
3250 interface nsIAudioDeviceInfo extends nsISupports {
3251   readonly TYPE_UNKNOWN: 0;
3252   readonly TYPE_INPUT: 1;
3253   readonly TYPE_OUTPUT: 2;
3254   readonly STATE_DISABLED: 0;
3255   readonly STATE_UNPLUGGED: 1;
3256   readonly STATE_ENABLED: 2;
3257   readonly PREF_NONE: 0;
3258   readonly PREF_MULTIMEDIA: 1;
3259   readonly PREF_VOICE: 2;
3260   readonly PREF_NOTIFICATION: 4;
3261   readonly PREF_ALL: 15;
3262   readonly FMT_S16LE: 16;
3263   readonly FMT_S16BE: 32;
3264   readonly FMT_F32LE: 4096;
3265   readonly FMT_F32BE: 8192;
3267   readonly name: string;
3268   readonly groupId: string;
3269   readonly vendor: string;
3270   readonly type: u16;
3271   readonly state: u16;
3272   readonly preferred: u16;
3273   readonly supportedFormat: u16;
3274   readonly defaultFormat: u16;
3275   readonly maxChannels: u32;
3276   readonly defaultRate: u32;
3277   readonly maxRate: u32;
3278   readonly minRate: u32;
3279   readonly maxLatency: u32;
3280   readonly minLatency: u32;
3283 // https://searchfox.org/mozilla-central/source/dom/media/nsIMediaDevice.idl
3285 interface nsIMediaDevice extends nsISupports {
3286   readonly type: string;
3287   readonly mediaSource: string;
3288   readonly rawId: string;
3289   readonly id: string;
3290   readonly scary: boolean;
3291   readonly canRequestOsLevelPrompt: boolean;
3292   readonly rawName: string;
3295 // https://searchfox.org/mozilla-central/source/dom/media/nsIMediaManager.idl
3297 interface nsIMediaManagerService extends nsISupports {
3298   readonly STATE_NOCAPTURE: 0;
3299   readonly STATE_CAPTURE_ENABLED: 1;
3300   readonly STATE_CAPTURE_DISABLED: 2;
3302   readonly activeMediaCaptureWindows: nsIArray;
3303   mediaCaptureWindowState(aWindow: nsIDOMWindow, aCamera: OutParam<u16>, aMicrophone: OutParam<u16>, aScreenShare: OutParam<u16>, aWindowShare: OutParam<u16>, aBrowserShare: OutParam<u16>, devices: OutParam<nsIMediaDevice[]>): void;
3304   sanitizeDeviceIds(sinceWhen: i64): void;
3307 // https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsITCPSocketCallback.idl
3309 interface nsITCPSocketCallback extends nsISupports {
3310   readonly BUFFER_SIZE: 65536;
3312   fireErrorEvent(name: string, type: string, errorCode: nsresult): void;
3313   fireDataStringEvent(type: string, data: string): void;
3314   fireEvent(type: string): void;
3315   updateReadyState(readystate: u32): void;
3316   updateBufferedAmount(bufferedAmount: u32, trackingNumber: u32): void;
3319 // https://searchfox.org/mozilla-central/source/dom/network/interfaces/nsIUDPSocketChild.idl
3321 interface nsIUDPSocketInternal extends nsISupports {
3322   callListenerOpened(): void;
3323   callListenerConnected(): void;
3324   callListenerClosed(): void;
3325   callListenerReceivedData(host: string, port: u16, data: u8[]): void;
3326   callListenerError(message: string, filename: string, lineNumber: u32): void;
3329 // https://searchfox.org/mozilla-central/source/dom/interfaces/notification/nsINotificationStorage.idl
3331 interface nsINotificationStorageCallback extends nsISupports {
3332   handle(id: string, title: string, dir: string, lang: string, body: string, tag: string, icon: string, data: string, behavior: string, serviceWorkerRegistrationScope: string): void;
3333   done(): void;
3336 interface nsINotificationStorage extends nsISupports {
3337   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;
3338   get(origin: string, tag: string, aCallback: nsINotificationStorageCallback): void;
3339   delete(origin: string, id: string): void;
3342 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentActionResponse.idl
3344 interface nsIPaymentResponseData extends nsISupports {
3345   readonly GENERAL_RESPONSE: 0;
3346   readonly BASICCARD_RESPONSE: 1;
3348   readonly type: u32;
3349   init(aType: u32): void;
3352 interface nsIGeneralResponseData extends nsIPaymentResponseData {
3353   readonly data: string;
3354   initData(aData: any): void;
3357 interface nsIBasicCardResponseData extends nsIPaymentResponseData {
3358   readonly cardholderName: string;
3359   readonly cardNumber: string;
3360   readonly expiryMonth: string;
3361   readonly expiryYear: string;
3362   readonly cardSecurityCode: string;
3363   readonly billingAddress: nsIPaymentAddress;
3364   initData(aCardholderName: string, aCardNumber: string, aExpiryMonth: string, aExpiryYear: string, aCardSecurityCode: string, billingAddress: nsIPaymentAddress): void;
3367 interface nsIPaymentActionResponse extends nsISupports {
3368   readonly NO_TYPE: 0;
3369   readonly CANMAKE_ACTION: 2;
3370   readonly SHOW_ACTION: 3;
3371   readonly ABORT_ACTION: 4;
3372   readonly COMPLETE_ACTION: 5;
3373   readonly ABORT_SUCCEEDED: 1;
3374   readonly ABORT_FAILED: 0;
3375   readonly PAYMENT_REJECTED: 0;
3376   readonly PAYMENT_ACCEPTED: 1;
3377   readonly PAYMENT_NOTSUPPORTED: 2;
3378   readonly COMPLETE_SUCCEEDED: 1;
3379   readonly COMPLETE_FAILED: 0;
3381   readonly requestId: string;
3382   readonly type: u32;
3385 interface nsIPaymentCanMakeActionResponse extends nsIPaymentActionResponse {
3386   readonly result: boolean;
3387   init(aRequestId: string, aResult: boolean): void;
3390 interface nsIPaymentShowActionResponse extends nsIPaymentActionResponse {
3391   readonly acceptStatus: u32;
3392   readonly methodName: string;
3393   readonly data: nsIPaymentResponseData;
3394   readonly payerName: string;
3395   readonly payerEmail: string;
3396   readonly payerPhone: string;
3397   init(aRequestId: string, aAcceptStatus: u32, aMethodName: string, aData: nsIPaymentResponseData, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;
3400 interface nsIPaymentAbortActionResponse extends nsIPaymentActionResponse {
3401   readonly abortStatus: u32;
3402   init(aRequestId: string, aAbortStatus: u32): void;
3403   isSucceeded(): boolean;
3406 interface nsIPaymentCompleteActionResponse extends nsIPaymentActionResponse {
3407   readonly completeStatus: u32;
3408   init(aRequestId: string, aCompleteStatus: u32): void;
3409   isCompleted(): boolean;
3412 interface nsIMethodChangeDetails extends nsISupports {
3413   readonly GENERAL_DETAILS: 0;
3414   readonly BASICCARD_DETAILS: 1;
3416   readonly type: u32;
3417   init(aType: u32): void;
3420 interface nsIGeneralChangeDetails extends nsIMethodChangeDetails {
3421   readonly details: string;
3422   initData(aDetails: any): void;
3425 interface nsIBasicCardChangeDetails extends nsIMethodChangeDetails {
3426   readonly billingAddress: nsIPaymentAddress;
3427   initData(billingAddress: nsIPaymentAddress): void;
3430 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentAddress.idl
3432 interface nsIPaymentAddress extends nsISupports {
3433   readonly country: string;
3434   readonly addressLine: nsIArray;
3435   readonly region: string;
3436   readonly regionCode: string;
3437   readonly city: string;
3438   readonly dependentLocality: string;
3439   readonly postalCode: string;
3440   readonly sortingCode: string;
3441   readonly organization: string;
3442   readonly recipient: string;
3443   readonly phone: string;
3444   init(aCountry: string, aAddressLine: nsIArray, aRegion: string, aRegionCode: string, aCity: string, aDependentLocality: string, aPostalCode: string, aSortingCode: string, aOrganization: string, aRecipient: string, aPhone: string): void;
3447 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequest.idl
3449 interface nsIPaymentMethodData extends nsISupports {
3450   readonly supportedMethods: string;
3451   readonly data: any;
3454 interface nsIPaymentCurrencyAmount extends nsISupports {
3455   readonly currency: string;
3456   readonly value: string;
3459 interface nsIPaymentItem extends nsISupports {
3460   readonly label: string;
3461   readonly amount: nsIPaymentCurrencyAmount;
3462   readonly pending: boolean;
3465 interface nsIPaymentDetailsModifier extends nsISupports {
3466   readonly supportedMethods: string;
3467   readonly total: nsIPaymentItem;
3468   readonly additionalDisplayItems: nsIArray;
3469   readonly data: any;
3472 interface nsIPaymentShippingOption extends nsISupports {
3473   readonly id: string;
3474   readonly label: string;
3475   readonly amount: nsIPaymentCurrencyAmount;
3476   selected: boolean;
3479 interface nsIPaymentDetails extends nsISupports {
3480   readonly id: string;
3481   readonly totalItem: nsIPaymentItem;
3482   readonly displayItems: nsIArray;
3483   readonly shippingOptions: nsIArray;
3484   readonly modifiers: nsIArray;
3485   readonly error: string;
3486   readonly shippingAddressErrors: any;
3487   readonly payerErrors: any;
3488   readonly paymentMethodErrors: any;
3491 interface nsIPaymentOptions extends nsISupports {
3492   readonly requestPayerName: boolean;
3493   readonly requestPayerEmail: boolean;
3494   readonly requestPayerPhone: boolean;
3495   readonly requestShipping: boolean;
3496   readonly requestBillingAddress: boolean;
3497   readonly shippingType: string;
3500 interface nsIPaymentRequest extends nsISupports {
3501   readonly topOuterWindowId: u64;
3502   readonly topLevelPrincipal: nsIPrincipal;
3503   readonly requestId: string;
3504   readonly completeStatus: string;
3505   readonly paymentMethods: nsIArray;
3506   readonly paymentDetails: nsIPaymentDetails;
3507   readonly paymentOptions: nsIPaymentOptions;
3508   readonly shippingOption: string;
3511 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentRequestService.idl
3513 interface nsIPaymentRequestService extends nsISupports {
3514   getPaymentRequestById(aRequestId: string): nsIPaymentRequest;
3515   enumerate(): nsISimpleEnumerator;
3516   respondPayment(aResponse: nsIPaymentActionResponse): void;
3517   changeShippingAddress(requestId: string, aAddress: nsIPaymentAddress): void;
3518   changeShippingOption(requestId: string, option: string): void;
3519   changePayerDetail(requestId: string, aPayerName: string, aPayerEmail: string, aPayerPhone: string): void;
3520   changePaymentMethod(requestId: string, aMethodName: string, aMethodDetails: nsIMethodChangeDetails): void;
3521   cleanup(): void;
3522   setTestingUIService(aUIService: nsIPaymentUIService): void;
3525 // https://searchfox.org/mozilla-central/source/dom/interfaces/payments/nsIPaymentUIService.idl
3527 interface nsIPaymentUIService extends nsISupports {
3528   showPayment(requestId: string): void;
3529   abortPayment(requestId: string): void;
3530   completePayment(requestId: string): void;
3531   updatePayment(requestId: string): void;
3532   closePayment(requestId: string): void;
3535 // https://searchfox.org/mozilla-central/source/dom/power/nsIDOMWakeLockListener.idl
3537 type nsIDOMMozWakeLockListener = Callable<{
3538   callback(aTopic: string, aState: string): void;
3541 // https://searchfox.org/mozilla-central/source/dom/power/nsIPowerManagerService.idl
3543 interface nsIPowerManagerService extends nsISupports {
3544   addWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;
3545   removeWakeLockListener(aListener: nsIDOMMozWakeLockListener): void;
3546   getWakeLockState(aTopic: string): string;
3547   newWakeLock(aTopic: string, aWindow?: mozIDOMWindow): nsIWakeLock;
3550 // https://searchfox.org/mozilla-central/source/dom/power/nsIWakeLock.idl
3552 interface nsIWakeLock extends nsISupports {
3553   unlock(): void;
3556 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushErrorReporter.idl
3558 interface nsIPushErrorReporter extends nsISupports {
3559   readonly ACK_DELIVERED: 0;
3560   readonly ACK_DECRYPTION_ERROR: 1;
3561   readonly ACK_NOT_DELIVERED: 2;
3562   readonly UNSUBSCRIBE_MANUAL: 3;
3563   readonly UNSUBSCRIBE_QUOTA_EXCEEDED: 4;
3564   readonly UNSUBSCRIBE_PERMISSION_REVOKED: 5;
3565   readonly DELIVERY_UNCAUGHT_EXCEPTION: 6;
3566   readonly DELIVERY_UNHANDLED_REJECTION: 7;
3567   readonly DELIVERY_INTERNAL_ERROR: 8;
3569   reportDeliveryError(messageId: string, reason?: u16): void;
3572 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushNotifier.idl
3574 interface nsIPushNotifier extends nsISupports {
3575   notifyPush(scope: string, principal: nsIPrincipal, messageId: string): void;
3576   notifyPushWithData(scope: string, principal: nsIPrincipal, messageId: string, data: u8[]): void;
3577   notifySubscriptionChange(scope: string, principal: nsIPrincipal): void;
3578   notifySubscriptionModified(scope: string, principal: nsIPrincipal): void;
3579   notifyError(scope: string, principal: nsIPrincipal, message: string, flags: u32): void;
3582 interface nsIPushData extends nsISupports {
3583   text(): string;
3584   json(): any;
3585   binary(): u8[];
3588 interface nsIPushMessage extends nsISupports {
3589   readonly principal: nsIPrincipal;
3590   readonly data: nsIPushData;
3593 // https://searchfox.org/mozilla-central/source/dom/interfaces/push/nsIPushService.idl
3595 interface nsIPushSubscription extends nsISupports {
3596   readonly endpoint: string;
3597   readonly pushCount: i64;
3598   readonly lastPush: i64;
3599   readonly quota: i32;
3600   readonly isSystemSubscription: boolean;
3601   readonly p256dhPrivateKey: any;
3602   quotaApplies(): boolean;
3603   isExpired(): boolean;
3604   getKey(name: string): u8[];
3607 type nsIPushSubscriptionCallback = Callable<{
3608   onPushSubscription(status: nsresult, subscription: nsIPushSubscription): void;
3611 type nsIUnsubscribeResultCallback = Callable<{
3612   onUnsubscribe(status: nsresult, success: boolean): void;
3615 type nsIPushClearResultCallback = Callable<{
3616   onClear(status: nsresult): void;
3619 interface nsIPushService extends nsISupports {
3620   readonly pushTopic: string;
3621   readonly subscriptionChangeTopic: string;
3622   readonly subscriptionModifiedTopic: string;
3623   subscribe(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;
3624   subscribeWithKey(scope: string, principal: nsIPrincipal, key: u8[], callback: nsIPushSubscriptionCallback): void;
3625   unsubscribe(scope: string, principal: nsIPrincipal, callback: nsIUnsubscribeResultCallback): void;
3626   getSubscription(scope: string, principal: nsIPrincipal, callback: nsIPushSubscriptionCallback): void;
3627   clearForDomain(domain: string, callback: nsIPushClearResultCallback): void;
3630 interface nsIPushQuotaManager extends nsISupports {
3631   notificationForOriginShown(origin: string): void;
3632   notificationForOriginClosed(origin: string): void;
3635 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaCallbacks.idl
3637 type nsIQuotaUsageCallback = Callable<{
3638   onUsageResult(aRequest: nsIQuotaUsageRequest): void;
3641 type nsIQuotaCallback = Callable<{
3642   onComplete(aRequest: nsIQuotaRequest): void;
3645 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaManagerService.idl
3647 interface nsIQuotaManagerService extends nsISupports {
3648   storageName(): nsIQuotaRequest;
3649   storageInitialized(): nsIQuotaRequest;
3650   temporaryStorageInitialized(): nsIQuotaRequest;
3651   init(): nsIQuotaRequest;
3652   initTemporaryStorage(): nsIQuotaRequest;
3653   initializePersistentOrigin(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3654   initializeTemporaryOrigin(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;
3655   initializePersistentClient(aPrincipal: nsIPrincipal, aClientType: string): nsIQuotaRequest;
3656   initializeTemporaryClient(aPersistenceType: string, aPrincipal: nsIPrincipal, aClientType: string): nsIQuotaRequest;
3657   getFullOriginMetadata(aPersistenceType: string, aPrincipal: nsIPrincipal): nsIQuotaRequest;
3658   getUsage(aCallback: nsIQuotaUsageCallback, aGetAll?: boolean): nsIQuotaUsageRequest;
3659   getUsageForPrincipal(aPrincipal: nsIPrincipal, aCallback: nsIQuotaUsageCallback, aFromMemory?: boolean): nsIQuotaUsageRequest;
3660   listOrigins(): nsIQuotaRequest;
3661   clear(): nsIQuotaRequest;
3662   clearStoragesForPrivateBrowsing(): nsIQuotaRequest;
3663   clearStoragesForOriginAttributesPattern(aPattern: string): nsIQuotaRequest;
3664   clearStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string, aClientType?: string): nsIQuotaRequest;
3665   clearStoragesForOriginPrefix(aPrincipal: nsIPrincipal, aPersistenceType?: string): nsIQuotaRequest;
3666   reset(): nsIQuotaRequest;
3667   resetStoragesForPrincipal(aPrincipal: nsIPrincipal, aPersistenceType?: string, aClientType?: string): nsIQuotaRequest;
3668   persisted(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3669   persist(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3670   estimate(aPrincipal: nsIPrincipal): nsIQuotaRequest;
3673 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaRequests.idl
3675 interface nsIQuotaRequestBase extends nsISupports {
3676   readonly principal: nsIPrincipal;
3677   readonly resultCode: nsresult;
3678   readonly resultName: string;
3681 interface nsIQuotaUsageRequest extends nsIQuotaRequestBase {
3682   readonly result: nsIVariant;
3683   callback: nsIQuotaUsageCallback;
3684   cancel(): void;
3687 interface nsIQuotaRequest extends nsIQuotaRequestBase {
3688   readonly result: nsIVariant;
3689   callback: nsIQuotaCallback;
3692 // https://searchfox.org/mozilla-central/source/dom/quota/nsIQuotaResults.idl
3694 interface nsIQuotaFullOriginMetadataResult extends nsISupports {
3695   readonly suffix: string;
3696   readonly group: string;
3697   readonly origin: string;
3698   readonly storageOrigin: string;
3699   readonly persistenceType: string;
3700   readonly persisted: boolean;
3701   readonly lastAccessTime: i64;
3704 interface nsIQuotaUsageResult extends nsISupports {
3705   readonly origin: string;
3706   readonly persisted: boolean;
3707   readonly usage: u64;
3708   readonly lastAccessed: u64;
3711 interface nsIQuotaOriginUsageResult extends nsISupports {
3712   readonly databaseUsage: u64;
3713   readonly fileUsage: u64;
3714   readonly usage: u64;
3715   readonly databaseUsageIsExplicit: boolean;
3716   readonly fileUsageIsExplicit: boolean;
3717   readonly totalUsageIsExplicit: boolean;
3720 interface nsIQuotaEstimateResult extends nsISupports {
3721   readonly usage: u64;
3722   readonly limit: u64;
3725 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityManager.idl
3727 interface nsIContentSecurityManager extends nsISupports {
3728   performSecurityCheck(aChannel: nsIChannel, aStreamListener: nsIStreamListener): nsIStreamListener;
3731 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIContentSecurityPolicy.idl
3733 }  // global
3735 declare namespace nsIContentSecurityPolicy {
3737 enum CSPDirective {
3738   NO_DIRECTIVE = 0,
3739   DEFAULT_SRC_DIRECTIVE = 1,
3740   SCRIPT_SRC_DIRECTIVE = 2,
3741   OBJECT_SRC_DIRECTIVE = 3,
3742   STYLE_SRC_DIRECTIVE = 4,
3743   IMG_SRC_DIRECTIVE = 5,
3744   MEDIA_SRC_DIRECTIVE = 6,
3745   FRAME_SRC_DIRECTIVE = 7,
3746   FONT_SRC_DIRECTIVE = 8,
3747   CONNECT_SRC_DIRECTIVE = 9,
3748   REPORT_URI_DIRECTIVE = 10,
3749   FRAME_ANCESTORS_DIRECTIVE = 11,
3750   REFLECTED_XSS_DIRECTIVE = 12,
3751   BASE_URI_DIRECTIVE = 13,
3752   FORM_ACTION_DIRECTIVE = 14,
3753   WEB_MANIFEST_SRC_DIRECTIVE = 15,
3754   UPGRADE_IF_INSECURE_DIRECTIVE = 16,
3755   CHILD_SRC_DIRECTIVE = 17,
3756   BLOCK_ALL_MIXED_CONTENT = 18,
3757   SANDBOX_DIRECTIVE = 19,
3758   WORKER_SRC_DIRECTIVE = 20,
3759   SCRIPT_SRC_ELEM_DIRECTIVE = 21,
3760   SCRIPT_SRC_ATTR_DIRECTIVE = 22,
3761   STYLE_SRC_ELEM_DIRECTIVE = 23,
3762   STYLE_SRC_ATTR_DIRECTIVE = 24,
3767 declare global {
3769 interface nsIContentSecurityPolicy extends nsISerializable, Enums<typeof nsIContentSecurityPolicy.CSPDirective> {
3770   readonly VIOLATION_TYPE_EVAL: 1;
3771   readonly VIOLATION_TYPE_WASM_EVAL: 2;
3773   getPolicy(index: u32): string;
3774   readonly policyCount: u32;
3775   readonly upgradeInsecureRequests: boolean;
3776   readonly blockAllMixedContent: boolean;
3777   readonly enforcesFrameAncestors: boolean;
3778   appendPolicy(policyString: string, reportOnly: boolean, deliveredViaMetaTag: boolean): void;
3779   getAllowsInline(aDirective: nsIContentSecurityPolicy.CSPDirective, aHasUnsafeHash: boolean, aNonce: string, aParserCreated: boolean, aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aContentOfPseudoScript: string, aLineNumber: u32, aColumnNumber: u32): boolean;
3780   getAllowsEval(shouldReportViolations: OutParam<boolean>): boolean;
3781   getAllowsWasmEval(shouldReportViolations: OutParam<boolean>): boolean;
3782   getCSPSandboxFlags(): u32;
3783   logViolationDetails(violationType: u16, triggeringElement: Element, aCSPEventListener: nsICSPEventListener, sourceFile: string, scriptSample: string, lineNum: i32, columnNum: i32, nonce?: string, content?: string): void;
3784   setRequestContextWithDocument(aDocument: Document): void;
3785   setRequestContextWithPrincipal(aRequestPrincipal: nsIPrincipal, aSelfURI: nsIURI, aReferrer: string, aInnerWindowId: u64): void;
3786   permitsAncestry(aLoadInfo: nsILoadInfo): boolean;
3787   permits(aTriggeringElement: Element, aCSPEventListener: nsICSPEventListener, aURI: nsIURI, aDir: nsIContentSecurityPolicy.CSPDirective, aSpecific: boolean, aSendViolationReports: boolean): boolean;
3788   shouldLoad(aContentType: nsContentPolicyType, aCSPEventListener: nsICSPEventListener, aLoadInfo: nsILoadInfo, aContentLocation: nsIURI, aOriginalURIIfRedirect: nsIURI, aSendViolationReports: boolean): i16;
3789   toJSON(): string;
3792 type nsICSPEventListener = Callable<{
3793   onCSPViolationEvent(aJSON: string): void;
3796 // https://searchfox.org/mozilla-central/source/dom/interfaces/security/nsIReferrerInfo.idl
3798 }  // global
3800 declare namespace nsIReferrerInfo {
3802 enum ReferrerPolicyIDL {
3803   EMPTY = 0,
3804   NO_REFERRER_WHEN_DOWNGRADE = 1,
3805   NO_REFERRER = 2,
3806   ORIGIN = 3,
3807   ORIGIN_WHEN_CROSS_ORIGIN = 4,
3808   UNSAFE_URL = 5,
3809   SAME_ORIGIN = 6,
3810   STRICT_ORIGIN = 7,
3811   STRICT_ORIGIN_WHEN_CROSS_ORIGIN = 8,
3816 declare global {
3818 interface nsIReferrerInfo extends nsISerializable, Enums<typeof nsIReferrerInfo.ReferrerPolicyIDL> {
3819   readonly originalReferrer: nsIURI;
3820   readonly referrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL;
3821   getReferrerPolicyString(): string;
3822   readonly sendReferrer: boolean;
3823   readonly computedReferrerSpec: string;
3824   equals(other: nsIReferrerInfo): boolean;
3825   init(aReferrerPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer?: boolean, aOriginalReferrer?: nsIURI): void;
3826   initWithDocument(aDocument: Document): void;
3827   initWithElement(aNode: Element): void;
3830 // https://searchfox.org/mozilla-central/source/dom/security/nsIHttpsOnlyModePermission.idl
3832 interface nsIHttpsOnlyModePermission extends nsISupports {
3833   readonly LOAD_INSECURE_DEFAULT: 0;
3834   readonly LOAD_INSECURE_ALLOW: 1;
3835   readonly LOAD_INSECURE_BLOCK: 2;
3836   readonly LOAD_INSECURE_ALLOW_SESSION: 9;
3839 // https://searchfox.org/mozilla-central/source/dom/serializers/nsIDocumentEncoder.idl
3841 interface nsIDocumentEncoderNodeFixup extends nsISupports {
3842   fixupNode(aNode: Node, aSerializeCloneKids: OutParam<boolean>): Node;
3845 interface nsIDocumentEncoder extends nsISupports {
3846   readonly OutputSelectionOnly: 1;
3847   readonly OutputFormatted: 2;
3848   readonly OutputRaw: 4;
3849   readonly OutputBodyOnly: 8;
3850   readonly OutputPreformatted: 16;
3851   readonly OutputWrap: 32;
3852   readonly OutputFormatFlowed: 64;
3853   readonly OutputAbsoluteLinks: 128;
3854   readonly OutputCRLineBreak: 512;
3855   readonly OutputLFLineBreak: 1024;
3856   readonly OutputNoScriptContent: 2048;
3857   readonly OutputNoFramesContent: 4096;
3858   readonly OutputNoFormattingInPre: 8192;
3859   readonly OutputEncodeBasicEntities: 16384;
3860   readonly OutputPersistNBSP: 131072;
3861   readonly OutputDontRewriteEncodingDeclaration: 262144;
3862   readonly SkipInvisibleContent: 524288;
3863   readonly OutputFormatDelSp: 1048576;
3864   readonly OutputDropInvisibleBreak: 2097152;
3865   readonly OutputIgnoreMozDirty: 4194304;
3866   readonly OutputForPlainTextClipboardCopy: 33554432;
3867   readonly OutputRubyAnnotation: 67108864;
3868   readonly OutputDisallowLineBreaking: 134217728;
3869   readonly RequiresReinitAfterOutput: 268435456;
3871   init(aDocument: Document, aMimeType: string, aFlags: u32): void;
3872   setSelection(aSelection: Selection): void;
3873   setRange(aRange: Range): void;
3874   setNode(aNode: Node): void;
3875   setContainerNode(aContainer: Node): void;
3876   setCharset(aCharset: string): void;
3877   setWrapColumn(aWrapColumn: u32): void;
3878   readonly mimeType: string;
3879   encodeToStream(aStream: nsIOutputStream): void;
3880   encodeToString(): string;
3881   encodeToStringWithContext(aContextString: OutParam<string>, aInfoString: OutParam<string>): string;
3882   encodeToStringWithMaxLength(aMaxLength: u32): string;
3883   setNodeFixup(aFixup: nsIDocumentEncoderNodeFixup): void;
3886 // https://searchfox.org/mozilla-central/source/dom/interfaces/sidebar/nsIWebProtocolHandlerRegistrar.idl
3888 interface nsIWebProtocolHandlerRegistrar extends nsISupports {
3889   registerProtocolHandler(protocol: string, uri: nsIURI, title: string, documentURI: nsIURI, windowOrBrowser: nsISupports): void;
3890   removeProtocolHandler(protocol: string, uri: string): void;
3893 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBCallbacks.idl
3895 type nsISDBCallback = Callable<{
3896   onComplete(aRequest: nsISDBRequest): void;
3899 type nsISDBCloseCallback = Callable<{
3900   onClose(aConnection: nsISDBConnection): void;
3903 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBConnection.idl
3905 interface nsISDBConnection extends nsISupports {
3906   init(aPrincipal: nsIPrincipal, aPersistenceType?: string): void;
3907   open(aName: string): nsISDBRequest;
3908   seek(offset: u64): nsISDBRequest;
3909   read(size: u64): nsISDBRequest;
3910   write(value: any): nsISDBRequest;
3911   close(): nsISDBRequest;
3912   closeCallback: nsISDBCloseCallback;
3915 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBRequest.idl
3917 interface nsISDBRequest extends nsISupports {
3918   readonly result: nsIVariant;
3919   readonly resultCode: nsresult;
3920   callback: nsISDBCallback;
3923 // https://searchfox.org/mozilla-central/source/dom/simpledb/nsISDBResults.idl
3925 interface nsISDBResult extends nsISupports {
3926   getAsArray(): u8[];
3927   getAsArrayBuffer(): any;
3930 // https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIDOMStorageManager.idl
3932 interface nsIDOMStorageManager extends nsISupports {
3933   precacheStorage(aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal): Storage;
3934   createStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aDocumentURI: string, aPrivate?: boolean): Storage;
3935   getStorage(aWindow: mozIDOMWindow, aPrincipal: nsIPrincipal, aStoragePrincipal: nsIPrincipal, aPrivate?: boolean): Storage;
3936   cloneStorage(aStorageToCloneFrom: Storage): void;
3937   checkStorage(aPrincipal: nsIPrincipal, aStorage: Storage): boolean;
3940 // https://searchfox.org/mozilla-central/source/dom/interfaces/storage/nsIStorageActivityService.idl
3942 interface nsIStorageActivityService extends nsISupports {
3943   getActiveOrigins(from: PRTime, to: PRTime): nsIArray;
3944   moveOriginInTime(origin: nsIPrincipal, when: PRTime): void;
3945   testOnlyReset(): void;
3948 // https://searchfox.org/mozilla-central/source/dom/storage/nsISessionStorageService.idl
3950 interface nsISessionStorageService extends nsISupports {
3951   clearStoragesForOrigin(aPrincipal: nsIPrincipal): void;
3954 // https://searchfox.org/mozilla-central/source/dom/system/nsIOSPermissionRequest.idl
3956 interface nsIOSPermissionRequest extends nsISupports {
3957   readonly PERMISSION_STATE_NOTDETERMINED: 0;
3958   readonly PERMISSION_STATE_RESTRICTED: 1;
3959   readonly PERMISSION_STATE_DENIED: 2;
3960   readonly PERMISSION_STATE_AUTHORIZED: 3;
3962   getMediaCapturePermissionState(aVideo: OutParam<u16>, aAudio: OutParam<u16>): void;
3963   getAudioCapturePermissionState(aAudio: OutParam<u16>): void;
3964   getVideoCapturePermissionState(aVideo: OutParam<u16>): void;
3965   getScreenCapturePermissionState(aScreen: OutParam<u16>): void;
3966   requestVideoCapturePermission(): Promise<any>;
3967   requestAudioCapturePermission(): Promise<any>;
3968   maybeRequestScreenCapturePermission(): void;
3971 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnArgs.idl
3973 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnAttObj.idl
3975 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnPromise.idl
3977 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnResult.idl
3979 // https://searchfox.org/mozilla-central/source/dom/webauthn/nsIWebAuthnService.idl
3981 interface nsICredentialParameters extends nsISupports {
3982   readonly credentialId: string;
3983   readonly isResidentCredential: boolean;
3984   readonly rpId: string;
3985   readonly privateKey: string;
3986   readonly userHandle: string;
3987   readonly signCount: u32;
3990 interface nsIWebAuthnAutoFillEntry extends nsISupports {
3991   readonly PROVIDER_UNKNOWN: 0;
3992   readonly PROVIDER_TEST_TOKEN: 1;
3993   readonly PROVIDER_PLATFORM_WINDOWS: 2;
3994   readonly PROVIDER_PLATFORM_MACOS: 3;
3995   readonly PROVIDER_PLATFORM_ANDROID: 4;
3997   readonly provider: u8;
3998   readonly userName: string;
3999   readonly rpId: string;
4000   readonly credentialId: u8[];
4003 interface nsIWebAuthnService extends nsISupports {
4004   readonly isUVPAA: boolean;
4005   cancel(aTransactionId: u64): void;
4006   hasPendingConditionalGet(aBrowsingContextId: u64, aOrigin: string): u64;
4007   getAutoFillEntries(aTransactionId: u64): nsIWebAuthnAutoFillEntry[];
4008   selectAutoFillEntry(aTransactionId: u64, aCredentialId: u8[]): void;
4009   resumeConditionalGet(aTransactionId: u64): void;
4010   pinCallback(aTransactionId: u64, aPin: string): void;
4011   setHasAttestationConsent(aTransactionId: u64, aHasConsent: boolean): void;
4012   selectionCallback(aTransactionId: u64, aIndex: u64): void;
4013   addVirtualAuthenticator(protocol: string, transport: string, hasResidentKey: boolean, hasUserVerification: boolean, isUserConsenting: boolean, isUserVerified: boolean): u64;
4014   removeVirtualAuthenticator(authenticatorId: u64): void;
4015   addCredential(authenticatorId: u64, credentialId: string, isResidentCredential: boolean, rpId: string, privateKey: string, userHandle: string, signCount: u32): void;
4016   getCredentials(authenticatorId: u64): nsICredentialParameters[];
4017   removeCredential(authenticatorId: u64, credentialId: string): void;
4018   removeAllCredentials(authenticatorId: u64): void;
4019   setUserVerified(authenticatorId: u64, isUserVerified: boolean): void;
4020   listen(): void;
4021   runCommand(aCommand: string): void;
4024 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/recognition/nsISpeechRecognitionService.idl
4026 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISpeechService.idl
4028 interface nsISpeechTaskCallback extends nsISupports {
4029   onPause(): void;
4030   onResume(): void;
4031   onCancel(): void;
4032   onVolumeChanged(aVolume: float): void;
4035 interface nsISpeechTask extends nsISupports {
4036   setup(aCallback: nsISpeechTaskCallback): void;
4037   dispatchStart(): void;
4038   dispatchEnd(aElapsedTime: float, aCharIndex: u32): void;
4039   dispatchPause(aElapsedTime: float, aCharIndex: u32): void;
4040   dispatchResume(aElapsedTime: float, aCharIndex: u32): void;
4041   dispatchError(aElapsedTime: float, aCharIndex: u32): void;
4042   dispatchBoundary(aName: string, aElapsedTime: float, aCharIndex: u32, aCharLength?: u32): void;
4043   dispatchMark(aName: string, aElapsedTime: float, aCharIndex: u32): void;
4046 interface nsISpeechService extends nsISupports {
4047   speak(aText: string, aUri: string, aVolume: float, aRate: float, aPitch: float, aTask: nsISpeechTask): void;
4050 // https://searchfox.org/mozilla-central/source/dom/media/webspeech/synth/nsISynthVoiceRegistry.idl
4052 interface nsISynthVoiceRegistry extends nsISupports {
4053   addVoice(aService: nsISpeechService, aUri: string, aName: string, aLang: string, aLocalService: boolean, aQueuesUtterances: boolean): void;
4054   removeVoice(aService: nsISpeechService, aUri: string): void;
4055   notifyVoicesChanged(): void;
4056   notifyVoicesError(aError: string): void;
4057   setDefaultVoice(aUri: string, aIsDefault: boolean): void;
4058   readonly voiceCount: u32;
4059   getVoice(aIndex: u32): string;
4060   isDefaultVoice(aUri: string): boolean;
4061   isLocalVoice(aUri: string): boolean;
4062   getVoiceLang(aUri: string): string;
4063   getVoiceName(aUri: string): string;
4066 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerChannelInfo.idl
4068 interface nsIWorkerChannelLoadInfo extends nsISupports {
4069   workerAssociatedBrowsingContextID: u64;
4070   readonly workerAssociatedBrowsingContext: BrowsingContext;
4073 interface nsIWorkerChannelInfo extends nsISupports {
4074   loadInfo: nsIWorkerChannelLoadInfo;
4075   readonly channelId: u64;
4078 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebugger.idl
4080 interface nsIWorkerDebuggerListener extends nsISupports {
4081   onClose(): void;
4082   onError(filename: string, lineno: u32, message: string): void;
4083   onMessage(message: string): void;
4086 interface nsIWorkerDebugger extends nsISupports {
4087   readonly TYPE_DEDICATED: 0;
4088   readonly TYPE_SHARED: 1;
4089   readonly TYPE_SERVICE: 2;
4091   readonly isClosed: boolean;
4092   readonly isChrome: boolean;
4093   readonly isInitialized: boolean;
4094   readonly parent: nsIWorkerDebugger;
4095   readonly type: u32;
4096   readonly url: string;
4097   readonly window: mozIDOMWindow;
4098   readonly windowIDs: u64[];
4099   readonly principal: nsIPrincipal;
4100   readonly serviceWorkerID: u32;
4101   readonly id: string;
4102   initialize(url: string): void;
4103   postMessage(message: string): void;
4104   addListener(listener: nsIWorkerDebuggerListener): void;
4105   removeListener(listener: nsIWorkerDebuggerListener): void;
4106   setDebuggerReady(ready: boolean): void;
4109 // https://searchfox.org/mozilla-central/source/dom/workers/nsIWorkerDebuggerManager.idl
4111 interface nsIWorkerDebuggerManagerListener extends nsISupports {
4112   onRegister(aDebugger: nsIWorkerDebugger): void;
4113   onUnregister(aDebugger: nsIWorkerDebugger): void;
4116 interface nsIWorkerDebuggerManager extends nsISupports {
4117   getWorkerDebuggerEnumerator(): nsISimpleEnumerator;
4118   addListener(listener: nsIWorkerDebuggerManagerListener): void;
4119   removeListener(listener: nsIWorkerDebuggerManagerListener): void;
4122 // https://searchfox.org/mozilla-central/source/dom/xslt/xslt/txIEXSLTFunctions.idl
4124 interface txIEXSLTFunctions extends nsISupports {
4125   match(str: string, regex: string, flags: string, doc: Document): DocumentFragment;
4126   replace(str: string, regex: string, flags: string, replace: string): string;
4127   test(str: string, regex: string, flags: string): boolean;
4130 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULButtonElement.idl
4132 interface nsIDOMXULButtonElement extends nsIDOMXULControlElement {
4133   type: string;
4134   open: boolean;
4135   checked: boolean;
4136   group: string;
4139 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULCommandDispatcher.idl
4141 interface nsIDOMXULCommandDispatcher extends nsISupports {
4142   focusedElement: Element;
4143   focusedWindow: mozIDOMWindowProxy;
4144   addCommandUpdater(updater: Element, events: string, targets: string): void;
4145   removeCommandUpdater(updater: Element): void;
4146   updateCommands(eventName: string): void;
4147   getControllerForCommand(command: string): nsIController;
4148   getControllers(): nsIControllers;
4149   advanceFocus(): void;
4150   rewindFocus(): void;
4151   advanceFocusIntoSubtree(elt: Element): void;
4152   lock(): void;
4153   unlock(): void;
4156 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULContainerElement.idl
4158 interface nsIDOMXULContainerItemElement extends nsISupports {
4159   readonly parentContainer: Element;
4162 interface nsIDOMXULContainerElement extends nsIDOMXULContainerItemElement {
4165 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULControlElement.idl
4167 interface nsIDOMXULControlElement extends nsISupports {
4168   disabled: boolean;
4171 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMenuListElement.idl
4173 interface nsIDOMXULMenuListElement extends nsIDOMXULSelectControlElement {
4174   editable: boolean;
4175   open: boolean;
4176   readonly label: string;
4177   image: string;
4180 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULMultSelectCntrlEl.idl
4182 interface nsIDOMXULMultiSelectControlElement extends nsIDOMXULSelectControlElement {
4183   selType: string;
4184   currentItem: Element;
4185   currentIndex: i32;
4186   readonly selectedItems: NodeList;
4187   addItemToSelection(item: nsIDOMXULSelectControlItemElement): void;
4188   removeItemFromSelection(item: nsIDOMXULSelectControlItemElement): void;
4189   toggleItemSelection(item: nsIDOMXULSelectControlItemElement): void;
4190   selectItem(item: nsIDOMXULSelectControlItemElement): void;
4191   selectItemRange(startItem: nsIDOMXULSelectControlItemElement, item: nsIDOMXULSelectControlItemElement): void;
4192   selectAll(): void;
4193   clearSelection(): void;
4194   readonly selectedCount: i32;
4195   getSelectedItem(index: i32): Element;
4198 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRadioGroupElement.idl
4200 interface nsIDOMXULRadioGroupElement extends nsISupports {
4201   focusedItem: Element;
4204 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULRelatedElement.idl
4206 interface nsIDOMXULRelatedElement extends nsISupports {
4207   getRelatedElement(aElement: Node): Element;
4210 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlEl.idl
4212 interface nsIDOMXULSelectControlElement extends nsIDOMXULControlElement {
4213   selectedItem: Element;
4214   selectedIndex: i32;
4215   value: string;
4216   readonly itemCount: u32;
4217   getIndexOfItem(item: nsIDOMXULSelectControlItemElement): i32;
4218   getItemAtIndex(index: i32): Element;
4221 // https://searchfox.org/mozilla-central/source/dom/interfaces/xul/nsIDOMXULSelectCntrlItemEl.idl
4223 interface nsIDOMXULSelectControlItemElement extends nsISupports {
4224   disabled: boolean;
4225   image: string;
4226   label: string;
4227   accessKey: string;
4228   command: string;
4229   value: string;
4230   readonly selected: boolean;
4231   readonly control: Element;
4234 // https://searchfox.org/mozilla-central/source/toolkit/components/downloads/mozIDownloadPlatform.idl
4236 interface mozIDownloadPlatform extends nsISupports {
4237   readonly ZONE_MY_COMPUTER: 0;
4238   readonly ZONE_INTRANET: 1;
4239   readonly ZONE_TRUSTED: 2;
4240   readonly ZONE_INTERNET: 3;
4241   readonly ZONE_RESTRICTED: 4;
4243   downloadDone(aSource: nsIURI, aReferrer: nsIURI, aTarget: nsIFile, aContentType: string, aIsPrivate: boolean): Promise<any>;
4244   mapUrlToZone(aURL: string): u32;
4247 // https://searchfox.org/mozilla-central/source/editor/nsIDocumentStateListener.idl
4249 interface nsIDocumentStateListener extends nsISupports {
4250   NotifyDocumentWillBeDestroyed(): void;
4251   NotifyDocumentStateChanged(aNowDirty: boolean): void;
4254 // https://searchfox.org/mozilla-central/source/editor/nsIEditActionListener.idl
4256 interface nsIEditActionListener extends nsISupports {
4257   DidDeleteNode(aChild: Node, aResult: nsresult): void;
4258   DidInsertText(aTextNode: CharacterData, aOffset: i32, aString: string, aResult: nsresult): void;
4259   WillDeleteText(aTextNode: CharacterData, aOffset: i32, aLength: i32): void;
4260   WillDeleteRanges(aRangesToDelete: Range[]): void;
4263 // https://searchfox.org/mozilla-central/source/editor/nsIEditor.idl
4265 interface nsIEditor extends nsISupports {
4266   readonly eNone: 0;
4267   readonly eNext: 1;
4268   readonly ePrevious: 2;
4269   readonly eNextWord: 3;
4270   readonly ePreviousWord: 4;
4271   readonly eToBeginningOfLine: 5;
4272   readonly eToEndOfLine: 6;
4273   readonly eStrip: 0;
4274   readonly eNoStrip: 1;
4275   readonly eEditorPlaintextMask: 1;
4276   readonly eEditorSingleLineMask: 2;
4277   readonly eEditorPasswordMask: 4;
4278   readonly eEditorReadonlyMask: 8;
4279   readonly eEditorMailMask: 32;
4280   readonly eEditorEnableWrapHackMask: 64;
4281   readonly eEditorAllowInteraction: 512;
4282   readonly eEditorRightToLeft: 2048;
4283   readonly eEditorLeftToRight: 4096;
4284   readonly eEditorSkipSpellCheck: 8192;
4285   readonly eNewlinesPasteIntact: 0;
4286   readonly eNewlinesPasteToFirst: 1;
4287   readonly eNewlinesReplaceWithSpaces: 2;
4288   readonly eNewlinesStrip: 3;
4289   readonly eNewlinesReplaceWithCommas: 4;
4290   readonly eNewlinesStripSurroundingWhitespace: 5;
4292   readonly selection: Selection;
4293   setAttributeOrEquivalent(element: Element, sourceAttrName: string, sourceAttrValue: string, aSuppressTransaction: boolean): void;
4294   removeAttributeOrEquivalent(element: Element, sourceAttrName: string, aSuppressTransaction: boolean): void;
4295   flags: u32;
4296   contentsMIMEType: string;
4297   readonly isDocumentEditable: boolean;
4298   readonly isSelectionEditable: boolean;
4299   readonly document: Document;
4300   readonly rootElement: Element;
4301   readonly selectionController: nsISelectionController;
4302   deleteSelection(action: i16, stripWrappers: i16): void;
4303   readonly documentIsEmpty: boolean;
4304   readonly documentModified: boolean;
4305   documentCharacterSet: string;
4306   resetModificationCount(): void;
4307   getModificationCount(): i32;
4308   incrementModificationCount(aModCount: i32): void;
4309   enableUndo(enable: boolean): void;
4310   readonly undoRedoEnabled: boolean;
4311   readonly canUndo: boolean;
4312   readonly canRedo: boolean;
4313   clearUndoRedo(): void;
4314   undo(): void;
4315   undoAll(): void;
4316   redo(): void;
4317   beginTransaction(): void;
4318   endTransaction(): void;
4319   getInlineSpellChecker(autoCreate: boolean): nsIInlineSpellChecker;
4320   setSpellcheckUserOverride(enable: boolean): void;
4321   cut(): void;
4322   canCut(): boolean;
4323   copy(): void;
4324   canCopy(): boolean;
4325   paste(aClipboardType: i32): void;
4326   pasteTransferable(aTransferable: nsITransferable): void;
4327   canPaste(aClipboardType: i32): boolean;
4328   selectAll(): void;
4329   beginningOfDocument(): void;
4330   endOfDocument(): void;
4331   setAttribute(aElement: Element, attributestr: string, attvalue: string): void;
4332   removeAttribute(aElement: Element, aAttribute: string): void;
4333   cloneAttributes(aDestElement: Element, aSourceElement: Element): void;
4334   insertNode(node: Node, parent: Node, aPosition: u32, aPreserveSelection?: boolean): void;
4335   deleteNode(child: Node, aPreserveSelection?: boolean): void;
4336   outputToString(formatType: string, flags: u32): string;
4337   addEditActionListener(listener: nsIEditActionListener): void;
4338   removeEditActionListener(listener: nsIEditActionListener): void;
4339   addDocumentStateListener(listener: nsIDocumentStateListener): void;
4340   removeDocumentStateListener(listener: nsIDocumentStateListener): void;
4341   forceCompositionEnd(): void;
4342   readonly composing: boolean;
4343   unmask(aStart?: u32, aEnd?: i64, aTimeout?: u32): void;
4344   mask(): void;
4345   readonly unmaskedStart: u32;
4346   readonly unmaskedEnd: u32;
4347   readonly autoMaskingEnabled: boolean;
4348   readonly passwordMask: string;
4349   readonly textLength: u32;
4350   newlineHandling: i32;
4351   insertText(aStringToInsert: string): void;
4352   insertLineBreak(): void;
4355 // https://searchfox.org/mozilla-central/source/editor/nsIEditorMailSupport.idl
4357 interface nsIEditorMailSupport extends nsISupports {
4358   insertAsCitedQuotation(aQuotedText: string, aCitation: string, aInsertHTML: boolean): Node;
4359   rewrap(aRespectNewlines: boolean): void;
4360   insertTextWithQuotations(aStringToInsert: string): void;
4361   wrapWidth: i32;
4364 // https://searchfox.org/mozilla-central/source/editor/nsIEditorSpellCheck.idl
4366 interface nsIEditorSpellCheck extends nsISupports {
4367   readonly FILTERTYPE_NORMAL: 1;
4368   readonly FILTERTYPE_MAIL: 2;
4370   canSpellCheck(): boolean;
4371   InitSpellChecker(editor: nsIEditor, enableSelectionChecking: boolean, callback?: nsIEditorSpellCheckCallback): void;
4372   GetNextMisspelledWord(): string;
4373   GetSuggestedWord(): string;
4374   CheckCurrentWord(suggestedWord: string): boolean;
4375   suggest(aCheckingWorkd: string, aMaxCount: u32): Promise<any>;
4376   ReplaceWord(misspelledWord: string, replaceWord: string, allOccurrences: boolean): void;
4377   IgnoreWordAllOccurrences(word: string): void;
4378   GetPersonalDictionary(): void;
4379   GetPersonalDictionaryWord(): string;
4380   AddWordToDictionary(word: string): void;
4381   RemoveWordFromDictionary(word: string): void;
4382   GetDictionaryList(): string[];
4383   getCurrentDictionaries(): string[];
4384   setCurrentDictionaries(dictionaries: string[]): Promise<any>;
4385   UninitSpellChecker(): void;
4386   setFilterType(filterType: u32): void;
4387   UpdateCurrentDictionary(callback?: nsIEditorSpellCheckCallback): void;
4390 type nsIEditorSpellCheckCallback = Callable<{
4391   editorSpellCheckDone(): void;
4394 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLAbsPosEditor.idl
4396 interface nsIHTMLAbsPosEditor extends nsISupports {
4397   absolutePositioningEnabled: boolean;
4398   snapToGridEnabled: boolean;
4399   gridSize: u32;
4402 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLEditor.idl
4404 interface nsIHTMLEditor extends nsISupports {
4405   readonly eLeft: 0;
4406   readonly eCenter: 1;
4407   readonly eRight: 2;
4408   readonly eJustify: 3;
4410   setInlineProperty(aProperty: string, aAttribute: string, aValue: string): void;
4411   getInlinePropertyWithAttrValue(aProperty: string, aAttribute: string, aValue: string, aFirst: OutParam<boolean>, aAny: OutParam<boolean>, aAll: OutParam<boolean>): string;
4412   removeInlineProperty(aProperty: string, aAttribute: string): void;
4413   nodeIsBlock(aNode: Node): boolean;
4414   insertHTML(aInputString: string): void;
4415   rebuildDocumentFromSource(aSourceString: string): void;
4416   insertElementAtSelection(aElement: Element, aDeleteSelection: boolean): void;
4417   updateBaseURL(): void;
4418   selectElement(aElement: Element): void;
4419   getParagraphState(aMixed: OutParam<boolean>): string;
4420   getFontFaceState(aMixed: OutParam<boolean>): string;
4421   getHighlightColorState(aMixed: OutParam<boolean>): string;
4422   getListState(aMixed: OutParam<boolean>, aOL: OutParam<boolean>, aUL: OutParam<boolean>, aDL: OutParam<boolean>): void;
4423   getListItemState(aMixed: OutParam<boolean>, aLI: OutParam<boolean>, aDT: OutParam<boolean>, aDD: OutParam<boolean>): void;
4424   getAlignment(aMixed: OutParam<boolean>, aAlign: OutParam<i16>): void;
4425   makeOrChangeList(aListType: string, entireList: boolean, aBulletType: string): void;
4426   removeList(aListType: string): void;
4427   getElementOrParentByTagName(aTagName: string, aNode: Node): Element;
4428   getSelectedElement(aTagName: string): nsISupports;
4429   createElementWithDefaults(aTagName: string): Element;
4430   insertLinkAroundSelection(aAnchorElement: Element): void;
4431   setBackgroundColor(aColor: string): void;
4432   isCSSEnabled: boolean;
4433   checkSelectionStateForAnonymousButtons(): void;
4434   isAnonymousElement(aElement: Element): boolean;
4435   returnInParagraphCreatesNewParagraph: boolean;
4438 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLInlineTableEditor.idl
4440 interface nsIHTMLInlineTableEditor extends nsISupports {
4441   inlineTableEditingEnabled: boolean;
4444 // https://searchfox.org/mozilla-central/source/editor/nsIHTMLObjectResizer.idl
4446 interface nsIHTMLObjectResizer extends nsISupports {
4447   readonly eTopLeft: 0;
4448   readonly eTop: 1;
4449   readonly eTopRight: 2;
4450   readonly eLeft: 3;
4451   readonly eRight: 4;
4452   readonly eBottomLeft: 5;
4453   readonly eBottom: 6;
4454   readonly eBottomRight: 7;
4456   objectResizingEnabled: boolean;
4457   hideResizers(): void;
4460 // https://searchfox.org/mozilla-central/source/editor/nsITableEditor.idl
4462 interface nsITableEditor extends nsISupports {
4463   readonly eNoSearch: 0;
4464   readonly ePreviousColumn: 1;
4465   readonly ePreviousRow: 2;
4467   insertTableCell(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4468   insertTableColumn(aNumberOfColumnsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4469   insertTableRow(aNumberOfRowsToInsert: i32, aInsertAfterSelectedCell: boolean): void;
4470   deleteTable(): void;
4471   deleteTableCellContents(): void;
4472   deleteTableCell(aNumberOfCellsToDelete: i32): void;
4473   deleteTableColumn(aNumberOfColumnsToDelete: i32): void;
4474   deleteTableRow(aNumberOfRowsToDelete: i32): void;
4475   selectTableCell(): void;
4476   selectTableRow(): void;
4477   selectTableColumn(): void;
4478   selectTable(): void;
4479   selectAllTableCells(): void;
4480   switchTableCellHeaderType(aSourceCell: Element): Element;
4481   joinTableCells(aMergeNonContiguousContents: boolean): void;
4482   splitTableCell(): void;
4483   normalizeTable(aTable: Element): void;
4484   getCellIndexes(aCellElement: Element, aRowIndex: OutParam<i32>, aColumnIndex: OutParam<i32>): void;
4485   getTableSize(aTableOrElementInTable: Element, aRowCount: OutParam<i32>, aColCount: OutParam<i32>): void;
4486   getCellAt(aTableElement: Element, aRowIndex: i32, aColumnIndex: i32): Element;
4487   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;
4488   getFirstRow(aTableElement: Element): Element;
4489   getSelectedOrParentTableElement(aTagName: OutParam<string>, aCount: OutParam<i32>): Element;
4490   getSelectedCellsType(aElement: Element): u32;
4491   getFirstSelectedCellInTable(aRowIndex: OutParam<i32>, aColIndex: OutParam<i32>): Element;
4492   getSelectedCells(): Element[];
4495 // https://searchfox.org/mozilla-central/source/toolkit/components/enterprisepolicies/nsIEnterprisePolicies.idl
4497 interface nsIEnterprisePolicies extends nsISupports {
4498   readonly UNINITIALIZED: -1;
4499   readonly INACTIVE: 0;
4500   readonly ACTIVE: 1;
4501   readonly FAILED: 2;
4503   readonly status: i16;
4504   isAllowed(feature: string): boolean;
4505   getActivePolicies(): any;
4506   getSupportMenu(): any;
4507   getExtensionPolicy(extensionID: string): any;
4508   getExtensionSettings(extensionID: string): any;
4509   mayInstallAddon(addon: any): boolean;
4510   allowedInstallSource(uri: nsIURI): boolean;
4511   isExemptExecutableExtension(url: string, extension: string): boolean;
4514 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIAddonManagerStartup.idl
4516 interface amIAddonManagerStartup extends nsISupports {
4517   readStartupData(): any;
4518   registerChrome(manifestURI: nsIURI, entries: any): nsIJSRAIIHelper;
4519   encodeBlob(value: any): any;
4520   decodeBlob(value: any): any;
4521   enumerateJAR(uri: nsIURI, pattern: string): string[];
4522   enumerateJARSubtree(uri: nsIURI): string[];
4523   initializeURLPreloader(): void;
4526 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/extensions/amIWebInstallPrompt.idl
4528 interface amIWebInstallPrompt extends nsISupports {
4529   confirm(aBrowser: Element, aUri: nsIURI, aInstalls: nsIVariant[]): void;
4532 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsCExternalHandlerService.idl
4534 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIContentDispatchChooser.idl
4536 interface nsIContentDispatchChooser extends nsISupports {
4537   handleURI(aHandler: nsIHandlerInfo, aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aBrowsingContext: BrowsingContext, aWasTriggeredExternally?: boolean): void;
4540 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalHelperAppService.idl
4542 interface nsIExternalHelperAppService extends nsISupports {
4543   doContent(aMimeContentType: string, aChannel: nsIChannel, aContentContext: nsIInterfaceRequestor, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;
4544   createListener(aMimeContentType: string, aChannel: nsIChannel, aContentContext: BrowsingContext, aForceSave: boolean, aWindowContext?: nsIInterfaceRequestor): nsIStreamListener;
4545   applyDecodingForExtension(aExtension: string, aEncodingType: string): boolean;
4548 interface nsPIExternalAppLauncher extends nsISupports {
4549   deleteTemporaryFileOnExit(aTemporaryFile: nsIFile): void;
4550   deleteTemporaryPrivateFileWhenPossible(aTemporaryFile: nsIFile): void;
4553 interface nsIHelperAppLauncher extends nsICancelable {
4554   readonly MIMEInfo: nsIMIMEInfo;
4555   readonly source: nsIURI;
4556   readonly suggestedFileName: string;
4557   promptForSaveDestination(): void;
4558   setDownloadToLaunch(aHandleInternally: boolean, aFile: nsIFile): void;
4559   launchLocalFile(): void;
4560   saveDestinationAvailable(aFile: nsIFile, aDialogWasShown?: boolean): void;
4561   setWebProgressListener(aWebProgressListener: nsIWebProgressListener2): void;
4562   readonly targetFile: nsIFile;
4563   readonly targetFileIsExecutable: boolean;
4564   readonly timeDownloadStarted: PRTime;
4565   readonly contentLength: i64;
4566   readonly browsingContextId: u64;
4569 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIExternalProtocolService.idl
4571 interface nsIExternalProtocolService extends nsISupports {
4572   externalProtocolHandlerExists(aProtocolScheme: string): boolean;
4573   isExposedProtocol(aProtocolScheme: string): boolean;
4574   getProtocolHandlerInfo(aProtocolScheme: string): nsIHandlerInfo;
4575   getProtocolHandlerInfoFromOS(aProtocolScheme: string, aFound: OutParam<boolean>): nsIHandlerInfo;
4576   setProtocolHandlerDefaults(aHandlerInfo: nsIHandlerInfo, aOSHandlerExists: boolean): void;
4577   loadURI(aURI: nsIURI, aTriggeringPrincipal?: nsIPrincipal, aRedirectPrincipal?: nsIPrincipal, aBrowsingContext?: BrowsingContext, aWasTriggeredExternally?: boolean, aHasValidUserGestureActivation?: boolean): void;
4578   getApplicationDescription(aScheme: string): string;
4579   isCurrentAppOSDefaultForProtocol(aScheme: string): boolean;
4582 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHandlerService.idl
4584 interface nsIHandlerService extends nsISupports {
4585   asyncInit(): void;
4586   enumerate(): nsISimpleEnumerator;
4587   fillHandlerInfo(aHandlerInfo: nsIHandlerInfo, aOverrideType: string): void;
4588   store(aHandlerInfo: nsIHandlerInfo): void;
4589   exists(aHandlerInfo: nsIHandlerInfo): boolean;
4590   remove(aHandlerInfo: nsIHandlerInfo): void;
4591   getTypeFromExtension(aFileExtension: string): string;
4592   existsForProtocolOS(aProtocolScheme: string): boolean;
4593   existsForProtocol(aProtocolScheme: string): boolean;
4594   getApplicationDescription(aProtocolScheme: string): string;
4597 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsIHelperAppLauncherDialog.idl
4599 interface nsIHelperAppLauncherDialog extends nsISupports {
4600   readonly REASON_CANTHANDLE: 0;
4601   readonly REASON_SERVERREQUEST: 1;
4602   readonly REASON_TYPESNIFFED: 2;
4604   show(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aReason: u32): void;
4605   promptForSaveToFileAsync(aLauncher: nsIHelperAppLauncher, aWindowContext: nsIInterfaceRequestor, aDefaultFileName: string, aSuggestedFileExtension: string, aForcePrompt: boolean): void;
4608 // https://searchfox.org/mozilla-central/source/uriloader/exthandler/nsISharingHandlerApp.idl
4610 interface nsISharingHandlerApp extends nsIHandlerApp {
4611   share(data: string, title?: string): void;
4614 // https://searchfox.org/mozilla-central/source/toolkit/components/typeaheadfind/nsITypeAheadFind.idl
4616 interface nsITypeAheadFind extends nsISupports {
4617   readonly FIND_INITIAL: 0;
4618   readonly FIND_NEXT: 1;
4619   readonly FIND_PREVIOUS: 2;
4620   readonly FIND_FIRST: 3;
4621   readonly FIND_LAST: 4;
4622   readonly FIND_FOUND: 0;
4623   readonly FIND_NOTFOUND: 1;
4624   readonly FIND_WRAPPED: 2;
4625   readonly FIND_PENDING: 3;
4627   init(aDocShell: nsIDocShell): void;
4628   find(aSearchString: string, aLinksOnly: boolean, aMode: u32, aDontIterateFrames: boolean): u16;
4629   getFoundRange(): Range;
4630   setDocShell(aDocShell: nsIDocShell): void;
4631   setSelectionModeAndRepaint(toggle: i16): void;
4632   collapseSelection(): void;
4633   isRangeVisible(aRange: Range, aMustBeInViewPort: boolean): boolean;
4634   isRangeRendered(aRange: Range): boolean;
4635   readonly searchString: string;
4636   caseSensitive: boolean;
4637   matchDiacritics: boolean;
4638   entireWord: boolean;
4639   readonly foundLink: Element;
4640   readonly foundEditable: Element;
4641   readonly currentWindow: mozIDOMWindow;
4644 // https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIFOG.idl
4646 interface nsIFOG extends nsISupports {
4647   initializeFOG(aDataPathOverride?: string, aAppIdOverride?: string, aDisableInternalPings?: boolean): void;
4648   registerCustomPings(): void;
4649   setLogPings(aEnableLogPings: boolean): void;
4650   setTagPings(aDebugTag: string): void;
4651   sendPing(aPingName: string): void;
4652   setExperimentActive(aExperimentId: string, aBranch: string, aExtra?: any): void;
4653   setExperimentInactive(aExperimentId: string): void;
4654   testGetExperimentData(aExperimentId: string): any;
4655   setMetricsFeatureConfig(aJsonConfig: string): void;
4656   testFlushAllChildren(): Promise<any>;
4657   testResetFOG(aDataPathOverride?: string, aAppIdOverride?: string): void;
4658   testTriggerMetrics(aProcessType: u32): Promise<any>;
4659   testRegisterRuntimeMetric(aType: string, aCategory: string, aName: string, aPings: string[], aLifetime: string, aDisabled: boolean, aExtraArgs?: string): u32;
4660   testRegisterRuntimePing(aName: string, aIncludeClientId: boolean, aSendIfEmpty: boolean, aPreciseTimestamps: boolean, aIncludeInfoSections: boolean, aReasonCodes: string[]): u32;
4663 // https://searchfox.org/mozilla-central/source/toolkit/components/glean/xpcom/nsIGleanPing.idl
4665 type nsIGleanPingTestCallback = Callable<{
4666   call(aReason: string): void;
4669 interface nsIGleanPing extends nsISupports {
4670   submit(aReason?: string): void;
4671   testBeforeNextSubmit(aCallback: nsIGleanPingTestCallback): void;
4674 // https://searchfox.org/mozilla-central/source/gfx/src/nsIFontEnumerator.idl
4676 interface nsIFontEnumerator extends nsISupports {
4677   EnumerateAllFonts(): string[];
4678   EnumerateFonts(aLangGroup: string, aGeneric: string): string[];
4679   EnumerateAllFontsAsync(): any;
4680   EnumerateFontsAsync(aLangGroup: string, aGeneric: string): any;
4681   HaveFontFor(aLangGroup: string): OutParam<boolean>;
4682   getDefaultFont(aLangGroup: string, aGeneric: string): string;
4683   getStandardFamilyName(aName: string): string;
4686 // https://searchfox.org/mozilla-central/source/gfx/thebes/nsIFontLoadCompleteCallback.idl
4688 // https://searchfox.org/mozilla-central/source/parser/html/nsIParserUtils.idl
4690 interface nsIParserUtils extends nsISupports {
4691   readonly SanitizerAllowComments: 1;
4692   readonly SanitizerAllowStyle: 2;
4693   readonly SanitizerCidEmbedsOnly: 4;
4694   readonly SanitizerDropNonCSSPresentation: 8;
4695   readonly SanitizerDropForms: 16;
4696   readonly SanitizerDropMedia: 32;
4697   readonly SanitizerLogRemovals: 64;
4699   sanitize(src: string, flags: u32): string;
4700   removeConditionalCSS(src: string): string;
4701   convertToPlainText(src: string, flags: u32, wrapCol: u32): string;
4702   parseFragment(fragment: string, flags: u32, isXML: boolean, baseURI: nsIURI, element: Element): DocumentFragment;
4705 // https://searchfox.org/mozilla-central/source/parser/htmlparser/nsIExpatSink.idl
4707 interface nsIExpatSink extends nsISupports {
4708   HandleStartElement(aName: string, aAtts: string[], aAttsCount: u32, aLineNumber: u32, aColumnNumber: u32): void;
4709   HandleEndElement(aName: string): void;
4710   HandleComment(aCommentText: string): void;
4711   HandleCDataSection(aData: string, aLength: u32): void;
4712   HandleDoctypeDecl(aSubset: string, aName: string, aSystemId: string, aPublicId: string, aCatalogData: nsISupports): void;
4713   HandleCharacterData(aData: string, aLength: u32): void;
4714   HandleProcessingInstruction(aTarget: string, aData: string): void;
4715   HandleXMLDeclaration(aVersion: string, aEncoding: string, aStandalone: i32): void;
4716   ReportError(aErrorText: string, aSourceText: string, aError: nsIScriptError): boolean;
4719 // https://searchfox.org/mozilla-central/source/netwerk/base/http-sfv/nsIStructuredFieldValues.idl
4721 interface nsISFVBareItem extends nsISupports {
4722   readonly BOOL: 1;
4723   readonly STRING: 2;
4724   readonly DECIMAL: 3;
4725   readonly INTEGER: 4;
4726   readonly TOKEN: 5;
4727   readonly BYTE_SEQUENCE: 6;
4729   readonly type: i32;
4732 interface nsISFVInteger extends nsISFVBareItem {
4733   value: i64;
4736 interface nsISFVString extends nsISFVBareItem {
4737   value: string;
4740 interface nsISFVBool extends nsISFVBareItem {
4741   value: boolean;
4744 interface nsISFVDecimal extends nsISFVBareItem {
4745   value: double;
4748 interface nsISFVToken extends nsISFVBareItem {
4749   value: string;
4752 interface nsISFVByteSeq extends nsISFVBareItem {
4753   value: string;
4756 interface nsISFVParams extends nsISupports {
4757   get(key: string): nsISFVBareItem;
4758   set(key: string, item: nsISFVBareItem): void;
4759   delete(key: string): void;
4760   keys(): string[];
4763 interface nsISFVParametrizable extends nsISupports {
4764   readonly params: nsISFVParams;
4767 interface nsISFVItemOrInnerList extends nsISFVParametrizable {
4770 interface nsISFVSerialize extends nsISupports {
4771   serialize(): string;
4774 interface nsISFVItem extends nsISFVItemOrInnerList {
4775   readonly value: nsISFVBareItem;
4776   serialize(): string;
4779 interface nsISFVInnerList extends nsISFVItemOrInnerList {
4780   items: nsISFVItem[];
4783 interface nsISFVList extends nsISFVSerialize {
4784   members: nsISFVItemOrInnerList[];
4785   parseMore(header: string): void;
4788 interface nsISFVDictionary extends nsISFVSerialize {
4789   get(key: string): nsISFVItemOrInnerList;
4790   set(key: string, member_value: nsISFVItemOrInnerList): void;
4791   delete(key: string): void;
4792   keys(): string[];
4793   parseMore(header: string): void;
4796 interface nsISFVService extends nsISupports {
4797   parseDictionary(header: string): nsISFVDictionary;
4798   parseList(header: string): nsISFVList;
4799   parseItem(header: string): nsISFVItem;
4800   newInteger(value: i64): nsISFVInteger;
4801   newBool(value: boolean): nsISFVBool;
4802   newDecimal(value: double): nsISFVDecimal;
4803   newString(value: string): nsISFVString;
4804   newByteSequence(value: string): nsISFVByteSeq;
4805   newToken(value: string): nsISFVToken;
4806   newParameters(): nsISFVParams;
4807   newInnerList(items: nsISFVItem[], params: nsISFVParams): nsISFVInnerList;
4808   newItem(value: nsISFVBareItem, params: nsISFVParams): nsISFVItem;
4809   newList(members: nsISFVItemOrInnerList[]): nsISFVList;
4810   newDictionary(): nsISFVDictionary;
4813 // https://searchfox.org/mozilla-central/source/image/imgICache.idl
4815 interface imgICache extends nsISupports {
4816   clearCache(chrome: boolean): void;
4817   removeEntriesFromPrincipalInAllProcesses(aPrincipal: nsIPrincipal): void;
4818   removeEntriesFromBaseDomainInAllProcesses(aBaseDomain: string): void;
4819   findEntryProperties(uri: nsIURI, doc?: Document): nsIProperties;
4820   respectPrivacyNotifications(): void;
4823 // https://searchfox.org/mozilla-central/source/image/imgIContainer.idl
4825 }  // global
4827 declare namespace imgIContainer {
4829 enum DecodeResult {
4830   DECODE_SURFACE_AVAILABLE = 0,
4831   DECODE_REQUESTED = 1,
4832   DECODE_REQUEST_FAILED = 2,
4837 declare global {
4839 interface imgIContainer extends nsISupports, Enums<typeof imgIContainer.DecodeResult> {
4840   readonly TYPE_RASTER: 0;
4841   readonly TYPE_VECTOR: 1;
4842   readonly TYPE_REQUEST: 2;
4843   readonly FLAG_NONE: 0;
4844   readonly FLAG_SYNC_DECODE: 1;
4845   readonly FLAG_SYNC_DECODE_IF_FAST: 2;
4846   readonly FLAG_ASYNC_NOTIFY: 4;
4847   readonly FLAG_DECODE_NO_PREMULTIPLY_ALPHA: 8;
4848   readonly FLAG_DECODE_NO_COLORSPACE_CONVERSION: 16;
4849   readonly FLAG_CLAMP: 32;
4850   readonly FLAG_HIGH_QUALITY_SCALING: 64;
4851   readonly FLAG_BYPASS_SURFACE_CACHE: 128;
4852   readonly FLAG_FORCE_PRESERVEASPECTRATIO_NONE: 256;
4853   readonly FLAG_FORCE_UNIFORM_SCALING: 512;
4854   readonly FLAG_AVOID_REDECODE_FOR_SIZE: 1024;
4855   readonly FLAG_DECODE_TO_SRGB_COLORSPACE: 2048;
4856   readonly FLAG_RECORD_BLOB: 4096;
4857   readonly DECODE_FLAGS_DEFAULT: 0;
4858   readonly DECODE_FLAGS_FOR_REENCODE: 2056;
4859   readonly FRAME_FIRST: 0;
4860   readonly FRAME_CURRENT: 1;
4861   readonly FRAME_MAX_VALUE: 1;
4862   readonly kNormalAnimMode: 0;
4863   readonly kDontAnimMode: 1;
4864   readonly kLoopOnceAnimMode: 2;
4866   readonly width: i32;
4867   readonly height: i32;
4868   readonly hotspotX: i32;
4869   readonly hotspotY: i32;
4870   readonly type: u16;
4871   readonly animated: boolean;
4872   readonly providerId: u32;
4873   lockImage(): void;
4874   unlockImage(): void;
4875   requestDiscard(): void;
4876   animationMode: u16;
4877   resetAnimation(): void;
4880 // https://searchfox.org/mozilla-central/source/image/imgIContainerDebug.idl
4882 interface imgIContainerDebug extends nsISupports {
4883   readonly framesNotified: u32;
4886 // https://searchfox.org/mozilla-central/source/image/imgIEncoder.idl
4888 interface imgIEncoder extends nsIAsyncInputStream {
4889   readonly INPUT_FORMAT_RGB: 0;
4890   readonly INPUT_FORMAT_RGBA: 1;
4891   readonly INPUT_FORMAT_HOSTARGB: 2;
4893   initFromData(data: u8[], length: u32, width: u32, height: u32, stride: u32, inputFormat: u32, outputOptions: string): void;
4894   startImageEncode(width: u32, height: u32, inputFormat: u32, outputOptions: string): void;
4895   addImageFrame(data: u8[], length: u32, width: u32, height: u32, stride: u32, frameFormat: u32, frameOptions: string): void;
4896   endImageEncode(): void;
4899 // https://searchfox.org/mozilla-central/source/image/imgILoader.idl
4901 interface imgILoader extends nsISupports {
4902   readonly LOAD_CORS_ANONYMOUS: 65536;
4903   readonly LOAD_CORS_USE_CREDENTIALS: 131072;
4905   loadImageXPCOM(aURI: nsIURI, aInitialDocumentURL: nsIURI, aReferrerInfo: nsIReferrerInfo, aLoadingPrincipal: nsIPrincipal, aLoadGroup: nsILoadGroup, aObserver: imgINotificationObserver, aLoadingDocument: Document, aLoadFlags: nsLoadFlags, cacheKey: nsISupports, aContentPolicyType?: nsContentPolicyType): imgIRequest;
4906   loadImageWithChannelXPCOM(aChannel: nsIChannel, aObserver: imgINotificationObserver, aLoadingDocument: Document, aListener: OutParam<nsIStreamListener>): imgIRequest;
4909 // https://searchfox.org/mozilla-central/source/image/imgINotificationObserver.idl
4911 interface imgINotificationObserver extends nsISupports {
4912   readonly SIZE_AVAILABLE: 1;
4913   readonly FRAME_UPDATE: 2;
4914   readonly FRAME_COMPLETE: 3;
4915   readonly LOAD_COMPLETE: 4;
4916   readonly DECODE_COMPLETE: 5;
4917   readonly DISCARD: 6;
4918   readonly UNLOCKED_DRAW: 7;
4919   readonly IS_ANIMATED: 8;
4920   readonly HAS_TRANSPARENCY: 9;
4923 // https://searchfox.org/mozilla-central/source/image/imgIRequest.idl
4925 interface imgIRequest extends nsIRequest {
4926   readonly STATUS_NONE: 0;
4927   readonly STATUS_SIZE_AVAILABLE: 1;
4928   readonly STATUS_LOAD_COMPLETE: 2;
4929   readonly STATUS_ERROR: 4;
4930   readonly STATUS_FRAME_COMPLETE: 8;
4931   readonly STATUS_DECODE_COMPLETE: 16;
4932   readonly STATUS_IS_ANIMATED: 32;
4933   readonly STATUS_HAS_TRANSPARENCY: 64;
4934   readonly CATEGORY_FRAME_INIT: 1;
4935   readonly CATEGORY_FRAME_STYLE: 2;
4936   readonly CATEGORY_SIZE_QUERY: 4;
4937   readonly CATEGORY_DISPLAY: 8;
4939   readonly image: imgIContainer;
4940   readonly providerId: u32;
4941   readonly triggeringPrincipal: nsIPrincipal;
4942   readonly imageStatus: u32;
4943   readonly URI: nsIURI;
4944   readonly finalURI: nsIURI;
4945   readonly notificationObserver: imgINotificationObserver;
4946   readonly mimeType: string;
4947   readonly fileName: string;
4948   clone(aObserver: imgINotificationObserver): imgIRequest;
4949   readonly imagePrincipal: nsIPrincipal;
4950   readonly hadCrossOriginRedirects: boolean;
4951   readonly multipart: boolean;
4952   readonly CORSMode: i32;
4953   readonly referrerInfo: nsIReferrerInfo;
4954   cancelAndForgetObserver(aStatus: nsresult): void;
4955   startDecoding(aFlags: u32): void;
4956   lockImage(): void;
4957   unlockImage(): void;
4958   requestDiscard(): void;
4959   getStaticRequest(): imgIRequest;
4960   incrementAnimationConsumers(): void;
4961   decrementAnimationConsumers(): void;
4962   boostPriority(aCategory: u32): void;
4965 // https://searchfox.org/mozilla-central/source/image/imgIScriptedNotificationObserver.idl
4967 interface imgIScriptedNotificationObserver extends nsISupports {
4968   sizeAvailable(aRequest: imgIRequest): void;
4969   frameUpdate(aRequest: imgIRequest): void;
4970   frameComplete(aRequest: imgIRequest): void;
4971   loadComplete(aRequest: imgIRequest): void;
4972   decodeComplete(aRequest: imgIRequest): void;
4973   discard(aRequest: imgIRequest): void;
4974   isAnimated(aRequest: imgIRequest): void;
4975   hasTransparency(aRequest: imgIRequest): void;
4978 // https://searchfox.org/mozilla-central/source/image/imgITools.idl
4980 interface imgITools extends nsISupports {
4981   decodeImageFromBuffer(aBuffer: string, aSize: u32, aMimeType: string): imgIContainer;
4982   decodeImageFromArrayBuffer(aArrayBuffer: any, aMimeType: string): imgIContainer;
4983   decodeImageFromChannelAsync(aURI: nsIURI, aChannel: nsIChannel, aCallback: imgIContainerCallback, aObserver: imgINotificationObserver): void;
4984   decodeImageAsync(aStream: nsIInputStream, aMimeType: string, aCallback: imgIContainerCallback, aEventTarget: nsIEventTarget): void;
4985   encodeImage(aContainer: imgIContainer, aMimeType: string, outputOptions?: string): nsIInputStream;
4986   encodeScaledImage(aContainer: imgIContainer, aMimeType: string, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;
4987   getImgLoaderForDocument(doc: Document): imgILoader;
4988   getImgCacheForDocument(doc: Document): imgICache;
4989   encodeCroppedImage(aContainer: imgIContainer, aMimeType: string, aOffsetX: i32, aOffsetY: i32, aWidth: i32, aHeight: i32, outputOptions?: string): nsIInputStream;
4990   createScriptedObserver(aObserver: imgIScriptedNotificationObserver): imgINotificationObserver;
4993 type imgIContainerCallback = Callable<{
4994   onImageReady(aImage: imgIContainer, aStatus: nsresult): void;
4997 // https://searchfox.org/mozilla-central/source/image/nsIIconURI.idl
4999 interface nsIMozIconURI extends nsIURI {
5000   readonly iconURL: nsIURL;
5001   readonly imageSize: u32;
5002   readonly stockIcon: string;
5003   readonly iconSize: string;
5004   readonly iconState: string;
5005   readonly contentType: string;
5006   readonly fileExtension: string;
5009 // https://searchfox.org/mozilla-central/source/layout/inspector/inIDeepTreeWalker.idl
5011 interface inIDeepTreeWalker extends nsISupports {
5012   showAnonymousContent: boolean;
5013   showSubDocuments: boolean;
5014   showDocumentsAsNodes: boolean;
5015   init(aRoot: Node): void;
5016   readonly root: Node;
5017   currentNode: Node;
5018   parentNode(): Node;
5019   firstChild(): Node;
5020   lastChild(): Node;
5021   previousSibling(): Node;
5022   nextSibling(): Node;
5023   previousNode(): Node;
5024   nextNode(): Node;
5027 // https://searchfox.org/mozilla-central/source/intl/strres/nsIStringBundle.idl
5029 interface nsIStringBundle extends nsISupports {
5030   GetStringFromID(aID: i32): string;
5031   GetStringFromName(aName: string): string;
5032   formatStringFromID(aID: i32, params: string[]): string;
5033   formatStringFromName(aName: string, params: string[]): string;
5034   getSimpleEnumeration(): nsISimpleEnumerator;
5035   asyncPreload(): void;
5038 interface nsIStringBundleService extends nsISupports {
5039   createBundle(aURLSpec: string): nsIStringBundle;
5040   formatStatusMessage(aStatus: nsresult, aStatusArg: string): string;
5041   flushBundles(): void;
5044 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARChannel.idl
5046 interface nsIJARChannel extends nsIChannel {
5047   jarFile: nsIFile;
5048   readonly zipEntry: nsIZipEntry;
5049   ensureCached(): boolean;
5052 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIJARURI.idl
5054 interface nsIJARURI extends nsIURL {
5055   readonly JARFile: nsIURI;
5056   readonly JAREntry: string;
5059 // https://searchfox.org/mozilla-central/source/modules/libjar/nsIZipReader.idl
5061 interface nsIZipEntry extends nsISupports {
5062   readonly compression: u16;
5063   readonly size: u32;
5064   readonly realSize: u32;
5065   readonly CRC32: u32;
5066   readonly isDirectory: boolean;
5067   readonly lastModifiedTime: PRTime;
5068   readonly isSynthetic: boolean;
5069   readonly permissions: u32;
5072 interface nsIZipReader extends nsISupports {
5073   open(zipFile: nsIFile): void;
5074   openInner(zipReader: nsIZipReader, zipEntry: string): void;
5075   readonly file: nsIFile;
5076   close(): void;
5077   test(aEntryName: string): void;
5078   extract(zipEntry: string, outFile: nsIFile): void;
5079   getEntry(zipEntry: string): nsIZipEntry;
5080   hasEntry(zipEntry: string): boolean;
5081   findEntries(aPattern: string): nsIUTF8StringEnumerator;
5082   getInputStream(zipEntry: string): nsIInputStream;
5085 interface nsIZipReaderCache extends nsISupports {
5086   init(cacheSize: u32): void;
5087   getZip(zipFile: nsIFile): nsIZipReader;
5088   getZipIfCached(zipFile: nsIFile): nsIZipReader;
5089   isCached(zipFile: nsIFile): boolean;
5090   getInnerZip(zipFile: nsIFile, zipEntry: string): nsIZipReader;
5093 // https://searchfox.org/mozilla-central/source/devtools/platform/IJSDebugger.idl
5095 interface IJSDebugger extends nsISupports {
5096   addClass(global: any): void;
5099 // https://searchfox.org/mozilla-central/source/devtools/platform/nsIJSInspector.idl
5101 interface nsIJSInspector extends nsISupports {
5102   enterNestedEventLoop(requestor: any): u32;
5103   exitNestedEventLoop(): u32;
5104   readonly eventLoopNestLevel: u32;
5105   readonly lastNestRequestor: any;
5108 // https://searchfox.org/mozilla-central/source/toolkit/components/kvstore/nsIKeyValue.idl
5110 }  // global
5112 declare namespace nsIKeyValueService {
5114 enum RecoveryStrategy {
5115   ERROR = 0,
5116   DISCARD = 1,
5117   RENAME = 2,
5122 declare global {
5124 interface nsIKeyValueService extends nsISupports, Enums<typeof nsIKeyValueService.RecoveryStrategy> {
5125   getOrCreate(callback: nsIKeyValueDatabaseCallback, path: string, name: string): void;
5126   getOrCreateWithOptions(callback: nsIKeyValueDatabaseCallback, path: string, name: string, recoveryStrategy?: nsIKeyValueService.RecoveryStrategy): void;
5129 interface nsIKeyValueDatabase extends nsISupports {
5130   put(callback: nsIKeyValueVoidCallback, key: string, value: nsIVariant): void;
5131   writeMany(callback: nsIKeyValueVoidCallback, pairs: nsIKeyValuePair[]): void;
5132   get(callback: nsIKeyValueVariantCallback, key: string, defaultValue?: nsIVariant): void;
5133   has(callback: nsIKeyValueVariantCallback, key: string): void;
5134   delete(callback: nsIKeyValueVoidCallback, key: string): void;
5135   clear(callback: nsIKeyValueVoidCallback): void;
5136   enumerate(callback: nsIKeyValueEnumeratorCallback, fromKey?: string, toKey?: string): void;
5139 interface nsIKeyValuePair extends nsISupports {
5140   readonly key: string;
5141   readonly value: nsIVariant;
5144 interface nsIKeyValueEnumerator extends nsISupports {
5145   hasMoreElements(): boolean;
5146   getNext(): nsIKeyValuePair;
5149 interface nsIKeyValueDatabaseCallback extends nsISupports {
5150   resolve(database: nsIKeyValueDatabase): void;
5151   reject(message: string): void;
5154 interface nsIKeyValueEnumeratorCallback extends nsISupports {
5155   resolve(enumerator: nsIKeyValueEnumerator): void;
5156   reject(message: string): void;
5159 interface nsIKeyValuePairCallback extends nsISupports {
5160   resolve(pair: nsIKeyValuePair): void;
5161   reject(message: string): void;
5164 interface nsIKeyValueVariantCallback extends nsISupports {
5165   resolve(result: nsIVariant): void;
5166   reject(message: string): void;
5169 interface nsIKeyValueVoidCallback extends nsISupports {
5170   resolve(): void;
5171   reject(message: string): void;
5174 // https://searchfox.org/mozilla-central/source/layout/base/nsILayoutHistoryState.idl
5176 interface nsILayoutHistoryState extends nsISupports {
5177   readonly hasStates: boolean;
5178   getKeys(): string[];
5179   getPresState(aKey: string, aScrollX: OutParam<float>, aScrollY: OutParam<float>, aAllowScrollOriginDowngrade: OutParam<boolean>, aRes: OutParam<float>): void;
5180   addNewPresState(aKey: string, aScrollX: float, aScrollY: float, aAllowScrollOriginDowngrade: boolean, aRes: float): void;
5183 // https://searchfox.org/mozilla-central/source/layout/base/nsIPreloadedStyleSheet.idl
5185 interface nsIPreloadedStyleSheet extends nsISupports {
5188 // https://searchfox.org/mozilla-central/source/layout/base/nsIStyleSheetService.idl
5190 interface nsIStyleSheetService extends nsISupports {
5191   readonly AGENT_SHEET: 0;
5192   readonly USER_SHEET: 1;
5193   readonly AUTHOR_SHEET: 2;
5195   loadAndRegisterSheet(sheetURI: nsIURI, type: u32): void;
5196   sheetRegistered(sheetURI: nsIURI, type: u32): boolean;
5197   preloadSheet(sheetURI: nsIURI, type: u32): nsIPreloadedStyleSheet;
5198   preloadSheetAsync(sheetURI: nsIURI, type: u32): any;
5199   unregisterSheet(sheetURI: nsIURI, type: u32): void;
5202 // https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeSelection.idl
5204 interface nsITreeSelection extends nsISupports {
5205   tree: XULTreeElement;
5206   readonly single: boolean;
5207   readonly count: i32;
5208   isSelected(index: i32): boolean;
5209   select(index: i32): void;
5210   timedSelect(index: i32, delay: i32): void;
5211   toggleSelect(index: i32): void;
5212   rangedSelect(startIndex: i32, endIndex: i32, augment: boolean): void;
5213   clearRange(startIndex: i32, endIndex: i32): void;
5214   clearSelection(): void;
5215   selectAll(): void;
5216   getRangeCount(): i32;
5217   getRangeAt(i: i32, min: OutParam<i32>, max: OutParam<i32>): void;
5218   invalidateSelection(): void;
5219   adjustSelection(index: i32, count: i32): void;
5220   selectEventsSuppressed: boolean;
5221   currentIndex: i32;
5222   readonly shiftSelectPivot: i32;
5225 // https://searchfox.org/mozilla-central/source/layout/xul/tree/nsITreeView.idl
5227 interface nsITreeView extends nsISupports {
5228   readonly DROP_BEFORE: -1;
5229   readonly DROP_ON: 0;
5230   readonly DROP_AFTER: 1;
5232   readonly rowCount: i32;
5233   selection: nsITreeSelection;
5234   getRowProperties(index: i32): string;
5235   getCellProperties(row: i32, col: TreeColumn): string;
5236   getColumnProperties(col: TreeColumn): string;
5237   isContainer(index: i32): boolean;
5238   isContainerOpen(index: i32): boolean;
5239   isContainerEmpty(index: i32): boolean;
5240   isSeparator(index: i32): boolean;
5241   isSorted(): boolean;
5242   canDrop(index: i32, orientation: i32, dataTransfer: DataTransfer): boolean;
5243   drop(row: i32, orientation: i32, dataTransfer: DataTransfer): void;
5244   getParentIndex(rowIndex: i32): i32;
5245   hasNextSibling(rowIndex: i32, afterIndex: i32): boolean;
5246   getLevel(index: i32): i32;
5247   getImageSrc(row: i32, col: TreeColumn): string;
5248   getCellValue(row: i32, col: TreeColumn): string;
5249   getCellText(row: i32, col: TreeColumn): string;
5250   setTree(tree: XULTreeElement): void;
5251   toggleOpenState(index: i32): void;
5252   cycleHeader(col: TreeColumn): void;
5253   selectionChanged(): void;
5254   cycleCell(row: i32, col: TreeColumn): void;
5255   isEditable(row: i32, col: TreeColumn): boolean;
5256   setCellValue(row: i32, col: TreeColumn, value: string): void;
5257   setCellText(row: i32, col: TreeColumn, value: string): void;
5260 // https://searchfox.org/mozilla-central/source/intl/locale/mozILocaleService.idl
5262 interface mozILocaleService extends nsISupports {
5263   readonly langNegStrategyFiltering: 0;
5264   readonly langNegStrategyMatching: 1;
5265   readonly langNegStrategyLookup: 2;
5267   readonly defaultLocale: string;
5268   readonly lastFallbackLocale: string;
5269   readonly appLocalesAsLangTags: string[];
5270   readonly appLocalesAsBCP47: string[];
5271   readonly regionalPrefsLocales: string[];
5272   readonly webExposedLocales: string[];
5273   negotiateLanguages(aRequested: string[], aAvailable: string[], aDefaultLocale?: string, langNegStrategy?: i32): string[];
5274   readonly appLocaleAsLangTag: string;
5275   readonly appLocaleAsBCP47: string;
5276   requestedLocales: string[];
5277   readonly requestedLocale: string;
5278   availableLocales: string[];
5279   readonly isAppLocaleRTL: boolean;
5280   readonly packagedLocales: string[];
5283 // https://searchfox.org/mozilla-central/source/intl/locale/mozIOSPreferences.idl
5285 interface mozIOSPreferences extends nsISupports {
5286   readonly dateTimeFormatStyleNone: 0;
5287   readonly dateTimeFormatStyleShort: 1;
5288   readonly dateTimeFormatStyleMedium: 2;
5289   readonly dateTimeFormatStyleLong: 3;
5290   readonly dateTimeFormatStyleFull: 4;
5292   readonly systemLocales: string[];
5293   readonly regionalPrefsLocales: string[];
5294   readonly systemLocale: string;
5295   getDateTimePattern(timeFormatStyle: i32, dateFormatStyle: i32, locale?: string): string;
5298 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginAutoCompleteSearch.idl
5300 interface nsILoginAutoCompleteSearch extends nsISupports {
5301   startSearch(aSearchString: string, aPreviousResult: nsIAutoCompleteResult, aElement: HTMLInputElement, aListener: nsIFormFillCompleteObserver): void;
5302   stopSearch(): void;
5305 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginInfo.idl
5307 interface nsILoginInfo extends nsISupports {
5308   readonly displayOrigin: string;
5309   origin: string;
5310   hostname: string;
5311   formActionOrigin: string;
5312   formSubmitURL: string;
5313   httpRealm: string;
5314   username: string;
5315   usernameField: string;
5316   password: string;
5317   passwordField: string;
5318   unknownFields: string;
5319   everSynced: boolean;
5320   syncCounter: i32;
5321   init(aOrigin: string, aFormActionOrigin: string, aHttpRealm: string, aUsername: string, aPassword: string, aUsernameField?: string, aPasswordField?: string): void;
5322   equals(aLoginInfo: nsILoginInfo): boolean;
5323   matches(aLoginInfo: nsILoginInfo, ignorePassword: boolean): boolean;
5324   clone(): nsILoginInfo;
5327 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManager.idl
5329 interface nsILoginSearchCallback extends nsISupports {
5330   onSearchComplete(aLogins: nsILoginInfo[]): void;
5333 interface nsILoginManager extends nsISupports {
5334   readonly initializationPromise: Promise<any>;
5335   addLogin(aLogin: nsILoginInfo): nsILoginInfo;
5336   addLoginAsync(aLogin: nsILoginInfo): Promise<any>;
5337   addLogins(aLogins: any): Promise<any>;
5338   removeLogin(aLogin: nsILoginInfo): void;
5339   modifyLogin(oldLogin: nsILoginInfo, newLoginData: nsISupports): void;
5340   recordPasswordUse(aLogin: nsILoginInfo, aPrivateContextWithoutExplicitConsent: boolean, aLoginType: string, aFilled: boolean): void;
5341   removeAllUserFacingLogins(): void;
5342   removeAllLogins(): void;
5343   getAllLogins(): Promise<any>;
5344   getAllLoginsWithCallback(aCallback: nsILoginSearchCallback): void;
5345   getAllDisabledHosts(): string[];
5346   getLoginSavingEnabled(aHost: string): boolean;
5347   setLoginSavingEnabled(aHost: string, isEnabled: boolean): void;
5348   findLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): nsILoginInfo[];
5349   countLogins(aOrigin: string, aActionOrigin: string, aHttpRealm: string): u32;
5350   searchLoginsAsync(matchData: any): Promise<any>;
5351   searchLogins(matchData: nsIPropertyBag): nsILoginInfo[];
5352   getSyncID(): Promise<any>;
5353   setSyncID(syncID: string): Promise<any>;
5354   getLastSync(): Promise<any>;
5355   setLastSync(timestamp: double): Promise<any>;
5356   ensureCurrentSyncID(newSyncID: string): Promise<any>;
5357   readonly uiBusy: boolean;
5358   readonly isLoggedIn: boolean;
5361 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerAuthPrompter.idl
5363 interface nsILoginManagerAuthPrompter extends nsISupports {
5364   init(aWindow: nsIDOMWindow): void;
5365   browser: Element;
5368 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerCrypto.idl
5370 interface nsILoginManagerCrypto extends nsISupports {
5371   readonly ENCTYPE_BASE64: 0;
5372   readonly ENCTYPE_SDR: 1;
5374   encrypt(plainText: string): string;
5375   encryptMany(plainTexts: any): Promise<any>;
5376   decrypt(cipherText: string): string;
5377   decryptMany(cipherTexts: any): Promise<any>;
5378   readonly uiBusy: boolean;
5379   readonly isLoggedIn: boolean;
5380   readonly defaultEncType: u32;
5383 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginManagerPrompter.idl
5385 interface nsILoginManagerPrompter extends nsISupports {
5386   promptToSavePassword(aBrowser: Element, aLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;
5387   promptToChangePassword(aBrowser: Element, aOldLogin: nsILoginInfo, aNewLogin: nsILoginInfo, dismissed?: boolean, notifySaved?: boolean, autoSavedLoginGuid?: string, autoFilledLoginGuid?: string, possibleValues?: any): nsIPromptInstance;
5388   promptToChangePasswordWithUsernames(aBrowser: Element, logins: nsILoginInfo[], aNewLogin: nsILoginInfo): nsIPromptInstance;
5391 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsILoginMetaInfo.idl
5393 interface nsILoginMetaInfo extends nsISupports {
5394   guid: string;
5395   timeCreated: u64;
5396   timeLastUsed: u64;
5397   timePasswordChanged: u64;
5398   timesUsed: u32;
5401 // https://searchfox.org/mozilla-central/source/toolkit/components/passwordmgr/nsIPromptInstance.idl
5403 interface nsIPromptInstance extends nsISupports {
5404   dismiss(): void;
5407 // https://searchfox.org/mozilla-central/source/browser/components/migration/nsIEdgeMigrationUtils.idl
5409 interface nsIEdgeMigrationUtils extends nsISupports {
5410   isDbLocked(aFile: nsIFile): Promise<any>;
5413 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEHeaderParam.idl
5415 interface nsIMIMEHeaderParam extends nsISupports {
5416   getParameter(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;
5417   getParameterHTTP(aHeaderVal: string, aParamName: string, aFallbackCharset: string, aTryLocaleCharset: boolean, aLang: OutParam<string>): string;
5418   decodeRFC5987Param(aParamVal: string, aLang: OutParam<string>): string;
5421 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEInfo.idl
5423 interface nsIHandlerInfo extends nsISupports {
5424   readonly saveToDisk: 0;
5425   readonly alwaysAsk: 1;
5426   readonly useHelperApp: 2;
5427   readonly handleInternally: 3;
5428   readonly useSystemDefault: 4;
5430   readonly type: string;
5431   description: string;
5432   preferredApplicationHandler: nsIHandlerApp;
5433   readonly possibleApplicationHandlers: nsIMutableArray;
5434   readonly hasDefaultHandler: boolean;
5435   readonly defaultDescription: string;
5436   readonly defaultExecutable: nsIFile;
5437   launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;
5438   preferredAction: nsHandlerInfoAction;
5439   alwaysAskBeforeHandling: boolean;
5442 interface nsIMIMEInfo extends nsIHandlerInfo {
5443   getFileExtensions(): nsIUTF8StringEnumerator;
5444   setFileExtensions(aExtensions: string): void;
5445   extensionExists(aExtension: string): boolean;
5446   appendExtension(aExtension: string): void;
5447   primaryExtension: string;
5448   readonly MIMEType: string;
5449   equals(aMIMEInfo: nsIMIMEInfo): boolean;
5450   readonly possibleLocalHandlers: nsIArray;
5451   launchWithFile(aFile: nsIFile): void;
5452   isCurrentAppOSDefault(): boolean;
5455 interface nsIHandlerApp extends nsISupports {
5456   name: string;
5457   detailedDescription: string;
5458   equals(aHandlerApp: nsIHandlerApp): boolean;
5459   launchWithURI(aURI: nsIURI, aBrowsingContext?: BrowsingContext): void;
5462 interface nsILocalHandlerApp extends nsIHandlerApp {
5463   executable: nsIFile;
5464   readonly parameterCount: u32;
5465   prettyNameAsync(): Promise<any>;
5466   clearParameters(): void;
5467   appendParameter(param: string): void;
5468   getParameter(parameterIndex: u32): string;
5469   parameterExists(param: string): boolean;
5472 interface nsIWebHandlerApp extends nsIHandlerApp {
5473   uriTemplate: string;
5476 interface nsIDBusHandlerApp extends nsIHandlerApp {
5477   service: string;
5478   objectPath: string;
5479   dBusInterface: string;
5480   method: string;
5483 // https://searchfox.org/mozilla-central/source/netwerk/mime/nsIMIMEService.idl
5485 interface nsIMIMEService extends nsISupports {
5486   readonly VALIDATE_DEFAULT: 0;
5487   readonly VALIDATE_SANITIZE_ONLY: 1;
5488   readonly VALIDATE_DONT_COLLAPSE_WHITESPACE: 2;
5489   readonly VALIDATE_DONT_TRUNCATE: 4;
5490   readonly VALIDATE_GUESS_FROM_EXTENSION: 8;
5491   readonly VALIDATE_ALLOW_EMPTY: 16;
5492   readonly VALIDATE_NO_DEFAULT_FILENAME: 32;
5493   readonly VALIDATE_FORCE_APPEND_EXTENSION: 64;
5494   readonly VALIDATE_ALLOW_INVALID_FILENAMES: 128;
5496   getFromTypeAndExtension(aMIMEType: string, aFileExt: string): nsIMIMEInfo;
5497   getTypeFromExtension(aFileExt: string): string;
5498   getTypeFromURI(aURI: nsIURI): string;
5499   getDefaultTypeFromURI(aURI: nsIURI): string;
5500   getTypeFromFile(aFile: nsIFile): string;
5501   getPrimaryExtension(aMIMEType: string, aFileExt: string): string;
5502   getMIMEInfoFromOS(aType: string, aFileExtension: string, aFound: OutParam<boolean>): nsIMIMEInfo;
5503   updateDefaultAppInfo(aMIMEInfo: nsIMIMEInfo): void;
5504   getValidFileName(aChannel: nsIChannel, aType: string, aOriginalURI: nsIURI, aFlags: u32): string;
5505   validateFileNameForSaving(aFileName: string, aType: string, aFlags: u32): string;
5508 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFind.idl
5510 interface nsIFind extends nsISupports {
5511   findBackwards: boolean;
5512   caseSensitive: boolean;
5513   entireWord: boolean;
5514   matchDiacritics: boolean;
5515   Find(aPatText: string, aSearchRange: Range, aStartPoint: Range, aEndPoint: Range): Range;
5518 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIFindService.idl
5520 interface nsIFindService extends nsISupports {
5521   searchString: string;
5522   replaceString: string;
5523   findBackwards: boolean;
5524   wrapFind: boolean;
5525   entireWord: boolean;
5526   matchCase: boolean;
5527   matchDiacritics: boolean;
5530 // https://searchfox.org/mozilla-central/source/toolkit/components/find/nsIWebBrowserFind.idl
5532 interface nsIWebBrowserFind extends nsISupports {
5533   findNext(): boolean;
5534   searchString: string;
5535   findBackwards: boolean;
5536   wrapFind: boolean;
5537   entireWord: boolean;
5538   matchCase: boolean;
5539   matchDiacritics: boolean;
5540   searchFrames: boolean;
5543 interface nsIWebBrowserFindInFrames extends nsISupports {
5544   currentSearchFrame: mozIDOMWindowProxy;
5545   rootSearchFrame: mozIDOMWindowProxy;
5546   searchSubframes: boolean;
5547   searchParentFrames: boolean;
5550 // https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntl.idl
5552 interface mozIMozIntl extends nsISupports {
5553   getCalendarInfo(locales?: any): any;
5554   getDisplayNamesDeprecated(locales?: any, options?: any): any;
5555   getAvailableLocaleDisplayNames(type: any): any;
5556   getLanguageDisplayNames(locales: any, langCodes: any): any;
5557   getRegionDisplayNames(locales: any, regionCodes: any): any;
5558   getLocaleDisplayNames(locales: any, localeCodes: any, options?: any): any;
5559   getScriptDirection(locale: any): any;
5560   stringHasRTLChars(str: any): boolean;
5561   readonly Collator: any;
5562   readonly DateTimeFormat: any;
5563   readonly DisplayNames: any;
5564   readonly ListFormat: any;
5565   readonly Locale: any;
5566   readonly NumberFormat: any;
5567   readonly PluralRules: any;
5568   readonly RelativeTimeFormat: any;
5571 // https://searchfox.org/mozilla-central/source/toolkit/components/mozintl/mozIMozIntlHelper.idl
5573 interface mozIMozIntlHelper extends nsISupports {
5574   addGetCalendarInfo(intlObject: any): void;
5575   addDateTimeFormatConstructor(intlObject: any): void;
5576   addDisplayNamesConstructor(intlObject: any): void;
5577   stringHasRTLChars(str: any): boolean;
5580 // https://searchfox.org/mozilla-central/source/netwerk/base/mozIThirdPartyUtil.idl
5582 interface mozIThirdPartyUtil extends nsISupports {
5583   isThirdPartyURI(aFirstURI: nsIURI, aSecondURI: nsIURI): boolean;
5584   isThirdPartyWindow(aWindow: mozIDOMWindowProxy, aURI?: nsIURI): boolean;
5585   isThirdPartyChannel(aChannel: nsIChannel, aURI?: nsIURI): boolean;
5586   getBaseDomain(aHostURI: nsIURI): string;
5587   getBaseDomainFromSchemeHost(aScheme: string, aAsciiHost: string): string;
5588   getURIFromWindow(aWindow: mozIDOMWindowProxy): nsIURI;
5589   getPrincipalFromWindow(aWindow: mozIDOMWindowProxy): nsIPrincipal;
5592 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIArrayBufferInputStream.idl
5594 interface nsIArrayBufferInputStream extends nsIInputStream {
5595   setData(buffer: any, byteOffset: u64, byteLen: u64): void;
5598 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier.idl
5600 interface nsIAsyncStreamCopier extends nsIRequest {
5601   init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aSourceBuffered: boolean, aSinkBuffered: boolean, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;
5602   asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;
5605 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncStreamCopier2.idl
5607 interface nsIAsyncStreamCopier2 extends nsIRequest {
5608   init(aSource: nsIInputStream, aSink: nsIOutputStream, aTarget: nsIEventTarget, aChunkSize: u32, aCloseSource: boolean, aCloseSink: boolean): void;
5609   asyncCopy(aObserver: nsIRequestObserver, aObserverContext: nsISupports): void;
5612 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAsyncVerifyRedirectCallback.idl
5614 interface nsIAsyncVerifyRedirectCallback extends nsISupports {
5615   onRedirectVerifyCallback(result: nsresult): void;
5618 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthInformation.idl
5620 interface nsIAuthInformation extends nsISupports {
5621   readonly AUTH_HOST: 1;
5622   readonly AUTH_PROXY: 2;
5623   readonly NEED_DOMAIN: 4;
5624   readonly ONLY_PASSWORD: 8;
5625   readonly PREVIOUS_FAILED: 16;
5626   readonly CROSS_ORIGIN_SUB_RESOURCE: 32;
5628   readonly flags: u32;
5629   readonly realm: string;
5630   readonly authenticationScheme: string;
5631   username: string;
5632   password: string;
5633   domain: string;
5636 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthModule.idl
5638 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt.idl
5640 interface nsIAuthPrompt extends nsISupports {
5641   readonly SAVE_PASSWORD_NEVER: 0;
5642   readonly SAVE_PASSWORD_FOR_SESSION: 1;
5643   readonly SAVE_PASSWORD_PERMANENTLY: 2;
5645   prompt(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, defaultText: string, result: OutParam<string>): boolean;
5646   promptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): boolean;
5647   asyncPromptUsernameAndPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, user: InOutParam<string>, pwd: InOutParam<string>): Promise<any>;
5648   promptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): boolean;
5649   asyncPromptPassword(dialogTitle: string, text: string, passwordRealm: string, savePassword: u32, pwd: InOutParam<string>): Promise<any>;
5652 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPrompt2.idl
5654 interface nsIAuthPrompt2 extends nsISupports {
5655   readonly LEVEL_NONE: 0;
5656   readonly LEVEL_PW_ENCRYPTED: 1;
5657   readonly LEVEL_SECURE: 2;
5659   promptAuth(aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
5660   asyncPromptAuth(aChannel: nsIChannel, aCallback: nsIAuthPromptCallback, aContext: nsISupports, level: u32, authInfo: nsIAuthInformation): nsICancelable;
5663 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptAdapterFactory.idl
5665 interface nsIAuthPromptAdapterFactory extends nsISupports {
5666   createAdapter(aPrompt: nsIAuthPrompt): nsIAuthPrompt2;
5669 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptCallback.idl
5671 interface nsIAuthPromptCallback extends nsISupports {
5672   onAuthAvailable(aContext: nsISupports, aAuthInfo: nsIAuthInformation): void;
5673   onAuthCancelled(aContext: nsISupports, userCancel: boolean): void;
5676 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIAuthPromptProvider.idl
5678 interface nsIAuthPromptProvider extends nsISupports {
5679   readonly PROMPT_NORMAL: 0;
5680   readonly PROMPT_PROXY: 1;
5682   getAuthPrompt<T extends nsIID>(aPromptReason: u32, iid: T): nsQIResult<T>;
5685 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBackgroundFileSaver.idl
5687 interface nsIBackgroundFileSaver extends nsISupports {
5688   observer: nsIBackgroundFileSaverObserver;
5689   readonly signatureInfo: u8[][][];
5690   readonly sha256Hash: string;
5691   enableSignatureInfo(): void;
5692   enableSha256(): void;
5693   enableAppend(): void;
5694   setTarget(aTarget: nsIFile, aKeepPartial: boolean): void;
5695   finish(aStatus: nsresult): void;
5698 interface nsIBackgroundFileSaverObserver extends nsISupports {
5699   onTargetChange(aSaver: nsIBackgroundFileSaver, aTarget: nsIFile): void;
5700   onSaveComplete(aSaver: nsIBackgroundFileSaver, aStatus: nsresult): void;
5703 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBaseChannel.idl
5705 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIBufferedStreams.idl
5707 interface nsIBufferedInputStream extends nsIInputStream {
5708   init(fillFromStream: nsIInputStream, bufferSize: u32): void;
5709   readonly data: nsIInputStream;
5712 interface nsIBufferedOutputStream extends nsIOutputStream {
5713   init(sinkToStream: nsIOutputStream, bufferSize: u32): void;
5714   readonly data: nsIOutputStream;
5717 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIByteRangeRequest.idl
5719 interface nsIByteRangeRequest extends nsISupports {
5720   readonly isByteRangeRequest: boolean;
5721   readonly startRange: i64;
5722   readonly endRange: i64;
5725 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICacheInfoChannel.idl
5727 interface nsIInputStreamReceiver extends nsISupports {
5728   onInputStreamReady(aStream: nsIInputStream): void;
5731 }  // global
5733 declare namespace nsICacheInfoChannel {
5735 enum PreferredAlternativeDataDeliveryType {
5736   NONE = 0,
5737   ASYNC = 1,
5738   SERIALIZE = 2,
5743 declare global {
5745 interface nsICacheInfoChannel extends nsISupports, Enums<typeof nsICacheInfoChannel.PreferredAlternativeDataDeliveryType> {
5746   readonly cacheTokenFetchCount: u32;
5747   readonly cacheTokenExpirationTime: u32;
5748   isFromCache(): boolean;
5749   isRacing(): boolean;
5750   getCacheEntryId(): u64;
5751   cacheKey: u32;
5752   allowStaleCacheContent: boolean;
5753   preferCacheLoadOverBypass: boolean;
5754   forceValidateCacheContent: boolean;
5755   preferAlternativeDataType(type: string, contentType: string, deliverAltData: nsICacheInfoChannel.PreferredAlternativeDataDeliveryType): void;
5756   readonly alternativeDataType: string;
5757   readonly alternativeDataInputStream: nsIInputStream;
5758   getOriginalInputStream(aReceiver: nsIInputStreamReceiver): void;
5759   openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;
5762 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICachingChannel.idl
5764 interface nsICachingChannel extends nsICacheInfoChannel {
5765   readonly LOAD_NO_NETWORK_IO: 67108864;
5766   readonly LOAD_BYPASS_LOCAL_CACHE: 268435456;
5767   readonly LOAD_BYPASS_LOCAL_CACHE_IF_BUSY: 536870912;
5768   readonly LOAD_ONLY_FROM_CACHE: 1073741824;
5769   readonly LOAD_ONLY_IF_MODIFIED: 2147483648;
5771   cacheToken: nsISupports;
5772   cacheOnlyMetadata: boolean;
5773   pin: boolean;
5774   forceCacheEntryValidFor(aSecondsToTheFuture: u32): void;
5777 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICancelable.idl
5779 interface nsICancelable extends nsISupports {
5780   cancel(aReason: nsresult): void;
5783 // https://searchfox.org/mozilla-central/source/netwerk/base/nsICaptivePortalService.idl
5785 interface nsICaptivePortalServiceCallback extends nsISupports {
5786   complete(success: boolean, error: nsresult): void;
5789 interface nsICaptivePortalService extends nsISupports {
5790   readonly UNKNOWN: 0;
5791   readonly NOT_CAPTIVE: 1;
5792   readonly UNLOCKED_PORTAL: 2;
5793   readonly LOCKED_PORTAL: 3;
5795   recheckCaptivePortal(): void;
5796   readonly state: i32;
5797   readonly lastChecked: u64;
5800 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannel.idl
5802 interface nsIChannel extends nsIRequest {
5803   readonly LOAD_DOCUMENT_URI: 65536;
5804   readonly LOAD_RETARGETED_DOCUMENT_URI: 131072;
5805   readonly LOAD_REPLACE: 262144;
5806   readonly LOAD_INITIAL_DOCUMENT_URI: 524288;
5807   readonly LOAD_TARGETED: 1048576;
5808   readonly LOAD_CALL_CONTENT_SNIFFERS: 2097152;
5809   readonly LOAD_BYPASS_URL_CLASSIFIER: 4194304;
5810   readonly LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE: 8388608;
5811   readonly LOAD_EXPLICIT_CREDENTIALS: 16777216;
5812   readonly LOAD_BYPASS_SERVICE_WORKER: 33554432;
5813   readonly DISPOSITION_INLINE: 0;
5814   readonly DISPOSITION_ATTACHMENT: 1;
5815   readonly DISPOSITION_FORCE_INLINE: 2;
5817   originalURI: nsIURI;
5818   readonly URI: nsIURI;
5819   owner: nsISupports;
5820   notificationCallbacks: nsIInterfaceRequestor;
5821   readonly securityInfo: nsITransportSecurityInfo;
5822   contentType: string;
5823   contentCharset: string;
5824   contentLength: i64;
5825   open(): nsIInputStream;
5826   asyncOpen(aListener: nsIStreamListener): void;
5827   readonly canceled: boolean;
5828   contentDisposition: u32;
5829   contentDispositionFilename: string;
5830   readonly contentDispositionHeader: string;
5831   loadInfo: nsILoadInfo;
5832   readonly isDocument: boolean;
5835 interface nsIIdentChannel extends nsIChannel {
5836   channelId: u64;
5839 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChannelEventSink.idl
5841 interface nsIChannelEventSink extends nsISupports {
5842   readonly REDIRECT_TEMPORARY: 1;
5843   readonly REDIRECT_PERMANENT: 2;
5844   readonly REDIRECT_INTERNAL: 4;
5845   readonly REDIRECT_STS_UPGRADE: 8;
5846   readonly REDIRECT_AUTH_RETRY: 16;
5848   asyncOnChannelRedirect(oldChannel: nsIChannel, newChannel: nsIChannel, flags: u32, callback: nsIAsyncVerifyRedirectCallback): void;
5851 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIChildChannel.idl
5853 interface nsIChildChannel extends nsISupports {
5854   connectParent(registrarId: u32): void;
5855   completeRedirectSetup(aListener: nsIStreamListener): void;
5858 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassOfService.idl
5860 interface nsIClassOfService extends nsISupports {
5861   readonly Leader: 1;
5862   readonly Follower: 2;
5863   readonly Speculative: 4;
5864   readonly Background: 8;
5865   readonly Unblocked: 16;
5866   readonly Throttleable: 32;
5867   readonly UrgentStart: 64;
5868   readonly DontThrottle: 128;
5869   readonly Tail: 256;
5870   readonly TailAllowed: 512;
5871   readonly TailForbidden: 1024;
5873   classFlags: u32;
5874   incremental: boolean;
5875   clearClassFlags(flags: u32): void;
5876   addClassFlags(flags: u32): void;
5879 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIClassifiedChannel.idl
5881 }  // global
5883 declare namespace nsIClassifiedChannel {
5885 enum ClassificationFlags {
5886   CLASSIFIED_FINGERPRINTING = 1,
5887   CLASSIFIED_FINGERPRINTING_CONTENT = 128,
5888   CLASSIFIED_CRYPTOMINING = 2,
5889   CLASSIFIED_CRYPTOMINING_CONTENT = 256,
5890   CLASSIFIED_TRACKING = 4,
5891   CLASSIFIED_TRACKING_AD = 8,
5892   CLASSIFIED_TRACKING_ANALYTICS = 16,
5893   CLASSIFIED_TRACKING_SOCIAL = 32,
5894   CLASSIFIED_TRACKING_CONTENT = 64,
5895   CLASSIFIED_SOCIALTRACKING = 512,
5896   CLASSIFIED_SOCIALTRACKING_FACEBOOK = 1024,
5897   CLASSIFIED_SOCIALTRACKING_LINKEDIN = 2048,
5898   CLASSIFIED_SOCIALTRACKING_TWITTER = 4096,
5899   CLASSIFIED_EMAILTRACKING = 8192,
5900   CLASSIFIED_EMAILTRACKING_CONTENT = 16384,
5901   CLASSIFIED_ANY_BASIC_TRACKING = 61,
5902   CLASSIFIED_ANY_STRICT_TRACKING = 253,
5903   CLASSIFIED_ANY_SOCIAL_TRACKING = 7680,
5908 declare global {
5910 interface nsIClassifiedChannel extends nsISupports, Enums<typeof nsIClassifiedChannel.ClassificationFlags> {
5911   setMatchedInfo(aList: string, aProvider: string, aFullHash: string): void;
5912   readonly matchedList: string;
5913   readonly matchedProvider: string;
5914   readonly matchedFullHash: string;
5915   setMatchedTrackingInfo(aLists: string[], aFullHashes: string[]): void;
5916   readonly matchedTrackingLists: string[];
5917   readonly matchedTrackingFullHashes: string[];
5918   readonly firstPartyClassificationFlags: u32;
5919   readonly thirdPartyClassificationFlags: u32;
5920   readonly classificationFlags: u32;
5921   isThirdPartyTrackingResource(): boolean;
5922   isThirdPartySocialTrackingResource(): boolean;
5925 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIContentSniffer.idl
5927 interface nsIContentSniffer extends nsISupports {
5928   getMIMETypeFromContent(aRequest: nsIRequest, aData: u8[], aLength: u32): string;
5931 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDHCPClient.idl
5933 interface nsIDHCPClient extends nsISupports {
5934   getOption(option: u8): string;
5937 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboard.idl
5939 type nsINetDashboardCallback = Callable<{
5940   onDashboardDataAvailable(data: any): void;
5943 interface nsIDashboard extends nsISupports {
5944   requestSockets(cb: nsINetDashboardCallback): void;
5945   requestHttpConnections(cb: nsINetDashboardCallback): void;
5946   requestWebsocketConnections(cb: nsINetDashboardCallback): void;
5947   requestDNSInfo(cb: nsINetDashboardCallback): void;
5948   requestConnection(aHost: string, aPort: u32, aProtocol: string, aTimeout: u32, cb: nsINetDashboardCallback): void;
5949   enableLogging: boolean;
5950   requestDNSLookup(aHost: string, cb: nsINetDashboardCallback): void;
5951   requestDNSHTTPSRRLookup(aHost: string, cb: nsINetDashboardCallback): void;
5952   requestRcwnStats(cb: nsINetDashboardCallback): void;
5953   getLogPath(): string;
5956 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDashboardEventNotifier.idl
5958 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIDownloader.idl
5960 interface nsIDownloader extends nsIStreamListener {
5961   init(observer: nsIDownloadObserver, downloadLocation: nsIFile): void;
5964 interface nsIDownloadObserver extends nsISupports {
5965   onDownloadComplete(downloader: nsIDownloader, request: nsIRequest, status: nsresult, result: nsIFile): void;
5968 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIEncodedChannel.idl
5970 interface nsIEncodedChannel extends nsISupports {
5971   readonly contentEncodings: nsIUTF8StringEnumerator;
5972   applyConversion: boolean;
5973   hasContentDecompressed: boolean;
5974   doApplyContentConversions(aNextListener: nsIStreamListener, aNewNextListener: OutParam<nsIStreamListener>, aCtxt: nsISupports): void;
5977 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIExternalProtocolHandler.idl
5979 interface nsIExternalProtocolHandler extends nsIProtocolHandler {
5980   externalAppExistsForScheme(scheme: string): boolean;
5983 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileStreams.idl
5985 interface nsIFileInputStream extends nsIInputStream {
5986   readonly CLOSE_ON_EOF: 4;
5987   readonly REOPEN_ON_REWIND: 8;
5988   readonly DEFER_OPEN: 16;
5989   readonly SHARE_DELETE: 32;
5991   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
5994 interface nsIFileOutputStream extends nsIOutputStream {
5995   readonly DEFER_OPEN: 1;
5997   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
6000 interface nsIFileRandomAccessStream extends nsIRandomAccessStream {
6001   readonly DEFER_OPEN: 1;
6003   init(file: nsIFile, ioFlags: i32, perm: i32, behaviorFlags: i32): void;
6006 interface nsIFileMetadata extends nsISupports {
6007   readonly size: i64;
6008   readonly lastModified: i64;
6011 interface nsIAsyncFileMetadata extends nsIFileMetadata {
6012   asyncFileMetadataWait(aCallback: nsIFileMetadataCallback, aEventTarget: nsIEventTarget): void;
6015 type nsIFileMetadataCallback = Callable<{
6016   onFileMetadataReady(aObject: nsIAsyncFileMetadata): void;
6019 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFileURL.idl
6021 interface nsIFileURL extends nsIURL {
6022   readonly file: nsIFile;
6025 interface nsIFileURLMutator extends nsISupports {
6028 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIForcePendingChannel.idl
6030 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIFormPOSTActionChannel.idl
6032 interface nsIFormPOSTActionChannel extends nsIUploadChannel {
6035 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIHttpAuthenticatorCallback.idl
6037 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIHttpPushListener.idl
6039 interface nsIHttpPushListener extends nsISupports {
6040   onPush(associatedChannel: nsIHttpChannel, pushChannel: nsIHttpChannel): void;
6043 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIOService.idl
6045 interface nsIIOService extends nsISupports {
6046   getProtocolHandler(aScheme: string): nsIProtocolHandler;
6047   getProtocolFlags(aScheme: string): u32;
6048   getDynamicProtocolFlags(aURI: nsIURI): u32;
6049   getDefaultPort(aScheme: string): i32;
6050   newURI(aSpec: string, aOriginCharset?: string, aBaseURI?: nsIURI): nsIURI;
6051   newFileURI(aFile: nsIFile): nsIURI;
6052   createExposableURI(aURI: nsIURI): nsIURI;
6053   newChannelFromURI(aURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6054   newChannelFromURIWithLoadInfo(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
6055   newChannel(aSpec: string, aOriginCharset: string, aBaseURI: nsIURI, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6056   newWebTransport(): nsIWebTransport;
6057   offline: boolean;
6058   readonly connectivity: boolean;
6059   allowPort(aPort: i32, aScheme: string): boolean;
6060   extractScheme(urlString: string): string;
6061   hostnameIsLocalIPAddress(aURI: nsIURI): boolean;
6062   hostnameIsSharedIPAddress(aURI: nsIURI): boolean;
6063   isValidHostname(hostname: string): boolean;
6064   manageOfflineStatus: boolean;
6065   newChannelFromURIWithProxyFlags(aURI: nsIURI, aProxyURI: nsIURI, aProxyFlags: u32, aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): nsIChannel;
6066   readonly socketProcessLaunched: boolean;
6067   readonly socketProcessId: u64;
6068   registerProtocolHandler(aScheme: string, aHandler: nsIProtocolHandler, aProtocolFlags: u32, aDefaultPort: i32): void;
6069   unregisterProtocolHandler(aScheme: string): void;
6072 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalDownload.idl
6074 interface nsIIncrementalDownload extends nsIRequest {
6075   init(uri: nsIURI, destination: nsIFile, chunkSize: i32, intervalInSeconds: i32): void;
6076   readonly URI: nsIURI;
6077   readonly finalURI: nsIURI;
6078   readonly destination: nsIFile;
6079   readonly totalSize: i64;
6080   readonly currentSize: i64;
6081   start(observer: nsIRequestObserver, ctxt: nsISupports): void;
6084 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIIncrementalStreamLoader.idl
6086 interface nsIIncrementalStreamLoaderObserver extends nsISupports {
6087   onIncrementalData(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, dataLength: u32, data: u8[], consumedLength: InOutParam<u32>): void;
6088   onStreamComplete(loader: nsIIncrementalStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;
6091 interface nsIIncrementalStreamLoader extends nsIThreadRetargetableStreamListener {
6092   init(aObserver: nsIIncrementalStreamLoaderObserver): void;
6093   readonly numBytesRead: u32;
6094   readonly request: nsIRequest;
6097 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamChannel.idl
6099 interface nsIInputStreamChannel extends nsISupports {
6100   setURI(aURI: nsIURI): void;
6101   contentStream: nsIInputStream;
6102   srcdocData: string;
6103   readonly isSrcdocChannel: boolean;
6104   baseURI: nsIURI;
6107 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInputStreamPump.idl
6109 interface nsIInputStreamPump extends nsIRequest {
6110   init(aStream: nsIInputStream, aSegmentSize: u32, aSegmentCount: u32, aCloseWhenDone: boolean, aMainThreadTarget?: nsISerialEventTarget): void;
6111   asyncRead(aListener: nsIStreamListener): void;
6114 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIInterceptionInfo.idl
6116 interface nsIInterceptionInfo extends nsISupports {
6119 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadContextInfo.idl
6121 interface nsILoadContextInfo extends nsISupports {
6122   readonly isPrivate: boolean;
6123   readonly isAnonymous: boolean;
6124   readonly originAttributes: any;
6127 interface nsILoadContextInfoFactory extends nsISupports {
6128   readonly default: nsILoadContextInfo;
6129   readonly private: nsILoadContextInfo;
6130   readonly anonymous: nsILoadContextInfo;
6131   custom(aAnonymous: boolean, aOriginAttributes: any): nsILoadContextInfo;
6132   fromLoadContext(aLoadContext: nsILoadContext, aAnonymous: boolean): nsILoadContextInfo;
6133   fromWindow(aWindow: nsIDOMWindow, aAnonymous: boolean): nsILoadContextInfo;
6136 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroup.idl
6138 interface nsILoadGroup extends nsIRequest {
6139   groupObserver: nsIRequestObserver;
6140   defaultLoadRequest: nsIRequest;
6141   addRequest(aRequest: nsIRequest, aContext: nsISupports): void;
6142   removeRequest(aRequest: nsIRequest, aContext: nsISupports, aStatus: nsresult): void;
6143   readonly requests: nsISimpleEnumerator;
6144   readonly activeCount: u32;
6145   notificationCallbacks: nsIInterfaceRequestor;
6146   readonly requestContextID: u64;
6147   defaultLoadFlags: nsLoadFlags;
6148   readonly isBrowsingContextDiscarded: boolean;
6151 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadGroupChild.idl
6153 interface nsILoadGroupChild extends nsISupports {
6154   parentLoadGroup: nsILoadGroup;
6155   readonly childLoadGroup: nsILoadGroup;
6156   readonly rootLoadGroup: nsILoadGroup;
6159 // https://searchfox.org/mozilla-central/source/netwerk/base/nsILoadInfo.idl
6161 }  // global
6163 declare namespace nsILoadInfo {
6165 enum StoragePermissionState {
6166   NoStoragePermission = 0,
6167   HasStoragePermission = 1,
6168   StoragePermissionAllowListed = 2,
6171 enum CrossOriginOpenerPolicy {
6172   OPENER_POLICY_UNSAFE_NONE = 0,
6173   OPENER_POLICY_SAME_ORIGIN = 1,
6174   OPENER_POLICY_SAME_ORIGIN_ALLOW_POPUPS = 2,
6175   OPENER_POLICY_EMBEDDER_POLICY_REQUIRE_CORP_FLAG = 16,
6176   OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP = 17,
6179 enum CrossOriginEmbedderPolicy {
6180   EMBEDDER_POLICY_NULL = 0,
6181   EMBEDDER_POLICY_REQUIRE_CORP = 1,
6182   EMBEDDER_POLICY_CREDENTIALLESS = 2,
6187 declare global {
6189 interface nsILoadInfo extends nsISupports, Enums<typeof nsILoadInfo.StoragePermissionState & typeof nsILoadInfo.CrossOriginOpenerPolicy & typeof nsILoadInfo.CrossOriginEmbedderPolicy> {
6190   readonly SEC_ONLY_FOR_EXPLICIT_CONTENTSEC_CHECK: 0;
6191   readonly SEC_REQUIRE_SAME_ORIGIN_INHERITS_SEC_CONTEXT: 1;
6192   readonly SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED: 2;
6193   readonly SEC_ALLOW_CROSS_ORIGIN_INHERITS_SEC_CONTEXT: 4;
6194   readonly SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL: 8;
6195   readonly SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT: 16;
6196   readonly SEC_COOKIES_DEFAULT: 0;
6197   readonly SEC_COOKIES_INCLUDE: 32;
6198   readonly SEC_COOKIES_SAME_ORIGIN: 64;
6199   readonly SEC_COOKIES_OMIT: 96;
6200   readonly SEC_FORCE_INHERIT_PRINCIPAL: 128;
6201   readonly SEC_ABOUT_BLANK_INHERITS: 512;
6202   readonly SEC_ALLOW_CHROME: 1024;
6203   readonly SEC_DISALLOW_SCRIPT: 2048;
6204   readonly SEC_DONT_FOLLOW_REDIRECTS: 4096;
6205   readonly SEC_LOAD_ERROR_PAGE: 8192;
6206   readonly SEC_FORCE_INHERIT_PRINCIPAL_OVERRULE_OWNER: 16384;
6207   readonly HTTPS_ONLY_UNINITIALIZED: 1;
6208   readonly HTTPS_ONLY_UPGRADED_LISTENER_NOT_REGISTERED: 2;
6209   readonly HTTPS_ONLY_UPGRADED_LISTENER_REGISTERED: 4;
6210   readonly HTTPS_ONLY_EXEMPT: 8;
6211   readonly HTTPS_ONLY_TOP_LEVEL_LOAD_IN_PROGRESS: 16;
6212   readonly HTTPS_ONLY_DOWNLOAD_IN_PROGRESS: 32;
6213   readonly HTTPS_ONLY_DO_NOT_LOG_TO_CONSOLE: 64;
6214   readonly HTTPS_ONLY_UPGRADED_HTTPS_FIRST: 128;
6215   readonly HTTPS_ONLY_BYPASS_ORB: 256;
6216   readonly HTTPS_FIRST_EXEMPT_NEXT_LOAD: 512;
6217   readonly TAINTING_BASIC: 0;
6218   readonly TAINTING_CORS: 1;
6219   readonly TAINTING_OPAQUE: 2;
6220   readonly BLOCKING_REASON_NONE: 0;
6221   readonly BLOCKING_REASON_CORSDISABLED: 1001;
6222   readonly BLOCKING_REASON_CORSDIDNOTSUCCEED: 1002;
6223   readonly BLOCKING_REASON_CORSREQUESTNOTHTTP: 1003;
6224   readonly BLOCKING_REASON_CORSMULTIPLEALLOWORIGINNOTALLOWED: 1004;
6225   readonly BLOCKING_REASON_CORSMISSINGALLOWORIGIN: 1005;
6226   readonly BLOCKING_REASON_CORSNOTSUPPORTINGCREDENTIALS: 1006;
6227   readonly BLOCKING_REASON_CORSALLOWORIGINNOTMATCHINGORIGIN: 1007;
6228   readonly BLOCKING_REASON_CORSMISSINGALLOWCREDENTIALS: 1008;
6229   readonly BLOCKING_REASON_CORSORIGINHEADERNOTADDED: 1009;
6230   readonly BLOCKING_REASON_CORSEXTERNALREDIRECTNOTALLOWED: 1010;
6231   readonly BLOCKING_REASON_CORSPREFLIGHTDIDNOTSUCCEED: 1011;
6232   readonly BLOCKING_REASON_CORSINVALIDALLOWMETHOD: 1012;
6233   readonly BLOCKING_REASON_CORSMETHODNOTFOUND: 1013;
6234   readonly BLOCKING_REASON_CORSINVALIDALLOWHEADER: 1014;
6235   readonly BLOCKING_REASON_CORSMISSINGALLOWHEADERFROMPREFLIGHT: 1015;
6236   readonly BLOCKING_REASON_CLASSIFY_MALWARE_URI: 2001;
6237   readonly BLOCKING_REASON_CLASSIFY_PHISHING_URI: 2002;
6238   readonly BLOCKING_REASON_CLASSIFY_UNWANTED_URI: 2003;
6239   readonly BLOCKING_REASON_CLASSIFY_TRACKING_URI: 2004;
6240   readonly BLOCKING_REASON_CLASSIFY_BLOCKED_URI: 2005;
6241   readonly BLOCKING_REASON_CLASSIFY_HARMFUL_URI: 2006;
6242   readonly BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI: 2007;
6243   readonly BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI: 2008;
6244   readonly BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI: 2009;
6245   readonly BLOCKING_REASON_CLASSIFY_EMAILTRACKING_URI: 2010;
6246   readonly BLOCKING_REASON_MIXED_BLOCKED: 3001;
6247   readonly BLOCKING_REASON_CONTENT_POLICY_GENERAL: 4000;
6248   readonly BLOCKING_REASON_CONTENT_POLICY_NO_DATA_PROTOCOL: 4001;
6249   readonly BLOCKING_REASON_CONTENT_POLICY_CONTENT_BLOCKED: 4003;
6250   readonly BLOCKING_REASON_CONTENT_POLICY_DATA_DOCUMENT: 4004;
6251   readonly BLOCKING_REASON_CONTENT_POLICY_WEB_BROWSER: 4005;
6252   readonly BLOCKING_REASON_CONTENT_POLICY_PRELOAD: 4006;
6253   readonly BLOCKING_REASON_NOT_SAME_ORIGIN: 5000;
6254   readonly BLOCKING_REASON_EXTENSION_WEBREQUEST: 6000;
6255   readonly BLOCKING_REASON_WEBDRIVER_BIDI: 7000;
6257   readonly loadingPrincipal: nsIPrincipal;
6258   readonly triggeringPrincipal: nsIPrincipal;
6259   triggeringRemoteType: string;
6260   principalToInherit: nsIPrincipal;
6261   readonly loadingDocument: Document;
6262   readonly loadingContext: nsISupports;
6263   readonly securityFlags: nsSecurityFlags;
6264   readonly sandboxFlags: u32;
6265   triggeringSandboxFlags: u32;
6266   triggeringWindowId: u64;
6267   triggeringStorageAccess: boolean;
6268   readonly securityMode: u32;
6269   skipContentSniffing: boolean;
6270   httpsOnlyStatus: u32;
6271   hstsStatus: boolean;
6272   hasValidUserGestureActivation: boolean;
6273   allowDeprecatedSystemRequests: boolean;
6274   parserCreatedScript: boolean;
6275   isUserTriggeredSave: boolean;
6276   isInDevToolsContext: boolean;
6277   isInThirdPartyContext: boolean;
6278   isThirdPartyContextToTopWindow: boolean;
6279   readonly cookiePolicy: u32;
6280   cookieJarSettings: nsICookieJarSettings;
6281   storagePermission: nsILoadInfo.StoragePermissionState;
6282   isMetaRefresh: boolean;
6283   readonly forceInheritPrincipal: boolean;
6284   readonly forceInheritPrincipalOverruleOwner: boolean;
6285   readonly loadingSandboxed: boolean;
6286   readonly aboutBlankInherits: boolean;
6287   readonly allowChrome: boolean;
6288   readonly disallowScript: boolean;
6289   readonly dontFollowRedirects: boolean;
6290   readonly loadErrorPage: boolean;
6291   isFormSubmission: boolean;
6292   readonly externalContentPolicyType: nsContentPolicyType;
6293   sendCSPViolationEvents: boolean;
6294   readonly internalContentPolicyType: nsContentPolicyType;
6295   readonly blockAllMixedContent: boolean;
6296   readonly upgradeInsecureRequests: boolean;
6297   readonly browserUpgradeInsecureRequests: boolean;
6298   browserDidUpgradeInsecureRequests: boolean;
6299   readonly browserWouldUpgradeInsecureRequests: boolean;
6300   forceAllowDataURI: boolean;
6301   allowInsecureRedirectToDataURI: boolean;
6302   skipContentPolicyCheckForWebRequest: boolean;
6303   originalFrameSrcLoad: boolean;
6304   readonly forceInheritPrincipalDropped: boolean;
6305   readonly innerWindowID: u64;
6306   readonly browsingContextID: u64;
6307   readonly browsingContext: BrowsingContext;
6308   workerAssociatedBrowsingContextID: u64;
6309   readonly workerAssociatedBrowsingContext: BrowsingContext;
6310   readonly frameBrowsingContextID: u64;
6311   readonly frameBrowsingContext: BrowsingContext;
6312   readonly targetBrowsingContextID: u64;
6313   readonly targetBrowsingContext: BrowsingContext;
6314   resetPrincipalToInheritToNullPrincipal(): void;
6315   originAttributes: any;
6316   initialSecurityCheckDone: boolean;
6317   loadTriggeredFromExternal: boolean;
6318   appendRedirectHistoryEntry(channelToDeriveFrom: nsIChannel, isInternalRedirect: boolean): void;
6319   readonly redirectChainIncludingInternalRedirects: any;
6320   readonly redirectChain: any;
6321   readonly forcePreflight: boolean;
6322   readonly isPreflight: boolean;
6323   readonly tainting: u32;
6324   maybeIncreaseTainting(aTainting: u32): void;
6325   readonly isTopLevelLoad: boolean;
6326   resultPrincipalURI: nsIURI;
6327   channelCreationOriginalURI: nsIURI;
6328   documentHasUserInteracted: boolean;
6329   allowListFutureDocumentsCreatedFromThisRedirectChain: boolean;
6330   needForCheckingAntiTrackingHeuristic: boolean;
6331   cspNonce: string;
6332   integrityMetadata: string;
6333   requestBlockingReason: u32;
6334   cspEventListener: nsICSPEventListener;
6335   readonly isFromProcessingFrameAttributes: boolean;
6336   loadingEmbedderPolicy: nsILoadInfo.CrossOriginEmbedderPolicy;
6337   isOriginTrialCoepCredentiallessEnabledForTopLevel: boolean;
6338   isMediaRequest: boolean;
6339   isMediaInitialRequest: boolean;
6340   isFromObjectOrEmbed: boolean;
6341   readonly shouldSkipCheckForBrokenURLOrZeroSized: boolean;
6342   unstrippedURI: nsIURI;
6343   hasInjectedCookieForCookieBannerHandling: boolean;
6344   wasSchemelessInput: boolean;
6347 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIMIMEInputStream.idl
6349 interface nsIMIMEInputStream extends nsIInputStream {
6350   addHeader(name: string, value: string): void;
6351   visitHeaders(visitor: nsIHttpHeaderVisitor): void;
6352   setData(stream: nsIInputStream): void;
6353   readonly data: nsIInputStream;
6356 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIMultiPartChannel.idl
6358 interface nsIMultiPartChannel extends nsISupports {
6359   readonly baseChannel: nsIChannel;
6360   readonly partID: u32;
6361   readonly isLastPart: boolean;
6364 interface nsIMultiPartChannelListener extends nsISupports {
6365   onAfterLastPart(status: nsresult): void;
6368 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINestedURI.idl
6370 interface nsINestedURI extends nsISupports {
6371   readonly innerURI: nsIURI;
6372   readonly innermostURI: nsIURI;
6375 interface nsINestedURIMutator extends nsISupports {
6378 interface nsINestedAboutURIMutator extends nsISupports {
6381 interface nsIJSURIMutator extends nsISupports {
6384 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetAddr.idl
6386 interface nsINetAddr extends nsISupports {
6387   readonly FAMILY_INET: 1;
6388   readonly FAMILY_INET6: 2;
6389   readonly FAMILY_LOCAL: 3;
6391   readonly family: u16;
6392   readonly address: string;
6393   readonly port: u16;
6394   readonly flow: u32;
6395   readonly scope: u32;
6396   readonly isV4Mapped: boolean;
6399 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetUtil.idl
6401 interface nsINetUtil extends nsISupports {
6402   readonly ESCAPE_ALL: 0;
6403   readonly ESCAPE_XALPHAS: 1;
6404   readonly ESCAPE_XPALPHAS: 2;
6405   readonly ESCAPE_URL_PATH: 4;
6406   readonly ESCAPE_URL_APPLE_EXTRA: 8;
6407   readonly ESCAPE_URL_SCHEME: 1;
6408   readonly ESCAPE_URL_USERNAME: 2;
6409   readonly ESCAPE_URL_PASSWORD: 4;
6410   readonly ESCAPE_URL_HOST: 8;
6411   readonly ESCAPE_URL_DIRECTORY: 16;
6412   readonly ESCAPE_URL_FILE_BASENAME: 32;
6413   readonly ESCAPE_URL_FILE_EXTENSION: 64;
6414   readonly ESCAPE_URL_PARAM: 128;
6415   readonly ESCAPE_URL_QUERY: 256;
6416   readonly ESCAPE_URL_REF: 512;
6417   readonly ESCAPE_URL_FILEPATH: 112;
6418   readonly ESCAPE_URL_MINIMAL: 1023;
6419   readonly ESCAPE_URL_FORCED: 1024;
6420   readonly ESCAPE_URL_ONLY_ASCII: 2048;
6421   readonly ESCAPE_URL_ONLY_NONASCII: 4096;
6422   readonly ESCAPE_URL_COLON: 16384;
6423   readonly ESCAPE_URL_SKIP_CONTROL: 32768;
6424   readonly ESCAPE_URL_EXT_HANDLER: 131072;
6426   parseRequestContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;
6427   parseResponseContentType(aTypeHeader: string, aCharset: OutParam<string>, aHadCharset: OutParam<boolean>): string;
6428   protocolHasFlags(aURI: nsIURI, aFlag: u32): boolean;
6429   URIChainHasFlags(aURI: nsIURI, aFlags: u32): boolean;
6430   escapeString(aString: string, aEscapeType: u32): string;
6431   escapeURL(aStr: string, aFlags: u32): string;
6432   unescapeString(aStr: string, aFlags: u32): string;
6433   extractCharsetFromContentType(aTypeHeader: string, aCharset: OutParam<string>, aCharsetStart: OutParam<i32>, aCharsetEnd: OutParam<i32>): boolean;
6434   socketProcessTelemetryPing(): void;
6435   notImplemented(): void;
6438 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkConnectivityService.idl
6440 }  // global
6442 declare namespace nsINetworkConnectivityService {
6444 enum ConnectivityState {
6445   UNKNOWN = 0,
6446   OK = 1,
6447   NOT_AVAILABLE = 2,
6452 declare global {
6454 interface nsINetworkConnectivityService extends nsISupports, Enums<typeof nsINetworkConnectivityService.ConnectivityState> {
6455   readonly DNSv4: nsINetworkConnectivityService.ConnectivityState;
6456   readonly DNSv6: nsINetworkConnectivityService.ConnectivityState;
6457   readonly IPv4: nsINetworkConnectivityService.ConnectivityState;
6458   readonly IPv6: nsINetworkConnectivityService.ConnectivityState;
6459   readonly NAT64: nsINetworkConnectivityService.ConnectivityState;
6460   recheckDNS(): void;
6461   recheckIPConnectivity(): void;
6464 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInfoService.idl
6466 interface nsIListNetworkAddressesListener extends nsISupports {
6467   onListedNetworkAddresses(aAddressArray: string[]): void;
6468   onListNetworkAddressesFailed(): void;
6471 interface nsIGetHostnameListener extends nsISupports {
6472   onGotHostname(aHostname: string): void;
6473   onGetHostnameFailed(): void;
6476 interface nsINetworkInfoService extends nsISupports {
6477   listNetworkAddresses(aListener: nsIListNetworkAddressesListener): void;
6478   getHostname(aListener: nsIGetHostnameListener): void;
6481 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkInterceptController.idl
6483 interface nsIInterceptedBodyCallback extends nsISupports {
6484   bodyComplete(aRv: nsresult): void;
6487 interface nsIInterceptedChannel extends nsISupports {
6488   resetInterception(bypass: boolean): void;
6489   synthesizeStatus(status: u16, reason: string): void;
6490   synthesizeHeader(name: string, value: string): void;
6491   startSynthesizedResponse(body: nsIInputStream, callback: nsIInterceptedBodyCallback, channel: nsICacheInfoChannel, finalURLSpec: string, responseRedirected: boolean): void;
6492   finishSynthesizedResponse(): void;
6493   cancelInterception(status: nsresult): void;
6494   readonly channel: nsIChannel;
6495   readonly secureUpgradedChannelURI: nsIURI;
6498 interface nsINetworkInterceptController extends nsISupports {
6499   shouldPrepareForIntercept(aURI: nsIURI, aChannel: nsIChannel): boolean;
6500   channelIntercepted(aChannel: nsIInterceptedChannel): void;
6503 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkLinkService.idl
6505 interface nsINetworkLinkService extends nsISupports {
6506   readonly LINK_TYPE_UNKNOWN: 0;
6507   readonly LINK_TYPE_ETHERNET: 1;
6508   readonly LINK_TYPE_USB: 2;
6509   readonly LINK_TYPE_WIFI: 3;
6510   readonly LINK_TYPE_WIMAX: 4;
6511   readonly LINK_TYPE_MOBILE: 9;
6512   readonly NONE_DETECTED: 0;
6513   readonly VPN_DETECTED: 1;
6514   readonly PROXY_DETECTED: 2;
6515   readonly NRPT_DETECTED: 4;
6517   readonly isLinkUp: boolean;
6518   readonly linkStatusKnown: boolean;
6519   readonly linkType: u32;
6520   readonly networkID: string;
6521   readonly dnsSuffixList: string[];
6522   readonly resolvers: nsINetAddr[];
6523   readonly platformDNSIndications: u32;
6526 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictor.idl
6528 interface nsINetworkPredictor extends nsISupports {
6529   readonly PREDICT_LINK: 0;
6530   readonly PREDICT_LOAD: 1;
6531   readonly PREDICT_STARTUP: 2;
6532   readonly LEARN_LOAD_TOPLEVEL: 0;
6533   readonly LEARN_LOAD_SUBRESOURCE: 1;
6534   readonly LEARN_LOAD_REDIRECT: 2;
6535   readonly LEARN_STARTUP: 3;
6537   predict(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorPredictReason, originAttributes: any, verifier: nsINetworkPredictorVerifier): void;
6538   learn(targetURI: nsIURI, sourceURI: nsIURI, reason: PredictorLearnReason, originAttributes: any): void;
6539   reset(): void;
6542 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINetworkPredictorVerifier.idl
6544 interface nsINetworkPredictorVerifier extends nsISupports {
6545   onPredictPrefetch(uri: nsIURI, status: u32): void;
6546   onPredictPreconnect(uri: nsIURI): void;
6547   onPredictDNS(uri: nsIURI): void;
6550 // https://searchfox.org/mozilla-central/source/netwerk/base/nsINullChannel.idl
6552 interface nsINullChannel extends nsISupports {
6555 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentChannel.idl
6557 interface nsIParentChannel extends nsIStreamListener {
6558   delete(): void;
6559   readonly remoteType: string;
6562 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIParentRedirectingChannel.idl
6564 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermission.idl
6566 interface nsIPermission extends nsISupports {
6567   readonly principal: nsIPrincipal;
6568   readonly type: string;
6569   readonly capability: u32;
6570   readonly expireType: u32;
6571   readonly expireTime: i64;
6572   readonly modificationTime: i64;
6573   matches(principal: nsIPrincipal, exactHost: boolean): boolean;
6574   matchesURI(uri: nsIURI, exactHost: boolean): boolean;
6577 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermissionManager.idl
6579 interface nsIPermissionManager extends nsISupports {
6580   readonly UNKNOWN_ACTION: 0;
6581   readonly ALLOW_ACTION: 1;
6582   readonly DENY_ACTION: 2;
6583   readonly PROMPT_ACTION: 3;
6584   readonly EXPIRE_NEVER: 0;
6585   readonly EXPIRE_SESSION: 1;
6586   readonly EXPIRE_TIME: 2;
6587   readonly EXPIRE_POLICY: 3;
6589   getAllForPrincipal(principal: nsIPrincipal): nsIPermission[];
6590   getAllWithTypePrefix(prefix: string): nsIPermission[];
6591   getAllByTypes(types: string[]): nsIPermission[];
6592   getAllByTypeSince(type: string, since: i64): nsIPermission[];
6593   addFromPrincipal(principal: nsIPrincipal, type: string, permission: u32, expireType?: u32, expireTime?: i64): void;
6594   testAddFromPrincipalByTime(principal: nsIPrincipal, type: string, permission: u32, modificationTime: i64): void;
6595   addFromPrincipalAndPersistInPrivateBrowsing(principal: nsIPrincipal, type: string, permission: u32): void;
6596   removeFromPrincipal(principal: nsIPrincipal, type: string): void;
6597   removePermission(perm: nsIPermission): void;
6598   removeAll(): void;
6599   removeAllSince(since: i64): void;
6600   removeByType(type: string): void;
6601   removeByTypeSince(type: string, since: i64): void;
6602   testPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;
6603   testExactPermissionFromPrincipal(principal: nsIPrincipal, type: string): u32;
6604   testExactPermanentPermission(principal: nsIPrincipal, type: string): u32;
6605   getPermissionObject(principal: nsIPrincipal, type: string, exactHost: boolean): nsIPermission;
6606   readonly all: nsIPermission[];
6607   removePermissionsWithAttributes(patternAsJSON: string): void;
6610 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrivateBrowsingChannel.idl
6612 interface nsIPrivateBrowsingChannel extends nsISupports {
6613   setPrivate(aPrivate: boolean): void;
6614   readonly isChannelPrivate: boolean;
6617 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProgressEventSink.idl
6619 interface nsIProgressEventSink extends nsISupports {
6620   onProgress(aRequest: nsIRequest, aProgress: i64, aProgressMax: i64): void;
6621   onStatus(aRequest: nsIRequest, aStatus: nsresult, aStatusArg: string): void;
6624 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIPrompt.idl
6626 interface nsIPrompt extends nsISupports {
6627   readonly BUTTON_POS_0: 1;
6628   readonly BUTTON_POS_1: 256;
6629   readonly BUTTON_POS_2: 65536;
6630   readonly BUTTON_TITLE_OK: 1;
6631   readonly BUTTON_TITLE_CANCEL: 2;
6632   readonly BUTTON_TITLE_YES: 3;
6633   readonly BUTTON_TITLE_NO: 4;
6634   readonly BUTTON_TITLE_SAVE: 5;
6635   readonly BUTTON_TITLE_DONT_SAVE: 6;
6636   readonly BUTTON_TITLE_REVERT: 7;
6637   readonly BUTTON_TITLE_IS_STRING: 127;
6638   readonly BUTTON_POS_0_DEFAULT: 0;
6639   readonly BUTTON_POS_1_DEFAULT: 16777216;
6640   readonly BUTTON_POS_2_DEFAULT: 33554432;
6641   readonly BUTTON_DELAY_ENABLE: 67108864;
6642   readonly SHOW_SPINNER: 134217728;
6643   readonly STD_OK_CANCEL_BUTTONS: 513;
6644   readonly STD_YES_NO_BUTTONS: 1027;
6645   readonly MODAL_TYPE_CONTENT: 1;
6646   readonly MODAL_TYPE_TAB: 2;
6647   readonly MODAL_TYPE_WINDOW: 3;
6648   readonly MODAL_TYPE_INTERNAL_WINDOW: 4;
6650   alert(dialogTitle: string, text: string): void;
6651   alertCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): void;
6652   confirm(dialogTitle: string, text: string): boolean;
6653   confirmCheck(dialogTitle: string, text: string, checkMsg: string, checkValue: InOutParam<boolean>): boolean;
6654   confirmEx(dialogTitle: string, text: string, buttonFlags: u32, button0Title: string, button1Title: string, button2Title: string, checkMsg: string, checkValue: InOutParam<boolean>): i32;
6655   prompt(dialogTitle: string, text: string, value: InOutParam<string>, checkMsg: string, checkValue: InOutParam<boolean>): boolean;
6656   promptPassword(dialogTitle: string, text: string, password: InOutParam<string>): boolean;
6657   promptUsernameAndPassword(dialogTitle: string, text: string, username: InOutParam<string>, password: InOutParam<string>): boolean;
6658   select(dialogTitle: string, text: string, selectList: string[], outSelection: OutParam<i32>): boolean;
6661 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolHandler.idl
6663 interface nsIProtocolHandlerWithDynamicFlags extends nsISupports {
6664   getFlagsForURI(aURI: nsIURI): u32;
6667 interface nsIProtocolHandler extends nsISupports {
6668   readonly URI_STD: 0;
6669   readonly URI_NORELATIVE: 1;
6670   readonly URI_NOAUTH: 2;
6671   readonly ALLOWS_PROXY: 4;
6672   readonly ALLOWS_PROXY_HTTP: 8;
6673   readonly URI_INHERITS_SECURITY_CONTEXT: 16;
6674   readonly URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT: 32;
6675   readonly URI_LOADABLE_BY_ANYONE: 64;
6676   readonly URI_DANGEROUS_TO_LOAD: 128;
6677   readonly URI_IS_UI_RESOURCE: 256;
6678   readonly URI_IS_LOCAL_FILE: 512;
6679   readonly URI_LOADABLE_BY_SUBSUMERS: 1024;
6680   readonly URI_DOES_NOT_RETURN_DATA: 2048;
6681   readonly URI_IS_LOCAL_RESOURCE: 4096;
6682   readonly URI_OPENING_EXECUTES_SCRIPT: 8192;
6683   readonly URI_NON_PERSISTABLE: 16384;
6684   readonly URI_CROSS_ORIGIN_NEEDS_WEBAPPS_PERM: 32768;
6685   readonly URI_SYNC_LOAD_IS_OK: 65536;
6686   readonly URI_IS_POTENTIALLY_TRUSTWORTHY: 131072;
6687   readonly URI_FETCHABLE_BY_ANYONE: 262144;
6688   readonly ORIGIN_IS_FULL_SPEC: 524288;
6689   readonly URI_SCHEME_NOT_SELF_LINKABLE: 1048576;
6690   readonly URI_LOADABLE_BY_EXTENSIONS: 2097152;
6691   readonly URI_DISALLOW_IN_PRIVATE_CONTEXT: 4194304;
6692   readonly URI_FORBIDS_COOKIE_ACCESS: 8388608;
6693   readonly WEBEXT_URI_WEB_ACCESSIBLE: 16777216;
6694   readonly URI_HAS_WEB_EXPOSED_ORIGIN: 33554432;
6695   readonly DYNAMIC_URI_FLAGS: 57016512;
6697   readonly scheme: string;
6698   newChannel(aURI: nsIURI, aLoadinfo: nsILoadInfo): nsIChannel;
6699   allowPort(port: i32, scheme: string): boolean;
6702 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyCallback.idl
6704 interface nsIProtocolProxyCallback extends nsISupports {
6705   onProxyAvailable(aRequest: nsICancelable, aChannel: nsIChannel, aProxyInfo: nsIProxyInfo, aStatus: nsresult): void;
6708 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyFilter.idl
6710 interface nsIProxyProtocolFilterResult extends nsISupports {
6711   onProxyFilterResult(aProxy: nsIProxyInfo): void;
6714 interface nsIProtocolProxyFilter extends nsISupports {
6715   applyFilter(aURI: nsIURI, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;
6718 interface nsIProtocolProxyChannelFilter extends nsISupports {
6719   applyFilter(aChannel: nsIChannel, aProxy: nsIProxyInfo, aCallback: nsIProxyProtocolFilterResult): void;
6722 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService.idl
6724 interface nsIProxyConfigChangedCallback extends nsISupports {
6725   onProxyConfigChanged(): void;
6728 interface nsIProtocolProxyService extends nsISupports {
6729   readonly RESOLVE_PREFER_SOCKS_PROXY: 2;
6730   readonly RESOLVE_IGNORE_URI_SCHEME: 4;
6731   readonly RESOLVE_PREFER_HTTPS_PROXY: 12;
6732   readonly RESOLVE_ALWAYS_TUNNEL: 16;
6733   readonly PROXYCONFIG_DIRECT: 0;
6734   readonly PROXYCONFIG_MANUAL: 1;
6735   readonly PROXYCONFIG_PAC: 2;
6736   readonly PROXYCONFIG_WPAD: 4;
6737   readonly PROXYCONFIG_SYSTEM: 5;
6739   asyncResolve(aChannelOrURI: nsISupports, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;
6740   newProxyInfo(aType: string, aHost: string, aPort: i32, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;
6741   newProxyInfoWithAuth(aType: string, aHost: string, aPort: i32, aUsername: string, aPassword: string, aProxyAuthorizationHeader: string, aConnectionIsolationKey: string, aFlags: u32, aFailoverTimeout: u32, aFailoverProxy: nsIProxyInfo): nsIProxyInfo;
6742   getFailoverForProxy(aProxyInfo: nsIProxyInfo, aURI: nsIURI, aReason: nsresult): nsIProxyInfo;
6743   registerFilter(aFilter: nsIProtocolProxyFilter, aPosition: u32): void;
6744   registerChannelFilter(aFilter: nsIProtocolProxyChannelFilter, aPosition: u32): void;
6745   unregisterFilter(aFilter: nsIProtocolProxyFilter): void;
6746   unregisterChannelFilter(aFilter: nsIProtocolProxyChannelFilter): void;
6747   addProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;
6748   removeProxyConfigCallback(aCallback: nsIProxyConfigChangedCallback): void;
6749   notifyProxyConfigChangedInternal(): void;
6750   readonly proxyConfigType: u32;
6753 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProtocolProxyService2.idl
6755 interface nsIProtocolProxyService2 extends nsIProtocolProxyService {
6756   reloadPAC(): void;
6757   asyncResolve2(aChannel: nsIChannel, aFlags: u32, aCallback: nsIProtocolProxyCallback, aMainThreadTarget?: nsISerialEventTarget): nsICancelable;
6760 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedChannel.idl
6762 interface nsIProxiedChannel extends nsISupports {
6763   readonly proxyInfo: nsIProxyInfo;
6764   readonly httpProxyConnectResponseCode: i32;
6767 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxiedProtocolHandler.idl
6769 interface nsIProxiedProtocolHandler extends nsIProtocolHandler {
6770   newProxiedChannel(uri: nsIURI, proxyInfo: nsIProxyInfo, proxyResolveFlags: u32, proxyURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
6773 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIProxyInfo.idl
6775 interface nsIProxyInfo extends nsISupports {
6776   readonly TRANSPARENT_PROXY_RESOLVES_HOST: 1;
6778   readonly host: string;
6779   readonly port: i32;
6780   readonly type: string;
6781   readonly flags: u32;
6782   readonly resolveFlags: u32;
6783   readonly username: string;
6784   readonly password: string;
6785   readonly failoverTimeout: u32;
6786   failoverProxy: nsIProxyInfo;
6787   sourceId: string;
6788   readonly proxyAuthorizationHeader: string;
6789   readonly connectionIsolationKey: string;
6792 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRandomGenerator.idl
6794 interface nsIRandomGenerator extends nsISupports {
6795   generateRandomBytes(aLength: u32): OutParam<u8[]>;
6796   generateRandomBytesInto(aBuffer: u8[], aLength: u32): void;
6799 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectChannelRegistrar.idl
6801 interface nsIRedirectChannelRegistrar extends nsISupports {
6802   registerChannel(channel: nsIChannel, id: u64): void;
6803   linkChannels(id: u64, channel: nsIParentChannel): nsIChannel;
6804   getRegisteredChannel(id: u64): nsIChannel;
6805   getParentChannel(id: u64): nsIParentChannel;
6806   deregisterChannels(id: u64): void;
6809 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectHistoryEntry.idl
6811 interface nsIRedirectHistoryEntry extends nsISupports {
6812   readonly principal: nsIPrincipal;
6813   readonly referrerURI: nsIURI;
6814   readonly remoteAddress: string;
6817 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRedirectResultListener.idl
6819 interface nsIRedirectResultListener extends nsISupports {
6820   onRedirectResult(status: nsresult): void;
6823 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequest.idl
6825 }  // global
6827 declare namespace nsIRequest {
6829 enum TRRMode {
6830   TRR_DEFAULT_MODE = 0,
6831   TRR_DISABLED_MODE = 1,
6832   TRR_FIRST_MODE = 2,
6833   TRR_ONLY_MODE = 3,
6838 declare global {
6840 interface nsIRequest extends nsISupports, Enums<typeof nsIRequest.TRRMode> {
6841   readonly LOAD_REQUESTMASK: 65535;
6842   readonly LOAD_NORMAL: 0;
6843   readonly LOAD_BACKGROUND: 1;
6844   readonly LOAD_HTML_OBJECT_DATA: 2;
6845   readonly LOAD_DOCUMENT_NEEDS_COOKIE: 4;
6846   readonly LOAD_TRR_MASK: 24;
6847   readonly LOAD_TRR_DISABLED_MODE: 8;
6848   readonly LOAD_TRR_FIRST_MODE: 16;
6849   readonly LOAD_TRR_ONLY_MODE: 24;
6850   readonly LOAD_ANONYMOUS_ALLOW_CLIENT_CERT: 32;
6851   readonly INHIBIT_CACHING: 128;
6852   readonly INHIBIT_PERSISTENT_CACHING: 256;
6853   readonly LOAD_BYPASS_CACHE: 512;
6854   readonly LOAD_FROM_CACHE: 1024;
6855   readonly VALIDATE_ALWAYS: 2048;
6856   readonly VALIDATE_NEVER: 4096;
6857   readonly VALIDATE_ONCE_PER_SESSION: 8192;
6858   readonly LOAD_ANONYMOUS: 16384;
6859   readonly LOAD_FRESH_CONNECTION: 32768;
6861   readonly name: string;
6862   isPending(): boolean;
6863   readonly status: nsresult;
6864   cancel(aStatus: nsresult): void;
6865   suspend(): void;
6866   resume(): void;
6867   loadGroup: nsILoadGroup;
6868   loadFlags: nsLoadFlags;
6869   getTRRMode(): nsIRequest.TRRMode;
6870   setTRRMode(mode: nsIRequest.TRRMode): void;
6871   cancelWithReason(aStatus: nsresult, aReason: string): void;
6872   canceledReason: string;
6875 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestContext.idl
6877 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserver.idl
6879 interface nsIRequestObserver extends nsISupports {
6880   onStartRequest(aRequest: nsIRequest): void;
6881   onStopRequest(aRequest: nsIRequest, aStatusCode: nsresult): void;
6884 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIRequestObserverProxy.idl
6886 interface nsIRequestObserverProxy extends nsIRequestObserver {
6887   init(observer: nsIRequestObserver, context: nsISupports): void;
6890 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIResumableChannel.idl
6892 interface nsIResumableChannel extends nsISupports {
6893   resumeAt(startPos: u64, entityID: string): void;
6894   readonly entityID: string;
6897 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISecCheckWrapChannel.idl
6899 interface nsISecCheckWrapChannel extends nsISupports {
6900   readonly innerChannel: nsIChannel;
6903 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISecureBrowserUI.idl
6905 interface nsISecureBrowserUI extends nsISupports {
6906   readonly state: u32;
6907   readonly isSecureContext: boolean;
6908   readonly secInfo: nsITransportSecurityInfo;
6911 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISensitiveInfoHiddenURI.idl
6913 interface nsISensitiveInfoHiddenURI extends nsISupports {
6914   getSensitiveInfoHiddenSpec(): string;
6917 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISerializationHelper.idl
6919 interface nsISerializationHelper extends nsISupports {
6920   serializeToString(serializable: nsISerializable): string;
6921   deserializeObject(input: string): nsISupports;
6924 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIServerSocket.idl
6926 interface nsIServerSocket extends nsISupports {
6927   readonly LoopbackOnly: 1;
6928   readonly KeepWhenOffline: 2;
6930   init(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;
6931   initIPv6(aPort: i32, aLoopbackOnly: boolean, aBackLog: i32): void;
6932   initDualStack(aPort: i32, aBackLog: i32): void;
6933   initSpecialConnection(aPort: i32, aFlags: nsServerSocketFlag, aBackLog: i32): void;
6934   initWithFilename(aPath: nsIFile, aPermissions: u32, aBacklog: i32): void;
6935   initWithAbstractAddress(aName: string, aBacklog: i32): void;
6936   close(): void;
6937   asyncListen(aListener: nsIServerSocketListener): void;
6938   readonly port: i32;
6941 interface nsIServerSocketListener extends nsISupports {
6942   onSocketAccepted(aServ: nsIServerSocket, aTransport: nsISocketTransport): void;
6943   onStopListening(aServ: nsIServerSocket, aStatus: nsresult): void;
6946 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleStreamListener.idl
6948 interface nsISimpleStreamListener extends nsIStreamListener {
6949   init(aSink: nsIOutputStream, aObserver: nsIRequestObserver): void;
6952 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISimpleURIMutator.idl
6954 interface nsISimpleURIMutator extends nsISupports {
6955   setSpecAndFilterWhitespace(aSpec: string): nsIURIMutator;
6958 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketFilter.idl
6960 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransport.idl
6962 interface nsISocketTransport extends nsITransport {
6963   readonly TIMEOUT_CONNECT: 0;
6964   readonly TIMEOUT_READ_WRITE: 1;
6965   readonly STATUS_RESOLVING: 4915203;
6966   readonly STATUS_RESOLVED: 4915211;
6967   readonly STATUS_CONNECTING_TO: 4915207;
6968   readonly STATUS_CONNECTED_TO: 4915204;
6969   readonly STATUS_SENDING_TO: 4915205;
6970   readonly STATUS_WAITING_FOR: 4915210;
6971   readonly STATUS_RECEIVING_FROM: 4915206;
6972   readonly STATUS_TLS_HANDSHAKE_STARTING: 4915212;
6973   readonly STATUS_TLS_HANDSHAKE_ENDED: 4915213;
6974   readonly BYPASS_CACHE: 1;
6975   readonly ANONYMOUS_CONNECT: 2;
6976   readonly DISABLE_IPV6: 4;
6977   readonly NO_PERMANENT_STORAGE: 8;
6978   readonly DISABLE_IPV4: 16;
6979   readonly DISABLE_RFC1918: 32;
6980   readonly BE_CONSERVATIVE: 64;
6981   readonly DISABLE_TRR: 128;
6982   readonly REFRESH_CACHE: 256;
6983   readonly RETRY_WITH_DIFFERENT_IP_FAMILY: 512;
6984   readonly DONT_TRY_ECH: 1024;
6985   readonly TRR_MODE_FLAGS: 6144;
6986   readonly USE_IP_HINT_ADDRESS: 8192;
6987   readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT: 16384;
6988   readonly IS_RETRY: 32768;
6989   readonly IS_SPECULATIVE_CONNECTION: 65536;
6991   readonly host: string;
6992   readonly port: i32;
6993   originAttributes: any;
6994   getScriptablePeerAddr(): nsINetAddr;
6995   getScriptableSelfAddr(): nsINetAddr;
6996   readonly tlsSocketControl: nsITLSSocketControl;
6997   securityCallbacks: nsIInterfaceRequestor;
6998   isAlive(): boolean;
6999   getTimeout(aType: u32): u32;
7000   setTimeout(aType: u32, aValue: u32): void;
7001   setLinger(aPolarity: boolean, aTimeout: i16): void;
7002   setReuseAddrPort(reuseAddrPort: boolean): void;
7003   connectionFlags: u32;
7004   tlsFlags: u32;
7005   QoSBits: u8;
7006   recvBufferSize: u32;
7007   sendBufferSize: u32;
7008   keepaliveEnabled: boolean;
7009   setKeepaliveVals(keepaliveIdleTime: i32, keepaliveRetryInterval: i32): void;
7010   readonly resetIPFamilyPreference: boolean;
7011   readonly echConfigUsed: boolean;
7012   setEchConfig(echConfig: string): void;
7013   resolvedByTRR(): boolean;
7014   readonly effectiveTRRMode: nsIRequest.TRRMode;
7015   readonly trrSkipReason: nsITRRSkipReason.value;
7016   readonly retryDnsIfPossible: boolean;
7019 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISocketTransportService.idl
7021 type nsISTSShutdownObserver = Callable<{
7022   observe(): void;
7025 interface nsISocketTransportService extends nsISupports {
7026   createTransport(aSocketTypes: string[], aHost: string, aPort: i32, aProxyInfo: nsIProxyInfo, dnsRecord: nsIDNSRecord): nsISocketTransport;
7027   createUnixDomainTransport(aPath: nsIFile): nsISocketTransport;
7028   createUnixDomainAbstractAddressTransport(aName: string): nsISocketTransport;
7031 interface nsIRoutedSocketTransportService extends nsISocketTransportService {
7032   createRoutedTransport(aSocketTypes: string[], aHost: string, aPort: i32, aHostRoute: string, aPortRoute: i32, aProxyInfo: nsIProxyInfo, aDnsRecord: nsIDNSRecord): nsISocketTransport;
7035 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISpeculativeConnect.idl
7037 interface nsISpeculativeConnect extends nsISupports {
7038   speculativeConnect(aURI: nsIURI, aPrincipal: nsIPrincipal, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;
7039   speculativeConnectWithOriginAttributes(aURI: nsIURI, originAttributes: any, aCallbacks: nsIInterfaceRequestor, aAnonymous: boolean): void;
7042 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStandardURL.idl
7044 interface nsIStandardURL extends nsISupports {
7045   readonly URLTYPE_STANDARD: 1;
7046   readonly URLTYPE_AUTHORITY: 2;
7047   readonly URLTYPE_NO_AUTHORITY: 3;
7050 interface nsIStandardURLMutator extends nsISupports {
7051   init(aUrlType: u32, aDefaultPort: i32, aSpec: string, aOriginCharset: string, aBaseURI: nsIURI): nsIURIMutator;
7052   setDefaultPort(aNewDefaultPort: i32): nsIURIMutator;
7055 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListener.idl
7057 interface nsIStreamListener extends nsIRequestObserver {
7058   onDataAvailable(aRequest: nsIRequest, aInputStream: nsIInputStream, aOffset: u64, aCount: u32): void;
7061 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamListenerTee.idl
7063 interface nsIStreamListenerTee extends nsIThreadRetargetableStreamListener {
7064   init(listener: nsIStreamListener, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;
7065   initAsync(listener: nsIStreamListener, eventTarget: nsIEventTarget, sink: nsIOutputStream, requestObserver?: nsIRequestObserver): void;
7068 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamLoader.idl
7070 interface nsIStreamLoaderObserver extends nsISupports {
7071   onStreamComplete(loader: nsIStreamLoader, ctxt: nsISupports, status: nsresult, resultLength: u32, result: u8[]): void;
7074 interface nsIStreamLoader extends nsIThreadRetargetableStreamListener {
7075   init(aStreamObserver: nsIStreamLoaderObserver, aRequestObserver?: nsIRequestObserver): void;
7076   readonly numBytesRead: u32;
7077   readonly request: nsIRequest;
7080 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIStreamTransportService.idl
7082 interface nsIStreamTransportService extends nsISupports {
7083   createInputTransport(aStream: nsIInputStream, aCloseWhenDone: boolean): nsITransport;
7086 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISyncStreamListener.idl
7088 interface nsISyncStreamListener extends nsIStreamListener {
7089   readonly inputStream: nsIInputStream;
7092 // https://searchfox.org/mozilla-central/source/netwerk/base/nsISystemProxySettings.idl
7094 interface nsISystemProxySettings extends nsISupports {
7095   readonly mainThreadOnly: boolean;
7096   readonly PACURI: string;
7097   getProxyForURI(testSpec: string, testScheme: string, testHost: string, testPort: i32): string;
7098   readonly systemWPADSetting: boolean;
7101 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITLSServerSocket.idl
7103 interface nsITLSServerSocket extends nsIServerSocket {
7104   readonly REQUEST_NEVER: 0;
7105   readonly REQUEST_FIRST_HANDSHAKE: 1;
7106   readonly REQUEST_ALWAYS: 2;
7107   readonly REQUIRE_FIRST_HANDSHAKE: 3;
7108   readonly REQUIRE_ALWAYS: 4;
7110   serverCert: nsIX509Cert;
7111   setSessionTickets(aSessionTickets: boolean): void;
7112   setRequestClientCertificate(aRequestClientCert: u32): void;
7113   setVersionRange(aMinVersion: u16, aMaxVersion: u16): void;
7116 interface nsITLSClientStatus extends nsISupports {
7117   readonly SSL_VERSION_3: 768;
7118   readonly TLS_VERSION_1: 769;
7119   readonly TLS_VERSION_1_1: 770;
7120   readonly TLS_VERSION_1_2: 771;
7121   readonly TLS_VERSION_1_3: 772;
7122   readonly TLS_VERSION_UNKNOWN: -1;
7124   readonly peerCert: nsIX509Cert;
7125   readonly tlsVersionUsed: i16;
7126   readonly cipherName: string;
7127   readonly keyLength: u32;
7128   readonly macLength: u32;
7131 interface nsITLSServerConnectionInfo extends nsISupports {
7132   setSecurityObserver(observer: nsITLSServerSecurityObserver): void;
7133   readonly serverSocket: nsITLSServerSocket;
7134   readonly status: nsITLSClientStatus;
7137 interface nsITLSServerSecurityObserver extends nsISupports {
7138   onHandshakeDone(aServer: nsITLSServerSocket, aStatus: nsITLSClientStatus): void;
7141 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableRequest.idl
7143 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThreadRetargetableStreamListener.idl
7145 interface nsIThreadRetargetableStreamListener extends nsIStreamListener {
7146   checkListenerChain(): void;
7147   onDataFinished(aStatusCode: nsresult): void;
7150 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIThrottledInputChannel.idl
7152 interface nsIInputChannelThrottleQueue extends nsISupports {
7153   init(aMeanBytesPerSecond: u32, aMaxBytesPerSecond: u32): void;
7154   available(aRemaining: u32): u32;
7155   recordRead(aBytesRead: u32): void;
7156   bytesProcessed(): u64;
7157   wrapStream(aInputStream: nsIInputStream): nsIAsyncInputStream;
7160 interface nsIThrottledInputChannel extends nsISupports {
7161   throttleQueue: nsIInputChannelThrottleQueue;
7164 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITimedChannel.idl
7166 interface nsIServerTiming extends nsISupports {
7167   readonly name: string;
7168   readonly duration: double;
7169   readonly description: string;
7172 interface nsITimedChannel extends nsISupports {
7173   timingEnabled: boolean;
7174   redirectCount: u8;
7175   internalRedirectCount: u8;
7176   readonly channelCreationTime: PRTime;
7177   readonly asyncOpenTime: PRTime;
7178   readonly launchServiceWorkerStartTime: PRTime;
7179   readonly launchServiceWorkerEndTime: PRTime;
7180   readonly dispatchFetchEventStartTime: PRTime;
7181   readonly dispatchFetchEventEndTime: PRTime;
7182   readonly handleFetchEventStartTime: PRTime;
7183   readonly handleFetchEventEndTime: PRTime;
7184   readonly domainLookupStartTime: PRTime;
7185   readonly domainLookupEndTime: PRTime;
7186   readonly connectStartTime: PRTime;
7187   readonly tcpConnectEndTime: PRTime;
7188   readonly secureConnectionStartTime: PRTime;
7189   readonly connectEndTime: PRTime;
7190   readonly requestStartTime: PRTime;
7191   readonly responseStartTime: PRTime;
7192   readonly responseEndTime: PRTime;
7193   readonly cacheReadStartTime: PRTime;
7194   readonly cacheReadEndTime: PRTime;
7195   readonly redirectStartTime: PRTime;
7196   readonly redirectEndTime: PRTime;
7197   readonly transactionPendingTime: PRTime;
7198   readonly serverTiming: nsIArray;
7201 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITraceableChannel.idl
7203 interface nsITraceableChannel extends nsISupports {
7204   setNewListener(aListener: nsIStreamListener, aMustApplyContentConversion?: boolean): nsIStreamListener;
7207 // https://searchfox.org/mozilla-central/source/netwerk/base/nsITransport.idl
7209 interface nsITransport extends nsISupports {
7210   readonly OPEN_BLOCKING: 1;
7211   readonly OPEN_UNBUFFERED: 2;
7212   readonly STATUS_READING: 4915208;
7213   readonly STATUS_WRITING: 4915209;
7215   openInputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIInputStream;
7216   openOutputStream(aFlags: u32, aSegmentSize: u32, aSegmentCount: u32): nsIOutputStream;
7217   close(aReason: nsresult): void;
7218   setEventSink(aSink: nsITransportEventSink, aEventTarget: nsIEventTarget): void;
7221 interface nsITransportEventSink extends nsISupports {
7222   onTransportStatus(aTransport: nsITransport, aStatus: nsresult, aProgress: i64, aProgressMax: i64): void;
7225 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUDPSocket.idl
7227 interface nsIUDPSocket extends nsISupports {
7228   init(aPort: i32, aLoopbackOnly: boolean, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;
7229   init2(aAddr: string, aPort: i32, aPrincipal: nsIPrincipal, aAddressReuse?: boolean): void;
7230   close(): void;
7231   asyncListen(aListener: nsIUDPSocketListener): void;
7232   readonly localAddr: nsINetAddr;
7233   readonly port: i32;
7234   send(host: string, port: u16, data: u8[]): u32;
7235   sendWithAddr(addr: nsINetAddr, data: u8[]): u32;
7236   sendBinaryStream(host: string, port: u16, stream: nsIInputStream): void;
7237   joinMulticast(addr: string, iface?: string): void;
7238   leaveMulticast(addr: string, iface?: string): void;
7239   multicastLoopback: boolean;
7240   multicastInterface: string;
7243 interface nsIUDPSocketListener extends nsISupports {
7244   onPacketReceived(aSocket: nsIUDPSocket, aMessage: nsIUDPMessage): void;
7245   onStopListening(aSocket: nsIUDPSocket, aStatus: nsresult): void;
7248 interface nsIUDPMessage extends nsISupports {
7249   readonly fromAddr: nsINetAddr;
7250   readonly data: string;
7251   readonly outputStream: nsIOutputStream;
7252   readonly rawData: any;
7255 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURI.idl
7257 interface nsIURI extends nsISupports {
7258   readonly spec: string;
7259   readonly prePath: string;
7260   readonly scheme: string;
7261   readonly userPass: string;
7262   readonly username: string;
7263   readonly password: string;
7264   readonly hostPort: string;
7265   readonly host: string;
7266   readonly port: i32;
7267   readonly pathQueryRef: string;
7268   equals(other: nsIURI): boolean;
7269   schemeIs(scheme: string): boolean;
7270   resolve(relativePath: string): string;
7271   readonly asciiSpec: string;
7272   readonly asciiHostPort: string;
7273   readonly asciiHost: string;
7274   readonly ref: string;
7275   equalsExceptRef(other: nsIURI): boolean;
7276   readonly specIgnoringRef: string;
7277   readonly hasRef: boolean;
7278   readonly hasUserPass: boolean;
7279   readonly filePath: string;
7280   readonly query: string;
7281   readonly hasQuery: boolean;
7282   readonly displayHost: string;
7283   readonly displayHostPort: string;
7284   readonly displaySpec: string;
7285   readonly displayPrePath: string;
7286   mutate(): nsIURIMutator;
7289 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIMutator.idl
7291 interface nsIURISetSpec extends nsISupports {
7292   setSpec(aSpec: string): nsIURIMutator;
7295 interface nsIURISetters extends nsIURISetSpec {
7296   setScheme(aScheme: string): nsIURIMutator;
7297   setUserPass(aUserPass: string): nsIURIMutator;
7298   setUsername(aUsername: string): nsIURIMutator;
7299   setPassword(aPassword: string): nsIURIMutator;
7300   setHostPort(aHostPort: string): nsIURIMutator;
7301   setHost(aHost: string): nsIURIMutator;
7302   setPort(aPort: i32): nsIURIMutator;
7303   setPathQueryRef(aPathQueryRef: string): nsIURIMutator;
7304   setRef(aRef: string): nsIURIMutator;
7305   setFilePath(aFilePath: string): nsIURIMutator;
7306   setQuery(aQuery: string): nsIURIMutator;
7309 interface nsIURIMutator extends nsIURISetters {
7310   finalize(): nsIURI;
7313 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURIWithSpecialOrigin.idl
7315 interface nsIURIWithSpecialOrigin extends nsISupports {
7316   readonly origin: nsIURI;
7319 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURL.idl
7321 interface nsIURL extends nsIURI {
7322   readonly directory: string;
7323   readonly fileName: string;
7324   readonly fileBaseName: string;
7325   readonly fileExtension: string;
7326   getCommonBaseSpec(aURIToCompare: nsIURI): string;
7327   getRelativeSpec(aURIToCompare: nsIURI): string;
7330 interface nsIURLMutator extends nsISupports {
7331   setFileName(aFileName: string): nsIURIMutator;
7332   setFileBaseName(aFileBaseName: string): nsIURIMutator;
7333   setFileExtension(aFileExtension: string): nsIURIMutator;
7336 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIURLParser.idl
7338 interface nsIURLParser extends nsISupports {
7339   parseURL(spec: string, specLen: i32, schemePos: OutParam<u32>, schemeLen: OutParam<i32>, authorityPos: OutParam<u32>, authorityLen: OutParam<i32>, pathPos: OutParam<u32>, pathLen: OutParam<i32>): void;
7340   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;
7341   parseUserInfo(userinfo: string, userinfoLen: i32, usernamePos: OutParam<u32>, usernameLen: OutParam<i32>, passwordPos: OutParam<u32>, passwordLen: OutParam<i32>): void;
7342   parseServerInfo(serverinfo: string, serverinfoLen: i32, hostnamePos: OutParam<u32>, hostnameLen: OutParam<i32>, port: OutParam<i32>): void;
7343   parsePath(path: string, pathLen: i32, filepathPos: OutParam<u32>, filepathLen: OutParam<i32>, queryPos: OutParam<u32>, queryLen: OutParam<i32>, refPos: OutParam<u32>, refLen: OutParam<i32>): void;
7344   parseFilePath(filepath: string, filepathLen: i32, directoryPos: OutParam<u32>, directoryLen: OutParam<i32>, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;
7345   parseFileName(filename: string, filenameLen: i32, basenamePos: OutParam<u32>, basenameLen: OutParam<i32>, extensionPos: OutParam<u32>, extensionLen: OutParam<i32>): void;
7348 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel.idl
7350 interface nsIUploadChannel extends nsISupports {
7351   setUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64): void;
7352   readonly uploadStream: nsIInputStream;
7355 // https://searchfox.org/mozilla-central/source/netwerk/base/nsIUploadChannel2.idl
7357 interface nsIUploadChannel2 extends nsISupports {
7358   explicitSetUploadStream(aStream: nsIInputStream, aContentType: string, aContentLength: i64, aMethod: string, aStreamHasHeaders: boolean): void;
7359   readonly uploadStreamHasHeaders: boolean;
7362 // https://searchfox.org/mozilla-central/source/netwerk/base/nsPISocketTransportService.idl
7364 interface nsPISocketTransportService extends nsIRoutedSocketTransportService {
7365   init(): void;
7366   shutdown(aXpcomShutdown: boolean): void;
7367   readonly sendBufferSize: i32;
7368   offline: boolean;
7369   readonly keepaliveIdleTime: i32;
7370   readonly keepaliveRetryInterval: i32;
7371   readonly keepaliveProbeCount: i32;
7374 // https://searchfox.org/mozilla-central/source/netwerk/protocol/about/nsIAboutModule.idl
7376 interface nsIAboutModule extends nsISupports {
7377   readonly URI_SAFE_FOR_UNTRUSTED_CONTENT: 1;
7378   readonly ALLOW_SCRIPT: 2;
7379   readonly HIDE_FROM_ABOUTABOUT: 4;
7380   readonly ENABLE_INDEXED_DB: 8;
7381   readonly URI_CAN_LOAD_IN_CHILD: 16;
7382   readonly URI_MUST_LOAD_IN_CHILD: 32;
7383   readonly MAKE_UNLINKABLE: 64;
7384   readonly MAKE_LINKABLE: 128;
7385   readonly URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS: 256;
7386   readonly URI_MUST_LOAD_IN_EXTENSION_PROCESS: 512;
7387   readonly IS_SECURE_CHROME_UI: 1024;
7389   newChannel(aURI: nsIURI, aLoadInfo: nsILoadInfo): nsIChannel;
7390   getURIFlags(aURI: nsIURI): u32;
7391   getChromeURI(aURI: nsIURI): nsIURI;
7394 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntry.idl
7396 interface nsICacheEntry extends nsISupports {
7397   readonly CONTENT_TYPE_UNKNOWN: 0;
7398   readonly CONTENT_TYPE_OTHER: 1;
7399   readonly CONTENT_TYPE_JAVASCRIPT: 2;
7400   readonly CONTENT_TYPE_IMAGE: 3;
7401   readonly CONTENT_TYPE_MEDIA: 4;
7402   readonly CONTENT_TYPE_STYLESHEET: 5;
7403   readonly CONTENT_TYPE_WASM: 6;
7404   readonly CONTENT_TYPE_LAST: 7;
7405   readonly NO_EXPIRATION_TIME: 4294967295;
7407   readonly key: string;
7408   readonly cacheEntryId: u64;
7409   readonly persistent: boolean;
7410   readonly fetchCount: u32;
7411   readonly lastFetched: u32;
7412   readonly lastModified: u32;
7413   readonly expirationTime: u32;
7414   setExpirationTime(expirationTime: u32): void;
7415   readonly onStartTime: u64;
7416   readonly onStopTime: u64;
7417   setNetworkTimes(onStartTime: u64, onStopTime: u64): void;
7418   setContentType(contentType: u8): void;
7419   forceValidFor(aSecondsToTheFuture: u32): void;
7420   readonly isForcedValid: boolean;
7421   markForcedValidUse(): void;
7422   openInputStream(offset: i64): nsIInputStream;
7423   openOutputStream(offset: i64, predictedSize: i64): nsIOutputStream;
7424   securityInfo: nsITransportSecurityInfo;
7425   readonly storageDataSize: u32;
7426   asyncDoom(listener: nsICacheEntryDoomCallback): void;
7427   getMetaDataElement(key: string): string;
7428   setMetaDataElement(key: string, value: string): void;
7429   visitMetaData(visitor: nsICacheEntryMetaDataVisitor): void;
7430   metaDataReady(): void;
7431   setValid(): void;
7432   dismiss(): void;
7433   readonly diskStorageSizeInKB: u32;
7434   recreate(aMemoryOnly?: boolean): nsICacheEntry;
7435   readonly dataSize: i64;
7436   readonly altDataSize: i64;
7437   readonly altDataType: string;
7438   openAlternativeOutputStream(type: string, predictedSize: i64): nsIAsyncOutputStream;
7439   openAlternativeInputStream(type: string): nsIInputStream;
7440   readonly loadContextInfo: nsILoadContextInfo;
7441   close(): void;
7442   markValid(): void;
7443   maybeMarkValid(): void;
7444   hasWriteAccess(aWriteAllowed: boolean): boolean;
7447 interface nsICacheEntryMetaDataVisitor extends nsISupports {
7448   onMetaDataElement(key: string, value: string): void;
7451 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryDoomCallback.idl
7453 interface nsICacheEntryDoomCallback extends nsISupports {
7454   onCacheEntryDoomed(aResult: nsresult): void;
7457 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheEntryOpenCallback.idl
7459 interface nsICacheEntryOpenCallback extends nsISupports {
7460   readonly ENTRY_WANTED: 0;
7461   readonly RECHECK_AFTER_WRITE_FINISHED: 1;
7462   readonly ENTRY_NEEDS_REVALIDATION: 2;
7463   readonly ENTRY_NOT_WANTED: 3;
7465   onCacheEntryCheck(aEntry: nsICacheEntry): u32;
7466   onCacheEntryAvailable(aEntry: nsICacheEntry, aNew: boolean, aResult: nsresult): void;
7469 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICachePurgeLock.idl
7471 interface nsICachePurgeLock extends nsISupports {
7472   lock(profileName: string): void;
7473   isOtherInstanceRunning(): boolean;
7474   unlock(): void;
7475   getLockFile(profileName: string): nsIFile;
7478 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorage.idl
7480 interface nsICacheStorage extends nsISupports {
7481   readonly OPEN_NORMALLY: 0;
7482   readonly OPEN_TRUNCATE: 1;
7483   readonly OPEN_READONLY: 2;
7484   readonly OPEN_PRIORITY: 4;
7485   readonly OPEN_BYPASS_IF_BUSY: 8;
7486   readonly CHECK_MULTITHREADED: 16;
7487   readonly OPEN_SECRETLY: 32;
7488   readonly OPEN_INTERCEPTED: 64;
7490   asyncOpenURI(aURI: nsIURI, aIdExtension: string, aFlags: u32, aCallback: nsICacheEntryOpenCallback): void;
7491   openTruncate(aURI: nsIURI, aIdExtension: string): nsICacheEntry;
7492   exists(aURI: nsIURI, aIdExtension: string): boolean;
7493   getCacheIndexEntryAttrs(aURI: nsIURI, aIdExtension: string, aHasAltData: OutParam<boolean>, aSizeInKB: OutParam<u32>): void;
7494   asyncDoomURI(aURI: nsIURI, aIdExtension: string, aCallback: nsICacheEntryDoomCallback): void;
7495   asyncEvictStorage(aCallback: nsICacheEntryDoomCallback): void;
7496   asyncVisitStorage(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;
7499 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageService.idl
7501 interface nsICacheStorageService extends nsISupports {
7502   readonly PURGE_DISK_DATA_ONLY: 1;
7503   readonly PURGE_DISK_ALL: 2;
7504   readonly PURGE_EVERYTHING: 3;
7506   memoryCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7507   diskCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7508   pinningCacheStorage(aLoadContextInfo: nsILoadContextInfo): nsICacheStorage;
7509   clearOrigin(aPrincipal: nsIPrincipal): void;
7510   clearBaseDomain(aBaseDomain: string): void;
7511   clearOriginAttributes(aOriginAttributes: string): void;
7512   clear(): void;
7513   purgeFromMemory(aWhat: u32): void;
7514   readonly ioTarget: nsIEventTarget;
7515   asyncGetDiskConsumption(aObserver: nsICacheStorageConsumptionObserver): void;
7516   asyncVisitAllStorages(aVisitor: nsICacheStorageVisitor, aVisitEntries: boolean): void;
7519 interface nsICacheStorageConsumptionObserver extends nsISupports {
7520   onNetworkCacheDiskConsumption(aDiskSize: i64): void;
7523 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheStorageVisitor.idl
7525 interface nsICacheStorageVisitor extends nsISupports {
7526   onCacheStorageInfo(aEntryCount: u32, aConsumption: u64, aCapacity: u64, aDiskDirectory: nsIFile): void;
7527   onCacheEntryInfo(aURI: nsIURI, aIdEnhance: string, aDataSize: i64, aAltDataSize: i64, aFetchCount: u32, aLastModifiedTime: u32, aExpirationTime: u32, aPinned: boolean, aInfo: nsILoadContextInfo): void;
7528   onCacheEntryVisitCompleted(): void;
7531 // https://searchfox.org/mozilla-central/source/netwerk/cache2/nsICacheTesting.idl
7533 interface nsICacheTesting extends nsISupports {
7534   suspendCacheIOThread(aLevel: u32): void;
7535   resumeCacheIOThread(): void;
7536   flush(aObserver: nsIObserver): void;
7539 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookie.idl
7541 }  // global
7543 declare namespace nsICookie {
7545 enum schemeType {
7546   SCHEME_UNSET = 0,
7547   SCHEME_HTTP = 1,
7548   SCHEME_HTTPS = 2,
7549   SCHEME_FILE = 4,
7554 declare global {
7556 interface nsICookie extends nsISupports, Enums<typeof nsICookie.schemeType> {
7557   readonly SAMESITE_NONE: 0;
7558   readonly SAMESITE_LAX: 1;
7559   readonly SAMESITE_STRICT: 2;
7561   readonly name: string;
7562   readonly value: string;
7563   readonly isDomain: boolean;
7564   readonly host: string;
7565   readonly rawHost: string;
7566   readonly path: string;
7567   readonly isSecure: boolean;
7568   readonly expires: u64;
7569   readonly expiry: i64;
7570   readonly originAttributes: any;
7571   readonly isSession: boolean;
7572   readonly isHttpOnly: boolean;
7573   readonly creationTime: i64;
7574   readonly lastAccessed: i64;
7575   readonly sameSite: i32;
7576   readonly schemeMap: nsICookie.schemeType;
7577   readonly isPartitioned: boolean;
7580 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieJarSettings.idl
7582 interface nsICookieJarSettings extends nsISerializable {
7583   readonly cookieBehavior: u32;
7584   readonly isFirstPartyIsolated: boolean;
7585   readonly shouldResistFingerprinting: boolean;
7586   readonly rejectThirdPartyContexts: boolean;
7587   readonly limitForeignContexts: boolean;
7588   readonly blockingAllThirdPartyContexts: boolean;
7589   readonly blockingAllContexts: boolean;
7590   partitionForeign: boolean;
7591   readonly isOnContentBlockingAllowList: boolean;
7592   readonly partitionKey: string;
7593   readonly fingerprintingRandomizationKey: u8[];
7594   cookiePermission(aPrincipal: nsIPrincipal): u32;
7595   initWithURI(aURI: nsIURI, aIsPrivate: boolean): void;
7598 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieManager.idl
7600 interface nsICookieManager extends nsISupports {
7601   removeAll(): void;
7602   readonly cookies: nsICookie[];
7603   readonly sessionCookies: nsICookie[];
7604   getCookieBehavior(aIsPrivate: boolean): u32;
7605   remove(aHost: string, aName: string, aPath: string, aOriginAttributes: any): void;
7606   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;
7607   cookieExists(aHost: string, aPath: string, aName: string, aOriginAttributes: any): boolean;
7608   countCookiesFromHost(aHost: string): u32;
7609   getCookiesFromHost(aHost: string, aOriginAttributes: any): nsICookie[];
7610   getCookiesWithOriginAttributes(aPattern: string, aHost?: string): nsICookie[];
7611   removeCookiesWithOriginAttributes(aPattern: string, aHost?: string): void;
7612   removeCookiesFromExactHost(aHost: string, aPattern: string): void;
7613   removeAllSince(aSinceWhen: i64): Promise<any>;
7614   getCookiesSince(aSinceWhen: i64): nsICookie[];
7617 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieNotification.idl
7619 }  // global
7621 declare namespace nsICookieNotification {
7623 enum Action {
7624   COOKIE_DELETED = 0,
7625   COOKIE_ADDED = 1,
7626   COOKIE_CHANGED = 2,
7627   ALL_COOKIES_CLEARED = 3,
7628   COOKIES_BATCH_DELETED = 4,
7633 declare global {
7635 interface nsICookieNotification extends nsISupports, Enums<typeof nsICookieNotification.Action> {
7636   readonly action: nsICookieNotification.Action;
7637   readonly cookie: nsICookie;
7638   readonly baseDomain: string;
7639   readonly batchDeletedCookies: nsIArray;
7640   readonly browsingContextId: u64;
7641   readonly browsingContext: BrowsingContext;
7644 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookiePermission.idl
7646 interface nsICookiePermission extends nsISupports {
7647   readonly ACCESS_DEFAULT: 0;
7648   readonly ACCESS_ALLOW: 1;
7649   readonly ACCESS_DENY: 2;
7650   readonly ACCESS_SESSION: 8;
7653 // https://searchfox.org/mozilla-central/source/netwerk/cookie/nsICookieService.idl
7655 type nsICookieTransactionCallback = Callable<{
7656   callback(): void;
7659 interface nsICookieService extends nsISupports {
7660   readonly BEHAVIOR_ACCEPT: 0;
7661   readonly BEHAVIOR_REJECT_FOREIGN: 1;
7662   readonly BEHAVIOR_REJECT: 2;
7663   readonly BEHAVIOR_LIMIT_FOREIGN: 3;
7664   readonly BEHAVIOR_REJECT_TRACKER: 4;
7665   readonly BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN: 5;
7666   readonly BEHAVIOR_LAST: 5;
7668   getCookieStringFromDocument(aDocument: Document): string;
7669   getCookieStringFromHttp(aURI: nsIURI, aChannel: nsIChannel): string;
7670   setCookieStringFromDocument(aDocument: Document, aCookie: string): void;
7671   setCookieStringFromHttp(aURI: nsIURI, aCookie: string, aChannel: nsIChannel): void;
7672   runInTransaction(aCallback: nsICookieTransactionCallback): void;
7675 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSAdditionalInfo.idl
7677 interface nsIDNSAdditionalInfo extends nsISupports {
7678   readonly port: i32;
7679   readonly resolverURL: string;
7682 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSByTypeRecord.idl
7684 interface nsIDNSByTypeRecord extends nsIDNSRecord {
7685   readonly type: u32;
7688 interface nsIDNSTXTRecord extends nsISupports {
7689   getRecordsAsOneString(): string;
7692 interface nsISVCParam extends nsISupports {
7693   readonly type: u16;
7696 interface nsISVCParamAlpn extends nsISupports {
7697   readonly alpn: string[];
7700 interface nsISVCParamNoDefaultAlpn extends nsISupports {
7703 interface nsISVCParamPort extends nsISupports {
7704   readonly port: u16;
7707 interface nsISVCParamIPv4Hint extends nsISupports {
7708   readonly ipv4Hint: nsINetAddr[];
7711 interface nsISVCParamEchConfig extends nsISupports {
7712   readonly echconfig: string;
7715 interface nsISVCParamIPv6Hint extends nsISupports {
7716   readonly ipv6Hint: nsINetAddr[];
7719 interface nsISVCParamODoHConfig extends nsISupports {
7720   readonly ODoHConfig: string;
7723 interface nsISVCBRecord extends nsISupports {
7724   readonly priority: u16;
7725   readonly name: string;
7726   readonly selectedAlpn: string;
7727   readonly echConfig: string;
7728   readonly ODoHConfig: string;
7729   readonly hasIPHintAddress: boolean;
7730   readonly values: nsISVCParam[];
7733 interface nsIDNSHTTPSSVCRecord extends nsISupports {
7734   readonly records: nsISVCBRecord[];
7735   GetServiceModeRecord(aNoHttp2: boolean, aNoHttp3: boolean): nsISVCBRecord;
7736   readonly hasIPAddresses: boolean;
7737   readonly allRecordsExcluded: boolean;
7738   readonly ttl: u32;
7739   GetAllRecordsWithEchConfig(aNoHttp2: boolean, aNoHttp3: boolean, aAllRecordsHaveEchConfig: OutParam<boolean>, aAllRecordsInH3ExcludedList: OutParam<boolean>): nsISVCBRecord[];
7742 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSListener.idl
7744 interface nsIDNSListener extends nsISupports {
7745   onLookupComplete(aRequest: nsICancelable, aRecord: nsIDNSRecord, aStatus: nsresult): void;
7748 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSRecord.idl
7750 interface nsIDNSRecord extends nsISupports {
7753 interface nsIDNSAddrRecord extends nsIDNSRecord {
7754   readonly canonicalName: string;
7755   getScriptableNextAddr(aPort: u16): nsINetAddr;
7756   getNextAddrAsString(): string;
7757   hasMore(): boolean;
7758   rewind(): void;
7759   reportUnusable(aPort: u16): void;
7760   IsTRR(): boolean;
7761   resolvedInSocketProcess(): boolean;
7762   readonly trrFetchDuration: double;
7763   readonly trrFetchDurationNetworkOnly: double;
7764   readonly effectiveTRRMode: nsIRequest.TRRMode;
7765   readonly trrSkipReason: nsITRRSkipReason.value;
7766   readonly ttl: u32;
7769 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIDNSService.idl
7771 }  // global
7773 declare namespace nsIDNSService {
7775 enum ResolveType {
7776   RESOLVE_TYPE_DEFAULT = 0,
7777   RESOLVE_TYPE_TXT = 16,
7778   RESOLVE_TYPE_HTTPSSVC = 65,
7781 enum ResolverMode {
7782   MODE_NATIVEONLY = 0,
7783   MODE_RESERVED1 = 1,
7784   MODE_TRRFIRST = 2,
7785   MODE_TRRONLY = 3,
7786   MODE_RESERVED4 = 4,
7787   MODE_TRROFF = 5,
7790 enum DNSFlags {
7791   RESOLVE_DEFAULT_FLAGS = 0,
7792   RESOLVE_BYPASS_CACHE = 1,
7793   RESOLVE_CANONICAL_NAME = 2,
7794   RESOLVE_PRIORITY_MEDIUM = 4,
7795   RESOLVE_PRIORITY_LOW = 8,
7796   RESOLVE_SPECULATE = 16,
7797   RESOLVE_DISABLE_IPV6 = 32,
7798   RESOLVE_OFFLINE = 64,
7799   RESOLVE_DISABLE_IPV4 = 128,
7800   RESOLVE_ALLOW_NAME_COLLISION = 256,
7801   RESOLVE_DISABLE_TRR = 512,
7802   RESOLVE_REFRESH_CACHE = 1024,
7803   RESOLVE_TRR_MODE_MASK = 6144,
7804   RESOLVE_TRR_DISABLED_MODE = 2048,
7805   RESOLVE_IGNORE_SOCKS_DNS = 8192,
7806   RESOLVE_IP_HINT = 16384,
7807   RESOLVE_WANT_RECORD_ON_ERROR = 65536,
7808   ALL_DNSFLAGS_BITS = 131071,
7811 enum ConfirmationState {
7812   CONFIRM_OFF = 0,
7813   CONFIRM_TRYING_OK = 1,
7814   CONFIRM_OK = 2,
7815   CONFIRM_FAILED = 3,
7816   CONFIRM_TRYING_FAILED = 4,
7817   CONFIRM_DISABLED = 5,
7822 declare global {
7824 interface nsIDNSService extends nsISupports, Enums<typeof nsIDNSService.ResolveType & typeof nsIDNSService.ResolverMode & typeof nsIDNSService.DNSFlags & typeof nsIDNSService.ConfirmationState> {
7825   asyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aInfo: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aListenerTarget: nsIEventTarget, aOriginAttributes?: any): nsICancelable;
7826   newAdditionalInfo(aTrrURL: string, aPort: i32): nsIDNSAdditionalInfo;
7827   cancelAsyncResolve(aHostName: string, aType: nsIDNSService.ResolveType, aFlags: nsIDNSService.DNSFlags, aResolver: nsIDNSAdditionalInfo, aListener: nsIDNSListener, aReason: nsresult, aOriginAttributes?: any): void;
7828   resolve(aHostName: string, aFlags: nsIDNSService.DNSFlags, aOriginAttributes?: any): nsIDNSRecord;
7829   clearCache(aTrrToo: boolean): void;
7830   reloadParentalControlEnabled(): void;
7831   setDetectedTrrURI(aURI: string): void;
7832   setHeuristicDetectionResult(value: nsITRRSkipReason.value): void;
7833   readonly heuristicDetectionResult: nsITRRSkipReason.value;
7834   getTRRSkipReasonName(value: nsITRRSkipReason.value): string;
7835   readonly lastConfirmationStatus: nsresult;
7836   readonly lastConfirmationSkipReason: nsITRRSkipReason.value;
7837   readonly currentTrrURI: string;
7838   readonly currentTrrMode: nsIDNSService.ResolverMode;
7839   readonly currentTrrConfirmationState: u32;
7840   readonly myHostName: string;
7841   readonly trrDomain: string;
7842   readonly TRRDomainKey: string;
7845 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIEffectiveTLDService.idl
7847 interface nsIEffectiveTLDService extends nsISupports {
7848   getPublicSuffix(aURI: nsIURI): string;
7849   getKnownPublicSuffix(aURI: nsIURI): string;
7850   getBaseDomain(aURI: nsIURI, aAdditionalParts?: u32): string;
7851   getSchemelessSite(aURI: nsIURI): string;
7852   getSite(aURI: nsIURI): string;
7853   getPublicSuffixFromHost(aHost: string): string;
7854   getKnownPublicSuffixFromHost(aHost: string): string;
7855   getBaseDomainFromHost(aHost: string, aAdditionalParts?: u32): string;
7856   getNextSubDomain(aHost: string): string;
7857   hasRootDomain(aInput: string, aHost: string): boolean;
7860 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsIIDNService.idl
7862 interface nsIIDNService extends nsISupports {
7863   convertUTF8toACE(input: string): string;
7864   convertACEtoUTF8(input: string): string;
7865   isACE(input: string): boolean;
7866   convertToDisplayIDN(input: string, isASCII: OutParam<boolean>): string;
7869 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsINativeDNSResolverOverride.idl
7871 interface nsINativeDNSResolverOverride extends nsISupports {
7872   addIPOverride(aHost: string, aIPLiteral: string): void;
7873   addHTTPSRecordOverride(aHost: string, aData: u8[], aLength: u32): void;
7874   setCnameOverride(aHost: string, aCNAME: string): void;
7875   clearHostOverride(aHost: string): void;
7876   clearOverrides(): void;
7879 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsITRRSkipReason.idl
7881 }  // global
7883 declare namespace nsITRRSkipReason {
7885 enum value {
7886   TRR_UNSET = 0,
7887   TRR_OK = 1,
7888   TRR_NO_GSERVICE = 2,
7889   TRR_PARENTAL_CONTROL = 3,
7890   TRR_OFF_EXPLICIT = 4,
7891   TRR_REQ_MODE_DISABLED = 5,
7892   TRR_MODE_NOT_ENABLED = 6,
7893   TRR_FAILED = 7,
7894   TRR_MODE_UNHANDLED_DEFAULT = 8,
7895   TRR_MODE_UNHANDLED_DISABLED = 9,
7896   TRR_DISABLED_FLAG = 10,
7897   TRR_TIMEOUT = 11,
7898   TRR_CHANNEL_DNS_FAIL = 12,
7899   TRR_IS_OFFLINE = 13,
7900   TRR_NOT_CONFIRMED = 14,
7901   TRR_DID_NOT_MAKE_QUERY = 15,
7902   TRR_UNKNOWN_CHANNEL_FAILURE = 16,
7903   TRR_HOST_BLOCKED_TEMPORARY = 17,
7904   TRR_SEND_FAILED = 18,
7905   TRR_NET_RESET = 19,
7906   TRR_NET_TIMEOUT = 20,
7907   TRR_NET_REFUSED = 21,
7908   TRR_NET_INTERRUPT = 22,
7909   TRR_NET_INADEQ_SEQURITY = 23,
7910   TRR_NO_ANSWERS = 24,
7911   TRR_DECODE_FAILED = 25,
7912   TRR_EXCLUDED = 26,
7913   TRR_SERVER_RESPONSE_ERR = 27,
7914   TRR_RCODE_FAIL = 28,
7915   TRR_NO_CONNECTIVITY = 29,
7916   TRR_NXDOMAIN = 30,
7917   TRR_REQ_CANCELLED = 31,
7918   ODOH_KEY_NOT_USABLE = 32,
7919   ODOH_UPDATE_KEY_FAILED = 33,
7920   ODOH_KEY_NOT_AVAILABLE = 34,
7921   ODOH_ENCRYPTION_FAILED = 35,
7922   ODOH_DECRYPTION_FAILED = 36,
7923   TRR_HEURISTIC_TRIPPED_GOOGLE_SAFESEARCH = 37,
7924   TRR_HEURISTIC_TRIPPED_YOUTUBE_SAFESEARCH = 38,
7925   TRR_HEURISTIC_TRIPPED_ZSCALER_CANARY = 39,
7926   TRR_HEURISTIC_TRIPPED_CANARY = 40,
7927   TRR_HEURISTIC_TRIPPED_MODIFIED_ROOTS = 41,
7928   TRR_HEURISTIC_TRIPPED_PARENTAL_CONTROLS = 42,
7929   TRR_HEURISTIC_TRIPPED_THIRD_PARTY_ROOTS = 43,
7930   TRR_HEURISTIC_TRIPPED_ENTERPRISE_POLICY = 44,
7931   TRR_HEURISTIC_TRIPPED_VPN = 45,
7932   TRR_HEURISTIC_TRIPPED_PROXY = 46,
7933   TRR_HEURISTIC_TRIPPED_NRPT = 47,
7934   TRR_BAD_URL = 48,
7939 declare global {
7941 interface nsITRRSkipReason extends nsISupports, Enums<typeof nsITRRSkipReason.value> {
7944 // https://searchfox.org/mozilla-central/source/netwerk/dns/nsPIDNSService.idl
7946 interface nsPIDNSService extends nsIDNSService {
7947   init(): void;
7948   shutdown(): void;
7949   prefetchEnabled: boolean;
7952 // https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileChannel.idl
7954 interface nsIFileChannel extends nsISupports {
7955   readonly file: nsIFile;
7958 // https://searchfox.org/mozilla-central/source/netwerk/protocol/file/nsIFileProtocolHandler.idl
7960 interface nsIFileProtocolHandler extends nsIProtocolHandler {
7961   newFileURI(aFile: nsIFile): nsIURI;
7962   newFileURIMutator(file: nsIFile): nsIURIMutator;
7963   getURLSpecFromActualFile(file: nsIFile): string;
7964   getURLSpecFromDir(file: nsIFile): string;
7965   getFileFromURLSpec(url: string): nsIFile;
7966   readURLFile(file: nsIFile): nsIURI;
7967   readShellLink(file: nsIFile): nsIURI;
7970 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBackgroundChannelRegistrar.idl
7972 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIBinaryHttp.idl
7974 interface nsIBinaryHttpRequest extends nsISupports {
7975   readonly method: string;
7976   readonly scheme: string;
7977   readonly authority: string;
7978   readonly path: string;
7979   readonly headerNames: string[];
7980   readonly headerValues: string[];
7981   readonly content: u8[];
7984 interface nsIBinaryHttpResponse extends nsISupports {
7985   readonly status: u16;
7986   readonly headerNames: string[];
7987   readonly headerValues: string[];
7988   readonly content: u8[];
7991 interface nsIBinaryHttp extends nsISupports {
7992   encodeRequest(request: nsIBinaryHttpRequest): u8[];
7993   decodeRequest(request: u8[]): nsIBinaryHttpRequest;
7994   decodeResponse(response: u8[]): nsIBinaryHttpResponse;
7995   encodeResponse(response: nsIBinaryHttpResponse): u8[];
7998 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIEarlyHintObserver.idl
8000 interface nsIEarlyHintObserver extends nsISupports {
8001   earlyHint(linkHeader: string, referrerPolicy: string, cspHeader: string): void;
8004 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpActivityObserver.idl
8006 interface nsIHttpActivityObserver extends nsISupports {
8007   readonly ACTIVITY_TYPE_SOCKET_TRANSPORT: 1;
8008   readonly ACTIVITY_TYPE_HTTP_TRANSACTION: 2;
8009   readonly ACTIVITY_TYPE_HTTP_CONNECTION: 3;
8010   readonly ACTIVITY_SUBTYPE_REQUEST_HEADER: 20481;
8011   readonly ACTIVITY_SUBTYPE_REQUEST_BODY_SENT: 20482;
8012   readonly ACTIVITY_SUBTYPE_RESPONSE_START: 20483;
8013   readonly ACTIVITY_SUBTYPE_RESPONSE_HEADER: 20484;
8014   readonly ACTIVITY_SUBTYPE_RESPONSE_COMPLETE: 20485;
8015   readonly ACTIVITY_SUBTYPE_TRANSACTION_CLOSE: 20486;
8016   readonly ACTIVITY_SUBTYPE_PROXY_RESPONSE_HEADER: 20487;
8017   readonly ACTIVITY_SUBTYPE_DNSANDSOCKET_CREATED: 20488;
8018   readonly ACTIVITY_SUBTYPE_SPECULATIVE_DNSANDSOCKET_CREATED: 20489;
8019   readonly ACTIVITY_SUBTYPE_ECH_SET: 20490;
8020   readonly ACTIVITY_SUBTYPE_CONNECTION_CREATED: 20491;
8022   observeActivity(aHttpChannel: nsISupports, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraSizeData: u64, aExtraStringData: string): void;
8023   readonly isActive: boolean;
8024   observeConnectionActivity(aHost: string, aPort: i32, aSSL: boolean, aHasECH: boolean, aIsHttp3: boolean, aActivityType: u32, aActivitySubtype: u32, aTimestamp: PRTime, aExtraStringData: string): void;
8027 interface nsIHttpActivityDistributor extends nsIHttpActivityObserver {
8028   addObserver(aObserver: nsIHttpActivityObserver): void;
8029   removeObserver(aObserver: nsIHttpActivityObserver): void;
8030   observeProxyResponse: boolean;
8031   observeConnection: boolean;
8034 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthManager.idl
8036 interface nsIHttpAuthManager extends nsISupports {
8037   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;
8038   setAuthIdentity(aScheme: string, aHost: string, aPort: i32, aAuthType: string, aRealm: string, aPath: string, aUserDomain: string, aUserName: string, aUserPassword: string, aIsPrivate?: boolean, aPrincipal?: nsIPrincipal): void;
8039   clearAll(): void;
8042 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticableChannel.idl
8044 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpAuthenticator.idl
8046 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannel.idl
8048 interface nsIHttpChannel extends nsIIdentChannel {
8049   requestMethod: string;
8050   referrerInfo: nsIReferrerInfo;
8051   readonly protocolVersion: string;
8052   readonly transferSize: u64;
8053   readonly requestSize: u64;
8054   readonly decodedBodySize: u64;
8055   readonly encodedBodySize: u64;
8056   getRequestHeader(aHeader: string): string;
8057   setRequestHeader(aHeader: string, aValue: string, aMerge: boolean): void;
8058   setNewReferrerInfo(aUrl: string, aPolicy: nsIReferrerInfo.ReferrerPolicyIDL, aSendReferrer: boolean): void;
8059   setEmptyRequestHeader(aHeader: string): void;
8060   visitRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8061   visitNonDefaultRequestHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8062   ShouldStripRequestBodyHeader(aMethod: string): boolean;
8063   allowSTS: boolean;
8064   redirectionLimit: u32;
8065   readonly responseStatus: u32;
8066   readonly responseStatusText: string;
8067   readonly requestSucceeded: boolean;
8068   isMainDocumentChannel: boolean;
8069   getResponseHeader(header: string): string;
8070   setResponseHeader(header: string, value: string, merge: boolean): void;
8071   visitResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8072   getOriginalResponseHeader(aHeader: string, aVisitor: nsIHttpHeaderVisitor): void;
8073   visitOriginalResponseHeaders(aVisitor: nsIHttpHeaderVisitor): void;
8074   isNoStoreResponse(): boolean;
8075   isNoCacheResponse(): boolean;
8076   isPrivateResponse(): boolean;
8077   redirectTo(aTargetURI: nsIURI): void;
8078   upgradeToSecure(): void;
8079   topLevelContentWindowId: u64;
8080   browserId: u64;
8081   logBlockedCORSRequest(aMessage: string, aCategory: string, aIsWarning: boolean): void;
8082   logMimeTypeMismatch(aMessageName: string, aWarning: boolean, aURL: string, aContentType: string): void;
8083   classicScriptHintCharset: string;
8084   documentCharacterSet: string;
8087 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelAuthProvider.idl
8089 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelChild.idl
8091 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpChannelInternal.idl
8093 interface nsIHttpUpgradeListener extends nsISupports {
8094   onTransportAvailable(aTransport: nsISocketTransport, aSocketIn: nsIAsyncInputStream, aSocketOut: nsIAsyncOutputStream): void;
8095   onUpgradeFailed(aErrorCode: nsresult): void;
8098 interface nsIHttpChannelInternal extends nsISupports {
8099   readonly THIRD_PARTY_FORCE_ALLOW: 1;
8100   readonly REDIRECT_MODE_FOLLOW: 0;
8101   readonly REDIRECT_MODE_ERROR: 1;
8102   readonly REDIRECT_MODE_MANUAL: 2;
8103   readonly FETCH_CACHE_MODE_DEFAULT: 0;
8104   readonly FETCH_CACHE_MODE_NO_STORE: 1;
8105   readonly FETCH_CACHE_MODE_RELOAD: 2;
8106   readonly FETCH_CACHE_MODE_NO_CACHE: 3;
8107   readonly FETCH_CACHE_MODE_FORCE_CACHE: 4;
8108   readonly FETCH_CACHE_MODE_ONLY_IF_CACHED: 5;
8110   documentURI: nsIURI;
8111   getRequestVersion(major: OutParam<u32>, minor: OutParam<u32>): void;
8112   getResponseVersion(major: OutParam<u32>, minor: OutParam<u32>): void;
8113   setCookie(aCookieHeader: string): void;
8114   thirdPartyFlags: u32;
8115   forceAllowThirdPartyCookie: boolean;
8116   channelIsForDownload: boolean;
8117   readonly localAddress: string;
8118   readonly localPort: i32;
8119   readonly remoteAddress: string;
8120   readonly remotePort: i32;
8121   HTTPUpgrade(aProtocolName: string, aListener: nsIHttpUpgradeListener): void;
8122   setConnectOnly(): void;
8123   readonly onlyConnect: boolean;
8124   allowSpdy: boolean;
8125   allowHttp3: boolean;
8126   responseTimeoutEnabled: boolean;
8127   initialRwin: u32;
8128   readonly apiRedirectToURI: nsIURI;
8129   allowAltSvc: boolean;
8130   beConservative: boolean;
8131   bypassProxy: boolean;
8132   readonly isResolvedByTRR: boolean;
8133   readonly effectiveTRRMode: nsIRequest.TRRMode;
8134   readonly trrSkipReason: nsITRRSkipReason.value;
8135   readonly isLoadedBySocketProcess: boolean;
8136   isOCSP: boolean;
8137   tlsFlags: u32;
8138   readonly lastModifiedTime: PRTime;
8139   corsIncludeCredentials: boolean;
8140   redirectMode: u32;
8141   fetchCacheMode: u32;
8142   readonly topWindowURI: nsIURI;
8143   setTopWindowURIIfUnknown(topWindowURI: nsIURI): void;
8144   readonly proxyURI: nsIURI;
8145   blockAuthPrompt: boolean;
8146   integrityMetadata: string;
8147   readonly connectionInfoHashKey: string;
8148   setIPv4Disabled(): void;
8149   setIPv6Disabled(): void;
8150   readonly crossOriginOpenerPolicy: nsILoadInfo.CrossOriginOpenerPolicy;
8151   setWaitForHTTPSSVCRecord(): void;
8152   readonly supportsHTTP3: boolean;
8153   readonly hasHTTPSRR: boolean;
8154   setEarlyHintObserver(aObserver: nsIEarlyHintObserver): void;
8155   earlyHintPreloaderId: u64;
8156   readonly isProxyUsed: boolean;
8157   setWebTransportSessionEventListener(aListener: WebTransportSessionEventListener): void;
8158   earlyHintLinkType: u32;
8159   isUserAgentHeaderModified: boolean;
8162 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpHeaderVisitor.idl
8164 type nsIHttpHeaderVisitor = Callable<{
8165   visitHeader(aHeader: string, aValue: string): void;
8168 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIHttpProtocolHandler.idl
8170 interface nsIHttpProtocolHandler extends nsIProxiedProtocolHandler {
8171   readonly userAgent: string;
8172   readonly rfpUserAgent: string;
8173   readonly appName: string;
8174   readonly appVersion: string;
8175   readonly platform: string;
8176   readonly oscpu: string;
8177   readonly misc: string;
8178   readonly altSvcCacheKeys: string[];
8179   readonly authCacheKeys: string[];
8180   EnsureHSTSDataReady(): Promise<any>;
8181   clearCORSPreflightCache(): void;
8184 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttp.idl
8186 interface nsIObliviousHttpClientResponse extends nsISupports {
8187   decapsulate(encResponse: u8[]): u8[];
8190 interface nsIObliviousHttpClientRequest extends nsISupports {
8191   readonly encRequest: u8[];
8192   readonly response: nsIObliviousHttpClientResponse;
8195 interface nsIObliviousHttpServerResponse extends nsISupports {
8196   readonly request: u8[];
8197   encapsulate(response: u8[]): u8[];
8200 interface nsIObliviousHttpServer extends nsISupports {
8201   readonly encodedConfig: u8[];
8202   decapsulate(encRequest: u8[]): nsIObliviousHttpServerResponse;
8205 interface nsIObliviousHttp extends nsISupports {
8206   encapsulateRequest(encodedConfig: u8[], request: u8[]): nsIObliviousHttpClientRequest;
8207   server(): nsIObliviousHttpServer;
8210 interface nsIObliviousHttpService extends nsISupports {
8211   newChannel(relayURI: nsIURI, targetURI: nsIURI, encodedConfig: u8[]): nsIChannel;
8212   getTRRSettings(relayURI: OutParam<nsIURI>, encodedConfig: OutParam<u8[]>): void;
8213   clearTRRConfig(): void;
8216 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIObliviousHttpChannel.idl
8218 interface nsIObliviousHttpChannel extends nsIHttpChannel {
8219   readonly relayChannel: nsIHttpChannel;
8222 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIRaceCacheWithNetwork.idl
8224 interface nsIRaceCacheWithNetwork extends nsISupports {
8225   test_triggerNetwork(timeout: i32): void;
8226   test_delayCacheEntryOpeningBy(timeout: i32): void;
8227   test_triggerDelayedOpenCacheEntry(): void;
8230 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsITlsHandshakeListener.idl
8232 // https://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsIWellKnownOpportunisticUtils.idl
8234 interface nsIWellKnownOpportunisticUtils extends nsISupports {
8235   verify(aJSON: string, aOrigin: string): void;
8236   readonly valid: boolean;
8239 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/converters/nsICompressConvStats.idl
8241 interface nsICompressConvStats extends nsISupports {
8242   readonly decodedDataLength: u64;
8245 // https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsIResProtocolHandler.idl
8247 interface nsIResProtocolHandler extends nsISubstitutingProtocolHandler {
8248   allowContentToAccess(url: nsIURI): boolean;
8251 // https://searchfox.org/mozilla-central/source/netwerk/protocol/res/nsISubstitutingProtocolHandler.idl
8253 interface nsISubstitutingProtocolHandler extends nsIProtocolHandler {
8254   readonly ALLOW_CONTENT_ACCESS: 1;
8255   readonly RESOLVE_JAR_URI: 2;
8257   setSubstitution(root: string, baseURI: nsIURI): void;
8258   setSubstitutionWithFlags(root: string, baseURI: nsIURI, flags: u32): void;
8259   getSubstitution(root: string): nsIURI;
8260   hasSubstitution(root: string): boolean;
8261   resolveURI(resURI: nsIURI): string;
8264 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsINamedPipeService.idl
8266 interface nsINamedPipeDataObserver extends nsISupports {
8269 interface nsINamedPipeService extends nsISupports {
8270   isOnCurrentThread(): boolean;
8273 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProvider.idl
8275 interface nsISocketProvider extends nsISupports {
8276   readonly PROXY_RESOLVES_HOST: 1;
8277   readonly ANONYMOUS_CONNECT: 2;
8278   readonly NO_PERMANENT_STORAGE: 4;
8279   readonly BE_CONSERVATIVE: 8;
8280   readonly ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT: 16;
8281   readonly IS_SPECULATIVE_CONNECTION: 32;
8282   readonly DONT_TRY_ECH: 1024;
8283   readonly IS_RETRY: 2048;
8284   readonly USED_PRIVATE_DNS: 4096;
8287 // https://searchfox.org/mozilla-central/source/netwerk/socket/nsISocketProviderService.idl
8289 interface nsISocketProviderService extends nsISupports {
8290   getSocketProvider(socketType: string): nsISocketProvider;
8293 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/mozITXTToHTMLConv.idl
8295 interface mozITXTToHTMLConv extends nsIStreamConverter {
8296   readonly kEntities: 0;
8297   readonly kURLs: 2;
8298   readonly kGlyphSubstitution: 4;
8299   readonly kStructPhrase: 8;
8301   scanTXT(text: string, whattodo: u32): string;
8302   scanHTML(text: string, whattodo: u32): string;
8303   citeLevelTXT(line: string, logLineStart: OutParam<u32>): u32;
8304   findURLInPlaintext(text: string, aLength: i32, aPos: i32, aStartPos: OutParam<i32>, aEndPos: OutParam<i32>): void;
8307 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndex.idl
8309 interface nsIDirIndex extends nsISupports {
8310   readonly TYPE_UNKNOWN: 0;
8311   readonly TYPE_DIRECTORY: 1;
8312   readonly TYPE_FILE: 2;
8313   readonly TYPE_SYMLINK: 3;
8315   type: u32;
8316   location: string;
8317   size: i64;
8318   lastModified: PRTime;
8321 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIDirIndexListener.idl
8323 interface nsIDirIndexListener extends nsISupports {
8324   onIndexAvailable(aRequest: nsIRequest, aIndex: nsIDirIndex): void;
8327 interface nsIDirIndexParser extends nsIStreamListener {
8328   listener: nsIDirIndexListener;
8331 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverter.idl
8333 interface nsIStreamConverter extends nsIThreadRetargetableStreamListener {
8334   convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aCtxt: nsISupports): nsIInputStream;
8335   asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aCtxt: nsISupports): void;
8336   maybeRetarget(request: nsIRequest): void;
8337   getConvertedType(aFromType: string, aChannel: nsIChannel): string;
8340 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsIStreamConverterService.idl
8342 interface nsIStreamConverterService extends nsISupports {
8343   canConvert(aFromType: string, aToType: string): boolean;
8344   convertedType(aFromType: string, aChannel: nsIChannel): string;
8345   convert(aFromStream: nsIInputStream, aFromType: string, aToType: string, aContext: nsISupports): nsIInputStream;
8346   asyncConvertData(aFromType: string, aToType: string, aListener: nsIStreamListener, aContext: nsISupports): nsIStreamListener;
8349 // https://searchfox.org/mozilla-central/source/netwerk/streamconv/nsITXTToHTMLConv.idl
8351 interface nsITXTToHTMLConv extends nsIStreamConverter {
8352   setTitle(text: string): void;
8353   preFormatHTML(value: boolean): void;
8356 // https://searchfox.org/mozilla-central/source/netwerk/protocol/viewsource/nsIViewSourceChannel.idl
8358 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsITransportProvider.idl
8360 interface nsITransportProvider extends nsISupports {
8361   setListener(listener: nsIHttpUpgradeListener): void;
8364 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketChannel.idl
8366 interface nsIWebSocketChannel extends nsISupports {
8367   readonly CLOSE_NORMAL: 1000;
8368   readonly CLOSE_GOING_AWAY: 1001;
8369   readonly CLOSE_PROTOCOL_ERROR: 1002;
8370   readonly CLOSE_UNSUPPORTED_DATATYPE: 1003;
8371   readonly CLOSE_NO_STATUS: 1005;
8372   readonly CLOSE_ABNORMAL: 1006;
8373   readonly CLOSE_INVALID_PAYLOAD: 1007;
8374   readonly CLOSE_POLICY_VIOLATION: 1008;
8375   readonly CLOSE_TOO_LARGE: 1009;
8376   readonly CLOSE_EXTENSION_MISSING: 1010;
8377   readonly CLOSE_INTERNAL_ERROR: 1011;
8378   readonly CLOSE_TLS_FAILED: 1015;
8380   readonly originalURI: nsIURI;
8381   readonly URI: nsIURI;
8382   notificationCallbacks: nsIInterfaceRequestor;
8383   readonly securityInfo: nsITransportSecurityInfo;
8384   loadGroup: nsILoadGroup;
8385   loadInfo: nsILoadInfo;
8386   protocol: string;
8387   readonly extensions: string;
8388   readonly httpChannelId: u64;
8389   initLoadInfo(aLoadingNode: Node, aLoadingPrincipal: nsIPrincipal, aTriggeringPrincipal: nsIPrincipal, aSecurityFlags: u32, aContentPolicyType: nsContentPolicyType): void;
8390   asyncOpen(aURI: nsIURI, aOrigin: string, aOriginAttributes: any, aInnerWindowID: u64, aListener: nsIWebSocketListener, aContext: nsISupports): void;
8391   close(aCode: u16, aReason: string): void;
8392   sendMsg(aMsg: string): void;
8393   sendBinaryMsg(aMsg: string): void;
8394   sendBinaryStream(aStream: nsIInputStream, length: u32): void;
8395   pingInterval: u32;
8396   pingTimeout: u32;
8397   serial: u32;
8398   setServerParameters(aProvider: nsITransportProvider, aNegotiatedExtensions: string): void;
8401 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketEventService.idl
8403 interface nsIWebSocketFrame extends nsISupports {
8404   readonly OPCODE_CONTINUATION: 0;
8405   readonly OPCODE_TEXT: 1;
8406   readonly OPCODE_BINARY: 2;
8407   readonly OPCODE_CLOSE: 8;
8408   readonly OPCODE_PING: 9;
8409   readonly OPCODE_PONG: 10;
8411   readonly timeStamp: DOMHighResTimeStamp;
8412   readonly finBit: boolean;
8413   readonly rsvBit1: boolean;
8414   readonly rsvBit2: boolean;
8415   readonly rsvBit3: boolean;
8416   readonly opCode: u16;
8417   readonly maskBit: boolean;
8418   readonly mask: u32;
8419   readonly payload: string;
8422 interface nsIWebSocketEventListener extends nsISupports {
8423   readonly TYPE_STRING: 0;
8424   readonly TYPE_BLOB: 1;
8425   readonly TYPE_ARRAYBUFFER: 2;
8427   webSocketCreated(aWebSocketSerialID: u32, aURI: string, aProtocols: string): void;
8428   webSocketOpened(aWebSocketSerialID: u32, aEffectiveURI: string, aProtocols: string, aExtensions: string, aHttpChannelId: u64): void;
8429   webSocketMessageAvailable(aWebSocketSerialID: u32, aMessage: string, aType: u16): void;
8430   webSocketClosed(aWebSocketSerialID: u32, aWasClean: boolean, aCode: u16, aReason: string): void;
8431   frameReceived(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;
8432   frameSent(aWebSocketSerialID: u32, aFrame: nsIWebSocketFrame): void;
8435 interface nsIWebSocketEventService extends nsISupports {
8436   sendMessage(aWebSocketSerialID: u32, aMessage: string): void;
8437   addListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;
8438   removeListener(aInnerWindowID: u64, aListener: nsIWebSocketEventListener): void;
8439   hasListenerFor(aInnerWindowID: u64): boolean;
8442 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketImpl.idl
8444 interface nsIWebSocketImpl extends nsISupports {
8445   sendMessage(aMessage: string): void;
8448 // https://searchfox.org/mozilla-central/source/netwerk/protocol/websocket/nsIWebSocketListener.idl
8450 interface nsIWebSocketListener extends nsISupports {
8451   onStart(aContext: nsISupports): void;
8452   onStop(aContext: nsISupports, aStatusCode: nsresult): void;
8453   onMessageAvailable(aContext: nsISupports, aMsg: string): void;
8454   onBinaryMessageAvailable(aContext: nsISupports, aMsg: string): void;
8455   onAcknowledge(aContext: nsISupports, aSize: u32): void;
8456   onServerClose(aContext: nsISupports, aCode: u16, aReason: string): void;
8457   OnError(): void;
8460 // https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransport.idl
8462 }  // global
8464 declare namespace nsIWebTransport {
8466 enum WebTransportError {
8467   UNKNOWN_ERROR = 0,
8468   INVALID_STATE_ERROR = 1,
8473 declare global {
8475 interface nsIWebTransport extends nsISupports, Enums<typeof nsIWebTransport.WebTransportError> {
8476   asyncConnect(aURI: nsIURI, aDedicated: boolean, aServerCertHashes: nsIWebTransportHash[], aLoadingPrincipal: nsIPrincipal, aSecurityFlags: u32, aListener: WebTransportSessionEventListener): void;
8477   getStats(): void;
8478   closeSession(aErrorCode: u32, aReason: string): void;
8479   createOutgoingBidirectionalStream(aListener: nsIWebTransportStreamCallback): void;
8480   createOutgoingUnidirectionalStream(aListener: nsIWebTransportStreamCallback): void;
8481   sendDatagram(aData: u8[], aTrackingId: u64): void;
8482   getMaxDatagramSize(): void;
8485 }  // global
8487 declare namespace WebTransportSessionEventListener {
8489 enum DatagramOutcome {
8490   UNKNOWN = 0,
8491   DROPPED_TOO_MUCH_DATA = 1,
8492   SENT = 2,
8497 declare global {
8499 interface WebTransportSessionEventListener extends nsISupports, Enums<typeof WebTransportSessionEventListener.DatagramOutcome> {
8500   onSessionReady(aSessionId: u64): void;
8501   onSessionClosed(aCleanly: boolean, aErrorCode: u32, aReason: string): void;
8502   onIncomingBidirectionalStreamAvailable(aStream: nsIWebTransportBidirectionalStream): void;
8503   onIncomingUnidirectionalStreamAvailable(aStream: nsIWebTransportReceiveStream): void;
8504   onStopSending(aStreamId: u64, aError: nsresult): void;
8505   onResetReceived(aStreamId: u64, aError: nsresult): void;
8506   onDatagramReceived(aData: u8[]): void;
8507   onMaxDatagramSize(aSize: u64): void;
8508   onOutgoingDatagramOutCome(aId: u64, aOutCome: WebTransportSessionEventListener.DatagramOutcome): void;
8511 interface nsIWebTransportStreamCallback extends nsISupports {
8512   onBidirectionalStreamReady(aStream: nsIWebTransportBidirectionalStream): void;
8513   onUnidirectionalStreamReady(aStream: nsIWebTransportSendStream): void;
8514   onError(aError: u8): void;
8517 interface nsIWebTransportHash extends nsISupports {
8518   readonly algorithm: string;
8519   readonly value: u8[];
8522 // https://searchfox.org/mozilla-central/source/netwerk/protocol/webtransport/nsIWebTransportStream.idl
8524 interface nsIWebTransportSendStreamStats extends nsISupports {
8525   readonly bytesSent: u64;
8526   readonly bytesAcknowledged: u64;
8529 interface nsIWebTransportReceiveStreamStats extends nsISupports {
8530   readonly bytesReceived: u64;
8533 interface nsIWebTransportStreamStatsCallback extends nsISupports {
8534   onSendStatsAvailable(aStats: nsIWebTransportSendStreamStats): void;
8535   onReceiveStatsAvailable(aStats: nsIWebTransportReceiveStreamStats): void;
8538 interface nsIWebTransportReceiveStream extends nsISupports {
8539   sendStopSending(aError: u8): void;
8540   getReceiveStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;
8541   readonly hasReceivedFIN: boolean;
8542   readonly inputStream: nsIAsyncInputStream;
8543   readonly streamId: u64;
8546 interface nsIWebTransportSendStream extends nsISupports {
8547   sendFin(): void;
8548   reset(aErrorCode: u8): void;
8549   getSendStreamStats(aCallback: nsIWebTransportStreamStatsCallback): void;
8550   readonly outputStream: nsIAsyncOutputStream;
8551   readonly streamId: u64;
8554 interface nsIWebTransportBidirectionalStream extends nsISupports {
8555   sendStopSending(aError: u8): void;
8556   sendFin(): void;
8557   reset(aErrorCode: u8): void;
8558   readonly hasReceivedFIN: boolean;
8559   readonly inputStream: nsIAsyncInputStream;
8560   readonly outputStream: nsIAsyncOutputStream;
8561   readonly streamId: u64;
8564 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiAccessPoint.idl
8566 interface nsIWifiAccessPoint extends nsISupports {
8567   readonly mac: string;
8568   readonly ssid: string;
8569   readonly rawSSID: string;
8570   readonly signal: i32;
8573 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiListener.idl
8575 interface nsIWifiListener extends nsISupports {
8576   onChange(accessPoints: nsIWifiAccessPoint[]): void;
8577   onError(error: nsresult): void;
8580 // https://searchfox.org/mozilla-central/source/netwerk/wifi/nsIWifiMonitor.idl
8582 interface nsIWifiMonitor extends nsISupports {
8583   startWatching(aListener: nsIWifiListener, aForcePolling: boolean): void;
8584   stopWatching(aListener: nsIWifiListener): void;
8587 // https://searchfox.org/mozilla-central/source/toolkit/components/parentalcontrols/nsIParentalControlsService.idl
8589 interface nsIParentalControlsService extends nsISupports {
8590   readonly DOWNLOAD: 1;
8591   readonly INSTALL_EXTENSION: 2;
8592   readonly INSTALL_APP: 3;
8593   readonly BROWSE: 4;
8594   readonly SHARE: 5;
8595   readonly BOOKMARK: 6;
8596   readonly ADD_CONTACT: 7;
8597   readonly SET_IMAGE: 8;
8598   readonly MODIFY_ACCOUNTS: 9;
8599   readonly REMOTE_DEBUGGING: 10;
8600   readonly IMPORT_SETTINGS: 11;
8601   readonly PRIVATE_BROWSING: 12;
8602   readonly DATA_CHOICES: 13;
8603   readonly CLEAR_HISTORY: 14;
8604   readonly MASTER_PASSWORD: 15;
8605   readonly GUEST_BROWSING: 16;
8606   readonly ADVANCED_SETTINGS: 17;
8607   readonly CAMERA_MICROPHONE: 18;
8608   readonly BLOCK_LIST: 19;
8609   readonly TELEMETRY: 20;
8610   readonly HEALTH_REPORT: 21;
8611   readonly DEFAULT_THEME: 22;
8612   readonly ePCLog_URIVisit: 1;
8613   readonly ePCLog_FileDownload: 2;
8615   readonly parentalControlsEnabled: boolean;
8616   readonly blockFileDownloadsEnabled: boolean;
8617   isAllowed(aAction: i16, aUri?: nsIURI): boolean;
8618   readonly loggingEnabled: boolean;
8619   log(aEntryType: i16, aFlag: boolean, aSource: nsIURI, aTarget?: nsIFile): void;
8622 // https://searchfox.org/mozilla-central/source/dom/media/bridge/IPeerConnection.idl
8624 interface IPeerConnectionObserver extends nsISupports {
8627 interface IPeerConnection extends nsISupports {
8628   readonly kHintAudio: 1;
8629   readonly kHintVideo: 2;
8630   readonly kActionNone: -1;
8631   readonly kActionOffer: 0;
8632   readonly kActionAnswer: 1;
8633   readonly kActionPRAnswer: 2;
8634   readonly kActionRollback: 3;
8635   readonly kIceGathering: 0;
8636   readonly kIceWaiting: 1;
8637   readonly kIceChecking: 2;
8638   readonly kIceConnected: 3;
8639   readonly kIceFailed: 4;
8640   readonly kNew: 0;
8641   readonly kNegotiating: 1;
8642   readonly kActive: 2;
8643   readonly kClosing: 3;
8644   readonly kClosed: 4;
8645   readonly kDataChannelReliable: 0;
8646   readonly kDataChannelPartialReliableRexmit: 1;
8647   readonly kDataChannelPartialReliableTimed: 2;
8648   readonly kNoError: 0;
8649   readonly kInvalidCandidate: 2;
8650   readonly kInvalidMediastreamTrack: 3;
8651   readonly kInvalidState: 4;
8652   readonly kInvalidSessionDescription: 5;
8653   readonly kIncompatibleSessionDescription: 6;
8654   readonly kIncompatibleMediaStreamTrack: 8;
8655   readonly kInternalError: 9;
8656   readonly kTypeError: 10;
8657   readonly kOperationError: 11;
8658   readonly kMaxErrorType: 11;
8661 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertOverrideService.idl
8663 interface nsICertOverride extends nsISupports {
8664   readonly asciiHost: string;
8665   readonly port: i32;
8666   readonly hostPort: string;
8667   readonly fingerprint: string;
8668   readonly originAttributes: any;
8671 interface nsICertOverrideService extends nsISupports {
8672   rememberValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aTemporary: boolean): void;
8673   hasMatchingOverride(aHostName: string, aPort: i32, aOriginAttributes: any, aCert: nsIX509Cert, aIsTemporary: OutParam<boolean>): boolean;
8674   clearValidityOverride(aHostName: string, aPort: i32, aOriginAttributes: any): void;
8675   clearAllOverrides(): void;
8676   getOverrides(): nsICertOverride[];
8677   setDisableAllSecurityChecksAndLetAttackersInterceptMyData(aDisable: boolean): void;
8678   readonly securityCheckDisabled: boolean;
8681 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertStorage.idl
8683 type nsICertStorageCallback = Callable<{
8684   done(rv: nsresult, result: nsIVariant): void;
8687 interface nsIRevocationState extends nsISupports {
8688   readonly state: i16;
8691 interface nsIIssuerAndSerialRevocationState extends nsIRevocationState {
8692   readonly issuer: string;
8693   readonly serial: string;
8696 interface nsISubjectAndPubKeyRevocationState extends nsIRevocationState {
8697   readonly subject: string;
8698   readonly pubKey: string;
8701 interface nsICRLiteCoverage extends nsISupports {
8702   readonly b64LogID: string;
8703   readonly minTimestamp: u64;
8704   readonly maxTimestamp: u64;
8707 interface nsICertInfo extends nsISupports {
8708   readonly cert: string;
8709   readonly subject: string;
8710   readonly trust: i16;
8713 interface nsICertStorage extends nsISupports {
8714   readonly DATA_TYPE_REVOCATION: 1;
8715   readonly DATA_TYPE_CERTIFICATE: 2;
8716   readonly DATA_TYPE_CRLITE: 3;
8717   readonly DATA_TYPE_CRLITE_FILTER_FULL: 4;
8718   readonly DATA_TYPE_CRLITE_FILTER_INCREMENTAL: 5;
8719   readonly STATE_UNSET: 0;
8720   readonly STATE_ENFORCE: 1;
8721   readonly STATE_NOT_ENROLLED: 2;
8722   readonly STATE_NOT_COVERED: 3;
8723   readonly STATE_NO_FILTER: 4;
8724   readonly TRUST_INHERIT: 0;
8725   readonly TRUST_ANCHOR: 1;
8727   hasPriorData(type: u8, callback: nsICertStorageCallback): void;
8728   setRevocations(revocations: nsIRevocationState[], callback: nsICertStorageCallback): void;
8729   getRevocationState(issuer: u8[], serial: u8[], subject: u8[], pubkey: u8[]): i16;
8730   setFullCRLiteFilter(filter: u8[], enrolledIssuers: string[], coverage: nsICRLiteCoverage[], callback: nsICertStorageCallback): void;
8731   addCRLiteStash(stash: u8[], callback: nsICertStorageCallback): void;
8732   addCerts(certs: nsICertInfo[], callback: nsICertStorageCallback): void;
8733   removeCertsByHashes(hashes: string[], callback: nsICertStorageCallback): void;
8734   findCertsBySubject(subject: u8[]): u8[][];
8735   GetRemainingOperationCount(): i32;
8738 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertTree.idl
8740 interface nsICertTreeItem extends nsISupports {
8741   readonly cert: nsIX509Cert;
8744 interface nsICertTree extends nsITreeView {
8745   loadCertsFromCache(cache: nsIX509Cert[], type: u32): void;
8746   getCert(index: u32): nsIX509Cert;
8747   getTreeItem(index: u32): nsICertTreeItem;
8748   deleteEntryObject(index: u32): void;
8751 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICertificateDialogs.idl
8753 interface nsICertificateDialogs extends nsISupports {
8754   confirmDownloadCACert(ctx: nsIInterfaceRequestor, cert: nsIX509Cert, trust: OutParam<u32>): boolean;
8755   setPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;
8756   getPKCS12FilePassword(ctx: nsIInterfaceRequestor, password: OutParam<string>): boolean;
8759 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthDialogService.idl
8761 type nsIClientAuthDialogCallback = Callable<{
8762   certificateChosen(cert: nsIX509Cert, rememberDecision: boolean): void;
8765 interface nsIClientAuthDialogService extends nsISupports {
8766   chooseCertificate(hostname: string, certArray: nsIX509Cert[], loadContext: nsILoadContext, callback: nsIClientAuthDialogCallback): void;
8769 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIClientAuthRememberService.idl
8771 interface nsIClientAuthRememberRecord extends nsISupports {
8772   readonly asciiHost: string;
8773   readonly dbKey: string;
8774   readonly entryKey: string;
8777 interface nsIClientAuthRememberService extends nsISupports {
8778   forgetRememberedDecision(key: string): void;
8779   getDecisions(): nsIClientAuthRememberRecord[];
8780   rememberDecisionScriptable(aHostName: string, originAttributes: any, aClientCert: nsIX509Cert): void;
8781   hasRememberedDecisionScriptable(aHostName: string, originAttributes: any, aCertDBKey: OutParam<string>): boolean;
8782   clearRememberedDecisions(): void;
8783   deleteDecisionsByHost(aHostName: string, aOriginAttributes: any): void;
8786 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIContentSignatureVerifier.idl
8788 interface nsIContentSignatureVerifier extends nsISupports {
8789   readonly ContentSignatureProdRoot: 1;
8790   readonly ContentSignatureStageRoot: 2;
8791   readonly ContentSignatureDevRoot: 3;
8792   readonly ContentSignatureLocalRoot: 4;
8794   asyncVerifyContentSignature(aData: string, aContentSignatureHeader: string, aCertificateChain: string, aHostname: string, aTrustedRoot: AppTrustedRoot): Promise<any>;
8797 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsICryptoHash.idl
8799 interface nsICryptoHash extends nsISupports {
8800   readonly MD5: 2;
8801   readonly SHA1: 3;
8802   readonly SHA256: 4;
8803   readonly SHA384: 5;
8804   readonly SHA512: 6;
8806   init(aAlgorithm: u32): void;
8807   initWithString(aAlgorithm: string): void;
8808   update(aData: u8[], aLen: u32): void;
8809   updateFromStream(aStream: nsIInputStream, aLen: u32): void;
8810   finish(aASCII: boolean): string;
8813 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIDataStorage.idl
8815 }  // global
8817 declare namespace nsIDataStorageManager {
8819 enum DataStorage {
8820   AlternateServices = 0,
8821   ClientAuthRememberList = 1,
8822   SiteSecurityServiceState = 2,
8827 declare global {
8829 interface nsIDataStorageManager extends nsISupports, Enums<typeof nsIDataStorageManager.DataStorage> {
8830   get(dataStorage: nsIDataStorageManager.DataStorage): nsIDataStorage;
8833 }  // global
8835 declare namespace nsIDataStorage {
8837 enum DataType {
8838   Persistent = 0,
8839   Private = 1,
8844 declare global {
8846 interface nsIDataStorage extends nsISupports, Enums<typeof nsIDataStorage.DataType> {
8847   get(key: string, type: nsIDataStorage.DataType): string;
8848   put(key: string, value: string, type: nsIDataStorage.DataType): void;
8849   remove(key: string, type: nsIDataStorage.DataType): void;
8850   clear(): void;
8851   isReady(): boolean;
8852   getAll(): nsIDataStorageItem[];
8855 interface nsIDataStorageItem extends nsISupports {
8856   readonly key: string;
8857   readonly value: string;
8858   readonly type: nsIDataStorage.DataType;
8861 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSComponent.idl
8863 interface nsINSSComponent extends nsISupports {
8864   getEnterpriseRoots(): u8[][];
8865   getEnterpriseRootsPEM(): string;
8866   getEnterpriseIntermediates(): u8[][];
8867   getEnterpriseIntermediatesPEM(): string;
8868   addEnterpriseIntermediate(intermediateBytes: u8[]): void;
8869   clearSSLExternalAndInternalSessionCache(): void;
8870   asyncClearSSLExternalAndInternalSessionCache(): Promise<any>;
8873 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSErrorsService.idl
8875 interface nsINSSErrorsService extends nsISupports {
8876   readonly ERROR_CLASS_SSL_PROTOCOL: 1;
8877   readonly ERROR_CLASS_BAD_CERT: 2;
8878   readonly NSS_SEC_ERROR_BASE: -8192;
8879   readonly NSS_SEC_ERROR_LIMIT: -7192;
8880   readonly NSS_SSL_ERROR_BASE: -12288;
8881   readonly NSS_SSL_ERROR_LIMIT: -11288;
8882   readonly MOZILLA_PKIX_ERROR_BASE: -16384;
8883   readonly MOZILLA_PKIX_ERROR_LIMIT: -15384;
8885   isNSSErrorCode(aNSPRCode: i32): boolean;
8886   getXPCOMFromNSSError(aNSPRCode: i32): nsresult;
8887   getErrorMessage(aXPCOMErrorCode: nsresult): string;
8888   getErrorClass(aXPCOMErrorCode: nsresult): u32;
8891 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsINSSVersion.idl
8893 interface nsINSSVersion extends nsISupports {
8894   readonly NSPR_MinVersion: string;
8895   readonly NSS_MinVersion: string;
8896   readonly NSSUTIL_MinVersion: string;
8897   readonly NSSSSL_MinVersion: string;
8898   readonly NSSSMIME_MinVersion: string;
8899   readonly NSPR_Version: string;
8900   readonly NSS_Version: string;
8901   readonly NSSUTIL_Version: string;
8902   readonly NSSSSL_Version: string;
8903   readonly NSSSMIME_Version: string;
8906 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSKeyStore.idl
8908 interface nsIOSKeyStore extends nsISupports {
8909   asyncGenerateSecret(label: string): Promise<any>;
8910   asyncSecretAvailable(label: string): Promise<any>;
8911   asyncRecoverSecret(label: string, recoveryPhrase: string): Promise<any>;
8912   asyncDeleteSecret(label: string): Promise<any>;
8913   asyncEncryptBytes(label: string, inBytes: u8[]): Promise<any>;
8914   asyncDecryptBytes(label: string, encryptedBase64Text: string): Promise<any>;
8917 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIOSReauthenticator.idl
8919 interface nsIOSReauthenticator extends nsISupports {
8920   asyncReauthenticateUser(prompt: string, caption: string, parentWindow: mozIDOMWindow): Promise<any>;
8923 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11Token.idl
8925 interface nsIPK11Token extends nsISupports {
8926   readonly tokenName: string;
8927   readonly isInternalKeyToken: boolean;
8928   readonly tokenManID: string;
8929   readonly tokenHWVersion: string;
8930   readonly tokenFWVersion: string;
8931   readonly tokenSerialNumber: string;
8932   isLoggedIn(): boolean;
8933   login(force: boolean): void;
8934   logoutSimple(): void;
8935   logoutAndDropAuthenticatedResources(): void;
8936   needsLogin(): boolean;
8937   readonly needsUserInit: boolean;
8938   reset(): void;
8939   checkPassword(password: string): boolean;
8940   initPassword(initialPassword: string): void;
8941   changePassword(oldPassword: string, newPassword: string): void;
8942   readonly hasPassword: boolean;
8945 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPK11TokenDB.idl
8947 interface nsIPK11TokenDB extends nsISupports {
8948   getInternalKeyToken(): nsIPK11Token;
8951 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Module.idl
8953 interface nsIPKCS11Module extends nsISupports {
8954   readonly name: string;
8955   readonly libName: string;
8956   listSlots(): nsISimpleEnumerator;
8959 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11ModuleDB.idl
8961 interface nsIPKCS11ModuleDB extends nsISupports {
8962   deleteModule(moduleName: string): void;
8963   addModule(moduleName: string, libraryFullPath: string, cryptoMechanismFlags: i32, cipherFlags: i32): void;
8964   listModules(): nsISimpleEnumerator;
8965   readonly canToggleFIPS: boolean;
8966   toggleFIPSMode(): void;
8967   readonly isFIPSEnabled: boolean;
8970 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPKCS11Slot.idl
8972 interface nsIPKCS11Slot extends nsISupports {
8973   readonly SLOT_DISABLED: 0;
8974   readonly SLOT_NOT_PRESENT: 1;
8975   readonly SLOT_UNINITIALIZED: 2;
8976   readonly SLOT_NOT_LOGGED_IN: 3;
8977   readonly SLOT_LOGGED_IN: 4;
8978   readonly SLOT_READY: 5;
8980   readonly name: string;
8981   readonly desc: string;
8982   readonly manID: string;
8983   readonly HWVersion: string;
8984   readonly FWVersion: string;
8985   readonly status: u32;
8986   getToken(): nsIPK11Token;
8987   readonly tokenName: string;
8990 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIPublicKeyPinningService.idl
8992 interface nsIPublicKeyPinningService extends nsISupports {
8993   hostHasPins(aURI: nsIURI): boolean;
8996 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecretDecoderRing.idl
8998 interface nsISecretDecoderRing extends nsISupports {
8999   encryptString(text: string): string;
9000   asyncEncryptStrings(plaintexts: string[]): Promise<any>;
9001   decryptString(encryptedBase64Text: string): string;
9002   asyncDecryptStrings(encryptedStrings: string[]): Promise<any>;
9003   changePassword(): void;
9004   logout(): void;
9005   logoutAndTeardown(): void;
9008 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISecurityUITelemetry.idl
9010 interface nsISecurityUITelemetry extends nsISupports {
9011   readonly WARNING_ADDON_ASKING_PREVENTED: 1;
9012   readonly WARNING_ADDON_ASKING_PREVENTED_CLICK_THROUGH: 2;
9013   readonly WARNING_CONFIRM_ADDON_INSTALL: 3;
9014   readonly WARNING_CONFIRM_ADDON_INSTALL_CLICK_THROUGH: 4;
9015   readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE: 9;
9016   readonly WARNING_CONFIRM_POST_TO_INSECURE_FROM_SECURE_CLICK_THROUGH: 10;
9019 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsISiteSecurityService.idl
9021 }  // global
9023 declare namespace nsISiteSecurityService {
9025 enum ResetStateBy {
9026   ExactDomain = 0,
9027   RootDomain = 1,
9028   BaseDomain = 2,
9033 declare global {
9035 interface nsISiteSecurityService extends nsISupports, Enums<typeof nsISiteSecurityService.ResetStateBy> {
9036   readonly Success: 0;
9037   readonly ERROR_UNKNOWN: 1;
9038   readonly ERROR_COULD_NOT_PARSE_HEADER: 3;
9039   readonly ERROR_NO_MAX_AGE: 4;
9040   readonly ERROR_MULTIPLE_MAX_AGES: 5;
9041   readonly ERROR_INVALID_MAX_AGE: 6;
9042   readonly ERROR_MULTIPLE_INCLUDE_SUBDOMAINS: 7;
9043   readonly ERROR_INVALID_INCLUDE_SUBDOMAINS: 8;
9044   readonly ERROR_COULD_NOT_SAVE_STATE: 13;
9046   processHeader(aSourceURI: nsIURI, aHeader: string, aOriginAttributes?: any, aMaxAge?: OutParam<u64>, aIncludeSubdomains?: OutParam<boolean>, aFailureResult?: OutParam<u32>): void;
9047   resetState(aURI: nsIURI, aOriginAttributes?: any, aScope?: nsISiteSecurityService.ResetStateBy): void;
9048   isSecureURI(aURI: nsIURI, aOriginAttributes?: any): boolean;
9049   clearAll(): void;
9052 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITLSSocketControl.idl
9054 interface nsITLSSocketControl extends nsISupports {
9055   readonly KEY_EXCHANGE_UNKNOWN: -1;
9056   readonly SSL_VERSION_3: 768;
9057   readonly TLS_VERSION_1: 769;
9058   readonly TLS_VERSION_1_1: 770;
9059   readonly TLS_VERSION_1_2: 771;
9060   readonly TLS_VERSION_1_3: 772;
9061   readonly SSL_VERSION_UNKNOWN: -1;
9062   readonly SSL_MAC_UNKNOWN: -1;
9063   readonly SSL_MAC_NULL: 0;
9064   readonly SSL_MAC_MD5: 1;
9065   readonly SSL_MAC_SHA: 2;
9066   readonly SSL_HMAC_MD5: 3;
9067   readonly SSL_HMAC_SHA: 4;
9068   readonly SSL_HMAC_SHA256: 5;
9069   readonly SSL_MAC_AEAD: 6;
9071   proxyStartSSL(): void;
9072   StartTLS(): void;
9073   getAlpnEarlySelection(): string;
9074   readonly earlyDataAccepted: boolean;
9075   driveHandshake(): void;
9076   joinConnection(npnProtocol: string, hostname: string, port: i32): boolean;
9077   testJoinConnection(npnProtocol: string, hostname: string, port: i32): boolean;
9078   isAcceptableForHost(hostname: string): boolean;
9079   readonly KEAUsed: i16;
9080   readonly KEAKeyBits: u32;
9081   readonly providerFlags: u32;
9082   readonly SSLVersionUsed: i16;
9083   readonly SSLVersionOffered: i16;
9084   readonly MACAlgorithmUsed: i16;
9085   readonly clientCertSent: boolean;
9086   readonly failedVerification: boolean;
9087   esniTxt: string;
9088   echConfig: string;
9089   readonly retryEchConfig: string;
9090   readonly peerId: string;
9091   readonly securityInfo: nsITransportSecurityInfo;
9092   asyncGetSecurityInfo(): Promise<any>;
9093   claim(): void;
9094   browserId: u64;
9097 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITokenPasswordDialogs.idl
9099 interface nsITokenPasswordDialogs extends nsISupports {
9100   setPassword(ctx: nsIInterfaceRequestor, token: nsIPK11Token): boolean;
9103 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsITransportSecurityInfo.idl
9105 }  // global
9107 declare namespace nsITransportSecurityInfo {
9109 enum OverridableErrorCategory {
9110   ERROR_UNSET = 0,
9111   ERROR_TRUST = 1,
9112   ERROR_DOMAIN = 2,
9113   ERROR_TIME = 3,
9118 declare global {
9120 interface nsITransportSecurityInfo extends nsISupports, Enums<typeof nsITransportSecurityInfo.OverridableErrorCategory> {
9121   readonly SSL_VERSION_3: 0;
9122   readonly TLS_VERSION_1: 1;
9123   readonly TLS_VERSION_1_1: 2;
9124   readonly TLS_VERSION_1_2: 3;
9125   readonly TLS_VERSION_1_3: 4;
9126   readonly CERTIFICATE_TRANSPARENCY_NOT_APPLICABLE: 0;
9127   readonly CERTIFICATE_TRANSPARENCY_POLICY_COMPLIANT: 5;
9128   readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_ENOUGH_SCTS: 6;
9129   readonly CERTIFICATE_TRANSPARENCY_POLICY_NOT_DIVERSE_SCTS: 7;
9131   readonly securityState: u32;
9132   readonly errorCode: i32;
9133   readonly errorCodeString: string;
9134   readonly failedCertChain: nsIX509Cert[];
9135   readonly serverCert: nsIX509Cert;
9136   readonly succeededCertChain: nsIX509Cert[];
9137   readonly cipherName: string;
9138   readonly keyLength: u32;
9139   readonly secretKeyLength: u32;
9140   readonly keaGroupName: string;
9141   readonly signatureSchemeName: string;
9142   readonly protocolVersion: u16;
9143   readonly certificateTransparencyStatus: u16;
9144   readonly isAcceptedEch: boolean;
9145   readonly isDelegatedCredential: boolean;
9146   readonly overridableErrorCategory: nsITransportSecurityInfo.OverridableErrorCategory;
9147   readonly madeOCSPRequests: boolean;
9148   readonly usedPrivateDNS: boolean;
9149   readonly isExtendedValidation: boolean;
9150   toString(): string;
9151   readonly negotiatedNPN: string;
9152   readonly resumed: boolean;
9153   readonly isBuiltCertChainRootBuiltInRoot: boolean;
9154   readonly peerId: string;
9157 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509Cert.idl
9159 interface nsIX509Cert extends nsISupports {
9160   readonly UNKNOWN_CERT: 0;
9161   readonly CA_CERT: 1;
9162   readonly USER_CERT: 2;
9163   readonly EMAIL_CERT: 4;
9164   readonly SERVER_CERT: 8;
9165   readonly ANY_CERT: 65535;
9167   readonly emailAddress: string;
9168   getEmailAddresses(): string[];
9169   containsEmailAddress(aEmailAddress: string): boolean;
9170   readonly subjectName: string;
9171   readonly commonName: string;
9172   readonly organization: string;
9173   readonly organizationalUnit: string;
9174   readonly sha256Fingerprint: string;
9175   readonly sha1Fingerprint: string;
9176   readonly tokenName: string;
9177   readonly issuerName: string;
9178   readonly serialNumber: string;
9179   readonly issuerCommonName: string;
9180   readonly issuerOrganization: string;
9181   readonly issuerOrganizationUnit: string;
9182   readonly validity: nsIX509CertValidity;
9183   readonly dbKey: string;
9184   readonly displayName: string;
9185   readonly certType: u32;
9186   getRawDER(): u8[];
9187   getBase64DERString(): string;
9188   readonly sha256SubjectPublicKeyInfoDigest: string;
9191 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertDB.idl
9193 }  // global
9195 declare namespace nsIAppSignatureInfo {
9197 enum SignatureAlgorithm {
9198   PKCS7_WITH_SHA1 = 0,
9199   PKCS7_WITH_SHA256 = 1,
9200   COSE_WITH_SHA256 = 2,
9205 declare global {
9207 interface nsIAppSignatureInfo extends nsISupports, Enums<typeof nsIAppSignatureInfo.SignatureAlgorithm> {
9208   readonly signerCert: nsIX509Cert;
9209   readonly signatureAlgorithm: nsIAppSignatureInfo.SignatureAlgorithm;
9212 type nsIOpenSignedAppFileCallback = Callable<{
9213   openSignedAppFileFinished(rv: nsresult, aZipReader: nsIZipReader, aSignatureInfos: nsIAppSignatureInfo[]): void;
9216 type nsIAsyncBoolCallback = Callable<{
9217   onResult(result: boolean): void;
9220 type nsICertVerificationCallback = Callable<{
9221   verifyCertFinished(aPRErrorCode: i32, aVerifiedChain: nsIX509Cert[], aHasEVPolicy: boolean): void;
9224 interface nsIX509CertDB extends nsISupports {
9225   readonly UNTRUSTED: 0;
9226   readonly TRUSTED_SSL: 1;
9227   readonly TRUSTED_EMAIL: 2;
9228   readonly Success: 0;
9229   readonly ERROR_UNKNOWN: 1;
9230   readonly ERROR_PKCS12_NOSMARTCARD_EXPORT: 2;
9231   readonly ERROR_PKCS12_RESTORE_FAILED: 3;
9232   readonly ERROR_PKCS12_BACKUP_FAILED: 4;
9233   readonly ERROR_PKCS12_CERT_COLLISION: 5;
9234   readonly ERROR_BAD_PASSWORD: 6;
9235   readonly ERROR_DECODE_ERROR: 7;
9236   readonly ERROR_PKCS12_DUPLICATE_DATA: 8;
9237   readonly AppXPCShellRoot: 6;
9238   readonly AddonsPublicRoot: 7;
9239   readonly AddonsStageRoot: 8;
9240   readonly FLAG_LOCAL_ONLY: 1;
9241   readonly FLAG_MUST_BE_EV: 2;
9243   findCertByDBKey(aDBkey: string): nsIX509Cert;
9244   importCertificates(data: u8[], length: u32, type: u32, ctx: nsIInterfaceRequestor): void;
9245   importEmailCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;
9246   importUserCertificate(data: u8[], length: u32, ctx: nsIInterfaceRequestor): void;
9247   deleteCertificate(aCert: nsIX509Cert): void;
9248   setCertTrust(cert: nsIX509Cert, type: u32, trust: u32): void;
9249   setCertTrustFromString(cert: nsIX509Cert, trustString: string): void;
9250   isCertTrusted(cert: nsIX509Cert, certType: u32, trustType: u32): boolean;
9251   importCertsFromFile(aFile: nsIFile, aType: u32): void;
9252   importPKCS12File(aFile: nsIFile, aPassword: string): u32;
9253   exportPKCS12File(aFile: nsIFile, aCerts: nsIX509Cert[], aPassword: string): u32;
9254   constructX509FromBase64(base64: string): nsIX509Cert;
9255   constructX509(certDER: u8[]): nsIX509Cert;
9256   openSignedAppFileAsync(trustedRoot: AppTrustedRoot, aJarFile: nsIFile, callback: nsIOpenSignedAppFileCallback): void;
9257   addCert(certDER: string, trust: string): nsIX509Cert;
9258   asyncVerifyCertAtTime(aCert: nsIX509Cert, aUsage: i64, aFlags: u32, aHostname: string, aTime: u64, aCallback: nsICertVerificationCallback): void;
9259   clearOCSPCache(): void;
9260   addCertFromBase64(base64: string, trust: string): nsIX509Cert;
9261   getCerts(): nsIX509Cert[];
9262   asPKCS7Blob(certList: nsIX509Cert[]): string;
9263   asyncHasThirdPartyRoots(callback: nsIAsyncBoolCallback): void;
9266 // https://searchfox.org/mozilla-central/source/security/manager/ssl/nsIX509CertValidity.idl
9268 interface nsIX509CertValidity extends nsISupports {
9269   readonly notBefore: PRTime;
9270   readonly notAfter: PRTime;
9273 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIAsyncHistory.idl
9275 interface mozIVisitInfo extends nsISupports {
9276   readonly visitId: i64;
9277   readonly visitDate: PRTime;
9278   readonly transitionType: u32;
9279   readonly referrerURI: nsIURI;
9282 interface mozIPlaceInfo extends nsISupports {
9283   readonly placeId: i64;
9284   readonly guid: string;
9285   readonly uri: nsIURI;
9286   readonly title: string;
9287   readonly frecency: i64;
9288   readonly visits: any;
9291 interface mozIVisitInfoCallback extends nsISupports {
9292   handleError(aResultCode: nsresult, aPlaceInfo: mozIPlaceInfo): void;
9293   handleResult(aPlaceInfo: mozIPlaceInfo): void;
9294   handleCompletion(aUpdatedItems: u32): void;
9295   readonly ignoreResults: boolean;
9296   readonly ignoreErrors: boolean;
9299 type mozIVisitedStatusCallback = Callable<{
9300   isVisited(aURI: nsIURI, aVisitedStatus: boolean): void;
9303 interface mozIAsyncHistory extends nsISupports {
9304   updatePlaces(aPlaceInfo: any, aCallback?: mozIVisitInfoCallback): void;
9305   isURIVisited(aURI: nsIURI, aCallback: mozIVisitedStatusCallback): void;
9306   clearCache(): void;
9309 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesAutoComplete.idl
9311 interface mozIPlacesAutoComplete extends nsISupports {
9312   readonly MATCH_ANYWHERE: 0;
9313   readonly MATCH_BOUNDARY_ANYWHERE: 1;
9314   readonly MATCH_BOUNDARY: 2;
9315   readonly MATCH_BEGINNING: 3;
9316   readonly MATCH_ANYWHERE_UNMODIFIED: 4;
9317   readonly MATCH_BEGINNING_CASE_SENSITIVE: 5;
9318   readonly BEHAVIOR_HISTORY: 1;
9319   readonly BEHAVIOR_BOOKMARK: 2;
9320   readonly BEHAVIOR_TAG: 4;
9321   readonly BEHAVIOR_TITLE: 8;
9322   readonly BEHAVIOR_URL: 16;
9323   readonly BEHAVIOR_TYPED: 32;
9324   readonly BEHAVIOR_JAVASCRIPT: 64;
9325   readonly BEHAVIOR_OPENPAGE: 128;
9326   readonly BEHAVIOR_RESTRICT: 256;
9327   readonly BEHAVIOR_SEARCH: 512;
9330 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozIPlacesPendingOperation.idl
9332 interface mozIPlacesPendingOperation extends nsISupports {
9333   cancel(): void;
9336 // https://searchfox.org/mozilla-central/source/toolkit/components/places/mozISyncedBookmarksMirror.idl
9338 interface mozISyncedBookmarksMirrorProgressListener extends nsISupports {
9339   onFetchLocalTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;
9340   onFetchRemoteTree(took: i64, itemCount: i64, deletedCount: i64, problems: nsIPropertyBag): void;
9341   onMerge(took: i64, counts: nsIPropertyBag): void;
9342   onApply(took: i64): void;
9345 interface mozISyncedBookmarksMirrorCallback extends nsISupports {
9346   handleSuccess(result: boolean): void;
9347   handleError(code: nsresult, message: string): void;
9350 interface mozISyncedBookmarksMirrorLogger extends nsISupports {
9351   readonly LEVEL_OFF: 0;
9352   readonly LEVEL_ERROR: 1;
9353   readonly LEVEL_WARN: 2;
9354   readonly LEVEL_DEBUG: 3;
9355   readonly LEVEL_TRACE: 4;
9357   maxLevel: i16;
9358   error(message: string): void;
9359   warn(message: string): void;
9360   debug(message: string): void;
9361   trace(message: string): void;
9364 interface mozISyncedBookmarksMerger extends nsISupports {
9365   readonly KIND_BOOKMARK: 1;
9366   readonly KIND_QUERY: 2;
9367   readonly KIND_FOLDER: 3;
9368   readonly KIND_LIVEMARK: 4;
9369   readonly KIND_SEPARATOR: 5;
9370   readonly VALIDITY_VALID: 1;
9371   readonly VALIDITY_REUPLOAD: 2;
9372   readonly VALIDITY_REPLACE: 3;
9374   db: mozIStorageConnection;
9375   logger: mozIServicesLogSink;
9376   merge(localTimeSeconds: i64, remoteTimeSeconds: i64, callback: mozISyncedBookmarksMirrorCallback): mozIPlacesPendingOperation;
9377   reset(): void;
9380 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIFaviconService.idl
9382 interface nsIFaviconService extends nsISupports {
9383   readonly FAVICON_LOAD_PRIVATE: 1;
9384   readonly FAVICON_LOAD_NON_PRIVATE: 2;
9385   readonly MAX_FAVICON_BUFFER_SIZE: 65536;
9387   getFaviconLinkForIcon(aFaviconURI: nsIURI): nsIURI;
9388   expireAllFavicons(): void;
9389   setDefaultIconURIPreferredSize(aDefaultSize: u16): void;
9390   preferredSizeFromURI(aURI: nsIURI): u16;
9391   readonly defaultFavicon: nsIURI;
9392   readonly defaultFaviconMimeType: string;
9393   setAndFetchFaviconForPage(aPageURI: nsIURI, aFaviconURI: nsIURI, aForceReload: boolean, aFaviconLoadType: u32, aCallback?: nsIFaviconDataCallback, aLoadingPrincipal?: nsIPrincipal, aRequestContextID?: u64): mozIPlacesPendingOperation;
9394   replaceFaviconData(aFaviconURI: nsIURI, aData: u8[], aMimeType: string, aExpiration?: PRTime): void;
9395   replaceFaviconDataFromDataURL(aFaviconURI: nsIURI, aDataURL: string, aExpiration?: PRTime, aLoadingPrincipal?: nsIPrincipal): void;
9396   getFaviconURLForPage(aPageURI: nsIURI, aCallback: nsIFaviconDataCallback, aPreferredWidth?: u16): void;
9397   getFaviconDataForPage(aPageURI: nsIURI, aCallback: nsIFaviconDataCallback, aPreferredWidth?: u16): void;
9398   copyFavicons(aFromPageURI: nsIURI, aToPageURI: nsIURI, aFaviconLoadType: u32, aCallback?: nsIFaviconDataCallback): void;
9401 type nsIFaviconDataCallback = Callable<{
9402   onComplete(aFaviconURI: nsIURI, aDataLen: u32, aData: u8[], aMimeType: string, aWidth: u16): void;
9405 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavBookmarksService.idl
9407 interface nsINavBookmarksService extends nsISupports {
9408   readonly DEFAULT_INDEX: -1;
9409   readonly TYPE_BOOKMARK: 1;
9410   readonly TYPE_FOLDER: 2;
9411   readonly TYPE_SEPARATOR: 3;
9412   readonly TYPE_DYNAMIC_CONTAINER: 4;
9413   readonly SOURCE_DEFAULT: 0;
9414   readonly SOURCE_SYNC: 1;
9415   readonly SOURCE_IMPORT: 2;
9416   readonly SOURCE_SYNC_REPARENT_REMOVED_FOLDER_CHILDREN: 4;
9417   readonly SOURCE_RESTORE: 5;
9418   readonly SOURCE_RESTORE_ON_STARTUP: 6;
9419   readonly SYNC_STATUS_UNKNOWN: 0;
9420   readonly SYNC_STATUS_NEW: 1;
9421   readonly SYNC_STATUS_NORMAL: 2;
9423   readonly tagsFolder: i64;
9424   readonly totalSyncChanges: i64;
9425   insertBookmark(aParentId: i64, aURI: nsIURI, aIndex: i32, aTitle: string, aGuid?: string, aSource?: u16): i64;
9426   removeItem(aItemId: i64, aSource?: u16): void;
9427   createFolder(aParentFolder: i64, name: string, index: i32, aGuid?: string, aSource?: u16): i64;
9428   setItemTitle(aItemId: i64, aTitle: string, aSource?: u16): void;
9429   getItemTitle(aItemId: i64): string;
9430   setItemLastModified(aItemId: i64, aLastModified: PRTime, aSource?: u16): void;
9433 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsINavHistoryService.idl
9435 interface nsINavHistoryResultNode extends nsISupports {
9436   readonly RESULT_TYPE_URI: 0;
9437   readonly RESULT_TYPE_QUERY: 5;
9438   readonly RESULT_TYPE_FOLDER: 6;
9439   readonly RESULT_TYPE_SEPARATOR: 7;
9440   readonly RESULT_TYPE_FOLDER_SHORTCUT: 9;
9442   readonly parent: nsINavHistoryContainerResultNode;
9443   readonly parentResult: nsINavHistoryResult;
9444   readonly uri: string;
9445   readonly type: u32;
9446   readonly title: string;
9447   readonly accessCount: u32;
9448   readonly time: PRTime;
9449   readonly icon: string;
9450   readonly indentLevel: i32;
9451   readonly bookmarkIndex: i32;
9452   readonly itemId: i64;
9453   readonly dateAdded: PRTime;
9454   readonly lastModified: PRTime;
9455   readonly tags: string;
9456   readonly pageGuid: string;
9457   readonly bookmarkGuid: string;
9458   readonly visitId: i64;
9459   readonly visitType: u32;
9462 interface nsINavHistoryContainerResultNode extends nsINavHistoryResultNode {
9463   readonly STATE_CLOSED: 0;
9464   readonly STATE_LOADING: 1;
9465   readonly STATE_OPENED: 2;
9467   containerOpen: boolean;
9468   readonly state: u16;
9469   readonly hasChildren: boolean;
9470   readonly childCount: u32;
9471   getChild(aIndex: u32): nsINavHistoryResultNode;
9472   getChildIndex(aNode: nsINavHistoryResultNode): u32;
9475 interface nsINavHistoryQueryResultNode extends nsINavHistoryContainerResultNode {
9476   readonly query: nsINavHistoryQuery;
9477   readonly queryOptions: nsINavHistoryQueryOptions;
9478   readonly folderItemId: i64;
9479   readonly targetFolderGuid: string;
9482 interface nsINavHistoryResultObserver extends nsISupports {
9483   readonly skipHistoryDetailsNotifications: boolean;
9484   nodeInserted(aParent: nsINavHistoryContainerResultNode, aNode: nsINavHistoryResultNode, aNewIndex: u32): void;
9485   nodeRemoved(aParent: nsINavHistoryContainerResultNode, aItem: nsINavHistoryResultNode, aOldIndex: u32): void;
9486   nodeMoved(aNode: nsINavHistoryResultNode, aOldParent: nsINavHistoryContainerResultNode, aOldIndex: u32, aNewParent: nsINavHistoryContainerResultNode, aNewIndex: u32): void;
9487   nodeTitleChanged(aNode: nsINavHistoryResultNode, aNewTitle: string): void;
9488   nodeURIChanged(aNode: nsINavHistoryResultNode, aOldURI: string): void;
9489   nodeIconChanged(aNode: nsINavHistoryResultNode): void;
9490   nodeHistoryDetailsChanged(aNode: nsINavHistoryResultNode, aOldVisitDate: PRTime, aOldAccessCount: u32): void;
9491   nodeTagsChanged(aNode: nsINavHistoryResultNode): void;
9492   nodeKeywordChanged(aNode: nsINavHistoryResultNode, aNewKeyword: string): void;
9493   nodeDateAddedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;
9494   nodeLastModifiedChanged(aNode: nsINavHistoryResultNode, aNewValue: PRTime): void;
9495   containerStateChanged(aContainerNode: nsINavHistoryContainerResultNode, aOldState: u32, aNewState: u32): void;
9496   invalidateContainer(aContainerNode: nsINavHistoryContainerResultNode): void;
9497   sortingChanged(sortingMode: u16): void;
9498   batching(aToggleMode: boolean): void;
9499   result: nsINavHistoryResult;
9502 interface nsINavHistoryResult extends nsISupports {
9503   sortingMode: u16;
9504   suppressNotifications: boolean;
9505   addObserver(aObserver: nsINavHistoryResultObserver, aOwnsWeak?: boolean): void;
9506   removeObserver(aObserver: nsINavHistoryResultObserver): void;
9507   readonly root: nsINavHistoryContainerResultNode;
9508   onBeginUpdateBatch(): void;
9509   onEndUpdateBatch(): void;
9512 interface nsINavHistoryQuery extends nsISupports {
9513   readonly TIME_RELATIVE_EPOCH: 0;
9514   readonly TIME_RELATIVE_TODAY: 1;
9515   readonly TIME_RELATIVE_NOW: 2;
9517   beginTime: PRTime;
9518   beginTimeReference: u32;
9519   readonly hasBeginTime: boolean;
9520   readonly absoluteBeginTime: PRTime;
9521   endTime: PRTime;
9522   endTimeReference: u32;
9523   readonly hasEndTime: boolean;
9524   readonly absoluteEndTime: PRTime;
9525   searchTerms: string;
9526   readonly hasSearchTerms: boolean;
9527   minVisits: i32;
9528   maxVisits: i32;
9529   setTransitions(transitions: u32[]): void;
9530   getTransitions(): u32[];
9531   readonly transitionCount: u32;
9532   domainIsHost: boolean;
9533   domain: string;
9534   readonly hasDomain: boolean;
9535   uri: nsIURI;
9536   readonly hasUri: boolean;
9537   tags: nsIVariant;
9538   tagsAreNot: boolean;
9539   getParents(): string[];
9540   readonly parentCount: u32;
9541   setParents(aGuids: string[]): void;
9542   clone(): nsINavHistoryQuery;
9545 interface nsINavHistoryQueryOptions extends nsISupports {
9546   readonly SORT_BY_NONE: 0;
9547   readonly SORT_BY_TITLE_ASCENDING: 1;
9548   readonly SORT_BY_TITLE_DESCENDING: 2;
9549   readonly SORT_BY_DATE_ASCENDING: 3;
9550   readonly SORT_BY_DATE_DESCENDING: 4;
9551   readonly SORT_BY_URI_ASCENDING: 5;
9552   readonly SORT_BY_URI_DESCENDING: 6;
9553   readonly SORT_BY_VISITCOUNT_ASCENDING: 7;
9554   readonly SORT_BY_VISITCOUNT_DESCENDING: 8;
9555   readonly SORT_BY_DATEADDED_ASCENDING: 11;
9556   readonly SORT_BY_DATEADDED_DESCENDING: 12;
9557   readonly SORT_BY_LASTMODIFIED_ASCENDING: 13;
9558   readonly SORT_BY_LASTMODIFIED_DESCENDING: 14;
9559   readonly SORT_BY_TAGS_ASCENDING: 17;
9560   readonly SORT_BY_TAGS_DESCENDING: 18;
9561   readonly SORT_BY_FRECENCY_ASCENDING: 21;
9562   readonly SORT_BY_FRECENCY_DESCENDING: 22;
9563   readonly RESULTS_AS_URI: 0;
9564   readonly RESULTS_AS_VISIT: 1;
9565   readonly RESULTS_AS_DATE_QUERY: 3;
9566   readonly RESULTS_AS_SITE_QUERY: 4;
9567   readonly RESULTS_AS_DATE_SITE_QUERY: 5;
9568   readonly RESULTS_AS_TAGS_ROOT: 6;
9569   readonly RESULTS_AS_TAG_CONTENTS: 7;
9570   readonly RESULTS_AS_ROOTS_QUERY: 8;
9571   readonly RESULTS_AS_LEFT_PANE_QUERY: 9;
9572   readonly QUERY_TYPE_HISTORY: 0;
9573   readonly QUERY_TYPE_BOOKMARKS: 1;
9575   sortingMode: u16;
9576   resultType: u16;
9577   excludeItems: boolean;
9578   excludeQueries: boolean;
9579   expandQueries: boolean;
9580   includeHidden: boolean;
9581   maxResults: u32;
9582   queryType: u16;
9583   asyncEnabled: boolean;
9584   clone(): nsINavHistoryQueryOptions;
9587 interface nsINavHistoryService extends nsISupports {
9588   readonly DATABASE_SCHEMA_VERSION: 77;
9589   readonly TRANSITION_LINK: 1;
9590   readonly TRANSITION_TYPED: 2;
9591   readonly TRANSITION_BOOKMARK: 3;
9592   readonly TRANSITION_EMBED: 4;
9593   readonly TRANSITION_REDIRECT_PERMANENT: 5;
9594   readonly TRANSITION_REDIRECT_TEMPORARY: 6;
9595   readonly TRANSITION_DOWNLOAD: 7;
9596   readonly TRANSITION_FRAMED_LINK: 8;
9597   readonly TRANSITION_RELOAD: 9;
9598   readonly DATABASE_STATUS_OK: 0;
9599   readonly DATABASE_STATUS_CREATE: 1;
9600   readonly DATABASE_STATUS_CORRUPT: 2;
9601   readonly DATABASE_STATUS_UPGRADED: 3;
9602   readonly DATABASE_STATUS_LOCKED: 4;
9603   readonly VISIT_SOURCE_ORGANIC: 0;
9604   readonly VISIT_SOURCE_SPONSORED: 1;
9605   readonly VISIT_SOURCE_BOOKMARKED: 2;
9606   readonly VISIT_SOURCE_SEARCHED: 3;
9608   readonly databaseStatus: u16;
9609   markPageAsFollowedBookmark(aURI: nsIURI): void;
9610   markPageAsTyped(aURI: nsIURI): void;
9611   markPageAsFollowedLink(aURI: nsIURI): void;
9612   canAddURI(aURI: nsIURI): boolean;
9613   getNewQuery(): nsINavHistoryQuery;
9614   getNewQueryOptions(): nsINavHistoryQueryOptions;
9615   executeQuery(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): nsINavHistoryResult;
9616   queryStringToQuery(aQueryString: string, aQuery: OutParam<nsINavHistoryQuery>, options: OutParam<nsINavHistoryQueryOptions>): void;
9617   queryToQueryString(aQuery: nsINavHistoryQuery, options: nsINavHistoryQueryOptions): string;
9618   readonly historyDisabled: boolean;
9619   makeGuid(): string;
9620   hashURL(aSpec: string, aMode?: string): u64;
9621   isFrecencyDecaying: boolean;
9622   shouldStartFrecencyRecalculation: boolean;
9623   readonly DBConnection: mozIStorageConnection;
9624   asyncExecuteLegacyQuery(aQuery: nsINavHistoryQuery, aOptions: nsINavHistoryQueryOptions, aCallback: mozIStorageStatementCallback): mozIStoragePendingStatement;
9625   readonly shutdownClient: nsIAsyncShutdownClient;
9626   readonly connectionShutdownClient: nsIAsyncShutdownClient;
9629 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsIPlacesPreviewsHelperService.idl
9631 interface nsIPlacesPreviewsHelperService extends nsISupports {
9632   getFilePathForURL(aURL: string): string;
9635 // https://searchfox.org/mozilla-central/source/toolkit/components/places/nsITaggingService.idl
9637 interface nsITaggingService extends nsISupports {
9638   tagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;
9639   untagURI(aURI: nsIURI, aTags: nsIVariant, aSource?: u16): void;
9640   getTagsForURI(aURI: nsIURI): string[];
9643 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefBranch.idl
9645 interface nsIPrefBranch extends nsISupports {
9646   readonly PREF_INVALID: 0;
9647   readonly PREF_STRING: 32;
9648   readonly PREF_INT: 64;
9649   readonly PREF_BOOL: 128;
9651   readonly root: string;
9652   getPrefType(aPrefName: string): i32;
9653   getBoolPref(aPrefName: string, aDefaultValue?: boolean): boolean;
9654   setBoolPref(aPrefName: string, aValue: boolean): void;
9655   getFloatPref(aPrefName: string, aDefaultValue?: float): float;
9656   getCharPref(aPrefName: string, aDefaultValue?: string): string;
9657   setCharPref(aPrefName: string, aValue: string): void;
9658   getStringPref(aPrefName: string, aDefaultValue?: string): string;
9659   setStringPref(aPrefName: string, aValue: string): void;
9660   getIntPref(aPrefName: string, aDefaultValue?: i32): i32;
9661   setIntPref(aPrefName: string, aValue: i32): void;
9662   getComplexValue<T extends nsIID>(aPrefName: string, aType: T): nsQIResult<T>;
9663   setComplexValue(aPrefName: string, aType: nsID, aValue: nsISupports): void;
9664   clearUserPref(aPrefName: string): void;
9665   lockPref(aPrefName: string): void;
9666   prefHasUserValue(aPrefName: string): boolean;
9667   prefHasDefaultValue(aPrefName: string): boolean;
9668   prefIsLocked(aPrefName: string): boolean;
9669   prefIsSanitized(aPrefName: string): boolean;
9670   unlockPref(aPrefName: string): void;
9671   deleteBranch(aStartingAt: string): void;
9672   getChildList(aStartingAt: string): string[];
9673   addObserver(aDomain: string, aObserver: nsIObserver, aHoldWeak?: boolean): void;
9674   removeObserver(aDomain: string, aObserver: nsIObserver): void;
9677 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefLocalizedString.idl
9679 interface nsIPrefLocalizedString extends nsISupportsString {
9682 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIPrefService.idl
9684 type nsIPrefStatsCallback = Callable<{
9685   visit(prefName: string, accessCount: u32): void;
9688 interface nsIPrefObserver extends nsISupports {
9689   onStringPref(kind: string, name: string, value: string, isSticky: boolean, isLocked: boolean): void;
9690   onIntPref(kind: string, name: string, value: i32, isSticky: boolean, isLocked: boolean): void;
9691   onBoolPref(kind: string, name: string, value: boolean, isSticky: boolean, isLocked: boolean): void;
9692   onError(message: string): void;
9695 interface nsIPrefService extends nsISupports {
9696   resetPrefs(): void;
9697   savePrefFile(aFile: nsIFile): void;
9698   backupPrefFile(aFile: nsIFile): Promise<any>;
9699   getBranch(aPrefRoot: string): nsIPrefBranch;
9700   getDefaultBranch(aPrefRoot: string): nsIPrefBranch;
9701   readonly dirty: boolean;
9702   readDefaultPrefsFromFile(aFile: nsIFile): void;
9703   readUserPrefsFromFile(aFile: nsIFile): void;
9704   readStats(callback: nsIPrefStatsCallback): void;
9705   resetStats(): void;
9706   parsePrefsFromBuffer(bytes: u8[], observer: nsIPrefObserver, pathLabel?: string): void;
9709 // https://searchfox.org/mozilla-central/source/modules/libpref/nsIRelativeFilePref.idl
9711 interface nsIRelativeFilePref extends nsISupports {
9712   file: nsIFile;
9713   relativeToKey: string;
9716 // https://searchfox.org/mozilla-central/source/uriloader/prefetch/nsIPrefetchService.idl
9718 interface nsIPrefetchService extends nsISupports {
9719   prefetchURI(aURI: nsIURI, aReferrerInfo: nsIReferrerInfo, aSource: Node, aExplicit: boolean): void;
9720   preloadURI(aURI: nsIURI, aReferrerInfo: nsIReferrerInfo, aSource: Node, aPolicyType: nsContentPolicyType): void;
9721   hasMoreElements(): boolean;
9722   cancelPrefetchPreloadURI(aURI: nsIURI, aSource: Node): void;
9725 // https://searchfox.org/mozilla-central/source/tools/profiler/gecko/nsIProfiler.idl
9727 interface nsIProfilerStartParams extends nsISupports {
9728   readonly entries: u32;
9729   readonly duration: double;
9730   readonly interval: double;
9731   readonly features: u32;
9732   readonly activeTabID: u64;
9735 interface nsIProfiler extends nsISupports {
9736   StartProfiler(aEntries: u32, aInterval: double, aFeatures: string[], aFilters?: string[], aActiveTabID?: u64, aDuration?: double): Promise<any>;
9737   StopProfiler(): Promise<any>;
9738   IsPaused(): boolean;
9739   Pause(): Promise<any>;
9740   Resume(): Promise<any>;
9741   IsSamplingPaused(): boolean;
9742   PauseSampling(): Promise<any>;
9743   ResumeSampling(): Promise<any>;
9744   waitOnePeriodicSampling(): Promise<any>;
9745   GetProfile(aSinceTime?: double): string;
9746   getProfileData(aSinceTime?: double): any;
9747   getProfileDataAsync(aSinceTime?: double): Promise<any>;
9748   getProfileDataAsArrayBuffer(aSinceTime?: double): Promise<any>;
9749   getProfileDataAsGzippedArrayBuffer(aSinceTime?: double): Promise<any>;
9750   dumpProfileToFileAsync(aFilename: string, aSinceTime?: double): Promise<any>;
9751   dumpProfileToFile(aFilename: string): void;
9752   IsActive(): boolean;
9753   ClearAllPages(): void;
9754   GetFeatures(): string[];
9755   readonly activeConfiguration: any;
9756   GetAllFeatures(): string[];
9757   GetBufferInfo(aCurrentPosition: OutParam<u32>, aTotalSize: OutParam<u32>, aGeneration: OutParam<u32>): void;
9758   getElapsedTime(): double;
9759   readonly sharedLibraries: any;
9760   getSymbolTable(aDebugPath: string, aBreakpadID: string): Promise<any>;
9763 // https://searchfox.org/mozilla-central/source/dom/media/test/rdd_process_xpcom/nsIRddProcessTest.idl
9765 interface nsIRddProcessTest extends nsISupports {
9766   testTelemetryProbes(): Promise<any>;
9767   stopProcess(): void;
9770 // https://searchfox.org/mozilla-central/source/remote/components/nsIMarionette.idl
9772 interface nsIMarionette extends nsISupports {
9773   readonly running: boolean;
9776 // https://searchfox.org/mozilla-central/source/remote/components/nsIRemoteAgent.idl
9778 interface nsIRemoteAgent extends nsISupports {
9779   readonly debuggerAddress: string;
9780   readonly running: boolean;
9783 // https://searchfox.org/mozilla-central/source/toolkit/components/reputationservice/nsIApplicationReputation.idl
9785 interface nsIApplicationReputationService extends nsISupports {
9786   readonly VERDICT_SAFE: 0;
9787   readonly VERDICT_DANGEROUS: 1;
9788   readonly VERDICT_UNCOMMON: 2;
9789   readonly VERDICT_POTENTIALLY_UNWANTED: 3;
9790   readonly VERDICT_DANGEROUS_HOST: 4;
9792   queryReputation(aQuery: nsIApplicationReputationQuery, aCallback: nsIApplicationReputationCallback): void;
9793   isBinary(aFilename: string): boolean;
9794   isExecutable(aFilename: string): boolean;
9797 interface nsIApplicationReputationQuery extends nsISupports {
9798   readonly sourceURI: nsIURI;
9799   readonly referrerInfo: nsIReferrerInfo;
9800   readonly suggestedFileName: string;
9801   readonly fileSize: u32;
9802   readonly sha256Hash: string;
9803   readonly signatureInfo: u8[][][];
9804   readonly redirects: nsIArray;
9807 type nsIApplicationReputationCallback = Callable<{
9808   onComplete(aShouldBlock: boolean, aStatus: nsresult, aVerdict: u32): void;
9811 // https://searchfox.org/mozilla-central/source/security/sandbox/common/mozISandboxSettings.idl
9813 interface mozISandboxSettings extends nsISupports {
9814   readonly effectiveContentSandboxLevel: i32;
9815   readonly contentWin32kLockdownState: i32;
9816   readonly contentWin32kLockdownStateString: string;
9819 // https://searchfox.org/mozilla-central/source/toolkit/components/satchel/nsIFormFillController.idl
9821 interface nsIFormFillController extends nsISupports {
9822   readonly focusedInput: HTMLInputElement;
9823   readonly passwordPopupAutomaticallyOpened: boolean;
9824   attachPopupElementToDocument(document: Document, popup: Element): void;
9825   detachFromDocument(document: Document): void;
9826   isLoginManagerField(aInput: HTMLInputElement): boolean;
9827   markAsLoginManagerField(aInput: HTMLInputElement): void;
9828   markAsAutofillField(aInput: HTMLInputElement): void;
9829   showPopup(): void;
9832 type nsIFormFillCompleteObserver = Callable<{
9833   onSearchCompletion(result: nsIAutoCompleteResult): void;
9836 // https://searchfox.org/mozilla-central/source/toolkit/components/satchel/nsIFormHistoryAutoComplete.idl
9838 interface nsIFormHistoryAutoComplete extends nsISupports {
9839   autoCompleteSearchAsync(aInputName: string, aSearchString: string, aField: HTMLInputElement, aPreviousResult: nsIAutoCompleteResult, aAddDatalist: boolean, aListener: nsIFormFillCompleteObserver): void;
9840   stopAutoCompleteSearch(): void;
9843 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIAppServicesLogger.idl
9845 interface mozIAppServicesLogger extends nsISupports {
9846   register(target: string, logger: mozIServicesLogSink): void;
9849 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIBridgedSyncEngine.idl
9851 interface mozIBridgedSyncEngineCallback extends nsISupports {
9852   handleSuccess(result: nsIVariant): void;
9853   handleError(code: nsresult, message: string): void;
9856 interface mozIBridgedSyncEngineApplyCallback extends nsISupports {
9857   handleSuccess(outgoingEnvelopesAsJSON: string[]): void;
9858   handleError(code: nsresult, message: string): void;
9861 interface mozIBridgedSyncEngine extends nsISupports {
9862   readonly storageVersion: i32;
9863   readonly allowSkippedRecord: boolean;
9864   logger: mozIServicesLogSink;
9865   getLastSync(callback: mozIBridgedSyncEngineCallback): void;
9866   setLastSync(lastSyncMillis: i64, callback: mozIBridgedSyncEngineCallback): void;
9867   getSyncId(callback: mozIBridgedSyncEngineCallback): void;
9868   resetSyncId(callback: mozIBridgedSyncEngineCallback): void;
9869   ensureCurrentSyncId(newSyncId: string, callback: mozIBridgedSyncEngineCallback): void;
9870   syncStarted(callback: mozIBridgedSyncEngineCallback): void;
9871   storeIncoming(incomingEnvelopesAsJSON: string[], callback: mozIBridgedSyncEngineCallback): void;
9872   apply(callback: mozIBridgedSyncEngineApplyCallback): void;
9873   setUploaded(newTimestampMillis: i64, uploadedIds: string[], callback: mozIBridgedSyncEngineCallback): void;
9874   syncFinished(callback: mozIBridgedSyncEngineCallback): void;
9875   reset(callback: mozIBridgedSyncEngineCallback): void;
9876   wipe(callback: mozIBridgedSyncEngineCallback): void;
9879 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIInterruptible.idl
9881 interface mozIInterruptible extends nsISupports {
9882   interrupt(): void;
9885 // https://searchfox.org/mozilla-central/source/services/interfaces/mozIServicesLogSink.idl
9887 interface mozIServicesLogSink extends nsISupports {
9888   readonly LEVEL_OFF: 0;
9889   readonly LEVEL_ERROR: 1;
9890   readonly LEVEL_WARN: 2;
9891   readonly LEVEL_INFO: 3;
9892   readonly LEVEL_DEBUG: 4;
9893   readonly LEVEL_TRACE: 5;
9895   maxLevel: i16;
9896   error(message: string): void;
9897   warn(message: string): void;
9898   debug(message: string): void;
9899   trace(message: string): void;
9900   info(message: string): void;
9903 // https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/SessionStoreFunctions.idl
9905 interface nsISessionStoreFunctions extends nsISupports {
9906   UpdateSessionStore(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aCollectSHistory: boolean, aData: any): void;
9907   UpdateSessionStoreForStorage(aBrowser: Element, aBrowsingContext: BrowsingContext, aPermanentKey: any, aEpoch: u32, aData: any): void;
9910 // https://searchfox.org/mozilla-central/source/toolkit/components/sessionstore/nsISessionStoreRestoreData.idl
9912 interface nsISessionStoreRestoreData extends nsISupports {
9913   url: string;
9914   innerHTML: string;
9915   scroll: string;
9916   addTextField(aIsXPath: boolean, aIdOrXPath: string, aValue: string): void;
9917   addCheckbox(aIsXPath: boolean, aIdOrXPath: string, aValue: boolean): void;
9918   addFileList(aIsXPath: boolean, aIdOrXPath: string, aType: string, aFileList: string[]): void;
9919   addSingleSelect(aIsXPath: boolean, aIdOrXPath: string, aSelectedIndex: u32, aValue: string): void;
9920   addMultipleSelect(aIsXPath: boolean, aIdOrXPath: string, aValues: string[]): void;
9921   addCustomElement(aIsXPath: boolean, aIdOrXPath: string, aValue: any, aState: any): void;
9922   addChild(aChild: nsISessionStoreRestoreData, aIndex: u32): void;
9925 // https://searchfox.org/mozilla-central/source/browser/components/shell/nsIShellService.idl
9927 interface nsIShellService extends nsISupports {
9928   readonly BACKGROUND_TILE: 1;
9929   readonly BACKGROUND_STRETCH: 2;
9930   readonly BACKGROUND_CENTER: 3;
9931   readonly BACKGROUND_FILL: 4;
9932   readonly BACKGROUND_FIT: 5;
9933   readonly BACKGROUND_SPAN: 6;
9935   isDefaultBrowser(aForAllTypes?: boolean): boolean;
9936   setDefaultBrowser(aForAllUsers: boolean): void;
9937   setDesktopBackground(aElement: Element, aPosition: i32, aImageName: string): void;
9938   desktopBackgroundColor: u32;
9941 // https://searchfox.org/mozilla-central/source/browser/components/shell/nsIWindowsShellService.idl
9943 interface nsIWindowsShellService extends nsISupports {
9944   createShortcut(aBinary: nsIFile, aArguments: string[], aDescription: string, aIconFile: nsIFile, aIconIndex: u16, aAppUserModelId: string, aShortcutFolder: string, aShortcutName: string): Promise<any>;
9945   getLaunchOnLoginShortcuts(): string[];
9946   pinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;
9947   checkPinCurrentAppToTaskbarAsync(aPrivateBrowsing: boolean): Promise<any>;
9948   isCurrentAppPinnedToTaskbarAsync(aumid: string): Promise<any>;
9949   pinShortcutToTaskbar(aShortcutPath: string): void;
9950   unpinShortcutFromTaskbar(aShortcutPath: string): void;
9951   getTaskbarTabShortcutPath(aShortcutName: string): string;
9952   getTaskbarTabPins(): string[];
9953   classifyShortcut(aPath: string): string;
9954   hasMatchingShortcut(aAUMID: string, aPrivateBrowsing: boolean): Promise<any>;
9955   canSetDefaultBrowserUserChoice(): boolean;
9956   checkAllProgIDsExist(): boolean;
9957   checkBrowserUserChoiceHashes(): boolean;
9958   isDefaultHandlerFor(aFileExtensionOrProtocol: string): boolean;
9959   queryCurrentDefaultHandlerFor(aFileExtensionOrProtocol: string): string;
9962 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsIBFCacheEntry.idl
9964 interface nsIBFCacheEntry extends nsISupports {
9965   RemoveFromBFCacheSync(): void;
9966   RemoveFromBFCacheAsync(): void;
9969 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHEntry.idl
9971 interface nsISHEntry extends nsISupports {
9972   URI: nsIURI;
9973   originalURI: nsIURI;
9974   resultPrincipalURI: nsIURI;
9975   unstrippedURI: nsIURI;
9976   loadReplace: boolean;
9977   title: string;
9978   name: string;
9979   isSubFrame: boolean;
9980   hasUserInteraction: boolean;
9981   hasUserActivation: boolean;
9982   referrerInfo: nsIReferrerInfo;
9983   documentViewer: nsIDocumentViewer;
9984   readonly isInBFCache: boolean;
9985   sticky: boolean;
9986   windowState: nsISupports;
9987   refreshURIList: nsIMutableArray;
9988   postData: nsIInputStream;
9989   readonly hasPostData: boolean;
9990   layoutHistoryState: nsILayoutHistoryState;
9991   parent: nsISHEntry;
9992   loadType: u32;
9993   ID: u32;
9994   cacheKey: u32;
9995   saveLayoutStateFlag: boolean;
9996   contentType: string;
9997   URIWasModified: boolean;
9998   triggeringPrincipal: nsIPrincipal;
9999   principalToInherit: nsIPrincipal;
10000   partitionedPrincipalToInherit: nsIPrincipal;
10001   csp: nsIContentSecurityPolicy;
10002   stateData: nsIStructuredCloneContainer;
10003   docshellID: nsID;
10004   readonly isSrcdocEntry: boolean;
10005   srcdocData: string;
10006   baseURI: nsIURI;
10007   scrollRestorationIsManual: boolean;
10008   readonly loadedInThisProcess: boolean;
10009   readonly childCount: i32;
10010   persist: boolean;
10011   setScrollPosition(x: i32, y: i32): void;
10012   getScrollPosition(x: OutParam<i32>, y: OutParam<i32>): void;
10013   initLayoutHistoryState(): nsILayoutHistoryState;
10014   clone(): nsISHEntry;
10015   hasDynamicallyAddedChild(): boolean;
10016   adoptBFCacheEntry(aEntry: nsISHEntry): void;
10017   abandonBFCacheEntry(): void;
10018   sharesDocumentWith(aEntry: nsISHEntry): boolean;
10019   setLoadTypeAsHistory(): void;
10020   AddChild(aChild: nsISHEntry, aOffset: i32, aUseRemoteSubframes?: boolean): void;
10021   GetChildAt(aIndex: i32): nsISHEntry;
10022   readonly bfcacheID: u64;
10023   wireframe: any;
10026 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistory.idl
10028 interface nsISHistory extends nsISupports {
10029   readonly count: i32;
10030   index: i32;
10031   readonly requestedIndex: i32;
10032   getEntryAtIndex(aIndex: i32): nsISHEntry;
10033   purgeHistory(aNumEntries: i32): void;
10034   addSHistoryListener(aListener: nsISHistoryListener): void;
10035   removeSHistoryListener(aListener: nsISHistoryListener): void;
10036   reloadCurrentEntry(): void;
10037   addEntry(aEntry: nsISHEntry, aPersist: boolean): void;
10038   updateIndex(): void;
10039   replaceEntry(aIndex: i32, aReplaceEntry: nsISHEntry): void;
10040   notifyOnHistoryReload(): boolean;
10041   evictOutOfRangeDocumentViewers(aIndex: i32): void;
10042   evictAllDocumentViewers(): void;
10043   createEntry(): nsISHEntry;
10046 // https://searchfox.org/mozilla-central/source/docshell/shistory/nsISHistoryListener.idl
10048 interface nsISHistoryListener extends nsISupports {
10049   OnHistoryNewEntry(aNewURI: nsIURI, aOldIndex: i32): void;
10050   OnHistoryReload(): boolean;
10051   OnHistoryGotoIndex(): void;
10052   OnHistoryPurge(aNumEntries: i32): void;
10053   OnHistoryTruncate(aNumEntries: i32): void;
10054   OnHistoryReplaceEntry(): void;
10055   OnDocumentViewerEvicted(aNumEvicted: u32): void;
10058 // https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozIPersonalDictionary.idl
10060 interface mozIPersonalDictionary extends nsISupports {
10061   load(): void;
10062   save(): void;
10063   readonly wordList: nsIStringEnumerator;
10064   check(word: string): boolean;
10065   addWord(word: string): void;
10066   removeWord(word: string): void;
10067   ignoreWord(word: string): void;
10068   endSession(): void;
10071 // https://searchfox.org/mozilla-central/source/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
10073 interface mozISpellCheckingEngine extends nsISupports {
10074   dictionaries: string[];
10075   personalDictionary: mozIPersonalDictionary;
10076   getDictionaryList(): string[];
10077   check(word: string): boolean;
10078   suggest(word: string): string[];
10079   loadDictionariesFromDir(dir: nsIFile): void;
10080   addDirectory(dir: nsIFile): void;
10081   removeDirectory(dir: nsIFile): void;
10082   addDictionary(lang: string, file: nsIURI): void;
10083   removeDictionary(lang: string, file: nsIURI): boolean;
10086 // https://searchfox.org/mozilla-central/source/startupcache/nsIStartupCacheInfo.idl
10088 interface nsIStartupCacheInfo extends nsISupports {
10089   readonly IgnoreDiskCache: boolean;
10090   readonly FoundDiskCacheOnInit: boolean;
10091   readonly WroteToDiskCache: boolean;
10092   readonly DiskCachePath: string;
10095 // https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncConnection.idl
10097 interface mozIStorageAsyncConnection extends nsISupports {
10098   readonly TRANSACTION_DEFAULT: -1;
10099   readonly TRANSACTION_DEFERRED: 0;
10100   readonly TRANSACTION_IMMEDIATE: 1;
10101   readonly TRANSACTION_EXCLUSIVE: 2;
10103   defaultTransactionType: i32;
10104   variableLimit: i32;
10105   readonly transactionInProgress: boolean;
10106   asyncClose(aCallback?: mozIStorageCompletionCallback): void;
10107   asyncClone(aReadOnly: boolean, aCallback: mozIStorageCompletionCallback): void;
10108   readonly databaseFile: nsIFile;
10109   interrupt(): void;
10110   asyncVacuum(aCallback?: mozIStorageCompletionCallback, aUseIncremental?: boolean, aSetPageSize?: i32): void;
10111   createAsyncStatement(aSQLStatement: string): mozIStorageAsyncStatement;
10112   executeAsync(aStatements: mozIStorageBaseStatement[], aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10113   executeSimpleSQLAsync(aSQLStatement: string, aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10114   loadExtension(aExtensionName: string, aCallback?: mozIStorageCompletionCallback): void;
10115   createFunction(aFunctionName: string, aNumArguments: i32, aFunction: mozIStorageFunction): void;
10116   removeFunction(aFunctionName: string): void;
10117   setProgressHandler(aGranularity: i32, aHandler: mozIStorageProgressHandler): mozIStorageProgressHandler;
10118   removeProgressHandler(): mozIStorageProgressHandler;
10119   backupToFileAsync(aDestinationFile: nsIFile, aCallback: mozIStorageCompletionCallback): void;
10122 // https://searchfox.org/mozilla-central/source/storage/mozIStorageAsyncStatement.idl
10124 interface mozIStorageAsyncStatement extends mozIStorageBaseStatement {
10127 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBaseStatement.idl
10129 interface mozIStorageBaseStatement extends mozIStorageBindingParams {
10130   readonly MOZ_STORAGE_STATEMENT_INVALID: 0;
10131   readonly MOZ_STORAGE_STATEMENT_READY: 1;
10132   readonly MOZ_STORAGE_STATEMENT_EXECUTING: 2;
10134   finalize(): void;
10135   bindParameters(aParameters: mozIStorageBindingParamsArray): void;
10136   newBindingParamsArray(): mozIStorageBindingParamsArray;
10137   executeAsync(aCallback?: mozIStorageStatementCallback): mozIStoragePendingStatement;
10138   readonly state: i32;
10139   escapeStringForLIKE(aValue: string, aEscapeChar: string): string;
10140   escapeUTF8StringForLIKE(aValue: string, aEscapeChar: string): string;
10143 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParams.idl
10145 interface mozIStorageBindingParams extends nsISupports {
10146   bindByName(aName: string, aValue: nsIVariant): void;
10147   bindBlobByName(aName: string, aValue: u8[]): void;
10148   bindStringAsBlobByName(aName: string, aValue: string): void;
10149   bindUTF8StringAsBlobByName(aName: string, aValue: string): void;
10150   bindByIndex(aIndex: u32, aValue: nsIVariant): void;
10151   bindBlobByIndex(aIndex: u32, aValue: u8[]): void;
10152   bindStringAsBlobByIndex(aIndex: u32, aValue: string): void;
10153   bindUTF8StringAsBlobByIndex(aIndex: u32, aValue: string): void;
10156 // https://searchfox.org/mozilla-central/source/storage/mozIStorageBindingParamsArray.idl
10158 interface mozIStorageBindingParamsArray extends nsISupports {
10159   newBindingParams(): mozIStorageBindingParams;
10160   addParams(aParameters: mozIStorageBindingParams): void;
10161   readonly length: u32;
10164 // https://searchfox.org/mozilla-central/source/storage/mozIStorageCompletionCallback.idl
10166 type mozIStorageCompletionCallback = Callable<{
10167   complete(status: nsresult, value?: nsISupports): void;
10170 // https://searchfox.org/mozilla-central/source/storage/mozIStorageConnection.idl
10172 interface mozIStorageConnection extends mozIStorageAsyncConnection {
10173   close(): void;
10174   clone(aReadOnly?: boolean): mozIStorageConnection;
10175   readonly defaultPageSize: i32;
10176   readonly connectionReady: boolean;
10177   readonly lastInsertRowID: i64;
10178   readonly affectedRows: i32;
10179   readonly lastError: i32;
10180   readonly lastErrorString: string;
10181   schemaVersion: i32;
10182   createStatement(aSQLStatement: string): mozIStorageStatement;
10183   executeSimpleSQL(aSQLStatement: string): void;
10184   tableExists(aTableName: string): boolean;
10185   indexExists(aIndexName: string): boolean;
10186   beginTransaction(): void;
10187   commitTransaction(): void;
10188   rollbackTransaction(): void;
10189   createTable(aTableName: string, aTableSchema: string): void;
10190   setGrowthIncrement(aIncrement: i32, aDatabaseName: string): void;
10193 // https://searchfox.org/mozilla-central/source/storage/mozIStorageError.idl
10195 interface mozIStorageError extends nsISupports {
10196   readonly ERROR: 1;
10197   readonly INTERNAL: 2;
10198   readonly PERM: 3;
10199   readonly ABORT: 4;
10200   readonly BUSY: 5;
10201   readonly LOCKED: 6;
10202   readonly NOMEM: 7;
10203   readonly READONLY: 8;
10204   readonly INTERRUPT: 9;
10205   readonly IOERR: 10;
10206   readonly CORRUPT: 11;
10207   readonly FULL: 13;
10208   readonly CANTOPEN: 14;
10209   readonly EMPTY: 16;
10210   readonly SCHEMA: 17;
10211   readonly TOOBIG: 18;
10212   readonly CONSTRAINT: 19;
10213   readonly MISMATCH: 20;
10214   readonly MISUSE: 21;
10215   readonly NOLFS: 22;
10216   readonly AUTH: 23;
10217   readonly FORMAT: 24;
10218   readonly RANGE: 25;
10219   readonly NOTADB: 26;
10221   readonly result: i32;
10222   readonly message: string;
10225 // https://searchfox.org/mozilla-central/source/storage/mozIStorageFunction.idl
10227 type mozIStorageFunction = Callable<{
10228   onFunctionCall(aFunctionArguments: mozIStorageValueArray): nsIVariant;
10231 // https://searchfox.org/mozilla-central/source/storage/mozIStoragePendingStatement.idl
10233 interface mozIStoragePendingStatement extends nsISupports {
10234   cancel(): void;
10237 // https://searchfox.org/mozilla-central/source/storage/mozIStorageProgressHandler.idl
10239 interface mozIStorageProgressHandler extends nsISupports {
10240   onProgress(aConnection: mozIStorageConnection): boolean;
10243 // https://searchfox.org/mozilla-central/source/storage/mozIStorageResultSet.idl
10245 interface mozIStorageResultSet extends nsISupports {
10246   getNextRow(): mozIStorageRow;
10249 // https://searchfox.org/mozilla-central/source/storage/mozIStorageRow.idl
10251 interface mozIStorageRow extends mozIStorageValueArray {
10252   getResultByIndex(aIndex: u32): nsIVariant;
10253   getResultByName(aName: string): nsIVariant;
10256 // https://searchfox.org/mozilla-central/source/storage/mozIStorageService.idl
10258 interface mozIStorageService extends nsISupports {
10259   readonly OPEN_DEFAULT: 0;
10260   readonly OPEN_SHARED: 1;
10261   readonly OPEN_READONLY: 2;
10262   readonly OPEN_IGNORE_LOCKING_MODE: 4;
10263   readonly CONNECTION_DEFAULT: 0;
10264   readonly CONNECTION_INTERRUPTIBLE: 1;
10266   openAsyncDatabase(aDatabaseStore: nsIVariant, aOpenFlags: u32, aConnectionFlags: u32, aCallback: mozIStorageCompletionCallback): void;
10267   openSpecialDatabase(aStorageKey: string, aName?: string, aConnectionFlags?: u32): mozIStorageConnection;
10268   openDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;
10269   openUnsharedDatabase(aDatabaseFile: nsIFile, aConnectionFlags?: u32): mozIStorageConnection;
10270   openDatabaseWithFileURL(aFileURL: nsIFileURL, aTelemetryFilename?: string, aConnectionFlags?: u32): mozIStorageConnection;
10273 // https://searchfox.org/mozilla-central/source/storage/mozIStorageStatement.idl
10275 interface mozIStorageStatement extends mozIStorageBaseStatement {
10276   readonly VALUE_TYPE_NULL: 0;
10277   readonly VALUE_TYPE_INTEGER: 1;
10278   readonly VALUE_TYPE_FLOAT: 2;
10279   readonly VALUE_TYPE_TEXT: 3;
10280   readonly VALUE_TYPE_BLOB: 4;
10282   clone(): mozIStorageStatement;
10283   readonly parameterCount: u32;
10284   getParameterName(aParamIndex: u32): string;
10285   getParameterIndex(aName: string): u32;
10286   readonly columnCount: u32;
10287   getColumnName(aColumnIndex: u32): string;
10288   getColumnIndex(aName: string): u32;
10289   reset(): void;
10290   execute(): void;
10291   executeStep(): boolean;
10292   readonly numEntries: u32;
10293   getTypeOfIndex(aIndex: u32): i32;
10294   getVariant(aIndex: u32): nsIVariant;
10295   getInt32(aIndex: u32): i32;
10296   getInt64(aIndex: u32): i64;
10297   getDouble(aIndex: u32): double;
10298   getUTF8String(aIndex: u32): string;
10299   getString(aIndex: u32): string;
10300   getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;
10301   getBlobAsString(aIndex: u32): string;
10302   getBlobAsUTF8String(aIndex: u32): string;
10303   getIsNull(aIndex: u32): boolean;
10306 // https://searchfox.org/mozilla-central/source/storage/mozIStorageStatementCallback.idl
10308 interface mozIStorageStatementCallback extends nsISupports {
10309   readonly REASON_FINISHED: 0;
10310   readonly REASON_CANCELED: 1;
10311   readonly REASON_ERROR: 2;
10313   handleResult(aResultSet: mozIStorageResultSet): void;
10314   handleError(aError: mozIStorageError): void;
10315   handleCompletion(aReason: u16): void;
10318 // https://searchfox.org/mozilla-central/source/storage/mozIStorageVacuumParticipant.idl
10320 interface mozIStorageVacuumParticipant extends nsISupports {
10321   readonly expectedDatabasePageSize: i32;
10322   readonly useIncrementalVacuum: boolean;
10323   readonly databaseConnection: mozIStorageAsyncConnection;
10324   onBeginVacuum(): boolean;
10325   onEndVacuum(aSucceeded: boolean): void;
10328 // https://searchfox.org/mozilla-central/source/storage/mozIStorageValueArray.idl
10330 interface mozIStorageValueArray extends nsISupports {
10331   readonly VALUE_TYPE_NULL: 0;
10332   readonly VALUE_TYPE_INTEGER: 1;
10333   readonly VALUE_TYPE_FLOAT: 2;
10334   readonly VALUE_TYPE_TEXT: 3;
10335   readonly VALUE_TYPE_BLOB: 4;
10337   readonly numEntries: u32;
10338   getTypeOfIndex(aIndex: u32): i32;
10339   getInt32(aIndex: u32): i32;
10340   getInt64(aIndex: u32): i64;
10341   getDouble(aIndex: u32): double;
10342   getUTF8String(aIndex: u32): string;
10343   getString(aIndex: u32): string;
10344   getBlob(aIndex: u32, aDataSize: OutParam<u32>, aData: OutParam<u8[]>): void;
10345   getBlobAsString(aIndex: u32): string;
10346   getBlobAsUTF8String(aIndex: u32): string;
10347   getIsNull(aIndex: u32): boolean;
10350 // https://searchfox.org/mozilla-central/source/toolkit/components/taskscheduler/nsIWinTaskSchedulerService.idl
10352 interface nsIWinTaskSchedulerService extends nsISupports {
10353   registerTask(aFolderName: string, aTaskName: string, aDefinitionXML: string, aUpdateExisting?: boolean): void;
10354   validateTaskDefinition(aDefinitionXML: string): i32;
10355   getTaskXML(aFolderName: string, aTaskName: string): string;
10356   getCurrentUserSid(): string;
10357   deleteTask(aFolderName: string, aTaskName: string): void;
10358   getFolderTasks(aFolderName: string): string[];
10359   createFolder(aParentFolderName: string, aSubFolderName: string): void;
10360   deleteFolder(aParentFolderName: string, aSubFolderName: string): void;
10363 // https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/core/nsITelemetry.idl
10365 type nsIFetchTelemetryDataCallback = Callable<{
10366   complete(): void;
10369 interface nsITelemetry extends nsISupports {
10370   readonly HISTOGRAM_EXPONENTIAL: 0;
10371   readonly HISTOGRAM_LINEAR: 1;
10372   readonly HISTOGRAM_BOOLEAN: 2;
10373   readonly HISTOGRAM_FLAG: 3;
10374   readonly HISTOGRAM_COUNT: 4;
10375   readonly HISTOGRAM_CATEGORICAL: 5;
10376   readonly SCALAR_TYPE_COUNT: 0;
10377   readonly SCALAR_TYPE_STRING: 1;
10378   readonly SCALAR_TYPE_BOOLEAN: 2;
10379   readonly DATASET_ALL_CHANNELS: 0;
10380   readonly DATASET_PRERELEASE_CHANNELS: 1;
10381   readonly INCLUDE_OLD_LOADEVENTS: 1;
10382   readonly KEEP_LOADEVENTS_NEW: 2;
10383   readonly INCLUDE_PRIVATE_FIELDS_IN_LOADEVENTS: 4;
10384   readonly EXCLUDE_STACKINFO_FROM_LOADEVENTS: 8;
10386   getCategoricalLabels(): any;
10387   getSnapshotForHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10388   getSnapshotForKeyedHistograms(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10389   getSnapshotForScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10390   getSnapshotForKeyedScalars(aStoreName?: string, aClearStore?: boolean, aFilterTest?: boolean): any;
10391   readonly lastShutdownDuration: u32;
10392   readonly failedProfileLockCount: u32;
10393   readonly slowSQL: any;
10394   readonly debugSlowSQL: any;
10395   getUntrustedModuleLoadEvents(aFlags?: u32): Promise<any>;
10396   readonly areUntrustedModuleLoadEventsReady: boolean;
10397   getLoadedModules(): Promise<any>;
10398   readonly lateWrites: any;
10399   getHistogramById(id: string): any;
10400   getKeyedHistogramById(id: string): any;
10401   canRecordBase: boolean;
10402   canRecordExtended: boolean;
10403   readonly canRecordReleaseData: boolean;
10404   readonly canRecordPrereleaseData: boolean;
10405   readonly isOfficialTelemetry: boolean;
10406   setHistogramRecordingEnabled(id: string, enabled: boolean): void;
10407   asyncFetchTelemetryData(aCallback: nsIFetchTelemetryDataCallback): void;
10408   readonly fileIOReports: any;
10409   msSinceProcessStart(): double;
10410   msSinceProcessStartIncludingSuspend(): double;
10411   msSinceProcessStartExcludingSuspend(): double;
10412   msSystemNow(): double;
10413   scalarAdd(aName: string, aValue: any): void;
10414   scalarSet(aName: string, aValue: any): void;
10415   scalarSetMaximum(aName: string, aValue: any): void;
10416   keyedScalarAdd(aName: string, aKey: string, aValue: any): void;
10417   keyedScalarSet(aName: string, aKey: string, aValue: any): void;
10418   keyedScalarSetMaximum(aName: string, aKey: string, aValue: any): void;
10419   clearScalars(): void;
10420   flushBatchedChildTelemetry(): void;
10421   recordEvent(aCategory: string, aMethod: string, aObject: string, aValue?: any, extra?: any): void;
10422   setEventRecordingEnabled(aCategory: string, aEnabled: boolean): void;
10423   snapshotEvents(aDataset: u32, aClear?: boolean, aEventLimit?: u32): any;
10424   registerEvents(aCategory: string, aEventData: any): void;
10425   registerBuiltinEvents(aCategory: string, aEventData: any): void;
10426   registerScalars(aCategoryName: string, aScalarData: any): void;
10427   registerBuiltinScalars(aCategoryName: string, aScalarData: any): void;
10428   clearEvents(): void;
10429   getAllStores(): any;
10430   earlyInit(): void;
10431   delayedInit(): void;
10432   shutdown(): void;
10433   gatherMemory(): Promise<any>;
10436 // https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/dap/nsIDAPTelemetry.idl
10438 interface nsIDAPTelemetry extends nsISupports {
10439   GetReportU8(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u8, task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10440   GetReportVecU8(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u8[], task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10441   GetReportVecU16(leaderHpkeConfig: u8[], helperHpkeConfig: u8[], measurement: u16[], task_id: u8[], time_precision: u64, report: OutParam<u8[]>): void;
10444 // https://searchfox.org/mozilla-central/source/netwerk/test/httpserver/nsIHttpServer.idl
10446 interface nsIHttpServer extends nsISupports {
10447   start(port: i32): void;
10448   start_ipv6(port: i32): void;
10449   start_dualStack(port: i32): void;
10450   stop(callback: nsIHttpServerStoppedCallback): void;
10451   registerFile(path: string, file: nsIFile, handler?: nsIHttpRequestHandler): void;
10452   registerPathHandler(path: string, handler: nsIHttpRequestHandler): void;
10453   registerPrefixHandler(prefix: string, handler: nsIHttpRequestHandler): void;
10454   registerErrorHandler(code: u32, handler: nsIHttpRequestHandler): void;
10455   registerDirectory(path: string, dir: nsIFile): void;
10456   registerContentType(extension: string, type: string): void;
10457   setIndexHandler(handler: nsIHttpRequestHandler): void;
10458   readonly identity: nsIHttpServerIdentity;
10459   getState(path: string, key: string): string;
10460   setState(path: string, key: string, value: string): void;
10461   getSharedState(key: string): string;
10462   setSharedState(key: string, value: string): void;
10463   getObjectState(key: string): nsISupports;
10464   setObjectState(key: string, value: nsISupports): void;
10467 type nsIHttpServerStoppedCallback = Callable<{
10468   onStopped(): void;
10471 interface nsIHttpServerIdentity extends nsISupports {
10472   readonly primaryScheme: string;
10473   readonly primaryHost: string;
10474   readonly primaryPort: i32;
10475   add(scheme: string, host: string, port: i32): void;
10476   remove(scheme: string, host: string, port: i32): boolean;
10477   has(scheme: string, host: string, port: i32): boolean;
10478   getScheme(host: string, port: i32): string;
10479   setPrimary(scheme: string, host: string, port: i32): void;
10482 type nsIHttpRequestHandler = Callable<{
10483   handle(request: nsIHttpRequest, response: nsIHttpResponse): void;
10486 interface nsIHttpRequest extends nsISupports {
10487   readonly method: string;
10488   readonly scheme: string;
10489   readonly host: string;
10490   readonly port: u32;
10491   readonly path: string;
10492   readonly queryString: string;
10493   readonly httpVersion: string;
10494   getHeader(fieldName: string): string;
10495   hasHeader(fieldName: string): boolean;
10496   readonly headers: nsISimpleEnumerator;
10497   readonly bodyInputStream: nsIInputStream;
10500 interface nsIHttpResponse extends nsISupports {
10501   setStatusLine(httpVersion: string, statusCode: u16, description: string): void;
10502   setHeader(name: string, value: string, merge: boolean): void;
10503   setHeaderNoCheck(name: string, value: string): void;
10504   readonly bodyOutputStream: nsIOutputStream;
10505   write(data: string): void;
10506   processAsync(): void;
10507   seizePower(): void;
10508   finish(): void;
10511 // https://searchfox.org/mozilla-central/source/toolkit/components/thumbnails/nsIPageThumbsStorageService.idl
10513 interface nsIPageThumbsStorageService extends nsISupports {
10514   getLeafNameForURL(aURL: string): string;
10515   readonly path: string;
10516   getFilePathForURL(aURL: string): string;
10519 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileMigrator.idl
10521 interface nsIProfileStartup extends nsISupports {
10522   readonly directory: nsIFile;
10523   doStartup(): void;
10526 interface nsIProfileMigrator extends nsISupports {
10527   migrate(aStartup: nsIProfileStartup, aKey: string, aProfileName?: string): void;
10530 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIProfileUnlocker.idl
10532 interface nsIProfileUnlocker extends nsISupports {
10533   readonly ATTEMPT_QUIT: 0;
10534   readonly FORCE_QUIT: 1;
10536   unlock(aSeverity: u32): void;
10539 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfile.idl
10541 interface nsIProfileLock extends nsISupports {
10542   readonly directory: nsIFile;
10543   readonly localDirectory: nsIFile;
10544   readonly replacedLockTime: PRTime;
10545   unlock(): void;
10548 interface nsIToolkitProfile extends nsISupports {
10549   readonly rootDir: nsIFile;
10550   readonly localDir: nsIFile;
10551   name: string;
10552   remove(removeFiles: boolean): void;
10553   removeInBackground(removeFiles: boolean): void;
10554   lock(aUnlocker: OutParam<nsIProfileUnlocker>): nsIProfileLock;
10557 // https://searchfox.org/mozilla-central/source/toolkit/profile/nsIToolkitProfileService.idl
10559 }  // global
10561 declare namespace nsIToolkitProfileService {
10563 enum downgradeUIFlags {
10564   hasSync = 1,
10567 enum downgradeUIChoice {
10568   quit = 0,
10569   createNewProfile = 1,
10572 enum profileManagerResult {
10573   exit = 0,
10574   launchWithProfile = 1,
10575   restart = 2,
10580 declare global {
10582 interface nsIToolkitProfileService extends nsISupports, Enums<typeof nsIToolkitProfileService.downgradeUIFlags & typeof nsIToolkitProfileService.downgradeUIChoice & typeof nsIToolkitProfileService.profileManagerResult> {
10583   readonly isListOutdated: boolean;
10584   startWithLastProfile: boolean;
10585   readonly profiles: nsISimpleEnumerator;
10586   readonly currentProfile: nsIToolkitProfile;
10587   defaultProfile: nsIToolkitProfile;
10588   selectStartupProfile(aArgv: string[], aIsResetting: boolean, aUpdateChannel: string, aLegacyInstallHash: string, aRootDir: OutParam<nsIFile>, aLocalDir: OutParam<nsIFile>, aProfile: OutParam<nsIToolkitProfile>): boolean;
10589   getProfileByName(aName: string): nsIToolkitProfile;
10590   createProfile(aRootDir: nsIFile, aName: string): nsIToolkitProfile;
10591   createUniqueProfile(aRootDir: nsIFile, aNamePrefix: string): nsIToolkitProfile;
10592   readonly profileCount: u32;
10593   flush(): void;
10596 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/bouncetrackingprotection/nsIBounceTrackingProtection.idl
10598 interface nsIBounceTrackingProtection extends nsISupports {
10599   clearAll(): void;
10600   clearBySiteHostAndOA(aSiteHost: string, originAttributes: any): void;
10601   clearBySiteHost(aSiteHost: string): void;
10602   clearByTimeRange(aFrom: PRTime, aTo: PRTime): void;
10603   clearByOriginAttributesPattern(aPattern: string): void;
10604   testRunPurgeBounceTrackers(): Promise<any>;
10605   testClearExpiredUserActivations(): void;
10606   testGetBounceTrackerCandidateHosts(originAttributes: any): string[];
10607   testGetUserActivationHosts(originAttributes: any): string[];
10608   testAddBounceTrackerCandidate(originAttributes: any, aSiteHost: string, aBounceTime: PRTime): void;
10609   testAddUserActivation(originAttributes: any, aSiteHost: string, aActivationTime: PRTime): void;
10612 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIContentBlockingAllowList.idl
10614 interface nsIContentBlockingAllowList extends nsISupports {
10615   computeContentBlockingAllowListPrincipal(aPrincipal: nsIPrincipal): nsIPrincipal;
10618 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPartitioningExceptionListService.idl
10620 type nsIPartitioningExceptionListObserver = Callable<{
10621   onExceptionListUpdate(aList: string): void;
10624 interface nsIPartitioningExceptionListService extends nsISupports {
10625   registerAndRunExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;
10626   unregisterExceptionListObserver(aObserver: nsIPartitioningExceptionListObserver): void;
10629 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIPurgeTrackerService.idl
10631 interface nsIPurgeTrackerService extends nsISupports {
10632   purgeTrackingCookieJars(): Promise<any>;
10635 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsITrackingDBService.idl
10637 interface nsITrackingDBService extends nsISupports {
10638   readonly OTHER_COOKIES_BLOCKED_ID: 0;
10639   readonly TRACKERS_ID: 1;
10640   readonly TRACKING_COOKIES_ID: 2;
10641   readonly CRYPTOMINERS_ID: 3;
10642   readonly FINGERPRINTERS_ID: 4;
10643   readonly SOCIAL_ID: 5;
10644   readonly SUSPICIOUS_FINGERPRINTERS_ID: 6;
10646   recordContentBlockingLog(data: string): void;
10647   saveEvents(data: string): Promise<any>;
10648   clearAll(): Promise<any>;
10649   clearSince(since: i64): Promise<any>;
10650   getEventsByDateRange(dateFrom: i64, dateTo: i64): Promise<any>;
10651   sumAllEvents(): Promise<any>;
10652   getEarliestRecordedDate(): Promise<any>;
10655 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLDecorationAnnotationsService.idl
10657 interface nsIURLDecorationAnnotationsService extends nsISupports {
10658   ensureUpdated(): Promise<any>;
10661 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStringStripper.idl
10663 interface nsIURLQueryStringStripper extends nsISupports {
10664   strip(aURI: nsIURI, aIsPBM: boolean, aOutput: OutParam<nsIURI>): u32;
10665   stripForCopyOrShare(aURI: nsIURI): nsIURI;
10666   testGetStripList(): string;
10669 // https://searchfox.org/mozilla-central/source/toolkit/components/antitracking/nsIURLQueryStrippingListService.idl
10671 interface nsIURLQueryStrippingListObserver extends nsISupports {
10672   onQueryStrippingListUpdate(aStripList: string, aAllowList: string): void;
10673   onStripOnShareUpdate(aStripRules: string[]): void;
10676 interface nsIURLQueryStrippingListService extends nsISupports {
10677   registerAndRunObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10678   registerAndRunObserverStripOnShare(aObserver: nsIURLQueryStrippingListObserver): void;
10679   unregisterObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10680   unregisterStripOnShareObserver(aObserver: nsIURLQueryStrippingListObserver): void;
10681   clearLists(): void;
10682   testWaitForInit(): Promise<any>;
10683   testSetList(testFile: any): Promise<any>;
10684   testHasStripOnShareObservers(): boolean;
10685   testHasQPSObservers(): boolean;
10688 // https://searchfox.org/mozilla-central/source/toolkit/components/asyncshutdown/nsIAsyncShutdown.idl
10690 interface nsIAsyncShutdownBlocker extends nsISupports {
10691   readonly name: string;
10692   blockShutdown(aBarrierClient: nsIAsyncShutdownClient): void;
10693   readonly state: nsIPropertyBag;
10696 interface nsIAsyncShutdownClient extends nsISupports {
10697   readonly name: string;
10698   readonly isClosed: boolean;
10699   addBlocker(aBlocker: nsIAsyncShutdownBlocker, aFileName: string, aLineNumber: i32, aStack: string): void;
10700   removeBlocker(aBlocker: nsIAsyncShutdownBlocker): void;
10701   readonly jsclient: any;
10704 type nsIAsyncShutdownCompletionCallback = Callable<{
10705   done(): void;
10708 interface nsIAsyncShutdownBarrier extends nsISupports {
10709   readonly client: nsIAsyncShutdownClient;
10710   readonly state: nsIPropertyBag;
10711   wait(aOnReady: nsIAsyncShutdownCompletionCallback): void;
10714 interface nsIAsyncShutdownService extends nsISupports {
10715   makeBarrier(aName: string): nsIAsyncShutdownBarrier;
10716   readonly profileBeforeChange: nsIAsyncShutdownClient;
10717   readonly profileChangeTeardown: nsIAsyncShutdownClient;
10718   readonly quitApplicationGranted: nsIAsyncShutdownClient;
10719   readonly sendTelemetry: nsIAsyncShutdownClient;
10720   readonly webWorkersShutdown: nsIAsyncShutdownClient;
10721   readonly xpcomWillShutdown: nsIAsyncShutdownClient;
10724 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasks.idl
10726 interface nsIBackgroundTasks extends nsISupports {
10727   readonly isBackgroundTaskMode: boolean;
10728   backgroundTaskName(): string;
10729   overrideBackgroundTaskNameForTesting(taskName: string): void;
10732 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksManager.idl
10734 interface nsIBackgroundTasksManager extends nsICommandLineHandler {
10735   runBackgroundTaskNamed(aTaskName: string, aCommandLine: nsICommandLine): void;
10738 // https://searchfox.org/mozilla-central/source/toolkit/components/backgroundtasks/nsIBackgroundTasksRunner.idl
10740 interface nsIBackgroundTasksRunner extends nsISupports {
10741   runInDetachedProcess(aTaskName: string, aCommandLine: string[]): void;
10742   removeDirectoryInDetachedProcess(aParentDirPath: string, aChildDirName: string, aSecondsToWait: string, aOtherFoldersSuffix: string, aMetricsId?: string): void;
10745 // https://searchfox.org/mozilla-central/source/toolkit/components/cleardata/nsIClearDataService.idl
10747 interface nsIClearDataService extends nsISupports {
10748   readonly CLEAR_COOKIES: 1;
10749   readonly CLEAR_NETWORK_CACHE: 2;
10750   readonly CLEAR_IMAGE_CACHE: 4;
10751   readonly CLEAR_DOWNLOADS: 16;
10752   readonly CLEAR_PASSWORDS: 32;
10753   readonly CLEAR_MEDIA_DEVICES: 64;
10754   readonly CLEAR_DOM_QUOTA: 128;
10755   readonly CLEAR_PREDICTOR_NETWORK_DATA: 256;
10756   readonly CLEAR_DOM_PUSH_NOTIFICATIONS: 512;
10757   readonly CLEAR_HISTORY: 1024;
10758   readonly CLEAR_SESSION_HISTORY: 2048;
10759   readonly CLEAR_AUTH_TOKENS: 4096;
10760   readonly CLEAR_AUTH_CACHE: 8192;
10761   readonly CLEAR_PERMISSIONS: 16384;
10762   readonly CLEAR_CONTENT_PREFERENCES: 32768;
10763   readonly CLEAR_HSTS: 65536;
10764   readonly CLEAR_EME: 131072;
10765   readonly CLEAR_REPORTS: 262144;
10766   readonly CLEAR_STORAGE_ACCESS: 524288;
10767   readonly CLEAR_CERT_EXCEPTIONS: 1048576;
10768   readonly CLEAR_CONTENT_BLOCKING_RECORDS: 2097152;
10769   readonly CLEAR_CSS_CACHE: 4194304;
10770   readonly CLEAR_PREFLIGHT_CACHE: 8388608;
10771   readonly CLEAR_CLIENT_AUTH_REMEMBER_SERVICE: 16777216;
10772   readonly CLEAR_CREDENTIAL_MANAGER_STATE: 16777216;
10773   readonly CLEAR_COOKIE_BANNER_EXCEPTION: 33554432;
10774   readonly CLEAR_COOKIE_BANNER_EXECUTED_RECORD: 67108864;
10775   readonly CLEAR_FINGERPRINTING_PROTECTION_STATE: 134217728;
10776   readonly CLEAR_BOUNCE_TRACKING_PROTECTION_STATE: 268435456;
10777   readonly CLEAR_STORAGE_PERMISSIONS: 536870912;
10778   readonly CLEAR_ALL: 4294967295;
10779   readonly CLEAR_ALL_CACHES: 12648454;
10780   readonly CLEAR_DOM_STORAGES: 262784;
10781   readonly CLEAR_FORGET_ABOUT_SITE: 534237079;
10782   readonly CLEAR_COOKIES_AND_SITE_DATA: 1007104641;
10784   deleteDataFromLocalFiles(aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10785   deleteDataFromHost(aHost: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10786   deleteDataFromBaseDomain(aDomainOrHost: string, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10787   deleteDataFromPrincipal(aPrincipal: nsIPrincipal, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10788   deleteDataInTimeRange(aFrom: PRTime, aTo: PRTime, aIsUserRequest: boolean, aFlags: u32, aCallback: nsIClearDataCallback): void;
10789   deleteData(aFlags: u32, aCallback: nsIClearDataCallback): void;
10790   deleteDataFromOriginAttributesPattern(aOriginAttributesPattern: any, aCallback?: nsIClearDataCallback): void;
10791   deleteUserInteractionForClearingHistory(aPrincipalsWithStorage: nsIPrincipal[], aFrom?: PRTime, aCallback?: nsIClearDataCallback): void;
10792   cleanupAfterDeletionAtShutdown(aFlags: u32, aCallback: nsIClearDataCallback): void;
10795 type nsIClearDataCallback = Callable<{
10796   onDataDeleted(aFailedFlags: u32): void;
10799 // https://searchfox.org/mozilla-central/source/toolkit/components/contentanalysis/nsIContentAnalysis.idl
10801 }  // global
10803 declare namespace nsIContentAnalysisAcknowledgement {
10805 enum Result {
10806   eSuccess = 1,
10807   eInvalidResponse = 2,
10808   eTooLate = 3,
10811 enum FinalAction {
10812   eUnspecified = 0,
10813   eAllow = 1,
10814   eReportOnly = 2,
10815   eWarn = 3,
10816   eBlock = 4,
10821 declare global {
10823 interface nsIContentAnalysisAcknowledgement extends nsISupports, Enums<typeof nsIContentAnalysisAcknowledgement.Result & typeof nsIContentAnalysisAcknowledgement.FinalAction> {
10824   readonly result: nsIContentAnalysisAcknowledgement.Result;
10825   readonly finalAction: nsIContentAnalysisAcknowledgement.FinalAction;
10828 }  // global
10830 declare namespace nsIContentAnalysisResponse {
10832 enum Action {
10833   eUnspecified = 0,
10834   eReportOnly = 1,
10835   eWarn = 2,
10836   eBlock = 3,
10837   eAllow = 1000,
10838   eCanceled = 1001,
10841 enum CancelError {
10842   eUserInitiated = 0,
10843   eNoAgent = 1,
10844   eInvalidAgentSignature = 2,
10845   eErrorOther = 3,
10850 declare global {
10852 interface nsIContentAnalysisResponse extends nsISupports, Enums<typeof nsIContentAnalysisResponse.Action & typeof nsIContentAnalysisResponse.CancelError> {
10853   readonly action: nsIContentAnalysisResponse.Action;
10854   readonly shouldAllowContent: boolean;
10855   readonly cancelError: nsIContentAnalysisResponse.CancelError;
10856   readonly requestToken: string;
10857   acknowledge(aCaa: nsIContentAnalysisAcknowledgement): void;
10860 interface nsIClientDownloadResource extends nsISupports {
10861   readonly DOWNLOAD_URL: 0;
10862   readonly DOWNLOAD_REDIRECT: 1;
10863   readonly TAB_URL: 2;
10864   readonly TAB_REDIRECT: 3;
10865   readonly PPAPI_DOCUMENT: 4;
10866   readonly PPAPI_PLUGIN: 5;
10868   readonly url: string;
10869   readonly type: u32;
10872 }  // global
10874 declare namespace nsIContentAnalysisRequest {
10876 enum AnalysisType {
10877   eUnspecified = 0,
10878   eFileDownloaded = 1,
10879   eFileAttached = 2,
10880   eBulkDataEntry = 3,
10881   ePrint = 4,
10882   eFileTransfer = 5,
10885 enum OperationType {
10886   eCustomDisplayString = 0,
10887   eClipboard = 1,
10888   eDroppedText = 2,
10889   eOperationPrint = 3,
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 printDataHandle: u64;
10903   readonly printDataSize: u64;
10904   readonly printerName: string;
10905   readonly url: nsIURI;
10906   readonly sha256Digest: string;
10907   readonly resources: nsIClientDownloadResource[];
10908   readonly email: string;
10909   readonly requestToken: string;
10910   readonly windowGlobalParent: WindowGlobalParent;
10913 interface nsIContentAnalysisResult extends nsISupports {
10914   readonly shouldAllowContent: boolean;
10917 interface nsIContentAnalysisCallback extends nsISupports {
10918   contentResult(aResult: nsIContentAnalysisResponse): void;
10919   error(aResult: nsresult): void;
10922 interface nsIContentAnalysisDiagnosticInfo extends nsISupports {
10923   readonly connectedToAgent: boolean;
10924   readonly agentPath: string;
10925   readonly failedSignatureVerification: boolean;
10926   readonly requestCount: i64;
10929 interface nsIContentAnalysis extends nsISupports {
10930   readonly isActive: boolean;
10931   readonly mightBeActive: boolean;
10932   isSetByEnterprisePolicy: boolean;
10933   analyzeContentRequest(aCar: nsIContentAnalysisRequest, aAutoAcknowledge: boolean): Promise<any>;
10934   analyzeContentRequestCallback(aCar: nsIContentAnalysisRequest, aAutoAcknowledge: boolean, callback: nsIContentAnalysisCallback): void;
10935   cancelContentAnalysisRequest(aRequestToken: string): void;
10936   respondToWarnDialog(aRequestToken: string, aAllowContent: boolean): void;
10937   cancelAllRequests(): void;
10938   testOnlySetCACmdLineArg(aVal: boolean): void;
10939   getDiagnosticInfo(): Promise<any>;
10942 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsIClickRule.idl
10944 }  // global
10946 declare namespace nsIClickRule {
10948 enum RunContext {
10949   RUN_TOP = 0,
10950   RUN_CHILD = 1,
10951   RUN_ALL = 2,
10956 declare global {
10958 interface nsIClickRule extends nsISupports, Enums<typeof nsIClickRule.RunContext> {
10959   readonly id: string;
10960   readonly presence: string;
10961   readonly skipPresenceVisibilityCheck: boolean;
10962   readonly runContext: nsIClickRule.RunContext;
10963   readonly hide: string;
10964   readonly optOut: string;
10965   readonly optIn: string;
10966   readonly isGlobalRule: boolean;
10969 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerListService.idl
10971 interface nsICookieBannerListService extends nsISupports {
10972   init(): void;
10973   initForTest(): Promise<any>;
10974   shutdown(): void;
10975   importAllRules(): void;
10978 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerRule.idl
10980 interface nsICookieBannerRule extends nsISupports {
10981   id: string;
10982   domains: string[];
10983   readonly cookiesOptOut: nsICookieRule[];
10984   readonly cookiesOptIn: nsICookieRule[];
10985   readonly isGlobalRule: boolean;
10986   clearCookies(): void;
10987   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;
10988   readonly clickRule: nsIClickRule;
10989   addClickRule(aPresence: string, aSkipPresenceVisibilityCheck?: boolean, aRunContext?: nsIClickRule.RunContext, aHide?: string, aOptOut?: string, aOptIn?: string): void;
10990   clearClickRule(): void;
10993 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerService.idl
10995 }  // global
10997 declare namespace nsICookieBannerService {
10999 enum Modes {
11000   MODE_DISABLED = 0,
11001   MODE_REJECT = 1,
11002   MODE_REJECT_OR_ACCEPT = 2,
11003   MODE_UNSET = 3,
11008 declare global {
11010 interface nsICookieBannerService extends nsISupports, Enums<typeof nsICookieBannerService.Modes> {
11011   readonly isEnabled: boolean;
11012   readonly rules: nsICookieBannerRule[];
11013   resetRules(doImport?: boolean): void;
11014   getCookiesForURI(aURI: nsIURI, aIsPrivateBrowsing: boolean): nsICookieRule[];
11015   getClickRulesForDomain(aDomain: string, aIsTopLevel: boolean): nsIClickRule[];
11016   insertRule(aRule: nsICookieBannerRule): void;
11017   removeRule(aRule: nsICookieBannerRule): void;
11018   hasRuleForBrowsingContextTree(aBrowsingContext: BrowsingContext): boolean;
11019   getDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): nsICookieBannerService.Modes;
11020   setDomainPref(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes, aIsPrivate: boolean): void;
11021   setDomainPrefAndPersistInPrivateBrowsing(aTopLevelURI: nsIURI, aMode: nsICookieBannerService.Modes): void;
11022   removeDomainPref(aTopLevelURI: nsIURI, aIsPrivate: boolean): void;
11023   removeAllDomainPrefs(aIsPrivate: boolean): void;
11024   shouldStopBannerClickingForSite(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): boolean;
11025   markSiteExecuted(aSite: string, aIsTopLevel: boolean, aIsPrivate: boolean): void;
11026   removeExecutedRecordForSite(aSite: string, aIsPrivate: boolean): void;
11027   removeAllExecutedRecords(aIsPrivate: boolean): void;
11028   resetDomainTelemetryRecord(aDomain?: string): void;
11031 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieBannerTelemetryService.idl
11033 interface nsICookieBannerTelemetryService extends nsISupports {
11036 // https://searchfox.org/mozilla-central/source/toolkit/components/cookiebanners/nsICookieRule.idl
11038 interface nsICookieRule extends nsISupports {
11039   readonly cookie: nsICookie;
11040   readonly expiryRelative: i64;
11041   readonly unsetValue: string;
11044 // https://searchfox.org/mozilla-central/source/toolkit/components/crashes/nsICrashService.idl
11046 interface nsICrashService extends nsISupports {
11047   readonly CRASH_TYPE_CRASH: 0;
11048   readonly CRASH_TYPE_HANG: 1;
11050   addCrash(processType: i32, crashType: i32, id: string): Promise<any>;
11053 // https://searchfox.org/mozilla-central/source/toolkit/components/finalizationwitness/nsIFinalizationWitnessService.idl
11055 interface nsIFinalizationWitnessService extends nsISupports {
11056   make(aTopic: string, aString: string): any;
11059 // https://searchfox.org/mozilla-central/source/toolkit/modules/nsIBrowserWindowTracker.idl
11061 interface nsIVisibleTab extends nsISupports {
11062   contentTitle: string;
11063   browserId: i64;
11066 interface nsIBrowserWindowTracker extends nsISupports {
11067   getAllVisibleTabs(): nsIVisibleTab[];
11068   getBrowserById(aBrowserId: u64): nsISupports;
11071 // https://searchfox.org/mozilla-central/source/toolkit/modules/nsIRegion.idl
11073 interface nsIRegion extends nsISupports {
11074   readonly current: string;
11075   readonly home: string;
11078 // https://searchfox.org/mozilla-central/source/toolkit/components/processtools/nsIProcessToolsService.idl
11080 interface nsIProcessToolsService extends nsISupports {
11081   kill(pid: u64): void;
11082   crash(pid: u64): void;
11083   readonly pid: u64;
11086 // https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIFingerprintingWebCompatService.idl
11088 interface nsIFingerprintingOverride extends nsISupports {
11089   readonly firstPartyDomain: string;
11090   readonly thirdPartyDomain: string;
11091   readonly overrides: string;
11094 interface nsIFingerprintingWebCompatService extends nsISupports {
11095   init(): void;
11096   shutdown(): void;
11099 // https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIRFPService.idl
11101 interface nsIRFPService extends nsISupports {
11102   setFingerprintingOverrides(aOverrides: nsIFingerprintingOverride[]): void;
11103   getFingerprintingOverrides(aDomainKey: string): u64;
11104   cleanAllOverrides(): void;
11105   readonly enabledFingerprintingProtections: u64;
11106   cleanAllRandomKeys(): void;
11107   cleanRandomKeyByPrincipal(aPrincipal: nsIPrincipal): void;
11108   cleanRandomKeyByDomain(aDomain: string): void;
11109   cleanRandomKeyByHost(aHost: string, aPattern: string): void;
11110   cleanRandomKeyByOriginAttributesPattern(aPattern: string): void;
11111   testGenerateRandomKey(aChannel: nsIChannel): u8[];
11114 // https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/nsIUserCharacteristicsPageService.idl
11116 interface nsIUserCharacteristicsPageService extends nsISupports {
11117   createContentPage(): Promise<any>;
11118   pageLoaded(browsingContext: BrowsingContext, data: any): void;
11121 // https://searchfox.org/mozilla-central/source/toolkit/components/search/nsISearchService.idl
11123 interface nsISearchSubmission extends nsISupports {
11124   readonly postData: nsIInputStream;
11125   readonly uri: nsIURI;
11128 interface nsISearchEngine extends nsISupports {
11129   getSubmission(searchTerms: string, responseType?: string, purpose?: string): nsISearchSubmission;
11130   searchTermFromResult(uri: nsIURI): string;
11131   readonly searchUrlQueryParamName: string;
11132   readonly searchUrlPublicSuffix: string;
11133   supportsResponseType(responseType: string): boolean;
11134   getIconURL(preferredWidth?: u16): Promise<any>;
11135   speculativeConnect(options: any): void;
11136   alias: string;
11137   readonly aliases: string[];
11138   readonly description: string;
11139   hidden: boolean;
11140   hideOneOffButton: boolean;
11141   readonly name: string;
11142   readonly id: string;
11143   readonly telemetryId: string;
11144   readonly identifier: string;
11145   readonly isAppProvided: boolean;
11146   readonly inMemory: boolean;
11147   readonly isGeneralPurposeEngine: boolean;
11148   readonly searchUrlDomain: string;
11149   readonly clickUrl: string;
11152 interface nsISearchParseSubmissionResult extends nsISupports {
11153   readonly engine: nsISearchEngine;
11154   readonly terms: string;
11155   readonly termsParameterName: string;
11158 interface nsISearchService extends nsISupports {
11159   readonly ERROR_DOWNLOAD_FAILURE: 1;
11160   readonly ERROR_DUPLICATE_ENGINE: 2;
11161   readonly ERROR_ENGINE_CORRUPTED: 3;
11162   readonly CHANGE_REASON_UNKNOWN: 0;
11163   readonly CHANGE_REASON_USER: 1;
11164   readonly CHANGE_REASON_USER_PRIVATE_SPLIT: 2;
11165   readonly CHANGE_REASON_USER_SEARCHBAR: 3;
11166   readonly CHANGE_REASON_USER_SEARCHBAR_CONTEXT: 4;
11167   readonly CHANGE_REASON_ADDON_INSTALL: 5;
11168   readonly CHANGE_REASON_ADDON_UNINSTALL: 6;
11169   readonly CHANGE_REASON_CONFIG: 7;
11170   readonly CHANGE_REASON_LOCALE: 8;
11171   readonly CHANGE_REASON_REGION: 9;
11172   readonly CHANGE_REASON_EXPERIMENT: 10;
11173   readonly CHANGE_REASON_ENTERPRISE: 11;
11174   readonly CHANGE_REASON_UITOUR: 12;
11175   readonly CHANGE_REASON_ENGINE_UPDATE: 13;
11177   init(): Promise<any>;
11178   readonly promiseInitialized: Promise<any>;
11179   readonly isInitialized: boolean;
11180   readonly hasSuccessfullyInitialized: boolean;
11181   runBackgroundChecks(): Promise<any>;
11182   resetToAppDefaultEngine(): Promise<any>;
11183   addOpenSearchEngine(engineURL: string, iconURL: string): Promise<any>;
11184   addUserEngine(name: string, url: string, alias?: string): Promise<any>;
11185   addEnginesFromExtension(extension: any): Promise<any>;
11186   restoreDefaultEngines(): void;
11187   getEngineByAlias(alias: string): Promise<any>;
11188   getEngineByName(aEngineName: string): nsISearchEngine;
11189   getEngineById(aEngineId: string): nsISearchEngine;
11190   getEngines(): Promise<any>;
11191   getVisibleEngines(): Promise<any>;
11192   getAppProvidedEngines(): Promise<any>;
11193   getEnginesByExtensionID(extensionID: string): Promise<any>;
11194   moveEngine(engine: nsISearchEngine, newIndex: i32): Promise<any>;
11195   removeEngine(engine: nsISearchEngine): Promise<any>;
11196   removeWebExtensionEngine(id: string): Promise<any>;
11197   readonly appDefaultEngine: nsISearchEngine;
11198   readonly appPrivateDefaultEngine: nsISearchEngine;
11199   defaultEngine: nsISearchEngine;
11200   getDefault(): Promise<any>;
11201   setDefault(engine: nsISearchEngine, changeSource: u16): Promise<any>;
11202   defaultPrivateEngine: nsISearchEngine;
11203   getDefaultPrivate(): Promise<any>;
11204   setDefaultPrivate(engine: nsISearchEngine, changeSource: u16): Promise<any>;
11205   readonly separatePrivateDefaultUrlbarResultEnabled: boolean;
11206   maybeSetAndOverrideDefault(extension: any): Promise<any>;
11207   getDefaultEngineInfo(): any;
11208   parseSubmissionURL(url: string): nsISearchParseSubmissionResult;
11209   getAlternateDomains(domain: string): string[];
11212 // https://searchfox.org/mozilla-central/source/toolkit/components/shell/nsIToolkitShellService.idl
11214 interface nsIToolkitShellService extends nsISupports {
11215   isDefaultApplication(): boolean;
11218 // https://searchfox.org/mozilla-central/source/toolkit/components/terminator/nsITerminatorTest.idl
11220 interface nsITerminatorTest extends nsISupports {
11221   getTicksForShutdownPhases(): any;
11224 // https://searchfox.org/mozilla-central/source/toolkit/components/xulstore/nsIXULStore.idl
11226 interface nsIXULStore extends nsISupports {
11227   persist(aNode: Node, attr: string): void;
11228   setValue(doc: string, id: string, attr: string, value: string): void;
11229   hasValue(doc: string, id: string, attr: string): boolean;
11230   getValue(doc: string, id: string, attr: string): string;
11231   removeValue(doc: string, id: string, attr: string): void;
11232   removeDocument(doc: string): void;
11233   getIDsEnumerator(doc: string): nsIStringEnumerator;
11234   getAttributeEnumerator(doc: string, id: string): nsIStringEnumerator;
11237 // https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransaction.idl
11239 interface nsITransaction extends nsISupports {
11240   doTransaction(): void;
11241   undoTransaction(): void;
11242   redoTransaction(): void;
11243   readonly isTransient: boolean;
11244   merge(aTransaction: nsITransaction): boolean;
11247 // https://searchfox.org/mozilla-central/source/editor/txmgr/nsITransactionManager.idl
11249 interface nsITransactionManager extends nsISupports {
11250   doTransaction(aTransaction: nsITransaction): void;
11251   undoTransaction(): void;
11252   redoTransaction(): void;
11253   clear(): void;
11254   clearUndoStack(): void;
11255   clearRedoStack(): void;
11256   beginBatch(aData: nsISupports): void;
11257   endBatch(aAllowEmpty: boolean): void;
11258   readonly numberOfUndoItems: i32;
11259   readonly numberOfRedoItems: i32;
11260   maxTransactionCount: i32;
11261   batchTopUndo(): void;
11262   removeTopUndo(): void;
11263   peekUndoStack(): nsITransaction;
11264   peekRedoStack(): nsITransaction;
11267 // https://searchfox.org/mozilla-central/source/editor/spellchecker/nsIInlineSpellChecker.idl
11269 interface nsIInlineSpellChecker extends nsISupports {
11270   readonly spellChecker: nsIEditorSpellCheck;
11271   init(aEditor: nsIEditor): void;
11272   cleanup(aDestroyingFrames: boolean): void;
11273   enableRealTimeSpell: boolean;
11274   spellCheckRange(aSelection: Range): void;
11275   getMisspelledWord(aNode: Node, aOffset: u32): Range;
11276   replaceWord(aNode: Node, aOffset: u32, aNewword: string): void;
11277   addWordToDictionary(aWord: string): void;
11278   removeWordFromDictionary(aWord: string): void;
11279   ignoreWord(aWord: string): void;
11280   ignoreWords(aWordsToIgnore: string[]): void;
11281   updateCurrentDictionary(): void;
11282   readonly spellCheckPending: boolean;
11285 // https://searchfox.org/mozilla-central/source/intl/uconv/nsIScriptableUConv.idl
11287 interface nsIScriptableUnicodeConverter extends nsISupports {
11288   ConvertFromUnicode(aSrc: string): string;
11289   Finish(): string;
11290   ConvertToUnicode(aSrc: string): string;
11291   charset: string;
11292   isInternal: boolean;
11295 // https://searchfox.org/mozilla-central/source/intl/uconv/nsITextToSubURI.idl
11297 interface nsITextToSubURI extends nsISupports {
11298   ConvertAndEscape(charset: string, text: string): string;
11299   UnEscapeAndConvert(charset: string, text: string): string;
11300   unEscapeURIForUI(aURIFragment: string, aDontEscape?: boolean): string;
11301   unEscapeNonAsciiURI(aCharset: string, aURIFragment: string): string;
11304 // https://searchfox.org/mozilla-central/source/toolkit/components/timermanager/nsIUpdateTimerManager.idl
11306 interface nsIUpdateTimerManager extends nsISupports {
11307   registerTimer(id: string, callback: nsITimerCallback, interval: u32, skipFirst?: boolean): void;
11308   unregisterTimer(id: string): void;
11311 // https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/nsIUpdateService.idl
11313 interface nsIUpdatePatch extends nsISupports {
11314   readonly type: string;
11315   readonly URL: string;
11316   finalURL: string;
11317   readonly size: u32;
11318   state: string;
11319   errorCode: i32;
11320   selected: boolean;
11321   serialize(updates: Document): Element;
11324 interface nsIUpdate extends nsISupports {
11325   readonly type: string;
11326   readonly name: string;
11327   readonly displayVersion: string;
11328   readonly appVersion: string;
11329   readonly previousAppVersion: string;
11330   readonly buildID: string;
11331   readonly detailsURL: string;
11332   readonly serviceURL: string;
11333   readonly channel: string;
11334   readonly unsupported: boolean;
11335   promptWaitTime: i64;
11336   isCompleteUpdate: boolean;
11337   installDate: i64;
11338   statusText: string;
11339   readonly selectedPatch: nsIUpdatePatch;
11340   state: string;
11341   errorCode: i32;
11342   elevationFailure: boolean;
11343   readonly patchCount: u32;
11344   getPatchAt(index: u32): nsIUpdatePatch;
11345   serialize(updates: Document): Element;
11348 interface nsIUpdateCheckResult extends nsISupports {
11349   readonly checksAllowed: boolean;
11350   readonly succeeded: boolean;
11351   readonly request: any;
11352   readonly updates: nsIUpdate[];
11355 interface nsIUpdateCheck extends nsISupports {
11356   readonly id: i32;
11357   readonly result: Promise<any>;
11360 interface nsIUpdateChecker extends nsISupports {
11361   readonly BACKGROUND_CHECK: 1;
11362   readonly FOREGROUND_CHECK: 2;
11364   checkForUpdates(checkType: i32): nsIUpdateCheck;
11365   getUpdateURL(checkType: i32): Promise<any>;
11366   stopCheck(id: i32): void;
11367   stopAllChecks(): void;
11370 interface nsIApplicationUpdateService extends nsISupports {
11371   readonly STATE_IDLE: 1;
11372   readonly STATE_DOWNLOADING: 2;
11373   readonly STATE_STAGING: 4;
11374   readonly STATE_PENDING: 5;
11375   readonly STATE_SWAP: 6;
11377   checkForBackgroundUpdates(): boolean;
11378   selectUpdate(updates: nsIUpdate[]): nsIUpdate;
11379   addDownloadListener(listener: nsIRequestObserver): void;
11380   removeDownloadListener(listener: nsIRequestObserver): void;
11381   downloadUpdate(update: nsIUpdate): Promise<any>;
11382   onCheckComplete(result: nsIUpdateCheckResult): Promise<any>;
11383   stopDownload(): Promise<any>;
11384   readonly disabled: boolean;
11385   readonly canUsuallyCheckForUpdates: boolean;
11386   readonly canCheckForUpdates: boolean;
11387   readonly elevationRequired: boolean;
11388   readonly canUsuallyApplyUpdates: boolean;
11389   readonly canApplyUpdates: boolean;
11390   readonly isOtherInstanceHandlingUpdates: boolean;
11391   readonly canUsuallyStageUpdates: boolean;
11392   readonly canStageUpdates: boolean;
11393   readonly canUsuallyUseBits: boolean;
11394   readonly canUseBits: boolean;
11395   readonly manualUpdateOnly: boolean;
11396   readonly isAppBaseDirWritable: boolean;
11397   onlyDownloadUpdatesThisSession: boolean;
11398   getStateName(state: i32): string;
11399   readonly currentState: i32;
11400   readonly stateTransition: Promise<any>;
11403 interface nsIUpdateProcessor extends nsISupports {
11404   processUpdate(): void;
11405   getServiceRegKeyExists(): boolean;
11406   attemptAutomaticApplicationRestartWithLaunchArgs(argvExtra: string[]): i32;
11407   waitForProcessExit(pid: u32, timeoutMS: u32): void;
11410 interface nsIUpdateSyncManager extends nsISupports {
11411   isOtherInstanceRunning(): boolean;
11412   resetLock(anAppFile?: nsIFile): void;
11415 interface nsIUpdateManager extends nsISupports {
11416   getUpdateAt(index: i32): nsIUpdate;
11417   getUpdateCount(): i32;
11418   readyUpdate: nsIUpdate;
11419   downloadingUpdate: nsIUpdate;
11420   addUpdateToHistory(update: nsIUpdate): void;
11421   saveUpdates(): void;
11422   refreshUpdateStatus(): Promise<any>;
11423   elevationOptedIn(): void;
11424   cleanupDownloadingUpdate(): void;
11425   cleanupReadyUpdate(): void;
11426   doInstallCleanup(): Promise<any>;
11427   doUninstallCleanup(): Promise<any>;
11430 // https://searchfox.org/mozilla-central/source/uriloader/base/nsCURILoader.idl
11432 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIContentHandler.idl
11434 interface nsIContentHandler extends nsISupports {
11435   handleContent(aContentType: string, aWindowContext: nsIInterfaceRequestor, aRequest: nsIRequest): void;
11438 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIDocumentLoader.idl
11440 interface nsIDocumentLoader extends nsISupports {
11441   stop(): void;
11442   readonly container: nsISupports;
11443   readonly loadGroup: nsILoadGroup;
11444   readonly documentChannel: nsIChannel;
11447 // https://searchfox.org/mozilla-central/source/uriloader/base/nsITransfer.idl
11449 interface nsITransfer extends nsIWebProgressListener2 {
11450   readonly DOWNLOAD_ACCEPTABLE: 0;
11451   readonly DOWNLOAD_FORBIDDEN: 1;
11452   readonly DOWNLOAD_POTENTIALLY_UNSAFE: 2;
11454   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;
11455   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;
11456   setSha256Hash(aHash: string): void;
11457   setSignatureInfo(aSignatureInfo: u8[][][]): void;
11458   setRedirects(aRedirects: nsIArray): void;
11461 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIURIContentListener.idl
11463 interface nsIURIContentListener extends nsISupports {
11464   doContent(aContentType: string, aIsContentPreferred: boolean, aRequest: nsIRequest, aContentHandler: OutParam<nsIStreamListener>): boolean;
11465   isPreferred(aContentType: string, aDesiredContentType: OutParam<string>): boolean;
11466   canHandleContent(aContentType: string, aIsContentPreferred: boolean, aDesiredContentType: OutParam<string>): boolean;
11467   loadCookie: nsISupports;
11468   parentContentListener: nsIURIContentListener;
11471 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIURILoader.idl
11473 interface nsIURILoader extends nsISupports {
11474   readonly IS_CONTENT_PREFERRED: 1;
11475   readonly DONT_RETARGET: 2;
11477   registerContentListener(aContentListener: nsIURIContentListener): void;
11478   unRegisterContentListener(aContentListener: nsIURIContentListener): void;
11479   openURI(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): void;
11480   openChannel(aChannel: nsIChannel, aFlags: u32, aWindowContext: nsIInterfaceRequestor): nsIStreamListener;
11481   stop(aLoadCookie: nsISupports): void;
11484 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgress.idl
11486 interface nsIWebProgress extends nsISupports {
11487   readonly NOTIFY_STATE_REQUEST: 1;
11488   readonly NOTIFY_STATE_DOCUMENT: 2;
11489   readonly NOTIFY_STATE_NETWORK: 4;
11490   readonly NOTIFY_STATE_WINDOW: 8;
11491   readonly NOTIFY_STATE_ALL: 15;
11492   readonly NOTIFY_PROGRESS: 16;
11493   readonly NOTIFY_STATUS: 32;
11494   readonly NOTIFY_SECURITY: 64;
11495   readonly NOTIFY_LOCATION: 128;
11496   readonly NOTIFY_REFRESH: 256;
11497   readonly NOTIFY_CONTENT_BLOCKING: 512;
11498   readonly NOTIFY_ALL: 1023;
11500   addProgressListener(aListener: nsIWebProgressListener, aNotifyMask: u32): void;
11501   removeProgressListener(aListener: nsIWebProgressListener): void;
11502   readonly browsingContext: BrowsingContext;
11503   readonly DOMWindow: mozIDOMWindowProxy;
11504   readonly isTopLevel: boolean;
11505   readonly isLoadingDocument: boolean;
11506   readonly loadType: u32;
11507   target: nsIEventTarget;
11508   readonly documentRequest: nsIRequest;
11511 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener.idl
11513 interface nsIWebProgressListener extends nsISupports {
11514   readonly STATE_START: 1;
11515   readonly STATE_REDIRECTING: 2;
11516   readonly STATE_TRANSFERRING: 4;
11517   readonly STATE_NEGOTIATING: 8;
11518   readonly STATE_STOP: 16;
11519   readonly STATE_IS_REQUEST: 65536;
11520   readonly STATE_IS_DOCUMENT: 131072;
11521   readonly STATE_IS_NETWORK: 262144;
11522   readonly STATE_IS_WINDOW: 524288;
11523   readonly STATE_IS_REDIRECTED_DOCUMENT: 1048576;
11524   readonly STATE_RESTORING: 16777216;
11525   readonly STATE_IS_INSECURE: 4;
11526   readonly STATE_IS_BROKEN: 1;
11527   readonly STATE_IS_SECURE: 2;
11528   readonly STATE_BLOCKED_MIXED_ACTIVE_CONTENT: 16;
11529   readonly STATE_LOADED_MIXED_ACTIVE_CONTENT: 32;
11530   readonly STATE_BLOCKED_MIXED_DISPLAY_CONTENT: 256;
11531   readonly STATE_LOADED_MIXED_DISPLAY_CONTENT: 512;
11532   readonly STATE_IDENTITY_EV_TOPLEVEL: 1048576;
11533   readonly STATE_IDENTITY_ASSOCIATED: 2097152;
11534   readonly STATE_USES_SSL_3: 16777216;
11535   readonly STATE_USES_WEAK_CRYPTO: 33554432;
11536   readonly STATE_CERT_USER_OVERRIDDEN: 67108864;
11537   readonly STATE_BLOCKED_TRACKING_CONTENT: 4096;
11538   readonly STATE_LOADED_LEVEL_1_TRACKING_CONTENT: 8192;
11539   readonly STATE_LOADED_LEVEL_2_TRACKING_CONTENT: 1048576;
11540   readonly STATE_BLOCKED_FINGERPRINTING_CONTENT: 64;
11541   readonly STATE_LOADED_FINGERPRINTING_CONTENT: 1024;
11542   readonly STATE_REPLACED_FINGERPRINTING_CONTENT: 134217728;
11543   readonly STATE_ALLOWED_FINGERPRINTING_CONTENT: 512;
11544   readonly STATE_BLOCKED_CRYPTOMINING_CONTENT: 2048;
11545   readonly STATE_LOADED_CRYPTOMINING_CONTENT: 2097152;
11546   readonly STATE_BLOCKED_UNSAFE_CONTENT: 16384;
11547   readonly STATE_COOKIES_LOADED: 32768;
11548   readonly STATE_COOKIES_LOADED_TRACKER: 262144;
11549   readonly STATE_COOKIES_LOADED_SOCIALTRACKER: 524288;
11550   readonly STATE_COOKIES_BLOCKED_BY_PERMISSION: 268435456;
11551   readonly STATE_COOKIES_BLOCKED_TRACKER: 536870912;
11552   readonly STATE_COOKIES_BLOCKED_SOCIALTRACKER: 16777216;
11553   readonly STATE_COOKIES_BLOCKED_ALL: 1073741824;
11554   readonly STATE_COOKIES_PARTITIONED_FOREIGN: 2147483648;
11555   readonly STATE_COOKIES_BLOCKED_FOREIGN: 128;
11556   readonly STATE_BLOCKED_SOCIALTRACKING_CONTENT: 65536;
11557   readonly STATE_LOADED_SOCIALTRACKING_CONTENT: 131072;
11558   readonly STATE_REPLACED_TRACKING_CONTENT: 16;
11559   readonly STATE_ALLOWED_TRACKING_CONTENT: 32;
11560   readonly STATE_BLOCKED_EMAILTRACKING_CONTENT: 4194304;
11561   readonly STATE_LOADED_EMAILTRACKING_LEVEL_1_CONTENT: 8388608;
11562   readonly STATE_LOADED_EMAILTRACKING_LEVEL_2_CONTENT: 256;
11563   readonly STATE_ALLOWED_CANVAS_FINGERPRINTING: 33554432;
11564   readonly STATE_ALLOWED_FONT_FINGERPRINTING: 67108864;
11565   readonly STATE_BLOCKED_SUSPICIOUS_FINGERPRINTING: 4;
11566   readonly STATE_HTTPS_ONLY_MODE_UPGRADED: 4194304;
11567   readonly STATE_HTTPS_ONLY_MODE_UPGRADE_FAILED: 8388608;
11568   readonly STATE_HTTPS_ONLY_MODE_UPGRADED_FIRST: 134217728;
11569   readonly LOCATION_CHANGE_SAME_DOCUMENT: 1;
11570   readonly LOCATION_CHANGE_ERROR_PAGE: 2;
11571   readonly LOCATION_CHANGE_RELOAD: 4;
11572   readonly LOCATION_CHANGE_HASHCHANGE: 8;
11573   readonly LOCATION_CHANGE_SESSION_STORE: 16;
11575   onStateChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStateFlags: u32, aStatus: nsresult): void;
11576   onProgressChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i32, aMaxSelfProgress: i32, aCurTotalProgress: i32, aMaxTotalProgress: i32): void;
11577   onLocationChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aLocation: nsIURI, aFlags?: u32): void;
11578   onStatusChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aStatus: nsresult, aMessage: string): void;
11579   onSecurityChange(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aState: u32): void;
11580   onContentBlockingEvent(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aEvent: u32): void;
11583 // https://searchfox.org/mozilla-central/source/uriloader/base/nsIWebProgressListener2.idl
11585 interface nsIWebProgressListener2 extends nsIWebProgressListener {
11586   onProgressChange64(aWebProgress: nsIWebProgress, aRequest: nsIRequest, aCurSelfProgress: i64, aMaxSelfProgress: i64, aCurTotalProgress: i64, aMaxTotalProgress: i64): void;
11587   onRefreshAttempted(aWebProgress: nsIWebProgress, aRefreshURI: nsIURI, aMillis: u32, aSameURI: boolean): boolean;
11590 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIChannelClassifierService.idl
11592 interface nsIUrlClassifierBlockedChannel extends nsISupports {
11593   readonly TRACKING_PROTECTION: 0;
11594   readonly SOCIAL_TRACKING_PROTECTION: 1;
11595   readonly FINGERPRINTING_PROTECTION: 2;
11596   readonly CRYPTOMINING_PROTECTION: 3;
11598   readonly reason: u8;
11599   readonly tables: string;
11600   readonly url: string;
11601   readonly tabId: u64;
11602   readonly channelId: u64;
11603   readonly isPrivateBrowsing: boolean;
11604   readonly topLevelUrl: string;
11605   replace(): void;
11606   allow(): void;
11609 interface nsIChannelClassifierService extends nsISupports {
11610   addListener(aObserver: nsIObserver): void;
11611   removeListener(aObserver: nsIObserver): void;
11614 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIURIClassifier.idl
11616 type nsIURIClassifierCallback = Callable<{
11617   onClassifyComplete(aErrorCode: nsresult, aList: string, aProvider: string, aFullHash: string): void;
11620 interface nsIURIClassifier extends nsISupports {
11621   classify(aPrincipal: nsIPrincipal, aCallback: nsIURIClassifierCallback): boolean;
11622   asyncClassifyLocalWithFeatures(aURI: nsIURI, aFeatures: nsIUrlClassifierFeature[], aListType: nsIUrlClassifierFeature.listType, aCallback: nsIUrlClassifierFeatureCallback): void;
11623   getFeatureByName(aFeatureName: string): nsIUrlClassifierFeature;
11624   getFeatureNames(): string[];
11625   createFeatureWithTables(aName: string, aBlocklistTables: string[], aEntitylistTables: string[]): nsIUrlClassifierFeature;
11626   sendThreatHitReport(aChannel: nsIChannel, aProvider: string, aList: string, aFullHash: string): void;
11629 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierExceptionListService.idl
11631 type nsIUrlClassifierExceptionListObserver = Callable<{
11632   onExceptionListUpdate(aList: string): void;
11635 interface nsIUrlClassifierExceptionListService extends nsISupports {
11636   registerAndRunExceptionListObserver(aFeature: string, aPrefName: string, aObserver: nsIUrlClassifierExceptionListObserver): void;
11637   unregisterExceptionListObserver(aFeature: string, aObserver: nsIUrlClassifierExceptionListObserver): void;
11638   clear(): void;
11641 // https://searchfox.org/mozilla-central/source/netwerk/url-classifier/nsIUrlClassifierFeature.idl
11643 }  // global
11645 declare namespace nsIUrlClassifierFeature {
11647 enum listType {
11648   blocklist = 0,
11649   entitylist = 1,
11652 enum URIType {
11653   blocklistURI = 0,
11654   entitylistURI = 1,
11655   pairwiseEntitylistURI = 2,
11660 declare global {
11662 interface nsIUrlClassifierFeature extends nsISupports, Enums<typeof nsIUrlClassifierFeature.listType & typeof nsIUrlClassifierFeature.URIType> {
11663   readonly name: string;
11664   readonly exceptionHostList: string;
11667 interface nsIUrlClassifierFeatureResult extends nsISupports {
11668   readonly uri: nsIURI;
11669   readonly feature: nsIUrlClassifierFeature;
11670   readonly list: string;
11673 type nsIUrlClassifierFeatureCallback = Callable<{
11674   onClassifyComplete(aResults: nsIUrlClassifierFeatureResult[]): void;
11677 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/IUrlClassifierUITelemetry.idl
11679 interface IUrlClassifierUITelemetry extends nsISupports {
11680   readonly WARNING_MALWARE_PAGE_TOP: 1;
11681   readonly WARNING_MALWARE_PAGE_TOP_WHY_BLOCKED: 2;
11682   readonly WARNING_MALWARE_PAGE_TOP_GET_ME_OUT_OF_HERE: 3;
11683   readonly WARNING_MALWARE_PAGE_TOP_IGNORE_WARNING: 4;
11684   readonly WARNING_MALWARE_PAGE_FRAME: 5;
11685   readonly WARNING_MALWARE_PAGE_FRAME_WHY_BLOCKED: 6;
11686   readonly WARNING_MALWARE_PAGE_FRAME_GET_ME_OUT_OF_HERE: 7;
11687   readonly WARNING_MALWARE_PAGE_FRAME_IGNORE_WARNING: 8;
11688   readonly WARNING_PHISHING_PAGE_TOP: 9;
11689   readonly WARNING_PHISHING_PAGE_TOP_WHY_BLOCKED: 10;
11690   readonly WARNING_PHISHING_PAGE_TOP_GET_ME_OUT_OF_HERE: 11;
11691   readonly WARNING_PHISHING_PAGE_TOP_IGNORE_WARNING: 12;
11692   readonly WARNING_PHISHING_PAGE_FRAME: 13;
11693   readonly WARNING_PHISHING_PAGE_FRAME_WHY_BLOCKED: 14;
11694   readonly WARNING_PHISHING_PAGE_FRAME_GET_ME_OUT_OF_HERE: 15;
11695   readonly WARNING_PHISHING_PAGE_FRAME_IGNORE_WARNING: 16;
11696   readonly WARNING_UNWANTED_PAGE_TOP: 17;
11697   readonly WARNING_UNWANTED_PAGE_TOP_WHY_BLOCKED: 18;
11698   readonly WARNING_UNWANTED_PAGE_TOP_GET_ME_OUT_OF_HERE: 19;
11699   readonly WARNING_UNWANTED_PAGE_TOP_IGNORE_WARNING: 20;
11700   readonly WARNING_UNWANTED_PAGE_FRAME: 21;
11701   readonly WARNING_UNWANTED_PAGE_FRAME_WHY_BLOCKED: 22;
11702   readonly WARNING_UNWANTED_PAGE_FRAME_GET_ME_OUT_OF_HERE: 23;
11703   readonly WARNING_UNWANTED_PAGE_FRAME_IGNORE_WARNING: 24;
11704   readonly WARNING_HARMFUL_PAGE_TOP: 25;
11705   readonly WARNING_HARMFUL_PAGE_TOP_WHY_BLOCKED: 26;
11706   readonly WARNING_HARMFUL_PAGE_TOP_GET_ME_OUT_OF_HERE: 27;
11707   readonly WARNING_HARMFUL_PAGE_TOP_IGNORE_WARNING: 28;
11708   readonly WARNING_HARMFUL_PAGE_FRAME: 29;
11709   readonly WARNING_HARMFUL_PAGE_FRAME_WHY_BLOCKED: 30;
11710   readonly WARNING_HARMFUL_PAGE_FRAME_GET_ME_OUT_OF_HERE: 31;
11711   readonly WARNING_HARMFUL_PAGE_FRAME_IGNORE_WARNING: 32;
11714 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierDBService.idl
11716 type nsIUrlClassifierCallback = Callable<{
11717   handleEvent(value: string): void;
11720 interface nsIUrlClassifierUpdateObserver extends nsISupports {
11721   updateUrlRequested(url: string, table: string): void;
11722   streamFinished(status: nsresult, delay: u32): void;
11723   updateError(error: nsresult): void;
11724   updateSuccess(requestedTimeout: u32): void;
11727 interface nsIUrlClassifierDBService extends nsISupports {
11728   lookup(principal: nsIPrincipal, tables: string, c: nsIUrlClassifierCallback): void;
11729   getTables(c: nsIUrlClassifierCallback): void;
11730   setHashCompleter(tableName: string, completer: nsIUrlClassifierHashCompleter): void;
11731   clearLastResults(): void;
11732   beginUpdate(updater: nsIUrlClassifierUpdateObserver, tables: string): void;
11733   beginStream(table: string): void;
11734   updateStream(updateChunk: string): void;
11735   finishStream(): void;
11736   finishUpdate(): void;
11737   cancelUpdate(): void;
11738   resetDatabase(): void;
11739   reloadDatabase(): void;
11740   clearCache(): void;
11743 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierHashCompleter.idl
11745 interface nsIFullHashMatch extends nsISupports {
11746   readonly tableName: string;
11747   readonly fullHash: string;
11748   readonly cacheDuration: u32;
11751 interface nsIUrlClassifierHashCompleterCallback extends nsISupports {
11752   completionV2(hash: string, table: string, chunkId: u32): void;
11753   completionV4(partialHash: string, table: string, negativeCacheDuration: u32, fullHashes: nsIArray): void;
11754   completionFinished(status: nsresult): void;
11757 interface nsIUrlClassifierHashCompleter extends nsISupports {
11758   complete(partialHash: string, gethashUrl: string, tableName: string, callback: nsIUrlClassifierHashCompleterCallback): void;
11761 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierInfo.idl
11763 interface nsIUrlClassifierPositiveCacheEntry extends nsISupports {
11764   readonly fullhash: string;
11765   readonly expiry: i64;
11768 interface nsIUrlClassifierCacheEntry extends nsISupports {
11769   readonly prefix: string;
11770   readonly expiry: i64;
11771   readonly matches: nsIArray;
11774 interface nsIUrlClassifierCacheInfo extends nsISupports {
11775   readonly table: string;
11776   readonly entries: nsIArray;
11779 type nsIUrlClassifierGetCacheCallback = Callable<{
11780   onGetCacheComplete(info: nsIUrlClassifierCacheInfo): void;
11783 interface nsIUrlClassifierInfo extends nsISupports {
11784   getCacheInfo(table: string, callback: nsIUrlClassifierGetCacheCallback): void;
11787 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierPrefixSet.idl
11789 interface nsIUrlClassifierPrefixSet extends nsISupports {
11790   init(aName: string): void;
11791   setPrefixes(aPrefixes: u32[], aLength: u32): void;
11792   getPrefixes(aCount: OutParam<u32>): OutParam<u32[]>;
11793   contains(aPrefix: u32): boolean;
11794   isEmpty(): boolean;
11797 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierRemoteSettingsService.idl
11799 interface nsIUrlClassifierRemoteSettingsService extends nsISupports {
11800   fetchList(aPayload: string, aListener: nsIStreamListener): void;
11801   clear(): void;
11804 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierStreamUpdater.idl
11806 interface nsIUrlClassifierStreamUpdater extends nsISupports {
11807   downloadUpdates(aRequestTables: string, aRequestPayload: string, aIsPostRequest: boolean, aUpdateUrl: string, aSuccessCallback: nsIUrlClassifierCallback, aUpdateErrorCallback: nsIUrlClassifierCallback, aDownloadErrorCallback: nsIUrlClassifierCallback): boolean;
11810 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlClassifierUtils.idl
11812 interface nsIUrlClassifierParseFindFullHashCallback extends nsISupports {
11813   onCompleteHashFound(aCompleteHash: string, aTableNames: string, aPerHashCacheDuration: u32): void;
11814   onResponseParsed(aMinWaitDuration: u32, aNegCacheDuration: u32): void;
11817 interface nsIUrlClassifierUtils extends nsISupports {
11818   getKeyForURI(uri: nsIURI): string;
11819   getProvider(tableName: string): string;
11820   getTelemetryProvider(tableName: string): string;
11821   getProtocolVersion(provider: string): string;
11822   convertThreatTypeToListNames(threatType: u32): string;
11823   convertListNameToThreatType(listName: string): u32;
11824   makeUpdateRequestV4(aListNames: string[], aStatesBase64: string[]): string;
11825   makeFindFullHashRequestV4(aListNames: string[], aListStatesBase64: string[], aPrefixes: string[]): string;
11826   makeThreatHitReport(aChannel: nsIChannel, aListName: string, aHashBase64: string): string;
11827   parseFindFullHashResponseV4(aResponse: string, aCallback: nsIUrlClassifierParseFindFullHashCallback): void;
11830 // https://searchfox.org/mozilla-central/source/toolkit/components/url-classifier/nsIUrlListManager.idl
11832 interface nsIUrlListManager extends nsISupports {
11833   getGethashUrl(tableName: string): string;
11834   getUpdateUrl(tableName: string): string;
11835   registerTable(tableName: string, providerName: string, updateUrl: string, gethashUrl: string): boolean;
11836   unregisterTable(tableName: string): void;
11837   enableUpdate(tableName: string): void;
11838   disableAllUpdates(): void;
11839   disableUpdate(tableName: string): void;
11840   maybeToggleUpdateChecking(): void;
11841   checkForUpdates(updateUrl: string): boolean;
11842   forceUpdates(tableNames: string): boolean;
11843   getBackOffTime(provider: string): u64;
11844   isRegistered(): boolean;
11847 // https://searchfox.org/mozilla-central/source/toolkit/components/urlformatter/nsIURLFormatter.idl
11849 interface nsIURLFormatter extends nsISupports {
11850   formatURL(aFormat: string): string;
11851   formatURLPref(aPref: string): string;
11852   trimSensitiveURLs(aMsg: string): string;
11855 // https://searchfox.org/mozilla-central/source/ipc/glue/test/utility_process_xpcom/nsIUtilityProcessTest.idl
11857 interface nsIUtilityProcessTest extends nsISupports {
11858   startProcess(actorsToAdd?: string[]): Promise<any>;
11859   untilChildProcessDead(pid: u32): Promise<any>;
11860   noteIntentionalCrash(pid: u32): void;
11861   stopProcess(utilityActorName?: string): void;
11862   testTelemetryProbes(): void;
11865 // https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersist.idl
11867 interface nsIWebBrowserPersist extends nsICancelable {
11868   readonly PERSIST_FLAGS_NONE: 0;
11869   readonly PERSIST_FLAGS_FROM_CACHE: 1;
11870   readonly PERSIST_FLAGS_BYPASS_CACHE: 2;
11871   readonly PERSIST_FLAGS_IGNORE_REDIRECTED_DATA: 4;
11872   readonly PERSIST_FLAGS_IGNORE_IFRAMES: 8;
11873   readonly PERSIST_FLAGS_NO_CONVERSION: 16;
11874   readonly PERSIST_FLAGS_REPLACE_EXISTING_FILES: 32;
11875   readonly PERSIST_FLAGS_NO_BASE_TAG_MODIFICATIONS: 64;
11876   readonly PERSIST_FLAGS_FIXUP_ORIGINAL_DOM: 128;
11877   readonly PERSIST_FLAGS_FIXUP_LINKS_TO_DESTINATION: 256;
11878   readonly PERSIST_FLAGS_DONT_FIXUP_LINKS: 512;
11879   readonly PERSIST_FLAGS_SERIALIZE_OUTPUT: 1024;
11880   readonly PERSIST_FLAGS_DONT_CHANGE_FILENAMES: 2048;
11881   readonly PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS: 4096;
11882   readonly PERSIST_FLAGS_CLEANUP_ON_FAILURE: 8192;
11883   readonly PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION: 16384;
11884   readonly PERSIST_FLAGS_APPEND_TO_FILE: 32768;
11885   readonly PERSIST_STATE_READY: 1;
11886   readonly PERSIST_STATE_SAVING: 2;
11887   readonly PERSIST_STATE_FINISHED: 3;
11888   readonly ENCODE_FLAGS_SELECTION_ONLY: 1;
11889   readonly ENCODE_FLAGS_FORMATTED: 2;
11890   readonly ENCODE_FLAGS_RAW: 4;
11891   readonly ENCODE_FLAGS_BODY_ONLY: 8;
11892   readonly ENCODE_FLAGS_PREFORMATTED: 16;
11893   readonly ENCODE_FLAGS_WRAP: 32;
11894   readonly ENCODE_FLAGS_FORMAT_FLOWED: 64;
11895   readonly ENCODE_FLAGS_ABSOLUTE_LINKS: 128;
11896   readonly ENCODE_FLAGS_CR_LINEBREAKS: 512;
11897   readonly ENCODE_FLAGS_LF_LINEBREAKS: 1024;
11898   readonly ENCODE_FLAGS_NOSCRIPT_CONTENT: 2048;
11899   readonly ENCODE_FLAGS_NOFRAMES_CONTENT: 4096;
11900   readonly ENCODE_FLAGS_ENCODE_BASIC_ENTITIES: 8192;
11902   persistFlags: u32;
11903   readonly currentState: u32;
11904   readonly result: nsresult;
11905   progressListener: nsIWebProgressListener;
11906   saveURI(aURI: nsIURI, aTriggeringPrincipal: nsIPrincipal, aCacheKey: u32, aReferrerInfo: nsIReferrerInfo, aCookieJarSettings: nsICookieJarSettings, aPostData: nsIInputStream, aExtraHeaders: string, aFile: nsISupports, aContentPolicyType: nsContentPolicyType, aIsPrivate: boolean): void;
11907   saveChannel(aChannel: nsIChannel, aFile: nsISupports): void;
11908   saveDocument(aDocument: nsISupports, aFile: nsISupports, aDataPath: nsISupports, aOutputContentType: string, aEncodingFlags: u32, aWrapColumn: u32): void;
11909   cancelSave(): void;
11912 // https://searchfox.org/mozilla-central/source/dom/webbrowserpersist/nsIWebBrowserPersistDocument.idl
11914 interface nsIWebBrowserPersistURIMap extends nsISupports {
11915   readonly numMappedURIs: u32;
11916   getURIMapping(aIndex: u32, aMapFrom: OutParam<string>, aMapTo: OutParam<string>): void;
11917   readonly targetBaseURI: string;
11920 interface nsIWebBrowserPersistDocument extends nsISupports {
11921   readonly isClosed: boolean;
11922   readonly isPrivate: boolean;
11923   readonly documentURI: string;
11924   readonly baseURI: string;
11925   readonly contentType: string;
11926   readonly characterSet: string;
11927   readonly title: string;
11928   readonly referrerInfo: nsIReferrerInfo;
11929   readonly cookieJarSettings: nsICookieJarSettings;
11930   readonly contentDisposition: string;
11931   readonly postData: nsIInputStream;
11932   readonly principal: nsIPrincipal;
11933   readonly cacheKey: u32;
11934   persistFlags: u32;
11935   readResources(aVisitor: nsIWebBrowserPersistResourceVisitor): void;
11936   writeContent(aStream: nsIOutputStream, aURIMap: nsIWebBrowserPersistURIMap, aRequestedContentType: string, aEncoderFlags: u32, aWrapColumn: u32, aCompletion: nsIWebBrowserPersistWriteCompletion): void;
11939 interface nsIWebBrowserPersistResourceVisitor extends nsISupports {
11940   visitResource(aDocument: nsIWebBrowserPersistDocument, aURI: string, aContentPolicyType: nsContentPolicyType): void;
11941   visitDocument(aDocument: nsIWebBrowserPersistDocument, aSubDocument: nsIWebBrowserPersistDocument): void;
11942   visitBrowsingContext(aDocument: nsIWebBrowserPersistDocument, aContext: BrowsingContext): void;
11943   endVisit(aDocument: nsIWebBrowserPersistDocument, aStatus: nsresult): void;
11946 type nsIWebBrowserPersistWriteCompletion = Callable<{
11947   onFinish(aDocument: nsIWebBrowserPersistDocument, aStream: nsIOutputStream, aContentType: string, aStatus: nsresult): void;
11950 interface nsIWebBrowserPersistDocumentReceiver extends nsISupports {
11951   onDocumentReady(aDocument: nsIWebBrowserPersistDocument): void;
11952   onError(aFailure: nsresult): void;
11955 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowser.idl
11957 interface nsIWebBrowser extends nsISupports {
11958   containerWindow: nsIWebBrowserChrome;
11959   readonly contentDOMWindow: mozIDOMWindowProxy;
11962 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserChrome.idl
11964 interface nsIWebBrowserChrome extends nsISupports {
11965   readonly CHROME_DEFAULT: 1;
11966   readonly CHROME_WINDOW_BORDERS: 2;
11967   readonly CHROME_WINDOW_CLOSE: 4;
11968   readonly CHROME_WINDOW_RESIZE: 8;
11969   readonly CHROME_MENUBAR: 16;
11970   readonly CHROME_TOOLBAR: 32;
11971   readonly CHROME_LOCATIONBAR: 64;
11972   readonly CHROME_STATUSBAR: 128;
11973   readonly CHROME_PERSONAL_TOOLBAR: 256;
11974   readonly CHROME_SCROLLBARS: 512;
11975   readonly CHROME_TITLEBAR: 1024;
11976   readonly CHROME_EXTRA: 2048;
11977   readonly CHROME_ALL: 4094;
11978   readonly CHROME_WINDOW_MINIMIZE: 16384;
11979   readonly CHROME_ALERT: 32768;
11980   readonly CHROME_PRIVATE_WINDOW: 65536;
11981   readonly CHROME_NON_PRIVATE_WINDOW: 131072;
11982   readonly CHROME_PRIVATE_LIFETIME: 262144;
11983   readonly CHROME_ALWAYS_ON_TOP: 524288;
11984   readonly CHROME_REMOTE_WINDOW: 1048576;
11985   readonly CHROME_FISSION_WINDOW: 2097152;
11986   readonly CHROME_SUPPRESS_ANIMATION: 16777216;
11987   readonly CHROME_WINDOW_RAISED: 33554432;
11988   readonly CHROME_WINDOW_LOWERED: 67108864;
11989   readonly CHROME_CENTER_SCREEN: 134217728;
11990   readonly CHROME_DEPENDENT: 268435456;
11991   readonly CHROME_MODAL: 536870912;
11992   readonly CHROME_OPENAS_DIALOG: 1073741824;
11993   readonly CHROME_OPENAS_CHROME: 2147483648;
11994   readonly CHROME_MINIMAL_POPUP: 18126;
11996   setLinkStatus(status: string): void;
11997   chromeFlags: u32;
11998   showAsModal(): void;
11999   isWindowModal(): boolean;
12000   blur(): void;
12003 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserChromeFocus.idl
12005 interface nsIWebBrowserChromeFocus extends nsISupports {
12006   focusNextElement(aForDocumentNavigation: boolean): void;
12007   focusPrevElement(aForDocumentNavigation: boolean): void;
12010 // https://searchfox.org/mozilla-central/source/toolkit/components/browser/nsIWebBrowserPrint.idl
12012 interface nsIWebBrowserPrint extends nsISupports {
12013   readonly PRINTPREVIEW_GOTO_PAGENUM: 0;
12014   readonly PRINTPREVIEW_PREV_PAGE: 1;
12015   readonly PRINTPREVIEW_NEXT_PAGE: 2;
12016   readonly PRINTPREVIEW_HOME: 3;
12017   readonly PRINTPREVIEW_END: 4;
12019   readonly doingPrint: boolean;
12020   readonly doingPrintPreview: boolean;
12021   readonly rawNumPages: i32;
12022   readonly printPreviewNumPages: i32;
12023   readonly printPreviewCurrentPageNumber: i32;
12024   closeWindowAfterPrint: boolean;
12025   printPreviewScrollToPage(aNavType: i16, aPageNum: i32): void;
12026   exitPrintPreview(): void;
12029 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/storage/mozIExtensionStorageArea.idl
12031 interface mozIExtensionStorageArea extends nsISupports {
12032   readonly SYNC_QUOTA_BYTES: 102400;
12033   readonly SYNC_QUOTA_BYTES_PER_ITEM: 8192;
12034   readonly SYNC_MAX_ITEMS: 512;
12036   set(extensionId: string, json: string, callback: mozIExtensionStorageCallback): void;
12037   get(extensionId: string, key: string, callback: mozIExtensionStorageCallback): void;
12038   remove(extensionId: string, key: string, callback: mozIExtensionStorageCallback): void;
12039   clear(extensionId: string, callback: mozIExtensionStorageCallback): void;
12040   getBytesInUse(extensionId: string, keys: string, callback: mozIExtensionStorageCallback): void;
12041   takeMigrationInfo(callback: mozIExtensionStorageCallback): void;
12044 interface mozIConfigurableExtensionStorageArea extends nsISupports {
12045   configure(databaseFile: nsIFile, kintoFile: nsIFile): void;
12046   teardown(callback: mozIExtensionStorageCallback): void;
12049 interface mozISyncedExtensionStorageArea extends nsISupports {
12050   fetchPendingSyncChanges(callback: mozIExtensionStorageCallback): void;
12053 interface mozIExtensionStorageListener extends nsISupports {
12054   onChanged(extensionId: string, json: string): void;
12057 interface mozIExtensionStorageCallback extends nsISupports {
12058   handleSuccess(result: nsIVariant): void;
12059   handleError(code: nsresult, message: string): void;
12062 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/extIWebNavigation.idl
12064 interface extIWebNavigation extends nsISupports {
12065   onDocumentChange(bc: BrowsingContext, transitionData: any, location: nsIURI): void;
12066   onHistoryChange(bc: BrowsingContext, transitionData: any, location: nsIURI, isHistoryStateUpdated: boolean, isReferenceFragmentUpdated: boolean): void;
12067   onStateChange(bc: BrowsingContext, requestURI: nsIURI, status: nsresult, stateFlags: u32): void;
12068   onCreatedNavigationTarget(bc: BrowsingContext, sourceBC: BrowsingContext, url: string): void;
12069   onDOMContentLoaded(bc: BrowsingContext, documentURI: nsIURI): void;
12072 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionAPIRequestHandling.idl
12074 interface mozIExtensionServiceWorkerInfo extends nsISupports {
12075   readonly principal: nsIPrincipal;
12076   readonly scriptURL: string;
12077   readonly clientInfoId: string;
12078   readonly descriptorId: u64;
12081 }  // global
12083 declare namespace mozIExtensionListenerCallOptions {
12085 enum APIObjectType {
12086   NONE = 0,
12087   RUNTIME_PORT = 1,
12090 enum CallbackType {
12091   CALLBACK_NONE = 0,
12092   CALLBACK_SEND_RESPONSE = 1,
12097 declare global {
12099 interface mozIExtensionListenerCallOptions extends nsISupports, Enums<typeof mozIExtensionListenerCallOptions.APIObjectType & typeof mozIExtensionListenerCallOptions.CallbackType> {
12100   readonly apiObjectType: mozIExtensionListenerCallOptions.APIObjectType;
12101   readonly apiObjectDescriptor: any;
12102   readonly apiObjectPrepended: boolean;
12103   callbackType: mozIExtensionListenerCallOptions.CallbackType;
12106 interface mozIExtensionEventListener extends nsISupports {
12107   callListener(args: any[], listenerCallOptions?: mozIExtensionListenerCallOptions): Promise<any>;
12110 }  // global
12112 declare namespace mozIExtensionAPIRequest {
12114 enum RequestType {
12115   CALL_FUNCTION = 0,
12116   CALL_FUNCTION_NO_RETURN = 1,
12117   CALL_FUNCTION_ASYNC = 2,
12118   ADD_LISTENER = 3,
12119   REMOVE_LISTENER = 4,
12120   GET_PROPERTY = 5,
12125 declare global {
12127 interface mozIExtensionAPIRequest extends nsISupports, Enums<typeof mozIExtensionAPIRequest.RequestType> {
12128   toString(): string;
12129   readonly requestType: string;
12130   readonly apiNamespace: string;
12131   readonly apiName: string;
12132   readonly apiObjectType: string;
12133   readonly apiObjectId: string;
12134   readonly args: any;
12135   normalizedArgs: any;
12136   readonly callerSavedFrame: any;
12137   readonly serviceWorkerInfo: mozIExtensionServiceWorkerInfo;
12138   readonly eventListener: mozIExtensionEventListener;
12141 }  // global
12143 declare namespace mozIExtensionAPIRequestResult {
12145 enum ResultType {
12146   RETURN_VALUE = 0,
12147   EXTENSION_ERROR = 1,
12152 declare global {
12154 interface mozIExtensionAPIRequestResult extends nsISupports, Enums<typeof mozIExtensionAPIRequestResult.ResultType> {
12155   readonly type: mozIExtensionAPIRequestResult.ResultType;
12156   readonly value: any;
12159 interface mozIExtensionAPIRequestHandler extends nsISupports {
12160   handleAPIRequest(extension: nsISupports, apiRequest: mozIExtensionAPIRequest): OutParam<mozIExtensionAPIRequestResult>;
12161   initExtensionWorker(extension: nsISupports, serviceWorkerInfo: mozIExtensionServiceWorkerInfo): void;
12162   onExtensionWorkerLoaded(extension: nsISupports, serviceWorkerDescriptorId: u64): void;
12163   onExtensionWorkerDestroyed(extension: nsISupports, serviceWorkerDescriptorId: u64): void;
12166 // https://searchfox.org/mozilla-central/source/toolkit/components/extensions/mozIExtensionProcessScript.idl
12168 interface mozIExtensionProcessScript extends nsISupports {
12169   preloadContentScript(contentScript: nsISupports): void;
12170   loadContentScript(contentScript: WebExtensionContentScript, window: mozIDOMWindow): Promise<any>;
12171   initExtensionDocument(extension: nsISupports, doc: Document, privileged: boolean): void;
12174 // https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTListener.idl
12176 interface nsIWebVTTListener extends nsISupports {
12177   onCue(cue: any): void;
12178   onRegion(region: any): void;
12179   onParsingError(errorCode: i32): void;
12182 // https://searchfox.org/mozilla-central/source/dom/media/webvtt/nsIWebVTTParserWrapper.idl
12184 interface nsIWebVTTParserWrapper extends nsISupports {
12185   loadParser(window: mozIDOMWindow): void;
12186   parse(data: string): void;
12187   flush(): void;
12188   watch(callback: nsIWebVTTListener): void;
12189   cancel(): void;
12190   convertCueToDOMTree(window: mozIDOMWindow, cue: nsISupports): DocumentFragment;
12191   processCues(window: mozIDOMWindow, cues: nsIVariant, overlay: nsISupports, controls: nsISupports): void;
12194 // https://searchfox.org/mozilla-central/source/widget/nsIAppShell.idl
12196 // https://searchfox.org/mozilla-central/source/widget/nsIBaseWindow.idl
12198 interface nsIBaseWindow extends nsISupports {
12199   readonly eRepaint: 1;
12200   readonly eDelayResize: 2;
12202   destroy(): void;
12203   setPosition(x: i32, y: i32): void;
12204   setPositionDesktopPix(x: i32, y: i32): void;
12205   getPosition(x: OutParam<i32>, y: OutParam<i32>): void;
12206   setSize(cx: i32, cy: i32, fRepaint: boolean): void;
12207   getSize(cx: OutParam<i32>, cy: OutParam<i32>): void;
12208   setPositionAndSize(x: i32, y: i32, cx: i32, cy: i32, flags: u32): void;
12209   getPositionAndSize(x: OutParam<i32>, y: OutParam<i32>, cx: OutParam<i32>, cy: OutParam<i32>): void;
12210   repaint(force: boolean): void;
12211   readonly nativeHandle: string;
12212   visibility: boolean;
12213   enabled: boolean;
12214   readonly devicePixelsPerDesktopPixel: double;
12215   title: string;
12218 // https://searchfox.org/mozilla-central/source/widget/nsIBidiKeyboard.idl
12220 interface nsIBidiKeyboard extends nsISupports {
12221   reset(): void;
12222   isLangRTL(): boolean;
12223   readonly haveBidiKeyboards: boolean;
12226 // https://searchfox.org/mozilla-central/source/widget/nsIClipboard.idl
12228 interface nsIAsyncSetClipboardData extends nsISupports {
12229   setData(aTransferable: nsITransferable, aOwner?: nsIClipboardOwner): void;
12230   abort(aReason: nsresult): void;
12233 type nsIAsyncClipboardRequestCallback = Callable<{
12234   onComplete(aResult: nsresult): void;
12237 interface nsIAsyncGetClipboardData extends nsISupports {
12238   readonly valid: boolean;
12239   readonly flavorList: string[];
12240   getData(aTransferable: nsITransferable, aCallback: nsIAsyncClipboardRequestCallback): void;
12243 interface nsIAsyncClipboardGetCallback extends nsISupports {
12244   onSuccess(aAsyncGetClipboardData: nsIAsyncGetClipboardData): void;
12245   onError(aResult: nsresult): void;
12248 interface nsIClipboard extends nsISupports {
12249   readonly kSelectionClipboard: 0;
12250   readonly kGlobalClipboard: 1;
12251   readonly kFindClipboard: 2;
12252   readonly kSelectionCache: 3;
12254   setData(aTransferable: nsITransferable, anOwner: nsIClipboardOwner, aWhichClipboard: i32): void;
12255   asyncSetData(aWhichClipboard: i32, aCallback?: nsIAsyncClipboardRequestCallback): nsIAsyncSetClipboardData;
12256   getData(aTransferable: nsITransferable, aWhichClipboard: i32, aRequestingWindowContext?: WindowContext): void;
12257   asyncGetData(aFlavorList: string[], aWhichClipboard: i32, aRequestingWindowContext: WindowContext, aRequestingPrincipal: nsIPrincipal, aCallback: nsIAsyncClipboardGetCallback): void;
12258   getDataSnapshotSync(aFlavorList: string[], aWhichClipboard: i32, aRequestingWindowContext?: WindowContext): nsIAsyncGetClipboardData;
12259   emptyClipboard(aWhichClipboard: i32): void;
12260   hasDataMatchingFlavors(aFlavorList: string[], aWhichClipboard: i32): boolean;
12261   isClipboardTypeSupported(aWhichClipboard: i32): boolean;
12264 // https://searchfox.org/mozilla-central/source/widget/nsIClipboardHelper.idl
12266 }  // global
12268 declare namespace nsIClipboardHelper {
12270 enum SensitiveData {
12271   NotSensitive = 0,
12272   Sensitive = 1,
12277 declare global {
12279 interface nsIClipboardHelper extends nsISupports, Enums<typeof nsIClipboardHelper.SensitiveData> {
12280   copyStringToClipboard(aString: string, aClipboardID: i32, aSensitive?: nsIClipboardHelper.SensitiveData): void;
12281   copyString(aString: string, aSensitive?: nsIClipboardHelper.SensitiveData): void;
12284 // https://searchfox.org/mozilla-central/source/widget/nsIClipboardOwner.idl
12286 interface nsIClipboardOwner extends nsISupports {
12287   LosingOwnership(aTransferable: nsITransferable): void;
12290 // https://searchfox.org/mozilla-central/source/widget/nsIColorPicker.idl
12292 interface nsIColorPickerShownCallback extends nsISupports {
12293   update(color: string): void;
12294   done(color: string): void;
12297 interface nsIColorPicker extends nsISupports {
12298   init(parent: mozIDOMWindowProxy, title: string, initialColor: string, defaultColors: string[]): void;
12299   open(aColorPickerShownCallback: nsIColorPickerShownCallback): void;
12302 // https://searchfox.org/mozilla-central/source/widget/nsIDisplayInfo.idl
12304 interface nsIDisplayInfo extends nsISupports {
12305   readonly id: i32;
12306   readonly connected: boolean;
12309 // https://searchfox.org/mozilla-central/source/widget/nsIDragService.idl
12311 interface nsIDragService extends nsISupports {
12312   readonly DRAGDROP_ACTION_NONE: 0;
12313   readonly DRAGDROP_ACTION_COPY: 1;
12314   readonly DRAGDROP_ACTION_MOVE: 2;
12315   readonly DRAGDROP_ACTION_LINK: 4;
12316   readonly DRAGDROP_ACTION_UNINITIALIZED: 64;
12318   invokeDragSession(aDOMNode: Node, aPrincipal: nsIPrincipal, aCsp: nsIContentSecurityPolicy, aCookieJarSettings: nsICookieJarSettings, aTransferables: nsIArray, aActionType: u32, aContentPolicyType?: nsContentPolicyType): void;
12319   getCurrentSession(): nsIDragSession;
12320   startDragSession(): void;
12321   startDragSessionForTests(aAllowedEffect: u32): void;
12322   endDragSession(aDoneDrag: boolean, aKeyModifiers?: u32): void;
12323   suppress(): void;
12324   unsuppress(): void;
12327 // https://searchfox.org/mozilla-central/source/widget/nsIDragSession.idl
12329 interface nsIDragSession extends nsISupports {
12330   canDrop: boolean;
12331   onlyChromeDrop: boolean;
12332   dragAction: u32;
12333   readonly numDropItems: u32;
12334   sourceWindowContext: WindowContext;
12335   sourceTopWindowContext: WindowContext;
12336   readonly sourceNode: Node;
12337   triggeringPrincipal: nsIPrincipal;
12338   csp: nsIContentSecurityPolicy;
12339   dataTransfer: DataTransfer;
12340   getData(aTransferable: nsITransferable, aItemIndex: u32): void;
12341   isDataFlavorSupported(aDataFlavor: string): boolean;
12342   userCancelled(): void;
12343   dragEventDispatchedToChildProcess(): void;
12344   updateDragEffect(): void;
12345   updateDragImage(aImage: Node, aImageX: i32, aImageY: i32): void;
12346   setDragEndPointForTests(aScreenX: i32, aScreenY: i32): void;
12349 // https://searchfox.org/mozilla-central/source/widget/nsIFilePicker.idl
12351 }  // global
12353 declare namespace nsIFilePicker {
12355 enum Mode {
12356   modeOpen = 0,
12357   modeSave = 1,
12358   modeGetFolder = 2,
12359   modeOpenMultiple = 3,
12362 enum ResultCode {
12363   returnOK = 0,
12364   returnCancel = 1,
12365   returnReplace = 2,
12368 enum CaptureTarget {
12369   captureNone = 0,
12370   captureDefault = 1,
12371   captureUser = 2,
12372   captureEnv = 3,
12377 declare global {
12379 interface nsIFilePicker extends nsISupports, Enums<typeof nsIFilePicker.Mode & typeof nsIFilePicker.ResultCode & typeof nsIFilePicker.CaptureTarget> {
12380   readonly filterAll: 1;
12381   readonly filterHTML: 2;
12382   readonly filterText: 4;
12383   readonly filterImages: 8;
12384   readonly filterXML: 16;
12385   readonly filterXUL: 32;
12386   readonly filterApps: 64;
12387   readonly filterAllowURLs: 128;
12388   readonly filterAudio: 256;
12389   readonly filterVideo: 512;
12390   readonly filterPDF: 1024;
12392   init(browsingContext: BrowsingContext, title: string, mode: nsIFilePicker.Mode): void;
12393   isModeSupported(mode: nsIFilePicker.Mode): Promise<any>;
12394   appendFilters(filterMask: i32): void;
12395   appendFilter(title: string, filter: string): void;
12396   appendRawFilter(filter: string): void;
12397   defaultString: string;
12398   defaultExtension: string;
12399   filterIndex: i32;
12400   displayDirectory: nsIFile;
12401   displaySpecialDirectory: string;
12402   readonly file: nsIFile;
12403   readonly fileURL: nsIURI;
12404   readonly files: nsISimpleEnumerator;
12405   readonly domFileOrDirectory: nsISupports;
12406   readonly domFileOrDirectoryEnumerator: nsISimpleEnumerator;
12407   addToRecentDocs: boolean;
12408   open(aFilePickerShownCallback: nsIFilePickerShownCallback): void;
12409   close(): void;
12410   readonly mode: nsIFilePicker.Mode;
12411   okButtonLabel: string;
12412   capture: nsIFilePicker.CaptureTarget;
12415 type nsIFilePickerShownCallback = Callable<{
12416   done(aResult: nsIFilePicker.ResultCode): void;
12419 // https://searchfox.org/mozilla-central/source/widget/nsIFormatConverter.idl
12421 interface nsIFormatConverter extends nsISupports {
12422   getInputDataFlavors(): string[];
12423   getOutputDataFlavors(): string[];
12424   canConvert(aFromDataFlavor: string, aToDataFlavor: string): boolean;
12425   convert(aFromDataFlavor: string, aFromData: nsISupports, aToDataFlavor: string, aToData: OutParam<nsISupports>): void;
12428 // https://searchfox.org/mozilla-central/source/widget/nsIGfxInfo.idl
12430 }  // global
12432 declare namespace nsIGfxInfo {
12434 enum FontVisibilityDeviceDetermination {
12435   Unassigned = 0,
12436   Unknown_Platform = 1,
12437   Windows_Platform = 2,
12438   MacOS_Platform = 3,
12439   Android_Unknown_Release_Version = 4,
12440   Android_Unknown_Peloton = 5,
12441   Android_Unknown_vbox = 6,
12442   Android_Unknown_mitv = 7,
12443   Android_Chromebook = 8,
12444   Android_Amazon = 9,
12445   Android_sub_9 = 10,
12446   Android_9_11 = 11,
12447   Android_12_plus = 12,
12448   Linux_Unknown = 13,
12449   Linux_Ubuntu_any = 14,
12450   Linux_Ubuntu_20 = 15,
12451   Linux_Ubuntu_22 = 16,
12452   Linux_Fedora_any = 17,
12453   Linux_Fedora_38 = 18,
12454   Linux_Fedora_39 = 19,
12459 declare global {
12461 interface nsIGfxInfo extends nsISupports, Enums<typeof nsIGfxInfo.FontVisibilityDeviceDetermination> {
12462   readonly FEATURE_DIRECT2D: 1;
12463   readonly FEATURE_DIRECT3D_9_LAYERS: 2;
12464   readonly FEATURE_DIRECT3D_10_LAYERS: 3;
12465   readonly FEATURE_DIRECT3D_10_1_LAYERS: 4;
12466   readonly FEATURE_OPENGL_LAYERS: 5;
12467   readonly FEATURE_WEBGL_OPENGL: 6;
12468   readonly FEATURE_WEBGL_ANGLE: 7;
12469   readonly UNUSED_FEATURE_WEBGL_MSAA: 8;
12470   readonly FEATURE_STAGEFRIGHT: 9;
12471   readonly FEATURE_WEBRTC_HW_ACCELERATION_H264: 10;
12472   readonly FEATURE_DIRECT3D_11_LAYERS: 11;
12473   readonly FEATURE_HARDWARE_VIDEO_DECODING: 12;
12474   readonly FEATURE_DIRECT3D_11_ANGLE: 13;
12475   readonly FEATURE_WEBRTC_HW_ACCELERATION_ENCODE: 14;
12476   readonly FEATURE_WEBRTC_HW_ACCELERATION_DECODE: 15;
12477   readonly FEATURE_CANVAS2D_ACCELERATION: 16;
12478   readonly FEATURE_VP8_HW_DECODE: 17;
12479   readonly FEATURE_VP9_HW_DECODE: 18;
12480   readonly FEATURE_DX_INTEROP2: 19;
12481   readonly FEATURE_GPU_PROCESS: 20;
12482   readonly FEATURE_WEBGL2: 21;
12483   readonly FEATURE_D3D11_KEYED_MUTEX: 22;
12484   readonly FEATURE_WEBRENDER: 23;
12485   readonly FEATURE_DX_NV12: 24;
12486   readonly FEATURE_DX_P010: 25;
12487   readonly FEATURE_DX_P016: 26;
12488   readonly FEATURE_GL_SWIZZLE: 27;
12489   readonly FEATURE_WEBRENDER_COMPOSITOR: 28;
12490   readonly FEATURE_WEBRENDER_SCISSORED_CACHE_CLEARS: 29;
12491   readonly FEATURE_ALLOW_WEBGL_OUT_OF_PROCESS: 30;
12492   readonly FEATURE_THREADSAFE_GL: 31;
12493   readonly FEATURE_WEBRENDER_OPTIMIZED_SHADERS: 32;
12494   readonly FEATURE_X11_EGL: 33;
12495   readonly FEATURE_DMABUF: 34;
12496   readonly FEATURE_WEBRENDER_SHADER_CACHE: 35;
12497   readonly FEATURE_WEBRENDER_PARTIAL_PRESENT: 36;
12498   readonly FEATURE_WEBGPU: 37;
12499   readonly FEATURE_VIDEO_OVERLAY: 38;
12500   readonly FEATURE_HW_DECODED_VIDEO_ZERO_COPY: 39;
12501   readonly FEATURE_DMABUF_SURFACE_EXPORT: 40;
12502   readonly FEATURE_REUSE_DECODER_DEVICE: 41;
12503   readonly FEATURE_BACKDROP_FILTER: 42;
12504   readonly FEATURE_ACCELERATED_CANVAS2D: 43;
12505   readonly FEATURE_H264_HW_DECODE: 44;
12506   readonly FEATURE_AV1_HW_DECODE: 45;
12507   readonly FEATURE_VIDEO_SOFTWARE_OVERLAY: 46;
12508   readonly FEATURE_WEBGL_USE_HARDWARE: 47;
12509   readonly FEATURE_OVERLAY_VP_AUTO_HDR: 48;
12510   readonly FEATURE_OVERLAY_VP_SUPER_RESOLUTION: 49;
12511   readonly FEATURE_MAX_VALUE: 49;
12512   readonly FEATURE_STATUS_OK: 1;
12513   readonly FEATURE_STATUS_UNKNOWN: 2;
12514   readonly FEATURE_BLOCKED_DRIVER_VERSION: 3;
12515   readonly FEATURE_BLOCKED_DEVICE: 4;
12516   readonly FEATURE_DISCOURAGED: 5;
12517   readonly FEATURE_BLOCKED_OS_VERSION: 6;
12518   readonly FEATURE_BLOCKED_MISMATCHED_VERSION: 7;
12519   readonly FEATURE_DENIED: 8;
12520   readonly FEATURE_ALLOW_ALWAYS: 9;
12521   readonly FEATURE_ALLOW_QUALIFIED: 10;
12522   readonly FEATURE_BLOCKED_PLATFORM_TEST: 11;
12524   readonly D2DEnabled: boolean;
12525   readonly DWriteEnabled: boolean;
12526   readonly EmbeddedInFirefoxReality: boolean;
12527   readonly AzureCanvasBackend: string;
12528   readonly AzureContentBackend: string;
12529   readonly usingGPUProcess: boolean;
12530   readonly usingRemoteCanvas: boolean;
12531   readonly usingAcceleratedCanvas: boolean;
12532   readonly hasBattery: boolean;
12533   readonly DWriteVersion: string;
12534   readonly cleartypeParameters: string;
12535   readonly windowProtocol: string;
12536   readonly testType: string;
12537   readonly ContentBackend: string;
12538   readonly isHeadless: boolean;
12539   readonly TargetFrameRate: u32;
12540   readonly CodecSupportInfo: string;
12541   readonly fontVisibilityDetermination: nsIGfxInfo.FontVisibilityDeviceDetermination;
12542   readonly fontVisibilityDeterminationStr: string;
12543   readonly adapterDescription: string;
12544   readonly adapterDescription2: string;
12545   readonly adapterDriver: string;
12546   readonly adapterDriver2: string;
12547   readonly adapterVendorID: string;
12548   readonly adapterVendorID2: string;
12549   readonly adapterDeviceID: string;
12550   readonly adapterDeviceID2: string;
12551   readonly adapterSubsysID: string;
12552   readonly adapterSubsysID2: string;
12553   readonly adapterRAM: u32;
12554   readonly adapterRAM2: u32;
12555   readonly adapterDriverVendor: string;
12556   readonly adapterDriverVendor2: string;
12557   readonly adapterDriverVersion: string;
12558   readonly adapterDriverVersion2: string;
12559   readonly adapterDriverDate: string;
12560   readonly adapterDriverDate2: string;
12561   readonly isGPU2Active: boolean;
12562   readonly drmRenderDevice: string;
12563   getMonitors(): any;
12564   getFailures(indices: OutParam<i32[]>): string[];
12565   getFeatureStatus(aFeature: i32, aFailureId?: OutParam<string>): i32;
12566   getFeatureSuggestedDriverVersion(aFeature: i32): string;
12567   getInfo(): any;
12568   getFeatureLog(): any;
12569   getFeatures(): any;
12570   getActiveCrashGuards(): any;
12571   controlGPUProcessForXPCShell(aEnable: boolean): boolean;
12572   killGPUProcessForTests(): void;
12573   crashGPUProcessForTests(): void;
12576 // https://searchfox.org/mozilla-central/source/widget/nsIGfxInfoDebug.idl
12578 interface nsIGfxInfoDebug extends nsISupports {
12579   spoofVendorID(aVendorID: string): void;
12580   spoofDeviceID(aDeviceID: string): void;
12581   spoofDriverVersion(aDriverVersion: string): void;
12582   spoofOSVersion(aVersion: u32): void;
12585 // https://searchfox.org/mozilla-central/source/widget/nsIJumpListBuilder.idl
12587 interface nsIJumpListBuilder extends nsISupports {
12588   obtainAndCacheFavicon(faviconURL: nsIURI): string;
12589   isAvailable(): Promise<any>;
12590   checkForRemovals(): Promise<any>;
12591   populateJumpList(aTaskDescriptions: any[], aCustomTitle: string, aCustomDescriptions: any[]): Promise<any>;
12592   clearJumpList(): Promise<any>;
12595 // https://searchfox.org/mozilla-central/source/widget/nsILegacyJumpListBuilder.idl
12597 type nsILegacyJumpListCommittedCallback = Callable<{
12598   done(result: boolean): void;
12601 interface nsILegacyJumpListBuilder extends nsISupports {
12602   readonly JUMPLIST_CATEGORY_TASKS: 0;
12603   readonly JUMPLIST_CATEGORY_RECENT: 1;
12604   readonly JUMPLIST_CATEGORY_FREQUENT: 2;
12605   readonly JUMPLIST_CATEGORY_CUSTOMLIST: 3;
12607   readonly available: i16;
12608   readonly isListCommitted: boolean;
12609   readonly maxListItems: i16;
12610   initListBuild(): Promise<any>;
12611   addListToBuild(aCatType: i16, items?: nsIArray, catName?: string): boolean;
12612   abortListBuild(): void;
12613   commitListBuild(callback?: nsILegacyJumpListCommittedCallback): void;
12614   deleteActiveList(): boolean;
12615   setAppUserModelID(aAppUserModelId: string): void;
12618 // https://searchfox.org/mozilla-central/source/widget/nsILegacyJumpListItem.idl
12620 interface nsILegacyJumpListItem extends nsISupports {
12621   readonly JUMPLIST_ITEM_EMPTY: 0;
12622   readonly JUMPLIST_ITEM_SEPARATOR: 1;
12623   readonly JUMPLIST_ITEM_LINK: 2;
12624   readonly JUMPLIST_ITEM_SHORTCUT: 3;
12626   readonly type: i16;
12627   equals(item: nsILegacyJumpListItem): boolean;
12630 interface nsILegacyJumpListSeparator extends nsILegacyJumpListItem {
12633 interface nsILegacyJumpListLink extends nsILegacyJumpListItem {
12634   uri: nsIURI;
12635   uriTitle: string;
12638 interface nsILegacyJumpListShortcut extends nsILegacyJumpListItem {
12639   app: nsILocalHandlerApp;
12640   iconIndex: i32;
12641   faviconPageUri: nsIURI;
12644 // https://searchfox.org/mozilla-central/source/widget/nsIPaper.idl
12646 interface nsIPaper extends nsISupports {
12647   readonly id: string;
12648   readonly name: string;
12649   readonly width: double;
12650   readonly height: double;
12651   readonly unwriteableMargin: Promise<any>;
12654 // https://searchfox.org/mozilla-central/source/widget/nsIPaperMargin.idl
12656 interface nsIPaperMargin extends nsISupports {
12657   readonly top: double;
12658   readonly right: double;
12659   readonly bottom: double;
12660   readonly left: double;
12663 // https://searchfox.org/mozilla-central/source/widget/nsIPrintDialogService.idl
12665 interface nsIPrintDialogService extends nsISupports {
12666   init(): void;
12667   showPrintDialog(aParent: mozIDOMWindowProxy, aHaveSelection: boolean, aPrintSettings: nsIPrintSettings): void;
12668   showPageSetupDialog(aParent: mozIDOMWindowProxy, aPrintSettings: nsIPrintSettings): void;
12671 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettings.idl
12673 }  // global
12675 declare namespace nsIPrintSettings {
12677 enum OutputDestinationType {
12678   kOutputDestinationPrinter = 0,
12679   kOutputDestinationFile = 1,
12680   kOutputDestinationStream = 2,
12685 declare global {
12687 interface nsIPrintSettings extends nsISupports, Enums<typeof nsIPrintSettings.OutputDestinationType> {
12688   readonly kInitSaveHeaderLeft: 2;
12689   readonly kInitSaveHeaderCenter: 4;
12690   readonly kInitSaveHeaderRight: 8;
12691   readonly kInitSaveFooterLeft: 16;
12692   readonly kInitSaveFooterCenter: 32;
12693   readonly kInitSaveFooterRight: 64;
12694   readonly kInitSaveBGColors: 128;
12695   readonly kInitSaveBGImages: 256;
12696   readonly kInitSavePaperSize: 512;
12697   readonly kInitSaveDuplex: 2048;
12698   readonly kInitSaveUnwriteableMargins: 16384;
12699   readonly kInitSaveEdges: 32768;
12700   readonly kInitSaveReversed: 65536;
12701   readonly kInitSaveInColor: 131072;
12702   readonly kInitSaveOrientation: 262144;
12703   readonly kInitSavePrinterName: 1048576;
12704   readonly kInitSavePrintToFile: 2097152;
12705   readonly kInitSaveToFileName: 4194304;
12706   readonly kInitSavePageDelay: 8388608;
12707   readonly kInitSaveMargins: 16777216;
12708   readonly kInitSaveShrinkToFit: 134217728;
12709   readonly kInitSaveScaling: 268435456;
12710   readonly kInitSaveAll: 4294967295;
12711   readonly kGlobalSettings: 134447614;
12712   readonly kPrintDialogPersistSettings: 428313598;
12713   readonly kJustLeft: 0;
12714   readonly kJustCenter: 1;
12715   readonly kJustRight: 2;
12716   readonly kPaperSizeInches: 0;
12717   readonly kPaperSizeMillimeters: 1;
12718   readonly kPortraitOrientation: 0;
12719   readonly kLandscapeOrientation: 1;
12720   readonly kOutputFormatNative: 0;
12721   readonly kOutputFormatPDF: 2;
12722   readonly kDuplexNone: 0;
12723   readonly kDuplexFlipOnLongEdge: 1;
12724   readonly kDuplexFlipOnShortEdge: 2;
12726   GetEffectivePageSize(aWidth: OutParam<double>, aHeight: OutParam<double>): void;
12727   clone(): nsIPrintSettings;
12728   assign(aPS: nsIPrintSettings): void;
12729   equivalentTo(aPrintSettings: nsIPrintSettings): boolean;
12730   edgeTop: double;
12731   edgeLeft: double;
12732   edgeBottom: double;
12733   edgeRight: double;
12734   marginTop: double;
12735   marginLeft: double;
12736   marginBottom: double;
12737   marginRight: double;
12738   unwriteableMarginTop: double;
12739   unwriteableMarginLeft: double;
12740   unwriteableMarginBottom: double;
12741   unwriteableMarginRight: double;
12742   scaling: double;
12743   printBGColors: boolean;
12744   printBGImages: boolean;
12745   honorPageRuleMargins: boolean;
12746   usePageRuleSizeAsPaperSize: boolean;
12747   ignoreUnwriteableMargins: boolean;
12748   showMarginGuides: boolean;
12749   printSelectionOnly: boolean;
12750   title: string;
12751   docURL: string;
12752   headerStrLeft: string;
12753   headerStrCenter: string;
12754   headerStrRight: string;
12755   footerStrLeft: string;
12756   footerStrCenter: string;
12757   footerStrRight: string;
12758   printSilent: boolean;
12759   shrinkToFit: boolean;
12760   paperId: string;
12761   paperWidth: double;
12762   paperHeight: double;
12763   paperSizeUnit: i16;
12764   printReversed: boolean;
12765   printInColor: boolean;
12766   orientation: i32;
12767   numCopies: i32;
12768   numPagesPerSheet: i32;
12769   outputDestination: nsIPrintSettings.OutputDestinationType;
12770   outputFormat: i16;
12771   printerName: string;
12772   toFileName: string;
12773   outputStream: nsIOutputStream;
12774   printPageDelay: i32;
12775   resolution: i32;
12776   duplex: i32;
12777   isInitializedFromPrinter: boolean;
12778   isInitializedFromPrefs: boolean;
12779   pageRanges: i32[];
12782 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsService.idl
12784 interface nsIPrintSettingsService extends nsISupports {
12785   createNewPrintSettings(): nsIPrintSettings;
12786   readonly lastUsedPrinterName: string;
12787   initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;
12788   initPrintSettingsFromPrefs(aPrintSettings: nsIPrintSettings, aUsePrinterNamePrefix: boolean, aFlags: u32): void;
12789   maybeSavePrintSettingsToPrefs(aPrintSettings: nsIPrintSettings, aFlags: u32): void;
12790   maybeSaveLastUsedPrinterNameToPrefs(aPrinterName: string): void;
12793 // https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsWin.idl
12795 // https://searchfox.org/mozilla-central/source/widget/nsIPrinter.idl
12797 interface nsIPrinterInfo extends nsISupports {
12798   readonly paperList: nsIPaper[];
12799   readonly defaultSettings: nsIPrintSettings;
12802 interface nsIPrinter extends nsISupports {
12803   readonly name: string;
12804   readonly systemName: string;
12805   readonly printerInfo: Promise<any>;
12806   copyFromWithValidation(aSettingsToCopyFrom: nsIPrintSettings): Promise<any>;
12807   readonly supportsDuplex: Promise<any>;
12808   readonly supportsColor: Promise<any>;
12809   readonly supportsMonochrome: Promise<any>;
12810   readonly supportsCollation: Promise<any>;
12813 // https://searchfox.org/mozilla-central/source/widget/nsIPrinterList.idl
12815 interface nsIPrinterList extends nsISupports {
12816   initPrintSettingsFromPrinter(aPrinterName: string, aPrintSettings: nsIPrintSettings): void;
12817   readonly systemDefaultPrinterName: string;
12818   getPrinterByName(aPrinterName: string): Promise<any>;
12819   getPrinterBySystemName(aPrinterName: string): Promise<any>;
12820   getNamedOrDefaultPrinter(aPrinterName: string): Promise<any>;
12821   readonly printers: Promise<any>;
12822   readonly fallbackPaperList: Promise<any>;
12825 // https://searchfox.org/mozilla-central/source/widget/nsIScreen.idl
12827 interface nsIScreen extends nsISupports {
12828   GetRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12829   GetAvailRect(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12830   GetRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12831   GetAvailRectDisplayPix(left: OutParam<i32>, top: OutParam<i32>, width: OutParam<i32>, height: OutParam<i32>): void;
12832   readonly pixelDepth: i32;
12833   readonly colorDepth: i32;
12834   readonly contentsScaleFactor: double;
12835   readonly defaultCSSScaleFactor: double;
12836   readonly dpi: float;
12837   readonly refreshRate: i32;
12838   readonly isPseudoDisplay: boolean;
12841 // https://searchfox.org/mozilla-central/source/widget/nsIScreenManager.idl
12843 interface nsIScreenManager extends nsISupports {
12844   screenForRect(left: i32, top: i32, width: i32, height: i32): nsIScreen;
12845   readonly primaryScreen: nsIScreen;
12846   readonly totalScreenPixels: i64;
12849 // https://searchfox.org/mozilla-central/source/widget/nsISharePicker.idl
12851 interface nsISharePicker extends nsISupports {
12852   init(openerWindow: mozIDOMWindowProxy): void;
12853   readonly openerWindow: mozIDOMWindowProxy;
12854   share(title: string, text: string, url: nsIURI): Promise<any>;
12857 // https://searchfox.org/mozilla-central/source/widget/nsISound.idl
12859 interface nsISound extends nsISupports {
12860   readonly EVENT_NEW_MAIL_RECEIVED: 0;
12861   readonly EVENT_ALERT_DIALOG_OPEN: 1;
12862   readonly EVENT_CONFIRM_DIALOG_OPEN: 2;
12863   readonly EVENT_PROMPT_DIALOG_OPEN: 3;
12864   readonly EVENT_SELECT_DIALOG_OPEN: 4;
12865   readonly EVENT_MENU_EXECUTE: 5;
12866   readonly EVENT_MENU_POPUP: 6;
12867   readonly EVENT_EDITOR_MAX_LEN: 7;
12869   play(aURL: nsIURL): void;
12870   beep(): void;
12871   init(): void;
12872   playEventSound(aEventId: u32): void;
12875 // https://searchfox.org/mozilla-central/source/widget/nsISystemStatusBar.idl
12877 interface nsISystemStatusBar extends nsISupports {
12878   addItem(aMenuElement: Element): void;
12879   removeItem(aMenuElement: Element): void;
12882 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarOverlayIconController.idl
12884 interface nsITaskbarOverlayIconController extends nsISupports {
12885   setOverlayIcon(statusIcon: imgIContainer, statusDescription: string): void;
12888 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreview.idl
12890 interface nsITaskbarPreview extends nsISupports {
12891   controller: nsITaskbarPreviewController;
12892   tooltip: string;
12893   visible: boolean;
12894   active: boolean;
12895   invalidate(): void;
12898 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewButton.idl
12900 interface nsITaskbarPreviewButton extends nsISupports {
12901   tooltip: string;
12902   dismissOnClick: boolean;
12903   hasBorder: boolean;
12904   disabled: boolean;
12905   image: imgIContainer;
12906   visible: boolean;
12909 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewController.idl
12911 type nsITaskbarPreviewCallback = Callable<{
12912   done(aCanvas: nsISupports, aDrawBorder: boolean): void;
12915 interface nsITaskbarPreviewController extends nsISupports {
12916   readonly width: u32;
12917   readonly height: u32;
12918   readonly thumbnailAspectRatio: float;
12919   requestPreview(aCallback: nsITaskbarPreviewCallback): void;
12920   requestThumbnail(aCallback: nsITaskbarPreviewCallback, width: u32, height: u32): void;
12921   onClose(): void;
12922   onActivate(): boolean;
12923   onClick(button: nsITaskbarPreviewButton): void;
12926 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl
12928 interface nsITaskbarProgress extends nsISupports {
12929   readonly STATE_NO_PROGRESS: 0;
12930   readonly STATE_INDETERMINATE: 1;
12931   readonly STATE_NORMAL: 2;
12932   readonly STATE_ERROR: 3;
12933   readonly STATE_PAUSED: 4;
12935   setProgressState(state: nsTaskbarProgressState, currentValue?: u64, maxValue?: u64): void;
12938 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarTabPreview.idl
12940 interface nsITaskbarTabPreview extends nsITaskbarPreview {
12941   title: string;
12942   icon: imgIContainer;
12943   move(aNext: nsITaskbarTabPreview): void;
12946 // https://searchfox.org/mozilla-central/source/widget/nsITaskbarWindowPreview.idl
12948 interface nsITaskbarWindowPreview extends nsITaskbarPreview {
12949   readonly NUM_TOOLBAR_BUTTONS: 7;
12951   getButton(index: u32): nsITaskbarPreviewButton;
12952   enableCustomDrawing: boolean;
12955 // https://searchfox.org/mozilla-central/source/widget/nsITransferable.idl
12957 interface nsIFlavorDataProvider extends nsISupports {
12958   getFlavorData(aTransferable: nsITransferable, aFlavor: string, aData: OutParam<nsISupports>): void;
12961 interface nsITransferable extends nsISupports {
12962   init(aContext: nsILoadContext): void;
12963   flavorsTransferableCanExport(): string[];
12964   getTransferData(aFlavor: string, aData: OutParam<nsISupports>): void;
12965   getAnyTransferData(aFlavor: OutParam<string>, aData: OutParam<nsISupports>): void;
12966   flavorsTransferableCanImport(): string[];
12967   setTransferData(aFlavor: string, aData: nsISupports): void;
12968   clearAllData(): void;
12969   addDataFlavor(aDataFlavor: string): void;
12970   removeDataFlavor(aDataFlavor: string): void;
12971   converter: nsIFormatConverter;
12974 // https://searchfox.org/mozilla-central/source/widget/nsIUserIdleService.idl
12976 interface nsIUserIdleService extends nsISupports {
12977   readonly idleTime: u32;
12978   addIdleObserver(observer: nsIObserver, time: u32): void;
12979   removeIdleObserver(observer: nsIObserver, time: u32): void;
12980   disabled: boolean;
12983 // https://searchfox.org/mozilla-central/source/widget/nsIUserIdleServiceInternal.idl
12985 interface nsIUserIdleServiceInternal extends nsIUserIdleService {
12986   resetIdleTimeOut(idleDeltaInMS: u32): void;
12989 // https://searchfox.org/mozilla-central/source/widget/nsIWinTaskbar.idl
12991 interface nsIWinTaskbar extends nsISupports {
12992   readonly available: boolean;
12993   readonly defaultGroupId: string;
12994   readonly defaultPrivateGroupId: string;
12995   createTaskbarTabPreview(shell: nsIDocShell, controller: nsITaskbarPreviewController): nsITaskbarTabPreview;
12996   getTaskbarWindowPreview(shell: nsIDocShell): nsITaskbarWindowPreview;
12997   getTaskbarProgress(shell: nsIDocShell): nsITaskbarProgress;
12998   getOverlayIconController(shell: nsIDocShell): nsITaskbarOverlayIconController;
12999   createLegacyJumpListBuilder(aPrivateBrowsing: boolean): nsILegacyJumpListBuilder;
13000   createJumpListBuilder(aPrivateBrowsing: boolean): nsIJumpListBuilder;
13001   getGroupIdForWindow(aParent: mozIDOMWindow): string;
13002   setGroupIdForWindow(aParent: mozIDOMWindow, aIdentifier: string): void;
13005 // https://searchfox.org/mozilla-central/source/widget/nsIWindowsUIUtils.idl
13007 interface nsIWindowsUIUtils extends nsISupports {
13008   readonly systemSmallIconSize: i32;
13009   readonly systemLargeIconSize: i32;
13010   setWindowIcon(aWindow: mozIDOMWindowProxy, aSmallIcon: imgIContainer, aLargeIcon: imgIContainer): void;
13011   setWindowIconFromExe(aWindow: mozIDOMWindowProxy, aExe: string, aIndex: u16): void;
13012   setWindowIconNoData(aWindow: mozIDOMWindowProxy): void;
13013   readonly inTabletMode: boolean;
13014   shareUrl(shareTitle: string, urlToShare: string): void;
13017 // https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowCreator.idl
13019 interface nsIWindowCreator extends nsISupports {
13020   createChromeWindow(parent: nsIWebBrowserChrome, chromeFlags: u32, aOpenWindowInfo: nsIOpenWindowInfo, cancel: OutParam<boolean>): nsIWebBrowserChrome;
13023 // https://searchfox.org/mozilla-central/source/toolkit/components/windowcreator/nsIWindowProvider.idl
13025 interface nsIWindowProvider extends nsISupports {
13028 // https://searchfox.org/mozilla-central/source/toolkit/system/windowsPackageManager/nsIWindowsPackageManager.idl
13030 interface nsIWindowsPackageManager extends nsISupports {
13031   findUserInstalledPackages(prefix: string[]): string[];
13032   getInstalledDate(): u64;
13033   campaignId(): Promise<any>;
13036 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIDialogParamBlock.idl
13038 interface nsIDialogParamBlock extends nsISupports {
13039   GetInt(inIndex: i32): i32;
13040   SetInt(inIndex: i32, inInt: i32): void;
13041   SetNumberStrings(inNumStrings: i32): void;
13042   GetString(inIndex: i32): string;
13043   SetString(inIndex: i32, inString: string): void;
13044   objects: nsIMutableArray;
13047 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIOpenWindowInfo.idl
13049 interface nsIOpenWindowInfo extends nsISupports {
13050   readonly parent: BrowsingContext;
13051   readonly isRemote: boolean;
13052   readonly forceNoOpener: boolean;
13053   readonly isForPrinting: boolean;
13054   readonly isForWindowDotPrint: boolean;
13055   readonly originAttributes: any;
13058 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptCollection.idl
13060 interface nsIPromptCollection extends nsISupports {
13061   asyncBeforeUnloadCheck(aBrowsingContext: BrowsingContext): Promise<any>;
13062   confirmRepost(aBrowsingContext: BrowsingContext): boolean;
13063   confirmFolderUpload(aBrowsingContext: BrowsingContext, aDirectoryName: string): boolean;
13066 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptFactory.idl
13068 interface nsIPromptFactory extends nsISupports {
13069   getPrompt<T extends nsIID>(aParent: mozIDOMWindowProxy, iid: T): nsQIResult<T>;
13072 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIPromptService.idl
13074 interface nsIPromptService extends nsISupports {
13075   readonly BUTTON_POS_0: 1;
13076   readonly BUTTON_POS_1: 256;
13077   readonly BUTTON_POS_2: 65536;
13078   readonly BUTTON_TITLE_OK: 1;
13079   readonly BUTTON_TITLE_CANCEL: 2;
13080   readonly BUTTON_TITLE_YES: 3;
13081   readonly BUTTON_TITLE_NO: 4;
13082   readonly BUTTON_TITLE_SAVE: 5;
13083   readonly BUTTON_TITLE_DONT_SAVE: 6;
13084   readonly BUTTON_TITLE_REVERT: 7;
13085   readonly BUTTON_TITLE_IS_STRING: 127;
13086   readonly BUTTON_POS_0_DEFAULT: 0;
13087   readonly BUTTON_POS_1_DEFAULT: 16777216;
13088   readonly BUTTON_POS_2_DEFAULT: 33554432;
13089   readonly BUTTON_DELAY_ENABLE: 67108864;
13090   readonly SHOW_SPINNER: 134217728;
13091   readonly STD_OK_CANCEL_BUTTONS: 513;
13092   readonly STD_YES_NO_BUTTONS: 1027;
13093   readonly MODAL_TYPE_CONTENT: 1;
13094   readonly MODAL_TYPE_TAB: 2;
13095   readonly MODAL_TYPE_WINDOW: 3;
13096   readonly MODAL_TYPE_INTERNAL_WINDOW: 4;
13098   alert(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): void;
13099   alertBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): void;
13100   asyncAlert(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;
13101   alertCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;
13102   alertCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): void;
13103   asyncAlertCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13104   confirm(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string): boolean;
13105   confirmBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): boolean;
13106   asyncConfirm(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string): Promise<any>;
13107   confirmCheck(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13108   confirmCheckBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13109   asyncConfirmCheck(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13110   confirmEx(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;
13111   confirmExBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aButtonFlags: u32, aButton0Title: string, aButton1Title: string, aButton2Title: string, aCheckMsg: string, aCheckState: InOutParam<boolean>): i32;
13112   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>;
13113   prompt(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13114   promptBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: InOutParam<string>, aCheckMsg: string, aCheckState: InOutParam<boolean>): boolean;
13115   asyncPrompt(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aValue: string, aCheckMsg: string, aCheckState: boolean): Promise<any>;
13116   promptUsernameAndPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;
13117   promptUsernameAndPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: InOutParam<string>, aPassword: InOutParam<string>): boolean;
13118   asyncPromptUsernameAndPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aUsername: string, aPassword: string): Promise<any>;
13119   promptPassword(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;
13120   promptPasswordBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: InOutParam<string>): boolean;
13121   asyncPromptPassword(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aPassword: string): Promise<any>;
13122   select(aParent: mozIDOMWindowProxy, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;
13123   selectBC(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[], aOutSelection: OutParam<i32>): boolean;
13124   asyncSelect(aBrowsingContext: BrowsingContext, modalType: u32, aDialogTitle: string, aText: string, aSelectList: string[]): Promise<any>;
13125   promptAuth(aParent: mozIDOMWindowProxy, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
13126   promptAuthBC(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): boolean;
13127   asyncPromptAuth(aBrowsingContext: BrowsingContext, modalType: u32, aChannel: nsIChannel, level: u32, authInfo: nsIAuthInformation): Promise<any>;
13128   confirmUserPaste(aWindow: WindowGlobalParent): Promise<any>;
13131 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsIWindowWatcher.idl
13133 interface nsIWindowWatcher extends nsISupports {
13134   openWindow(aParent: mozIDOMWindowProxy, aUrl: string, aName: string, aFeatures: string, aArguments: nsISupports): mozIDOMWindowProxy;
13135   registerNotification(aObserver: nsIObserver): void;
13136   unregisterNotification(aObserver: nsIObserver): void;
13137   getWindowEnumerator(): nsISimpleEnumerator;
13138   getNewPrompter(aParent: mozIDOMWindowProxy): nsIPrompt;
13139   getNewAuthPrompter(aParent: mozIDOMWindowProxy): nsIAuthPrompt;
13140   setWindowCreator(creator: nsIWindowCreator): void;
13141   hasWindowCreator(): boolean;
13142   getChromeForWindow(aWindow: mozIDOMWindowProxy): nsIWebBrowserChrome;
13143   getWindowByName(aTargetName: string): mozIDOMWindowProxy;
13144   readonly activeWindow: mozIDOMWindowProxy;
13147 // https://searchfox.org/mozilla-central/source/toolkit/components/windowwatcher/nsPIWindowWatcher.idl
13149 // https://searchfox.org/mozilla-central/source/xpcom/tests/NotXPCOMTest.idl
13151 interface nsIScriptableOK extends nsISupports {
13152   method1(): void;
13155 interface nsIScriptableWithNotXPCOM extends nsISupports {
13158 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIAvailableMemoryWatcherBase.idl
13160 interface nsITabUnloader extends nsISupports {
13161   unloadTabAsync(): void;
13164 interface nsIAvailableMemoryWatcherBase extends nsISupports {
13165   registerTabUnloader(aTabUnloader: nsITabUnloader): void;
13166   onUnloadAttemptCompleted(aResult: nsresult): void;
13169 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleListener.idl
13171 type nsIConsoleListener = Callable<{
13172   observe(aMessage: nsIConsoleMessage): void;
13175 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleMessage.idl
13177 interface nsIConsoleMessage extends nsISupports {
13178   readonly debug: 0;
13179   readonly info: 1;
13180   readonly warn: 2;
13181   readonly error: 3;
13183   readonly logLevel: u32;
13184   readonly timeStamp: i64;
13185   readonly microSecondTimeStamp: i64;
13186   readonly message: string;
13187   isForwardedFromContentProcess: boolean;
13188   toString(): string;
13191 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIConsoleService.idl
13193 }  // global
13195 declare namespace nsIConsoleService {
13197 enum OutputMode {
13198   SuppressLog = 0,
13199   OutputToLog = 1,
13204 declare global {
13206 interface nsIConsoleService extends nsISupports, Enums<typeof nsIConsoleService.OutputMode> {
13207   logMessage(message: nsIConsoleMessage): void;
13208   callFunctionAndLogException(targetGlobal: any, func: any): any;
13209   logMessageWithMode(message: nsIConsoleMessage, mode: nsIConsoleService.OutputMode): void;
13210   logStringMessage(message: string): void;
13211   getMessageArray(): nsIConsoleMessage[];
13212   registerListener(listener: nsIConsoleListener): void;
13213   unregisterListener(listener: nsIConsoleListener): void;
13214   reset(): void;
13215   resetWindow(windowInnerId: u64): void;
13218 // https://searchfox.org/mozilla-central/source/xpcom/base/nsICycleCollectorListener.idl
13220 interface nsICycleCollectorHandler extends nsISupports {
13221   noteRefCountedObject(aAddress: string, aRefCount: u32, aObjectDescription: string): void;
13222   noteGCedObject(aAddress: string, aMarked: boolean, aObjectDescription: string, aCompartmentAddress: string): void;
13223   noteEdge(aFromAddress: string, aToAddress: string, aEdgeName: string): void;
13224   describeRoot(aAddress: string, aKnownEdges: u32): void;
13225   describeGarbage(aAddress: string): void;
13228 interface nsICycleCollectorLogSink extends nsISupports {
13229   closeGCLog(): void;
13230   closeCCLog(): void;
13231   filenameIdentifier: string;
13232   processIdentifier: i32;
13233   readonly gcLog: nsIFile;
13234   readonly ccLog: nsIFile;
13237 interface nsICycleCollectorListener extends nsISupports {
13238   allTraces(): nsICycleCollectorListener;
13239   readonly wantAllTraces: boolean;
13240   disableLog: boolean;
13241   logSink: nsICycleCollectorLogSink;
13242   wantAfterProcessing: boolean;
13243   processNext(aHandler: nsICycleCollectorHandler): boolean;
13246 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIDebug2.idl
13248 interface nsIDebug2 extends nsISupports {
13249   readonly isDebugBuild: boolean;
13250   readonly assertionCount: i32;
13251   readonly isDebuggerAttached: boolean;
13252   assertion(aStr: string, aExpr: string, aFile: string, aLine: i32): void;
13253   warning(aStr: string, aFile: string, aLine: i32): void;
13254   break(aFile: string, aLine: i32): void;
13255   abort(aFile: string, aLine: i32): void;
13256   rustPanic(aMessage: string): void;
13257   rustLog(aTarget: string, aMessage: string): void;
13258   crashWithOOM(): void;
13261 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIException.idl
13263 interface nsIStackFrame extends nsISupports {
13264   readonly filename: string;
13265   readonly name: string;
13266   readonly sourceId: i32;
13267   readonly lineNumber: i32;
13268   readonly columnNumber: i32;
13269   readonly sourceLine: string;
13270   readonly asyncCause: string;
13271   readonly asyncCaller: nsIStackFrame;
13272   readonly caller: nsIStackFrame;
13273   readonly formattedStack: string;
13274   readonly nativeSavedFrame: any;
13275   toString(): string;
13278 interface nsIException extends nsISupports {
13281 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIInterfaceRequestor.idl
13283 interface nsIInterfaceRequestor extends nsISupports {
13284   getInterface<T extends nsIID>(uuid: T): nsQIResult<T>;
13287 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryInfoDumper.idl
13289 type nsIFinishDumpingCallback = Callable<{
13290   callback(data: nsISupports): void;
13293 interface nsIDumpGCAndCCLogsCallback extends nsISupports {
13294   onDump(aGCLog: nsIFile, aCCLog: nsIFile, aIsParent: boolean): void;
13295   onFinish(): void;
13298 interface nsIMemoryInfoDumper extends nsISupports {
13299   dumpMemoryReportsToNamedFile(aFilename: string, aFinishDumping: nsIFinishDumpingCallback, aFinishDumpingData: nsISupports, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;
13300   dumpMemoryInfoToTempDir(aIdentifier: string, aAnonymize: boolean, aMinimizeMemoryUsage: boolean): void;
13301   dumpGCAndCCLogsToFile(aIdentifier: string, aDumpAllTraces: boolean, aDumpChildProcesses: boolean, aCallback: nsIDumpGCAndCCLogsCallback): void;
13302   dumpGCAndCCLogsToSink(aDumpAllTraces: boolean, aSink: nsICycleCollectorLogSink): void;
13305 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIMemoryReporter.idl
13307 type nsIHandleReportCallback = Callable<{
13308   callback(process: string, path: string, kind: i32, units: i32, amount: i64, description: string, data: nsISupports): void;
13311 interface nsIMemoryReporter extends nsISupports {
13312   readonly KIND_NONHEAP: 0;
13313   readonly KIND_HEAP: 1;
13314   readonly KIND_OTHER: 2;
13315   readonly UNITS_BYTES: 0;
13316   readonly UNITS_COUNT: 1;
13317   readonly UNITS_COUNT_CUMULATIVE: 2;
13318   readonly UNITS_PERCENTAGE: 3;
13320   collectReports(callback: nsIHandleReportCallback, data: nsISupports, anonymize: boolean): void;
13323 type nsIFinishReportingCallback = Callable<{
13324   callback(data: nsISupports): void;
13327 type nsIHeapAllocatedCallback = Callable<{
13328   callback(bytesAllocated: i64): void;
13331 interface nsIMemoryReporterManager extends nsISupports {
13332   init(): void;
13333   registerStrongReporter(reporter: nsIMemoryReporter): void;
13334   registerStrongAsyncReporter(reporter: nsIMemoryReporter): void;
13335   registerWeakReporter(reporter: nsIMemoryReporter): void;
13336   registerWeakAsyncReporter(reporter: nsIMemoryReporter): void;
13337   unregisterStrongReporter(reporter: nsIMemoryReporter): void;
13338   unregisterWeakReporter(reporter: nsIMemoryReporter): void;
13339   blockRegistrationAndHideExistingReporters(): void;
13340   unblockRegistrationAndRestoreOriginalReporters(): void;
13341   registerStrongReporterEvenIfBlocked(aReporter: nsIMemoryReporter): void;
13342   getReports(handleReport: nsIHandleReportCallback, handleReportData: nsISupports, finishReporting: nsIFinishReportingCallback, finishReportingData: nsISupports, anonymize: boolean): void;
13343   readonly vsize: i64;
13344   readonly vsizeMaxContiguous: i64;
13345   readonly resident: i64;
13346   readonly residentFast: i64;
13347   readonly residentPeak: i64;
13348   readonly residentUnique: i64;
13349   readonly heapAllocated: i64;
13350   readonly heapOverheadFraction: i64;
13351   readonly JSMainRuntimeGCHeap: i64;
13352   readonly JSMainRuntimeTemporaryPeak: i64;
13353   readonly JSMainRuntimeCompartmentsSystem: i64;
13354   readonly JSMainRuntimeCompartmentsUser: i64;
13355   readonly JSMainRuntimeRealmsSystem: i64;
13356   readonly JSMainRuntimeRealmsUser: i64;
13357   readonly imagesContentUsedUncompressed: i64;
13358   readonly storageSQLite: i64;
13359   readonly lowMemoryEventsPhysical: i64;
13360   readonly ghostWindows: i64;
13361   readonly pageFaultsHard: i64;
13362   readonly hasMozMallocUsableSize: boolean;
13363   readonly isDMDEnabled: boolean;
13364   readonly isDMDRunning: boolean;
13365   minimizeMemoryUsage(callback: nsIRunnable): void;
13366   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;
13369 // https://searchfox.org/mozilla-central/source/xpcom/base/nsISecurityConsoleMessage.idl
13371 // https://searchfox.org/mozilla-central/source/xpcom/base/nsISupports.idl
13373 interface nsISupports {
13374   QueryInterface?<T extends nsIID>(aIID: T): nsQIResult<T>;
13377 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIUUIDGenerator.idl
13379 interface nsIUUIDGenerator extends nsISupports {
13380   generateUUID(): nsID;
13383 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIVersionComparator.idl
13385 interface nsIVersionComparator extends nsISupports {
13386   compare(A: string, B: string): i32;
13389 // https://searchfox.org/mozilla-central/source/xpcom/base/nsIWeakReference.idl
13391 interface nsIWeakReference extends nsISupports {
13392   QueryReferent<T extends nsIID>(uuid: T): nsQIResult<T>;
13395 interface nsISupportsWeakReference extends nsISupports {
13396   GetWeakReference(): nsIWeakReference;
13399 // https://searchfox.org/mozilla-central/source/xpcom/base/nsrootidl.idl
13401 // https://searchfox.org/mozilla-central/source/xpcom/components/nsICategoryManager.idl
13403 interface nsICategoryEntry extends nsISupportsCString {
13404   readonly entry: string;
13405   readonly value: string;
13408 interface nsICategoryManager extends nsISupports {
13409   getCategoryEntry(aCategory: string, aEntry: string): string;
13410   addCategoryEntry(aCategory: string, aEntry: string, aValue: string, aPersist: boolean, aReplace: boolean): string;
13411   deleteCategoryEntry(aCategory: string, aEntry: string, aPersist: boolean): void;
13412   deleteCategory(aCategory: string): void;
13413   enumerateCategory(aCategory: string): nsISimpleEnumerator;
13414   enumerateCategories(): nsISimpleEnumerator;
13417 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIClassInfo.idl
13419 interface nsIClassInfo extends nsISupports {
13420   readonly SINGLETON: 1;
13421   readonly THREADSAFE: 2;
13422   readonly SINGLETON_CLASSINFO: 32;
13423   readonly RESERVED: 2147483648;
13425   readonly interfaces: nsID[];
13426   readonly contractID: string;
13427   readonly classDescription: string;
13428   readonly classID: nsID;
13429   readonly flags: u32;
13432 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentManager.idl
13434 interface nsIComponentManager extends nsISupports {
13435   getClassObject<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;
13436   getClassObjectByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;
13437   addBootstrappedManifestLocation(aLocation: nsIFile): void;
13438   removeBootstrappedManifestLocation(aLocation: nsIFile): void;
13439   getManifestLocations(): nsIArray;
13440   getComponentJSMs(): nsIUTF8StringEnumerator;
13441   getComponentESModules(): nsIUTF8StringEnumerator;
13444 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIComponentRegistrar.idl
13446 interface nsIComponentRegistrar extends nsISupports {
13447   autoRegister(aSpec: nsIFile): void;
13448   registerFactory(aClass: nsID, aClassName: string, aContractID: string, aFactory: nsIFactory): void;
13449   unregisterFactory(aClass: nsID, aFactory: nsIFactory): void;
13450   isCIDRegistered(aClass: nsID): boolean;
13451   isContractIDRegistered(aContractID: string): boolean;
13452   getContractIDs(): string[];
13453   contractIDToCID(aContractID: string): nsID;
13456 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIFactory.idl
13458 interface nsIFactory extends nsISupports {
13459   createInstance<T extends nsIID>(iid: T): nsQIResult<T>;
13462 // https://searchfox.org/mozilla-central/source/xpcom/components/nsIServiceManager.idl
13464 interface nsIServiceManager extends nsISupports {
13465   getService<T extends nsIID>(aClass: nsID, aIID: T): nsQIResult<T>;
13466   getServiceByContractID<T extends nsIID>(aContractID: string, aIID: T): nsQIResult<T>;
13467   isServiceInstantiated(aClass: nsID, aIID: nsID): boolean;
13468   isServiceInstantiatedByContractID(aContractID: string, aIID: nsID): boolean;
13471 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArray.idl
13473 interface nsIArray extends nsISupports {
13474   readonly length: u32;
13475   queryElementAt<T extends nsIID>(index: u32, uuid: T): nsQIResult<T>;
13476   indexOf(startIndex: u32, element: nsISupports): u32;
13477   enumerate(aElemIID?: nsID): nsISimpleEnumerator;
13480 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIArrayExtensions.idl
13482 interface nsIArrayExtensions extends nsIArray {
13483   Count(): u32;
13484   GetElementAt(index: u32): nsISupports;
13487 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIINIParser.idl
13489 interface nsIINIParser extends nsISupports {
13490   initFromString(aData: string): void;
13491   getSections(): nsIUTF8StringEnumerator;
13492   getKeys(aSection: string): nsIUTF8StringEnumerator;
13493   getString(aSection: string, aKey: string): string;
13496 interface nsIINIParserWriter extends nsISupports {
13497   setString(aSection: string, aKey: string, aValue: string): void;
13498   writeFile(aINIFile: nsIFile): void;
13499   writeToString(): string;
13502 interface nsIINIParserFactory extends nsISupports {
13503   createINIParser(aINIFile?: nsIFile): nsIINIParser;
13506 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIMutableArray.idl
13508 interface nsIMutableArray extends nsIArrayExtensions {
13509   appendElement(element: nsISupports): void;
13510   removeElementAt(index: u32): void;
13511   insertElementAt(element: nsISupports, index: u32): void;
13512   replaceElementAt(element: nsISupports, index: u32): void;
13513   clear(): void;
13516 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserver.idl
13518 type nsIObserver = Callable<{
13519   observe(aSubject: nsISupports, aTopic: string, aData: string): void;
13522 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIObserverService.idl
13524 interface nsIObserverService extends nsISupports {
13525   addObserver(anObserver: nsIObserver, aTopic: string, ownsWeak?: boolean): void;
13526   removeObserver(anObserver: nsIObserver, aTopic: string): void;
13527   notifyObservers(aSubject: nsISupports, aTopic: string, someData?: string): void;
13528   enumerateObservers(aTopic: string): nsISimpleEnumerator;
13531 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPersistentProperties2.idl
13533 interface nsIPropertyElement extends nsISupports {
13534   key: string;
13535   value: string;
13538 interface nsIPersistentProperties extends nsIProperties {
13539   load(input: nsIInputStream): void;
13540   save(output: nsIOutputStream, header: string): void;
13541   enumerate(): nsISimpleEnumerator;
13542   getStringProperty(key: string): string;
13543   setStringProperty(key: string, value: string): string;
13546 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperties.idl
13548 interface nsIProperties extends nsISupports {
13549   get<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;
13550   set(prop: string, value: nsISupports): void;
13551   has(prop: string): boolean;
13552   undefine(prop: string): void;
13553   getKeys(): string[];
13556 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIProperty.idl
13558 interface nsIProperty extends nsISupports {
13559   readonly name: string;
13560   readonly value: nsIVariant;
13563 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag.idl
13565 interface nsIPropertyBag extends nsISupports {
13566   readonly enumerator: nsISimpleEnumerator;
13567   getProperty(name: string): nsIVariant;
13570 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIPropertyBag2.idl
13572 interface nsIPropertyBag2 extends nsIPropertyBag {
13573   getPropertyAsInt32(prop: string): i32;
13574   getPropertyAsUint32(prop: string): u32;
13575   getPropertyAsInt64(prop: string): i64;
13576   getPropertyAsUint64(prop: string): u64;
13577   getPropertyAsDouble(prop: string): double;
13578   getPropertyAsAString(prop: string): string;
13579   getPropertyAsACString(prop: string): string;
13580   getPropertyAsAUTF8String(prop: string): string;
13581   getPropertyAsBool(prop: string): boolean;
13582   getPropertyAsInterface<T extends nsIID>(prop: string, iid: T): nsQIResult<T>;
13583   get(prop: string): nsIVariant;
13584   hasKey(prop: string): boolean;
13587 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISerializable.idl
13589 interface nsISerializable extends nsISupports {
13590   read(aInputStream: nsIObjectInputStream): void;
13591   write(aOutputStream: nsIObjectOutputStream): void;
13594 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISimpleEnumerator.idl
13596 interface nsIJSEnumerator extends nsISupports {
13597   iterator(): nsIJSEnumerator;
13598   next(): any;
13601 interface nsISimpleEnumeratorBase extends nsISupports {
13602   iterator(): nsIJSEnumerator;
13603   entries(aIface: nsID): nsIJSEnumerator;
13606 interface nsISimpleEnumerator extends nsISimpleEnumeratorBase {
13607   hasMoreElements(): boolean;
13608   getNext(): nsISupports;
13611 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIStringEnumerator.idl
13613 interface nsIStringEnumeratorBase extends nsISupports {
13614   iterator(): nsIJSEnumerator;
13617 interface nsIStringEnumerator extends nsIStringEnumeratorBase {
13618   hasMore(): boolean;
13619   getNext(): string;
13622 interface nsIUTF8StringEnumerator extends nsIStringEnumeratorBase {
13623   hasMore(): boolean;
13624   getNext(): string;
13627 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsIterators.idl
13629 interface nsIOutputIterator extends nsISupports {
13630   putElement(anElementToPut: nsISupports): void;
13631   stepForward(): void;
13634 interface nsIInputIterator extends nsISupports {
13635   getElement(): nsISupports;
13636   stepForward(): void;
13637   isEqualTo(anotherIterator: nsISupports): boolean;
13638   clone(): nsISupports;
13641 interface nsIForwardIterator extends nsISupports {
13642   getElement(): nsISupports;
13643   putElement(anElementToPut: nsISupports): void;
13644   stepForward(): void;
13645   isEqualTo(anotherIterator: nsISupports): boolean;
13646   clone(): nsISupports;
13649 interface nsIBidirectionalIterator extends nsISupports {
13650   getElement(): nsISupports;
13651   putElement(anElementToPut: nsISupports): void;
13652   stepForward(): void;
13653   stepBackward(): void;
13654   isEqualTo(anotherIterator: nsISupports): boolean;
13655   clone(): nsISupports;
13658 interface nsIRandomAccessIterator extends nsISupports {
13659   getElement(): nsISupports;
13660   getElementAt(anOffset: i32): nsISupports;
13661   putElement(anElementToPut: nsISupports): void;
13662   putElementAt(anOffset: i32, anElementToPut: nsISupports): void;
13663   stepForward(): void;
13664   stepForwardBy(anOffset: i32): void;
13665   stepBackward(): void;
13666   stepBackwardBy(anOffset: i32): void;
13667   isEqualTo(anotherIterator: nsISupports): boolean;
13668   clone(): nsISupports;
13671 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsISupportsPrimitives.idl
13673 interface nsISupportsPrimitive extends nsISupports {
13674   readonly TYPE_ID: 1;
13675   readonly TYPE_CSTRING: 2;
13676   readonly TYPE_STRING: 3;
13677   readonly TYPE_PRBOOL: 4;
13678   readonly TYPE_PRUINT8: 5;
13679   readonly TYPE_PRUINT16: 6;
13680   readonly TYPE_PRUINT32: 7;
13681   readonly TYPE_PRUINT64: 8;
13682   readonly TYPE_PRTIME: 9;
13683   readonly TYPE_CHAR: 10;
13684   readonly TYPE_PRINT16: 11;
13685   readonly TYPE_PRINT32: 12;
13686   readonly TYPE_PRINT64: 13;
13687   readonly TYPE_FLOAT: 14;
13688   readonly TYPE_DOUBLE: 15;
13689   readonly TYPE_INTERFACE_POINTER: 17;
13691   readonly type: u16;
13694 interface nsISupportsID extends nsISupportsPrimitive {
13695   data: nsID;
13696   toString(): string;
13699 interface nsISupportsCString extends nsISupportsPrimitive {
13700   data: string;
13701   toString(): string;
13704 interface nsISupportsString extends nsISupportsPrimitive {
13705   data: string;
13706   toString(): string;
13709 interface nsISupportsPRBool extends nsISupportsPrimitive {
13710   data: boolean;
13711   toString(): string;
13714 interface nsISupportsPRUint8 extends nsISupportsPrimitive {
13715   data: u8;
13716   toString(): string;
13719 interface nsISupportsPRUint16 extends nsISupportsPrimitive {
13720   data: u16;
13721   toString(): string;
13724 interface nsISupportsPRUint32 extends nsISupportsPrimitive {
13725   data: u32;
13726   toString(): string;
13729 interface nsISupportsPRUint64 extends nsISupportsPrimitive {
13730   data: u64;
13731   toString(): string;
13734 interface nsISupportsPRTime extends nsISupportsPrimitive {
13735   data: PRTime;
13736   toString(): string;
13739 interface nsISupportsChar extends nsISupportsPrimitive {
13740   data: string;
13741   toString(): string;
13744 interface nsISupportsPRInt16 extends nsISupportsPrimitive {
13745   data: i16;
13746   toString(): string;
13749 interface nsISupportsPRInt32 extends nsISupportsPrimitive {
13750   data: i32;
13751   toString(): string;
13754 interface nsISupportsPRInt64 extends nsISupportsPrimitive {
13755   data: i64;
13756   toString(): string;
13759 interface nsISupportsFloat extends nsISupportsPrimitive {
13760   data: float;
13761   toString(): string;
13764 interface nsISupportsDouble extends nsISupportsPrimitive {
13765   data: double;
13766   toString(): string;
13769 interface nsISupportsInterfacePointer extends nsISupportsPrimitive {
13770   data: nsISupports;
13771   dataIID: nsID;
13772   toString(): string;
13775 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIVariant.idl
13777 interface nsIVariant extends nsISupports {
13780 interface nsIWritableVariant extends nsIVariant {
13781   writable: boolean;
13782   setAsInt8(aValue: u8): void;
13783   setAsInt16(aValue: i16): void;
13784   setAsInt32(aValue: i32): void;
13785   setAsInt64(aValue: i64): void;
13786   setAsUint8(aValue: u8): void;
13787   setAsUint16(aValue: u16): void;
13788   setAsUint32(aValue: u32): void;
13789   setAsUint64(aValue: u64): void;
13790   setAsFloat(aValue: float): void;
13791   setAsDouble(aValue: double): void;
13792   setAsBool(aValue: boolean): void;
13793   setAsChar(aValue: string): void;
13794   setAsWChar(aValue: string): void;
13795   setAsID(aValue: nsID): void;
13796   setAsAString(aValue: string): void;
13797   setAsACString(aValue: string): void;
13798   setAsAUTF8String(aValue: string): void;
13799   setAsString(aValue: string): void;
13800   setAsWString(aValue: string): void;
13801   setAsISupports(aValue: nsISupports): void;
13802   setAsStringWithSize(size: u32, str: string): void;
13803   setAsWStringWithSize(size: u32, str: string): void;
13804   setAsVoid(): void;
13805   setAsEmpty(): void;
13806   setAsEmptyArray(): void;
13807   setFromVariant(aValue: nsIVariant): void;
13810 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWindowsRegKey.idl
13812 interface nsIWindowsRegKey extends nsISupports {
13813   readonly ROOT_KEY_CLASSES_ROOT: 2147483648;
13814   readonly ROOT_KEY_CURRENT_USER: 2147483649;
13815   readonly ROOT_KEY_LOCAL_MACHINE: 2147483650;
13816   readonly ACCESS_BASIC: 131072;
13817   readonly ACCESS_QUERY_VALUE: 1;
13818   readonly ACCESS_SET_VALUE: 2;
13819   readonly ACCESS_CREATE_SUB_KEY: 4;
13820   readonly ACCESS_ENUMERATE_SUB_KEYS: 8;
13821   readonly ACCESS_NOTIFY: 16;
13822   readonly ACCESS_READ: 131097;
13823   readonly ACCESS_WRITE: 131078;
13824   readonly ACCESS_ALL: 131103;
13825   readonly WOW64_32: 512;
13826   readonly WOW64_64: 256;
13827   readonly TYPE_NONE: 0;
13828   readonly TYPE_STRING: 1;
13829   readonly TYPE_BINARY: 3;
13830   readonly TYPE_INT: 4;
13831   readonly TYPE_INT64: 11;
13833   close(): void;
13834   open(rootKey: u32, relPath: string, mode: u32): void;
13835   create(rootKey: u32, relPath: string, mode: u32): void;
13836   openChild(relPath: string, mode: u32): nsIWindowsRegKey;
13837   createChild(relPath: string, mode: u32): nsIWindowsRegKey;
13838   readonly childCount: u32;
13839   getChildName(index: u32): string;
13840   hasChild(name: string): boolean;
13841   readonly valueCount: u32;
13842   getValueName(index: u32): string;
13843   hasValue(name: string): boolean;
13844   removeChild(relPath: string): void;
13845   removeValue(name: string): void;
13846   getValueType(name: string): u32;
13847   readStringValue(name: string): string;
13848   readIntValue(name: string): u32;
13849   readInt64Value(name: string): u64;
13850   readBinaryValue(name: string): string;
13851   writeStringValue(name: string, data: string): void;
13852   writeIntValue(name: string, data: u32): void;
13853   writeInt64Value(name: string, data: u64): void;
13854   writeBinaryValue(name: string, data: string): void;
13857 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag.idl
13859 interface nsIWritablePropertyBag extends nsIPropertyBag {
13860   setProperty(name: string, value: nsIVariant): void;
13861   deleteProperty(name: string): void;
13864 // https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWritablePropertyBag2.idl
13866 interface nsIWritablePropertyBag2 extends nsIPropertyBag2 {
13867   setPropertyAsInt32(prop: string, value: i32): void;
13868   setPropertyAsUint32(prop: string, value: u32): void;
13869   setPropertyAsInt64(prop: string, value: i64): void;
13870   setPropertyAsUint64(prop: string, value: u64): void;
13871   setPropertyAsDouble(prop: string, value: double): void;
13872   setPropertyAsAString(prop: string, value: string): void;
13873   setPropertyAsACString(prop: string, value: string): void;
13874   setPropertyAsAUTF8String(prop: string, value: string): void;
13875   setPropertyAsBool(prop: string, value: boolean): void;
13876   setPropertyAsInterface(prop: string, value: nsISupports): void;
13879 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncInputStream.idl
13881 interface nsIAsyncInputStream extends nsIInputStream {
13882   readonly WAIT_CLOSURE_ONLY: 1;
13884   closeWithStatus(aStatus: nsresult): void;
13885   asyncWait(aCallback: nsIInputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;
13888 type nsIInputStreamCallback = Callable<{
13889   onInputStreamReady(aStream: nsIAsyncInputStream): void;
13892 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIAsyncOutputStream.idl
13894 interface nsIAsyncOutputStream extends nsIOutputStream {
13895   readonly WAIT_CLOSURE_ONLY: 1;
13897   closeWithStatus(reason: nsresult): void;
13898   asyncWait(aCallback: nsIOutputStreamCallback, aFlags: u32, aRequestedCount: u32, aEventTarget: nsIEventTarget): void;
13901 type nsIOutputStreamCallback = Callable<{
13902   onOutputStreamReady(aStream: nsIAsyncOutputStream): void;
13905 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryInputStream.idl
13907 interface nsIBinaryInputStream extends nsIInputStream {
13908   setInputStream(aInputStream: nsIInputStream): void;
13909   readBoolean(): boolean;
13910   read8(): u8;
13911   read16(): u16;
13912   read32(): u32;
13913   read64(): u64;
13914   readFloat(): float;
13915   readDouble(): double;
13916   readCString(): string;
13917   readString(): string;
13918   readBytes(aLength: u32): OutParam<string>;
13919   readByteArray(aLength: u32): u8[];
13920   readArrayBuffer(aLength: u64, aArrayBuffer: any): u64;
13923 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIBinaryOutputStream.idl
13925 interface nsIBinaryOutputStream extends nsIOutputStream {
13926   setOutputStream(aOutputStream: nsIOutputStream): void;
13927   writeBoolean(aBoolean: boolean): void;
13928   write8(aByte: u8): void;
13929   write16(a16: u16): void;
13930   write32(a32: u32): void;
13931   write64(a64: u64): void;
13932   writeFloat(aFloat: float): void;
13933   writeDouble(aDouble: double): void;
13934   writeStringZ(aString: string): void;
13935   writeWStringZ(aString: string): void;
13936   writeUtf8Z(aString: string): void;
13937   writeBytes(aString: string, aLength?: u32): void;
13938   writeByteArray(aBytes: u8[]): void;
13941 // https://searchfox.org/mozilla-central/source/xpcom/io/nsICloneableInputStream.idl
13943 interface nsICloneableInputStream extends nsISupports {
13944   readonly cloneable: boolean;
13945   clone(): nsIInputStream;
13948 interface nsICloneableInputStreamWithRange extends nsICloneableInputStream {
13949   cloneWithRange(start: u64, length: u64): nsIInputStream;
13952 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterInputStream.idl
13954 interface nsIConverterInputStream extends nsIUnicharInputStream {
13955   readonly DEFAULT_REPLACEMENT_CHARACTER: 65533;
13956   readonly ERRORS_ARE_FATAL: 0;
13958   init(aStream: nsIInputStream, aCharset: string, aBufferSize: i32, aReplacementChar: u16): void;
13961 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIConverterOutputStream.idl
13963 interface nsIConverterOutputStream extends nsIUnicharOutputStream {
13964   init(aOutStream: nsIOutputStream, aCharset: string): void;
13967 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryEnumerator.idl
13969 interface nsIDirectoryEnumerator extends nsISimpleEnumerator {
13970   readonly nextFile: nsIFile;
13971   close(): void;
13974 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIDirectoryService.idl
13976 interface nsIDirectoryServiceProvider extends nsISupports {
13977   getFile(prop: string, persistent: OutParam<boolean>): nsIFile;
13980 interface nsIDirectoryServiceProvider2 extends nsIDirectoryServiceProvider {
13981   getFiles(prop: string): nsISimpleEnumerator;
13984 interface nsIDirectoryService extends nsISupports {
13985   init(): void;
13986   registerProvider(prov: nsIDirectoryServiceProvider): void;
13987   unregisterProvider(prov: nsIDirectoryServiceProvider): void;
13990 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIFile.idl
13992 interface nsIFile extends nsISupports {
13993   readonly NORMAL_FILE_TYPE: 0;
13994   readonly DIRECTORY_TYPE: 1;
13995   readonly OS_READAHEAD: 1073741824;
13996   readonly DELETE_ON_CLOSE: 2147483648;
13998   append(node: string): void;
13999   normalize(): void;
14000   create(type: u32, permissions: u32, skipAncestors?: boolean): void;
14001   leafName: string;
14002   readonly displayName: string;
14003   copyTo(newParentDir: nsIFile, newName: string): void;
14004   copyToFollowingLinks(newParentDir: nsIFile, newName: string): void;
14005   moveTo(newParentDir: nsIFile, newName: string): void;
14006   moveToFollowingLinks(newParentDir: nsIFile, newName: string): void;
14007   renameTo(newParentDir: nsIFile, newName: string): void;
14008   remove(recursive: boolean, removeCount?: InOutParam<u32>): void;
14009   permissions: u32;
14010   permissionsOfLink: u32;
14011   lastAccessedTime: PRTime;
14012   lastAccessedTimeOfLink: PRTime;
14013   lastModifiedTime: PRTime;
14014   lastModifiedTimeOfLink: PRTime;
14015   readonly creationTime: PRTime;
14016   readonly creationTimeOfLink: PRTime;
14017   fileSize: i64;
14018   readonly fileSizeOfLink: i64;
14019   readonly target: string;
14020   readonly path: string;
14021   exists(): boolean;
14022   isWritable(): boolean;
14023   isReadable(): boolean;
14024   isExecutable(): boolean;
14025   isHidden(): boolean;
14026   isDirectory(): boolean;
14027   isFile(): boolean;
14028   isSymlink(): boolean;
14029   isSpecial(): boolean;
14030   createUnique(type: u32, permissions: u32): void;
14031   clone(): nsIFile;
14032   equals(inFile: nsIFile): boolean;
14033   contains(inFile: nsIFile): boolean;
14034   readonly parent: nsIFile;
14035   readonly directoryEntries: nsIDirectoryEnumerator;
14036   initWithPath(filePath: string): void;
14037   initWithFile(aFile: nsIFile): void;
14038   readonly diskSpaceAvailable: i64;
14039   readonly diskCapacity: i64;
14040   appendRelativePath(relativeFilePath: string): void;
14041   persistentDescriptor: string;
14042   reveal(): void;
14043   launch(): void;
14044   getRelativeDescriptor(fromFile: nsIFile): string;
14045   setRelativeDescriptor(fromFile: nsIFile, relativeDesc: string): void;
14046   getRelativePath(fromFile: nsIFile): string;
14047   setRelativePath(fromFile: nsIFile, relativeDesc: string): void;
14050 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIIOUtil.idl
14052 interface nsIIOUtil extends nsISupports {
14053   inputStreamIsBuffered(aStream: nsIInputStream): boolean;
14054   outputStreamIsBuffered(aStream: nsIOutputStream): boolean;
14057 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStream.idl
14059 interface nsIInputStream extends nsISupports {
14060   close(): void;
14061   available(): u64;
14062   streamStatus(): void;
14063   isNonBlocking(): boolean;
14066 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamLength.idl
14068 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamPriority.idl
14070 interface nsIInputStreamPriority extends nsISupports {
14071   priority: u32;
14074 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIInputStreamTee.idl
14076 interface nsIInputStreamTee extends nsIInputStream {
14077   source: nsIInputStream;
14078   sink: nsIOutputStream;
14079   eventTarget: nsIEventTarget;
14082 // https://searchfox.org/mozilla-central/source/xpcom/io/nsILineInputStream.idl
14084 interface nsILineInputStream extends nsISupports {
14085   readLine(aLine: OutParam<string>): boolean;
14088 // https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileWin.idl
14090 interface nsILocalFileWin extends nsIFile {
14091   initWithCommandLine(aCommandLine: string): void;
14092   getVersionInfoField(aField: string): string;
14093   readOnly: boolean;
14094   useDOSDevicePathSyntax: boolean;
14097 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIMultiplexInputStream.idl
14099 interface nsIMultiplexInputStream extends nsISupports {
14100   readonly count: u32;
14101   appendStream(stream: nsIInputStream): void;
14102   getStream(index: u32): nsIInputStream;
14105 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectInputStream.idl
14107 interface nsIObjectInputStream extends nsIBinaryInputStream {
14108   readObject(aIsStrongRef: boolean): nsISupports;
14111 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIObjectOutputStream.idl
14113 interface nsIObjectOutputStream extends nsIBinaryOutputStream {
14114   writeObject(aObject: nsISupports, aIsStrongRef: boolean): void;
14115   writeSingleRefObject(aObject: nsISupports): void;
14116   writeCompoundObject(aObject: nsISupports, aIID: nsID, aIsStrongRef: boolean): void;
14117   writeID(aID: nsID): void;
14120 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIOutputStream.idl
14122 interface nsIOutputStream extends nsISupports {
14123   close(): void;
14124   flush(): void;
14125   streamStatus(): void;
14126   write(aBuf: string, aCount: u32): u32;
14127   writeFrom(aFromStream: nsIInputStream, aCount: u32): u32;
14128   isNonBlocking(): boolean;
14131 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIPipe.idl
14133 interface nsIPipe extends nsISupports {
14134   init(nonBlockingInput: boolean, nonBlockingOutput: boolean, segmentSize: u32, segmentCount: u32): void;
14135   readonly inputStream: nsIAsyncInputStream;
14136   readonly outputStream: nsIAsyncOutputStream;
14139 interface nsISearchableInputStream extends nsISupports {
14140   search(forString: string, ignoreCase: boolean, found: OutParam<boolean>, offsetSearchedTo: OutParam<u32>): void;
14143 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIRandomAccessStream.idl
14145 interface nsIRandomAccessStream extends nsISeekableStream {
14146   getInputStream(): nsIInputStream;
14147   getOutputStream(): nsIOutputStream;
14150 // https://searchfox.org/mozilla-central/source/xpcom/io/nsISafeOutputStream.idl
14152 interface nsISafeOutputStream extends nsISupports {
14153   finish(): void;
14156 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableBase64Encoder.idl
14158 interface nsIScriptableBase64Encoder extends nsISupports {
14159   encodeToCString(stream: nsIInputStream, length: u32): string;
14160   encodeToString(stream: nsIInputStream, length: u32): string;
14163 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIScriptableInputStream.idl
14165 interface nsIScriptableInputStream extends nsISupports {
14166   close(): void;
14167   init(aInputStream: nsIInputStream): void;
14168   available(): u64;
14169   read(aCount: u32): string;
14170   readBytes(aCount: u32): string;
14173 // https://searchfox.org/mozilla-central/source/xpcom/io/nsISeekableStream.idl
14175 interface nsISeekableStream extends nsITellableStream {
14176   readonly NS_SEEK_SET: 0;
14177   readonly NS_SEEK_CUR: 1;
14178   readonly NS_SEEK_END: 2;
14180   seek(whence: i32, offset: i64): void;
14181   setEOF(): void;
14184 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStorageStream.idl
14186 interface nsIStorageStream extends nsISupports {
14187   init(segmentSize: u32, maxSize: u32): void;
14188   getOutputStream(startPosition: i32): nsIOutputStream;
14189   newInputStream(startPosition: i32): nsIInputStream;
14190   length: u32;
14191   readonly writeInProgress: boolean;
14194 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStreamBufferAccess.idl
14196 interface nsIStreamBufferAccess extends nsISupports {
14197   disableBuffering(): void;
14198   enableBuffering(): void;
14199   readonly unbufferedStream: nsISupports;
14202 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIStringStream.idl
14204 interface nsIStringInputStream extends nsIInputStream {
14205   setData(data: string, dataLen: i32): void;
14206   setUTF8Data(data: string): void;
14209 // https://searchfox.org/mozilla-central/source/xpcom/io/nsITellableStream.idl
14211 interface nsITellableStream extends nsISupports {
14212   tell(): i64;
14215 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharInputStream.idl
14217 interface nsIUnicharInputStream extends nsISupports {
14218   readString(aCount: u32, aString: OutParam<string>): u32;
14219   close(): void;
14222 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharLineInputStream.idl
14224 interface nsIUnicharLineInputStream extends nsISupports {
14225   readLine(aLine: OutParam<string>): boolean;
14228 // https://searchfox.org/mozilla-central/source/xpcom/io/nsIUnicharOutputStream.idl
14230 interface nsIUnicharOutputStream extends nsISupports {
14231   write(aCount: u32, c: u16[]): boolean;
14232   writeString(str: string): boolean;
14233   flush(): void;
14234   close(): void;
14237 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIBlocklistService.idl
14239 interface nsIBlocklistService extends nsISupports {
14240   readonly STATE_NOT_BLOCKED: 0;
14241   readonly STATE_SOFTBLOCKED: 1;
14242   readonly STATE_BLOCKED: 2;
14243   readonly STATE_MAX: 3;
14245   readonly isLoaded: boolean;
14248 // https://searchfox.org/mozilla-central/source/xpcom/system/nsICrashReporter.idl
14250 interface nsICrashReporter extends nsISupports {
14251   readonly crashReporterEnabled: boolean;
14252   serverURL: nsIURL;
14253   minidumpPath: nsIFile;
14254   getMinidumpForID(id: string): nsIFile;
14255   getExtraFileForID(id: string): nsIFile;
14256   annotateCrashReport(key: string, data: string): void;
14257   removeCrashReportAnnotation(key: string): void;
14258   isAnnotationAllowedForPing(value: string): boolean;
14259   appendAppNotesToCrashReport(data: string): void;
14260   registerAppMemory(ptr: u64, size: u64): void;
14261   submitReports: boolean;
14262   UpdateCrashEventsDir(): void;
14263   saveMemoryReport(): void;
14266 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIDeviceSensors.idl
14268 interface nsIDeviceSensorData extends nsISupports {
14269   readonly TYPE_ORIENTATION: 0;
14270   readonly TYPE_ACCELERATION: 1;
14271   readonly TYPE_PROXIMITY: 2;
14272   readonly TYPE_LINEAR_ACCELERATION: 3;
14273   readonly TYPE_GYROSCOPE: 4;
14274   readonly TYPE_LIGHT: 5;
14275   readonly TYPE_ROTATION_VECTOR: 6;
14276   readonly TYPE_GAME_ROTATION_VECTOR: 7;
14278   readonly type: u32;
14279   readonly x: double;
14280   readonly y: double;
14281   readonly z: double;
14284 interface nsIDeviceSensors extends nsISupports {
14285   hasWindowListener(aType: u32, aWindow: nsIDOMWindow): boolean;
14288 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGIOService.idl
14290 interface nsIGIOMimeApp extends nsIHandlerApp {
14291   readonly EXPECTS_URIS: 0;
14292   readonly EXPECTS_PATHS: 1;
14293   readonly EXPECTS_URIS_FOR_NON_FILES: 2;
14295   readonly id: string;
14296   readonly command: string;
14297   readonly expectsURIs: i32;
14298   readonly supportedURISchemes: nsIUTF8StringEnumerator;
14299   setAsDefaultForMimeType(mimeType: string): void;
14300   setAsDefaultForFileExtensions(extensions: string): void;
14301   setAsDefaultForURIScheme(uriScheme: string): void;
14304 interface nsIGIOService extends nsISupports {
14305   getMimeTypeFromExtension(extension: string): string;
14306   getAppForURIScheme(aURIScheme: string): nsIHandlerApp;
14307   getAppsForURIScheme(aURIScheme: string): nsIMutableArray;
14308   getAppForMimeType(mimeType: string): nsIHandlerApp;
14309   createAppFromCommand(cmd: string, appName: string): nsIGIOMimeApp;
14310   findAppFromCommand(cmd: string): nsIGIOMimeApp;
14311   getDescriptionForMimeType(mimeType: string): string;
14312   readonly isRunningUnderFlatpak: boolean;
14313   readonly isRunningUnderSnap: boolean;
14316 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGSettingsService.idl
14318 interface nsIGSettingsCollection extends nsISupports {
14319   setString(key: string, value: string): void;
14320   setBoolean(key: string, value: boolean): void;
14321   setInt(key: string, value: i32): void;
14322   getString(key: string): string;
14323   getBoolean(key: string): boolean;
14324   getInt(key: string): i32;
14325   getStringList(key: string): nsIArray;
14328 interface nsIGSettingsService extends nsISupports {
14329   getCollectionForSchema(schema: string): nsIGSettingsCollection;
14332 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIGeolocationProvider.idl
14334 interface nsIGeolocationUpdate extends nsISupports {
14335   update(position: nsIDOMGeoPosition): void;
14336   notifyError(error: u16): void;
14339 interface nsIGeolocationProvider extends nsISupports {
14340   startup(): void;
14341   watch(callback: nsIGeolocationUpdate): void;
14342   shutdown(): void;
14343   setHighAccuracy(enable: boolean): void;
14346 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIHapticFeedback.idl
14348 interface nsIHapticFeedback extends nsISupports {
14349   readonly ShortPress: 0;
14350   readonly LongPress: 1;
14352   performSimpleAction(isLongPress: i32): void;
14355 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIPlatformInfo.idl
14357 interface nsIPlatformInfo extends nsISupports {
14358   readonly platformVersion: string;
14359   readonly platformBuildID: string;
14362 // https://searchfox.org/mozilla-central/source/xpcom/system/nsISystemInfo.idl
14364 interface nsISystemInfo extends nsISupports {
14365   readonly diskInfo: Promise<any>;
14366   readonly countryCode: Promise<any>;
14367   readonly osInfo: Promise<any>;
14368   readonly processInfo: Promise<any>;
14371 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULAppInfo.idl
14373 interface nsIXULAppInfo extends nsIPlatformInfo {
14374   readonly vendor: string;
14375   readonly name: string;
14376   readonly ID: string;
14377   readonly version: string;
14378   readonly appBuildID: string;
14379   readonly UAName: string;
14380   readonly sourceURL: string;
14381   readonly updateURL: string;
14384 // https://searchfox.org/mozilla-central/source/xpcom/system/nsIXULRuntime.idl
14386 }  // global
14388 declare namespace nsIXULRuntime {
14390 enum ExperimentStatus {
14391   eExperimentStatusUnenrolled = 0,
14392   eExperimentStatusControl = 1,
14393   eExperimentStatusTreatment = 2,
14394   eExperimentStatusDisqualified = 3,
14395   eExperimentStatusRollout = 4,
14396   eExperimentStatusCount = 5,
14399 enum ContentWin32kLockdownState {
14400   LockdownEnabled = 1,
14401   MissingWebRender = 2,
14402   OperatingSystemNotSupported = 3,
14403   PrefNotSet = 4,
14404   MissingRemoteWebGL = 5,
14405   MissingNonNativeTheming = 6,
14406   DisabledByEnvVar = 7,
14407   DisabledBySafeMode = 8,
14408   DisabledByE10S = 9,
14409   DisabledByUserPref = 10,
14410   EnabledByUserPref = 11,
14411   DisabledByControlGroup = 12,
14412   EnabledByTreatmentGroup = 13,
14413   DisabledByDefault = 14,
14414   EnabledByDefault = 15,
14415   DecodersArentRemote = 16,
14416   IncompatibleMitigationPolicy = 17,
14419 enum FissionDecisionStatus {
14420   eFissionStatusUnknown = 0,
14421   eFissionExperimentControl = 1,
14422   eFissionExperimentTreatment = 2,
14423   eFissionDisabledByE10sEnv = 3,
14424   eFissionEnabledByEnv = 4,
14425   eFissionDisabledByEnv = 5,
14426   eFissionEnabledByDefault = 7,
14427   eFissionDisabledByDefault = 8,
14428   eFissionEnabledByUserPref = 9,
14429   eFissionDisabledByUserPref = 10,
14430   eFissionDisabledByE10sOther = 11,
14431   eFissionEnabledByRollout = 12,
14436 declare global {
14438 interface nsIXULRuntime extends nsISupports, Enums<typeof nsIXULRuntime.ExperimentStatus & typeof nsIXULRuntime.ContentWin32kLockdownState & typeof nsIXULRuntime.FissionDecisionStatus> {
14439   readonly PROCESS_TYPE_DEFAULT: 0;
14440   readonly PROCESS_TYPE_CONTENT: 2;
14441   readonly PROCESS_TYPE_IPDLUNITTEST: 3;
14442   readonly PROCESS_TYPE_GMPLUGIN: 4;
14443   readonly PROCESS_TYPE_GPU: 5;
14444   readonly PROCESS_TYPE_VR: 6;
14445   readonly PROCESS_TYPE_RDD: 7;
14446   readonly PROCESS_TYPE_SOCKET: 8;
14447   readonly PROCESS_TYPE_REMOTESANDBOXBROKER: 9;
14448   readonly PROCESS_TYPE_FORKSERVER: 10;
14449   readonly PROCESS_TYPE_UTILITY: 11;
14450   readonly E10S_MULTI_EXPERIMENT: 1;
14452   readonly inSafeMode: boolean;
14453   readonly win32kExperimentStatus: nsIXULRuntime.ExperimentStatus;
14454   readonly win32kLiveStatusTestingOnly: nsIXULRuntime.ContentWin32kLockdownState;
14455   readonly win32kSessionStatus: nsIXULRuntime.ContentWin32kLockdownState;
14456   readonly fissionAutostart: boolean;
14457   readonly fissionDecisionStatus: nsIXULRuntime.FissionDecisionStatus;
14458   readonly fissionDecisionStatusString: string;
14459   readonly sessionHistoryInParent: boolean;
14460   readonly sessionStorePlatformCollection: boolean;
14461   logConsoleErrors: boolean;
14462   readonly OS: string;
14463   readonly XPCOMABI: string;
14464   readonly widgetToolkit: string;
14465   readonly processType: u32;
14466   readonly processID: u32;
14467   readonly uniqueProcessID: u64;
14468   readonly remoteType: string;
14469   readonly browserTabsRemoteAutostart: boolean;
14470   readonly maxWebProcessCount: u32;
14471   readonly accessibilityEnabled: boolean;
14472   readonly accessibilityInstantiator: string;
14473   readonly is64Bit: boolean;
14474   readonly isTextRecognitionSupported: boolean;
14475   invalidateCachesOnRestart(): void;
14476   ensureContentProcess(): void;
14477   readonly replacedLockTime: PRTime;
14478   readonly defaultUpdateChannel: string;
14479   readonly distributionID: string;
14480   readonly windowsDLLBlocklistStatus: boolean;
14481   readonly restartedByOS: boolean;
14482   readonly chromeColorSchemeIsDark: boolean;
14483   readonly contentThemeDerivedColorSchemeIsDark: boolean;
14484   readonly prefersReducedMotion: boolean;
14485   readonly drawInTitlebar: boolean;
14486   readonly desktopEnvironment: string;
14487   readonly isWayland: boolean;
14488   readonly processStartupShortcut: string;
14489   readonly launcherProcessState: u32;
14490   readonly lastAppVersion: string;
14491   readonly lastAppBuildID: string;
14494 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIDirectTaskDispatcher.idl
14496 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEnvironment.idl
14498 interface nsIEnvironment extends nsISupports {
14499   set(aName: string, aValue: string): void;
14500   get(aName: string): string;
14501   exists(aName: string): boolean;
14504 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIEventTarget.idl
14506 interface nsIEventTarget extends nsISupports {
14507   readonly DISPATCH_NORMAL: 0;
14508   readonly DISPATCH_AT_END: 2;
14509   readonly DISPATCH_EVENT_MAY_BLOCK: 4;
14510   readonly DISPATCH_IGNORE_BLOCK_DISPATCH: 8;
14512   isOnCurrentThread(): boolean;
14513   dispatch(event: nsIRunnable, flags: u32): void;
14516 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIIdlePeriod.idl
14518 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsINamed.idl
14520 interface nsINamed extends nsISupports {
14521   readonly name: string;
14524 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIProcess.idl
14526 interface nsIProcess extends nsISupports {
14527   init(executable: nsIFile): void;
14528   kill(): void;
14529   run(blocking: boolean, args: string[], count: u32): void;
14530   runAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;
14531   runw(blocking: boolean, args: string[], count: u32): void;
14532   runwAsync(args: string[], count: u32, observer?: nsIObserver, holdWeak?: boolean): void;
14533   startHidden: boolean;
14534   noShell: boolean;
14535   readonly pid: u32;
14536   readonly exitValue: i32;
14537   readonly isRunning: boolean;
14540 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIRunnable.idl
14542 type nsIRunnable = Callable<{
14543   run(): void;
14546 interface nsIRunnablePriority extends nsISupports {
14547   readonly PRIORITY_IDLE: 0;
14548   readonly PRIORITY_DEFERRED_TIMERS: 1;
14549   readonly PRIORITY_LOW: 2;
14550   readonly PRIORITY_NORMAL: 4;
14551   readonly PRIORITY_MEDIUMHIGH: 5;
14552   readonly PRIORITY_INPUT_HIGH: 6;
14553   readonly PRIORITY_VSYNC: 7;
14554   readonly PRIORITY_RENDER_BLOCKING: 9;
14555   readonly PRIORITY_CONTROL: 10;
14557   readonly priority: u32;
14560 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsISerialEventTarget.idl
14562 interface nsISerialEventTarget extends nsIEventTarget {
14565 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsISupportsPriority.idl
14567 interface nsISupportsPriority extends nsISupports {
14568   readonly PRIORITY_HIGHEST: -20;
14569   readonly PRIORITY_HIGH: -10;
14570   readonly PRIORITY_NORMAL: 0;
14571   readonly PRIORITY_LOW: 10;
14572   readonly PRIORITY_LOWEST: 20;
14574   priority: i32;
14575   adjustPriority(delta: i32): void;
14578 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThread.idl
14580 }  // global
14582 declare namespace nsIThread {
14584 enum QoSPriority {
14585   QOS_PRIORITY_NORMAL = 0,
14586   QOS_PRIORITY_LOW = 1,
14591 declare global {
14593 interface nsIThread extends nsISerialEventTarget, Enums<typeof nsIThread.QoSPriority> {
14594   shutdown(): void;
14595   hasPendingEvents(): boolean;
14596   hasPendingHighPriorityEvents(): boolean;
14597   processNextEvent(mayWait: boolean): boolean;
14598   asyncShutdown(): void;
14599   beginShutdown(): nsIThreadShutdown;
14602 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadInternal.idl
14604 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadManager.idl
14606 type nsINestedEventLoopCondition = Callable<{
14607   isDone(): boolean;
14610 interface nsIThreadManager extends nsISupports {
14611   readonly mainThread: nsIThread;
14612   readonly currentThread: nsIThread;
14613   dispatchToMainThread(event: nsIRunnable, priority?: u32): void;
14614   dispatchToMainThreadWithMicroTask(event: nsIRunnable, priority?: u32): void;
14615   idleDispatchToMainThread(event: nsIRunnable, timeout?: u32): void;
14616   dispatchDirectTaskToCurrentThread(event: nsIRunnable): void;
14617   spinEventLoopUntil(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;
14618   spinEventLoopUntilOrQuit(aVeryGoodReasonToDoThis: string, condition: nsINestedEventLoopCondition): void;
14619   spinEventLoopUntilEmpty(): void;
14620   readonly mainThreadEventTarget: nsIEventTarget;
14623 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadPool.idl
14625 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsIThreadShutdown.idl
14627 interface nsIThreadShutdown extends nsISupports {
14628   onCompletion(aEvent: nsIRunnable): void;
14629   readonly completed: boolean;
14630   stopWaitingAndLeakThread(): void;
14633 // https://searchfox.org/mozilla-central/source/xpcom/threads/nsITimer.idl
14635 type nsITimerCallback = Callable<{
14636   notify(timer: nsITimer): void;
14639 interface nsITimer extends nsISupports {
14640   readonly TYPE_ONE_SHOT: 0;
14641   readonly TYPE_REPEATING_SLACK: 1;
14642   readonly TYPE_REPEATING_PRECISE: 2;
14643   readonly TYPE_REPEATING_PRECISE_CAN_SKIP: 3;
14644   readonly TYPE_REPEATING_SLACK_LOW_PRIORITY: 4;
14645   readonly TYPE_ONE_SHOT_LOW_PRIORITY: 5;
14647   init(aObserver: nsIObserver, aDelayInMs: u32, aType: u32): void;
14648   initWithCallback(aCallback: nsITimerCallback, aDelayInMs: u32, aType: u32): void;
14649   cancel(): void;
14650   delay: u32;
14651   type: u32;
14652   readonly callback: nsITimerCallback;
14653   target: nsIEventTarget;
14654   readonly name: string;
14657 interface nsITimerManager extends nsISupports {
14658   getTimers(): nsITimer[];
14661 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/mozIJSSubScriptLoader.idl
14663 interface mozIJSSubScriptLoader extends nsISupports {
14664   loadSubScript(url: string, obj?: any): any;
14665   loadSubScriptWithOptions(url: string, options: any): any;
14668 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/nsIXPCScriptable.idl
14670 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpcIJSWeakReference.idl
14672 interface xpcIJSWeakReference extends nsISupports {
14673   get(): any;
14676 // https://searchfox.org/mozilla-central/source/js/xpconnect/idl/xpccomponents.idl
14678 interface nsIXPCComponents_Classes extends nsISupports {
14681 interface nsIXPCComponents_Results extends nsISupports {
14684 interface nsIXPCComponents_ID extends nsISupports {
14687 interface nsIXPCComponents_Exception extends nsISupports {
14690 interface nsIXPCComponents_Constructor extends nsISupports {
14693 interface nsIXPCComponents_utils_Sandbox extends nsISupports {
14696 type nsIScheduledGCCallback = Callable<{
14697   callback(): void;
14700 interface nsIXPCComponents_Utils extends nsISupports {
14701   printStderr(message: string): void;
14702   reportError(error: any, stack?: any): void;
14703   readonly Sandbox: nsIXPCComponents_utils_Sandbox;
14704   evalInSandbox(source: string, sandbox: any, version?: any, filename?: string, lineNo?: i32, enforceFilenameRestrictions?: boolean): any;
14705   getUAWidgetScope(principal: nsIPrincipal): any;
14706   getSandboxMetadata(sandbox: any): any;
14707   setSandboxMetadata(sandbox: any, metadata: any): void;
14708   import(aResourceURI: string, targetObj?: any): any;
14709   isModuleLoaded(aResourceURI: string): boolean;
14710   isJSModuleLoaded(aResourceURI: string): boolean;
14711   isESModuleLoaded(aResourceURI: string): boolean;
14712   unload(registryLocation: string): void;
14713   importGlobalProperties(aPropertyList: any): void;
14714   getWeakReference(obj: any): xpcIJSWeakReference;
14715   forceGC(): void;
14716   forceCC(aListener?: nsICycleCollectorListener): void;
14717   createCCLogger(): nsICycleCollectorListener;
14718   finishCC(): void;
14719   ccSlice(budget: i64): void;
14720   getMaxCCSliceTimeSinceClear(): i32;
14721   clearMaxCCTime(): void;
14722   forceShrinkingGC(): void;
14723   schedulePreciseGC(callback: nsIScheduledGCCallback): void;
14724   schedulePreciseShrinkingGC(callback: nsIScheduledGCCallback): void;
14725   unlinkGhostWindows(): void;
14726   intentionallyLeak(): void;
14727   getJSTestingFunctions(): any;
14728   getFunctionSourceLocation(func: any): any;
14729   callFunctionWithAsyncStack(func: any, stack: nsIStackFrame, asyncCause: string): any;
14730   getGlobalForObject(obj: any): any;
14731   isProxy(vobject: any): boolean;
14732   exportFunction(vfunction: any, vscope: any, voptions?: any): any;
14733   createObjectIn(vobj: any, voptions?: any): any;
14734   makeObjectPropsNormal(vobj: any): void;
14735   isDeadWrapper(obj: any): boolean;
14736   isRemoteProxy(val: any): boolean;
14737   recomputeWrappers(vobj?: any): void;
14738   setWantXrays(vscope: any): void;
14739   dispatch(runnable: any, scope?: any): void;
14740   readonly isInAutomation: boolean;
14741   exitIfInAutomation(): void;
14742   crashIfNotInAutomation(): void;
14743   setGCZeal(zeal: i32): void;
14744   nukeSandbox(obj: any): void;
14745   blockScriptForGlobal(global: any): void;
14746   unblockScriptForGlobal(global: any): void;
14747   isOpaqueWrapper(obj: any): boolean;
14748   isXrayWrapper(obj: any): boolean;
14749   waiveXrays(aVal: any): any;
14750   unwaiveXrays(aVal: any): any;
14751   getClassName(aObj: any, aUnwrap: boolean): string;
14752   getIncumbentGlobal(callback?: any): any;
14753   getDebugName(obj: any): string;
14754   getWatchdogTimestamp(aCategory: string): PRTime;
14755   getJSEngineTelemetryValue(): any;
14756   cloneInto(value: any, scope: any, options?: any): any;
14757   getWebIDLCallerPrincipal(): nsIPrincipal;
14758   getObjectPrincipal(obj: any): nsIPrincipal;
14759   getRealmLocation(obj: any): string;
14760   now(): double;
14761   readUTF8File(file: nsIFile): string;
14762   readUTF8URI(url: nsIURI): string;
14763   createSpellChecker(): nsIEditorSpellCheck;
14764   createCommandLine(args: string[], workingDir: nsIFile, state: u32): nsISupports;
14765   createCommandParams(): nsICommandParams;
14766   createLoadContext(): nsILoadContext;
14767   createPrivateLoadContext(): nsILoadContext;
14768   createPersistentProperties(): nsIPersistentProperties;
14769   createDocumentEncoder(contentType: string): nsIDocumentEncoder;
14770   createHTMLCopyEncoder(): nsIDocumentEncoder;
14771   readonly loadedModules: string[];
14772   readonly loadedJSModules: string[];
14773   readonly loadedESModules: string[];
14774   getModuleImportStack(aLocation: string): string;
14777 interface nsIXPCComponents extends nsISupports {
14778   readonly interfaces: nsIXPCComponents_Interfaces;
14779   readonly results: nsIXPCComponents_Results;
14780   isSuccessCode(result: nsresult): boolean;
14781   readonly classes: nsIXPCComponents_Classes;
14782   readonly stack: nsIStackFrame;
14783   readonly manager: nsIComponentManager;
14784   readonly utils: nsIXPCComponents_Utils;
14785   readonly ID: nsIXPCComponents_ID;
14786   readonly Exception: nsIXPCComponents_Exception;
14787   readonly Constructor: nsIXPCComponents_Constructor;
14788   returnCode: any;
14791 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_attributes.idl
14793 interface nsIXPCTestObjectReadOnly extends nsISupports {
14794   readonly strReadOnly: string;
14795   readonly boolReadOnly: boolean;
14796   readonly shortReadOnly: i16;
14797   readonly longReadOnly: i32;
14798   readonly floatReadOnly: float;
14799   readonly charReadOnly: string;
14800   readonly timeReadOnly: PRTime;
14803 interface nsIXPCTestObjectReadWrite extends nsISupports {
14804   stringProperty: string;
14805   booleanProperty: boolean;
14806   shortProperty: i16;
14807   longProperty: i32;
14808   floatProperty: float;
14809   charProperty: string;
14810   timeProperty: PRTime;
14813 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_bug809674.idl
14815 interface nsIXPCTestBug809674 extends nsISupports {
14816   addArgs(x: u32, y: u32): u32;
14817   addSubMulArgs(x: u32, y: u32, subOut: OutParam<u32>, mulOut: OutParam<u32>): u32;
14818   addVals(x: any, y: any): any;
14819   methodNoArgs(): u32;
14820   methodNoArgsNoRetVal(): void;
14821   addMany(x1: u32, x2: u32, x3: u32, x4: u32, x5: u32, x6: u32, x7: u32, x8: u32): u32;
14822   valProperty: any;
14823   uintProperty: u32;
14824   methodWithOptionalArgc(): void;
14827 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_cenums.idl
14829 }  // global
14831 declare namespace nsIXPCTestCEnums {
14833 enum testFlagsExplicit {
14834   shouldBe1Explicit = 1,
14835   shouldBe2Explicit = 2,
14836   shouldBe4Explicit = 4,
14837   shouldBe8Explicit = 8,
14838   shouldBe12Explicit = 12,
14841 enum testFlagsImplicit {
14842   shouldBe0Implicit = 0,
14843   shouldBe1Implicit = 1,
14844   shouldBe2Implicit = 2,
14845   shouldBe3Implicit = 3,
14846   shouldBe5Implicit = 5,
14847   shouldBe6Implicit = 6,
14848   shouldBe2AgainImplicit = 2,
14849   shouldBe3AgainImplicit = 3,
14854 declare global {
14856 interface nsIXPCTestCEnums extends nsISupports, Enums<typeof nsIXPCTestCEnums.testFlagsExplicit & typeof nsIXPCTestCEnums.testFlagsImplicit> {
14857   readonly testConst: 1;
14859   testCEnumInput(abc: nsIXPCTestCEnums.testFlagsExplicit): void;
14860   testCEnumOutput(): nsIXPCTestCEnums.testFlagsExplicit;
14863 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_interfaces.idl
14865 interface nsIXPCTestInterfaceA extends nsISupports {
14866   name: string;
14869 interface nsIXPCTestInterfaceB extends nsISupports {
14870   name: string;
14873 interface nsIXPCTestInterfaceC extends nsISupports {
14874   someInteger: i32;
14877 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_params.idl
14879 interface nsIXPCTestParams extends nsISupports {
14880   testBoolean(a: boolean, b: InOutParam<boolean>): boolean;
14881   testOctet(a: u8, b: InOutParam<u8>): u8;
14882   testShort(a: i16, b: InOutParam<i16>): i16;
14883   testLong(a: i32, b: InOutParam<i32>): i32;
14884   testLongLong(a: i64, b: InOutParam<i64>): i64;
14885   testUnsignedShort(a: u16, b: InOutParam<u16>): u16;
14886   testUnsignedLong(a: u32, b: InOutParam<u32>): u32;
14887   testUnsignedLongLong(a: u64, b: InOutParam<u64>): u64;
14888   testFloat(a: float, b: InOutParam<float>): float;
14889   testDouble(a: double, b: InOutParam<float>): double;
14890   testChar(a: string, b: InOutParam<string>): string;
14891   testString(a: string, b: InOutParam<string>): string;
14892   testWchar(a: string, b: InOutParam<string>): string;
14893   testWstring(a: string, b: InOutParam<string>): string;
14894   testAString(a: string, b: InOutParam<string>): string;
14895   testAUTF8String(a: string, b: InOutParam<string>): string;
14896   testACString(a: string, b: InOutParam<string>): string;
14897   testJsval(a: any, b: InOutParam<any>): any;
14898   testShortSequence(a: i16[], b: InOutParam<i16[]>): i16[];
14899   testDoubleSequence(a: double[], b: InOutParam<double[]>): double[];
14900   testInterfaceSequence(a: nsIXPCTestInterfaceA[], b: InOutParam<nsIXPCTestInterfaceA[]>): nsIXPCTestInterfaceA[];
14901   testAStringSequence(a: string[], b: InOutParam<string[]>): string[];
14902   testACStringSequence(a: string[], b: InOutParam<string[]>): string[];
14903   testJsvalSequence(a: any[], b: InOutParam<any[]>): any[];
14904   testSequenceSequence(a: i16[][], b: InOutParam<i16[][]>): i16[][];
14905   testOptionalSequence(arr?: u8[]): u8[];
14906   testShortArray(aLength: u32, a: i16[], bLength: InOutParam<u32>, b: InOutParam<i16[]>, rvLength: OutParam<u32>): OutParam<i16[]>;
14907   testDoubleArray(aLength: u32, a: double[], bLength: InOutParam<u32>, b: InOutParam<double[]>, rvLength: OutParam<u32>): OutParam<double[]>;
14908   testStringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): OutParam<string[]>;
14909   testWstringArray(aLength: u32, a: string[], bLength: InOutParam<u32>, b: InOutParam<string[]>, rvLength: OutParam<u32>): OutParam<string[]>;
14910   testInterfaceArray(aLength: u32, a: nsIXPCTestInterfaceA[], bLength: InOutParam<u32>, b: InOutParam<nsIXPCTestInterfaceA[]>, rvLength: OutParam<u32>): OutParam<nsIXPCTestInterfaceA[]>;
14911   testByteArrayOptionalLength(a: u8[], aLength?: u32): u32;
14912   testSizedString(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): OutParam<string>;
14913   testSizedWstring(aLength: u32, a: string, bLength: InOutParam<u32>, b: InOutParam<string>, rvLength: OutParam<u32>): OutParam<string>;
14914   testJsvalArray(aLength: u32, a: any[], bLength: InOutParam<u32>, b: InOutParam<any[]>, rvLength: OutParam<u32>): OutParam<any[]>;
14915   testOutAString(o: OutParam<string>): void;
14916   testStringArrayOptionalSize(a: string[], aLength?: u32): string;
14917   testOmittedOptionalOut(aJSObj: nsIXPCTestParams, aOut?: OutParam<nsIURI>): void;
14918   readonly testNaN: double;
14921 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_returncode.idl
14923 interface nsIXPCTestReturnCodeParent extends nsISupports {
14924   callChild(childBehavior: i32): nsresult;
14927 interface nsIXPCTestReturnCodeChild extends nsISupports {
14928   readonly CHILD_SHOULD_THROW: 0;
14929   readonly CHILD_SHOULD_RETURN_SUCCESS: 1;
14930   readonly CHILD_SHOULD_RETURN_RESULTCODE: 2;
14931   readonly CHILD_SHOULD_NEST_RESULTCODES: 3;
14933   doIt(behavior: i32): void;
14936 // https://searchfox.org/mozilla-central/source/js/xpconnect/tests/idl/xpctest_utils.idl
14938 type nsIXPCTestFunctionInterface = Callable<{
14939   echo(arg: string): string;
14942 interface nsIXPCTestUtils extends nsISupports {
14943   doubleWrapFunction(f: nsIXPCTestFunctionInterface): nsIXPCTestFunctionInterface;
14946 interface nsIXPCTestTypeScript extends nsISupports {
14947   exposedProp: i32;
14948   exposedMethod(arg: i32): void;
14951 // https://searchfox.org/mozilla-central/source/dom/xul/nsIBrowserController.idl
14953 interface nsIBrowserController extends nsISupports {
14954   enableDisableCommands(action: string, enabledCommands: string[], disabledCommands: string[]): void;
14957 // https://searchfox.org/mozilla-central/source/dom/xul/nsIController.idl
14959 interface nsIController extends nsISupports {
14960   isCommandEnabled(command: string): boolean;
14961   supportsCommand(command: string): boolean;
14962   doCommand(command: string): void;
14963   onEvent(eventName: string): void;
14966 interface nsICommandController extends nsISupports {
14967   getCommandStateWithParams(command: string, aCommandParams: nsICommandParams): void;
14968   doCommandWithParams(command: string, aCommandParams: nsICommandParams): void;
14969   getSupportedCommands(): string[];
14972 // https://searchfox.org/mozilla-central/source/dom/xul/nsIControllers.idl
14974 interface nsIControllers extends nsISupports {
14975   getControllerForCommand(command: string): nsIController;
14976   insertControllerAt(index: u32, controller: nsIController): void;
14977   removeControllerAt(index: u32): nsIController;
14978   getControllerAt(index: u32): nsIController;
14979   appendController(controller: nsIController): void;
14980   removeController(controller: nsIController): void;
14981   getControllerId(controller: nsIController): u32;
14982   getControllerById(controllerID: u32): nsIController;
14983   getControllerCount(): u32;
14986 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsINativeAppSupport.idl
14988 interface nsINativeAppSupport extends nsISupports {
14989   start(): boolean;
14990   enable(): void;
14991   onLastWindowClosing(): void;
14992   ReOpen(): void;
14995 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsIWinAppHelper.idl
14997 interface nsIWinAppHelper extends nsISupports {
14998   readonly userCanElevate: boolean;
15001 // https://searchfox.org/mozilla-central/source/toolkit/xre/nsIXREDirProvider.idl
15003 interface nsIXREDirProvider extends nsISupports {
15004   setUserDataDirectory(aFile: nsIFile, aLocal: boolean): void;
15005   getInstallHash(): string;
15008 // https://searchfox.org/mozilla-central/source/modules/libjar/zipwriter/nsIZipWriter.idl
15010 interface nsIZipWriter extends nsISupports {
15011   readonly COMPRESSION_NONE: 0;
15012   readonly COMPRESSION_FASTEST: 1;
15013   readonly COMPRESSION_DEFAULT: 6;
15014   readonly COMPRESSION_BEST: 9;
15016   comment: string;
15017   readonly inQueue: boolean;
15018   readonly file: nsIFile;
15019   open(aFile: nsIFile, aIoFlags: i32): void;
15020   getEntry(aZipEntry: string): nsIZipEntry;
15021   hasEntry(aZipEntry: string): boolean;
15022   addEntryDirectory(aZipEntry: string, aModTime: PRTime, aQueue: boolean): void;
15023   addEntryFile(aZipEntry: string, aCompression: i32, aFile: nsIFile, aQueue: boolean): void;
15024   addEntryChannel(aZipEntry: string, aModTime: PRTime, aCompression: i32, aChannel: nsIChannel, aQueue: boolean): void;
15025   addEntryStream(aZipEntry: string, aModTime: PRTime, aCompression: i32, aStream: nsIInputStream, aQueue: boolean): void;
15026   removeEntry(aZipEntry: string, aQueue: boolean): void;
15027   processQueue(aObserver: nsIRequestObserver, aContext: nsISupports): void;
15028   close(): void;
15029   alignStoredFiles(aAlignSize: u16): void;
15032 interface nsIXPCComponents_Interfaces {
15033   nsIInstalledApplication: nsJSIID<nsIInstalledApplication>;
15034   nsIAboutThirdParty: nsJSIID<nsIAboutThirdParty>;
15035   nsIAboutWindowsMessages: nsJSIID<nsIAboutWindowsMessages>;
15036   nsIAccessibilityService: nsJSIID<nsIAccessibilityService>;
15037   nsIAccessible: nsJSIID<nsIAccessible>;
15038   nsIAccessibleAnnouncementEvent: nsJSIID<nsIAccessibleAnnouncementEvent>;
15039   nsIAccessibleApplication: nsJSIID<nsIAccessibleApplication>;
15040   nsIAccessibleCaretMoveEvent: nsJSIID<nsIAccessibleCaretMoveEvent>;
15041   nsIAccessibleDocument: nsJSIID<nsIAccessibleDocument>;
15042   nsIAccessibleEditableText: nsJSIID<nsIAccessibleEditableText>;
15043   nsIAccessibleEvent: nsJSIID<nsIAccessibleEvent>;
15044   nsIAccessibleHideEvent: nsJSIID<nsIAccessibleHideEvent>;
15045   nsIAccessibleHyperLink: nsJSIID<nsIAccessibleHyperLink>;
15046   nsIAccessibleHyperText: nsJSIID<nsIAccessibleHyperText>;
15047   nsIAccessibleImage: nsJSIID<nsIAccessibleImage>;
15048   nsIAccessibleObjectAttributeChangedEvent: nsJSIID<nsIAccessibleObjectAttributeChangedEvent>;
15049   nsIAccessiblePivot: nsJSIID<nsIAccessiblePivot>;
15050   nsIAccessibleTraversalRule: nsJSIID<nsIAccessibleTraversalRule>;
15051   nsIAccessibleRelation: nsJSIID<nsIAccessibleRelation>;
15052   nsIAccessibleRole: nsJSIID<nsIAccessibleRole>;
15053   nsIAccessibleScrollingEvent: nsJSIID<nsIAccessibleScrollingEvent>;
15054   nsIAccessibleSelectable: nsJSIID<nsIAccessibleSelectable>;
15055   nsIAccessibleStateChangeEvent: nsJSIID<nsIAccessibleStateChangeEvent>;
15056   nsIAccessibleStates: nsJSIID<nsIAccessibleStates>;
15057   nsIAccessibleTable: nsJSIID<nsIAccessibleTable>;
15058   nsIAccessibleTableCell: nsJSIID<nsIAccessibleTableCell>;
15059   nsIAccessibleTableChangeEvent: nsJSIID<nsIAccessibleTableChangeEvent>;
15060   nsIAccessibleText: nsJSIID<nsIAccessibleText>;
15061   nsIAccessibleTextChangeEvent: nsJSIID<nsIAccessibleTextChangeEvent>;
15062   nsIAccessibleTextLeafPoint: nsJSIID<nsIAccessibleTextLeafPoint>;
15063   nsIAccessibleTextRange: nsJSIID<nsIAccessibleTextRange>;
15064   nsIAccessibleTextSelectionChangeEvent: nsJSIID<nsIAccessibleTextSelectionChangeEvent>;
15065   nsIAccessibleScrollType: nsJSIID<nsIAccessibleScrollType>;
15066   nsIAccessibleCoordinateType: nsJSIID<nsIAccessibleCoordinateType>;
15067   nsIAccessibleValue: nsJSIID<nsIAccessibleValue>;
15068   nsIAlertNotificationImageListener: nsJSIID<nsIAlertNotificationImageListener>;
15069   nsIAlertAction: nsJSIID<nsIAlertAction>;
15070   nsIAlertNotification: nsJSIID<nsIAlertNotification>;
15071   nsIAlertsService: nsJSIID<nsIAlertsService>;
15072   nsIAlertsDoNotDisturb: nsJSIID<nsIAlertsDoNotDisturb>;
15073   nsIAlertsIconData: nsJSIID<nsIAlertsIconData>;
15074   nsIAlertsIconURI: nsJSIID<nsIAlertsIconURI>;
15075   nsIWindowsAlertNotification: nsJSIID<nsIWindowsAlertNotification, typeof nsIWindowsAlertNotification.ImagePlacement>;
15076   nsIWindowsAlertsService: nsJSIID<nsIWindowsAlertsService>;
15077   nsIAppShellService: nsJSIID<nsIAppShellService>;
15078   nsIAppWindow: nsJSIID<nsIAppWindow>;
15079   nsIWindowMediator: nsJSIID<nsIWindowMediator>;
15080   nsIWindowMediatorListener: nsJSIID<nsIWindowMediatorListener>;
15081   nsIWindowlessBrowser: nsJSIID<nsIWindowlessBrowser>;
15082   nsIXULBrowserWindow: nsJSIID<nsIXULBrowserWindow>;
15083   nsIAppStartup: nsJSIID<nsIAppStartup, typeof nsIAppStartup.IDLShutdownPhase>;
15084   nsIAutoCompleteController: nsJSIID<nsIAutoCompleteController>;
15085   nsIAutoCompleteInput: nsJSIID<nsIAutoCompleteInput>;
15086   nsIAutoCompletePopup: nsJSIID<nsIAutoCompletePopup>;
15087   nsIAutoCompleteResult: nsJSIID<nsIAutoCompleteResult>;
15088   nsIAutoCompleteSearch: nsJSIID<nsIAutoCompleteSearch>;
15089   nsIAutoCompleteObserver: nsJSIID<nsIAutoCompleteObserver>;
15090   nsIAutoCompleteSimpleResult: nsJSIID<nsIAutoCompleteSimpleResult>;
15091   nsIAutoCompleteSimpleResultListener: nsJSIID<nsIAutoCompleteSimpleResultListener>;
15092   nsIAutoCompleteSimpleSearch: nsJSIID<nsIAutoCompleteSimpleSearch>;
15093   nsIAutoplay: nsJSIID<nsIAutoplay>;
15094   nsIHangDetails: nsJSIID<nsIHangDetails>;
15095   nsIBits: nsJSIID<nsIBits>;
15096   nsIBitsNewRequestCallback: nsJSIID<nsIBitsNewRequestCallback>;
15097   nsIBitsRequest: nsJSIID<nsIBitsRequest>;
15098   nsIBitsCallback: nsJSIID<nsIBitsCallback>;
15099   nsIAboutNewTabService: nsJSIID<nsIAboutNewTabService>;
15100   nsIBrowserHandler: nsJSIID<nsIBrowserHandler>;
15101   nsIAddonPolicyService: nsJSIID<nsIAddonPolicyService>;
15102   nsIAddonContentPolicy: nsJSIID<nsIAddonContentPolicy>;
15103   nsIDomainPolicy: nsJSIID<nsIDomainPolicy>;
15104   nsIDomainSet: nsJSIID<nsIDomainSet>;
15105   nsIPrincipal: nsJSIID<nsIPrincipal>;
15106   nsIScriptSecurityManager: nsJSIID<nsIScriptSecurityManager>;
15107   nsICaptivePortalCallback: nsJSIID<nsICaptivePortalCallback>;
15108   nsICaptivePortalDetector: nsJSIID<nsICaptivePortalDetector>;
15109   nsICascadeFilter: nsJSIID<nsICascadeFilter>;
15110   nsIChromeRegistry: nsJSIID<nsIChromeRegistry>;
15111   nsIXULChromeRegistry: nsJSIID<nsIXULChromeRegistry>;
15112   nsIToolkitChromeRegistry: nsJSIID<nsIToolkitChromeRegistry>;
15113   nsICodeCoverage: nsJSIID<nsICodeCoverage>;
15114   nsICommandManager: nsJSIID<nsICommandManager>;
15115   nsICommandParams: nsJSIID<nsICommandParams>;
15116   nsIControllerCommand: nsJSIID<nsIControllerCommand>;
15117   nsIControllerCommandTable: nsJSIID<nsIControllerCommandTable>;
15118   nsIControllerContext: nsJSIID<nsIControllerContext>;
15119   nsICommandLine: nsJSIID<nsICommandLine>;
15120   nsICommandLineHandler: nsJSIID<nsICommandLineHandler>;
15121   nsICommandLineValidator: nsJSIID<nsICommandLineValidator>;
15122   nsIEditingSession: nsJSIID<nsIEditingSession>;
15123   nsIEventListenerChange: nsJSIID<nsIEventListenerChange>;
15124   nsIListenerChangeListener: nsJSIID<nsIListenerChangeListener>;
15125   nsIEventListenerInfo: nsJSIID<nsIEventListenerInfo>;
15126   nsIEventListenerService: nsJSIID<nsIEventListenerService>;
15127   mozIGeckoMediaPluginChromeService: nsJSIID<mozIGeckoMediaPluginChromeService>;
15128   mozIGeckoMediaPluginService: nsJSIID<mozIGeckoMediaPluginService>;
15129   nsIDefaultAgent: nsJSIID<nsIDefaultAgent>;
15130   nsIWindowsMutex: nsJSIID<nsIWindowsMutex>;
15131   nsIWindowsMutexFactory: nsJSIID<nsIWindowsMutexFactory>;
15132   nsIDocShell: nsJSIID<nsIDocShell, typeof nsIDocShell.DocShellEnumeratorDirection & typeof nsIDocShell.AppType & typeof nsIDocShell.BusyFlags & typeof nsIDocShell.LoadCommand>;
15133   nsIDocShellTreeItem: nsJSIID<nsIDocShellTreeItem>;
15134   nsIDocShellTreeOwner: nsJSIID<nsIDocShellTreeOwner>;
15135   nsIDocumentLoaderFactory: nsJSIID<nsIDocumentLoaderFactory>;
15136   nsIDocumentViewer: nsJSIID<nsIDocumentViewer, typeof nsIDocumentViewer.PermitUnloadAction & typeof nsIDocumentViewer.PermitUnloadResult>;
15137   nsIDocumentViewerEdit: nsJSIID<nsIDocumentViewerEdit>;
15138   nsILoadContext: nsJSIID<nsILoadContext>;
15139   nsILoadURIDelegate: nsJSIID<nsILoadURIDelegate>;
15140   nsIPrivacyTransitionObserver: nsJSIID<nsIPrivacyTransitionObserver>;
15141   nsIReflowObserver: nsJSIID<nsIReflowObserver>;
15142   nsIRefreshURI: nsJSIID<nsIRefreshURI>;
15143   nsITooltipListener: nsJSIID<nsITooltipListener>;
15144   nsITooltipTextProvider: nsJSIID<nsITooltipTextProvider>;
15145   nsIURIFixupInfo: nsJSIID<nsIURIFixupInfo>;
15146   nsIURIFixup: nsJSIID<nsIURIFixup>;
15147   nsIWebNavigation: nsJSIID<nsIWebNavigation>;
15148   nsIWebNavigationInfo: nsJSIID<nsIWebNavigationInfo>;
15149   nsIWebPageDescriptor: nsJSIID<nsIWebPageDescriptor>;
15150   mozIDOMWindow: nsJSIID<mozIDOMWindow>;
15151   mozIDOMWindowProxy: nsJSIID<mozIDOMWindowProxy>;
15152   nsIContentPolicy: nsJSIID<nsIContentPolicy, typeof nsIContentPolicy.nsContentPolicyType>;
15153   nsIDroppedLinkItem: nsJSIID<nsIDroppedLinkItem>;
15154   nsIDroppedLinkHandler: nsJSIID<nsIDroppedLinkHandler>;
15155   nsIEventSourceEventListener: nsJSIID<nsIEventSourceEventListener>;
15156   nsIEventSourceEventService: nsJSIID<nsIEventSourceEventService>;
15157   nsIImageLoadingContent: nsJSIID<nsIImageLoadingContent>;
15158   nsIMessageSender: nsJSIID<nsIMessageSender>;
15159   nsIObjectLoadingContent: nsJSIID<nsIObjectLoadingContent>;
15160   nsIScriptableContentIterator: nsJSIID<nsIScriptableContentIterator, typeof nsIScriptableContentIterator.IteratorType>;
15161   nsISelectionController: nsJSIID<nsISelectionController>;
15162   nsISelectionDisplay: nsJSIID<nsISelectionDisplay>;
15163   nsISelectionListener: nsJSIID<nsISelectionListener>;
15164   nsISlowScriptDebugCallback: nsJSIID<nsISlowScriptDebugCallback>;
15165   nsISlowScriptDebuggerStartupCallback: nsJSIID<nsISlowScriptDebuggerStartupCallback>;
15166   nsISlowScriptDebugRemoteCallback: nsJSIID<nsISlowScriptDebugRemoteCallback>;
15167   nsISlowScriptDebug: nsJSIID<nsISlowScriptDebug>;
15168   nsIConsoleAPIStorage: nsJSIID<nsIConsoleAPIStorage>;
15169   mozIRemoteLazyInputStream: nsJSIID<mozIRemoteLazyInputStream>;
15170   nsIDOMProcessChild: nsJSIID<nsIDOMProcessChild>;
15171   nsIDOMProcessParent: nsJSIID<nsIDOMProcessParent>;
15172   nsIHangReport: nsJSIID<nsIHangReport>;
15173   nsILoginDetectionService: nsJSIID<nsILoginDetectionService>;
15174   nsISuspendedTypes: nsJSIID<nsISuspendedTypes>;
15175   nsIBrowser: nsJSIID<nsIBrowser>;
15176   nsIBrowserChild: nsJSIID<nsIBrowserChild>;
15177   nsIOpenURIInFrameParams: nsJSIID<nsIOpenURIInFrameParams>;
15178   nsIBrowserDOMWindow: nsJSIID<nsIBrowserDOMWindow>;
15179   nsIBrowserUsage: nsJSIID<nsIBrowserUsage>;
15180   nsIContentPermissionType: nsJSIID<nsIContentPermissionType>;
15181   nsIContentPermissionRequest: nsJSIID<nsIContentPermissionRequest>;
15182   nsIContentPermissionPrompt: nsJSIID<nsIContentPermissionPrompt>;
15183   nsIContentPrefObserver: nsJSIID<nsIContentPrefObserver>;
15184   nsIContentPrefService2: nsJSIID<nsIContentPrefService2>;
15185   nsIContentPrefCallback2: nsJSIID<nsIContentPrefCallback2>;
15186   nsIContentPref: nsJSIID<nsIContentPref>;
15187   nsIContentProcessInfo: nsJSIID<nsIContentProcessInfo>;
15188   nsIContentProcessProvider: nsJSIID<nsIContentProcessProvider>;
15189   nsIDOMGlobalPropertyInitializer: nsJSIID<nsIDOMGlobalPropertyInitializer>;
15190   nsIDOMWindow: nsJSIID<nsIDOMWindow>;
15191   nsIDOMWindowUtils: nsJSIID<nsIDOMWindowUtils>;
15192   nsITranslationNodeList: nsJSIID<nsITranslationNodeList>;
15193   nsIJSRAIIHelper: nsJSIID<nsIJSRAIIHelper>;
15194   nsIFocusManager: nsJSIID<nsIFocusManager>;
15195   nsIPermissionDelegateHandler: nsJSIID<nsIPermissionDelegateHandler>;
15196   nsIQueryContentEventResult: nsJSIID<nsIQueryContentEventResult>;
15197   nsIRemoteTab: nsJSIID<nsIRemoteTab, typeof nsIRemoteTab.NavigationType>;
15198   nsIServiceWorkerUnregisterCallback: nsJSIID<nsIServiceWorkerUnregisterCallback>;
15199   nsIServiceWorkerInfo: nsJSIID<nsIServiceWorkerInfo>;
15200   nsIServiceWorkerRegistrationInfoListener: nsJSIID<nsIServiceWorkerRegistrationInfoListener>;
15201   nsIServiceWorkerRegistrationInfo: nsJSIID<nsIServiceWorkerRegistrationInfo>;
15202   nsIServiceWorkerManagerListener: nsJSIID<nsIServiceWorkerManagerListener>;
15203   nsIServiceWorkerManager: nsJSIID<nsIServiceWorkerManager>;
15204   nsIStructuredCloneContainer: nsJSIID<nsIStructuredCloneContainer>;
15205   nsITextInputProcessor: nsJSIID<nsITextInputProcessor>;
15206   nsITextInputProcessorNotification: nsJSIID<nsITextInputProcessorNotification>;
15207   nsITextInputProcessorCallback: nsJSIID<nsITextInputProcessorCallback>;
15208   nsIScriptErrorNote: nsJSIID<nsIScriptErrorNote>;
15209   nsIScriptError: nsJSIID<nsIScriptError>;
15210   nsIDOMGeoPosition: nsJSIID<nsIDOMGeoPosition>;
15211   nsIDOMGeoPositionCallback: nsJSIID<nsIDOMGeoPositionCallback>;
15212   nsIDOMGeoPositionCoords: nsJSIID<nsIDOMGeoPositionCoords>;
15213   nsIDOMGeoPositionErrorCallback: nsJSIID<nsIDOMGeoPositionErrorCallback>;
15214   nsIIdentityCredentialPromptService: nsJSIID<nsIIdentityCredentialPromptService>;
15215   nsIIdentityCredentialStorageService: nsJSIID<nsIIdentityCredentialStorageService>;
15216   nsIIDBPermissionsRequest: nsJSIID<nsIIDBPermissionsRequest>;
15217   nsILocalStorageManager: nsJSIID<nsILocalStorageManager>;
15218   nsIAudioDeviceInfo: nsJSIID<nsIAudioDeviceInfo>;
15219   nsIMediaDevice: nsJSIID<nsIMediaDevice>;
15220   nsIMediaManagerService: nsJSIID<nsIMediaManagerService>;
15221   nsITCPSocketCallback: nsJSIID<nsITCPSocketCallback>;
15222   nsIUDPSocketInternal: nsJSIID<nsIUDPSocketInternal>;
15223   nsINotificationStorageCallback: nsJSIID<nsINotificationStorageCallback>;
15224   nsINotificationStorage: nsJSIID<nsINotificationStorage>;
15225   nsIPaymentResponseData: nsJSIID<nsIPaymentResponseData>;
15226   nsIGeneralResponseData: nsJSIID<nsIGeneralResponseData>;
15227   nsIBasicCardResponseData: nsJSIID<nsIBasicCardResponseData>;
15228   nsIPaymentActionResponse: nsJSIID<nsIPaymentActionResponse>;
15229   nsIPaymentCanMakeActionResponse: nsJSIID<nsIPaymentCanMakeActionResponse>;
15230   nsIPaymentShowActionResponse: nsJSIID<nsIPaymentShowActionResponse>;
15231   nsIPaymentAbortActionResponse: nsJSIID<nsIPaymentAbortActionResponse>;
15232   nsIPaymentCompleteActionResponse: nsJSIID<nsIPaymentCompleteActionResponse>;
15233   nsIMethodChangeDetails: nsJSIID<nsIMethodChangeDetails>;
15234   nsIGeneralChangeDetails: nsJSIID<nsIGeneralChangeDetails>;
15235   nsIBasicCardChangeDetails: nsJSIID<nsIBasicCardChangeDetails>;
15236   nsIPaymentAddress: nsJSIID<nsIPaymentAddress>;
15237   nsIPaymentMethodData: nsJSIID<nsIPaymentMethodData>;
15238   nsIPaymentCurrencyAmount: nsJSIID<nsIPaymentCurrencyAmount>;
15239   nsIPaymentItem: nsJSIID<nsIPaymentItem>;
15240   nsIPaymentDetailsModifier: nsJSIID<nsIPaymentDetailsModifier>;
15241   nsIPaymentShippingOption: nsJSIID<nsIPaymentShippingOption>;
15242   nsIPaymentDetails: nsJSIID<nsIPaymentDetails>;
15243   nsIPaymentOptions: nsJSIID<nsIPaymentOptions>;
15244   nsIPaymentRequest: nsJSIID<nsIPaymentRequest>;
15245   nsIPaymentRequestService: nsJSIID<nsIPaymentRequestService>;
15246   nsIPaymentUIService: nsJSIID<nsIPaymentUIService>;
15247   nsIDOMMozWakeLockListener: nsJSIID<nsIDOMMozWakeLockListener>;
15248   nsIPowerManagerService: nsJSIID<nsIPowerManagerService>;
15249   nsIWakeLock: nsJSIID<nsIWakeLock>;
15250   nsIPushErrorReporter: nsJSIID<nsIPushErrorReporter>;
15251   nsIPushNotifier: nsJSIID<nsIPushNotifier>;
15252   nsIPushData: nsJSIID<nsIPushData>;
15253   nsIPushMessage: nsJSIID<nsIPushMessage>;
15254   nsIPushSubscription: nsJSIID<nsIPushSubscription>;
15255   nsIPushSubscriptionCallback: nsJSIID<nsIPushSubscriptionCallback>;
15256   nsIUnsubscribeResultCallback: nsJSIID<nsIUnsubscribeResultCallback>;
15257   nsIPushClearResultCallback: nsJSIID<nsIPushClearResultCallback>;
15258   nsIPushService: nsJSIID<nsIPushService>;
15259   nsIPushQuotaManager: nsJSIID<nsIPushQuotaManager>;
15260   nsIQuotaUsageCallback: nsJSIID<nsIQuotaUsageCallback>;
15261   nsIQuotaCallback: nsJSIID<nsIQuotaCallback>;
15262   nsIQuotaManagerService: nsJSIID<nsIQuotaManagerService>;
15263   nsIQuotaRequestBase: nsJSIID<nsIQuotaRequestBase>;
15264   nsIQuotaUsageRequest: nsJSIID<nsIQuotaUsageRequest>;
15265   nsIQuotaRequest: nsJSIID<nsIQuotaRequest>;
15266   nsIQuotaFullOriginMetadataResult: nsJSIID<nsIQuotaFullOriginMetadataResult>;
15267   nsIQuotaUsageResult: nsJSIID<nsIQuotaUsageResult>;
15268   nsIQuotaOriginUsageResult: nsJSIID<nsIQuotaOriginUsageResult>;
15269   nsIQuotaEstimateResult: nsJSIID<nsIQuotaEstimateResult>;
15270   nsIContentSecurityManager: nsJSIID<nsIContentSecurityManager>;
15271   nsIContentSecurityPolicy: nsJSIID<nsIContentSecurityPolicy, typeof nsIContentSecurityPolicy.CSPDirective>;
15272   nsICSPEventListener: nsJSIID<nsICSPEventListener>;
15273   nsIReferrerInfo: nsJSIID<nsIReferrerInfo, typeof nsIReferrerInfo.ReferrerPolicyIDL>;
15274   nsIHttpsOnlyModePermission: nsJSIID<nsIHttpsOnlyModePermission>;
15275   nsIDocumentEncoderNodeFixup: nsJSIID<nsIDocumentEncoderNodeFixup>;
15276   nsIDocumentEncoder: nsJSIID<nsIDocumentEncoder>;
15277   nsIWebProtocolHandlerRegistrar: nsJSIID<nsIWebProtocolHandlerRegistrar>;
15278   nsISDBCallback: nsJSIID<nsISDBCallback>;
15279   nsISDBCloseCallback: nsJSIID<nsISDBCloseCallback>;
15280   nsISDBConnection: nsJSIID<nsISDBConnection>;
15281   nsISDBRequest: nsJSIID<nsISDBRequest>;
15282   nsISDBResult: nsJSIID<nsISDBResult>;
15283   nsIDOMStorageManager: nsJSIID<nsIDOMStorageManager>;
15284   nsIStorageActivityService: nsJSIID<nsIStorageActivityService>;
15285   nsISessionStorageService: nsJSIID<nsISessionStorageService>;
15286   nsIOSPermissionRequest: nsJSIID<nsIOSPermissionRequest>;
15287   nsICredentialParameters: nsJSIID<nsICredentialParameters>;
15288   nsIWebAuthnAutoFillEntry: nsJSIID<nsIWebAuthnAutoFillEntry>;
15289   nsIWebAuthnService: nsJSIID<nsIWebAuthnService>;
15290   nsISpeechTaskCallback: nsJSIID<nsISpeechTaskCallback>;
15291   nsISpeechTask: nsJSIID<nsISpeechTask>;
15292   nsISpeechService: nsJSIID<nsISpeechService>;
15293   nsISynthVoiceRegistry: nsJSIID<nsISynthVoiceRegistry>;
15294   nsIWorkerChannelLoadInfo: nsJSIID<nsIWorkerChannelLoadInfo>;
15295   nsIWorkerChannelInfo: nsJSIID<nsIWorkerChannelInfo>;
15296   nsIWorkerDebuggerListener: nsJSIID<nsIWorkerDebuggerListener>;
15297   nsIWorkerDebugger: nsJSIID<nsIWorkerDebugger>;
15298   nsIWorkerDebuggerManagerListener: nsJSIID<nsIWorkerDebuggerManagerListener>;
15299   nsIWorkerDebuggerManager: nsJSIID<nsIWorkerDebuggerManager>;
15300   txIEXSLTFunctions: nsJSIID<txIEXSLTFunctions>;
15301   nsIDOMXULButtonElement: nsJSIID<nsIDOMXULButtonElement>;
15302   nsIDOMXULCommandDispatcher: nsJSIID<nsIDOMXULCommandDispatcher>;
15303   nsIDOMXULContainerItemElement: nsJSIID<nsIDOMXULContainerItemElement>;
15304   nsIDOMXULContainerElement: nsJSIID<nsIDOMXULContainerElement>;
15305   nsIDOMXULControlElement: nsJSIID<nsIDOMXULControlElement>;
15306   nsIDOMXULMenuListElement: nsJSIID<nsIDOMXULMenuListElement>;
15307   nsIDOMXULMultiSelectControlElement: nsJSIID<nsIDOMXULMultiSelectControlElement>;
15308   nsIDOMXULRadioGroupElement: nsJSIID<nsIDOMXULRadioGroupElement>;
15309   nsIDOMXULRelatedElement: nsJSIID<nsIDOMXULRelatedElement>;
15310   nsIDOMXULSelectControlElement: nsJSIID<nsIDOMXULSelectControlElement>;
15311   nsIDOMXULSelectControlItemElement: nsJSIID<nsIDOMXULSelectControlItemElement>;
15312   mozIDownloadPlatform: nsJSIID<mozIDownloadPlatform>;
15313   nsIDocumentStateListener: nsJSIID<nsIDocumentStateListener>;
15314   nsIEditActionListener: nsJSIID<nsIEditActionListener>;
15315   nsIEditor: nsJSIID<nsIEditor>;
15316   nsIEditorMailSupport: nsJSIID<nsIEditorMailSupport>;
15317   nsIEditorSpellCheck: nsJSIID<nsIEditorSpellCheck>;
15318   nsIEditorSpellCheckCallback: nsJSIID<nsIEditorSpellCheckCallback>;
15319   nsIHTMLAbsPosEditor: nsJSIID<nsIHTMLAbsPosEditor>;
15320   nsIHTMLEditor: nsJSIID<nsIHTMLEditor>;
15321   nsIHTMLInlineTableEditor: nsJSIID<nsIHTMLInlineTableEditor>;
15322   nsIHTMLObjectResizer: nsJSIID<nsIHTMLObjectResizer>;
15323   nsITableEditor: nsJSIID<nsITableEditor>;
15324   nsIEnterprisePolicies: nsJSIID<nsIEnterprisePolicies>;
15325   amIAddonManagerStartup: nsJSIID<amIAddonManagerStartup>;
15326   amIWebInstallPrompt: nsJSIID<amIWebInstallPrompt>;
15327   nsIContentDispatchChooser: nsJSIID<nsIContentDispatchChooser>;
15328   nsIExternalHelperAppService: nsJSIID<nsIExternalHelperAppService>;
15329   nsPIExternalAppLauncher: nsJSIID<nsPIExternalAppLauncher>;
15330   nsIHelperAppLauncher: nsJSIID<nsIHelperAppLauncher>;
15331   nsIExternalProtocolService: nsJSIID<nsIExternalProtocolService>;
15332   nsIHandlerService: nsJSIID<nsIHandlerService>;
15333   nsIHelperAppLauncherDialog: nsJSIID<nsIHelperAppLauncherDialog>;
15334   nsISharingHandlerApp: nsJSIID<nsISharingHandlerApp>;
15335   nsITypeAheadFind: nsJSIID<nsITypeAheadFind>;
15336   nsIFOG: nsJSIID<nsIFOG>;
15337   nsIGleanPingTestCallback: nsJSIID<nsIGleanPingTestCallback>;
15338   nsIGleanPing: nsJSIID<nsIGleanPing>;
15339   nsIFontEnumerator: nsJSIID<nsIFontEnumerator>;
15340   nsIParserUtils: nsJSIID<nsIParserUtils>;
15341   nsIExpatSink: nsJSIID<nsIExpatSink>;
15342   nsISFVBareItem: nsJSIID<nsISFVBareItem>;
15343   nsISFVInteger: nsJSIID<nsISFVInteger>;
15344   nsISFVString: nsJSIID<nsISFVString>;
15345   nsISFVBool: nsJSIID<nsISFVBool>;
15346   nsISFVDecimal: nsJSIID<nsISFVDecimal>;
15347   nsISFVToken: nsJSIID<nsISFVToken>;
15348   nsISFVByteSeq: nsJSIID<nsISFVByteSeq>;
15349   nsISFVParams: nsJSIID<nsISFVParams>;
15350   nsISFVParametrizable: nsJSIID<nsISFVParametrizable>;
15351   nsISFVItemOrInnerList: nsJSIID<nsISFVItemOrInnerList>;
15352   nsISFVSerialize: nsJSIID<nsISFVSerialize>;
15353   nsISFVItem: nsJSIID<nsISFVItem>;
15354   nsISFVInnerList: nsJSIID<nsISFVInnerList>;
15355   nsISFVList: nsJSIID<nsISFVList>;
15356   nsISFVDictionary: nsJSIID<nsISFVDictionary>;
15357   nsISFVService: nsJSIID<nsISFVService>;
15358   imgICache: nsJSIID<imgICache>;
15359   imgIContainer: nsJSIID<imgIContainer, typeof imgIContainer.DecodeResult>;
15360   imgIContainerDebug: nsJSIID<imgIContainerDebug>;
15361   imgIEncoder: nsJSIID<imgIEncoder>;
15362   imgILoader: nsJSIID<imgILoader>;
15363   imgINotificationObserver: nsJSIID<imgINotificationObserver>;
15364   imgIRequest: nsJSIID<imgIRequest>;
15365   imgIScriptedNotificationObserver: nsJSIID<imgIScriptedNotificationObserver>;
15366   imgITools: nsJSIID<imgITools>;
15367   imgIContainerCallback: nsJSIID<imgIContainerCallback>;
15368   nsIMozIconURI: nsJSIID<nsIMozIconURI>;
15369   inIDeepTreeWalker: nsJSIID<inIDeepTreeWalker>;
15370   nsIStringBundle: nsJSIID<nsIStringBundle>;
15371   nsIStringBundleService: nsJSIID<nsIStringBundleService>;
15372   nsIJARChannel: nsJSIID<nsIJARChannel>;
15373   nsIJARURI: nsJSIID<nsIJARURI>;
15374   nsIZipEntry: nsJSIID<nsIZipEntry>;
15375   nsIZipReader: nsJSIID<nsIZipReader>;
15376   nsIZipReaderCache: nsJSIID<nsIZipReaderCache>;
15377   IJSDebugger: nsJSIID<IJSDebugger>;
15378   nsIJSInspector: nsJSIID<nsIJSInspector>;
15379   nsIKeyValueService: nsJSIID<nsIKeyValueService, typeof nsIKeyValueService.RecoveryStrategy>;
15380   nsIKeyValueDatabase: nsJSIID<nsIKeyValueDatabase>;
15381   nsIKeyValuePair: nsJSIID<nsIKeyValuePair>;
15382   nsIKeyValueEnumerator: nsJSIID<nsIKeyValueEnumerator>;
15383   nsIKeyValueDatabaseCallback: nsJSIID<nsIKeyValueDatabaseCallback>;
15384   nsIKeyValueEnumeratorCallback: nsJSIID<nsIKeyValueEnumeratorCallback>;
15385   nsIKeyValuePairCallback: nsJSIID<nsIKeyValuePairCallback>;
15386   nsIKeyValueVariantCallback: nsJSIID<nsIKeyValueVariantCallback>;
15387   nsIKeyValueVoidCallback: nsJSIID<nsIKeyValueVoidCallback>;
15388   nsILayoutHistoryState: nsJSIID<nsILayoutHistoryState>;
15389   nsIPreloadedStyleSheet: nsJSIID<nsIPreloadedStyleSheet>;
15390   nsIStyleSheetService: nsJSIID<nsIStyleSheetService>;
15391   nsITreeSelection: nsJSIID<nsITreeSelection>;
15392   nsITreeView: nsJSIID<nsITreeView>;
15393   mozILocaleService: nsJSIID<mozILocaleService>;
15394   mozIOSPreferences: nsJSIID<mozIOSPreferences>;
15395   nsILoginAutoCompleteSearch: nsJSIID<nsILoginAutoCompleteSearch>;
15396   nsILoginInfo: nsJSIID<nsILoginInfo>;
15397   nsILoginSearchCallback: nsJSIID<nsILoginSearchCallback>;
15398   nsILoginManager: nsJSIID<nsILoginManager>;
15399   nsILoginManagerAuthPrompter: nsJSIID<nsILoginManagerAuthPrompter>;
15400   nsILoginManagerCrypto: nsJSIID<nsILoginManagerCrypto>;
15401   nsILoginManagerPrompter: nsJSIID<nsILoginManagerPrompter>;
15402   nsILoginMetaInfo: nsJSIID<nsILoginMetaInfo>;
15403   nsIPromptInstance: nsJSIID<nsIPromptInstance>;
15404   nsIEdgeMigrationUtils: nsJSIID<nsIEdgeMigrationUtils>;
15405   nsIMIMEHeaderParam: nsJSIID<nsIMIMEHeaderParam>;
15406   nsIHandlerInfo: nsJSIID<nsIHandlerInfo>;
15407   nsIMIMEInfo: nsJSIID<nsIMIMEInfo>;
15408   nsIHandlerApp: nsJSIID<nsIHandlerApp>;
15409   nsILocalHandlerApp: nsJSIID<nsILocalHandlerApp>;
15410   nsIWebHandlerApp: nsJSIID<nsIWebHandlerApp>;
15411   nsIDBusHandlerApp: nsJSIID<nsIDBusHandlerApp>;
15412   nsIMIMEService: nsJSIID<nsIMIMEService>;
15413   nsIFind: nsJSIID<nsIFind>;
15414   nsIFindService: nsJSIID<nsIFindService>;
15415   nsIWebBrowserFind: nsJSIID<nsIWebBrowserFind>;
15416   nsIWebBrowserFindInFrames: nsJSIID<nsIWebBrowserFindInFrames>;
15417   mozIMozIntl: nsJSIID<mozIMozIntl>;
15418   mozIMozIntlHelper: nsJSIID<mozIMozIntlHelper>;
15419   mozIThirdPartyUtil: nsJSIID<mozIThirdPartyUtil>;
15420   nsIArrayBufferInputStream: nsJSIID<nsIArrayBufferInputStream>;
15421   nsIAsyncStreamCopier: nsJSIID<nsIAsyncStreamCopier>;
15422   nsIAsyncStreamCopier2: nsJSIID<nsIAsyncStreamCopier2>;
15423   nsIAsyncVerifyRedirectCallback: nsJSIID<nsIAsyncVerifyRedirectCallback>;
15424   nsIAuthInformation: nsJSIID<nsIAuthInformation>;
15425   nsIAuthPrompt: nsJSIID<nsIAuthPrompt>;
15426   nsIAuthPrompt2: nsJSIID<nsIAuthPrompt2>;
15427   nsIAuthPromptAdapterFactory: nsJSIID<nsIAuthPromptAdapterFactory>;
15428   nsIAuthPromptCallback: nsJSIID<nsIAuthPromptCallback>;
15429   nsIAuthPromptProvider: nsJSIID<nsIAuthPromptProvider>;
15430   nsIBackgroundFileSaver: nsJSIID<nsIBackgroundFileSaver>;
15431   nsIBackgroundFileSaverObserver: nsJSIID<nsIBackgroundFileSaverObserver>;
15432   nsIBufferedInputStream: nsJSIID<nsIBufferedInputStream>;
15433   nsIBufferedOutputStream: nsJSIID<nsIBufferedOutputStream>;
15434   nsIByteRangeRequest: nsJSIID<nsIByteRangeRequest>;
15435   nsIInputStreamReceiver: nsJSIID<nsIInputStreamReceiver>;
15436   nsICacheInfoChannel: nsJSIID<nsICacheInfoChannel, typeof nsICacheInfoChannel.PreferredAlternativeDataDeliveryType>;
15437   nsICachingChannel: nsJSIID<nsICachingChannel>;
15438   nsICancelable: nsJSIID<nsICancelable>;
15439   nsICaptivePortalServiceCallback: nsJSIID<nsICaptivePortalServiceCallback>;
15440   nsICaptivePortalService: nsJSIID<nsICaptivePortalService>;
15441   nsIChannel: nsJSIID<nsIChannel>;
15442   nsIIdentChannel: nsJSIID<nsIIdentChannel>;
15443   nsIChannelEventSink: nsJSIID<nsIChannelEventSink>;
15444   nsIChildChannel: nsJSIID<nsIChildChannel>;
15445   nsIClassOfService: nsJSIID<nsIClassOfService>;
15446   nsIClassifiedChannel: nsJSIID<nsIClassifiedChannel, typeof nsIClassifiedChannel.ClassificationFlags>;
15447   nsIContentSniffer: nsJSIID<nsIContentSniffer>;
15448   nsIDHCPClient: nsJSIID<nsIDHCPClient>;
15449   nsINetDashboardCallback: nsJSIID<nsINetDashboardCallback>;
15450   nsIDashboard: nsJSIID<nsIDashboard>;
15451   nsIDownloader: nsJSIID<nsIDownloader>;
15452   nsIDownloadObserver: nsJSIID<nsIDownloadObserver>;
15453   nsIEncodedChannel: nsJSIID<nsIEncodedChannel>;
15454   nsIExternalProtocolHandler: nsJSIID<nsIExternalProtocolHandler>;
15455   nsIFileInputStream: nsJSIID<nsIFileInputStream>;
15456   nsIFileOutputStream: nsJSIID<nsIFileOutputStream>;
15457   nsIFileRandomAccessStream: nsJSIID<nsIFileRandomAccessStream>;
15458   nsIFileMetadata: nsJSIID<nsIFileMetadata>;
15459   nsIAsyncFileMetadata: nsJSIID<nsIAsyncFileMetadata>;
15460   nsIFileMetadataCallback: nsJSIID<nsIFileMetadataCallback>;
15461   nsIFileURL: nsJSIID<nsIFileURL>;
15462   nsIFileURLMutator: nsJSIID<nsIFileURLMutator>;
15463   nsIFormPOSTActionChannel: nsJSIID<nsIFormPOSTActionChannel>;
15464   nsIHttpPushListener: nsJSIID<nsIHttpPushListener>;
15465   nsIIOService: nsJSIID<nsIIOService>;
15466   nsIIncrementalDownload: nsJSIID<nsIIncrementalDownload>;
15467   nsIIncrementalStreamLoaderObserver: nsJSIID<nsIIncrementalStreamLoaderObserver>;
15468   nsIIncrementalStreamLoader: nsJSIID<nsIIncrementalStreamLoader>;
15469   nsIInputStreamChannel: nsJSIID<nsIInputStreamChannel>;
15470   nsIInputStreamPump: nsJSIID<nsIInputStreamPump>;
15471   nsIInterceptionInfo: nsJSIID<nsIInterceptionInfo>;
15472   nsILoadContextInfo: nsJSIID<nsILoadContextInfo>;
15473   nsILoadContextInfoFactory: nsJSIID<nsILoadContextInfoFactory>;
15474   nsILoadGroup: nsJSIID<nsILoadGroup>;
15475   nsILoadGroupChild: nsJSIID<nsILoadGroupChild>;
15476   nsILoadInfo: nsJSIID<nsILoadInfo, typeof nsILoadInfo.StoragePermissionState & typeof nsILoadInfo.CrossOriginOpenerPolicy & typeof nsILoadInfo.CrossOriginEmbedderPolicy>;
15477   nsIMIMEInputStream: nsJSIID<nsIMIMEInputStream>;
15478   nsIMultiPartChannel: nsJSIID<nsIMultiPartChannel>;
15479   nsIMultiPartChannelListener: nsJSIID<nsIMultiPartChannelListener>;
15480   nsINestedURI: nsJSIID<nsINestedURI>;
15481   nsINestedURIMutator: nsJSIID<nsINestedURIMutator>;
15482   nsINestedAboutURIMutator: nsJSIID<nsINestedAboutURIMutator>;
15483   nsIJSURIMutator: nsJSIID<nsIJSURIMutator>;
15484   nsINetAddr: nsJSIID<nsINetAddr>;
15485   nsINetUtil: nsJSIID<nsINetUtil>;
15486   nsINetworkConnectivityService: nsJSIID<nsINetworkConnectivityService, typeof nsINetworkConnectivityService.ConnectivityState>;
15487   nsIListNetworkAddressesListener: nsJSIID<nsIListNetworkAddressesListener>;
15488   nsIGetHostnameListener: nsJSIID<nsIGetHostnameListener>;
15489   nsINetworkInfoService: nsJSIID<nsINetworkInfoService>;
15490   nsIInterceptedBodyCallback: nsJSIID<nsIInterceptedBodyCallback>;
15491   nsIInterceptedChannel: nsJSIID<nsIInterceptedChannel>;
15492   nsINetworkInterceptController: nsJSIID<nsINetworkInterceptController>;
15493   nsINetworkLinkService: nsJSIID<nsINetworkLinkService>;
15494   nsINetworkPredictor: nsJSIID<nsINetworkPredictor>;
15495   nsINetworkPredictorVerifier: nsJSIID<nsINetworkPredictorVerifier>;
15496   nsINullChannel: nsJSIID<nsINullChannel>;
15497   nsIParentChannel: nsJSIID<nsIParentChannel>;
15498   nsIPermission: nsJSIID<nsIPermission>;
15499   nsIPermissionManager: nsJSIID<nsIPermissionManager>;
15500   nsIPrivateBrowsingChannel: nsJSIID<nsIPrivateBrowsingChannel>;
15501   nsIProgressEventSink: nsJSIID<nsIProgressEventSink>;
15502   nsIPrompt: nsJSIID<nsIPrompt>;
15503   nsIProtocolHandlerWithDynamicFlags: nsJSIID<nsIProtocolHandlerWithDynamicFlags>;
15504   nsIProtocolHandler: nsJSIID<nsIProtocolHandler>;
15505   nsIProtocolProxyCallback: nsJSIID<nsIProtocolProxyCallback>;
15506   nsIProxyProtocolFilterResult: nsJSIID<nsIProxyProtocolFilterResult>;
15507   nsIProtocolProxyFilter: nsJSIID<nsIProtocolProxyFilter>;
15508   nsIProtocolProxyChannelFilter: nsJSIID<nsIProtocolProxyChannelFilter>;
15509   nsIProxyConfigChangedCallback: nsJSIID<nsIProxyConfigChangedCallback>;
15510   nsIProtocolProxyService: nsJSIID<nsIProtocolProxyService>;
15511   nsIProtocolProxyService2: nsJSIID<nsIProtocolProxyService2>;
15512   nsIProxiedChannel: nsJSIID<nsIProxiedChannel>;
15513   nsIProxiedProtocolHandler: nsJSIID<nsIProxiedProtocolHandler>;
15514   nsIProxyInfo: nsJSIID<nsIProxyInfo>;
15515   nsIRandomGenerator: nsJSIID<nsIRandomGenerator>;
15516   nsIRedirectChannelRegistrar: nsJSIID<nsIRedirectChannelRegistrar>;
15517   nsIRedirectHistoryEntry: nsJSIID<nsIRedirectHistoryEntry>;
15518   nsIRedirectResultListener: nsJSIID<nsIRedirectResultListener>;
15519   nsIRequest: nsJSIID<nsIRequest, typeof nsIRequest.TRRMode>;
15520   nsIRequestObserver: nsJSIID<nsIRequestObserver>;
15521   nsIRequestObserverProxy: nsJSIID<nsIRequestObserverProxy>;
15522   nsIResumableChannel: nsJSIID<nsIResumableChannel>;
15523   nsISecCheckWrapChannel: nsJSIID<nsISecCheckWrapChannel>;
15524   nsISecureBrowserUI: nsJSIID<nsISecureBrowserUI>;
15525   nsISensitiveInfoHiddenURI: nsJSIID<nsISensitiveInfoHiddenURI>;
15526   nsISerializationHelper: nsJSIID<nsISerializationHelper>;
15527   nsIServerSocket: nsJSIID<nsIServerSocket>;
15528   nsIServerSocketListener: nsJSIID<nsIServerSocketListener>;
15529   nsISimpleStreamListener: nsJSIID<nsISimpleStreamListener>;
15530   nsISimpleURIMutator: nsJSIID<nsISimpleURIMutator>;
15531   nsISocketTransport: nsJSIID<nsISocketTransport>;
15532   nsISTSShutdownObserver: nsJSIID<nsISTSShutdownObserver>;
15533   nsISocketTransportService: nsJSIID<nsISocketTransportService>;
15534   nsIRoutedSocketTransportService: nsJSIID<nsIRoutedSocketTransportService>;
15535   nsISpeculativeConnect: nsJSIID<nsISpeculativeConnect>;
15536   nsIStandardURL: nsJSIID<nsIStandardURL>;
15537   nsIStandardURLMutator: nsJSIID<nsIStandardURLMutator>;
15538   nsIStreamListener: nsJSIID<nsIStreamListener>;
15539   nsIStreamListenerTee: nsJSIID<nsIStreamListenerTee>;
15540   nsIStreamLoaderObserver: nsJSIID<nsIStreamLoaderObserver>;
15541   nsIStreamLoader: nsJSIID<nsIStreamLoader>;
15542   nsIStreamTransportService: nsJSIID<nsIStreamTransportService>;
15543   nsISyncStreamListener: nsJSIID<nsISyncStreamListener>;
15544   nsISystemProxySettings: nsJSIID<nsISystemProxySettings>;
15545   nsITLSServerSocket: nsJSIID<nsITLSServerSocket>;
15546   nsITLSClientStatus: nsJSIID<nsITLSClientStatus>;
15547   nsITLSServerConnectionInfo: nsJSIID<nsITLSServerConnectionInfo>;
15548   nsITLSServerSecurityObserver: nsJSIID<nsITLSServerSecurityObserver>;
15549   nsIThreadRetargetableStreamListener: nsJSIID<nsIThreadRetargetableStreamListener>;
15550   nsIInputChannelThrottleQueue: nsJSIID<nsIInputChannelThrottleQueue>;
15551   nsIThrottledInputChannel: nsJSIID<nsIThrottledInputChannel>;
15552   nsIServerTiming: nsJSIID<nsIServerTiming>;
15553   nsITimedChannel: nsJSIID<nsITimedChannel>;
15554   nsITraceableChannel: nsJSIID<nsITraceableChannel>;
15555   nsITransport: nsJSIID<nsITransport>;
15556   nsITransportEventSink: nsJSIID<nsITransportEventSink>;
15557   nsIUDPSocket: nsJSIID<nsIUDPSocket>;
15558   nsIUDPSocketListener: nsJSIID<nsIUDPSocketListener>;
15559   nsIUDPMessage: nsJSIID<nsIUDPMessage>;
15560   nsIURI: nsJSIID<nsIURI>;
15561   nsIURISetSpec: nsJSIID<nsIURISetSpec>;
15562   nsIURISetters: nsJSIID<nsIURISetters>;
15563   nsIURIMutator: nsJSIID<nsIURIMutator>;
15564   nsIURIWithSpecialOrigin: nsJSIID<nsIURIWithSpecialOrigin>;
15565   nsIURL: nsJSIID<nsIURL>;
15566   nsIURLMutator: nsJSIID<nsIURLMutator>;
15567   nsIURLParser: nsJSIID<nsIURLParser>;
15568   nsIUploadChannel: nsJSIID<nsIUploadChannel>;
15569   nsIUploadChannel2: nsJSIID<nsIUploadChannel2>;
15570   nsPISocketTransportService: nsJSIID<nsPISocketTransportService>;
15571   nsIAboutModule: nsJSIID<nsIAboutModule>;
15572   nsICacheEntry: nsJSIID<nsICacheEntry>;
15573   nsICacheEntryMetaDataVisitor: nsJSIID<nsICacheEntryMetaDataVisitor>;
15574   nsICacheEntryDoomCallback: nsJSIID<nsICacheEntryDoomCallback>;
15575   nsICacheEntryOpenCallback: nsJSIID<nsICacheEntryOpenCallback>;
15576   nsICachePurgeLock: nsJSIID<nsICachePurgeLock>;
15577   nsICacheStorage: nsJSIID<nsICacheStorage>;
15578   nsICacheStorageService: nsJSIID<nsICacheStorageService>;
15579   nsICacheStorageConsumptionObserver: nsJSIID<nsICacheStorageConsumptionObserver>;
15580   nsICacheStorageVisitor: nsJSIID<nsICacheStorageVisitor>;
15581   nsICacheTesting: nsJSIID<nsICacheTesting>;
15582   nsICookie: nsJSIID<nsICookie, typeof nsICookie.schemeType>;
15583   nsICookieJarSettings: nsJSIID<nsICookieJarSettings>;
15584   nsICookieManager: nsJSIID<nsICookieManager>;
15585   nsICookieNotification: nsJSIID<nsICookieNotification, typeof nsICookieNotification.Action>;
15586   nsICookiePermission: nsJSIID<nsICookiePermission>;
15587   nsICookieTransactionCallback: nsJSIID<nsICookieTransactionCallback>;
15588   nsICookieService: nsJSIID<nsICookieService>;
15589   nsIDNSAdditionalInfo: nsJSIID<nsIDNSAdditionalInfo>;
15590   nsIDNSByTypeRecord: nsJSIID<nsIDNSByTypeRecord>;
15591   nsIDNSTXTRecord: nsJSIID<nsIDNSTXTRecord>;
15592   nsISVCParam: nsJSIID<nsISVCParam>;
15593   nsISVCParamAlpn: nsJSIID<nsISVCParamAlpn>;
15594   nsISVCParamNoDefaultAlpn: nsJSIID<nsISVCParamNoDefaultAlpn>;
15595   nsISVCParamPort: nsJSIID<nsISVCParamPort>;
15596   nsISVCParamIPv4Hint: nsJSIID<nsISVCParamIPv4Hint>;
15597   nsISVCParamEchConfig: nsJSIID<nsISVCParamEchConfig>;
15598   nsISVCParamIPv6Hint: nsJSIID<nsISVCParamIPv6Hint>;
15599   nsISVCParamODoHConfig: nsJSIID<nsISVCParamODoHConfig>;
15600   nsISVCBRecord: nsJSIID<nsISVCBRecord>;
15601   nsIDNSHTTPSSVCRecord: nsJSIID<nsIDNSHTTPSSVCRecord>;
15602   nsIDNSListener: nsJSIID<nsIDNSListener>;
15603   nsIDNSRecord: nsJSIID<nsIDNSRecord>;
15604   nsIDNSAddrRecord: nsJSIID<nsIDNSAddrRecord>;
15605   nsIDNSService: nsJSIID<nsIDNSService, typeof nsIDNSService.ResolveType & typeof nsIDNSService.ResolverMode & typeof nsIDNSService.DNSFlags & typeof nsIDNSService.ConfirmationState>;
15606   nsIEffectiveTLDService: nsJSIID<nsIEffectiveTLDService>;
15607   nsIIDNService: nsJSIID<nsIIDNService>;
15608   nsINativeDNSResolverOverride: nsJSIID<nsINativeDNSResolverOverride>;
15609   nsITRRSkipReason: nsJSIID<nsITRRSkipReason, typeof nsITRRSkipReason.value>;
15610   nsPIDNSService: nsJSIID<nsPIDNSService>;
15611   nsIFileChannel: nsJSIID<nsIFileChannel>;
15612   nsIFileProtocolHandler: nsJSIID<nsIFileProtocolHandler>;
15613   nsIBinaryHttpRequest: nsJSIID<nsIBinaryHttpRequest>;
15614   nsIBinaryHttpResponse: nsJSIID<nsIBinaryHttpResponse>;
15615   nsIBinaryHttp: nsJSIID<nsIBinaryHttp>;
15616   nsIEarlyHintObserver: nsJSIID<nsIEarlyHintObserver>;
15617   nsIHttpActivityObserver: nsJSIID<nsIHttpActivityObserver>;
15618   nsIHttpActivityDistributor: nsJSIID<nsIHttpActivityDistributor>;
15619   nsIHttpAuthManager: nsJSIID<nsIHttpAuthManager>;
15620   nsIHttpChannel: nsJSIID<nsIHttpChannel>;
15621   nsIHttpUpgradeListener: nsJSIID<nsIHttpUpgradeListener>;
15622   nsIHttpChannelInternal: nsJSIID<nsIHttpChannelInternal>;
15623   nsIHttpHeaderVisitor: nsJSIID<nsIHttpHeaderVisitor>;
15624   nsIHttpProtocolHandler: nsJSIID<nsIHttpProtocolHandler>;
15625   nsIObliviousHttpClientResponse: nsJSIID<nsIObliviousHttpClientResponse>;
15626   nsIObliviousHttpClientRequest: nsJSIID<nsIObliviousHttpClientRequest>;
15627   nsIObliviousHttpServerResponse: nsJSIID<nsIObliviousHttpServerResponse>;
15628   nsIObliviousHttpServer: nsJSIID<nsIObliviousHttpServer>;
15629   nsIObliviousHttp: nsJSIID<nsIObliviousHttp>;
15630   nsIObliviousHttpService: nsJSIID<nsIObliviousHttpService>;
15631   nsIObliviousHttpChannel: nsJSIID<nsIObliviousHttpChannel>;
15632   nsIRaceCacheWithNetwork: nsJSIID<nsIRaceCacheWithNetwork>;
15633   nsIWellKnownOpportunisticUtils: nsJSIID<nsIWellKnownOpportunisticUtils>;
15634   nsICompressConvStats: nsJSIID<nsICompressConvStats>;
15635   nsIResProtocolHandler: nsJSIID<nsIResProtocolHandler>;
15636   nsISubstitutingProtocolHandler: nsJSIID<nsISubstitutingProtocolHandler>;
15637   nsINamedPipeDataObserver: nsJSIID<nsINamedPipeDataObserver>;
15638   nsINamedPipeService: nsJSIID<nsINamedPipeService>;
15639   nsISocketProvider: nsJSIID<nsISocketProvider>;
15640   nsISocketProviderService: nsJSIID<nsISocketProviderService>;
15641   mozITXTToHTMLConv: nsJSIID<mozITXTToHTMLConv>;
15642   nsIDirIndex: nsJSIID<nsIDirIndex>;
15643   nsIDirIndexListener: nsJSIID<nsIDirIndexListener>;
15644   nsIDirIndexParser: nsJSIID<nsIDirIndexParser>;
15645   nsIStreamConverter: nsJSIID<nsIStreamConverter>;
15646   nsIStreamConverterService: nsJSIID<nsIStreamConverterService>;
15647   nsITXTToHTMLConv: nsJSIID<nsITXTToHTMLConv>;
15648   nsITransportProvider: nsJSIID<nsITransportProvider>;
15649   nsIWebSocketChannel: nsJSIID<nsIWebSocketChannel>;
15650   nsIWebSocketFrame: nsJSIID<nsIWebSocketFrame>;
15651   nsIWebSocketEventListener: nsJSIID<nsIWebSocketEventListener>;
15652   nsIWebSocketEventService: nsJSIID<nsIWebSocketEventService>;
15653   nsIWebSocketImpl: nsJSIID<nsIWebSocketImpl>;
15654   nsIWebSocketListener: nsJSIID<nsIWebSocketListener>;
15655   nsIWebTransport: nsJSIID<nsIWebTransport, typeof nsIWebTransport.WebTransportError>;
15656   WebTransportSessionEventListener: nsJSIID<WebTransportSessionEventListener, typeof WebTransportSessionEventListener.DatagramOutcome>;
15657   nsIWebTransportStreamCallback: nsJSIID<nsIWebTransportStreamCallback>;
15658   nsIWebTransportHash: nsJSIID<nsIWebTransportHash>;
15659   nsIWebTransportSendStreamStats: nsJSIID<nsIWebTransportSendStreamStats>;
15660   nsIWebTransportReceiveStreamStats: nsJSIID<nsIWebTransportReceiveStreamStats>;
15661   nsIWebTransportStreamStatsCallback: nsJSIID<nsIWebTransportStreamStatsCallback>;
15662   nsIWebTransportReceiveStream: nsJSIID<nsIWebTransportReceiveStream>;
15663   nsIWebTransportSendStream: nsJSIID<nsIWebTransportSendStream>;
15664   nsIWebTransportBidirectionalStream: nsJSIID<nsIWebTransportBidirectionalStream>;
15665   nsIWifiAccessPoint: nsJSIID<nsIWifiAccessPoint>;
15666   nsIWifiListener: nsJSIID<nsIWifiListener>;
15667   nsIWifiMonitor: nsJSIID<nsIWifiMonitor>;
15668   nsIParentalControlsService: nsJSIID<nsIParentalControlsService>;
15669   IPeerConnectionObserver: nsJSIID<IPeerConnectionObserver>;
15670   IPeerConnection: nsJSIID<IPeerConnection>;
15671   nsICertOverride: nsJSIID<nsICertOverride>;
15672   nsICertOverrideService: nsJSIID<nsICertOverrideService>;
15673   nsICertStorageCallback: nsJSIID<nsICertStorageCallback>;
15674   nsIRevocationState: nsJSIID<nsIRevocationState>;
15675   nsIIssuerAndSerialRevocationState: nsJSIID<nsIIssuerAndSerialRevocationState>;
15676   nsISubjectAndPubKeyRevocationState: nsJSIID<nsISubjectAndPubKeyRevocationState>;
15677   nsICRLiteCoverage: nsJSIID<nsICRLiteCoverage>;
15678   nsICertInfo: nsJSIID<nsICertInfo>;
15679   nsICertStorage: nsJSIID<nsICertStorage>;
15680   nsICertTreeItem: nsJSIID<nsICertTreeItem>;
15681   nsICertTree: nsJSIID<nsICertTree>;
15682   nsICertificateDialogs: nsJSIID<nsICertificateDialogs>;
15683   nsIClientAuthDialogCallback: nsJSIID<nsIClientAuthDialogCallback>;
15684   nsIClientAuthDialogService: nsJSIID<nsIClientAuthDialogService>;
15685   nsIClientAuthRememberRecord: nsJSIID<nsIClientAuthRememberRecord>;
15686   nsIClientAuthRememberService: nsJSIID<nsIClientAuthRememberService>;
15687   nsIContentSignatureVerifier: nsJSIID<nsIContentSignatureVerifier>;
15688   nsICryptoHash: nsJSIID<nsICryptoHash>;
15689   nsIDataStorageManager: nsJSIID<nsIDataStorageManager, typeof nsIDataStorageManager.DataStorage>;
15690   nsIDataStorage: nsJSIID<nsIDataStorage, typeof nsIDataStorage.DataType>;
15691   nsIDataStorageItem: nsJSIID<nsIDataStorageItem>;
15692   nsINSSComponent: nsJSIID<nsINSSComponent>;
15693   nsINSSErrorsService: nsJSIID<nsINSSErrorsService>;
15694   nsINSSVersion: nsJSIID<nsINSSVersion>;
15695   nsIOSKeyStore: nsJSIID<nsIOSKeyStore>;
15696   nsIOSReauthenticator: nsJSIID<nsIOSReauthenticator>;
15697   nsIPK11Token: nsJSIID<nsIPK11Token>;
15698   nsIPK11TokenDB: nsJSIID<nsIPK11TokenDB>;
15699   nsIPKCS11Module: nsJSIID<nsIPKCS11Module>;
15700   nsIPKCS11ModuleDB: nsJSIID<nsIPKCS11ModuleDB>;
15701   nsIPKCS11Slot: nsJSIID<nsIPKCS11Slot>;
15702   nsIPublicKeyPinningService: nsJSIID<nsIPublicKeyPinningService>;
15703   nsISecretDecoderRing: nsJSIID<nsISecretDecoderRing>;
15704   nsISecurityUITelemetry: nsJSIID<nsISecurityUITelemetry>;
15705   nsISiteSecurityService: nsJSIID<nsISiteSecurityService, typeof nsISiteSecurityService.ResetStateBy>;
15706   nsITLSSocketControl: nsJSIID<nsITLSSocketControl>;
15707   nsITokenPasswordDialogs: nsJSIID<nsITokenPasswordDialogs>;
15708   nsITransportSecurityInfo: nsJSIID<nsITransportSecurityInfo, typeof nsITransportSecurityInfo.OverridableErrorCategory>;
15709   nsIX509Cert: nsJSIID<nsIX509Cert>;
15710   nsIAppSignatureInfo: nsJSIID<nsIAppSignatureInfo, typeof nsIAppSignatureInfo.SignatureAlgorithm>;
15711   nsIOpenSignedAppFileCallback: nsJSIID<nsIOpenSignedAppFileCallback>;
15712   nsIAsyncBoolCallback: nsJSIID<nsIAsyncBoolCallback>;
15713   nsICertVerificationCallback: nsJSIID<nsICertVerificationCallback>;
15714   nsIX509CertDB: nsJSIID<nsIX509CertDB>;
15715   nsIX509CertValidity: nsJSIID<nsIX509CertValidity>;
15716   mozIVisitInfo: nsJSIID<mozIVisitInfo>;
15717   mozIPlaceInfo: nsJSIID<mozIPlaceInfo>;
15718   mozIVisitInfoCallback: nsJSIID<mozIVisitInfoCallback>;
15719   mozIVisitedStatusCallback: nsJSIID<mozIVisitedStatusCallback>;
15720   mozIAsyncHistory: nsJSIID<mozIAsyncHistory>;
15721   mozIPlacesAutoComplete: nsJSIID<mozIPlacesAutoComplete>;
15722   mozIPlacesPendingOperation: nsJSIID<mozIPlacesPendingOperation>;
15723   mozISyncedBookmarksMirrorProgressListener: nsJSIID<mozISyncedBookmarksMirrorProgressListener>;
15724   mozISyncedBookmarksMirrorCallback: nsJSIID<mozISyncedBookmarksMirrorCallback>;
15725   mozISyncedBookmarksMirrorLogger: nsJSIID<mozISyncedBookmarksMirrorLogger>;
15726   mozISyncedBookmarksMerger: nsJSIID<mozISyncedBookmarksMerger>;
15727   nsIFaviconService: nsJSIID<nsIFaviconService>;
15728   nsIFaviconDataCallback: nsJSIID<nsIFaviconDataCallback>;
15729   nsINavBookmarksService: nsJSIID<nsINavBookmarksService>;
15730   nsINavHistoryResultNode: nsJSIID<nsINavHistoryResultNode>;
15731   nsINavHistoryContainerResultNode: nsJSIID<nsINavHistoryContainerResultNode>;
15732   nsINavHistoryQueryResultNode: nsJSIID<nsINavHistoryQueryResultNode>;
15733   nsINavHistoryResultObserver: nsJSIID<nsINavHistoryResultObserver>;
15734   nsINavHistoryResult: nsJSIID<nsINavHistoryResult>;
15735   nsINavHistoryQuery: nsJSIID<nsINavHistoryQuery>;
15736   nsINavHistoryQueryOptions: nsJSIID<nsINavHistoryQueryOptions>;
15737   nsINavHistoryService: nsJSIID<nsINavHistoryService>;
15738   nsIPlacesPreviewsHelperService: nsJSIID<nsIPlacesPreviewsHelperService>;
15739   nsITaggingService: nsJSIID<nsITaggingService>;
15740   nsIPrefBranch: nsJSIID<nsIPrefBranch>;
15741   nsIPrefLocalizedString: nsJSIID<nsIPrefLocalizedString>;
15742   nsIPrefStatsCallback: nsJSIID<nsIPrefStatsCallback>;
15743   nsIPrefObserver: nsJSIID<nsIPrefObserver>;
15744   nsIPrefService: nsJSIID<nsIPrefService>;
15745   nsIRelativeFilePref: nsJSIID<nsIRelativeFilePref>;
15746   nsIPrefetchService: nsJSIID<nsIPrefetchService>;
15747   nsIProfilerStartParams: nsJSIID<nsIProfilerStartParams>;
15748   nsIProfiler: nsJSIID<nsIProfiler>;
15749   nsIRddProcessTest: nsJSIID<nsIRddProcessTest>;
15750   nsIMarionette: nsJSIID<nsIMarionette>;
15751   nsIRemoteAgent: nsJSIID<nsIRemoteAgent>;
15752   nsIApplicationReputationService: nsJSIID<nsIApplicationReputationService>;
15753   nsIApplicationReputationQuery: nsJSIID<nsIApplicationReputationQuery>;
15754   nsIApplicationReputationCallback: nsJSIID<nsIApplicationReputationCallback>;
15755   mozISandboxSettings: nsJSIID<mozISandboxSettings>;
15756   nsIFormFillController: nsJSIID<nsIFormFillController>;
15757   nsIFormFillCompleteObserver: nsJSIID<nsIFormFillCompleteObserver>;
15758   nsIFormHistoryAutoComplete: nsJSIID<nsIFormHistoryAutoComplete>;
15759   mozIAppServicesLogger: nsJSIID<mozIAppServicesLogger>;
15760   mozIBridgedSyncEngineCallback: nsJSIID<mozIBridgedSyncEngineCallback>;
15761   mozIBridgedSyncEngineApplyCallback: nsJSIID<mozIBridgedSyncEngineApplyCallback>;
15762   mozIBridgedSyncEngine: nsJSIID<mozIBridgedSyncEngine>;
15763   mozIInterruptible: nsJSIID<mozIInterruptible>;
15764   mozIServicesLogSink: nsJSIID<mozIServicesLogSink>;
15765   nsISessionStoreFunctions: nsJSIID<nsISessionStoreFunctions>;
15766   nsISessionStoreRestoreData: nsJSIID<nsISessionStoreRestoreData>;
15767   nsIShellService: nsJSIID<nsIShellService>;
15768   nsIWindowsShellService: nsJSIID<nsIWindowsShellService>;
15769   nsIBFCacheEntry: nsJSIID<nsIBFCacheEntry>;
15770   nsISHEntry: nsJSIID<nsISHEntry>;
15771   nsISHistory: nsJSIID<nsISHistory>;
15772   nsISHistoryListener: nsJSIID<nsISHistoryListener>;
15773   mozIPersonalDictionary: nsJSIID<mozIPersonalDictionary>;
15774   mozISpellCheckingEngine: nsJSIID<mozISpellCheckingEngine>;
15775   nsIStartupCacheInfo: nsJSIID<nsIStartupCacheInfo>;
15776   mozIStorageAsyncConnection: nsJSIID<mozIStorageAsyncConnection>;
15777   mozIStorageAsyncStatement: nsJSIID<mozIStorageAsyncStatement>;
15778   mozIStorageBaseStatement: nsJSIID<mozIStorageBaseStatement>;
15779   mozIStorageBindingParams: nsJSIID<mozIStorageBindingParams>;
15780   mozIStorageBindingParamsArray: nsJSIID<mozIStorageBindingParamsArray>;
15781   mozIStorageCompletionCallback: nsJSIID<mozIStorageCompletionCallback>;
15782   mozIStorageConnection: nsJSIID<mozIStorageConnection>;
15783   mozIStorageError: nsJSIID<mozIStorageError>;
15784   mozIStorageFunction: nsJSIID<mozIStorageFunction>;
15785   mozIStoragePendingStatement: nsJSIID<mozIStoragePendingStatement>;
15786   mozIStorageProgressHandler: nsJSIID<mozIStorageProgressHandler>;
15787   mozIStorageResultSet: nsJSIID<mozIStorageResultSet>;
15788   mozIStorageRow: nsJSIID<mozIStorageRow>;
15789   mozIStorageService: nsJSIID<mozIStorageService>;
15790   mozIStorageStatement: nsJSIID<mozIStorageStatement>;
15791   mozIStorageStatementCallback: nsJSIID<mozIStorageStatementCallback>;
15792   mozIStorageVacuumParticipant: nsJSIID<mozIStorageVacuumParticipant>;
15793   mozIStorageValueArray: nsJSIID<mozIStorageValueArray>;
15794   nsIWinTaskSchedulerService: nsJSIID<nsIWinTaskSchedulerService>;
15795   nsIFetchTelemetryDataCallback: nsJSIID<nsIFetchTelemetryDataCallback>;
15796   nsITelemetry: nsJSIID<nsITelemetry>;
15797   nsIDAPTelemetry: nsJSIID<nsIDAPTelemetry>;
15798   nsIHttpServer: nsJSIID<nsIHttpServer>;
15799   nsIHttpServerStoppedCallback: nsJSIID<nsIHttpServerStoppedCallback>;
15800   nsIHttpServerIdentity: nsJSIID<nsIHttpServerIdentity>;
15801   nsIHttpRequestHandler: nsJSIID<nsIHttpRequestHandler>;
15802   nsIHttpRequest: nsJSIID<nsIHttpRequest>;
15803   nsIHttpResponse: nsJSIID<nsIHttpResponse>;
15804   nsIPageThumbsStorageService: nsJSIID<nsIPageThumbsStorageService>;
15805   nsIProfileStartup: nsJSIID<nsIProfileStartup>;
15806   nsIProfileMigrator: nsJSIID<nsIProfileMigrator>;
15807   nsIProfileUnlocker: nsJSIID<nsIProfileUnlocker>;
15808   nsIProfileLock: nsJSIID<nsIProfileLock>;
15809   nsIToolkitProfile: nsJSIID<nsIToolkitProfile>;
15810   nsIToolkitProfileService: nsJSIID<nsIToolkitProfileService, typeof nsIToolkitProfileService.downgradeUIFlags & typeof nsIToolkitProfileService.downgradeUIChoice & typeof nsIToolkitProfileService.profileManagerResult>;
15811   nsIBounceTrackingProtection: nsJSIID<nsIBounceTrackingProtection>;
15812   nsIContentBlockingAllowList: nsJSIID<nsIContentBlockingAllowList>;
15813   nsIPartitioningExceptionListObserver: nsJSIID<nsIPartitioningExceptionListObserver>;
15814   nsIPartitioningExceptionListService: nsJSIID<nsIPartitioningExceptionListService>;
15815   nsIPurgeTrackerService: nsJSIID<nsIPurgeTrackerService>;
15816   nsITrackingDBService: nsJSIID<nsITrackingDBService>;
15817   nsIURLDecorationAnnotationsService: nsJSIID<nsIURLDecorationAnnotationsService>;
15818   nsIURLQueryStringStripper: nsJSIID<nsIURLQueryStringStripper>;
15819   nsIURLQueryStrippingListObserver: nsJSIID<nsIURLQueryStrippingListObserver>;
15820   nsIURLQueryStrippingListService: nsJSIID<nsIURLQueryStrippingListService>;
15821   nsIAsyncShutdownBlocker: nsJSIID<nsIAsyncShutdownBlocker>;
15822   nsIAsyncShutdownClient: nsJSIID<nsIAsyncShutdownClient>;
15823   nsIAsyncShutdownCompletionCallback: nsJSIID<nsIAsyncShutdownCompletionCallback>;
15824   nsIAsyncShutdownBarrier: nsJSIID<nsIAsyncShutdownBarrier>;
15825   nsIAsyncShutdownService: nsJSIID<nsIAsyncShutdownService>;
15826   nsIBackgroundTasks: nsJSIID<nsIBackgroundTasks>;
15827   nsIBackgroundTasksManager: nsJSIID<nsIBackgroundTasksManager>;
15828   nsIBackgroundTasksRunner: nsJSIID<nsIBackgroundTasksRunner>;
15829   nsIClearDataService: nsJSIID<nsIClearDataService>;
15830   nsIClearDataCallback: nsJSIID<nsIClearDataCallback>;
15831   nsIContentAnalysisAcknowledgement: nsJSIID<nsIContentAnalysisAcknowledgement, typeof nsIContentAnalysisAcknowledgement.Result & typeof nsIContentAnalysisAcknowledgement.FinalAction>;
15832   nsIContentAnalysisResponse: nsJSIID<nsIContentAnalysisResponse, typeof nsIContentAnalysisResponse.Action & typeof nsIContentAnalysisResponse.CancelError>;
15833   nsIClientDownloadResource: nsJSIID<nsIClientDownloadResource>;
15834   nsIContentAnalysisRequest: nsJSIID<nsIContentAnalysisRequest, typeof nsIContentAnalysisRequest.AnalysisType & typeof nsIContentAnalysisRequest.OperationType>;
15835   nsIContentAnalysisResult: nsJSIID<nsIContentAnalysisResult>;
15836   nsIContentAnalysisCallback: nsJSIID<nsIContentAnalysisCallback>;
15837   nsIContentAnalysisDiagnosticInfo: nsJSIID<nsIContentAnalysisDiagnosticInfo>;
15838   nsIContentAnalysis: nsJSIID<nsIContentAnalysis>;
15839   nsIClickRule: nsJSIID<nsIClickRule, typeof nsIClickRule.RunContext>;
15840   nsICookieBannerListService: nsJSIID<nsICookieBannerListService>;
15841   nsICookieBannerRule: nsJSIID<nsICookieBannerRule>;
15842   nsICookieBannerService: nsJSIID<nsICookieBannerService, typeof nsICookieBannerService.Modes>;
15843   nsICookieBannerTelemetryService: nsJSIID<nsICookieBannerTelemetryService>;
15844   nsICookieRule: nsJSIID<nsICookieRule>;
15845   nsICrashService: nsJSIID<nsICrashService>;
15846   nsIFinalizationWitnessService: nsJSIID<nsIFinalizationWitnessService>;
15847   nsIVisibleTab: nsJSIID<nsIVisibleTab>;
15848   nsIBrowserWindowTracker: nsJSIID<nsIBrowserWindowTracker>;
15849   nsIRegion: nsJSIID<nsIRegion>;
15850   nsIProcessToolsService: nsJSIID<nsIProcessToolsService>;
15851   nsIFingerprintingOverride: nsJSIID<nsIFingerprintingOverride>;
15852   nsIFingerprintingWebCompatService: nsJSIID<nsIFingerprintingWebCompatService>;
15853   nsIRFPService: nsJSIID<nsIRFPService>;
15854   nsIUserCharacteristicsPageService: nsJSIID<nsIUserCharacteristicsPageService>;
15855   nsISearchSubmission: nsJSIID<nsISearchSubmission>;
15856   nsISearchEngine: nsJSIID<nsISearchEngine>;
15857   nsISearchParseSubmissionResult: nsJSIID<nsISearchParseSubmissionResult>;
15858   nsISearchService: nsJSIID<nsISearchService>;
15859   nsIToolkitShellService: nsJSIID<nsIToolkitShellService>;
15860   nsITerminatorTest: nsJSIID<nsITerminatorTest>;
15861   nsIXULStore: nsJSIID<nsIXULStore>;
15862   nsITransaction: nsJSIID<nsITransaction>;
15863   nsITransactionManager: nsJSIID<nsITransactionManager>;
15864   nsIInlineSpellChecker: nsJSIID<nsIInlineSpellChecker>;
15865   nsIScriptableUnicodeConverter: nsJSIID<nsIScriptableUnicodeConverter>;
15866   nsITextToSubURI: nsJSIID<nsITextToSubURI>;
15867   nsIUpdateTimerManager: nsJSIID<nsIUpdateTimerManager>;
15868   nsIUpdatePatch: nsJSIID<nsIUpdatePatch>;
15869   nsIUpdate: nsJSIID<nsIUpdate>;
15870   nsIUpdateCheckResult: nsJSIID<nsIUpdateCheckResult>;
15871   nsIUpdateCheck: nsJSIID<nsIUpdateCheck>;
15872   nsIUpdateChecker: nsJSIID<nsIUpdateChecker>;
15873   nsIApplicationUpdateService: nsJSIID<nsIApplicationUpdateService>;
15874   nsIUpdateProcessor: nsJSIID<nsIUpdateProcessor>;
15875   nsIUpdateSyncManager: nsJSIID<nsIUpdateSyncManager>;
15876   nsIUpdateManager: nsJSIID<nsIUpdateManager>;
15877   nsIContentHandler: nsJSIID<nsIContentHandler>;
15878   nsIDocumentLoader: nsJSIID<nsIDocumentLoader>;
15879   nsITransfer: nsJSIID<nsITransfer>;
15880   nsIURIContentListener: nsJSIID<nsIURIContentListener>;
15881   nsIURILoader: nsJSIID<nsIURILoader>;
15882   nsIWebProgress: nsJSIID<nsIWebProgress>;
15883   nsIWebProgressListener: nsJSIID<nsIWebProgressListener>;
15884   nsIWebProgressListener2: nsJSIID<nsIWebProgressListener2>;
15885   nsIUrlClassifierBlockedChannel: nsJSIID<nsIUrlClassifierBlockedChannel>;
15886   nsIChannelClassifierService: nsJSIID<nsIChannelClassifierService>;
15887   nsIURIClassifierCallback: nsJSIID<nsIURIClassifierCallback>;
15888   nsIURIClassifier: nsJSIID<nsIURIClassifier>;
15889   nsIUrlClassifierExceptionListObserver: nsJSIID<nsIUrlClassifierExceptionListObserver>;
15890   nsIUrlClassifierExceptionListService: nsJSIID<nsIUrlClassifierExceptionListService>;
15891   nsIUrlClassifierFeature: nsJSIID<nsIUrlClassifierFeature, typeof nsIUrlClassifierFeature.listType & typeof nsIUrlClassifierFeature.URIType>;
15892   nsIUrlClassifierFeatureResult: nsJSIID<nsIUrlClassifierFeatureResult>;
15893   nsIUrlClassifierFeatureCallback: nsJSIID<nsIUrlClassifierFeatureCallback>;
15894   IUrlClassifierUITelemetry: nsJSIID<IUrlClassifierUITelemetry>;
15895   nsIUrlClassifierCallback: nsJSIID<nsIUrlClassifierCallback>;
15896   nsIUrlClassifierUpdateObserver: nsJSIID<nsIUrlClassifierUpdateObserver>;
15897   nsIUrlClassifierDBService: nsJSIID<nsIUrlClassifierDBService>;
15898   nsIFullHashMatch: nsJSIID<nsIFullHashMatch>;
15899   nsIUrlClassifierHashCompleterCallback: nsJSIID<nsIUrlClassifierHashCompleterCallback>;
15900   nsIUrlClassifierHashCompleter: nsJSIID<nsIUrlClassifierHashCompleter>;
15901   nsIUrlClassifierPositiveCacheEntry: nsJSIID<nsIUrlClassifierPositiveCacheEntry>;
15902   nsIUrlClassifierCacheEntry: nsJSIID<nsIUrlClassifierCacheEntry>;
15903   nsIUrlClassifierCacheInfo: nsJSIID<nsIUrlClassifierCacheInfo>;
15904   nsIUrlClassifierGetCacheCallback: nsJSIID<nsIUrlClassifierGetCacheCallback>;
15905   nsIUrlClassifierInfo: nsJSIID<nsIUrlClassifierInfo>;
15906   nsIUrlClassifierPrefixSet: nsJSIID<nsIUrlClassifierPrefixSet>;
15907   nsIUrlClassifierRemoteSettingsService: nsJSIID<nsIUrlClassifierRemoteSettingsService>;
15908   nsIUrlClassifierStreamUpdater: nsJSIID<nsIUrlClassifierStreamUpdater>;
15909   nsIUrlClassifierParseFindFullHashCallback: nsJSIID<nsIUrlClassifierParseFindFullHashCallback>;
15910   nsIUrlClassifierUtils: nsJSIID<nsIUrlClassifierUtils>;
15911   nsIUrlListManager: nsJSIID<nsIUrlListManager>;
15912   nsIURLFormatter: nsJSIID<nsIURLFormatter>;
15913   nsIUtilityProcessTest: nsJSIID<nsIUtilityProcessTest>;
15914   nsIWebBrowserPersist: nsJSIID<nsIWebBrowserPersist>;
15915   nsIWebBrowserPersistURIMap: nsJSIID<nsIWebBrowserPersistURIMap>;
15916   nsIWebBrowserPersistDocument: nsJSIID<nsIWebBrowserPersistDocument>;
15917   nsIWebBrowserPersistResourceVisitor: nsJSIID<nsIWebBrowserPersistResourceVisitor>;
15918   nsIWebBrowserPersistWriteCompletion: nsJSIID<nsIWebBrowserPersistWriteCompletion>;
15919   nsIWebBrowserPersistDocumentReceiver: nsJSIID<nsIWebBrowserPersistDocumentReceiver>;
15920   nsIWebBrowser: nsJSIID<nsIWebBrowser>;
15921   nsIWebBrowserChrome: nsJSIID<nsIWebBrowserChrome>;
15922   nsIWebBrowserChromeFocus: nsJSIID<nsIWebBrowserChromeFocus>;
15923   nsIWebBrowserPrint: nsJSIID<nsIWebBrowserPrint>;
15924   mozIExtensionStorageArea: nsJSIID<mozIExtensionStorageArea>;
15925   mozIConfigurableExtensionStorageArea: nsJSIID<mozIConfigurableExtensionStorageArea>;
15926   mozISyncedExtensionStorageArea: nsJSIID<mozISyncedExtensionStorageArea>;
15927   mozIExtensionStorageListener: nsJSIID<mozIExtensionStorageListener>;
15928   mozIExtensionStorageCallback: nsJSIID<mozIExtensionStorageCallback>;
15929   extIWebNavigation: nsJSIID<extIWebNavigation>;
15930   mozIExtensionServiceWorkerInfo: nsJSIID<mozIExtensionServiceWorkerInfo>;
15931   mozIExtensionListenerCallOptions: nsJSIID<mozIExtensionListenerCallOptions, typeof mozIExtensionListenerCallOptions.APIObjectType & typeof mozIExtensionListenerCallOptions.CallbackType>;
15932   mozIExtensionEventListener: nsJSIID<mozIExtensionEventListener>;
15933   mozIExtensionAPIRequest: nsJSIID<mozIExtensionAPIRequest, typeof mozIExtensionAPIRequest.RequestType>;
15934   mozIExtensionAPIRequestResult: nsJSIID<mozIExtensionAPIRequestResult, typeof mozIExtensionAPIRequestResult.ResultType>;
15935   mozIExtensionAPIRequestHandler: nsJSIID<mozIExtensionAPIRequestHandler>;
15936   mozIExtensionProcessScript: nsJSIID<mozIExtensionProcessScript>;
15937   nsIWebVTTListener: nsJSIID<nsIWebVTTListener>;
15938   nsIWebVTTParserWrapper: nsJSIID<nsIWebVTTParserWrapper>;
15939   nsIBaseWindow: nsJSIID<nsIBaseWindow>;
15940   nsIBidiKeyboard: nsJSIID<nsIBidiKeyboard>;
15941   nsIAsyncSetClipboardData: nsJSIID<nsIAsyncSetClipboardData>;
15942   nsIAsyncClipboardRequestCallback: nsJSIID<nsIAsyncClipboardRequestCallback>;
15943   nsIAsyncGetClipboardData: nsJSIID<nsIAsyncGetClipboardData>;
15944   nsIAsyncClipboardGetCallback: nsJSIID<nsIAsyncClipboardGetCallback>;
15945   nsIClipboard: nsJSIID<nsIClipboard>;
15946   nsIClipboardHelper: nsJSIID<nsIClipboardHelper, typeof nsIClipboardHelper.SensitiveData>;
15947   nsIClipboardOwner: nsJSIID<nsIClipboardOwner>;
15948   nsIColorPickerShownCallback: nsJSIID<nsIColorPickerShownCallback>;
15949   nsIColorPicker: nsJSIID<nsIColorPicker>;
15950   nsIDisplayInfo: nsJSIID<nsIDisplayInfo>;
15951   nsIDragService: nsJSIID<nsIDragService>;
15952   nsIDragSession: nsJSIID<nsIDragSession>;
15953   nsIFilePicker: nsJSIID<nsIFilePicker, typeof nsIFilePicker.Mode & typeof nsIFilePicker.ResultCode & typeof nsIFilePicker.CaptureTarget>;
15954   nsIFilePickerShownCallback: nsJSIID<nsIFilePickerShownCallback>;
15955   nsIFormatConverter: nsJSIID<nsIFormatConverter>;
15956   nsIGfxInfo: nsJSIID<nsIGfxInfo, typeof nsIGfxInfo.FontVisibilityDeviceDetermination>;
15957   nsIGfxInfoDebug: nsJSIID<nsIGfxInfoDebug>;
15958   nsIJumpListBuilder: nsJSIID<nsIJumpListBuilder>;
15959   nsILegacyJumpListCommittedCallback: nsJSIID<nsILegacyJumpListCommittedCallback>;
15960   nsILegacyJumpListBuilder: nsJSIID<nsILegacyJumpListBuilder>;
15961   nsILegacyJumpListItem: nsJSIID<nsILegacyJumpListItem>;
15962   nsILegacyJumpListSeparator: nsJSIID<nsILegacyJumpListSeparator>;
15963   nsILegacyJumpListLink: nsJSIID<nsILegacyJumpListLink>;
15964   nsILegacyJumpListShortcut: nsJSIID<nsILegacyJumpListShortcut>;
15965   nsIPaper: nsJSIID<nsIPaper>;
15966   nsIPaperMargin: nsJSIID<nsIPaperMargin>;
15967   nsIPrintDialogService: nsJSIID<nsIPrintDialogService>;
15968   nsIPrintSettings: nsJSIID<nsIPrintSettings, typeof nsIPrintSettings.OutputDestinationType>;
15969   nsIPrintSettingsService: nsJSIID<nsIPrintSettingsService>;
15970   nsIPrinterInfo: nsJSIID<nsIPrinterInfo>;
15971   nsIPrinter: nsJSIID<nsIPrinter>;
15972   nsIPrinterList: nsJSIID<nsIPrinterList>;
15973   nsIScreen: nsJSIID<nsIScreen>;
15974   nsIScreenManager: nsJSIID<nsIScreenManager>;
15975   nsISharePicker: nsJSIID<nsISharePicker>;
15976   nsISound: nsJSIID<nsISound>;
15977   nsISystemStatusBar: nsJSIID<nsISystemStatusBar>;
15978   nsITaskbarOverlayIconController: nsJSIID<nsITaskbarOverlayIconController>;
15979   nsITaskbarPreview: nsJSIID<nsITaskbarPreview>;
15980   nsITaskbarPreviewButton: nsJSIID<nsITaskbarPreviewButton>;
15981   nsITaskbarPreviewCallback: nsJSIID<nsITaskbarPreviewCallback>;
15982   nsITaskbarPreviewController: nsJSIID<nsITaskbarPreviewController>;
15983   nsITaskbarProgress: nsJSIID<nsITaskbarProgress>;
15984   nsITaskbarTabPreview: nsJSIID<nsITaskbarTabPreview>;
15985   nsITaskbarWindowPreview: nsJSIID<nsITaskbarWindowPreview>;
15986   nsIFlavorDataProvider: nsJSIID<nsIFlavorDataProvider>;
15987   nsITransferable: nsJSIID<nsITransferable>;
15988   nsIUserIdleService: nsJSIID<nsIUserIdleService>;
15989   nsIUserIdleServiceInternal: nsJSIID<nsIUserIdleServiceInternal>;
15990   nsIWinTaskbar: nsJSIID<nsIWinTaskbar>;
15991   nsIWindowsUIUtils: nsJSIID<nsIWindowsUIUtils>;
15992   nsIWindowCreator: nsJSIID<nsIWindowCreator>;
15993   nsIWindowProvider: nsJSIID<nsIWindowProvider>;
15994   nsIWindowsPackageManager: nsJSIID<nsIWindowsPackageManager>;
15995   nsIDialogParamBlock: nsJSIID<nsIDialogParamBlock>;
15996   nsIOpenWindowInfo: nsJSIID<nsIOpenWindowInfo>;
15997   nsIPromptCollection: nsJSIID<nsIPromptCollection>;
15998   nsIPromptFactory: nsJSIID<nsIPromptFactory>;
15999   nsIPromptService: nsJSIID<nsIPromptService>;
16000   nsIWindowWatcher: nsJSIID<nsIWindowWatcher>;
16001   nsIScriptableOK: nsJSIID<nsIScriptableOK>;
16002   nsIScriptableWithNotXPCOM: nsJSIID<nsIScriptableWithNotXPCOM>;
16003   nsITabUnloader: nsJSIID<nsITabUnloader>;
16004   nsIAvailableMemoryWatcherBase: nsJSIID<nsIAvailableMemoryWatcherBase>;
16005   nsIConsoleListener: nsJSIID<nsIConsoleListener>;
16006   nsIConsoleMessage: nsJSIID<nsIConsoleMessage>;
16007   nsIConsoleService: nsJSIID<nsIConsoleService, typeof nsIConsoleService.OutputMode>;
16008   nsICycleCollectorHandler: nsJSIID<nsICycleCollectorHandler>;
16009   nsICycleCollectorLogSink: nsJSIID<nsICycleCollectorLogSink>;
16010   nsICycleCollectorListener: nsJSIID<nsICycleCollectorListener>;
16011   nsIDebug2: nsJSIID<nsIDebug2>;
16012   nsIStackFrame: nsJSIID<nsIStackFrame>;
16013   nsIException: nsJSIID<nsIException>;
16014   nsIInterfaceRequestor: nsJSIID<nsIInterfaceRequestor>;
16015   nsIFinishDumpingCallback: nsJSIID<nsIFinishDumpingCallback>;
16016   nsIDumpGCAndCCLogsCallback: nsJSIID<nsIDumpGCAndCCLogsCallback>;
16017   nsIMemoryInfoDumper: nsJSIID<nsIMemoryInfoDumper>;
16018   nsIHandleReportCallback: nsJSIID<nsIHandleReportCallback>;
16019   nsIMemoryReporter: nsJSIID<nsIMemoryReporter>;
16020   nsIFinishReportingCallback: nsJSIID<nsIFinishReportingCallback>;
16021   nsIHeapAllocatedCallback: nsJSIID<nsIHeapAllocatedCallback>;
16022   nsIMemoryReporterManager: nsJSIID<nsIMemoryReporterManager>;
16023   nsISupports: nsJSIID<nsISupports>;
16024   nsIUUIDGenerator: nsJSIID<nsIUUIDGenerator>;
16025   nsIVersionComparator: nsJSIID<nsIVersionComparator>;
16026   nsIWeakReference: nsJSIID<nsIWeakReference>;
16027   nsISupportsWeakReference: nsJSIID<nsISupportsWeakReference>;
16028   nsICategoryEntry: nsJSIID<nsICategoryEntry>;
16029   nsICategoryManager: nsJSIID<nsICategoryManager>;
16030   nsIClassInfo: nsJSIID<nsIClassInfo>;
16031   nsIComponentManager: nsJSIID<nsIComponentManager>;
16032   nsIComponentRegistrar: nsJSIID<nsIComponentRegistrar>;
16033   nsIFactory: nsJSIID<nsIFactory>;
16034   nsIServiceManager: nsJSIID<nsIServiceManager>;
16035   nsIArray: nsJSIID<nsIArray>;
16036   nsIArrayExtensions: nsJSIID<nsIArrayExtensions>;
16037   nsIINIParser: nsJSIID<nsIINIParser>;
16038   nsIINIParserWriter: nsJSIID<nsIINIParserWriter>;
16039   nsIINIParserFactory: nsJSIID<nsIINIParserFactory>;
16040   nsIMutableArray: nsJSIID<nsIMutableArray>;
16041   nsIObserver: nsJSIID<nsIObserver>;
16042   nsIObserverService: nsJSIID<nsIObserverService>;
16043   nsIPropertyElement: nsJSIID<nsIPropertyElement>;
16044   nsIPersistentProperties: nsJSIID<nsIPersistentProperties>;
16045   nsIProperties: nsJSIID<nsIProperties>;
16046   nsIProperty: nsJSIID<nsIProperty>;
16047   nsIPropertyBag: nsJSIID<nsIPropertyBag>;
16048   nsIPropertyBag2: nsJSIID<nsIPropertyBag2>;
16049   nsISerializable: nsJSIID<nsISerializable>;
16050   nsIJSEnumerator: nsJSIID<nsIJSEnumerator>;
16051   nsISimpleEnumeratorBase: nsJSIID<nsISimpleEnumeratorBase>;
16052   nsISimpleEnumerator: nsJSIID<nsISimpleEnumerator>;
16053   nsIStringEnumeratorBase: nsJSIID<nsIStringEnumeratorBase>;
16054   nsIStringEnumerator: nsJSIID<nsIStringEnumerator>;
16055   nsIUTF8StringEnumerator: nsJSIID<nsIUTF8StringEnumerator>;
16056   nsIOutputIterator: nsJSIID<nsIOutputIterator>;
16057   nsIInputIterator: nsJSIID<nsIInputIterator>;
16058   nsIForwardIterator: nsJSIID<nsIForwardIterator>;
16059   nsIBidirectionalIterator: nsJSIID<nsIBidirectionalIterator>;
16060   nsIRandomAccessIterator: nsJSIID<nsIRandomAccessIterator>;
16061   nsISupportsPrimitive: nsJSIID<nsISupportsPrimitive>;
16062   nsISupportsID: nsJSIID<nsISupportsID>;
16063   nsISupportsCString: nsJSIID<nsISupportsCString>;
16064   nsISupportsString: nsJSIID<nsISupportsString>;
16065   nsISupportsPRBool: nsJSIID<nsISupportsPRBool>;
16066   nsISupportsPRUint8: nsJSIID<nsISupportsPRUint8>;
16067   nsISupportsPRUint16: nsJSIID<nsISupportsPRUint16>;
16068   nsISupportsPRUint32: nsJSIID<nsISupportsPRUint32>;
16069   nsISupportsPRUint64: nsJSIID<nsISupportsPRUint64>;
16070   nsISupportsPRTime: nsJSIID<nsISupportsPRTime>;
16071   nsISupportsChar: nsJSIID<nsISupportsChar>;
16072   nsISupportsPRInt16: nsJSIID<nsISupportsPRInt16>;
16073   nsISupportsPRInt32: nsJSIID<nsISupportsPRInt32>;
16074   nsISupportsPRInt64: nsJSIID<nsISupportsPRInt64>;
16075   nsISupportsFloat: nsJSIID<nsISupportsFloat>;
16076   nsISupportsDouble: nsJSIID<nsISupportsDouble>;
16077   nsISupportsInterfacePointer: nsJSIID<nsISupportsInterfacePointer>;
16078   nsIVariant: nsJSIID<nsIVariant>;
16079   nsIWritableVariant: nsJSIID<nsIWritableVariant>;
16080   nsIWindowsRegKey: nsJSIID<nsIWindowsRegKey>;
16081   nsIWritablePropertyBag: nsJSIID<nsIWritablePropertyBag>;
16082   nsIWritablePropertyBag2: nsJSIID<nsIWritablePropertyBag2>;
16083   nsIAsyncInputStream: nsJSIID<nsIAsyncInputStream>;
16084   nsIInputStreamCallback: nsJSIID<nsIInputStreamCallback>;
16085   nsIAsyncOutputStream: nsJSIID<nsIAsyncOutputStream>;
16086   nsIOutputStreamCallback: nsJSIID<nsIOutputStreamCallback>;
16087   nsIBinaryInputStream: nsJSIID<nsIBinaryInputStream>;
16088   nsIBinaryOutputStream: nsJSIID<nsIBinaryOutputStream>;
16089   nsICloneableInputStream: nsJSIID<nsICloneableInputStream>;
16090   nsICloneableInputStreamWithRange: nsJSIID<nsICloneableInputStreamWithRange>;
16091   nsIConverterInputStream: nsJSIID<nsIConverterInputStream>;
16092   nsIConverterOutputStream: nsJSIID<nsIConverterOutputStream>;
16093   nsIDirectoryEnumerator: nsJSIID<nsIDirectoryEnumerator>;
16094   nsIDirectoryServiceProvider: nsJSIID<nsIDirectoryServiceProvider>;
16095   nsIDirectoryServiceProvider2: nsJSIID<nsIDirectoryServiceProvider2>;
16096   nsIDirectoryService: nsJSIID<nsIDirectoryService>;
16097   nsIFile: nsJSIID<nsIFile>;
16098   nsIIOUtil: nsJSIID<nsIIOUtil>;
16099   nsIInputStream: nsJSIID<nsIInputStream>;
16100   nsIInputStreamPriority: nsJSIID<nsIInputStreamPriority>;
16101   nsIInputStreamTee: nsJSIID<nsIInputStreamTee>;
16102   nsILineInputStream: nsJSIID<nsILineInputStream>;
16103   nsILocalFileWin: nsJSIID<nsILocalFileWin>;
16104   nsIMultiplexInputStream: nsJSIID<nsIMultiplexInputStream>;
16105   nsIObjectInputStream: nsJSIID<nsIObjectInputStream>;
16106   nsIObjectOutputStream: nsJSIID<nsIObjectOutputStream>;
16107   nsIOutputStream: nsJSIID<nsIOutputStream>;
16108   nsIPipe: nsJSIID<nsIPipe>;
16109   nsISearchableInputStream: nsJSIID<nsISearchableInputStream>;
16110   nsIRandomAccessStream: nsJSIID<nsIRandomAccessStream>;
16111   nsISafeOutputStream: nsJSIID<nsISafeOutputStream>;
16112   nsIScriptableBase64Encoder: nsJSIID<nsIScriptableBase64Encoder>;
16113   nsIScriptableInputStream: nsJSIID<nsIScriptableInputStream>;
16114   nsISeekableStream: nsJSIID<nsISeekableStream>;
16115   nsIStorageStream: nsJSIID<nsIStorageStream>;
16116   nsIStreamBufferAccess: nsJSIID<nsIStreamBufferAccess>;
16117   nsIStringInputStream: nsJSIID<nsIStringInputStream>;
16118   nsITellableStream: nsJSIID<nsITellableStream>;
16119   nsIUnicharInputStream: nsJSIID<nsIUnicharInputStream>;
16120   nsIUnicharLineInputStream: nsJSIID<nsIUnicharLineInputStream>;
16121   nsIUnicharOutputStream: nsJSIID<nsIUnicharOutputStream>;
16122   nsIBlocklistService: nsJSIID<nsIBlocklistService>;
16123   nsICrashReporter: nsJSIID<nsICrashReporter>;
16124   nsIDeviceSensorData: nsJSIID<nsIDeviceSensorData>;
16125   nsIDeviceSensors: nsJSIID<nsIDeviceSensors>;
16126   nsIGIOMimeApp: nsJSIID<nsIGIOMimeApp>;
16127   nsIGIOService: nsJSIID<nsIGIOService>;
16128   nsIGSettingsCollection: nsJSIID<nsIGSettingsCollection>;
16129   nsIGSettingsService: nsJSIID<nsIGSettingsService>;
16130   nsIGeolocationUpdate: nsJSIID<nsIGeolocationUpdate>;
16131   nsIGeolocationProvider: nsJSIID<nsIGeolocationProvider>;
16132   nsIHapticFeedback: nsJSIID<nsIHapticFeedback>;
16133   nsIPlatformInfo: nsJSIID<nsIPlatformInfo>;
16134   nsISystemInfo: nsJSIID<nsISystemInfo>;
16135   nsIXULAppInfo: nsJSIID<nsIXULAppInfo>;
16136   nsIXULRuntime: nsJSIID<nsIXULRuntime, typeof nsIXULRuntime.ExperimentStatus & typeof nsIXULRuntime.ContentWin32kLockdownState & typeof nsIXULRuntime.FissionDecisionStatus>;
16137   nsIEnvironment: nsJSIID<nsIEnvironment>;
16138   nsIEventTarget: nsJSIID<nsIEventTarget>;
16139   nsINamed: nsJSIID<nsINamed>;
16140   nsIProcess: nsJSIID<nsIProcess>;
16141   nsIRunnable: nsJSIID<nsIRunnable>;
16142   nsIRunnablePriority: nsJSIID<nsIRunnablePriority>;
16143   nsISerialEventTarget: nsJSIID<nsISerialEventTarget>;
16144   nsISupportsPriority: nsJSIID<nsISupportsPriority>;
16145   nsIThread: nsJSIID<nsIThread, typeof nsIThread.QoSPriority>;
16146   nsINestedEventLoopCondition: nsJSIID<nsINestedEventLoopCondition>;
16147   nsIThreadManager: nsJSIID<nsIThreadManager>;
16148   nsIThreadShutdown: nsJSIID<nsIThreadShutdown>;
16149   nsITimerCallback: nsJSIID<nsITimerCallback>;
16150   nsITimer: nsJSIID<nsITimer>;
16151   nsITimerManager: nsJSIID<nsITimerManager>;
16152   mozIJSSubScriptLoader: nsJSIID<mozIJSSubScriptLoader>;
16153   xpcIJSWeakReference: nsJSIID<xpcIJSWeakReference>;
16154   nsIXPCComponents_Classes: nsJSIID<nsIXPCComponents_Classes>;
16155   nsIXPCComponents_Results: nsJSIID<nsIXPCComponents_Results>;
16156   nsIXPCComponents_ID: nsJSIID<nsIXPCComponents_ID>;
16157   nsIXPCComponents_Exception: nsJSIID<nsIXPCComponents_Exception>;
16158   nsIXPCComponents_Constructor: nsJSIID<nsIXPCComponents_Constructor>;
16159   nsIXPCComponents_utils_Sandbox: nsJSIID<nsIXPCComponents_utils_Sandbox>;
16160   nsIScheduledGCCallback: nsJSIID<nsIScheduledGCCallback>;
16161   nsIXPCComponents_Utils: nsJSIID<nsIXPCComponents_Utils>;
16162   nsIXPCComponents: nsJSIID<nsIXPCComponents>;
16163   nsIXPCTestObjectReadOnly: nsJSIID<nsIXPCTestObjectReadOnly>;
16164   nsIXPCTestObjectReadWrite: nsJSIID<nsIXPCTestObjectReadWrite>;
16165   nsIXPCTestBug809674: nsJSIID<nsIXPCTestBug809674>;
16166   nsIXPCTestCEnums: nsJSIID<nsIXPCTestCEnums, typeof nsIXPCTestCEnums.testFlagsExplicit & typeof nsIXPCTestCEnums.testFlagsImplicit>;
16167   nsIXPCTestInterfaceA: nsJSIID<nsIXPCTestInterfaceA>;
16168   nsIXPCTestInterfaceB: nsJSIID<nsIXPCTestInterfaceB>;
16169   nsIXPCTestInterfaceC: nsJSIID<nsIXPCTestInterfaceC>;
16170   nsIXPCTestParams: nsJSIID<nsIXPCTestParams>;
16171   nsIXPCTestReturnCodeParent: nsJSIID<nsIXPCTestReturnCodeParent>;
16172   nsIXPCTestReturnCodeChild: nsJSIID<nsIXPCTestReturnCodeChild>;
16173   nsIXPCTestFunctionInterface: nsJSIID<nsIXPCTestFunctionInterface>;
16174   nsIXPCTestUtils: nsJSIID<nsIXPCTestUtils>;
16175   nsIXPCTestTypeScript: nsJSIID<nsIXPCTestTypeScript>;
16176   nsIBrowserController: nsJSIID<nsIBrowserController>;
16177   nsIController: nsJSIID<nsIController>;
16178   nsICommandController: nsJSIID<nsICommandController>;
16179   nsIControllers: nsJSIID<nsIControllers>;
16180   nsINativeAppSupport: nsJSIID<nsINativeAppSupport>;
16181   nsIWinAppHelper: nsJSIID<nsIWinAppHelper>;
16182   nsIXREDirProvider: nsJSIID<nsIXREDirProvider>;
16183   nsIZipWriter: nsJSIID<nsIZipWriter>;
16186 }  // global
16188 // Typedefs from xpidl.
16189 type AccessibleTextBoundary = i32;
16190 type AppTrustedRoot = u32;
16191 type COSEAlgorithmIdentifier = i32;
16192 type CSPDirective = nsIContentSecurityPolicy.CSPDirective;
16193 type DOMHighResTimeStamp = double;
16194 type DOMTimeStamp = u64;
16195 type EpochTimeStamp = u64;
16196 type PRTime = i64;
16197 type PivotMoveReason = i16;
16198 type PredictorLearnReason = u32;
16199 type PredictorPredictReason = u32;
16200 type nsBitsErrorAction = i32;
16201 type nsBitsErrorStage = i32;
16202 type nsBitsErrorType = i32;
16203 type nsContentPolicyType = nsIContentPolicy.nsContentPolicyType;
16204 type nsCookieAccess = i32;
16205 type nsCookiePolicy = i32;
16206 type nsCookieStatus = i32;
16207 type nsHandlerInfoAction = i32;
16208 type nsLoadFlags = u32;
16209 type nsProxyUsage = i32;
16210 type nsSecurityFlags = u32;
16211 type nsServerSocketFlag = u32;
16212 type nsSuspendedTypes = u32;
16213 type nsTaskbarProgressState = i32;
16214 type nsViewID = u64;
16217  * Gecko XPCOM builtins.
16218  */
16219 declare global {
16220   /**
16221    * Generic IDs are created by most code which passes a nsID to js.
16222    * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#24
16223    */
16224   interface nsID<uuid = string> {
16225     readonly number: uuid;
16226   }
16228   /**
16229    * In addition to nsID, interface IIDs support instanceof type guards,
16230    * and expose constants defined on the class, including variants from enums.
16231    * https://searchfox.org/mozilla-central/source/js/xpconnect/src/XPCJSID.cpp#45
16232    */
16233   type nsJSIID<iface, enums = {}> = nsID & Constants<iface> & enums & {
16234     new (_: never): void;
16235     prototype: iface;
16236   }
16238   /** A union type of all known interface IIDs. */
16239   type nsIID = nsIXPCComponents_Interfaces[keyof nsIXPCComponents_Interfaces];
16241   /** A generic to resolve QueryInterface return type from a nsIID. */
16242   export type nsQIResult<iid> = iid extends { prototype: infer U } ? U : never;
16244   /** u32 */
16245   type nsresult = u32;
16247   // Numeric typedefs, useful as a quick reference in method signatures.
16248   type double = number;
16249   type float = number;
16250   type i16 = number;
16251   type i32 = number;
16252   type i64 = number;
16253   type u16 = number;
16254   type u32 = number;
16255   type u64 = number;
16256   type u8 = number;
16260  * XPCOM utility types.
16261  */
16263 /** XPCOM inout param is passed in as a js object with a value property. */
16264 type InOutParam<T> = { value: T };
16266 /** XPCOM out param is written to the passed in object's value property. */
16267 type OutParam<T> = { value?: T };
16269 /** A named type to enable interfaces to inherit from enums. */
16270 type Enums<enums> = enums;
16272 /** Callable accepts either form of a [function] interface. */
16273 type Callable<iface> = iface | Extract<iface[keyof iface], Function>
16275 /** Picks only const number properties from T. */
16276 type Constants<T> = { [K in keyof T as IfConst<K, T[K]>]: T[K] };
16278 /** Resolves only for keys K whose corresponding type T is a narrow number. */
16279 type IfConst<K, T> = T extends number ? (number extends T ? never : K) : never;
16281 export {};