Backed out changeset 5e573a8f7ce1 (bug 856358) for bustage on a CLOSED TREE.
authorRyan VanderMeulen <ryanvm@gmail.com>
Thu, 11 Apr 2013 15:48:38 -0400
changeset 128497 e7cb5c6e47f0e114af9d60fe270ebe6174f61aab
parent 128496 f23121d10690ddc689e6d3b262cc1b6c21288f66
child 128498 4e471f4974821757e324258b0eb489c8ca3a5f63
push id26344
push userryanvm@gmail.com
push dateThu, 11 Apr 2013 19:48:42 +0000
treeherdermozilla-inbound@e7cb5c6e47f0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs856358
milestone23.0a1
backs out5e573a8f7ce1d0011efb17569df2480ce77e3a59
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 5e573a8f7ce1 (bug 856358) for bustage on a CLOSED TREE.
dom/contacts/ContactManager.js
dom/contacts/ContactManager.manifest
dom/interfaces/contacts/moz.build
dom/interfaces/contacts/nsIContactProperties.idl
dom/interfaces/contacts/nsIDOMContactManager.idl
dom/interfaces/contacts/nsIDOMContactProperties.idl
dom/tests/mochitest/general/test_interfaces.html
--- a/dom/contacts/ContactManager.js
+++ b/dom/contacts/ContactManager.js
@@ -20,40 +20,40 @@ XPCOMUtils.defineLazyGetter(Services, "D
   return Cc["@mozilla.org/dom/dom-request-service;1"].getService(Ci.nsIDOMRequestService);
 });
 
 XPCOMUtils.defineLazyServiceGetter(this, "cpmm",
                                    "@mozilla.org/childprocessmessagemanager;1",
                                    "nsIMessageSender");
 
 const nsIClassInfo            = Ci.nsIClassInfo;
-const CONTACTPROPERTIES_CID   = Components.ID("{0a6720d7-9cae-4467-989d-e9e450e21341}");
-const nsIContactProperties    = Ci.nsIContactProperties;
+const CONTACTPROPERTIES_CID   = Components.ID("{f5181640-89e8-11e1-b0c4-0800200c9a66}");
+const nsIDOMContactProperties = Ci.nsIDOMContactProperties;
 
 // ContactProperties is not directly instantiated. It is used as interface.
 
 function ContactProperties(aProp) { if (DEBUG) debug("ContactProperties Constructor"); }
 
 ContactProperties.prototype = {
 
   classID : CONTACTPROPERTIES_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACTPROPERTIES_CID,
                                      contractID:"@mozilla.org/contactProperties;1",
                                      classDescription: "ContactProperties",
-                                     interfaces: [nsIContactProperties],
+                                     interfaces: [nsIDOMContactProperties],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIContactProperties])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContactProperties])
 }
 
 //ContactAddress
 
 const CONTACTADDRESS_CONTRACTID = "@mozilla.org/contactAddress;1";
-const CONTACTADDRESS_CID        = Components.ID("{c5d6eb73-a079-4a9f-8cd5-618194f73b30}");
-const nsIContactAddress         = Components.interfaces.nsIContactAddress;
+const CONTACTADDRESS_CID        = Components.ID("{eba48030-89e8-11e1-b0c4-0800200c9a66}");
+const nsIDOMContactAddress      = Components.interfaces.nsIDOMContactAddress;
 
 function ContactAddress(aType, aStreetAddress, aLocality, aRegion, aPostalCode, aCountryName) {
   this.type = aType || null;
   this.streetAddress = aStreetAddress || null;
   this.locality = aLocality || null;
   this.region = aRegion || null;
   this.postalCode = aPostalCode || null;
   this.countryName = aCountryName || null;
@@ -68,54 +68,54 @@ ContactAddress.prototype = {
                       postalCode: 'rw',
                       countryName: 'rw'
                      },
 
   classID : CONTACTADDRESS_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACTADDRESS_CID,
                                      contractID: CONTACTADDRESS_CONTRACTID,
                                      classDescription: "ContactAddress",
-                                     interfaces: [nsIContactAddress],
+                                     interfaces: [nsIDOMContactAddress],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIContactAddress])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContactAddress])
 }
 
 //ContactField
 
 const CONTACTFIELD_CONTRACTID = "@mozilla.org/contactField;1";
-const CONTACTFIELD_CID        = Components.ID("{474b8c6d-f984-431f-9636-e523ca3ec34d}");
-const nsIContactField         = Components.interfaces.nsIContactField;
+const CONTACTFIELD_CID        = Components.ID("{e2cb19c0-e4aa-11e1-9b23-0800200c9a66}");
+const nsIDOMContactField      = Components.interfaces.nsIDOMContactField;
 
 function ContactField(aType, aValue) {
   this.type = aType || null;
   this.value = aValue || null;
 };
 
 ContactField.prototype = {
   __exposedProps__: {
                       type: 'rw',
                       value: 'rw'
                      },
 
   classID : CONTACTFIELD_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACTFIELD_CID,
                                      contractID: CONTACTFIELD_CONTRACTID,
                                      classDescription: "ContactField",
-                                     interfaces: [nsIContactField],
+                                     interfaces: [nsIDOMContactField],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIContactField])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContactField])
 }
 
 //ContactTelField
 
 const CONTACTTELFIELD_CONTRACTID = "@mozilla.org/contactTelField;1";
-const CONTACTTELFIELD_CID        = Components.ID("{4d42c5a9-ea5d-4102-80c3-40cc986367ca}");
-const nsIContactTelField         = Components.interfaces.nsIContactTelField;
+const CONTACTTELFIELD_CID        = Components.ID("{ed0ab260-e4aa-11e1-9b23-0800200c9a66}");
+const nsIDOMContactTelField      = Components.interfaces.nsIDOMContactTelField;
 
 function ContactTelField(aType, aValue, aCarrier) {
   this.type = aType || null;
   this.value = aValue || null;
   this.carrier = aCarrier || null;
 };
 
 ContactTelField.prototype = {
@@ -124,66 +124,66 @@ ContactTelField.prototype = {
                       value: 'rw',
                       carrier: 'rw'
                      },
 
   classID : CONTACTTELFIELD_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACTTELFIELD_CID,
                                      contractID: CONTACTTELFIELD_CONTRACTID,
                                      classDescription: "ContactTelField",
-                                     interfaces: [nsIContactTelField],
+                                     interfaces: [nsIDOMContactTelField],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIContactTelField])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContactTelField])
 }
 
 //ContactFindSortOptions
 
 const CONTACTFINDSORTOPTIONS_CONTRACTID = "@mozilla.org/contactFindSortOptions;1"
-const CONTACTFINDSORTOPTIONS_CID        = Components.ID("{0a5b1fab-70da-46dd-b902-619904d920c2}");
-const nsIContactFindSortOptions         = Ci.nsIContactFindSortOptions;
+const CONTACTFINDSORTOPTIONS_CID        = Components.ID("{cb008c06-3bf8-495c-8865-f9ca1673a1e1}");
+const nsIDOMContactFindSortOptions      = Ci.nsIDOMContactFindSortOptions;
 
 function ContactFindSortOptions () { }
 
 ContactFindSortOptions.prototype = {
   classID: CONTACTFINDSORTOPTIONS_CID,
   classInfo: XPCOMUtils.generateCI({classID: CONTACTFINDSORTOPTIONS_CID,
                                     contractID: CONTACTFINDSORTOPTIONS_CONTRACTID,
                                     classDescription: "ContactFindSortOptions",
-                                    interfaces: [nsIContactFindSortOptions],
+                                    interfaces: [nsIDOMContactFindSortOptions],
                                     flags: nsIClassInfo.DOM_OBJECT}),
-  QueryInterface: XPCOMUtils.generateQI([nsIContactFindSortOptions])
+  QueryInterface: XPCOMUtils.generateQI([nsIDOMContactFindSortOptions])
 };
 
 //ContactFindOptions
 
 const CONTACTFINDOPTIONS_CONTRACTID = "@mozilla.org/contactFindOptions;1";
-const CONTACTFINDOPTIONS_CID        = Components.ID("{28ce07d0-45d9-4b7a-8843-521df4edd8bc}");
-const nsIContactFindOptions         = Components.interfaces.nsIContactFindOptions;
+const CONTACTFINDOPTIONS_CID        = Components.ID("{e31daea0-0cb6-11e1-be50-0800200c9a66}");
+const nsIDOMContactFindOptions      = Components.interfaces.nsIDOMContactFindOptions;
 
 function ContactFindOptions() { };
 
 ContactFindOptions.prototype = {
 
   classID : CONTACTFINDOPTIONS_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACTFINDOPTIONS_CID,
                                      contractID: CONTACTFINDOPTIONS_CONTRACTID,
                                      classDescription: "ContactFindOptions",
-                                     interfaces: [nsIContactFindSortOptions,
-                                                  nsIContactFindOptions],
+                                     interfaces: [nsIDOMContactFindSortOptions,
+                                                  nsIDOMContactFindOptions],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIContactFindSortOptions,
-                                          nsIContactFindOptions])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContactFindSortOptions,
+                                          nsIDOMContactFindOptions])
 }
 
 //Contact
 
 const CONTACT_CONTRACTID = "@mozilla.org/contact;1";
-const CONTACT_CID        = Components.ID("{72a5ee28-81d8-4af8-90b3-ae935396cc66}");
+const CONTACT_CID        = Components.ID("{da0f7040-388b-11e1-b86c-0800200c9a66}");
 const nsIDOMContact      = Components.interfaces.nsIDOMContact;
 
 function Contact() { };
 
 Contact.prototype = {
   __exposedProps__: {
                       id: 'rw',
                       updated: 'rw',
@@ -324,26 +324,26 @@ Contact.prototype = {
   set updated(aUpdated) {
     this._updated = aUpdated;
   },
 
   classID : CONTACT_CID,
   classInfo : XPCOMUtils.generateCI({classID: CONTACT_CID,
                                      contractID: CONTACT_CONTRACTID,
                                      classDescription: "Contact",
-                                     interfaces: [nsIDOMContact, nsIContactProperties],
+                                     interfaces: [nsIDOMContact, nsIDOMContactProperties],
                                      flags: nsIClassInfo.DOM_OBJECT}),
 
-  QueryInterface : XPCOMUtils.generateQI([nsIDOMContact, nsIContactProperties])
+  QueryInterface : XPCOMUtils.generateQI([nsIDOMContact, nsIDOMContactProperties])
 }
 
 // ContactManager
 
 const CONTACTMANAGER_CONTRACTID = "@mozilla.org/contactManager;1";
-const CONTACTMANAGER_CID        = Components.ID("{4efae3f8-dd69-4622-97c8-f16e4d38d95c}");
+const CONTACTMANAGER_CID        = Components.ID("{1d70322b-f11b-4f19-9586-7bf291f212aa}");
 const nsIDOMContactManager      = Components.interfaces.nsIDOMContactManager;
 
 function ContactManager()
 {
   if (DEBUG) debug("Constructor");
 }
 
 ContactManager.prototype = {
--- a/dom/contacts/ContactManager.manifest
+++ b/dom/contacts/ContactManager.manifest
@@ -1,25 +1,25 @@
-component {0a6720d7-9cae-4467-989d-e9e450e21341} ContactManager.js
-contract @mozilla.org/contactProperties;1 {0a6720d7-9cae-4467-989d-e9e450e21341}
+component {f5181640-89e8-11e1-b0c4-0800200c9a66} ContactManager.js
+contract @mozilla.org/contactProperties;1 {f5181640-89e8-11e1-b0c4-0800200c9a66}
 
-component {c5d6eb73-a079-4a9f-8cd5-618194f73b30} ContactManager.js
-contract @mozilla.org/contactAddress;1 {c5d6eb73-a079-4a9f-8cd5-618194f73b30}
+component {eba48030-89e8-11e1-b0c4-0800200c9a66} ContactManager.js
+contract @mozilla.org/contactAddress;1 {eba48030-89e8-11e1-b0c4-0800200c9a66}
 
-component {474b8c6d-f984-431f-9636-e523ca3ec34d} ContactManager.js
-contract @mozilla.org/contactField;1 {474b8c6d-f984-431f-9636-e523ca3ec34d}
+component {e2cb19c0-e4aa-11e1-9b23-0800200c9a66} ContactManager.js
+contract @mozilla.org/contactField;1 {e2cb19c0-e4aa-11e1-9b23-0800200c9a66}
 
-component {4d42c5a9-ea5d-4102-80c3-40cc986367ca} ContactManager.js
-contract @mozilla.org/contactTelField;1 {4d42c5a9-ea5d-4102-80c3-40cc986367ca}
+component {ed0ab260-e4aa-11e1-9b23-0800200c9a66} ContactManager.js
+contract @mozilla.org/contactTelField;1 {ed0ab260-e4aa-11e1-9b23-0800200c9a66}
 
-component {0a5b1fab-70da-46dd-b902-619904d920c2} ContactManager.js
-contract @mozilla.org/contactFindSortOptions;1 {0a5b1fab-70da-46dd-b902-619904d920c2}
+component {cb008c06-3bf8-495c-8865-f9ca1673a1e1} ContactManager.js
+contract @mozilla.org/contactFindSortOptions;1 {cb008c06-3bf8-495c-8865-f9ca1673a1e1}
 
-component {28ce07d0-45d9-4b7a-8843-521df4edd8bc} ContactManager.js
-contract @mozilla.org/contactFindOptions;1 {28ce07d0-45d9-4b7a-8843-521df4edd8bc}
+component {e13ca4c5-c9cd-40bb-95e9-b636d42f5edf} ContactManager.js
+contract @mozilla.org/contactFindOptions;1 {e13ca4c5-c9cd-40bb-95e9-b636d42f5edf}
 
-component {72a5ee28-81d8-4af8-90b3-ae935396cc66} ContactManager.js
-contract @mozilla.org/contact;1 {72a5ee28-81d8-4af8-90b3-ae935396cc66}
+component {da0f7040-388b-11e1-b86c-0800200c9a66} ContactManager.js
+contract @mozilla.org/contact;1 {da0f7040-388b-11e1-b86c-0800200c9a66}
 category JavaScript-global-constructor mozContact @mozilla.org/contact;1
 
-component {4efae3f8-dd69-4622-97c8-f16e4d38d95c} ContactManager.js
-contract @mozilla.org/contactManager;1 {4efae3f8-dd69-4622-97c8-f16e4d38d95c}
+component {1d70322b-f11b-4f19-9586-7bf291f212aa} ContactManager.js
+contract @mozilla.org/contactManager;1 {1d70322b-f11b-4f19-9586-7bf291f212aa}
 category JavaScript-navigator-property mozContacts @mozilla.org/contactManager;1
--- a/dom/interfaces/contacts/moz.build
+++ b/dom/interfaces/contacts/moz.build
@@ -1,17 +1,17 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 XPIDL_SOURCES += [
     'nsIDOMContactManager.idl',
-    'nsIContactProperties.idl',
+    'nsIDOMContactProperties.idl',
     'nsIDOMMozContactChangeEvent.idl',
 ]
 
 XPIDL_MODULE = 'dom_contacts'
 
 XPIDL_FLAGS += [
     '-I$(topsrcdir)/dom/interfaces/base',
     '-I$(topsrcdir)/dom/interfaces/events',
--- a/dom/interfaces/contacts/nsIDOMContactManager.idl
+++ b/dom/interfaces/contacts/nsIDOMContactManager.idl
@@ -1,36 +1,39 @@
 /* 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"
-#include "nsIContactProperties.idl"
+#include "nsIDOMContactProperties.idl"
 #include "nsIDOMEventTarget.idl"
 
 interface nsIArray;
+interface nsIDOMContactFindSortOptions;
+interface nsIDOMContactFindOptions;
+interface nsIDOMContactProperties;
 interface nsIDOMDOMRequest;
 interface nsIDOMDOMCursor;
 
-[scriptable, uuid(72a5ee28-81d8-4af8-90b3-ae935396cc66)]
-interface nsIDOMContact : nsIContactProperties
+[scriptable, uuid(da0f7040-388b-11e1-b86c-0800200c9a66)]
+interface nsIDOMContact : nsIDOMContactProperties
 {
   attribute DOMString id;
   readonly attribute jsval     published;
   readonly attribute jsval     updated;
 
-  void init(in nsIContactProperties properties);  // Workaround BUG 723206
+  void init(in nsIDOMContactProperties properties);  // Workaround BUG 723206
 };
 
-[scriptable, uuid(4efae3f8-dd69-4622-97c8-f16e4d38d95c)]
+[scriptable, uuid(1d70322b-f11b-4f19-9586-7bf291f212aa)]
 interface nsIDOMContactManager : nsISupports
 {
-  nsIDOMDOMRequest find(in nsIContactFindOptions options);
+  nsIDOMDOMRequest find(in nsIDOMContactFindOptions options);
 
-  nsIDOMDOMCursor getAll(in nsIContactFindSortOptions options);
+  nsIDOMDOMCursor getAll(in nsIDOMContactFindSortOptions options);
 
   nsIDOMDOMRequest clear();
 
   nsIDOMDOMRequest save(in nsIDOMContact contact);
 
   nsIDOMDOMRequest remove(in nsIDOMContact contact);
 
   nsIDOMDOMRequest getSimContacts(in DOMString type);
rename from dom/interfaces/contacts/nsIContactProperties.idl
rename to dom/interfaces/contacts/nsIDOMContactProperties.idl
--- a/dom/interfaces/contacts/nsIContactProperties.idl
+++ b/dom/interfaces/contacts/nsIDOMContactProperties.idl
@@ -1,56 +1,59 @@
 /* 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(c5d6eb73-a079-4a9f-8cd5-618194f73b30)]
-interface nsIContactAddress : nsISupports
+interface nsIArray;
+interface nsIDOMContact;
+
+[scriptable, uuid(eba48030-89e8-11e1-b0c4-0800200c9a66)]
+interface nsIDOMContactAddress : nsISupports
 {
   attribute DOMString type;
   attribute DOMString streetAddress;
   attribute DOMString locality;
   attribute DOMString region;
   attribute DOMString postalCode;
   attribute DOMString countryName;
 };
 
-[scriptable, uuid(474b8c6d-f984-431f-9636-e523ca3ec34d)]
-interface nsIContactField : nsISupports
+[scriptable, uuid(e2cb19c0-e4aa-11e1-9b23-0800200c9a66)]
+interface nsIDOMContactField : nsISupports
 {
   attribute jsval type; // DOMString[] for primary/favorite (use:"PREF"), "home", "work", etc.
   attribute DOMString value;
 };
 
-[scriptable, uuid(4d42c5a9-ea5d-4102-80c3-40cc986367ca)]
-interface nsIContactTelField : nsIContactField
+[scriptable, uuid(ed0ab260-e4aa-11e1-9b23-0800200c9a66)]
+interface nsIDOMContactTelField : nsIDOMContactField
 {
   attribute DOMString carrier;
 };
 
-[scriptable, uuid(0a5b1fab-70da-46dd-b902-619904d920c2)]
-interface nsIContactFindSortOptions : nsISupports
+[scriptable, uuid(cb008c06-3bf8-495c-8865-f9ca1673a1e1)]
+interface nsIDOMContactFindSortOptions : nsISupports
 {
   attribute DOMString sortBy;       // "givenName" or "familyName"
   attribute DOMString sortOrder;    // e.g. "descending"
 };
 
-[scriptable, uuid(28ce07d0-45d9-4b7a-8843-521df4edd8bc)]
-interface nsIContactFindOptions : nsIContactFindSortOptions
+[scriptable, uuid(e13ca4c5-c9cd-40bb-95e9-b636d42f5edf)]
+interface nsIDOMContactFindOptions : nsIDOMContactFindSortOptions
 {
   attribute DOMString filterValue;  // e.g. "Tom"
   attribute DOMString filterOp;     // e.g. "contains"
   attribute jsval filterBy;         // DOMString[], e.g. ["givenName", "nickname"]
   attribute unsigned long filterLimit;
 };
 
-[scriptable, uuid(0a6720d7-9cae-4467-989d-e9e450e21341)]
-interface nsIContactProperties : nsISupports
+[scriptable, uuid(f0ddb360-e4aa-11e1-9b23-0800200c9a66)]
+interface nsIDOMContactProperties : nsISupports
 {
   attribute jsval         name;               // DOMString[]
   attribute jsval         honorificPrefix;    // DOMString[]
   attribute jsval         givenName;          // DOMString[]
   attribute jsval         additionalName;     // DOMString[]
   attribute jsval         familyName;         // DOMString[]
   attribute jsval         honorificSuffix;    // DOMString[]
   attribute jsval         nickname;           // DOMString[]
--- a/dom/tests/mochitest/general/test_interfaces.html
+++ b/dom/tests/mochitest/general/test_interfaces.html
@@ -8,17 +8,17 @@ https://bugzilla.mozilla.org/show_bug.cg
   <title>Test for Bug 766694</title>
   <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=766694">Mozilla Bug 766694</a>
 <p id="display"></p>
 <div id="content" style="display: none">
-
+  
 </div>
 <pre id="test">
 <script type="application/javascript">
 
 /** Test for Bug 766694 **/
 
 var interfaceNamesInGlobalScope =
   [
@@ -181,16 +181,17 @@ var interfaceNamesInGlobalScope =
     "DeviceOrientationEvent",
     "HTMLPreElement",
     "StorageEvent",
     "CSS2Properties",
     "StorageIndexedDB",
     "XULDocument",
     "XULMultiSelectControlElement",
     "SVGTitleElement",
+    "ContactProperties",
     "PerformanceTiming",
     "LSProgressEvent",
     "NSEvent",
     "HTMLBRElement",
     "MouseScrollEvent",
     "WheelEvent",
     "HashChangeEvent",
     "TreeWalker",
@@ -231,16 +232,17 @@ var interfaceNamesInGlobalScope =
     "SVGAnimateTransformElement",
     "CSSMozDocumentRule",
     "HTMLQuoteElement",
     "PopStateEvent",
     "IDBVersionChangeEvent",
     "HTMLCanvasElement",
     "MouseEvent",
     "OfflineResourceList",
+    "ContactAddress",
     "Range",
     "MozCSSKeyframeRule",
     "SettingsLock",
     "Screen",
     "ImageDocument",
     "TextMetrics",
     "SVGScriptElement",
     "CDATASection",
@@ -403,16 +405,18 @@ var interfaceNamesInGlobalScope =
     "SVGMetadataElement",
     "EventListenerInfo",
     "CSSStyleRule",
     "IDBRequest",
     "Performance",
     "XULMenuListElement",
     "SVGTransform",
     "SVGTextPositioningElement",
+    "ContactFindSortOptions",
+    "ContactFindOptions",
     "SVGFEMergeElement",
     "FileRequest",
     "SVGDefsElement",
     "Element",
     "HTMLBaseElement",
     "GeoPositionErrorCallback",
     "HTMLVideoElement",
     "MozSettingsEvent",
@@ -498,16 +502,18 @@ var interfaceNamesInGlobalScope =
     "SVGPathSegCurvetoCubicAbs",
     "HTMLLIElement",
     "SVGClipPathElement",
     "NavigatorGeolocation",
     "HTMLParagraphElement",
     "EventTarget",
     "File",
     "SVGGradientElement",
+    "ContactTelField",
+    "ContactField",
     "SVGFitToViewBox",
     "SVGAElement",
     "NavigatorCamera",
     "CameraControl",
     "CameraCapabilities",
     "CameraManager",
     "CSSSupportsRule",
     "MozMobileCellInfo",
@@ -548,17 +554,17 @@ var interfaceNamesInGlobalScope =
 
 for (var i in SpecialPowers.Components.interfaces) {
   var s = i.toString();
   var name = null;
   if (s.indexOf("nsIDOM") == 0) {
     name = s.substring("nsIDOM".length);
   } else if (s.indexOf("nsI") == 0) {
     name = s.substring("nsI".length);
-  }
+  } 
   if (name && (name in window)) {
     ok(interfaceNamesInGlobalScope.indexOf(name) >= 0,
        "Unexpected interface name in global scope: " + name);
   }
 }
 
 </script>
 </pre>