merge mozilla-central to mozilla-inbound. r=merge a=merge

This commit is contained in:
Sebastian Hengst 2017-10-26 00:45:51 +02:00
Родитель 8e8a8276cd e38c4ab9b8
Коммит 85c5258052
33 изменённых файлов: 1005 добавлений и 362 удалений

Просмотреть файл

@ -6541,10 +6541,15 @@
if (this.selectedItem.closing || selectedIndex == 0) {
this._beforeSelectedTab = null;
} else {
this._beforeSelectedTab = visibleTabs[selectedIndex - 1];
let beforeSelectedTab = visibleTabs[selectedIndex - 1];
let separatedByScrollButton = this.getAttribute("overflow") == "true" &&
beforeSelectedTab.pinned && !this.selectedItem.pinned;
if (!separatedByScrollButton) {
this._beforeSelectedTab = beforeSelectedTab;
this._beforeSelectedTab.setAttribute("beforeselected-visible",
"true");
}
}
if (this._firstTab)
this._firstTab.removeAttribute("first-visible-tab");
@ -7929,7 +7934,10 @@
tabContainer._beforeHoveredTab = null;
} else {
let candidate = visibleTabs[tabIndex - 1];
if (!candidate.selected) {
let separatedByScrollButton =
tabContainer.getAttribute("overflow") == "true" &&
candidate.pinned && !this.pinned;
if (!candidate.selected && !separatedByScrollButton) {
tabContainer._beforeHoveredTab = candidate;
candidate.setAttribute("beforehovered", "true");
}

Просмотреть файл

@ -22,13 +22,13 @@ let searchDomains = [{
"domains": [ "search.yahoo.co.jp" ],
"search": "p",
"followOnSearch": "ai",
"prefix": "fr",
"prefix": ["fr"],
"codes": ["mozff"],
"sap": "yahoo",
}, {
"domains": [ "www.bing.com" ],
"search": "q",
"prefix": "pc",
"prefix": ["pc"],
"reportPrefix": "form",
"codes": ["MOZI", "MOZD", "MZSL01", "MZSL02", "MZSL03", "MOZ2"],
"sap": "bing",
@ -36,17 +36,7 @@ let searchDomains = [{
// The Yahoo domains to watch for.
"domains": [
"search.yahoo.com", "ca.search.yahoo.com", "hk.search.yahoo.com",
"tw.search.yahoo.com", "mozilla.search.yahoo.com", "us.search.yahoo.com"
],
"search": "p",
"followOnSearch": "fr2",
"prefix": "hspart",
"reportPrefix": "hsimp",
"codes": ["mozilla"],
"sap": "yahoo",
}, {
// The Yahoo legacy domains.
"domains": [
"tw.search.yahoo.com", "mozilla.search.yahoo.com", "us.search.yahoo.com",
"no.search.yahoo.com", "ar.search.yahoo.com", "br.search.yahoo.com",
"ch.search.yahoo.com", "cl.search.yahoo.com", "de.search.yahoo.com",
"uk.search.yahoo.com", "es.search.yahoo.com", "espanol.search.yahoo.com",
@ -56,8 +46,9 @@ let searchDomains = [{
],
"search": "p",
"followOnSearch": "fr2",
"prefix": "fr",
"codes": ["moz35"],
"prefix": ["hspart", "fr"],
"reportPrefix": "hsimp",
"codes": ["mozilla", "moz35"],
"sap": "yahoo",
}, {
// The Google domains.
@ -116,7 +107,7 @@ let searchDomains = [{
"www.google.co.zm", "www.google.co.zw",
],
"search": "q",
"prefix": "client",
"prefix": ["client"],
"followOnSearch": "oq",
"codes": ["firefox-b-ab", "firefox-b"],
"sap": "google",
@ -188,7 +179,13 @@ var webProgressListener = {
}
let queries = new URLSearchParams(aLocation.query);
let code = queries.get(domainInfo.prefix);
// Yahoo has switched to Unified search so we can get
// different codes on the same domain. Hack for now
// to allow two different prefixes for codes
let code = queries.get(domainInfo.prefix[0]);
if (!code && domainInfo.prefix.length > 1) {
code = queries.get(domainInfo.prefix[1]);
}
// Special case Google so we can track searches
// without codes from the browser.
if (domainInfo.sap == "google") {

Просмотреть файл

@ -7,7 +7,7 @@
<Description about="urn:mozilla:install-manifest">
<em:id>followonsearch@mozilla.com</em:id>
<em:name>Follow-on Search Telemetry</em:name>
<em:version>0.9.5</em:version>
<em:version>0.9.6</em:version>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<em:multiprocessCompatible>true</em:multiprocessCompatible>

Просмотреть файл

@ -89,6 +89,12 @@ initPopupListener();
// Form with history only.
add_task(async function history_only_menu_checking() {
// TODO: eliminate the timeout when we're able to indicate the right
// timing to start.
//
// After test process was re-spawning to https scheme. Wait 2 secs
// to ensure the environment is ready to do storage setup.
await sleep(2000);
await setupFormHistory();
await setInput("#cc-exp-year", "");

Просмотреть файл

Просмотреть файл

@ -3,8 +3,8 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */
.permission-icon {
max-height: 20px;
max-width: 20px;
height: 20px;
width: 20px;
vertical-align: middle;
-moz-context-properties: fill;
fill: currentColor;

Просмотреть файл

@ -490,8 +490,16 @@ KeyframeUtils::GetAnimationPropertiesFromKeyframes(
StyleType* aStyle,
dom::CompositeOperation aEffectComposite)
{
nsTArray<AnimationProperty> result;
const nsTArray<ComputedKeyframeValues> computedValues =
GetComputedKeyframeValues(aKeyframes, aElement, aStyle);
if (computedValues.IsEmpty()) {
// In rare cases GetComputedKeyframeValues might fail and return an empty
// array, in which case we likewise return an empty array from here.
return result;
}
MOZ_ASSERT(aKeyframes.Length() == computedValues.Length(),
"Array length mismatch");
@ -513,7 +521,6 @@ KeyframeUtils::GetAnimationPropertiesFromKeyframes(
}
}
nsTArray<AnimationProperty> result;
BuildSegmentsFromValueEntries(entries, result);
return result;
}
@ -1103,11 +1110,20 @@ GetComputedKeyframeValues(const nsTArray<Keyframe>& aKeyframes,
MOZ_ASSERT(aElement);
MOZ_ASSERT(aElement->IsStyledByServo());
nsPresContext* presContext = nsContentUtils::GetContextForContent(aElement);
MOZ_ASSERT(presContext);
nsTArray<ComputedKeyframeValues> result;
return presContext->StyleSet()->AsServo()
nsPresContext* presContext = nsContentUtils::GetContextForContent(aElement);
if (!presContext) {
// This has been reported to happen with some combinations of content
// (particularly involving resize events and layout flushes? See bug 1407898
// and bug 1408420) but no reproducible steps have been found.
// For now we just return an empty array.
return result;
}
result = presContext->StyleSet()->AsServo()
->GetComputedKeyframeValuesFor(aKeyframes, aElement, aStyleContext);
return result;
}
static void

Просмотреть файл

@ -1158,4 +1158,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517249900834000);
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1517422774057000);

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,5 +0,0 @@
[send-authentication-cors-basic-setrequestheader.htm]
type: testharness
[XMLHttpRequest: send() - "Basic" authenticated CORS request using setRequestHeader() (expects to succeed)]
expected: FAIL

Просмотреть файл

@ -1,5 +0,0 @@
[send-authentication-cors-setrequestheader-no-cred.htm]
type: testharness
[CORS request with setRequestHeader auth to URL accepting Authorization header]
expected: FAIL

Просмотреть файл

@ -1,13 +1,16 @@
import imp
import os
here = os.path.dirname(__file__)
def main(request, response):
response.headers.set('Access-Control-Allow-Origin', request.headers.get("origin"));
response.headers.set('Access-Control-Allow-Credentials', 'true');
response.headers.set('Access-Control-Allow-Methods', 'GET');
response.headers.set('Access-Control-Allow-Headers', 'authorization, x-user, x-pass');
response.headers.set('Access-Control-Expose-Headers', 'x-challenge, xhr-user, ses-user');
auth = imp.load_source("", os.path.abspath("XMLHttpRequest/resources/authentication.py"))
auth = imp.load_source("", os.path.abspath(os.path.join(here, os.pardir, "authentication.py")))
if request.method == "OPTIONS":
return ""
else:

Просмотреть файл

@ -1,15 +1,16 @@
import imp
import os
here = os.path.dirname(__file__)
def main(request, response):
response.headers.set('Access-Control-Allow-Origin', request.headers.get("origin"));
response.headers.set('Access-Control-Allow-Credentials', 'true');
response.headers.set('Access-Control-Allow-Methods', 'GET');
response.headers.set('Access-Control-Allow-Headers', 'authorization, x-user, x-pass');
response.headers.set('Access-Control-Expose-Headers', 'x-challenge, xhr-user, ses-user');
auth = imp.load_source("", os.path.join(os.path.abspath(os.curdir),
"XMLHttpRequest",
"resources",
auth = imp.load_source("", os.path.join(here,
os.pardir,
"authentication.py"))
if request.method == "OPTIONS":
return ""

Просмотреть файл

@ -1,15 +1,17 @@
import imp
import os
here = os.path.dirname(__file__)
def main(request, response):
response.headers.set('Access-Control-Allow-Origin', request.headers.get("origin"));
response.headers.set('Access-Control-Allow-Credentials', 'true');
response.headers.set('Access-Control-Allow-Methods', 'GET');
response.headers.set('Access-Control-Allow-Headers', 'x-user, x-pass');
response.headers.set('Access-Control-Expose-Headers', 'x-challenge, xhr-user, ses-user');
auth = imp.load_source("", os.path.join(os.path.abspath(os.curdir),
"XMLHttpRequest",
"resources",
auth = imp.load_source("", os.path.join(here,
os.pardir,
"authentication.py"))
if request.method == "OPTIONS":
return ""

Просмотреть файл

@ -342,6 +342,14 @@ if (runningInParent) {
// Turn off Health Ping submission.
Services.prefs.setBoolPref(TelemetryUtils.Preferences.HealthPingEnabled, false);
// Non-unified Telemetry (e.g. Fennec on Android) needs the preference to be set
// in order to enable Telemetry.
if (Services.prefs.getBoolPref(TelemetryUtils.Preferences.Unified, false)) {
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
} else {
Services.prefs.setBoolPref(TelemetryUtils.Preferences.TelemetryEnabled, true);
}
fakePingSendTimer((callback, timeout) => {
Services.tm.dispatchToMainThread(() => callback());
},

Просмотреть файл

@ -75,7 +75,6 @@ add_task(async function() {
do_get_profile(true);
loadAddonManager(APP_ID, APP_NAME, APP_VERSION, PLATFORM_VERSION);
finishAddonManagerStartup();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
await TelemetryController.testSetup();
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();

Просмотреть файл

@ -91,7 +91,6 @@ add_task(async function() {
// Setup.
do_get_profile(true);
loadAddonManager(APP_ID, APP_NAME, APP_VERSION, PLATFORM_VERSION);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
finishAddonManagerStartup();
await TelemetryController.testSetup();
if (runningInParent) {

Просмотреть файл

@ -140,7 +140,6 @@ add_task(async function() {
// Setup.
do_get_profile(true);
loadAddonManager(APP_ID, APP_NAME, APP_VERSION, PLATFORM_VERSION);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
finishAddonManagerStartup();
await TelemetryController.testSetup();
if (runningInParent) {

Просмотреть файл

@ -68,7 +68,6 @@ add_task(async function test_setup() {
do_get_profile(true);
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
});
add_task(async function test_archivedPings() {

Просмотреть файл

@ -40,7 +40,6 @@ add_task(async function setup() {
// Init the profile.
do_get_profile(true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.FhrUploadEnabled, true);
// Start the ping server and let Telemetry know about it.

Просмотреть файл

@ -90,8 +90,6 @@ add_task(async function test_setup() {
finishAddonManagerStartup();
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Preferences.set(TelemetryUtils.Preferences.OverridePreRelease, true);
});
add_task(async function test_subsessionsChaining() {

Просмотреть файл

@ -183,6 +183,5 @@ add_task({
function run_test() {
do_get_profile(true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
run_next_test();
}

Просмотреть файл

@ -96,7 +96,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.FhrUploadEnabled, true);
await new Promise(resolve =>

Просмотреть файл

@ -30,7 +30,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.FhrUploadEnabled, true);
});

Просмотреть файл

@ -19,7 +19,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.FhrUploadEnabled, true);
// Start the webserver to check if the pending ping correctly arrives.

Просмотреть файл

@ -53,7 +53,6 @@ add_task(async function setup() {
do_get_profile(true);
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref("toolkit.telemetry.enabled", true);
Preferences.set(TelemetryUtils.Preferences.HealthPingEnabled, true);
await TelemetryController.testSetup();

Просмотреть файл

@ -27,7 +27,6 @@ function check_event(event, id, data) {
add_task(async function() {
do_get_profile();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
await TelemetryController.testSetup();
TelemetryLog.log(TEST_PREFIX + "1", ["val", 123, undefined]);

Просмотреть файл

@ -57,7 +57,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
// Don't bypass the notifications in this test, we'll fake it.
Services.prefs.setBoolPref(TelemetryUtils.Preferences.BypassNotification, false);

Просмотреть файл

@ -84,7 +84,6 @@ add_task(async function test_setup() {
do_get_profile(true);
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.HealthPingEnabled, true);
TelemetryStopwatch.setTestModeEnabled(true);
});

Просмотреть файл

@ -148,7 +148,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setCharPref(TelemetryUtils.Preferences.Server,
"http://localhost:" + PingServer.port);
});

Просмотреть файл

@ -478,7 +478,6 @@ add_task(async function test_setup() {
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
Services.prefs.setBoolPref(TelemetryUtils.Preferences.FhrUploadEnabled, true);
// Make it look like we've previously failed to lock a profile a couple times.

Просмотреть файл

@ -13,8 +13,6 @@ add_task(async function test_setup() {
finishAddonManagerStartup();
// Make sure we don't generate unexpected pings due to pref changes.
await setEmptyPrefWatchlist();
Services.prefs.setBoolPref(TelemetryUtils.Preferences.OverridePreRelease, true);
});
add_task(async function test_record_activeTicks() {