diff --git a/b2g/app/b2g.js b/b2g/app/b2g.js
index de929f839d69..58916a60a29f 100644
--- a/b2g/app/b2g.js
+++ b/b2g/app/b2g.js
@@ -418,6 +418,7 @@ pref("dom.global-constructor.disable.mozContact", false);
pref("dom.phonenumber.substringmatching.BR", 8);
pref("dom.phonenumber.substringmatching.CO", 10);
pref("dom.phonenumber.substringmatching.VE", 7);
+pref("dom.phonenumber.substringmatching.CL", 8);
// WebAlarms
pref("dom.mozAlarms.enabled", true);
diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml
index bf6e6b2572ab..23804b308d0e 100644
--- a/b2g/config/emulator-ics/sources.xml
+++ b/b2g/config/emulator-ics/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml
index 4124da0c93d9..8ca672a82243 100644
--- a/b2g/config/emulator-jb/sources.xml
+++ b/b2g/config/emulator-jb/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml
index 181154bda6bb..cce7839f36c2 100644
--- a/b2g/config/emulator-kk/sources.xml
+++ b/b2g/config/emulator-kk/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml
index bf6e6b2572ab..23804b308d0e 100644
--- a/b2g/config/emulator/sources.xml
+++ b/b2g/config/emulator/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json
index 4309070c3883..9aa5b58445a2 100644
--- a/b2g/config/gaia.json
+++ b/b2g/config/gaia.json
@@ -4,6 +4,6 @@
"branch": "",
"revision": ""
},
- "revision": "4926fae1778461d93ff10b0fe4f8430246373e03",
+ "revision": "4dff379346b266bd93f48291a64cfc90af5d7daa",
"repo_path": "/integration/gaia-central"
}
diff --git a/b2g/config/hamachi/sources.xml b/b2g/config/hamachi/sources.xml
index b1e91ec9c464..ce457b7ec8a5 100644
--- a/b2g/config/hamachi/sources.xml
+++ b/b2g/config/hamachi/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/helix/sources.xml b/b2g/config/helix/sources.xml
index a040c6953f6b..8adbf6f2ae4f 100644
--- a/b2g/config/helix/sources.xml
+++ b/b2g/config/helix/sources.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/b2g/config/inari/sources.xml b/b2g/config/inari/sources.xml
index b95824f5b1b8..e74c486856fe 100644
--- a/b2g/config/inari/sources.xml
+++ b/b2g/config/inari/sources.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/b2g/config/leo/sources.xml b/b2g/config/leo/sources.xml
index 26c6acef2769..434806c43128 100644
--- a/b2g/config/leo/sources.xml
+++ b/b2g/config/leo/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/mako/sources.xml b/b2g/config/mako/sources.xml
index 381594d8a009..5ad0c5ee0864 100644
--- a/b2g/config/mako/sources.xml
+++ b/b2g/config/mako/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/b2g/config/wasabi/sources.xml b/b2g/config/wasabi/sources.xml
index 0ee445a1ceb9..53658498a03e 100644
--- a/b2g/config/wasabi/sources.xml
+++ b/b2g/config/wasabi/sources.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 234950c17108..39ab5cce1874 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -6875,12 +6875,18 @@ let gRemoteTabsUI = {
* @return True if an existing tab was found, false otherwise
*/
function switchToTabHavingURI(aURI, aOpenNew, aOpenParams) {
+ // Certain URLs can be switched to irrespective of the source or destination
+ // window being in private browsing mode:
+ const kPrivateBrowsingWhitelist = new Set([
+ "about:customizing",
+ ]);
// This will switch to the tab in aWindow having aURI, if present.
function switchIfURIInWindow(aWindow) {
- // Only switch to the tab if neither the source and desination window are
- // private and they are not in permanent private borwsing mode
- if ((PrivateBrowsingUtils.isWindowPrivate(window) ||
- PrivateBrowsingUtils.isWindowPrivate(aWindow)) &&
+ // Only switch to the tab if neither the source nor the destination window
+ // are private and they are not in permanent private browsing mode
+ if (!kPrivateBrowsingWhitelist.has(aURI.spec) &&
+ (PrivateBrowsingUtils.isWindowPrivate(window) ||
+ PrivateBrowsingUtils.isWindowPrivate(aWindow)) &&
!PrivateBrowsingUtils.permanentPrivateBrowsing) {
return false;
}
diff --git a/browser/components/customizableui/src/CustomizableWidgets.jsm b/browser/components/customizableui/src/CustomizableWidgets.jsm
index 21d5ed7d6736..9e8baa00a126 100644
--- a/browser/components/customizableui/src/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/src/CustomizableWidgets.jsm
@@ -770,7 +770,6 @@ const CustomizableWidgets = [{
elem.section = aSection;
elem.value = item.value;
elem.setAttribute("class", "subviewbutton");
- addShortcut(item, doc, elem);
containerElem.appendChild(elem);
}
},
diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js
index a15451a5b52b..04150cc9e604 100644
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -12,7 +12,6 @@ const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource:///modules/SignInToWebsite.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "AboutHome",
"resource:///modules/AboutHome.jsm");
@@ -88,6 +87,11 @@ XPCOMUtils.defineLazyModuleGetter(this, "BrowserUITelemetry",
XPCOMUtils.defineLazyModuleGetter(this, "AsyncShutdown",
"resource://gre/modules/AsyncShutdown.jsm");
+#ifdef NIGHTLY_BUILD
+XPCOMUtils.defineLazyModuleGetter(this, "SignInToWebsiteUX",
+ "resource:///modules/SignInToWebsite.jsm");
+#endif
+
const PREF_PLUGINS_NOTIFYUSER = "plugins.update.notifyUser";
const PREF_PLUGINS_UPDATEURL = "plugins.update.url";
@@ -472,7 +476,11 @@ BrowserGlue.prototype = {
PageThumbs.init();
NewTabUtils.init();
BrowserNewTabPreloader.init();
- SignInToWebsiteUX.init();
+#ifdef NIGHTLY_BUILD
+ if (Services.prefs.getBoolPref("dom.identity.enabled")) {
+ SignInToWebsiteUX.init();
+ }
+#endif
PdfJs.init();
#ifdef NIGHTLY_BUILD
ShumwayUtils.init();
@@ -655,7 +663,11 @@ BrowserGlue.prototype = {
BrowserNewTabPreloader.uninit();
CustomizationTabPreloader.uninit();
WebappManager.uninit();
- SignInToWebsiteUX.uninit();
+#ifdef NIGHTLY_BUILD
+ if (Services.prefs.getBoolPref("dom.identity.enabled")) {
+ SignInToWebsiteUX.uninit();
+ }
+#endif
webrtcUI.uninit();
},
diff --git a/browser/components/preferences/sync.xul b/browser/components/preferences/sync.xul
index 9f28aa596e71..0c96b695960e 100644
--- a/browser/components/preferences/sync.xul
+++ b/browser/components/preferences/sync.xul
@@ -186,7 +186,7 @@
-
+
diff --git a/browser/devtools/netmonitor/test/browser_net_filter-02.js b/browser/devtools/netmonitor/test/browser_net_filter-02.js
index fc1775052b62..2ab70bee08bd 100644
--- a/browser/devtools/netmonitor/test/browser_net_filter-02.js
+++ b/browser/devtools/netmonitor/test/browser_net_filter-02.js
@@ -9,6 +9,9 @@ function test() {
initNetMonitor(FILTERING_URL).then(([aTab, aDebuggee, aMonitor]) => {
info("Starting test... ");
+ // It seems that this test may be slow on Ubuntu builds running on ec2.
+ requestLongerTimeout(2);
+
let { $, NetMonitorView } = aMonitor.panelWin;
let { RequestsMenu } = NetMonitorView;
diff --git a/browser/locales/en-US/searchplugins/creativecommons.xml b/browser/locales/en-US/searchplugins/creativecommons.xml
index de37d0d4cb4c..1b8569f0f701 100644
--- a/browser/locales/en-US/searchplugins/creativecommons.xml
+++ b/browser/locales/en-US/searchplugins/creativecommons.xml
@@ -7,7 +7,7 @@
Find photos, movies, music, and text to rip, sample, mash, and share.
utf-8
data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJUSURBVDiNjZO9S1thGMXPvTfJFbnkipNkLLS0ksFg0M0lf4CboNCEgIIg/RiKtEOn0qGWTtbVoBYcIji10I9J0ApWCjp0kRaXdhHjTW4+uGnur4NJ8GOwZ3nf4TnnfZ5z3scAdBGGYdyVdN+yrGHTNNOtVqsVhuG+pO+S3gE/LtV3BIxzPDJNc8FxHGN0dNRKpVIGoJ2dndr+/r5Vr9cl6bmkN0AoSQIEyHXdj5KYnZ3F932uolKpkM/nK5KQ9FmSCZwLOI7zQBLr6+vXiFdRLBaDtsiTTve3YrFYkM/nbyR3MDU1dSKpLumO+vr6Xruui+d5AFSrVVZWVtjY2KDRaABwdHTE4uIie3t7AJTLZaLRaFXSCyUSid1MJgOA53n09/eTTqdJJpPMzc2xurqKbduMj48Tj8fZ3d0FYHBw8FjSezmOU56fnwdgeXkZ27ap1WpUKhWazSZjY2Nks1kASqVSd4zp6eljSX/MtiHdRDpnEATyfb+bkiSVSqXu3TCM8xgHBga+dkY4OzvDdV2GhoZIJBLMzMxQKBSIRqNkMhlisRhbW1sAJJPJn5I+KB6Pv7poou/7rK2tsbm5SRAEXROXlpY4ODgAoFarYdu2J+llN8ZcLvffMeZyud+SGpLuCVBPT89jSRQKhRvJxWKxISmU9JTOT5Rk9Pb2fpHE5OQkJycn14inp6dMTEx4bdM/SbKAy8sk6WEkElmwLCuSSqUYGRmxgHB7e7t+eHgYazabgaRnkt7SeZnr63xbUtYwjGHTNNNhGP4F9iR9a6/zr4v1/wDE1D9XlC4rrAAAAABJRU5ErkJggg==
-
+
diff --git a/browser/locales/en-US/searchplugins/eBay.xml b/browser/locales/en-US/searchplugins/eBay.xml
index 74af34c98dad..3b30ac783854 100644
--- a/browser/locales/en-US/searchplugins/eBay.xml
+++ b/browser/locales/en-US/searchplugins/eBay.xml
@@ -11,7 +11,7 @@
-
+
http://search.ebay.com/
diff --git a/browser/locales/en-US/searchplugins/wikipedia.xml b/browser/locales/en-US/searchplugins/wikipedia.xml
index 6deeae4e67c7..b79df1b5bddd 100644
--- a/browser/locales/en-US/searchplugins/wikipedia.xml
+++ b/browser/locales/en-US/searchplugins/wikipedia.xml
@@ -11,7 +11,7 @@
-
+
diff --git a/browser/locales/en-US/searchplugins/yahoo.xml b/browser/locales/en-US/searchplugins/yahoo.xml
index d80b70e96c00..74976d7fb0fc 100644
--- a/browser/locales/en-US/searchplugins/yahoo.xml
+++ b/browser/locales/en-US/searchplugins/yahoo.xml
@@ -9,7 +9,7 @@
data:image/x-icon;base64,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
-
+
diff --git a/browser/modules/moz.build b/browser/modules/moz.build
index 784e7aefb477..e3405b8f3778 100644
--- a/browser/modules/moz.build
+++ b/browser/modules/moz.build
@@ -16,7 +16,6 @@ EXTRA_JS_MODULES += [
'NetworkPrioritizer.jsm',
'offlineAppCache.jsm',
'SharedFrame.jsm',
- 'SignInToWebsite.jsm',
'SitePermissions.jsm',
'Social.jsm',
'TabCrashReporter.jsm',
@@ -31,6 +30,11 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'WindowsPreviewPerTab.jsm',
]
+if CONFIG['NIGHTLY_BUILD']:
+ EXTRA_JS_MODULES += [
+ 'SignInToWebsite.jsm',
+ ]
+
EXTRA_PP_JS_MODULES += [
'AboutHome.jsm',
'RecentWindow.jsm',
diff --git a/browser/modules/test/browser_SignInToWebsite.js b/browser/modules/test/browser_SignInToWebsite.js
index f03dee3b1b59..5666f7639ab7 100644
--- a/browser/modules/test/browser_SignInToWebsite.js
+++ b/browser/modules/test/browser_SignInToWebsite.js
@@ -267,12 +267,22 @@ function test_auth() {
function test() {
waitForExplicitFinish();
+ let sitw = {};
+ try {
+ Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
+ } catch (ex) {
+ ok(true, "Skip the test since SignInToWebsite.jsm isn't packaged outside outside mozilla-central");
+ finish();
+ return;
+ }
+
registerCleanupFunction(cleanUp);
- let sitw = {};
- Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
-
ok(sitw.SignInToWebsiteUX, "SignInToWebsiteUX object exists");
+ if (!Services.prefs.getBoolPref("dom.identity.enabled")) {
+ // If the pref isn't enabled then init wasn't called so do that for the test.
+ sitw.SignInToWebsiteUX.init();
+ }
// Replace implementation of ID Service functions for testing
window.selectIdentity = sitw.SignInToWebsiteUX.selectIdentity;
@@ -317,6 +327,9 @@ function cleanUp() {
Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
sitw.SignInToWebsiteUX.selectIdentity = window.selectIdentity;
delete window.selectIdentity;
+ if (!Services.prefs.getBoolPref("dom.identity.enabled")) {
+ sitw.SignInToWebsiteUX.uninit();
+ }
Services.prefs.clearUserPref("toolkit.identity.debug");
}
diff --git a/dom/contacts/tests/mochitest.ini b/dom/contacts/tests/mochitest.ini
index 1c50ccd2c131..d1612db8eb5d 100644
--- a/dom/contacts/tests/mochitest.ini
+++ b/dom/contacts/tests/mochitest.ini
@@ -13,6 +13,7 @@ skip-if = (toolkit == 'gonk' && debug) #debug-only failure
[test_contacts_international.html]
[test_contacts_substringmatching.html]
[test_contacts_substringmatchingVE.html]
+[test_contacts_substringmatchingCL.html]
[test_migration.html]
support-files =
test_migration_chrome.js
diff --git a/dom/contacts/tests/shared.js b/dom/contacts/tests/shared.js
index 41da27b2f77d..864dc34a6b7e 100644
--- a/dom/contacts/tests/shared.js
+++ b/dom/contacts/tests/shared.js
@@ -402,15 +402,17 @@ function next() {
}
}
+SimpleTest.waitForExplicitFinish();
+
function start_tests() {
// Skip tests on Android < 4.0 due to test failures on tbpl (see bugs 897924 & 888891)
let androidVersion = SpecialPowers.Cc['@mozilla.org/system-info;1']
.getService(SpecialPowers.Ci.nsIPropertyBag2)
.getProperty('version');
if (!isAndroid || androidVersion >= 14) {
- SimpleTest.waitForExplicitFinish();
- addLoadEvent(next);
+ next();
} else {
ok(true, "Skip tests on Android < 4.0 (bugs 897924 & 888891");
+ SimpleTest.finish();
}
}
diff --git a/dom/contacts/tests/test_contacts_international.html b/dom/contacts/tests/test_contacts_international.html
index e05c3b62671d..f01e21b903cb 100644
--- a/dom/contacts/tests/test_contacts_international.html
+++ b/dom/contacts/tests/test_contacts_international.html
@@ -43,13 +43,13 @@ var properties2 = {
};
var number3 = {
- international1: "0041557932012345",
- international2: "+557932012345"
+ local: "7932012345",
+ international: "+557932012345"
};
var properties3 = {
name: ["Testname2"],
- tel: [{value: number3.international2}]
+ tel: [{value: number3.international}]
};
var req;
@@ -95,9 +95,9 @@ var steps = [
filterValue: number1.local};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 1, "Found exactly 1 contact.");
+ ise(req.result.length, 1, "Found exactly 1 contact.");
findResult1 = req.result[0];
- ok(findResult1.id == sample_id1, "Same ID");
+ ise(findResult1.id, sample_id1, "Same ID");
next();
};
req.onerror = onFailure;
@@ -109,7 +109,7 @@ var steps = [
filterValue: number1.international};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 0, "Found exactly 0 contacts.");
+ ise(req.result.length, 0, "Found exactly 0 contacts.");
next();
};
req.onerror = onFailure;
@@ -122,7 +122,7 @@ var steps = [
filterValue: shortNumber};
req = mozContacts.find(options);
req.onsuccess = function() {
- ok(req.result.length == 0, "The prefix short number should not match any contact.");
+ ise(req.result.length, 0, "The prefix short number should not match any contact.");
next();
};
req.onerror = onFailure;
@@ -135,7 +135,7 @@ var steps = [
filterValue: shortNumber};
req = mozContacts.find(options);
req.onsuccess = function() {
- ok(req.result.length == 0, "The suffix short number should not match any contact.");
+ ise(req.result.length, 0, "The suffix short number should not match any contact.");
next();
};
req.onerror = onFailure;
@@ -147,7 +147,7 @@ var steps = [
filterValue: shortNumber};
req = mozContacts.find(options);
req.onsuccess = function() {
- ok(req.result.length == 1, "Found the contact equally matching the shortNumber.");
+ ise(req.result.length, 1, "Found the contact equally matching the shortNumber.");
next();
};
req.onerror = onFailure;
@@ -171,7 +171,7 @@ var steps = [
filterValue: number1.local};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 0, "Found exactly 0 contact.");
+ ise(req.result.length, 0, "Found exactly 0 contact.");
next();
};
req.onerror = onFailure;
@@ -183,7 +183,7 @@ var steps = [
filterValue: number1.international};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 0, "Found exactly 0 contact.");
+ ise(req.result.length, 0, "Found exactly 0 contact.");
next();
};
req.onerror = onFailure;
@@ -195,9 +195,9 @@ var steps = [
filterValue: number2.local};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 1, "Found exactly 1 contact.");
+ ise(req.result.length, 1, "Found exactly 1 contact.");
findResult1 = req.result[0];
- ok(findResult1.id == sample_id1, "Same ID");
+ ise(findResult1.id, sample_id1, "Same ID");
next();
};
req.onerror = onFailure;
@@ -209,7 +209,7 @@ var steps = [
filterValue: number2.international};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 0, "Found exactly 1 contact.");
+ ise(req.result.length, 0, "Found exactly 1 contact.");
next();
};
req.onerror = onFailure;
@@ -224,7 +224,7 @@ var steps = [
req.onerror = onFailure;
},
function () {
- ok(true, "Adding a new contact with country code");
+ ok(true, "Adding a contact with a Brazilian country code");
createResult1 = new mozContact(properties3);
req = navigator.mozContacts.save(createResult1);
req.onsuccess = function () {
@@ -235,15 +235,15 @@ var steps = [
req.onerror = onFailure;
},
function () {
- ok(true, "Searching for international number with prefix");
+ ok(true, "Searching for Brazilian number using local number");
var options = {filterBy: ["tel"],
filterOp: "match",
- filterValue: number3.international1};
+ filterValue: number3.local};
req = mozContacts.find(options);
req.onsuccess = function () {
- ok(req.result.length == 1, "Found exactly 1 contact.");
+ ise(req.result.length, 1, "Found exactly 1 contact.");
findResult1 = req.result[0];
- ok(findResult1.id == sample_id1, "Same ID");
+ ise(findResult1.id, sample_id1, "Same ID");
next();
};
req.onerror = onFailure;
@@ -263,7 +263,11 @@ var steps = [
}
];
-start_tests();
+SpecialPowers.pushPrefEnv({
+ set: [
+ ["ril.lastKnownSimMcc", "000"]
+ ]
+}, start_tests);
+
+Mozilla Bug 949537
+
+
+
+
+
+
+
+
+
diff --git a/dom/contacts/tests/test_contacts_substringmatching.html b/dom/contacts/tests/test_contacts_substringmatching.html
index dffbb4beab28..4e86166116dd 100644
--- a/dom/contacts/tests/test_contacts_substringmatching.html
+++ b/dom/contacts/tests/test_contacts_substringmatching.html
@@ -45,6 +45,15 @@ var prop4 = {
tel: [{ value: "(0414) 233-9888" }]
};
+var brazilianNumber = {
+ international1: "0041557932012345",
+ international2: "+557932012345"
+};
+
+var prop5 = {
+ tel: [{value: brazilianNumber.international2}]
+};
+
var req;
var steps = [
function () {
@@ -293,6 +302,40 @@ var steps = [
}
req.onerror = onFailure;
},
+ function () {
+ ok(true, "Adding a new contact with a Brazilian country code");
+ createResult1 = new mozContact(prop5);
+ req = navigator.mozContacts.save(createResult1);
+ req.onsuccess = function () {
+ ok(createResult1.id, "The contact now has an ID.");
+ sample_id1 = createResult1.id;
+ next();
+ };
+ req.onerror = onFailure;
+ },
+ function () {
+ ok(true, "Searching for international number with prefix");
+ var options = {filterBy: ["tel"],
+ filterOp: "match",
+ filterValue: brazilianNumber.international1};
+ req = mozContacts.find(options);
+ req.onsuccess = function () {
+ ok(req.result.length == 1, "Found exactly 1 contact.");
+ findResult1 = req.result[0];
+ ok(findResult1.id == sample_id1, "Same ID");
+ next();
+ };
+ req.onerror = onFailure;
+ },
+ function () {
+ ok(true, "Deleting database");
+ req = mozContacts.clear()
+ req.onsuccess = function () {
+ ok(true, "Deleted the database");
+ next();
+ }
+ req.onerror = onFailure;
+ },
function () {
ok(true, "all done!\n");
SpecialPowers.clearUserPref("dom.phonenumber.substringmatching.BR");
diff --git a/dom/contacts/tests/test_contacts_substringmatchingCL.html b/dom/contacts/tests/test_contacts_substringmatchingCL.html
new file mode 100644
index 000000000000..b248eefd8488
--- /dev/null
+++ b/dom/contacts/tests/test_contacts_substringmatchingCL.html
@@ -0,0 +1,204 @@
+
+
+
+