@types/chrome 0.0.166 → 0.0.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. chrome/README.md +1 -1
  2. chrome/index.d.ts +55 -25
  3. chrome/package.json +2 -2
chrome/README.md CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for Chrome extension development (http://
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chrome.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 02 Dec 2021 01:31:03 GMT
11
+ * Last updated: Sun, 12 Dec 2021 06:31:08 GMT
12
12
  * Dependencies: [@types/filesystem](https://npmjs.com/package/@types/filesystem), [@types/har-format](https://npmjs.com/package/@types/har-format)
13
13
  * Global values: `chrome`
14
14
 
chrome/index.d.ts CHANGED
@@ -775,7 +775,7 @@ declare namespace chrome.browserAction {
775
775
 
776
776
  export interface BadgeTextDetails {
777
777
  /** Any number of characters can be passed, but only about four can fit in the space. */
778
- text?: string | null;
778
+ text?: string | null | undefined;
779
779
  /** Optional. Limits the change to when a particular tab is selected. Automatically resets when the tab is closed. */
780
780
  tabId?: number | undefined;
781
781
  }
@@ -1516,7 +1516,7 @@ declare namespace chrome.contextMenus {
1516
1516
  * Since Chrome 35.
1517
1517
  * One of 'image', 'video', or 'audio' if the context menu was activated on one of these types of elements.
1518
1518
  */
1519
- mediaType?: string | undefined;
1519
+ mediaType?: 'image' | 'video' | 'audio' | undefined;
1520
1520
  /**
1521
1521
  * Optional.
1522
1522
  * Since Chrome 35.
@@ -1548,6 +1548,10 @@ declare namespace chrome.contextMenus {
1548
1548
  srcUrl?: string | undefined;
1549
1549
  }
1550
1550
 
1551
+ type ContextType = "all" | "page" | "frame" | "selection" | "link" | "editable" | "image" | "video" | "audio" | "launcher" | "browser_action" | "page_action" | "action";
1552
+
1553
+ type ContextItemType = "normal" | "checkbox" | "radio" | "separator";
1554
+
1551
1555
  export interface CreateProperties {
1552
1556
  /** Optional. Lets you restrict the item to apply only to documents whose URL matches one of the given patterns. (This applies to frames as well.) For details on the format of a pattern, see Match Patterns. */
1553
1557
  documentUrlPatterns?: string[] | undefined;
@@ -1556,7 +1560,7 @@ declare namespace chrome.contextMenus {
1556
1560
  /** Optional. The text to be displayed in the item; this is required unless type is 'separator'. When the context is 'selection', you can use %s within the string to show the selected text. For example, if this parameter's value is "Translate '%s' to Pig Latin" and the user selects the word "cool", the context menu item for the selection is "Translate 'cool' to Pig Latin". */
1557
1561
  title?: string | undefined;
1558
1562
  /** Optional. List of contexts this menu item will appear in. Defaults to ['page'] if not specified. */
1559
- contexts?: string[] | undefined;
1563
+ contexts?: ContextType | ContextType[] | undefined;
1560
1564
  /**
1561
1565
  * Optional.
1562
1566
  * Since Chrome 20.
@@ -1575,7 +1579,7 @@ declare namespace chrome.contextMenus {
1575
1579
  /** Optional. The ID of a parent menu item; this makes the item a child of a previously added item. */
1576
1580
  parentId?: any;
1577
1581
  /** Optional. The type of menu item. Defaults to 'normal' if not specified. */
1578
- type?: string | undefined;
1582
+ type?: ContextItemType | undefined;
1579
1583
  /**
1580
1584
  * Optional.
1581
1585
  * Since Chrome 21.
@@ -1594,14 +1598,14 @@ declare namespace chrome.contextMenus {
1594
1598
  documentUrlPatterns?: string[] | undefined;
1595
1599
  checked?: boolean | undefined;
1596
1600
  title?: string | undefined;
1597
- contexts?: string[] | undefined;
1601
+ contexts?: ContextType[] | undefined;
1598
1602
  /** Optional. Since Chrome 20. */
1599
1603
  enabled?: boolean | undefined;
1600
1604
  targetUrlPatterns?: string[] | undefined;
1601
1605
  onclick?: Function | undefined;
1602
1606
  /** Optional. Note: You cannot change an item to be a child of one of its own descendants. */
1603
1607
  parentId?: number | string;
1604
- type?: string | undefined;
1608
+ type?: ContextItemType | undefined;
1605
1609
  /**
1606
1610
  * Optional.
1607
1611
  * @since Chrome 62.
@@ -5402,6 +5406,8 @@ declare namespace chrome.networking.config {
5402
5406
  * @since Chrome 28.
5403
5407
  */
5404
5408
  declare namespace chrome.notifications {
5409
+ export type TemplateType = "basic" | "image" | "list" | "progress";
5410
+
5405
5411
  export interface ButtonOptions {
5406
5412
  title: string;
5407
5413
  iconUrl?: string | undefined;
@@ -5414,19 +5420,7 @@ declare namespace chrome.notifications {
5414
5420
  message: string;
5415
5421
  }
5416
5422
 
5417
- export interface NotificationOptions {
5418
- /** Optional. Which type of notification to display. Required for notifications.create method. */
5419
- type?: string | undefined;
5420
- /**
5421
- * Optional.
5422
- * A URL to the sender's avatar, app icon, or a thumbnail for image notifications.
5423
- * URLs can be a data URL, a blob URL, or a URL relative to a resource within this extension's .crx file Required for notifications.create method.
5424
- */
5425
- iconUrl?: string | undefined;
5426
- /** Optional. Title of the notification (e.g. sender name for email). Required for notifications.create method. */
5427
- title?: string | undefined;
5428
- /** Optional. Main notification content. Required for notifications.create method. */
5429
- message?: string | undefined;
5423
+ export type NotificationOptions<T extends boolean = false> = {
5430
5424
  /**
5431
5425
  * Optional.
5432
5426
  * Alternate notification content with a lower-weight font.
@@ -5473,7 +5467,32 @@ declare namespace chrome.notifications {
5473
5467
  * @since Chrome 70
5474
5468
  */
5475
5469
  silent?: boolean | undefined;
5476
- }
5470
+ } & (T extends true ? {
5471
+ /**
5472
+ * A URL to the sender's avatar, app icon, or a thumbnail for image notifications.
5473
+ * URLs can be a data URL, a blob URL, or a URL relative to a resource within this extension's .crx file. Required for notifications.create method.
5474
+ */
5475
+ iconUrl: string;
5476
+ /** Main notification content. Required for notifications.create method. */
5477
+ message: string;
5478
+ /** Which type of notification to display. Required for notifications.create method. */
5479
+ type: TemplateType;
5480
+ /** Title of the notification (e.g. sender name for email). Required for notifications.create method. */
5481
+ title: string;
5482
+ } : {
5483
+ /**
5484
+ * Optional.
5485
+ * A URL to the sender's avatar, app icon, or a thumbnail for image notifications.
5486
+ * URLs can be a data URL, a blob URL, or a URL relative to a resource within this extension's .crx file. Required for notifications.create method.
5487
+ */
5488
+ iconUrl?: string | undefined;
5489
+ /** Optional. Main notification content. Required for notifications.create method. */
5490
+ message?: string | undefined;
5491
+ /** Optional. Which type of notification to display. Required for notifications.create method. */
5492
+ type?: TemplateType | undefined;
5493
+ /** Optional. Title of the notification (e.g. sender name for email). Required for notifications.create method. */
5494
+ title?: string | undefined;
5495
+ })
5477
5496
 
5478
5497
  export interface NotificationClosedEvent
5479
5498
  extends chrome.events.Event<(notificationId: string, byUser: boolean) => void> { }
@@ -5516,7 +5535,7 @@ declare namespace chrome.notifications {
5516
5535
  */
5517
5536
  export function create(
5518
5537
  notificationId: string,
5519
- options: NotificationOptions,
5538
+ options: NotificationOptions<true>,
5520
5539
  callback?: (notificationId: string) => void,
5521
5540
  ): void;
5522
5541
  /**
@@ -5529,7 +5548,7 @@ declare namespace chrome.notifications {
5529
5548
  * If you specify the callback parameter, it should be a function that looks like this:
5530
5549
  * function(string notificationId) {...};
5531
5550
  */
5532
- export function create(options: NotificationOptions, callback?: (notificationId: string) => void): void;
5551
+ export function create(options: NotificationOptions<true>, callback?: (notificationId: string) => void): void;
5533
5552
  /**
5534
5553
  * Updates an existing notification.
5535
5554
  * @param notificationId The id of the notification to be updated. This is returned by notifications.create method.
@@ -6488,6 +6507,13 @@ declare namespace chrome.runtime {
6488
6507
  export type PlatformArch = 'arm' | 'arm64' | 'x86-32' | 'x86-64' | 'mips' | 'mips64';
6489
6508
  /** https://developer.chrome.com/docs/extensions/reference/runtime/#type-PlatformNaclArch */
6490
6509
  export type PlatformNaclArch = 'arm' | 'x86-32' | 'x86-64' | 'mips' | 'mips64';
6510
+ /** https://developer.chrome.com/docs/extensions/reference/runtime/#type-OnInstalledReason */
6511
+ export enum OnInstalledReason {
6512
+ INSTALL = 'install',
6513
+ UPDATE = 'update',
6514
+ CHROME_UPDATE = 'chrome_update',
6515
+ SHARED_MODULE_UPDATE = 'shared_module_update'
6516
+ }
6491
6517
 
6492
6518
  export interface LastError {
6493
6519
  /** Optional. Details about the error which occurred. */
@@ -6502,9 +6528,8 @@ declare namespace chrome.runtime {
6502
6528
  export interface InstalledDetails {
6503
6529
  /**
6504
6530
  * The reason that this event is being dispatched.
6505
- * One of: "install", "update", "chrome_update", or "shared_module_update"
6506
6531
  */
6507
- reason: string;
6532
+ reason: OnInstalledReason;
6508
6533
  /**
6509
6534
  * Optional.
6510
6535
  * Indicates the previous version of the extension, which has just been updated. This is present only if 'reason' is 'update'.
@@ -7127,7 +7152,10 @@ declare namespace chrome.runtime {
7127
7152
  declare namespace chrome.scripting {
7128
7153
 
7129
7154
  /* The CSS style origin for a style change. */
7130
- export type StyleOrigin = "AUTHOR" | "USER";
7155
+ export type StyleOrigin = 'AUTHOR' | 'USER';
7156
+
7157
+ /* The JavaScript world for a script to execute within. */
7158
+ export type ExecutionWorld = 'ISOLATED' | 'MAIN';
7131
7159
 
7132
7160
  export interface InjectionResult {
7133
7161
  /* The frame associated with the injection. */
@@ -7159,6 +7187,8 @@ declare namespace chrome.scripting {
7159
7187
  export type ScriptInjection<Args extends any[] = []> = {
7160
7188
  /* Details specifying the target into which to inject the script. */
7161
7189
  target: InjectionTarget;
7190
+ /* The JavaScript world for a script to execute within. */
7191
+ world?: ExecutionWorld;
7162
7192
  } & ({
7163
7193
  /* The path of the JS files to inject, relative to the extension's root directory. NOTE: Currently a maximum of one file is supported. Exactly one of files and function must be specified. */
7164
7194
  files: string[];
chrome/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/chrome",
3
- "version": "0.0.166",
3
+ "version": "0.0.170",
4
4
  "description": "TypeScript definitions for Chrome extension development",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chrome",
6
6
  "license": "MIT",
@@ -103,6 +103,6 @@
103
103
  "@types/filesystem": "*",
104
104
  "@types/har-format": "*"
105
105
  },
106
- "typesPublisherContentHash": "f832dec8364fd12f0e0dcd9324d75ea3acded604e45d458a8493b5e501acc7ab",
106
+ "typesPublisherContentHash": "7b8a3b7326117b80093beaf50ba7c6f0b7dc907c6c86559c665d9a422daa47ac",
107
107
  "typeScriptVersion": "3.8"
108
108
  }