blob: 7734a71f27219526962299f27ab8b98faa1f96be [file] [log] [blame]
// 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 <code>chrome.shell</code> API to watch for launch events and create
// windows. The <code>createWindow</code> API is a subset of
// <code>chrome.app.window.create</code>.
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:<br>
// <code>function(createdWindow) { createdWindow.contentWindow.foo =
// function () { }; };</code>
// <br>window.js:<br>
// <code>window.onload = function () { foo(); }</code>
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();
};
interface Events {
// Fired when the app is launched at app_shell startup.
static void onLaunched(optional object launchDataPlaceholder);
};
};