@@ -251,8 +251,149 @@ interface nsIWindowMediator {
251251
252252declare var MozElements : MozElements ;
253253
254- // TODO(glide-types)
255- declare type BrowserTab = any ;
254+ interface BrowserTab extends MozTabbrowserTab {
255+ _glide_commandline : GlideCommandLine | null ;
256+ }
257+ // Source browser/components/tabbrowser/content/tab.js
258+ interface MozTabbrowserTab extends XULElement {
259+ // Source toolkit/content/customElements.js
260+ disabled : boolean ;
261+ tabIndex : number ;
262+ // Source toolkit/content/customElements.js
263+ label : string ;
264+ image : string ;
265+ command : string ;
266+ accessKey : string ;
267+ // Source toolkit/content/widgets/tabbox.js
268+ value : string ;
269+ container : MozTabbrowserTabs ;
270+ control : MozTabbrowserTabs ;
271+ selected : boolean ;
272+ visible : boolean ;
273+ linkedPanel : string ;
274+ // Source browser/components/tabbrowser/content/tab.js
275+ closing : boolean ;
276+ pinned : boolean ;
277+ isOpen : boolean ;
278+ readonly hidden : boolean ;
279+ muted : boolean ;
280+ multiselected : boolean ;
281+ userContextId : number ;
282+ soundPlaying : boolean ;
283+ pictureinpicture : boolean ;
284+ activeMediaBlocked : boolean ;
285+ undiscardable : boolean ;
286+ animationsEnabled : boolean ;
287+ isEmpty : boolean ;
288+ lastAccessed : number ;
289+ lastSeenActive : number ;
290+ attention : boolean ;
291+ owner : MozTabbrowserTab | null ;
292+ elementIndex : number ;
293+ group : MozTabbrowserTabGroup | null ;
294+ splitview : GlobalBrowser . MozTabSplitViewWrapper | null ;
295+ hasTabNote : boolean ;
296+ muteReason : string | undefined | null ;
297+
298+ readonly overlayIcon : Element | null ;
299+ readonly audioButton : Element | null ;
300+ readonly throbber : Element | null ;
301+ readonly iconImage : Element | null ;
302+ readonly sharingIcon : Element | null ;
303+ readonly textLabel : Element | null ;
304+ readonly closeButton : Element | null ;
305+ readonly noteIcon : Element | null ;
306+ readonly noteIconOverlay : Element | null ;
307+
308+ initialize ( ) : void ;
309+ updateLastAccessed ( date ?: number ) : void ;
310+ updateLastSeenActive ( ) : void ;
311+ updateLastUnloadedByTabUnloader ( ) : void ;
312+ recordTimeFromUnloadToReload ( ) : void ;
313+ toggleMuteAudio ( muteReason ?: string | null ) : void ;
314+ resumeDelayedMedia ( ) : void ;
315+ setUserContextId ( userContextId : number ) : void ;
316+ updateA11yDescription ( ) : void ;
317+ updateSplitViewAriaLabel ( index : number ) : void ;
318+ // Dynamically set by tabbrowser.js
319+ linkedBrowser : GlobalBrowser . GlobalBrowser | null ;
320+ permanentKey : object | undefined ;
321+ description : string | undefined ;
322+ successor : MozTabbrowserTab | null ;
323+ predecessors : Set < MozTabbrowserTab > ;
324+ initializingTab : boolean | undefined ;
325+ openerTab : MozTabbrowserTab | undefined ;
326+ addedByAdoption : boolean | undefined ;
327+ removedByAdoption : boolean | undefined ;
328+ collapsed : boolean ;
329+ }
330+
331+ // Source browser/components/tabbrowser/content/tabgroup.js
332+ interface MozTabbrowserTabGroup extends XULElement {
333+ overflowContainer : XULElement ;
334+ saveOnWindowClose : boolean ;
335+
336+ color : string ;
337+ defaultGroupName : string ;
338+ id : string ;
339+ hasActiveTab : boolean ;
340+ label : string ;
341+ name : string ;
342+ collapsed : boolean ;
343+ lastSeenActive : number ;
344+ tabs : MozTabbrowserTab [ ] ;
345+ tabsAndSplitViews : ( MozTabbrowserTab | GlobalBrowser . MozTabSplitViewWrapper ) [ ] ;
346+ labelElement : Element ;
347+ labelContainerElement : XULElement ;
348+ overflowCountLabel : Element ;
349+ wasCreatedByAdoption : boolean ;
350+ isBeingDragged : boolean ;
351+ hoverPreviewPanelActive : boolean ;
352+
353+ addTabs (
354+ tabsOrSplitViews : ( MozTabbrowserTab | GlobalBrowser . MozTabSplitViewWrapper ) [ ] ,
355+ metricsContext ?: object ,
356+ ) : void ;
357+ ungroupTabs ( metricsContext ?: object ) : void ;
358+ save ( options ?: object ) : void ;
359+ saveAndClose ( options ?: object ) : void ;
360+ select ( ) : void ;
361+ isTabVisibleInGroup ( tab : MozTabbrowserTab ) : boolean ;
362+ }
363+
364+ // Source browser/components/tabbrowser/content/tabs.js
365+ interface MozTabbrowserTabs extends XULElement {
366+ startupTime : number ;
367+ arrowScrollbox : Element ;
368+ pinnedTabsContainer : Element ;
369+ previewPanel : object | null ;
370+ tooltip : string ;
371+ tabDragAndDrop : object ;
372+ emptyTabTitle : string ;
373+ tabbox : XULElement ;
374+ newTabButton : Element ;
375+ verticalMode : boolean ;
376+ expandOnHover : boolean ;
377+ overflowing : boolean ;
378+ allTabs : MozTabbrowserTab [ ] ;
379+ allGroups : MozTabbrowserTabGroup [ ] ;
380+ allSplitViews : MozTabSplitViewWrapper [ ] ;
381+ openTabs : MozTabbrowserTab [ ] ;
382+ nonHiddenTabs : MozTabbrowserTab [ ] ;
383+ visibleTabs : MozTabbrowserTab [ ] ;
384+ tablistHasFocus : boolean ;
385+ ariaFocusableItems : Element [ ] ;
386+ dragAndDropElements : Element [ ] ;
387+ init ( ) : void ;
388+ destroy ( ) : void ;
389+ advanceSelectedItem ( direction : number , wrap : boolean ) : void ;
390+ ensureTabPreviewPanelLoaded ( ) : Promise < void > ;
391+ updateTabSoundLabel ( tab : MozTabbrowserTab ) : void ;
392+ getRelatedElement ( tab : MozTabbrowserTab ) : Element ;
393+ isContainerVerticalPinnedGrid ( tab : MozTabbrowserTab ) : boolean ;
394+ cancelTabGroupPreview ( ) : void ;
395+ showTabGroupPreview ( group : MozTabbrowserTabGroup ) : void ;
396+ }
256397
257398declare var GlideBrowser : typeof import ( "../src/glide/browser/base/content/browser.mts" ) . GlideBrowser ;
258399
0 commit comments