483 lines
27 KiB
JavaScript
483 lines
27 KiB
JavaScript
/*
|
|
# 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/.
|
|
*/
|
|
'use strict';
|
|
|
|
export const kCOMMAND_GET_INSTANCE_ID = 'ws:get-instance-id';
|
|
export const kCOMMAND_RELOAD = 'ws:reload';
|
|
export const kCOMMAND_PING_TO_BACKGROUND = 'ws:ping-to-background';
|
|
export const kCOMMAND_PING_TO_SIDEBAR = 'ws:ping-to-sidebar';
|
|
export const kCOMMAND_REQUEST_CONNECT_PREFIX = 'ws:request-connect-from:';
|
|
export const kCOMMAND_REQUEST_UNIQUE_ID = 'ws:request-unique-id';
|
|
export const kCOMMAND_GET_THEME_DECLARATIONS = 'ws:get-theme-declarations';
|
|
export const kCOMMAND_GET_CONTEXTUAL_IDENTITIES_COLOR_INFO = 'ws:get-contextual-identities-color-info';
|
|
export const kCOMMAND_GET_CONFIG_VALUE = 'ws:get-config-value';
|
|
export const kCOMMAND_SET_CONFIG_VALUE = 'ws:set-config-value';
|
|
export const kCOMMAND_GET_USER_STYLE_RULES = 'ws:get-user-style-rules';
|
|
export const kCOMMAND_PULL_TABS = 'ws:pull-tabs';
|
|
export const kCOMMAND_SYNC_TABS_ORDER = 'ws:sync-tabs-order';
|
|
export const kCOMMAND_PULL_TABS_ORDER = 'ws:pull-tabs-order';
|
|
export const kCOMMAND_PULL_TREE_STRUCTURE = 'ws:pull-tree-structure';
|
|
export const kCOMMAND_GET_RENDERED_TAB_IDS = 'ws:get-rendered-tab-ids';
|
|
export const kCOMMAND_ASK_TAB_IS_IN_VIEWPORT = 'ws:ask-tab-is-in-viewport';
|
|
export const kCOMMAND_LOAD_URI = 'ws:load-uri';
|
|
export const kCOMMAND_OPEN_TAB = 'ws:open-tab';
|
|
export const kCOMMAND_NEW_WINDOW_FROM_TABS = 'ws:open-new-window-from-tabs';
|
|
export const kCOMMAND_NEW_TABS = 'ws:open-new-tabs';
|
|
export const kCOMMAND_NEW_TAB_AS = 'ws:open-new-tab-as';
|
|
export const kCOMMAND_REMOVE_TABS_BY_MOUSE_OPERATION = 'ws:remove-tabs-by-mouse-operation';
|
|
export const kCOMMAND_REMOVE_TABS_INTERNALLY = 'ws:remove-tabs-internally';
|
|
export const kCOMMAND_UPDATE_LOADING_STATE = 'ws:update-loading-state';
|
|
export const kCOMMAND_CONFIRM_TO_CLOSE_TABS = 'ws:confirm-to-close-tabs';
|
|
export const kCOMMAND_SHOW_DIALOG = 'ws:show-dialog';
|
|
export const kCOMMAND_NOTIFY_BACKGROUND_READY = 'ws:notify-background-ready';
|
|
export const kCOMMAND_NOTIFY_CONNECTION_READY = 'ws:notify-connection-ready';
|
|
export const kCOMMAND_NOTIFY_SIDEBAR_CLOSED = 'ws:notify-sidebar-closed';
|
|
export const kCOMMAND_NOTIFY_TAB_CREATING = 'ws:notify-tab-creating';
|
|
export const kCOMMAND_NOTIFY_TAB_CREATED = 'ws:notify-tab-created';
|
|
export const kCOMMAND_NOTIFY_TAB_UPDATED = 'ws:notify-tab-updated';
|
|
export const kCOMMAND_NOTIFY_TAB_MOVED = 'ws:notify-tab-moved';
|
|
export const kCOMMAND_NOTIFY_TAB_INTERNALLY_MOVED = 'ws:notify-tab-internally-moved';
|
|
export const kCOMMAND_NOTIFY_TAB_REMOVING = 'ws:notify-tab-removing';
|
|
export const kCOMMAND_NOTIFY_TAB_REMOVED = 'ws:notify-tab-removed';
|
|
export const kCOMMAND_NOTIFY_TAB_ACTIVATING = 'ws:notify-tab-activating';
|
|
export const kCOMMAND_NOTIFY_TAB_ACTIVATED = 'ws:notify-tab-activated';
|
|
export const kCOMMAND_NOTIFY_MAY_START_TAB_SWITCH = 'ws:notify-may-start-tab-switch';
|
|
export const kCOMMAND_NOTIFY_MAY_END_TAB_SWITCH = 'ws:notify-may-end-tab-switch';
|
|
export const kCOMMAND_NOTIFY_TAB_ATTACHED_TO_WINDOW = 'ws:notify-tab-attached-to-window';
|
|
export const kCOMMAND_NOTIFY_TAB_DETACHED_FROM_WINDOW = 'ws:notify-tab-detached-from-window';
|
|
export const kCOMMAND_NOTIFY_PERMISSIONS_GRANTED = 'ws:notify-permissions-granted';
|
|
export const kCOMMAND_NOTIFY_TAB_PINNED = 'ws:notify-tab-pinned';
|
|
export const kCOMMAND_NOTIFY_TAB_UNPINNED = 'ws:notify-tab-unpinned';
|
|
export const kCOMMAND_NOTIFY_TAB_SHOWN = 'ws:notify-tab-shown';
|
|
export const kCOMMAND_NOTIFY_TAB_HIDDEN = 'ws:notify-tab-hidden';
|
|
export const kCOMMAND_NOTIFY_TAB_RESTORING = 'ws:notify-tab-restoring';
|
|
export const kCOMMAND_NOTIFY_TAB_RESTORED = 'ws:notify-tab-restored';
|
|
export const kCOMMAND_NOTIFY_TREE_ITEM_LABEL_UPDATED = 'ws:notify-tab-label-updated';
|
|
export const kCOMMAND_NOTIFY_TAB_FAVICON_UPDATED = 'ws:notify-tab-favicon-updated';
|
|
export const kCOMMAND_NOTIFY_TAB_SOUND_STATE_UPDATED = 'ws:notify-tab-sound-state-updated';
|
|
export const kCOMMAND_NOTIFY_TAB_SHARING_STATE_UPDATED = 'ws:notify-tab-sharing-state-updated';
|
|
export const kCOMMAND_NOTIFY_TABS_CLOSING = 'ws:notify-tabs-closing';
|
|
export const kCOMMAND_NOTIFY_HIGHLIGHTED_TABS_CHANGED = 'ws:notify-highlighted-tabs-changed';
|
|
export const kCOMMAND_NOTIFY_TABS_HIGHLIGHTING_IN_PROGRESS = 'ws:notify-tabs-highlighting-in-progress';
|
|
export const kCOMMAND_NOTIFY_TABS_HIGHLIGHTING_COMPLETE = 'ws:notify-tabs-highlighting-complete';
|
|
export const kCOMMAND_NOTIFY_GROUP_TAB_DETECTED = 'ws:notify-group-tab-detected';
|
|
export const kCOMMAND_NOTIFY_CHILDREN_CHANGED = 'ws:notify-children-changed';
|
|
export const kCOMMAND_NOTIFY_TAB_COLLAPSED_STATE_CHANGED = 'ws:notify-tab-collapsed-state-changed';
|
|
export const kCOMMAND_NOTIFY_SUBTREE_COLLAPSED_STATE_CHANGING = 'ws:notify-subtree-collapsed-state-changing';
|
|
export const kCOMMAND_NOTIFY_SUBTREE_COLLAPSED_STATE_CHANGED = 'ws:notify-subtree-collapsed-state-changed';
|
|
export const kCOMMAND_NOTIFY_TAB_GROUP_CREATED = 'ws:notify-tab-group-created';
|
|
export const kCOMMAND_NOTIFY_TAB_GROUP_UPDATED = 'ws:notify-tab-group-updated';
|
|
export const kCOMMAND_NOTIFY_TAB_GROUP_REMOVED = 'ws:notify-tab-group-removed';
|
|
export const kCOMMAND_SET_SUBTREE_COLLAPSED_STATE = 'ws:set-subtree-collapsed-state';
|
|
export const kCOMMAND_SET_SUBTREE_COLLAPSED_STATE_INTELLIGENTLY_FOR = 'ws:set-subtree-collapsed-state-intelligently-for';
|
|
export const kCOMMAND_TOGGLE_STICKY = 'ws:toggle-sticky';
|
|
export const kCOMMAND_NOTIFY_TAB_LEVEL_CHANGED = 'ws:notify-tab-level-changed';
|
|
export const kCOMMAND_NOTIFY_TAB_ATTACHED_COMPLETELY = 'ws:notify-tab-attached-completely';
|
|
export const kCOMMAND_BROADCAST_CURRENT_DRAG_DATA = 'ws:broadcast-current-drag-data';
|
|
export const kCOMMAND_SHOW_CONTAINER_SELECTOR = 'ws:show-container-selector';
|
|
export const kCOMMAND_SCROLL_TABBAR = 'ws:scroll-tabbar';
|
|
export const kCOMMAND_TOGGLE_SUBPANEL = 'ws:toggle-subpanel';
|
|
export const kCOMMAND_SWITCH_SUBPANEL = 'ws:switch-subpanel';
|
|
export const kCOMMAND_INCREASE_SUBPANEL = 'ws:increase-subpanel';
|
|
export const kCOMMAND_DECREASE_SUBPANEL = 'ws:decrease-subpanel';
|
|
export const kCOMMAND_REQUEST_QUERY_LOGS = 'ws:request-query-logs';
|
|
export const kCOMMAND_RESPONSE_QUERY_LOGS = 'ws:response-query-logs';
|
|
export const kCOMMAND_REQUEST_CONNECTION_MESSAGE_LOGS = 'ws:request-connection-message-logs';
|
|
export const kCOMMAND_RESPONSE_CONNECTION_MESSAGE_LOGS = 'ws:response-connection-message-logs';
|
|
export const kCOMMAND_NOTIFY_TEST_KEY_CHANGED = 'ws:notify-test-key-changed';
|
|
export const kCOMMAND_SIMULATE_SIDEBAR_MESSAGE = 'ws:simulate-sidebar-message';
|
|
export const kCOMMAND_GET_CONTEXT_MENU_ITEMS = 'ws:contextMenu-get-items';
|
|
export const kCOMMAND_NOTIFY_CONTEXT_MENU_UPDATED = 'ws:contextMenu-updated';
|
|
export const kCOMMAND_NOTIFY_CONTEXT_ITEM_CHECKED_STATUS_CHANGED = 'ws:contextMenu-item-checked-status-changed';
|
|
export const kCOMMAND_NOTIFY_CONTEXT_OVERRIDDEN = 'ws:notify-context-overridden';
|
|
export const kCOMMAND_AUTODETECT_DUPLICATED_TAB_DETECTION_DELAY = 'ws:autodetect-duplicated-tab-detection-delay';
|
|
export const kCOMMAND_TEST_DUPLICATED_TAB_DETECTION = 'ws:test-duplicated-tab-detection';
|
|
export const kCOMMAND_WAIT_UNTIL_SUCCESSORS_UPDATED = 'ws:wait-until-successors-updated';
|
|
export const kCOMMAND_GET_SIDEBAR_POSITION = 'ws:get-sidebar-position';
|
|
export const kCOMMAND_GET_ABOVE_TAB = 'ws:get-above-tab';
|
|
export const kCOMMAND_GET_BELOW_TAB = 'ws:get-below-tab';
|
|
export const kCOMMAND_GET_LEFT_TAB = 'ws:get-left-tab';
|
|
export const kCOMMAND_GET_RIGHT_TAB = 'ws:get-right-tab';
|
|
export const kCOMMAND_GET_BOUNDING_CLIENT_RECT = 'ws:get-bounding-client-rect';
|
|
export const kCOMMAND_SHOW_NATIVE_TAB_GROUP_MENU_PANEL = 'ws:show-native-tab-group-menu-panel';
|
|
export const kCOMMAND_UPDATE_NATIVE_TAB_GROUP = 'ws:update-native-tab-group';
|
|
export const kCOMMAND_INVOKE_NATIVE_TAB_GROUP_MENU_PANEL_COMMAND = 'ws:invoke-native-tab-group-menu-panel-command';
|
|
export const kCOMMAND_NEW_WINDOW_FROM_NATIVE_TAB_GROUP = 'ws:new-window-from-native-tab-group';
|
|
|
|
export const kCOMMAND_ACTIVATE_TAB = 'ws:activate-tab';
|
|
export const kCOMMAND_HIGHLIGHT_TABS = 'ws:highlight-tabs';
|
|
export const kCOMMAND_TOGGLE_MUTED_FROM_SOUND_BUTTON = 'ws:toggle-muted-from-sound-button';
|
|
export const kCOMMAND_UNBLOCK_AUTOPLAY_FROM_SOUND_BUTTON = 'ws:unblock-autoplay-from-sound-button';
|
|
export const kCOMMAND_PERFORM_TABS_DRAG_DROP = 'ws:perform-tabs-drag-drop';
|
|
export const kCOMMAND_BLOCK_USER_OPERATIONS = 'ws:block-user-operations';
|
|
export const kCOMMAND_UNBLOCK_USER_OPERATIONS = 'ws:unblock-user-operations';
|
|
export const kCOMMAND_PROGRESS_USER_OPERATIONS = 'ws:progress-user-operations';
|
|
export const kCOMMAND_BROADCAST_TAB_STATE = 'ws:broadcast-tab-state';
|
|
export const kCOMMAND_BROADCAST_TAB_TOOLTIP_TEXT = 'ws:broadcast-tab-tooltip-text';
|
|
export const kCOMMAND_BROADCAST_TAB_AUTO_STICKY_STATE = 'ws:broadcast-tab-auto-sticky-state';
|
|
|
|
export const kCOMMAND_BOOKMARK_TAB_WITH_DIALOG = 'ws:bookmark-tab-with-dialog';
|
|
export const kCOMMAND_BOOKMARK_TABS_WITH_DIALOG = 'ws:bookmark-tabs-with-dialog';
|
|
|
|
export const kNOTIFY_TAB_MOUSEDOWN = 'ws:tab-mousedown';
|
|
export const kNOTIFY_TAB_MOUSEDOWN_EXPIRED = 'ws:tab-mousedown-expired';
|
|
|
|
export const kNOTIFY_SIDEBAR_FOCUS = 'ws:sidebar-focus';
|
|
export const kNOTIFY_SIDEBAR_BLUR = 'ws:sidebar-blur';
|
|
|
|
export const kNOTIFY_CONFIRMATION_DIALOG_READY = 'ws:confirmation-dialog-ready';
|
|
|
|
export const kCONNECTION_HEARTBEAT = 'ws:connection-heartbeat';
|
|
|
|
export const kAPI_TAB_ID = 'data-tab-id';
|
|
export const kAPI_WINDOW_ID = 'data-window-id';
|
|
export const kAPI_NATIVE_TAB_GROUP_ID = 'data-native-tab-group-id';
|
|
|
|
export const kGROUP_ID = 'data-group-id';
|
|
export const kPARENT = 'data-parent-id';
|
|
export const kCHILDREN = 'data-child-ids';
|
|
export const kLEVEL = 'data-level';
|
|
export const kCLOSED_SET_ID = 'data-closed-set-id';
|
|
export const kCURRENT_URI = 'data-current-uri';
|
|
export const kCURRENT_FAVICON_URI = 'data-current-favicon-uri';
|
|
export const kCONTEXTUAL_IDENTITY_NAME = 'data-contextual-identity-name';
|
|
export const kMAX_TREE_LEVEL = 'data-max-tree-level';
|
|
export const kLABEL_OVERFLOW = 'data-label-overflow';
|
|
|
|
export const kPERSISTENT_ID = 'data-persistent-id';
|
|
export const kPERSISTENT_ANCESTORS = 'ancestors';
|
|
export const kPERSISTENT_CHILDREN = 'children';
|
|
export const kPERSISTENT_INSERT_BEFORE = 'insert-before';
|
|
export const kPERSISTENT_INSERT_AFTER = 'insert-after';
|
|
export const kPERSISTENT_INSERT_AFTER_LEGACY = 'isnert-after';
|
|
export const kPERSISTENT_STATES = 'special-tab-states';
|
|
export const kPERSISTENT_SUBTREE_COLLAPSED = 'subtree-collapsed'; // obsolete
|
|
export const kPERSISTENT_ORIGINAL_OPENER_TAB_ID = 'data-original-opener-tab-id';
|
|
export const kPERSISTENT_ALREADY_GROUPED_FOR_PINNED_OPENER = 'data-already-grouped-for-pinned-opener';
|
|
|
|
export const kFAVICON_IMAGE = 'favicon-image';
|
|
export const kFAVICON_BUILTIN = 'favicon-builtin';
|
|
export const kFAVICON_DEFAULT = 'favicon-default'; // just for backward compatibility, and this should be removed from future versions
|
|
export const kFAVICON_SHARING_STATE = 'favicon-sharing-state';
|
|
export const kFAVICON_STICKY_STATE = 'favicon-sticky-state';
|
|
export const kBACKGROUND = 'background';
|
|
export const kTHROBBER = 'throbber';
|
|
export const kHIGHLIGHTER = 'highlighter';
|
|
export const kBURSTER = 'burster';
|
|
export const kNEWTAB_BUTTON = 'newtab-button';
|
|
export const kEXTRA_ITEMS_CONTAINER = 'extra-items-container';
|
|
export const kCONTEXTUAL_IDENTITY_MARKER = 'contextual-identity-marker';
|
|
export const kCONTEXTUAL_IDENTITY_SELECTOR = 'contextual-identities-selector';
|
|
export const kCONTEXTUAL_IDENTITY_SELECTOR_CONTEXT_MENU = 'contextual-identities-selector-context';
|
|
export const kNEWTAB_ACTION_SELECTOR = 'newtab-action-selector';
|
|
export const kTABBAR_SPACER = 'tabs-spacer';
|
|
|
|
export const kTAB_STATE_ACTIVE = 'active';
|
|
export const kTAB_STATE_PINNED = 'pinned';
|
|
export const kTAB_STATE_LAST_ROW = 'last-row';
|
|
export const kTAB_STATE_LAST_VISIBLE = 'last-visible';
|
|
export const kTAB_STATE_AUDIBLE = 'audible';
|
|
export const kTAB_STATE_SOUND_PLAYING = 'sound-playing';
|
|
export const kTAB_STATE_HAS_SOUND_PLAYING_MEMBER = 'has-sound-playing-member';
|
|
export const kTAB_STATE_MUTED = 'muted';
|
|
export const kTAB_STATE_HAS_MUTED_MEMBER = 'has-muted-member';
|
|
export const kTAB_STATE_AUTOPLAY_BLOCKED = 'autoplay-blocked';
|
|
export const kTAB_STATE_HAS_AUTOPLAY_BLOCKED_MEMBER = 'has-autoplay-blocked-member';
|
|
export const kTAB_STATE_PRIVATE_BROWSING = 'private-browsing';
|
|
export const kTAB_STATE_HIDDEN = 'hidden';
|
|
export const kTAB_STATE_SHARING_CAMERA = 'sharing-camera';
|
|
export const kTAB_STATE_SHARING_MICROPHONE = 'sharing-microphone';
|
|
export const kTAB_STATE_SHARING_SCREEN = 'sharing-screen';
|
|
export const kTAB_STATE_HAS_SHARING_CAMERA_MEMBER = 'has-sharing-camera-member';
|
|
export const kTAB_STATE_HAS_SHARING_MICROPHONE_MEMBER = 'has-sharing-microphone-member';
|
|
export const kTAB_STATE_HAS_SHARING_SCREEN_MEMBER = 'has-sharing-screen-member';
|
|
export const kTAB_STATE_ANIMATION_READY = 'animation-ready';
|
|
export const kTAB_STATE_NOT_ACTIVATED_SINCE_LOAD = 'not-activated-since-load';
|
|
export const kTAB_STATE_BURSTING = 'bursting';
|
|
export const kTAB_STATE_CREATING = 'creating';
|
|
export const kTAB_STATE_TO_BE_REMOVED = 'to-be-removed';
|
|
export const kTAB_STATE_REMOVING = 'removing';
|
|
export const kTAB_STATE_COLLAPSED = 'collapsed';
|
|
export const kTAB_STATE_COLLAPSED_DONE = 'collapsed-completely';
|
|
export const kTAB_STATE_COLLAPSING = 'collapsing';
|
|
export const kTAB_STATE_EXPANDING = 'expanding';
|
|
export const kTAB_STATE_MOVING = 'moving';
|
|
export const kTAB_STATE_SHOWING = 'showing';
|
|
export const kTAB_STATE_SUBTREE_COLLAPSED = 'subtree-collapsed';
|
|
export const kTAB_STATE_SUBTREE_EXPANDED_MANUALLY = 'subtree-expanded-manually';
|
|
export const kTAB_STATE_FAVICONIZED = 'faviconized';
|
|
export const kTAB_STATE_UNREAD = 'unread';
|
|
export const kTAB_STATE_PENDING = 'pending';
|
|
export const kTAB_STATE_HIGHLIGHTED = 'highlighted';
|
|
export const kTAB_STATE_BUNDLED_ACTIVE = 'bundled-active';
|
|
export const kTAB_STATE_SOME_DESCENDANTS_HIGHLIGHTED = 'some-descendants-highlighted';
|
|
export const kTAB_STATE_ALL_DESCENDANTS_HIGHLIGHTED = 'all-descendants-highlighted';
|
|
export const kTAB_STATE_ATTENTION = 'attention';
|
|
export const kTAB_STATE_DISCARDED = 'discarded';
|
|
export const kTAB_STATE_SELECTED = 'selected';
|
|
export const kTAB_STATE_DRAGGING = 'dragging';
|
|
export const kTAB_STATE_DUPLICATING = 'duplicating';
|
|
export const kTAB_STATE_DUPLICATED = 'duplicated';
|
|
export const kTAB_STATE_RESTORED = 'restored';
|
|
export const kTAB_STATE_FROM_EXTERNAL = 'from-external';
|
|
export const kTAB_STATE_FROM_FIREFOX_VIEW = 'from-firefox-view';
|
|
export const kTAB_STATE_THROBBER_UNSYNCHRONIZED = 'throbber-unsynchronized';
|
|
export const kTAB_STATE_GROUP_TAB = 'group-tab';
|
|
export const kTAB_STATE_NEW_TAB_COMMAND_TAB = 'newtab-command-tab';
|
|
export const kTAB_STATE_OPENED_FOR_SAME_WEBSITE = 'opened-for-same-website';
|
|
export const kTAB_STATE_STICKY = 'sticky';
|
|
export const kTAB_STATE_STUCK = 'stuck'; // virtual state
|
|
export const kTAB_INTERNAL_STATES = new Set([ // TST specific states
|
|
'tab',
|
|
kTAB_STATE_LAST_ROW,
|
|
kTAB_STATE_LAST_VISIBLE,
|
|
kTAB_STATE_ANIMATION_READY,
|
|
kTAB_STATE_COLLAPSED_DONE,
|
|
kTAB_STATE_CREATING,
|
|
kTAB_STATE_DUPLICATING,
|
|
kTAB_STATE_COLLAPSING,
|
|
kTAB_STATE_EXPANDING,
|
|
kTAB_STATE_MOVING,
|
|
kTAB_STATE_TO_BE_REMOVED,
|
|
kTAB_STATE_REMOVING,
|
|
kTAB_STATE_SHOWING,
|
|
kTAB_STATE_THROBBER_UNSYNCHRONIZED,
|
|
kTAB_STATE_NEW_TAB_COMMAND_TAB,
|
|
kTAB_STATE_DUPLICATED,
|
|
kTAB_STATE_RESTORED,
|
|
kTAB_STATE_FROM_EXTERNAL,
|
|
kTAB_STATE_FROM_FIREFOX_VIEW,
|
|
kTAB_STATE_OPENED_FOR_SAME_WEBSITE,
|
|
kTAB_STATE_STICKY,
|
|
kTAB_STATE_STUCK,
|
|
kTAB_STATE_PENDING,
|
|
]);
|
|
export const kTAB_TEMPORARY_STATES = new Set([ // states not trigger updating of cache
|
|
kTAB_STATE_CREATING,
|
|
kTAB_STATE_BURSTING,
|
|
kTAB_STATE_COLLAPSING,
|
|
kTAB_STATE_DUPLICATING,
|
|
kTAB_STATE_EXPANDING,
|
|
kTAB_STATE_MOVING,
|
|
kTAB_STATE_TO_BE_REMOVED,
|
|
kTAB_STATE_REMOVING,
|
|
kTAB_STATE_SHOWING,
|
|
kTAB_STATE_NEW_TAB_COMMAND_TAB,
|
|
kTAB_STATE_DUPLICATED,
|
|
kTAB_STATE_RESTORED,
|
|
kTAB_STATE_FROM_EXTERNAL,
|
|
kTAB_STATE_FROM_FIREFOX_VIEW,
|
|
kTAB_STATE_OPENED_FOR_SAME_WEBSITE,
|
|
kTAB_STATE_PENDING,
|
|
]);
|
|
export const kTAB_SAFE_STATES = new Set([ // exportable via API
|
|
kTAB_STATE_COLLAPSED,
|
|
kTAB_STATE_SUBTREE_COLLAPSED,
|
|
kTAB_STATE_GROUP_TAB,
|
|
kTAB_STATE_CREATING,
|
|
kTAB_STATE_NEW_TAB_COMMAND_TAB,
|
|
kTAB_STATE_DUPLICATED,
|
|
kTAB_STATE_RESTORED,
|
|
kTAB_STATE_FROM_EXTERNAL,
|
|
kTAB_STATE_FROM_FIREFOX_VIEW,
|
|
kTAB_STATE_OPENED_FOR_SAME_WEBSITE,
|
|
kTAB_STATE_STICKY,
|
|
kTAB_STATE_STUCK,
|
|
]);
|
|
export const kTAB_SAFE_STATES_ARRAY = Array.from(kTAB_SAFE_STATES);
|
|
|
|
export const kTABBAR_STATE_OVERFLOW = 'overflow';
|
|
export const kTABBAR_STATE_SCROLLED = 'scrolled';
|
|
export const kTABBAR_STATE_FULLY_SCROLLED = 'fully-scrolled';
|
|
export const kTABBAR_STATE_BLOCKING = 'blocking';
|
|
export const kTABBAR_STATE_BLOCKING_WITH_THROBBER = 'blocking-throbber';
|
|
export const kTABBAR_STATE_BLOCKING_WITH_SHADE = 'blocking-shade';
|
|
export const kTABBAR_STATE_HAVE_LOADING_TAB = 'have-loading-tab';
|
|
export const kTABBAR_STATE_HAVE_UNSYNCHRONIZED_THROBBER = 'have-unsynchronized-throbber';
|
|
export const kTABBAR_STATE_THROBBER_SYNCHRONIZING = 'throbber-synchronizing';
|
|
export const kTABBAR_STATE_CONTEXTUAL_IDENTITY_SELECTABLE = 'contextual-identity-selectable';
|
|
export const kTABBAR_STATE_NEWTAB_ACTION_SELECTABLE = 'newtab-action-selectable';
|
|
export const kTABBAR_STATE_MULTIPLE_HIGHLIGHTED = 'mutiple-highlighted';
|
|
export const kTABBAR_STATE_HAS_VISUAL_GAP = 'has-visual-gap';
|
|
export const kTABBAR_STATE_HOVER_ON_TOP_EDGE = 'hover-on-top-edge';
|
|
export const kTABBAR_STATE_SCROLLBAR_AUTOHIDE = 'scrollbar-autohide';
|
|
export const kTABBAR_STATE_FAVICONIZE_PINNED_TABS = 'faviconize-pinned-tabs';
|
|
export const kTABBAR_STATE_TAB_DRAGGING = 'tab-dragging';
|
|
export const kTABBAR_STATE_LINK_DRAGGING = 'link-dragging';
|
|
|
|
export const kWINDOW_STATE_TREE_STRUCTURE = 'tree-structure';
|
|
export const kWINDOW_STATE_SCROLL_POSITION = 'scroll-position';
|
|
export const kWINDOW_STATE_SUBPANEL_PROVIDER_ID = 'subpanel-provider-id';
|
|
export const kWINDOW_STATE_SUBPANEL_HEIGHT = 'subpanel-height';
|
|
export const kWINDOW_STATE_SUBPANEL_EFFECTIVE_HEIGHT = 'subpanel-effective-height';
|
|
export const kWINDOW_STATE_CACHED_TABS = 'cached-tabs';
|
|
export const kWINDOW_STATE_CACHED_SIDEBAR = 'cached-sidebar-contents';
|
|
export const kWINDOW_STATE_CACHED_SIDEBAR_CONTENTS = 'cached-sidebar-contents:contents';
|
|
export const kWINDOW_STATE_CACHED_SIDEBAR_TABS_DIRTY = 'cached-sidebar-contents:tabs-dirty';
|
|
export const kWINDOW_STATE_CACHED_SIDEBAR_COLLAPSED_DIRTY = 'cached-sidebar-contents:collapsed-dirty';
|
|
|
|
export const kCACHE_KEYS = [
|
|
kWINDOW_STATE_CACHED_TABS,
|
|
kWINDOW_STATE_CACHED_SIDEBAR,
|
|
kWINDOW_STATE_CACHED_SIDEBAR_CONTENTS,
|
|
kWINDOW_STATE_CACHED_SIDEBAR_TABS_DIRTY,
|
|
kWINDOW_STATE_CACHED_SIDEBAR_COLLAPSED_DIRTY,
|
|
];
|
|
|
|
export const kCOUNTER_ROLE_ALL_TABS = 1;
|
|
export const kCOUNTER_ROLE_CONTAINED_TABS = 2;
|
|
|
|
export const kTABBAR_POSITION_AUTO = 0;
|
|
export const kTABBAR_POSITION_LEFT = 1;
|
|
export const kTABBAR_POSITION_RIGHT = 2;
|
|
|
|
export const kACTION_MOVE = 1 << 0;
|
|
export const kACTION_ATTACH = 1 << 10;
|
|
export const kACTION_DETACH = 1 << 11;
|
|
|
|
export const kDROPLINK_ASK = 0;
|
|
export const kDROPLINK_LOAD = 1 << 0;
|
|
export const kDROPLINK_NEWTAB = 1 << 1;
|
|
|
|
export const kGROUP_BOOKMARK_ASK = 0;
|
|
export const kGROUP_BOOKMARK_SUBTREE = 1 << 0;
|
|
export const kGROUP_BOOKMARK_SEPARATE = 1 << 1;
|
|
export const kGROUP_BOOKMARK_FIXED = kGROUP_BOOKMARK_SUBTREE | kGROUP_BOOKMARK_SEPARATE;
|
|
export const kGROUP_BOOKMARK_USE_DUMMY = 1 << 8;
|
|
export const kGROUP_BOOKMARK_USE_DUMMY_FORCE = 1 << 10;
|
|
export const kGROUP_BOOKMARK_DONT_RESTORE_TREE_STRUCTURE = 1 << 9;
|
|
export const kGROUP_BOOKMARK_EXPAND_ALL_TREE = 1 << 11;
|
|
export const kGROUP_BOOKMARK_CANCEL = -1;
|
|
|
|
export const kGROUP_TAB_TEMPORARY_STATE_NOTHING = 0;
|
|
export const kGROUP_TAB_TEMPORARY_STATE_PASSIVE = 1;
|
|
export const kGROUP_TAB_TEMPORARY_STATE_AGGRESSIVE = 2;
|
|
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_MODE_PARALLEL = 0;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_MODE_CONSISTENT = 1;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_MODE_CUSTOM = -1;
|
|
|
|
export const kPARENT_TAB_OPERATION_CONTEXT_CLOSE = 1;
|
|
export const kPARENT_TAB_OPERATION_CONTEXT_MOVE = 2;
|
|
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_ENTIRE_TREE = 2;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_PROMOTE_FIRST_CHILD = 3;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_PROMOTE_ALL_CHILDREN = 0;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_PROMOTE_INTELLIGENTLY = 6;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_DETACH_ALL_CHILDREN = 1;
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_SIMPLY_DETACH_ALL_CHILDREN = 4; // just for internal use
|
|
export const kPARENT_TAB_OPERATION_BEHAVIOR_REPLACE_WITH_GROUP_TAB = 5;
|
|
|
|
// just for migration from old versions
|
|
export const kPARENT_TAB_BEHAVIOR_ALWAYS = 0;
|
|
export const kPARENT_TAB_BEHAVIOR_ONLY_WHEN_VISIBLE = 1;
|
|
export const kPARENT_TAB_BEHAVIOR_ONLY_ON_SIDEBAR = 2;
|
|
|
|
export const kINSERT_NO_CONTROL = -1;
|
|
export const kINSERT_INHERIT = -2;
|
|
export const kINSERT_TOP = 0;
|
|
export const kINSERT_END = 1;
|
|
export const kINSERT_NEAREST = 2;
|
|
export const kINSERT_NEXT_TO_LAST_RELATED_TAB = 3;
|
|
export const kCONTROLLED_INSERTION_POSITION = new Set([
|
|
kINSERT_TOP,
|
|
kINSERT_NEAREST,
|
|
kINSERT_NEXT_TO_LAST_RELATED_TAB,
|
|
]);
|
|
|
|
export const kSUCCESSOR_TAB_CONTROL_NEVER = 0;
|
|
export const kSUCCESSOR_TAB_CONTROL_SIMULATE_DEFAULT = 1;
|
|
export const kSUCCESSOR_TAB_CONTROL_IN_TREE = 2;
|
|
|
|
export const kTREE_DOUBLE_CLICK_BEHAVIOR_NONE = 0;
|
|
export const kTREE_DOUBLE_CLICK_BEHAVIOR_TOGGLE_COLLAPSED = 1;
|
|
export const kTREE_DOUBLE_CLICK_BEHAVIOR_TOGGLE_STICKY = 4;
|
|
export const kTREE_DOUBLE_CLICK_BEHAVIOR_CLOSE = 3;
|
|
// 2 is a retired number for a removed feature
|
|
|
|
export const kDRAG_BEHAVIOR_NONE = 0;
|
|
export const kDRAG_BEHAVIOR_ENTIRE_TREE = 1 << 0;
|
|
export const kDRAG_BEHAVIOR_ALLOW_BOOKMARK = 1 << 1;
|
|
export const kDRAG_BEHAVIOR_TEAR_OFF = 1 << 2;
|
|
export const kDRAG_BEHAVIOR_MOVE = 1 << 3;
|
|
|
|
export const kNEWTAB_DO_NOTHING = -1;
|
|
export const kNEWTAB_OPEN_AS_ORPHAN = 0;
|
|
export const kNEWTAB_OPEN_AS_CHILD = 1; // no control about position
|
|
export const kNEWTAB_OPEN_AS_CHILD_NEXT_TO_LAST_RELATED_TAB = 5;
|
|
export const kNEWTAB_OPEN_AS_CHILD_TOP = 6;
|
|
export const kNEWTAB_OPEN_AS_CHILD_END = 7;
|
|
export const kNEWTAB_OPEN_AS_SIBLING = 2;
|
|
export const kNEWTAB_OPEN_AS_NEXT_SIBLING = 3;
|
|
export const kNEWTAB_OPEN_AS_NEXT_SIBLING_WITH_INHERITED_CONTAINER = 4;
|
|
export const kCONTROLLED_NEWTAB_POSITION = new Set([
|
|
kNEWTAB_OPEN_AS_CHILD,
|
|
kNEWTAB_OPEN_AS_CHILD_NEXT_TO_LAST_RELATED_TAB,
|
|
kNEWTAB_OPEN_AS_CHILD_TOP,
|
|
kNEWTAB_OPEN_AS_CHILD_END,
|
|
kNEWTAB_OPEN_AS_SIBLING,
|
|
kNEWTAB_OPEN_AS_NEXT_SIBLING,
|
|
kNEWTAB_OPEN_AS_NEXT_SIBLING_WITH_INHERITED_CONTAINER,
|
|
]);
|
|
|
|
export const kCONTEXTUAL_IDENTITY_DEFAULT = 0;
|
|
export const kCONTEXTUAL_IDENTITY_FROM_PARENT = 1;
|
|
export const kCONTEXTUAL_IDENTITY_FROM_LAST_ACTIVE = 2;
|
|
|
|
export const kSCROLL_TO_NEW_TAB_IGNORE = 0;
|
|
export const kSCROLL_TO_NEW_TAB_IF_POSSIBLE = 1;
|
|
|
|
export const kTABBAR_UPDATE_REASON_RESIZE = 1 << 0;
|
|
export const kTABBAR_UPDATE_REASON_COLLAPSE = 1 << 1;
|
|
export const kTABBAR_UPDATE_REASON_EXPAND = 1 << 2;
|
|
export const kTABBAR_UPDATE_REASON_ANIMATION_END = 1 << 3;
|
|
export const kTABBAR_UPDATE_REASON_TAB_OPEN = 1 << 4;
|
|
export const kTABBAR_UPDATE_REASON_TAB_CLOSE = 1 << 5;
|
|
export const kTABBAR_UPDATE_REASON_TAB_MOVE = 1 << 6;
|
|
export const kTABBAR_UPDATE_REASON_VIRTUAL_SCROLL_VIEWPORT_UPDATE = 1 << 7;
|
|
|
|
export const kDEFAULT_MIN_INDENT = 3;
|
|
|
|
export const kGROUP_TAB_URI = browser.runtime.getURL('resources/group-tab.html');
|
|
export const kGROUP_TAB_DEFAULT_TITLE_MATCHER = new RegExp(`^${browser.i18n.getMessage('groupTab_label', '.+')}$`);
|
|
export const kGROUP_TAB_FROM_PINNED_DEFAULT_TITLE_MATCHER = new RegExp(`^${browser.i18n.getMessage('groupTab_fromPinnedTab_label', '.+')}$`);
|
|
export const kSHORTHAND_CUSTOM_URI = /^ext\+ws:([^:?#]+)(?:[:?]([^#]*))?(#.*)?$/;
|
|
export const kSHORTHAND_ABOUT_URI = /^about:ws-([^?]+)/;
|
|
export const kSHORTHAND_URIS = {
|
|
tabbar: browser.runtime.getURL('sidebar/sidebar.html'),
|
|
group: kGROUP_TAB_URI,
|
|
options: browser.runtime.getURL('options/options.html?independent=true'),
|
|
startup: browser.runtime.getURL('resources/startup.html'),
|
|
testRunner: browser.runtime.getURL('tests/runner.html'),
|
|
'test-runner': browser.runtime.getURL('tests/runner.html')
|
|
};
|
|
|
|
export const kINSERTION_CONTEXT_MOVED = 1;
|
|
export const kINSERTION_CONTEXT_SHOWN = 2;
|
|
export const kINSERTION_CONTEXT_CREATED = 3;
|
|
|
|
export const kIN_CONTENT_PANEL_RENDER_NOWHERE = 0;
|
|
export const kIN_CONTENT_PANEL_RENDER_IN_SIDEBAR = 1 << 0;
|
|
export const kIN_CONTENT_PANEL_RENDER_IN_CONTENT = 1 << 1;
|
|
export const kIN_CONTENT_PANEL_RENDER_IN_ANYWHERE = kIN_CONTENT_PANEL_RENDER_IN_SIDEBAR | kIN_CONTENT_PANEL_RENDER_IN_CONTENT;
|
|
|
|
export const kAGGRESSIVE_OPENER_TAB_DETECTION_RULES_WITH_URL = [
|
|
{ opener: /^about:addons/,
|
|
child: /^https:\/\/addons.mozilla.org\/([^\/]+\/)?[^\/]+\/search\// }
|
|
];
|
|
|
|
export const kNOTIFICATION_DEFAULT_ICON = '/resources/64x64.svg#default-bright';
|
|
|
|
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync
|
|
// Use 6 * 1024 instead of 8 * 1024 (max of the quota) for safety.
|
|
// For example, 6 * 8 = 48KB is the max size of the user style rules.
|
|
export const kSYNC_STORAGE_SAFE_QUOTA = 6 * 1024;
|
|
|
|
export const kSYNC_DATA_TYPE_TABS = 'tabs';
|
|
|
|
export const IS_BACKGROUND = location.href.startsWith(browser.runtime.getURL('background/background.html'));
|
|
export const IS_SIDEBAR = location.href.startsWith(browser.runtime.getURL('sidebar/sidebar.html'));
|