windows.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. // This file was generated by:
  5. // tools/json_schema_compiler/compiler.py.
  6. // NOTE: The format of types has changed. 'FooType' is now
  7. // 'chrome.windows.FooType'.
  8. // Please run the closure compiler before committing changes.
  9. // See https://chromium.googlesource.com/chromium/src/+/main/docs/closure_compilation.md
  10. // IMPORTANT NOTE: Work-around for crbug.com/543822
  11. // s/chrome.windows.tabs.Tab/chrome.tabs.Tab/
  12. /** @fileoverview Externs generated from namespace: windows */
  13. /** @const */
  14. chrome.windows = {};
  15. /**
  16. * @enum {string}
  17. * @see https://developer.chrome.com/extensions/windows#type-WindowType
  18. */
  19. chrome.windows.WindowType = {
  20. NORMAL: 'normal',
  21. POPUP: 'popup',
  22. PANEL: 'panel',
  23. APP: 'app',
  24. DEVTOOLS: 'devtools',
  25. };
  26. /**
  27. * @enum {string}
  28. * @see https://developer.chrome.com/extensions/windows#type-WindowState
  29. */
  30. chrome.windows.WindowState = {
  31. NORMAL: 'normal',
  32. MINIMIZED: 'minimized',
  33. MAXIMIZED: 'maximized',
  34. FULLSCREEN: 'fullscreen',
  35. LOCKED_FULLSCREEN: 'locked-fullscreen',
  36. };
  37. /**
  38. * @typedef {{
  39. * id: (number|undefined),
  40. * focused: boolean,
  41. * top: (number|undefined),
  42. * left: (number|undefined),
  43. * width: (number|undefined),
  44. * height: (number|undefined),
  45. * tabs: (!Array<!chrome.tabs.Tab>|undefined),
  46. * incognito: boolean,
  47. * type: (!chrome.windows.WindowType|undefined),
  48. * state: (!chrome.windows.WindowState|undefined),
  49. * alwaysOnTop: boolean,
  50. * sessionId: (string|undefined)
  51. * }}
  52. * @see https://developer.chrome.com/extensions/windows#type-Window
  53. */
  54. chrome.windows.Window;
  55. /**
  56. * @enum {string}
  57. * @see https://developer.chrome.com/extensions/windows#type-CreateType
  58. */
  59. chrome.windows.CreateType = {
  60. NORMAL: 'normal',
  61. POPUP: 'popup',
  62. PANEL: 'panel',
  63. };
  64. /**
  65. * @typedef {{
  66. * populate: (boolean|undefined),
  67. * windowTypes: (!Array<!chrome.windows.WindowType>|undefined)
  68. * }}
  69. * @see https://developer.chrome.com/extensions/windows#type-QueryOptions
  70. */
  71. chrome.windows.QueryOptions;
  72. /**
  73. * The windowId value that represents the absence of a Chrome browser window.
  74. * @type {number}
  75. * @see https://developer.chrome.com/extensions/windows#type-WINDOW_ID_NONE
  76. */
  77. chrome.windows.WINDOW_ID_NONE;
  78. /**
  79. * The windowId value that represents the <a href='windows#current-window'>current window</a>.
  80. * @type {number}
  81. * @see https://developer.chrome.com/extensions/windows#type-WINDOW_ID_CURRENT
  82. */
  83. chrome.windows.WINDOW_ID_CURRENT;
  84. /**
  85. * Gets details about a window.
  86. * @param {number} windowId
  87. * @param {?chrome.windows.QueryOptions|undefined} queryOptions
  88. * @param {function(!chrome.windows.Window): void} callback
  89. * @see https://developer.chrome.com/extensions/windows#method-get
  90. */
  91. chrome.windows.get = function(windowId, queryOptions, callback) {};
  92. /**
  93. * Gets the <a href='#current-window'>current window</a>.
  94. * @param {?chrome.windows.QueryOptions|undefined} queryOptions
  95. * @param {function(!chrome.windows.Window): void} callback
  96. * @see https://developer.chrome.com/extensions/windows#method-getCurrent
  97. */
  98. chrome.windows.getCurrent = function(queryOptions, callback) {};
  99. /**
  100. * Gets the window that was most recently focused &mdash; typically the window
  101. * 'on top'.
  102. * @param {?chrome.windows.QueryOptions|undefined} queryOptions
  103. * @param {function(!chrome.windows.Window): void} callback
  104. * @see https://developer.chrome.com/extensions/windows#method-getLastFocused
  105. */
  106. chrome.windows.getLastFocused = function(queryOptions, callback) {};
  107. /**
  108. * Gets all windows.
  109. * @param {?chrome.windows.QueryOptions|undefined} queryOptions
  110. * @param {function(!Array<!chrome.windows.Window>): void} callback
  111. * @see https://developer.chrome.com/extensions/windows#method-getAll
  112. */
  113. chrome.windows.getAll = function(queryOptions, callback) {};
  114. /**
  115. * Creates (opens) a new browser window with any optional sizing, position, or
  116. * default URL provided.
  117. * @param {{
  118. * url: ((string|!Array<string>)|undefined),
  119. * tabId: (number|undefined),
  120. * left: (number|undefined),
  121. * top: (number|undefined),
  122. * width: (number|undefined),
  123. * height: (number|undefined),
  124. * focused: (boolean|undefined),
  125. * incognito: (boolean|undefined),
  126. * type: (!chrome.windows.CreateType|undefined),
  127. * state: (!chrome.windows.WindowState|undefined),
  128. * setSelfAsOpener: (boolean|undefined)
  129. * }=} createData
  130. * @param {function((!chrome.windows.Window|undefined)): void=} callback
  131. * @see https://developer.chrome.com/extensions/windows#method-create
  132. */
  133. chrome.windows.create = function(createData, callback) {};
  134. /**
  135. * Updates the properties of a window. Specify only the properties that to be
  136. * changed; unspecified properties are unchanged.
  137. * @param {number} windowId
  138. * @param {{
  139. * left: (number|undefined),
  140. * top: (number|undefined),
  141. * width: (number|undefined),
  142. * height: (number|undefined),
  143. * focused: (boolean|undefined),
  144. * drawAttention: (boolean|undefined),
  145. * state: (!chrome.windows.WindowState|undefined)
  146. * }} updateInfo
  147. * @param {function(!chrome.windows.Window): void=} callback
  148. * @see https://developer.chrome.com/extensions/windows#method-update
  149. */
  150. chrome.windows.update = function(windowId, updateInfo, callback) {};
  151. /**
  152. * Removes (closes) a window and all the tabs inside it.
  153. * @param {number} windowId
  154. * @param {function(): void=} callback
  155. * @see https://developer.chrome.com/extensions/windows#method-remove
  156. */
  157. chrome.windows.remove = function(windowId, callback) {};
  158. /**
  159. * Fired when a window is created.
  160. * @type {!ChromeEvent}
  161. * @see https://developer.chrome.com/extensions/windows#event-onCreated
  162. */
  163. chrome.windows.onCreated;
  164. /**
  165. * Fired when a window is removed (closed).
  166. * @type {!ChromeEvent}
  167. * @see https://developer.chrome.com/extensions/windows#event-onRemoved
  168. */
  169. chrome.windows.onRemoved;
  170. /**
  171. * Fired when the currently focused window changes. Returns
  172. * <code>chrome.windows.WINDOW_ID_NONE</code> if all Chrome windows have lost
  173. * focus. <b>Note:</b> On some Linux window managers,
  174. * <code>WINDOW_ID_NONE</code> is always sent immediately preceding a switch
  175. * from one Chrome window to another.
  176. * @type {!ChromeEvent}
  177. * @see https://developer.chrome.com/extensions/windows#event-onFocusChanged
  178. */
  179. chrome.windows.onFocusChanged;
  180. /**
  181. * Fired when a window has been resized; this event is only dispatched when the
  182. * new bounds are committed, and not for in-progress changes.
  183. * @type {!ChromeEvent}
  184. * @see https://developer.chrome.com/extensions/windows#event-onBoundsChanged
  185. */
  186. chrome.windows.onBoundsChanged;