| Index: extensions/common/api/system_display.idl
|
| diff --git a/extensions/common/api/system_display.idl b/extensions/common/api/system_display.idl
|
| index 31fe79c6e97ae7522f0578a9d999d9453f14652b..b0600f4972c20a97a8da071fbdb40de89a9561b8 100644
|
| --- a/extensions/common/api/system_display.idl
|
| +++ b/extensions/common/api/system_display.idl
|
| @@ -59,6 +59,25 @@ namespace system.display {
|
| boolean isSelected;
|
| };
|
|
|
| + // Layout position, i.e. edge of parent that the display is attached to.
|
| + enum LayoutPosition { top, right, bottom, left };
|
| +
|
| + dictionary DisplayLayout {
|
| + // The unique identifier of the display.
|
| + DOMString id;
|
| +
|
| + // The unique identifier of the parent display. Empty if this is the root.
|
| + DOMString parentId;
|
| +
|
| + // The layout position of this display relative to the parent. This will
|
| + // be ignored for the root.
|
| + LayoutPosition position;
|
| +
|
| + // The offset of the display along the connected edge. 0 indicates that
|
| + // the topmost or leftmost corners are aligned.
|
| + long offset;
|
| + };
|
| +
|
| dictionary DisplayUnitInfo {
|
| // The unique identifier of the display.
|
| DOMString id;
|
| @@ -152,12 +171,18 @@ namespace system.display {
|
| };
|
|
|
| callback DisplayInfoCallback = void (DisplayUnitInfo[] displayInfo);
|
| + callback DisplayLayoutCallback = void (DisplayLayout[] layouts);
|
| callback SetDisplayUnitInfoCallback = void();
|
| + callback SetDisplayLayoutCallback = void();
|
|
|
| interface Functions {
|
| // Get the information of all attached display devices.
|
| static void getInfo(DisplayInfoCallback callback);
|
|
|
| + // Get the layout info for all displays.
|
| + // NOTE: This is only available to Chrome OS Kiosk apps and Web UI.
|
| + static void getDisplayLayout(DisplayLayoutCallback callback);
|
| +
|
| // Updates the properties for the display specified by |id|, according to
|
| // the information provided in |info|. On failure, $(ref:runtime.lastError)
|
| // will be set.
|
| @@ -174,6 +199,19 @@ namespace system.display {
|
| DisplayProperties info,
|
| optional SetDisplayUnitInfoCallback callback);
|
|
|
| + // Set the layout for all displays. Any display not included will use the
|
| + // default layout. If a layout would overlap or be otherwise invalid it
|
| + // will be adjusted to a valid layout. After layout is resolved, an
|
| + // onDisplayChanged event will be triggered.
|
| + // NOTE: This is only available to Chrome OS Kiosk apps and Web UI.
|
| + // |layouts|: The layout information, required for all displays except
|
| + // the primary display.
|
| + // |callback|: Empty function called when the function finishes. To find out
|
| + // whether the function succeeded, $(ref:runtime.lastError) should be
|
| + // queried.
|
| + static void setDisplayLayout(DisplayLayout[] layouts,
|
| + optional SetDisplayLayoutCallback callback);
|
| +
|
| // Enables/disables the unified desktop feature. Note that this simply
|
| // enables the feature, but will not change the actual desktop mode.
|
| // (That is, if the desktop is in mirror mode, it will stay in mirror mode)
|
|
|