Home | History | Annotate | Download | only in api
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // This is a private API since M23. This will be superceded by the
      6 // systeminfo.storage API in the future.
      7 // See http://crbug.com/166950 and http://crbug.com/177605.
      8 namespace mediaGalleriesPrivate {
      9   // A dictionary that describes an attached device.
     10   [inline_doc] dictionary DeviceAttachmentDetails {
     11     // The name of the device.
     12     DOMString deviceName;
     13 
     14     // A transient id that unique identifies the device.
     15     DOMString deviceId;
     16   };
     17 
     18   // A dictionary that describes a detached device.
     19   [inline_doc] dictionary DeviceDetachmentDetails {
     20     // A transient id that unique identifies the device.
     21     DOMString deviceId;
     22   };
     23 
     24   // A dictionary that describes the modified gallery.
     25   [inline_doc] dictionary GalleryChangeDetails {
     26     // Gallery identifier.
     27     DOMString galleryId;
     28   };
     29 
     30   interface Events {
     31     // Fired when a media device gets attached.
     32     static void onDeviceAttached(DeviceAttachmentDetails details);
     33 
     34     // Fired when a media device gets detached.
     35     static void onDeviceDetached(DeviceDetachmentDetails details);
     36 
     37     // Fired when a media gallery is changed.
     38     static void onGalleryChanged(GalleryChangeDetails details);
     39   };
     40 
     41   // A dictionary that describes the add gallery watch request results.
     42   dictionary AddGalleryWatchResult {
     43     DOMString galleryId;
     44     boolean success;
     45   };
     46 
     47   callback AddGalleryWatchCallback = void (AddGalleryWatchResult result);
     48   callback GetAllGalleryWatchCallback = void (DOMString[] galleryIds);
     49 
     50   // A dictionary that describes a media galleries handler.
     51   [inline_doc] dictionary MediaGalleriesHandler {
     52     // Unique action id per extension.
     53     DOMString id;
     54 
     55     // ID of the extension handling this handler.
     56     DOMString extensionId;
     57 
     58     // Localized title describing the action.
     59     DOMString title;
     60 
     61     // Url of the icon.
     62     DOMString iconUrl;
     63   };
     64 
     65   callback GetHandlersCallback = void (MediaGalleriesHandler[] handlers);
     66 
     67   interface Functions {
     68     static void addGalleryWatch(DOMString galleryId,
     69                                 AddGalleryWatchCallback callback);
     70     static void removeGalleryWatch(DOMString galleryId);
     71     static void getAllGalleryWatch(GetAllGalleryWatchCallback callback);
     72     static void removeAllGalleryWatch();
     73     static void getHandlers(GetHandlersCallback callback);
     74   };
     75 };
     76