dom/chrome-webidl/PlacesObservers.webidl
author Dave Townsend <dtownsend@oxymoronical.com>
Wed, 06 Feb 2019 11:09:06 -0800
changeset 520643 fbef638149b4426032f58903a9abf480341a3ff8
parent 499115 fbfcfc27ab30434eaac667cbbf9d33ded0abb571
child 524070 b0af7322659c66d6bd72958713c5737f3ce30822
permissions -rw-r--r--
Bug 1518639: Add boilerplate support for a windows remote client and server. r=jimm,froydnj Adds build config and stubs for a windows implementation of the remote client and server. Differential Revision: https://phabricator.services.mozilla.com/D19074

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 */

callback PlacesEventCallback = void (sequence<PlacesEvent> events);

[ChromeOnly, Exposed=Window,
 Constructor(PlacesEventCallback callback)]
interface PlacesWeakCallbackWrapper {
};

// Global singleton which should handle all events for places.
[ChromeOnly, Exposed=Window]
namespace PlacesObservers {
  [Throws]
  void addListener(sequence<PlacesEventType> eventTypes,
                   PlacesEventCallback listener);
  [Throws]
  void addListener(sequence<PlacesEventType> eventTypes,
                   PlacesWeakCallbackWrapper listener);
  [Throws]
  void removeListener(sequence<PlacesEventType> eventTypes,
                      PlacesEventCallback listener);
  [Throws]
  void removeListener(sequence<PlacesEventType> eventTypes,
                      PlacesWeakCallbackWrapper listener);
  [Throws]
  void notifyListeners(sequence<PlacesEvent> events);
};