// Copyright 2014 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 chrome.shell API to watch for launch events and create // windows. The createWindow API is a subset of // chrome.app.window.create. namespace shell { [noinline_doc] dictionary CreateWindowOptions { // Stub for the id of a window. This parameter is ignored in app_shell but // provided for compatibility with apps running in Chrome. DOMString? id; // Stubs for the bounds of a window; these parameters are ignored in // app_shell but are provided for compatibility with apps running in Chrome. // The created window will always fill the root window of the default // display. object? innerBounds; object? outerBounds; }; // 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:
// function(createdWindow) { createdWindow.contentWindow.foo = // function () { }; }; //
window.js:
// window.onload = function () { foo(); } callback CreateWindowCallback = void ([instanceOf=AppWindow] object createdWindow); [noinline_doc] dictionary AppWindow { // The JavaScript 'window' object for the created child. [instanceOf=Window] object contentWindow; }; interface Functions { // Creates a fullscreen window on the default display. Options for id and // bounds are ignored. static void createWindow(DOMString url, optional CreateWindowOptions options, optional CreateWindowCallback callback); // Returns an $(ref:AppWindow) object for the current script context // (i.e. JavaScript 'window' object). [nocompile] static AppWindow currentWindow(); [nocompile, nodoc] static void initializeAppWindow(); }; };