summaryrefslogtreecommitdiffstats
path: root/extensions/common/api/app_current_window_internal.idl
blob: e6dc17d198a29b7e3655f7c2d21224ab061c92e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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();
  };
};