b2g/components/b2g.idl
author Scott Johnson <sjohnson@mozilla.com>
Thu, 14 Feb 2013 16:26:38 -0600
changeset 122067 bb00c745a2586d6a4be0fd2093a61e7c81fcd442
parent 111107 9ae8f8f7028fbd5793247806c7ffcaaf3ed79a67
child 124925 901a79e85148dc4dd921072683becaf477fb492a
permissions -rw-r--r--
Bug 840331: Rev IID of B2GKeyboard interface. [r=bsmedberg]

/* 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/. */

#include "domstubs.idl"

[scriptable, uuid(3615a616-571d-4194-bf54-ccf546067b14)]
interface nsIB2GCameraContent : nsISupports
{
  /* temporary solution, waiting for getUserMedia */
  DOMString getCameraURI([optional] in jsval options);
};

[scriptable, uuid(94233b76-3987-4fc0-8924-7596846f9bd3)]
interface nsIB2GKeyboard : nsISupports
{
  void sendKey(in long keyCode, in long charCode);

  // Select the <select> option specified by index.
  // If this method is called on a <select> that support multiple
  // selection, then the option specified by index will be added to
  // the selection.
  // If this method is called for a select that does not support multiple
  // selection the previous element will be unselected.
  void setSelectedOption(in jsval index);

  // Select the <select> options specified by indexes. All other options
  // will be deselected.
  // If this method is called for a <select> that does not support multiple
  // selection, then the last index specified in indexes will be selected.
  void setSelectedOptions(in jsval indexes);

  // Set the value on the currently focused element. This has to be used
  // for special situations where the value had to be chosen amongst a
  // list (type=month) or a widget (type=date, time, etc.).
  // If the value passed in parameter isn't valid (in the term of HTML5
  // Forms Validation), the value will simply be ignored by the element. 
  void setValue(in jsval value);

  void removeFocus();

  attribute nsIDOMEventListener onfocuschange;
};