Index: chrome/common/extensions/api/app_window.idl |
diff --git a/chrome/common/extensions/api/app_window.idl b/chrome/common/extensions/api/app_window.idl |
deleted file mode 100644 |
index caff663e29def5edda094f0f520ba3571bbe3072..0000000000000000000000000000000000000000 |
--- a/chrome/common/extensions/api/app_window.idl |
+++ /dev/null |
@@ -1,460 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Use the <code>chrome.app.window</code> API to create windows. Windows |
-// have an optional frame with title bar and size controls. They are not |
-// associated with any Chrome browser windows. See the <a |
-// href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/window-state"> |
-// Window State Sample</a> for a demonstration of these options. |
-namespace app.window { |
- |
- // Previously named Bounds. |
- dictionary ContentBounds { |
- long? left; |
- long? top; |
- long? width; |
- long? height; |
- }; |
- |
- dictionary BoundsSpecification { |
- // The X coordinate of the content or window. |
- long? left; |
- |
- // The Y coordinate of the content or window. |
- long? top; |
- |
- // The width of the content or window. |
- long? width; |
- |
- // The height of the content or window. |
- long? height; |
- |
- // The minimum width of the content or window. |
- long? minWidth; |
- |
- // The minimum height of the content or window. |
- long? minHeight; |
- |
- // The maximum width of the content or window. |
- long? maxWidth; |
- |
- // The maximum height of the content or window. |
- long? maxHeight; |
- }; |
- |
- dictionary Bounds { |
- // This property can be used to read or write the current X coordinate of |
- // the content or window. |
- long left; |
- |
- // This property can be used to read or write the current Y coordinate of |
- // the content or window. |
- long top; |
- |
- // This property can be used to read or write the current width of the |
- // content or window. |
- long width; |
- |
- // This property can be used to read or write the current height of the |
- // content or window. |
- long height; |
- |
- // This property can be used to read or write the current minimum width of |
- // the content or window. A value of <code>null</code> indicates |
- // 'unspecified'. |
- long? minWidth; |
- |
- // This property can be used to read or write the current minimum height of |
- // the content or window. A value of <code>null</code> indicates |
- // 'unspecified'. |
- long? minHeight; |
- |
- // This property can be used to read or write the current maximum width of |
- // the content or window. A value of <code>null</code> indicates |
- // 'unspecified'. |
- long? maxWidth; |
- |
- // This property can be used to read or write the current maximum height of |
- // the content or window. A value of <code>null</code> indicates |
- // 'unspecified'. |
- long? maxHeight; |
- |
- // Set the left and top position of the content or window. |
- static void setPosition(long left, long top); |
- |
- // Set the width and height of the content or window. |
- static void setSize(long width, long height); |
- |
- // Set the minimum size constraints of the content or window. The minimum |
- // width or height can be set to <code>null</code> to remove the constraint. |
- // A value of <code>undefined</code> will leave a constraint unchanged. |
- static void setMinimumSize(long minWidth, long minHeight); |
- |
- // Set the maximum size constraints of the content or window. The maximum |
- // width or height can be set to <code>null</code> to remove the constraint. |
- // A value of <code>undefined</code> will leave a constraint unchanged. |
- static void setMaximumSize(long maxWidth, long maxHeight); |
- }; |
- |
- dictionary FrameOptions { |
- // Frame type: <code>none</code> or <code>chrome</code> (defaults to |
- // <code>chrome</code>). |
- // |
- // For <code>none</code>, the <code>-webkit-app-region</code> CSS property |
- // can be used to apply draggability to the app's window. |
- // |
- // <code>-webkit-app-region: drag</code> can be used to mark regions |
- // draggable. <code>no-drag</code> can be used to disable this style on |
- // nested elements. |
- DOMString? type; |
- // Allows the frame color to be set. Frame coloring is only available if the |
- // frame type is <code>chrome</code>. |
- // |
- // Frame coloring is new in Chrome 36. |
- DOMString? color; |
- // Allows the frame color of the window when active to be set. Frame |
- // coloring is only available if the frame type is <code>chrome</code>. |
- // |
- // Frame coloring is only available if the frame type is |
- // <code>chrome</code>. |
- // |
- // Frame coloring is new in Chrome 36. |
- DOMString? activeColor; |
- // Allows the frame color of the window when inactive to be set differently |
- // to the active color. Frame |
- // coloring is only available if the frame type is <code>chrome</code>. |
- // |
- // <code>inactiveColor</code> must be used in conjunction with <code> |
- // color</code>. |
- // |
- // Frame coloring is new in Chrome 36. |
- DOMString? inactiveColor; |
- }; |
- |
- // State of a window: normal, fullscreen, maximized, minimized. |
- enum State { normal, fullscreen, maximized, minimized }; |
- |
- // 'shell' is the default window type. 'panel' is managed by the OS |
- // (Currently experimental, Ash only). |
- [nodoc] enum WindowType { shell, panel }; |
- |
- [noinline_doc] dictionary CreateWindowOptions { |
- // Id to identify the window. This will be used to remember the size |
- // and position of the window and restore that geometry when a window |
- // with the same id is later opened. |
- // If a window with a given id is created while another window with the same |
- // id already exists, the currently opened window will be focused instead of |
- // creating a new window. |
- DOMString? id; |
- |
- // Used to specify the initial position, initial size and constraints of the |
- // window's content (excluding window decorations). |
- // If an <code>id</code> is also specified and a window with a matching |
- // <code>id</code> has been shown before, the remembered bounds will be used |
- // instead. |
- // |
- // Note that the padding between the inner and outer bounds is determined by |
- // the OS. Therefore setting the same bounds property for both the |
- // <code>innerBounds</code> and <code>outerBounds</code> will result in an |
- // error. |
- // |
- // This property is new in Chrome 36. |
- BoundsSpecification? innerBounds; |
- |
- // Used to specify the initial position, initial size and constraints of the |
- // window (including window decorations such as the title bar and frame). |
- // If an <code>id</code> is also specified and a window with a matching |
- // <code>id</code> has been shown before, the remembered bounds will be used |
- // instead. |
- // |
- // Note that the padding between the inner and outer bounds is determined by |
- // the OS. Therefore setting the same bounds property for both the |
- // <code>innerBounds</code> and <code>outerBounds</code> will result in an |
- // error. |
- // |
- // This property is new in Chrome 36. |
- BoundsSpecification? outerBounds; |
- |
- // Default width of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? defaultWidth; |
- |
- // Default height of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? defaultHeight; |
- |
- // Default X coordinate of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? defaultLeft; |
- |
- // Default Y coordinate of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? defaultTop; |
- |
- // Width of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? width; |
- |
- // Height of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? height; |
- |
- // X coordinate of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? left; |
- |
- // Y coordinate of the window. |
- [nodoc, deprecated="Use $(ref:BoundsSpecification)."] long? top; |
- |
- // Minimum width of the window. |
- [deprecated="Use innerBounds or outerBounds."] long? minWidth; |
- |
- // Minimum height of the window. |
- [deprecated="Use innerBounds or outerBounds."] long? minHeight; |
- |
- // Maximum width of the window. |
- [deprecated="Use innerBounds or outerBounds."] long? maxWidth; |
- |
- // Maximum height of the window. |
- [deprecated="Use innerBounds or outerBounds."] long? maxHeight; |
- |
- // Type of window to create. |
- [nodoc] WindowType? type; |
- |
- // Frame type: <code>none</code> or <code>chrome</code> (defaults to |
- // <code>chrome</code>). For <code>none</code>, the |
- // <code>-webkit-app-region</code> CSS property can be used to apply |
- // draggability to the app's window. <code>-webkit-app-region: drag</code> |
- // can be used to mark regions draggable. <code>no-drag</code> can be used |
- // to disable this style on nested elements. |
- // |
- // Use of <code>FrameOptions</code> is new in M36. |
- (DOMString or FrameOptions)? frame; |
- |
- // Size and position of the content in the window (excluding the titlebar). |
- // If an id is also specified and a window with a matching id has been shown |
- // before, the remembered bounds of the window will be used instead. |
- [deprecated="Use innerBounds or outerBounds."] ContentBounds? bounds; |
- |
- // Enable window background transparency. |
- // Only supported in ash. Requires app.window.alpha API permission. |
- boolean? alphaEnabled; |
- |
- // The initial state of the window, allowing it to be created already |
- // fullscreen, maximized, or minimized. Defaults to 'normal'. |
- State? state; |
- |
- // If true, the window will be created in a hidden state. Call show() on |
- // the window to show it once it has been created. Defaults to false. |
- boolean? hidden; |
- |
- // If true, the window will be resizable by the user. Defaults to true. |
- boolean? resizable; |
- |
- // By default if you specify an id for the window, the window will only be |
- // created if another window with the same id doesn't already exist. If a |
- // window with the same id already exists that window is activated instead. |
- // If you do want to create multiple windows with the same id, you can |
- // set this property to false. |
- [deprecated="Multiple windows with the same id is no longer supported."] boolean? singleton; |
- |
- // If true, the window will stay above most other windows. If there are |
- // multiple windows of this kind, the currently focused window will be in |
- // the foreground. Requires the <code>"alwaysOnTopWindows"</code> |
- // permission. Defaults to false. |
- // |
- // Call <code>setAlwaysOnTop()</code> on the window to change this property |
- // after creation. |
- boolean? alwaysOnTop; |
- |
- // If true, the window will be focused when created. Defaults to true. |
- boolean? focused; |
- }; |
- |
- // Called in the creating window (parent) before the load event is called in |
- // the created window (child). The parent can set fields or functions on the |
- // child usable from onload. E.g. background.js: |
- // |
- // <code>function(createdWindow) { createdWindow.contentWindow.foo = |
- // function () { }; };</code> |
- // |
- // window.js: |
- // |
- // <code>window.onload = function () { foo(); }</code> |
- callback CreateWindowCallback = |
- void ([instanceOf=AppWindow] object createdWindow); |
- |
- [noinline_doc] dictionary AppWindow { |
- // Focus the window. |
- static void focus(); |
- |
- // Fullscreens the window. |
- // |
- // The user will be able to restore the window by pressing ESC. An |
- // application can prevent the fullscreen state to be left when ESC is |
- // pressed by requesting the <b>overrideEscFullscreen</b> permission and |
- // canceling the event by calling .preventDefault(), like this: |
- // |
- // <code>window.onKeyDown = function(e) { if (e.keyCode == 27 /* ESC */) { |
- // e.preventDefault(); } };</code> |
- static void fullscreen(); |
- |
- // Is the window fullscreen? |
- static boolean isFullscreen(); |
- |
- // Minimize the window. |
- static void minimize(); |
- |
- // Is the window minimized? |
- static boolean isMinimized(); |
- |
- // Maximize the window. |
- static void maximize(); |
- |
- // Is the window maximized? |
- static boolean isMaximized(); |
- |
- // Restore the window, exiting a maximized, minimized, or fullscreen state. |
- static void restore(); |
- |
- // Move the window to the position (|left|, |top|). |
- static void moveTo(long left, long top); |
- |
- // Resize the window to |width|x|height| pixels in size. |
- static void resizeTo(long width, long height); |
- |
- // Draw attention to the window. |
- static void drawAttention(); |
- |
- // Clear attention to the window. |
- static void clearAttention(); |
- |
- // Close the window. |
- static void close(); |
- |
- // Show the window. Does nothing if the window is already visible. |
- // Focus the window if |focused| is set to true or omitted. |
- static void show(optional boolean focused); |
- |
- // Hide the window. Does nothing if the window is already hidden. |
- static void hide(); |
- |
- // Get the window's inner bounds as a $(ref:ContentBounds) object. |
- [nocompile, deprecated="Use innerBounds or outerBounds."] static ContentBounds getBounds(); |
- |
- // Set the window's inner bounds. |
- [nocompile, deprecated="Use innerBounds or outerBounds."] static void setBounds(ContentBounds bounds); |
- |
- // Set the app icon for the window (experimental). |
- // Currently this is only being implemented on Ash. |
- // TODO(stevenjb): Investigate implementing this on Windows and OSX. |
- [nodoc] static void setIcon(DOMString iconUrl); |
- |
- // Set a badge icon for the window. |
- // TODO(benwells): Document this properly before going to stable. |
- [nodoc] static void setBadgeIcon(DOMString iconUrl); |
- |
- // Clear the current for the window. |
- // TODO(benwells): Document this properly before going to stable. |
- [nodoc] static void clearBadge(); |
- |
- // Is the window always on top? |
- static boolean isAlwaysOnTop(); |
- |
- // Accessors for testing. |
- [nodoc] boolean hasFrameColor; |
- [nodoc] long activeFrameColor; |
- [nodoc] long inactiveFrameColor; |
- [nodoc] boolean? firstShowHasHappened; |
- |
- // Set whether the window should stay above most other windows. Requires the |
- // <code>"alwaysOnTopWindows"</code> permission. |
- static void setAlwaysOnTop(boolean alwaysOnTop); |
- |
- // Can the window use alpha transparency? |
- // TODO(jackhou): Document this properly before going to stable. |
- [nodoc] static boolean alphaEnabled(); |
- |
- // The JavaScript 'window' object for the created child. |
- [instanceOf=Window] object contentWindow; |
- |
- // The id the window was created with. |
- DOMString id; |
- |
- // The position, size and constraints of the window's content, which does |
- // not include window decorations. |
- // This property is new in Chrome 36. |
- Bounds innerBounds; |
- |
- // The position, size and constraints of the window, which includes window |
- // decorations, such as the title bar and frame. |
- // This property is new in Chrome 36. |
- Bounds outerBounds; |
- }; |
- |
- interface Functions { |
- // The size and position of a window can be specified in a number of |
- // different ways. The most simple option is not specifying anything at |
- // all, in which case a default size and platform dependent position will |
- // be used. |
- // |
- // To set the position, size and constraints of the window, use the |
- // <code>innerBounds</code> or <code>outerBounds</code> properties. Inner |
- // bounds do not include window decorations. Outer bounds include the |
- // window's title bar and frame. Note that the padding between the inner and |
- // outer bounds is determined by the OS. Therefore setting the same property |
- // for both inner and outer bounds is considered an error (for example, |
- // setting both <code>innerBounds.left</code> and |
- // <code>outerBounds.left</code>). |
- // |
- // To automatically remember the positions of windows you can give them ids. |
- // If a window has an id, This id is used to remember the size and position |
- // of the window whenever it is moved or resized. This size and position is |
- // then used instead of the specified bounds on subsequent opening of a |
- // window with the same id. If you need to open a window with an id at a |
- // location other than the remembered default, you can create it hidden, |
- // move it to the desired location, then show it. |
- static void create(DOMString url, |
- optional CreateWindowOptions options, |
- optional CreateWindowCallback callback); |
- |
- // Returns an $(ref:AppWindow) object for the |
- // current script context (ie JavaScript 'window' object). This can also be |
- // called on a handle to a script context for another page, for example: |
- // otherWindow.chrome.app.window.current(). |
- [nocompile] static AppWindow current(); |
- [nocompile, nodoc] static void initializeAppWindow(object state); |
- |
- // Gets an array of all currently created app windows. This method is new in |
- // Chrome 33. |
- [nocompile] static AppWindow[] getAll(); |
- |
- // Gets an $(ref:AppWindow) with the given id. If no window with the given id |
- // exists null is returned. This method is new in Chrome 33. |
- [nocompile] static AppWindow get(DOMString id); |
- }; |
- |
- interface Events { |
- // Fired when the window is resized. |
- [nocompile] static void onBoundsChanged(); |
- |
- // Fired when the window is closed. Note, this should be listened to from |
- // a window other than the window being closed, for example from the |
- // background page. This is because the window being closed will be in the |
- // process of being torn down when the event is fired, which means not all |
- // APIs in the window's script context will be functional. |
- [nocompile] static void onClosed(); |
- |
- // Fired when the window is fullscreened. |
- [nocompile] static void onFullscreened(); |
- |
- // Fired when the window is maximized. |
- [nocompile] static void onMaximized(); |
- |
- // Fired when the window is minimized. |
- [nocompile] static void onMinimized(); |
- |
- // Fired when the window is restored from being minimized or maximized. |
- [nocompile] static void onRestored(); |
- |
- // Fired when the window's ability to use alpha transparency changes. |
- [nocompile, nodoc] static void onAlphaEnabledChanged(); |
- |
- // Event for testing. Lets tests wait until a window has been shown. |
- [nocompile, nodoc] static void onWindowFirstShown(); |
- }; |
-}; |