// 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. // This is used by the app window API internally to pass through messages to // the shell window. namespace app.currentWindowInternal { // Null or undefined indicates that a value should not change. dictionary Bounds { long? left; long? top; long? width; long? height; }; // Null or undefined indicates that a value should not change. A value of 0 // will clear the constraints. dictionary SizeConstraints { long? minWidth; long? minHeight; long? maxWidth; long? maxHeight; }; dictionary RegionRect { long left; long top; long width; long height; }; dictionary Region { RegionRect[]? rects; }; interface Functions { static void focus(); static void fullscreen(); static void minimize(); static void maximize(); static void restore(); static void drawAttention(); static void clearAttention(); static void show(optional boolean focused); static void hide(); static void setBounds(DOMString boundsType, Bounds bounds); static void setSizeConstraints(DOMString boundsType, SizeConstraints constraints); static void setIcon(DOMString icon_url); static void setShape(Region region); static void setAlwaysOnTop(boolean always_on_top); static void setVisibleOnAllWorkspaces(boolean always_visible); }; interface Events { static void onClosed(); static void onBoundsChanged(); static void onFullscreened(); static void onMinimized(); static void onMaximized(); static void onRestored(); static void onAlphaEnabledChanged(); // Only sent in tests. static void onWindowShownForTests(); }; };