tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

urlbar.ts (1465B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 // These types are commonly passed as parameters with the Urlbar code. We
      6 // define them here to avoid having to `@import` them into each module.
      7 // TypeScript will still warn about attempting to call `new UrlbarController()`
      8 // and similar actions because these are only defined as types and not values.
      9 
     10 type UrlbarController = import("../UrlbarController.sys.mjs").UrlbarController;
     11 type UrlbarInput = import("../content/UrlbarInput.mjs").UrlbarInput;
     12 type UrlbarQueryContext = import("../UrlbarUtils.sys.mjs").UrlbarQueryContext;
     13 type UrlbarResult = import("../UrlbarResult.sys.mjs").UrlbarResult;
     14 
     15 type Values<T> = T[keyof T];
     16 
     17 /**
     18 * A structure that holds the details of commands for results.
     19 */
     20 type UrlbarResultCommand = {
     21  /**
     22   * The name of the command. Must be specified unless `children` is present.
     23   * When a command is picked, its name will be passed as `details.selType` to
     24   * `onEngagement()`. The special name "separator" will create a menu separator.
     25   */
     26  name?: string;
     27  /**
     28   * An l10n object for the command's label. Must be specified unless `name`
     29   * is "separator".
     30   */
     31  l10n?: L10nIdArgs;
     32  /**
     33   * If specified, a submenu will be created with the given child commands.
     34   */
     35  children?: UrlbarResultCommand[];
     36 };