author Mike de Boer <>
Fri, 10 Apr 2015 13:23:14 +0200
changeset 267072 719d7e41abeac7fee33b6d7ab4676ed6b537c3af
parent 265971 a391057b98933956ff8b6f54949dbf294e751a1d
child 301730 f891c4f77f678eb871252527f70a7a2f8705fda1
permissions -rw-r--r--
Bug 1132301 - Part 5: Add unit tests for the Social Sharing feature of Loop. r=Standard8, a=lizzard

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

interface TelephonyCall : EventTarget {
  // Indicate which service the call comes from.
  readonly attribute unsigned long serviceId;

  readonly attribute TelephonyCallId id;

  // In CDMA networks, the 2nd waiting call shares the connection with the 1st
  // call. We need an additional attribute for the CDMA waiting call.
  readonly attribute TelephonyCallId? secondId;

  readonly attribute DOMString state;

  // The property "emergency" indicates whether the call number is an emergency
  // number. Only the outgoing call could have a value with true and it is
  // available after dialing state.
  readonly attribute boolean emergency;

  // Indicate whether the call state can be switched between "connected" and
  // "held".
  readonly attribute boolean switchable;

  // Indicate whether the call can be added into TelephonyCallGroup.
  readonly attribute boolean mergeable;

  readonly attribute DOMError? error;

  readonly attribute TelephonyCallDisconnectedReason? disconnectedReason;

  readonly attribute TelephonyCallGroup? group;

  Promise<void> answer();
  Promise<void> hangUp();
  Promise<void> hold();
  Promise<void> resume();

  attribute EventHandler onstatechange;
  attribute EventHandler ondialing;
  attribute EventHandler onalerting;
  attribute EventHandler onconnected;
  attribute EventHandler ondisconnected;
  attribute EventHandler onheld;
  attribute EventHandler onerror;

  // Fired whenever the group attribute changes.
  attribute EventHandler ongroupchange;

enum TelephonyCallDisconnectedReason {