зеркало из https://github.com/mozilla/gecko-dev.git
merge mozilla-central to mozilla-inbound. r=merge a=merge
This commit is contained in:
Коммит
85c5258052
|
@ -6541,9 +6541,14 @@
|
|||
if (this.selectedItem.closing || selectedIndex == 0) {
|
||||
this._beforeSelectedTab = null;
|
||||
} else {
|
||||
this._beforeSelectedTab = visibleTabs[selectedIndex - 1];
|
||||
this._beforeSelectedTab.setAttribute("beforeselected-visible",
|
||||
"true");
|
||||
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)
|
||||
|
@ -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() {
|
||||
|
|
Загрузка…
Ссылка в новой задаче