Go back to top

vivaldi.extensionActionUtils Modders API Reference

Helper functions for Vivaldi to reuse Chromes extension UI.

Types

#ActionType

ENUM

browser- or pageAction.

  • browser
  • page
  • #ExtensionType

    ENUM

    Regular extension- or componentAction. Component actions will go through ToolbarActionViewController

  • extensionAction
  • componentAction
  • ENUM

    What type of menu item.

  • normal
  • checkbox
  • radio
  • separator
  • #GlobalErrorType

    ENUM

    Type of global error. Disabled because of permission increase, or installed by third-party.

  • installed
  • upgrade
  • Menu item representing a single menu item.

    Properties:

    name
    string

    The name of the item as shown in the menu.

    id
    string

    The id for the item.

    enabled
    boolean

    Is the item enabled.

    visible
    boolean

    Is the item visible.

    checked
    boolean

    Is the item checked.

    menuType
    MenuType

    ⚠ NO DESCRIPTION PROVIDED

    submenu
    (optional)

    Sub menu items if the extension supplies a custom menu.

    Array of:

    • MenuItem

    #SidePanelInfo

    Side Panel description (if exists).

    Properties:

    url
    string

    Side Panel URL.

    activeUrl
    string

    Side Panel URL.

    #SidePanelOptions

    ⚠ NO DESCRIPTION PROVIDED

    Properties:

    tabId
    (optional)
    integer

    If specified, the side panel options will only apply to the tab with this id. If omitted, these options set the default behavior (used for any tab that doesn't have specific settings). Note: if the same path is set for this tabId and the default tabId, then the panel for this tabId will be a different instance than the panel for the default tabId.

    path
    (optional)
    string

    The path to the side panel HTML file to use. This must be a local resource within the extension package.

    extensionId
    (optional)
    string

    The path to the side panel HTML file to use. This must be a local resource within the extension package.

    resourceUrl
    (optional)
    string

    The path to the side panel HTML file to use. This must be a local resource within the extension package.

    enabled
    (optional)
    boolean

    Whether the side panel should be enabled. This is optional. The default value is true.

    #ExtensionInfo

    Extension action per tab id.

    Properties:

    id
    string

    The unique extension identifier.

    badgeTooltip
    (optional)
    string

    Tooltip for the button.

    badgeText
    (optional)
    string

    Badgetext, typically room for four chars.

    badgeIcon
    (optional)
    string

    data-url for the current icon.

    badgeTextColor
    (optional)
    string

    Text color for the badge text, currently unused.

    badgeBackgroundColor
    (optional)
    string

    Background color for the badge text.

    enabled
    (optional)
    boolean

    Whether the extension is enabled or not.

    actionType
    (optional)
    ActionType

    The type of the extensionAction, either pageaction or browseraction.

    visible
    (optional)
    boolean

    Visibility of the action button, defaults to true.

    actionIsHidden
    (optional)
    boolean

    Set to true if the action is user-set to hidden. Defaults to false.

    allowInIncognito
    (optional)
    boolean

    Whether the action is available in incognito windows or not.

    extensionType
    (optional)
    ExtensionType

    The type of the extensionAction, either pageaction or browseraction. Defaults to |extensionAction|.

    name
    string

    Name of extension.

    homepage
    (optional)
    string

    Homepage of extension.

    optionspage
    (optional)
    string

    Address of extension options page.

    optionsInNewTab
    (optional)
    boolean

    false if the options page should be opened embedded, true if it opens in a new tab.

    keyboardShortcut
    (optional)
    string

    Keyboard shortcut to toggle this extension.

    sidePanel
    (optional)
    SidePanelInfo

    contains sidepanel URL.

    #ExtensionInstallError

    Extension error.

    Properties:

    id
    string

    The unique extension identifier.

    name
    string

    Extension name.

    errorType
    (optional)
    GlobalErrorType

    The type of the extensionAction, either pageaction or browseraction. Defaults to |extensionAction|.

    commandId
    integer

    Int id to lookup an error on action.

    Listeners

    How to use listeners

    Each listener type has the same functions, used for each listener API in the same way:

    .addListener(function callback)

    Adds a function to a listener for an event

    .removeListener(function callback)

    Removes a function to a listener for an event

    .hasListener(function callback)

    Returns a boolean if a function is attached to a listener for an event

    .hasListeners()

    Returns a boolean if a listener has any attached functions

    .dispatch()

    Returns array of promises dispatched to the listener

    #onAdded

    Fired when an extension has been loaded.

    Parameters:

    extension
    ExtensionInfo

    ⚠ NO DESCRIPTION PROVIDED

    #onRemoved

    Fired when an extension has been unloaded.

    Parameters:

    extension
    ExtensionInfo

    ⚠ NO DESCRIPTION PROVIDED

    #onUpdated

    Fired when an extensionAction is changed.

    Parameters:

    extension
    ExtensionInfo

    ⚠ NO DESCRIPTION PROVIDED

    windowId
    integer

    id of the window that receives the update.

    #onCommandAdded

    Fired when a keyboard shortcut is added to an extension.

    Parameters:

    extensionId
    string

    ⚠ NO DESCRIPTION PROVIDED

    shortcut
    string

    ⚠ NO DESCRIPTION PROVIDED

    #onCommandRemoved

    Fired when a keyboard shortcut is removed from an extension.

    Parameters:

    extensionId
    string

    ⚠ NO DESCRIPTION PROVIDED

    shortcut
    string

    ⚠ NO DESCRIPTION PROVIDED

    #onIconLoaded

    Fired when an extension-icon is fully loaded. Note that only ExtensionInfo.id and ExtensionInfo.badgeIcon is filled!

    Parameters:

    extension
    ExtensionInfo

    ⚠ NO DESCRIPTION PROVIDED

    #onExtensionDisabledInstallErrorAdded

    Fired when an extensionerror is created. Can be of various kinds of GlobalErrors

    Parameters:

    error
    ExtensionInstallError

    ⚠ NO DESCRIPTION PROVIDED

    #onExtensionDisabledInstallErrorRemoved

    Fired when an extensionerror is handled or removed. Can be of various kinds of GlobalErrors.

    Parameters:

    error
    ExtensionInstallError

    ⚠ NO DESCRIPTION PROVIDED

    #onSidePanelOptionChanged

    Fired when side panel opetion changed

    Parameters:

    extendionId
    string

    The unique extension identifier.

    options
    SidePanelOptions

    ⚠ NO DESCRIPTION PROVIDED

    Methods

    #getToolbarExtensions

    #executeExtensionAction

    execute browserAction or pageAction for extension

    Parameters:

    extensionId
    string

    windowId
    integer

    id of the application window.

    showPopup

    Callback for popup actions.

    Parameters:

    popupUrl
    string

    Relative url for the popup document.

    #toggleBrowserActionVisibility

    This will toggle the visibility of an extension browser- or page-action button. The regular vivaldi://extensions page will have a 'show' button.

    Parameters:

    extensionId
    string

    The id for the extension we want to toggle visibility on.

    #removeExtension

    Removes a specified extension.

    Parameters:

    extensionId
    string

    The id for the extension we want to remove.

    windowId
    integer

    id of the application window. Used to find the Browser object.

    #showExtensionOptions

    Shows options for the given extension

    Parameters:

    extensionId
    string

    The id for the extension we want to remove.

    windowId
    integer

    id of the application window. Used to find the Browser object.

    #getExtensionMenu

    Gets the context menu for the given extension

    Parameters:

    extensionId
    string

    The id for the extension we want to get the menu for.

    #executeMenuAction

    Execute menu action for extension.

    Parameters:

    extensionId
    string

    windowId
    integer

    id of the application window.

    menuId
    string

    id of the menu item.

    result

    Callback for action.

    Parameters:

    success
    boolean

    true on success.

    #showGlobalError

    Show the dialog for an extension install error.

    Parameters:

    commandId
    integer

    The id for the error.

    windowId
    integer

    id of the application window. Used to find the Browser object.

    #triggerGlobalErrors

    Loop through any pending global extension errors and fire events for the ui.