/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface mozIDOMWindowProxy; interface imgIContainer; [scriptable, builtinclass, uuid(aa8a0ecf-96a1-418c-b80e-f24ae18bbedc)] interface nsIWindowsUIUtils : nsISupports { readonly attribute long systemSmallIconSize; readonly attribute long systemLargeIconSize; void setWindowIcon(in mozIDOMWindowProxy aWindow, in imgIContainer aSmallIcon, in imgIContainer aLargeIcon); void setWindowIconFromExe(in mozIDOMWindowProxy aWindow, in AString aExe, in unsigned short aIndex); void setWindowIconNoData(in mozIDOMWindowProxy aWindow); /** * Whether the OS is currently in Win10's Tablet Mode. Always false on * versions of Windows other than Win10. * * (Win10 tablet mode is sufficiently different from Win11 tablet mode that * there is no single getter to retrieve whether we're in a generic "tablet * mode".) */ readonly attribute boolean inWin10TabletMode; /** * Whether the OS is currently in Windows 11's tablet mode. Always false on * versions of Windows prior to Win11. * * (Win11 tablet mode is sufficiently different from Win10 tablet mode that * there is no single getter to retrieve whether we're in a generic "tablet * mode".) */ readonly attribute boolean inWin11TabletMode; /** * Whether this device is believed to be capable of entering tablet mode at * all, regardless of whether it happens to be in tablet mode right now. * * Always true on Win10, where tablet mode is a user-toggleable setting on * every device; determined heuristically on Win11 and later, where there is * no documented way to ask. * * Prefer this over the inWin*TabletMode getters when deciding whether to * offer tablet-mode-related UI: those report momentary state, so they are * false on a convertible that merely isn't folded at the moment, and they can * change while that UI is open. */ readonly attribute boolean isTabletCapable; /** * Share URL */ void shareUrl(in AString urlToShare, in AString shareTitle); };