// Copyright 2016 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.

module ui.mojom;

import "services/ui/public/interfaces/window_tree_constants.mojom";

interface ScreenProviderObserver {
  // Sent when the observer is added as well as any time the set of displays
  // changes in any way. |displays| contains all known displays. If the system
  // that WS is running on has an integrated display, for example a laptop
  // internal display, then |internal_display_id| will be the corresponding
  // dislay id. If there is no internal display then |internal_display_id| will
  // be kInvalidDisplayID.
  OnDisplaysChanged(array<WsDisplay> displays,
                    int64 primary_display_id,
                    int64 internal_display_id);
};

// TODO(sky): remove this once ws has been removed. https://crbug.com/837713
interface ScreenProvider {
  // Adding an observer triggers a notification with the initial values.
  AddObserver(ScreenProviderObserver observer);
};
