Merge mozilla-central to mozilla-inbound. CLOSED TREE

This commit is contained in:
Csoregi Natalia 2019-02-02 00:14:12 +02:00
commit 9423fa7897
124 changed files with 1355 additions and 907 deletions

View File

@ -482,6 +482,9 @@ pref("browser.tabs.showAudioPlayingIcon", true);
// This should match Chromium's audio indicator delay.
pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000);
// New, experimental, tab open/close animations.
pref("browser.tabs.newanimations", false);
// Pref to control whether we use separate privileged content processes.
#if defined(NIGHTLY_BUILD) && !defined(MOZ_ASAN)
pref("browser.tabs.remote.separatePrivilegedContentProcess", true);

View File

@ -176,6 +176,24 @@ panelview[mainview] > .panel-header {
min-width: calc(var(--tab-min-width) + 10px);
}
@supports -moz-bool-pref("browser.tabs.newanimations") {
.tabbrowser-tab:not([pinned]):not([tabdrop-samewindow]) {
transition: transform 100ms ease-in-out;
}
#tabbrowser-tabs[movingtab] > .tabbrowser-tab[selected] {
transition: none;
}
.tabbrowser-tab:not([pinned]):not([fadein]) {
transform: translateY(var(--tab-min-height));
}
} /* end @supports -moz-bool-pref("browser.tabs.newanimations") */
@supports not -moz-bool-pref("browser.tabs.newanimations") {
.tabbrowser-tab:not([pinned]):not([fadein]) {
max-width: 0.1px;
min-width: 0.1px;
@ -203,6 +221,8 @@ panelview[mainview] > .panel-header {
display: none;
}
} /* end @supports not -moz-bool-pref("browser.tabs.newanimations") */
%ifdef NIGHTLY_BUILD
@supports -moz-bool-pref("browser.tabs.hideThrobber") {
.tab-throbber {

View File

@ -1234,11 +1234,19 @@
]]></handler>
<handler event="transitionend"><![CDATA[
if (event.propertyName != "max-width") {
if (event.propertyName != "max-width" &&
event.propertyName != "transform") {
return;
}
var tab = event.target;
if (gBrowser.tabAnimationsInProgress == 0) {
return;
}
let tab = event.originalTarget;
if (tab.nodeName != "tab") {
return;
}
if (tab.getAttribute("fadein") == "true") {
if (tab._fullyOpen) {
@ -1249,6 +1257,9 @@
} else if (tab.closing) {
gBrowser._endRemoveTab(tab);
}
let evt = new CustomEvent("TabAnimationEnd", { bubbles: true });
tab.dispatchEvent(evt);
]]></handler>
<handler event="dblclick"><![CDATA[

View File

@ -23,13 +23,10 @@ function checkAnimationState() {
info("tab didn't close immediately, so the tab opening animation must have started moving");
info("waiting for the tab to close asynchronously");
tab.addEventListener("transitionend", function listener(event) {
if (event.propertyName == "max-width") {
tab.removeEventListener("transitionend", listener);
executeSoon(function() {
ok(!tab.parentNode, "tab removed asynchronously");
finish();
});
}
});
tab.addEventListener("TabAnimationEnd", function listener() {
executeSoon(function() {
ok(!tab.parentNode, "tab removed asynchronously");
finish();
});
}, {once: true});
}

View File

@ -36,8 +36,7 @@ add_task(async function() {
await withPerfObserver(async function() {
let switchDone = BrowserTestUtils.waitForEvent(window, "TabSwitchDone");
gBrowser.removeTab(tab, { animate: true });
await BrowserTestUtils.waitForEvent(tab, "transitionend",
false, e => e.propertyName === "max-width");
await BrowserTestUtils.waitForEvent(tab, "TabAnimationEnd");
await switchDone;
}, {expectedReflows: EXPECTED_REFLOWS,
frames: {

View File

@ -45,8 +45,7 @@ add_task(async function() {
let switchDone = BrowserTestUtils.waitForEvent(window, "TabSwitchDone");
let tab = gBrowser.tabs[gBrowser.tabs.length - 1];
gBrowser.removeTab(tab, { animate: true, byMouse: true });
await BrowserTestUtils.waitForEvent(tab, "transitionend",
false, e => e.propertyName === "max-width");
await BrowserTestUtils.waitForEvent(tab, "TabAnimationEnd");
await switchDone;
}, {expectedReflows: EXPECTED_REFLOWS,
frames: {

View File

@ -42,8 +42,7 @@ add_task(async function() {
await withPerfObserver(async function() {
let switchDone = BrowserTestUtils.waitForEvent(window, "TabSwitchDone");
BrowserOpenTab();
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "transitionend",
false, e => e.propertyName === "max-width");
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "TabAnimationEnd");
await switchDone;
}, {expectedReflows: EXPECTED_REFLOWS,
frames: {

View File

@ -40,8 +40,7 @@ add_task(async function() {
await withPerfObserver(async function() {
let switchDone = BrowserTestUtils.waitForEvent(window, "TabSwitchDone");
BrowserOpenTab();
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "transitionend",
false, e => e.propertyName === "max-width");
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "TabAnimationEnd");
await switchDone;
}, {expectedReflows: EXPECTED_REFLOWS,
frames: {

View File

@ -75,8 +75,7 @@ add_task(async function() {
await withPerfObserver(async function() {
let switchDone = BrowserTestUtils.waitForEvent(window, "TabSwitchDone");
BrowserOpenTab();
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "transitionend",
false, e => e.propertyName === "max-width");
await BrowserTestUtils.waitForEvent(gBrowser.selectedTab, "TabAnimationEnd");
await switchDone;
await BrowserTestUtils.waitForCondition(() => {
return gBrowser.tabContainer.arrowScrollbox.hasAttribute("scrolledtoend");

View File

@ -372,10 +372,10 @@ class UrlbarInput {
case UrlbarUtils.RESULT_TYPE.SEARCH:
val = result.payload.suggestion || result.payload.query;
break;
case UrlbarUtils.RESULT_TYPE.OMNIBOX:
val = result.payload.content;
break;
default: {
// FIXME: This is wrong, not all the other matches have a url. For example
// extension matches will call into the extension code rather than loading
// a url. That means we likely can't use the url as our value.
val = result.payload.url;
let uri;
try {

View File

@ -101,6 +101,12 @@ var UrlbarUtils = {
OTHER_NETWORK: 6,
},
// This defines icon locations that are common used in the UI.
ICON: {
DEFAULT: Ci.nsIFaviconService.FAVICON_DEFAULT_URL,
SEARCH_GLASS: "chrome://browser/skin/search-glass.svg",
},
/**
* Adds a url to history as long as it isn't in a private browsing window,
* and it is valid.

View File

@ -119,7 +119,7 @@ class UrlbarView {
// UrlbarController listener methods.
onQueryStarted(queryContext) {
this._rows.textContent = "";
this._rows.style.minHeight = this._getBoundsWithoutFlushing(this._rows).height + "px";
}
onQueryCancelled(queryContext) {
@ -127,7 +127,7 @@ class UrlbarView {
}
onQueryFinished(queryContext) {
// Nothing.
this._rows.style.minHeight = "";
}
onQueryResults(queryContext) {
@ -286,9 +286,9 @@ class UrlbarView {
favicon.className = "urlbarView-favicon";
if (result.type == UrlbarUtils.RESULT_TYPE.SEARCH ||
result.type == UrlbarUtils.RESULT_TYPE.KEYWORD) {
favicon.src = "chrome://browser/skin/search-glass.svg";
favicon.src = UrlbarUtils.ICON.SEARCH_GLASS;
} else {
favicon.src = result.payload.icon || "chrome://mozapps/skin/places/defaultFavicon.svg";
favicon.src = result.payload.icon || UrlbarUtils.ICON.DEFAULT;
}
content.appendChild(favicon);

View File

@ -35,13 +35,13 @@ var UrlbarTestUtils = {
/**
* Starts a search for a given string and waits for the search to be complete.
* @param {string} inputText the search string
* @param {object} win The window containing the urlbar
* @param {string} inputText the search string
* @param {function} waitForFocus The Simpletest function
* @param {boolean} fireInputEvent whether an input event should be used when
* starting the query (necessary to set userTypedValued)
*/
async promiseAutocompleteResultPopup(inputText, win, waitForFocus, fireInputEvent = false) {
async promiseAutocompleteResultPopup(win, inputText, waitForFocus, fireInputEvent = false) {
let urlbar = getUrlbarAbstraction(win);
let restoreAnimationsFn = urlbar.disableAnimations();
await new Promise(resolve => waitForFocus(resolve, win));
@ -91,6 +91,16 @@ var UrlbarTestUtils = {
return urlbar.getSelectedElement();
},
/**
* Gets the index of the currently selected item.
* @param {object} win The window containing the urlbar.
* @returns {number} The selected index.
*/
getSelectedIndex(win) {
let urlbar = getUrlbarAbstraction(win);
return urlbar.getSelectedIndex();
},
/**
* Gets the number of results.
* You must wait for the query to be complete before using this.
@ -127,6 +137,18 @@ var UrlbarTestUtils = {
"Waiting for speculative connection setup"
);
},
/**
* Waits for the popup to be hidden.
* @param {object} win The window containing the urlbar
* @param {function} [closeFn] Function to be used to close the popup, if not
* supplied it will default to a closing the popup directly.
* @returns {Promise} resolved once the popup is closed
*/
promisePopupClose(win, closeFn = null) {
let urlbar = getUrlbarAbstraction(win);
return urlbar.promisePopupClose(closeFn);
},
};
/**
@ -252,13 +274,21 @@ class UrlbarAbstraction {
this.panel.richlistbox.itemChildren[this.panel.selectedIndex] : null;
}
getSelectedIndex() {
if (!this.quantumbar) {
return this.panel.selectedIndex;
}
return parseInt(this.urlbar.view._selected.getAttribute("resultIndex"));
}
getResultCount() {
return this.quantumbar ? this.urlbar.view._rows.children.length
: this.urlbar.controller.matchCount;
}
async getDetailsOfResultAt(index) {
await this.promiseResultAt(index);
let element = await this.promiseResultAt(index);
function getType(style, action) {
if (style.includes("searchengine") || style.includes("suggestions")) {
return UrlbarUtils.RESULT_TYPE.SEARCH;
@ -279,12 +309,30 @@ class UrlbarAbstraction {
details.url = (UrlbarUtils.getUrlFromResult(context.results[index])).url;
details.type = context.results[index].type;
details.autofill = index == 0 && context.autofillValue;
details.image = element.getElementsByClassName("urlbarView-favicon")[0].src;
if (details.type == UrlbarUtils.RESULT_TYPE.SEARCH) {
details.searchParams = {
engine: context.results[index].payload.engine,
query: context.results[index].payload.query,
suggestion: context.results[index].payload.suggestion,
};
}
} else {
details.url = this.urlbar.controller.getFinalCompleteValueAt(index);
let style = this.urlbar.controller.getStyleAt(index);
let action = PlacesUtils.parseActionUrl(this.urlbar.controller.getValueAt(index));
details.type = getType(style, action);
details.autofill = style.includes("autofill");
details.image = element.getAttribute("image");
if (details.type == UrlbarUtils.RESULT_TYPE.SEARCH) {
details.searchParams = {
engine: action.params.engineName,
query: action.params.input,
suggestion: action.params.input == action.params.searchQuery ?
undefined :
action.params.searchQuery,
};
}
}
return details;
}
@ -317,4 +365,24 @@ class UrlbarAbstraction {
}
});
}
closePopup() {
if (this.quantumbar) {
this.urlbar.view.close();
} else {
this.urlbar.popup.hidePopup();
}
}
promisePopupClose(closeFn) {
if (closeFn) {
closeFn();
} else {
this.closePopup();
}
if (!this.quantumbar) {
return BrowserTestUtils.waitForPopupEvent(this.urlbar.popup, "hidden");
}
return BrowserTestUtils.waitForPopupEvent(this.urlbar.view.panel, "hidden");
}
}

View File

@ -10,10 +10,14 @@ support-files =
head.js
head-common.js
[browser_action_searchengine.js]
[browser_action_searchengine_alias.js]
[browser_autocomplete_edit_completed.js]
[browser_canonizeURL.js]
[browser_locationBarCommand.js]
[browser_locationBarExternalLoad.js]
[browser_moz_action_link.js]
[browser_new_tab_urlbar_reset.js]
[browser_populateAfterPushState.js]
[browser_redirect_error.js]
support-files = redirect_error.sjs
@ -27,6 +31,7 @@ support-files =
file_urlbar_edit_dos.html
[browser_urlbar_remoteness_switch.js]
run-if = e10s
[browser_urlbar_remove_match.js]
[browser_urlbar_searchsettings.js]
[browser_urlbar_speculative_connect.js]
support-files =

View File

@ -0,0 +1,54 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests that a search result has the correct attributes and visits the
* expected URL for the engine.
*/
add_task(async function() {
Services.search.addEngineWithDetails("MozSearch", "", "", "", "GET",
"http://example.com/?q={searchTerms}");
let engine = Services.search.getEngineByName("MozSearch");
let originalEngine = Services.search.defaultEngine;
Services.search.defaultEngine = engine;
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:mozilla");
registerCleanupFunction(async function() {
Services.search.defaultEngine = originalEngine;
Services.search.removeEngine(engine);
try {
BrowserTestUtils.removeTab(tab);
} catch (ex) { /* tab may have already been closed in case of failure */ }
await PlacesUtils.history.clear();
});
await promiseAutocompleteResultPopup("open a search");
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, 0);
Assert.equal(result.type, UrlbarUtils.RESULT_TYPE.SEARCH,
"Should have type search");
Assert.deepEqual(result.searchParams, {
engine: "MozSearch",
query: "open a search",
suggestion: undefined,
}, "Should have the correct result parameters.");
if (UrlbarPrefs.get("quantumbar")) {
Assert.equal(result.image, UrlbarUtils.ICON.SEARCH_GLASS,
"Should have the search icon image");
} else {
Assert.equal(result.image, "", "Should not have an image defined");
}
let tabPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
let element = await UrlbarTestUtils.waitForAutocompleteResultAt(window, 0);
EventUtils.synthesizeMouseAtCenter(element, {}, window);
await tabPromise;
Assert.equal(gBrowser.selectedBrowser.currentURI.spec,
"http://example.com/?q=open+a+search", "Should have loaded the correct page");
await UrlbarTestUtils.promisePopupClose(window);
});

View File

@ -0,0 +1,45 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests that search result obtained using a search keyword gives an entry with
* the correct attributes and visits the expected URL for the engine.
*/
add_task(async function() {
const ICON_URI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABGklEQVQoz2NgGB6AnZ1dUlJSXl4eSDIyMhLW4Ovr%2B%2Fr168uXL69Zs4YoG%2BLi4i5dusTExMTGxsbNzd3f37937976%2BnpmZmagbHR09J49e5YvX66kpATVEBYW9ubNm2nTphkbG7e2tp44cQLIuHfvXm5urpaWFlDKysqqu7v73LlzECMYIiIiHj58mJCQoKKicvXq1bS0NKBgW1vbjh074uPjgeqAXE1NzSdPnvDz84M0AEUvXLgAsW379u1z5swBen3jxo2zZ892cHB4%2BvQp0KlAfwI1cHJyghQFBwfv2rULokFXV%2FfixYu7d%2B8GGqGgoMDKyrpu3br9%2B%2FcDuXl5eVA%2FAEWBfoWHAdAYoNuAYQ0XAeoUERFhGDYAAPoUaT2dfWJuAAAAAElFTkSuQmCC";
Services.search.addEngineWithDetails("MozSearch", ICON_URI, "moz", "", "GET",
"http://example.com/?q={searchTerms}");
let engine = Services.search.getEngineByName("MozSearch");
let originalEngine = Services.search.defaultEngine;
Services.search.defaultEngine = engine;
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:mozilla");
registerCleanupFunction(async function() {
Services.search.defaultEngine = originalEngine;
Services.search.removeEngine(engine);
try {
BrowserTestUtils.removeTab(tab);
} catch (ex) { /* tab may have already been closed in case of failure */ }
await PlacesUtils.history.clear();
});
await promiseAutocompleteResultPopup("moz open a search");
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, 0);
if (UrlbarPrefs.get("quantumbar")) {
Assert.equal(result.image, UrlbarUtils.ICON.SEARCH_GLASS,
"Should have the search icon image");
} else {
Assert.equal(result.image, ICON_URI, "Should have the correct image");
}
let tabPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
EventUtils.synthesizeKey("KEY_Enter");
await tabPromise;
Assert.equal(gBrowser.selectedBrowser.currentURI.spec,
"http://example.com/?q=open+a+search", "Should have loaded the correct page");
await UrlbarTestUtils.promisePopupClose(window);
});

View File

@ -1,3 +1,10 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests selecting a result, and editing the value of that autocompleted result.
*/
add_task(async function() {
await PlacesUtils.history.clear();
@ -13,35 +20,36 @@ add_task(async function() {
});
await promiseAutocompleteResultPopup("http://example.com");
await waitForAutocompleteResultAt(1);
let popup = gURLBar.popup;
let list = popup.richlistbox;
let initialIndex = list.selectedIndex;
const initialIndex = UrlbarTestUtils.getSelectedIndex(window);
info("Key Down to select the next item.");
EventUtils.synthesizeKey("KEY_ArrowDown");
let nextIndex = initialIndex + 1;
let nextValue = gURLBar.controller.getFinalCompleteValueAt(nextIndex);
is(list.selectedIndex, nextIndex, "The next item is selected.");
is(gURLBar.value, nextValue, "The selected URL is completed.");
let nextResult = await UrlbarTestUtils.getDetailsOfResultAt(window, nextIndex);
Assert.equal(UrlbarTestUtils.getSelectedIndex(window), nextIndex,
"Should have selected the next item");
Assert.equal(gURLBar.value, nextResult.url,
"Should have completed the URL");
info("Press backspace");
EventUtils.synthesizeKey("KEY_Backspace");
await promiseSearchComplete();
let editedValue = gURLBar.textValue;
is(list.selectedIndex, initialIndex, "The initial index is selected again.");
isnot(editedValue, nextValue, "The URL has changed.");
Assert.equal(UrlbarTestUtils.getSelectedIndex(window), initialIndex,
"Should have selected the initialIndex again");
Assert.notEqual(editedValue, nextResult.url, "The URL has changed.");
let docLoad = BrowserTestUtils.waitForDocLoadAndStopIt("http://" + editedValue,
gBrowser.selectedBrowser);
info("Press return to load edited URL.");
EventUtils.synthesizeKey("KEY_Enter");
await Promise.all([
promisePopupHidden(gURLBar.popup),
docLoad,
]);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_Enter");
});
await docLoad;
});

View File

@ -0,0 +1,31 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Verify that urlbar state is reset when opening a new tab, so searching for the
* same text will reopen the results popup.
*/
add_task(async function() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank", false);
await promiseAutocompleteResultPopup("m");
assertOpen();
let tab2 = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank", false);
await promiseAutocompleteResultPopup("m");
assertOpen();
BrowserTestUtils.removeTab(tab);
BrowserTestUtils.removeTab(tab2);
});
function assertOpen() {
if (UrlbarPrefs.get("quantumbar")) {
Assert.equal(gURLBar.view.panel.state, "open",
"Should be showing the popup");
} else {
Assert.ok(gURLBar.popupOpen,
"Should be showing the popup");
}
}

View File

@ -13,20 +13,28 @@ add_task(async function test_remove_history() {
"onDeleteURI", uri => uri.spec == TEST_URL, "history");
await promiseAutocompleteResultPopup("from_urlbar");
let result = await waitForAutocompleteResultAt(1);
Assert.equal(result.getAttribute("ac-value"), TEST_URL, "Found the expected result");
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, 1);
Assert.equal(result.url, TEST_URL, "Found the expected result");
let expectedResultCount = UrlbarTestUtils.getResultCount(window) - 1;
EventUtils.synthesizeKey("KEY_ArrowDown");
Assert.equal(gURLBar.popup.richlistbox.selectedIndex, 1);
Assert.equal(UrlbarTestUtils.getSelectedIndex(window), 1);
let options = AppConstants.platform == "macosx" ? { shiftKey: true } : {};
EventUtils.synthesizeKey("KEY_Delete", options);
await promiseVisitRemoved;
await BrowserTestUtils.waitForCondition(
() => !gURLBar.popup.richlistbox.itemChildren.some(c => !c.collapsed && c.getAttribute("ac-value") == TEST_URL),
await TestUtils.waitForCondition(
() => UrlbarTestUtils.getResultCount(window) == expectedResultCount,
"Waiting for the result to disappear");
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
for (let i = 0; i < expectedResultCount; i++) {
let details = await UrlbarTestUtils.getDetailsOfResultAt(window, i);
Assert.notEqual(details.url, TEST_URL,
"Should not find the test URL in the remaining results");
}
await UrlbarTestUtils.promisePopupClose(window);
});
// We shouldn't be able to remove a bookmark item.
@ -43,11 +51,11 @@ add_task(async function test_remove_bookmark_doesnt() {
});
await promiseAutocompleteResultPopup("from_urlbar");
let result = await waitForAutocompleteResultAt(1);
Assert.equal(result.getAttribute("ac-value"), TEST_URL, "Found the expected result");
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, 1);
Assert.equal(result.url, TEST_URL, "Found the expected result");
EventUtils.synthesizeKey("KEY_ArrowDown");
Assert.equal(gURLBar.popup.richlistbox.selectedIndex, 1);
Assert.equal(UrlbarTestUtils.getSelectedIndex(window), 1);
let options = AppConstants.platform == "macosx" ? { shiftKey: true } : {};
EventUtils.synthesizeKey("KEY_Delete", options);
@ -56,8 +64,7 @@ add_task(async function test_remove_bookmark_doesnt() {
await new Promise(resolve => setTimeout(resolve, 0));
await PlacesTestUtils.promiseAsyncUpdates();
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
await UrlbarTestUtils.promisePopupClose(window);
Assert.ok(await PlacesUtils.bookmarks.fetch({url: TEST_URL}),
"Should still have the URL bookmarked.");

View File

@ -72,8 +72,8 @@ function promiseSearchComplete(win = window, dontAnimate = false) {
function promiseAutocompleteResultPopup(inputText,
win = window,
fireInputEvent = false) {
return UrlbarTestUtils.promiseAutocompleteResultPopup(inputText,
win, waitForFocus, fireInputEvent);
return UrlbarTestUtils.promiseAutocompleteResultPopup(win, inputText,
waitForFocus, fireInputEvent);
}
async function waitForAutocompleteResultAt(index) {

View File

@ -17,14 +17,11 @@ skip-if = os == "linux" # Bug 1188154
support-files =
../browser/print_postdata.sjs
[browser_action_keyword_override.js]
[browser_action_searchengine.js]
[browser_action_searchengine_alias.js]
[browser_autocomplete_a11y_label.js]
skip-if = (verify && !debug && (os == 'win'))
[browser_autocomplete_autoselect.js]
[browser_autocomplete_cursor.js]
skip-if = verify
[browser_autocomplete_edit_completed.js]
[browser_autocomplete_enter_race.js]
[browser_autocomplete_no_title.js]
[browser_autocomplete_readline_navigation.js]
@ -32,7 +29,6 @@ skip-if = os != "mac" # Mac only feature
[browser_autocomplete_tag_star_visibility.js]
[browser_dragdropURL.js]
[browser_keyword_select_and_type.js]
[browser_new_tab_urlbar_reset.js]
[browser_pasteAndGo.js]
subsuite = clipboard
[browser_remotetab.js]
@ -94,7 +90,6 @@ support-files =
[browser_urlbarTokenAlias.js]
[browser_urlbar_autoFill_backspaced.js]
[browser_urlbar_canonize_on_autofill.js]
[browser_urlbar_remove_match.js]
[browser_urlbar_stop_pending.js]
support-files =
../browser/slow-page.sjs
@ -109,12 +104,16 @@ support-files =
# against both the legacy urlbar and the new QuantumBar. The references in this
# directory will run them against the old urlbar as per the pref above.
[../browser/browser_action_searchengine.js]
[../browser/browser_action_searchengine_alias.js]
[../browser/browser_autocomplete_edit_completed.js]
[../browser/browser_canonizeURL.js]
[../browser/browser_URLBarSetURI.js]
skip-if = (os == "linux" || os == "mac") && debug # bug 970052, bug 970053
[../browser/browser_locationBarCommand.js]
[../browser/browser_locationBarExternalLoad.js]
[../browser/browser_moz_action_link.js]
[../browser/browser_new_tab_urlbar_reset.js]
[../browser/browser_populateAfterPushState.js]
[../browser/browser_redirect_error.js]
support-files = ../browser/redirect_error.sjs
@ -152,6 +151,7 @@ support-files =
[../browser/browser_urlbar_speculative_connect_not_with_client_cert.js]
[../browser/browser_urlbar_remoteness_switch.js]
run-if = e10s
[../browser/browser_urlbar_remove_match.js]
[../browser/browser_userTypedValue.js]
support-files = ../browser/file_userTypedValue.html
[../browser/browser_wyciwyg_urlbarCopying.js]

View File

@ -1,47 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(async function() {
Services.search.addEngineWithDetails("MozSearch", "", "", "", "GET",
"http://example.com/?q={searchTerms}");
let engine = Services.search.getEngineByName("MozSearch");
let originalEngine = Services.search.defaultEngine;
Services.search.defaultEngine = engine;
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:mozilla");
registerCleanupFunction(async function() {
Services.search.defaultEngine = originalEngine;
Services.search.removeEngine(engine);
try {
BrowserTestUtils.removeTab(tab);
} catch (ex) { /* tab may have already been closed in case of failure */ }
await PlacesUtils.history.clear();
});
await promiseAutocompleteResultPopup("open a search");
let result = await waitForAutocompleteResultAt(0);
isnot(result, null, "Should have a result");
Assert.deepEqual(
PlacesUtils.parseActionUrl(result.getAttribute("url")),
{
type: "searchengine",
params: {
engineName: "MozSearch",
input: "open a search",
searchQuery: "open a search",
},
},
"Result should be a moz-action: for the correct search engine"
);
is(result.hasAttribute("image"), false, "Result shouldn't have an image attribute");
let tabPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
result.click();
await tabPromise;
is(gBrowser.selectedBrowser.currentURI.spec, "http://example.com/?q=open+a+search", "Correct URL should be loaded");
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
});

View File

@ -1,37 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(async function() {
let iconURI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABGklEQVQoz2NgGB6AnZ1dUlJSXl4eSDIyMhLW4Ovr%2B%2Fr168uXL69Zs4YoG%2BLi4i5dusTExMTGxsbNzd3f37937976%2BnpmZmagbHR09J49e5YvX66kpATVEBYW9ubNm2nTphkbG7e2tp44cQLIuHfvXm5urpaWFlDKysqqu7v73LlzECMYIiIiHj58mJCQoKKicvXq1bS0NKBgW1vbjh074uPjgeqAXE1NzSdPnvDz84M0AEUvXLgAsW379u1z5swBen3jxo2zZ892cHB4%2BvQp0KlAfwI1cHJyghQFBwfv2rULokFXV%2FfixYu7d%2B8GGqGgoMDKyrpu3br9%2B%2FcDuXl5eVA%2FAEWBfoWHAdAYoNuAYQ0XAeoUERFhGDYAAPoUaT2dfWJuAAAAAElFTkSuQmCC";
Services.search.addEngineWithDetails("MozSearch", iconURI, "moz", "", "GET",
"http://example.com/?q={searchTerms}");
let engine = Services.search.getEngineByName("MozSearch");
let originalEngine = Services.search.defaultEngine;
Services.search.defaultEngine = engine;
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:mozilla");
registerCleanupFunction(async function() {
Services.search.defaultEngine = originalEngine;
Services.search.removeEngine(engine);
try {
BrowserTestUtils.removeTab(tab);
} catch (ex) { /* tab may have already been closed in case of failure */ }
await PlacesUtils.history.clear();
});
await promiseAutocompleteResultPopup("moz open a search");
let result = await waitForAutocompleteResultAt(0);
ok(result.hasAttribute("image"), "Result should have an image attribute");
ok(result.getAttribute("image") === engine.iconURI.spec,
"Image attribute should have the search engine's icon");
let tabPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
EventUtils.synthesizeKey("KEY_Enter");
await tabPromise;
is(gBrowser.selectedBrowser.currentURI.spec, "http://example.com/?q=open+a+search");
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
});

View File

@ -1,6 +1,10 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* This test ensures that we produce good labels for a11y purposes.
*/
const SUGGEST_ALL_PREF = "browser.search.suggest.enabled";
const SUGGEST_URLBAR_PREF = "browser.urlbar.suggest.searches";
const TEST_ENGINE_BASENAME = "searchSuggestionEngine.xml";
@ -9,12 +13,17 @@ add_task(async function switchToTab() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:about");
await promiseAutocompleteResultPopup("% about");
let result = await waitForAutocompleteResultAt(1);
is(result.getAttribute("type"), "switchtab", "Expect right type attribute");
is(result.label, "about:about about:about Tab", "Result a11y label should be: <title> <url> Tab");
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, 1);
Assert.equal(result.type, UrlbarUtils.RESULT_TYPE.TAB_SWITCH,
"Should have a switch tab result");
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
// XXX Bug 1524539. This fails on QuantumBar because we're producing different
// outputs. Once we confirm accessibilty is ok with the new format, we
// should update and have this test running on QuantumBar.
let element = await UrlbarTestUtils.waitForAutocompleteResultAt(window, 1);
is(element.label, "about:about about:about Tab", "Result a11y label should be: <title> <url> Tab");
await UrlbarTestUtils.promisePopupClose(window);
gBrowser.removeTab(tab);
});
@ -33,11 +42,11 @@ add_task(async function searchSuggestions() {
});
await promiseAutocompleteResultPopup("foo");
await waitForAutocompleteResultAt(2);
let length = await UrlbarTestUtils.getResultCount(window);
// Don't assume that the search doesn't match history or bookmarks left around
// by earlier tests.
Assert.ok(gURLBar.popup.richlistbox.itemChildren.length >= 3,
"Should get at least heuristic result + two search suggestions");
Assert.greaterOrEqual(length, 3,
"Should get at least heuristic result + two search suggestions");
// The first expected search is the search term itself since the heuristic
// result will come before the search suggestions.
let expectedSearches = [
@ -45,15 +54,21 @@ add_task(async function searchSuggestions() {
"foofoo",
"foobar",
];
for (let child of gURLBar.popup.richlistbox.itemChildren) {
if (child.getAttribute("type").split(/\s+/).includes("searchengine")) {
Assert.ok(expectedSearches.length > 0);
for (let i = 0; i < length; i++) {
let result = await UrlbarTestUtils.getDetailsOfResultAt(window, i);
if (result.type === UrlbarUtils.RESULT_TYPE.SEARCH) {
Assert.greaterOrEqual(expectedSearches.length, 0,
"Should still have expected searches remaining");
let suggestion = expectedSearches.shift();
Assert.equal(child.label, suggestion + " browser_searchSuggestionEngine searchSuggestionEngine.xml Search",
"Result label should be: <search term> <engine name> Search");
// XXX Bug 1524539. This fails on QuantumBar because we're producing different
// outputs. Once we confirm accessibilty is ok with the new format, we
// should update and have this test running on QuantumBar.
let element = await UrlbarTestUtils.waitForAutocompleteResultAt(window, i);
Assert.equal(element.label,
suggestion + " browser_searchSuggestionEngine searchSuggestionEngine.xml Search",
"Result label should be: <search term> <engine name> Search");
}
}
Assert.ok(expectedSearches.length == 0);
gURLBar.popup.hidePopup();
await promisePopupHidden(gURLBar.popup);
await UrlbarTestUtils.promisePopupClose(window);
});

View File

@ -1,6 +1,11 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests that the first item is correctly autoselected and some navigation
* around the results list.
*/
const ONEOFF_URLBAR_PREF = "browser.urlbar.oneOffSearches";
function repeat(limit, func) {
@ -9,12 +14,14 @@ function repeat(limit, func) {
}
}
function is_selected(index) {
is(gURLBar.popup.richlistbox.selectedIndex, index, `Item ${index + 1} should be selected`);
function assertSelected(index) {
Assert.equal(UrlbarTestUtils.getSelectedIndex(window),
index, "Should have selected the correct item");
// Also check the "selected" attribute, to ensure it is not a "fake" selection
// due to binding misbehaviors.
ok(gURLBar.popup.richlistbox.selectedItem.hasAttribute("selected"),
`Item ${index + 1} should have the "selected" attribute`);
let element = UrlbarTestUtils.getSelectedElement(window);
Assert.ok(element.hasAttribute("selected"),
"Should have the selected attribute on the row element");
// This is true because although both the listbox and the one-offs can have
// selections, the test doesn't check that.
@ -22,7 +29,7 @@ function is_selected(index) {
"A result is selected, so the one-offs should not have a selection");
}
function is_selected_one_off(index) {
function assertSelected_one_off(index) {
is(gURLBar.popup.oneOffSearchButtons.selectedButtonIndex, index,
"Expected one-off button should be selected");
@ -51,49 +58,49 @@ add_task(async function() {
await PlacesTestUtils.addVisits(visits);
await promiseAutocompleteResultPopup("example.com/autocomplete");
await waitForAutocompleteResultAt(maxResults - 1);
let popup = gURLBar.popup;
let results = popup.richlistbox.itemChildren;
is(results.length, maxResults,
"Should get maxResults=" + maxResults + " results");
is_selected(0);
let resultCount = await UrlbarTestUtils.getResultCount(window);
Assert.equal(resultCount, maxResults,
"Should get the expected amount of results");
assertSelected(0);
info("Key Down to select the next item");
EventUtils.synthesizeKey("KEY_ArrowDown");
is_selected(1);
assertSelected(1);
info("Key Down maxResults-1 times should select the first one-off");
repeat(maxResults - 1, () => EventUtils.synthesizeKey("KEY_ArrowDown"));
is_selected_one_off(0);
assertSelected_one_off(0);
info("Key Down numButtons-1 should select the last one-off");
let numButtons =
gURLBar.popup.oneOffSearchButtons.getSelectableButtons(true).length;
repeat(numButtons - 1, () => EventUtils.synthesizeKey("KEY_ArrowDown"));
is_selected_one_off(numButtons - 1);
assertSelected_one_off(numButtons - 1);
info("Key Down twice more should select the second result");
repeat(2, () => EventUtils.synthesizeKey("KEY_ArrowDown"));
is_selected(1);
assertSelected(1);
info("Key Down maxResults + numButtons times should wrap around");
repeat(maxResults + numButtons,
() => EventUtils.synthesizeKey("KEY_ArrowDown"));
is_selected(1);
assertSelected(1);
info("Key Up maxResults + numButtons times should wrap around the other way");
repeat(maxResults + numButtons, () => EventUtils.synthesizeKey("KEY_ArrowUp"));
is_selected(1);
assertSelected(1);
info("Page Up will go up the list, but not wrap");
EventUtils.synthesizeKey("KEY_PageUp");
is_selected(0);
assertSelected(0);
info("Page Up again will wrap around to the end of the list");
EventUtils.synthesizeKey("KEY_PageUp");
is_selected(maxResults - 1);
assertSelected(maxResults - 1);
EventUtils.synthesizeKey("KEY_Escape");
await promisePopupHidden(gURLBar.popup);
await UrlbarTestUtils.promisePopupClose(window, () => {
EventUtils.synthesizeKey("KEY_Escape");
});
});

View File

@ -1,16 +0,0 @@
"use strict";
/**
* Verify that urlbar state is reset when openig a new tab, so searching for the
* same text will reopen the results popup.
*/
add_task(async function() {
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank", false);
await promiseAutocompleteResultPopup("m");
ok(gURLBar.popupOpen, "The popup is open");
let tab2 = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank", false);
await promiseAutocompleteResultPopup("m");
ok(gURLBar.popupOpen, "The popup is open");
BrowserTestUtils.removeTab(tab);
BrowserTestUtils.removeTab(tab2);
});

View File

@ -40,6 +40,7 @@
}
.urlbarView-results {
box-sizing: border-box;
padding: @urlbarViewPadding@;
white-space: nowrap;
}

View File

@ -215,6 +215,7 @@ skip-if = verify
[browser_jsterm_autocomplete_width.js]
[browser_jsterm_autocomplete_will_navigate.js]
[browser_jsterm_autocomplete-properties-with-non-alphanumeric-names.js]
[browser_jsterm_await_assignments.js]
[browser_jsterm_await_concurrent.js]
[browser_jsterm_await_error.js]
[browser_jsterm_await_helper_dollar_underscore.js]

View File

@ -0,0 +1,75 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// Test that top-level await expressions work as expected.
"use strict";
const TEST_URI = "data:text/html;charset=utf-8,Web Console test top-level await bindings";
add_task(async function() {
// Enable await mapping.
await pushPref("devtools.debugger.features.map-await-expression", true);
// Run test with legacy JsTerm
await pushPref("devtools.webconsole.jsterm.codeMirror", false);
await performTests();
// And then run it with the CodeMirror-powered one.
await pushPref("devtools.webconsole.jsterm.codeMirror", true);
await performTests();
});
async function performTests() {
const hud = await openNewTabAndConsole(TEST_URI);
info("Check that declaring a let variable does not create a global property");
await hud.jsterm.execute(
`let bazA = await new Promise(r => setTimeout(() => r("local-bazA"), 10))`);
await checkVariable(hud, "bazA");
info("Check that declaring a const variable does not create a global property");
await hud.jsterm.execute(
`const bazB = await new Promise(r => setTimeout(() => r("local-bazB"), 10))`);
await checkVariable(hud, "bazB");
info("Check that complex variable declarations work as expected");
await hud.jsterm.execute(`
let bazC = "local-bazC", bazD, bazE = "local-bazE";
bazD = await new Promise(r => setTimeout(() => r("local-bazD"), 10));
let {
a: bazF,
b: {
c: {
bazG = "local-bazG",
d: bazH,
e: [bazI, bazJ = "local-bazJ"]
},
d: bazK = "local-bazK"
}
} = await ({
a: "local-bazF",
b: {
c: {
d: "local-bazH",
e: ["local-bazI"]
}
}
});`);
await checkVariable(hud, "bazC");
await checkVariable(hud, "bazD");
await checkVariable(hud, "bazE");
await checkVariable(hud, "bazF");
await checkVariable(hud, "bazG");
await checkVariable(hud, "bazH");
await checkVariable(hud, "bazI");
await checkVariable(hud, "bazJ");
await checkVariable(hud, "bazK");
}
async function checkVariable(hud, varName) {
await executeAndWaitForMessage(hud, `window.${varName}`, `undefined`);
ok(true, `The ${varName} assignment did not create a global variable`);
await executeAndWaitForMessage(hud, varName, `"local-${varName}"`);
ok(true, `"${varName}" has the expected value`);
}

View File

@ -253,7 +253,11 @@ WebConsole.prototype = {
}
if (this.parserService && expression.includes("await ")) {
return this.parserService.mapExpression(expression);
const shouldMapBindings = false;
const shouldMapAwait = true;
const res = this.parserService.mapExpression(
expression, null, null, shouldMapBindings, shouldMapAwait);
return res;
}
return null;

View File

@ -293,7 +293,10 @@ const NodeActor = protocol.ActorClassWithSpec(nodeSpec, {
},
writeAttrs: function() {
if (!this.rawNode.attributes) {
// If the node has no attributes or this.rawNode is the document node and a
// node with `name="attributes"` exists in the DOM we need to bail.
if (!this.rawNode.attributes ||
!(this.rawNode.attributes instanceof NamedNodeMap)) {
return undefined;
}

View File

@ -24,6 +24,7 @@ const {
DOMQuad,
DOMRect,
HeapSnapshot,
NamedNodeMap,
NodeFilter,
StructuredCloneHolder,
TelemetryStopwatch,
@ -291,6 +292,7 @@ exports.globals = {
DOMParser,
DOMPoint,
DOMQuad,
NamedNodeMap,
NodeFilter,
DOMRect,
Element,

View File

@ -86,25 +86,24 @@ nsresult HTMLSourceElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
(aName == nsGkAtoms::srcset || aName == nsGkAtoms::sizes ||
aName == nsGkAtoms::media || aName == nsGkAtoms::type) &&
parent && parent->IsHTMLElement(nsGkAtoms::picture)) {
if (aName == nsGkAtoms::media) {
UpdateMediaList(aValue);
}
nsString strVal = aValue ? aValue->GetStringValue() : EmptyString();
// Find all img siblings after this <source> and notify them of the change
nsCOMPtr<nsIContent> sibling = AsContent();
while ((sibling = sibling->GetNextSibling())) {
if (sibling->IsHTMLElement(nsGkAtoms::img)) {
HTMLImageElement* img = static_cast<HTMLImageElement*>(sibling.get());
if (auto* img = HTMLImageElement::FromNode(sibling)) {
if (aName == nsGkAtoms::srcset) {
img->PictureSourceSrcsetChanged(AsContent(), strVal, aNotify);
img->PictureSourceSrcsetChanged(this, strVal, aNotify);
} else if (aName == nsGkAtoms::sizes) {
img->PictureSourceSizesChanged(AsContent(), strVal, aNotify);
} else if (aName == nsGkAtoms::media) {
UpdateMediaList(aValue);
img->PictureSourceMediaOrTypeChanged(AsContent(), aNotify);
} else if (aName == nsGkAtoms::type) {
img->PictureSourceMediaOrTypeChanged(AsContent(), aNotify);
img->PictureSourceSizesChanged(this, strVal, aNotify);
} else if (aName == nsGkAtoms::media || aName == nsGkAtoms::type) {
img->PictureSourceMediaOrTypeChanged(this, aNotify);
}
}
}
} else if (aNameSpaceID == kNameSpaceID_None && aName == nsGkAtoms::media) {
UpdateMediaList(aValue);
} else if (aNameSpaceID == kNameSpaceID_None && aName == nsGkAtoms::src) {

View File

@ -2553,10 +2553,17 @@ bool SourceMediaStream::PullNewData(GraphTime aDesiredUpToTime) {
// the stream at all.
StreamTime t = GraphTimeToStreamTime(aDesiredUpToTime);
for (const TrackData& track : mUpdateTracks) {
if (track.mCommands & TrackEventCommand::TRACK_EVENT_ENDED) {
if (track.mCommands & TRACK_END) {
continue;
}
StreamTime current = track.mEndOfFlushedData + track.mData->GetDuration();
StreamTime current;
if (track.mCommands & TRACK_CREATE) {
// This track hasn't been created yet. Use the stream's current time
// (which the track will get as its start time later).
current = GraphTimeToStreamTime(GraphImpl()->mStateComputedTime);
} else {
current = track.mEndOfFlushedData + track.mData->GetDuration();
}
if (t <= current) {
continue;
}
@ -2617,8 +2624,8 @@ void SourceMediaStream::ExtractPendingInput(GraphTime aCurrentTime) {
GraphImpl(), this, data->mID, int64_t(streamCurrentTime),
int64_t(segment->GetDuration())));
data->mEndOfFlushedData += segment->GetDuration();
segment->InsertNullDataAtStart(streamCurrentTime);
data->mEndOfFlushedData += segment->GetDuration();
mTracks.AddTrack(data->mID, streamCurrentTime, segment);
// The track has taken ownership of data->mData, so let's replace
// data->mData with an empty clone.

View File

@ -202,10 +202,6 @@ void ObjectGroup::setAddendum(AddendumKind kind, void* addendum,
/* static */ bool ObjectGroup::useSingletonForAllocationSite(JSScript* script,
jsbytecode* pc,
JSProtoKey key) {
// The return value of this method can either be tested like a boolean or
// passed to a NewObject method.
JS_STATIC_ASSERT(GenericObject == 0);
/*
* Objects created outside loops in global and eval scripts should have
* singleton types. For now this is only done for plain objects, but not
@ -213,17 +209,17 @@ void ObjectGroup::setAddendum(AddendumKind kind, void* addendum,
*/
if (script->functionNonDelazifying() && !script->treatAsRunOnce()) {
return GenericObject;
return false;
}
if (key != JSProto_Object) {
return GenericObject;
return false;
}
// All loops in the script will have a try note indicating their boundary.
if (!script->hasTrynotes()) {
return SingletonObject;
return true;
}
uint32_t offset = script->pcToOffset(pc);
@ -235,11 +231,11 @@ void ObjectGroup::setAddendum(AddendumKind kind, void* addendum,
}
if (tn.start <= offset && offset < tn.start + tn.length) {
return GenericObject;
return false;
}
}
return SingletonObject;
return true;
}
/////////////////////////////////////////////////////////////////////

View File

@ -7178,38 +7178,46 @@ nsIFrame* PresShell::EventHandler::GetFrameForHandlingEventWith(
MOZ_ASSERT(aGUIEvent);
MOZ_ASSERT(aRetargetDocument);
nsCOMPtr<nsIPresShell> presShell = aRetargetDocument->GetShell();
nsCOMPtr<nsIPresShell> retargetPresShell = aRetargetDocument->GetShell();
// Even if the document doesn't have PresShell, i.e., it's invisible, we
// need to dispatch only KeyboardEvent in its nearest visible document
// because key focus shouldn't be caught by invisible document.
if (!presShell) {
if (!retargetPresShell) {
if (!aGUIEvent->HasKeyEventMessage()) {
return nullptr;
}
Document* retargetEventDoc = aRetargetDocument;
while (!presShell) {
while (!retargetPresShell) {
retargetEventDoc = retargetEventDoc->GetParentDocument();
if (!retargetEventDoc) {
return nullptr;
}
presShell = retargetEventDoc->GetShell();
retargetPresShell = retargetEventDoc->GetShell();
}
}
if (presShell != mPresShell) {
nsIFrame* frame = presShell->GetRootFrame();
if (!frame) {
if (aGUIEvent->mMessage == eQueryTextContent ||
aGUIEvent->IsContentCommandEvent()) {
return nullptr;
}
frame = GetNearestFrameContainingPresShell(presShell);
}
return frame;
// If the found PresShell is this instance, caller needs to keep handling
// aGUIEvent by itself. Therefore, return the given frame which was set
// to aFrame of HandleEvent().
if (retargetPresShell == mPresShell) {
return aFrameForPresShell;
}
return aFrameForPresShell;
// Use root frame of the new PresShell if there is.
nsIFrame* rootFrame = retargetPresShell->GetRootFrame();
if (rootFrame) {
return rootFrame;
}
// Otherwise, and if aGUIEvent requires content of PresShell, caller should
// stop handling the event.
if (aGUIEvent->mMessage == eQueryTextContent ||
aGUIEvent->IsContentCommandEvent()) {
return nullptr;
}
// Otherwise, use nearest ancestor frame which includes the PresShell.
return GetNearestFrameContainingPresShell(retargetPresShell);
}
Document* PresShell::GetPrimaryContentDocument() {

View File

@ -89,6 +89,17 @@ TEST_F(AudioConduitTest, TestConfigureSendMediaCodec) {
AudioCodecConfig codecConfig(114, "opus", 48000, 2, false);
ec = mAudioConduit->ConfigureSendMediaCodec(&codecConfig);
ASSERT_EQ(ec, kMediaConduitNoError);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioSendConfig.send_codec_spec->format;
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 2UL);
ASSERT_NE(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.at("stereo"), "1");
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
ASSERT_EQ(f.parameters.find("useinbandfec"), f.parameters.end());
}
// null codec
ec = mAudioConduit->ConfigureSendMediaCodec(nullptr);
@ -110,10 +121,71 @@ TEST_F(AudioConduitTest, TestConfigureSendMediaCodec) {
delete[] longName;
}
TEST_F(AudioConduitTest, TestConfigureSendOpusMono) {
MediaConduitErrorCode ec;
// opus mono
AudioCodecConfig codecConfig = AudioCodecConfig(114, "opus", 48000, 1, false);
ec = mAudioConduit->ConfigureSendMediaCodec(&codecConfig);
ASSERT_EQ(ec, kMediaConduitNoError);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioSendConfig.send_codec_spec->format;
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 1UL);
ASSERT_EQ(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
ASSERT_EQ(f.parameters.find("useinbandfec"), f.parameters.end());
}
}
TEST_F(AudioConduitTest, TestConfigureSendOpusFEC) {
MediaConduitErrorCode ec;
// opus with inband Forward Error Correction
AudioCodecConfig codecConfig = AudioCodecConfig(114, "opus", 48000, 2, true);
ec = mAudioConduit->ConfigureSendMediaCodec(&codecConfig);
ASSERT_EQ(ec, kMediaConduitNoError);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioSendConfig.send_codec_spec->format;
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 2UL);
ASSERT_NE(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.at("stereo"), "1");
ASSERT_NE(f.parameters.find("useinbandfec"), f.parameters.end());
ASSERT_EQ(f.parameters.at("useinbandfec"), "1");
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
}
}
TEST_F(AudioConduitTest, TestConfigureSendMaxPlaybackRate) {
MediaConduitErrorCode ec;
AudioCodecConfig codecConfig = AudioCodecConfig(114, "opus", 48000, 2, false);
codecConfig.mMaxPlaybackRate = 1234;
ec = mAudioConduit->ConfigureSendMediaCodec(&codecConfig);
ASSERT_EQ(ec, kMediaConduitNoError);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioSendConfig.send_codec_spec->format;
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 2UL);
ASSERT_NE(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.at("stereo"), "1");
ASSERT_EQ(f.parameters.find("useinbandfec"), f.parameters.end());
ASSERT_NE(f.parameters.find("maxplaybackrate"), f.parameters.end());
ASSERT_EQ(f.parameters.at("maxplaybackrate"), "1234");
}
}
TEST_F(AudioConduitTest, TestConfigureReceiveMediaCodecs) {
MediaConduitErrorCode ec;
// just opus
// just default opus stereo
std::vector<UniquePtr<mozilla::AudioCodecConfig>> codecs;
codecs.emplace_back(new AudioCodecConfig(114, "opus", 48000, 2, false));
ec = mAudioConduit->ConfigureRecvMediaCodecs(codecs);
@ -127,6 +199,8 @@ TEST_F(AudioConduitTest, TestConfigureReceiveMediaCodecs) {
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 2UL);
ASSERT_EQ(f.parameters.at("stereo"), "1");
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
ASSERT_EQ(f.parameters.find("useinbandfec"), f.parameters.end());
}
// multiple codecs
@ -189,7 +263,53 @@ TEST_F(AudioConduitTest, TestConfigureReceiveMediaCodecs) {
delete[] longName;
}
TEST_F(AudioConduitTest, TestConfigureMaxPlaybackRate) {
TEST_F(AudioConduitTest, TestConfigureReceiveOpusMono) {
MediaConduitErrorCode ec;
// opus mono
std::vector<UniquePtr<mozilla::AudioCodecConfig>> codecs;
codecs.emplace_back(new AudioCodecConfig(114, "opus", 48000, 1, false));
ec = mAudioConduit->ConfigureRecvMediaCodecs(codecs);
ASSERT_EQ(ec, kMediaConduitNoError);
ASSERT_EQ(mCall->mAudioReceiveConfig.sync_group, "");
ASSERT_EQ(mCall->mAudioReceiveConfig.decoder_map.size(), 1U);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioReceiveConfig.decoder_map.at(114);
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 1UL);
ASSERT_EQ(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
ASSERT_EQ(f.parameters.find("useinbandfec"), f.parameters.end());
}
}
TEST_F(AudioConduitTest, TestConfigureReceiveOpusFEC) {
MediaConduitErrorCode ec;
// opus with inband Forward Error Correction
std::vector<UniquePtr<mozilla::AudioCodecConfig>> codecs;
codecs.emplace_back(new AudioCodecConfig(114, "opus", 48000, 2, true));
ec = mAudioConduit->ConfigureRecvMediaCodecs(codecs);
ASSERT_EQ(ec, kMediaConduitNoError);
ASSERT_EQ(mCall->mAudioReceiveConfig.sync_group, "");
ASSERT_EQ(mCall->mAudioReceiveConfig.decoder_map.size(), 1U);
{
const webrtc::SdpAudioFormat& f =
mCall->mAudioReceiveConfig.decoder_map.at(114);
ASSERT_EQ(f.name, "opus");
ASSERT_EQ(f.clockrate_hz, 48000);
ASSERT_EQ(f.num_channels, 2UL);
ASSERT_NE(f.parameters.find("stereo"), f.parameters.end());
ASSERT_EQ(f.parameters.at("stereo"), "1");
ASSERT_NE(f.parameters.find("useinbandfec"), f.parameters.end());
ASSERT_EQ(f.parameters.at("useinbandfec"), "1");
ASSERT_EQ(f.parameters.find("maxplaybackrate"), f.parameters.end());
}
}
TEST_F(AudioConduitTest, TestConfigureReceiveMaxPlaybackRate) {
MediaConduitErrorCode ec;
std::vector<UniquePtr<mozilla::AudioCodecConfig>> codecs;

View File

@ -412,8 +412,12 @@ MediaConduitErrorCode WebrtcAudioConduit::ConfigureRecvMediaCodecs(
webrtc::SdpAudioFormat::Parameters parameters;
if (codec->mName == "opus") {
parameters = {{"stereo", "1"}};
if (codec->mChannels == 2) {
parameters = {{"stereo", "1"}};
}
if (codec->mFECEnabled) {
parameters["useinbandfec"] = "1";
}
if (codec->mMaxPlaybackRate) {
std::ostringstream o;
o << codec->mMaxPlaybackRate;
@ -853,14 +857,18 @@ bool WebrtcAudioConduit::CodecConfigToWebRTCCodec(
config.encoder_factory = webrtc::CreateBuiltinAudioEncoderFactory();
webrtc::SdpAudioFormat::Parameters parameters;
if (codecInfo->mFECEnabled) {
parameters["useinbandfec"] = "1";
}
if (codecInfo->mName == "opus" && codecInfo->mMaxPlaybackRate) {
std::ostringstream o;
o << codecInfo->mMaxPlaybackRate;
parameters["maxplaybackrate"] = o.str();
if (codecInfo->mName == "opus") {
if (codecInfo->mChannels == 2) {
parameters["stereo"] = "1";
}
if (codecInfo->mFECEnabled) {
parameters["useinbandfec"] = "1";
}
if (codecInfo->mMaxPlaybackRate) {
std::ostringstream o;
o << codecInfo->mMaxPlaybackRate;
parameters["maxplaybackrate"] = o.str();
}
}
webrtc::SdpAudioFormat format(codecInfo->mName, codecInfo->mFreq,

View File

@ -100,6 +100,7 @@ public class GeckoMediaControlAgent {
@RobocopTarget
public static GeckoMediaControlAgent getInstance() {
if (instance == null) {
Log.d(LOGTAG, "getInstance");
instance = new GeckoMediaControlAgent();
}
@ -113,11 +114,13 @@ public class GeckoMediaControlAgent {
return;
}
mContext = context;
Log.d(LOGTAG, "attachToContext");
mContext = context.getApplicationContext();
initialize();
}
private boolean isAttachedToContext() {
public boolean isAttachedToContext() {
Log.d(LOGTAG, "isAttachedToContext - context = " + mContext);
return (mContext != null);
}
@ -297,12 +300,7 @@ public class GeckoMediaControlAgent {
return;
}
ThreadUtils.postToBackgroundThread(new Runnable() {
@Override
public void run() {
updateNotification(tab);
}
});
ThreadUtils.postToBackgroundThread(() -> updateNotification(tab));
}
/* package */ static boolean isMediaPlaying() {
@ -322,7 +320,7 @@ public class GeckoMediaControlAgent {
return;
}
Log.d(LOGTAG, "HandleAction, action = " + action + ", mediaState = " + sMediaState);
Log.d(LOGTAG, "handleAction, action = " + action + ", mediaState = " + sMediaState);
switch (action) {
case ACTION_RESUME :
mController.getTransportControls().play();
@ -402,6 +400,7 @@ public class GeckoMediaControlAgent {
@SuppressLint("NewApi")
/* package */ Notification createNotification(@NonNull MediaNotification mediaNotification) {
Log.d(LOGTAG, "createNotification - " + mediaNotification.toString());
final Notification.MediaStyle style = new Notification.MediaStyle();
style.setShowActionsInCompactView(0);
@ -500,6 +499,7 @@ public class GeckoMediaControlAgent {
}
private void updateMediaNotification(boolean startForeground, MediaNotification mediaNotification) {
Log.d(LOGTAG, "updateMediaNotification - startForeground " + startForeground + ", " + mediaNotification.toString());
final Intent intent = new Intent(mContext, MediaControlService.class);
if (!startForeground) {
intent.setAction(ACTION_STOP_FOREGROUND);
@ -509,6 +509,7 @@ public class GeckoMediaControlAgent {
}
private void shutdownForegroundService() {
Log.d(LOGTAG, "shutdownForegroundService");
final Intent intent = new Intent(mContext, MediaControlService.class);
intent.setAction(GeckoMediaControlAgent.ACTION_SHUTDOWN);
notifyForegroundService(intent);

View File

@ -39,8 +39,15 @@ public class MediaControlService extends Service {
Log.d(LOGTAG, "onStartCommand");
if (intent.hasExtra(GeckoMediaControlAgent.EXTRA_NOTIFICATION_DATA)) {
currentNotification = GeckoMediaControlAgent.getInstance().createNotification(
(MediaNotification) intent.getParcelableExtra(GeckoMediaControlAgent.EXTRA_NOTIFICATION_DATA));
if (GeckoMediaControlAgent.getInstance().isAttachedToContext() ||
/* bug 1516665 - If we are not attached to context but the build is not release or beta continue
in order to gather more information */
!AppConstants.RELEASE_OR_BETA) {
currentNotification = GeckoMediaControlAgent.getInstance().createNotification(
(MediaNotification) intent.getParcelableExtra(GeckoMediaControlAgent.EXTRA_NOTIFICATION_DATA));
} else {
intent.setAction(GeckoMediaControlAgent.ACTION_SHUTDOWN);
}
}
startForeground(R.id.mediaControlNotification, currentNotification);
@ -51,8 +58,9 @@ public class MediaControlService extends Service {
}
private void handleAction(Intent intent, int startId) {
if (intent.getAction() != null) {
final String action = intent.getAction();
final String action = intent.getAction();
Log.d(LOGTAG, "handleAction, action = " + action);
if (action != null) {
switch (action) {
case GeckoMediaControlAgent.ACTION_SHUTDOWN:

View File

@ -77,4 +77,11 @@ public final class MediaNotification implements Parcelable {
return new MediaNotification[size];
}
};
@Override
public String toString() {
return "MediaNotification(" + visibility
+ ", " + tabId
+ ")";
}
}

View File

@ -2303,7 +2303,7 @@ public class GeckoSession implements Parcelable {
GeckoBundle[] choiceBundles = message.getBundleArray("choices");
PromptDelegate.Choice choices[];
if (choiceBundles == null || choiceBundles.length == 0) {
choices = null;
choices = new PromptDelegate.Choice[0];
} else {
choices = new PromptDelegate.Choice[choiceBundles.length];
for (int i = 0; i < choiceBundles.length; i++) {

View File

@ -880,6 +880,8 @@ bool SandboxBroker::SetSecurityLevelForPluginProcess(int32_t aSandboxLevel) {
// not exist.
AddCachedDirRule(mPolicy, sandbox::TargetPolicy::FILES_ALLOW_DIR_ANY,
sRoamingAppDataDir, NS_LITERAL_STRING("\\Macromedia"));
AddCachedDirRule(mPolicy, sandbox::TargetPolicy::FILES_ALLOW_QUERY,
sRoamingAppDataDir, NS_LITERAL_STRING("\\Macromedia\\"));
AddCachedDirRule(mPolicy, sandbox::TargetPolicy::FILES_ALLOW_DIR_ANY,
sRoamingAppDataDir,
NS_LITERAL_STRING("\\Macromedia\\Flash Player"));

View File

@ -253,6 +253,7 @@ windows10-64-qr/debug:
build-platform: win64/debug
test-sets:
- windows-qr-tests
- web-platform-tests
windows10-64-qr/opt:
build-platform: win64/opt
@ -261,6 +262,7 @@ windows10-64-qr/opt:
- windows-qr-tests
- windows-talos
- raptor-firefox
- web-platform-tests
##
# MacOS X platforms (matching /macosx.*/)

View File

@ -204,7 +204,6 @@ windows-qr-tests:
- mochitest-webgl2-core
- mochitest-webgl2-ext
- reftest
- web-platform-tests-reftests
ccov-code-coverage-tests:
- test-coverage

View File

@ -49,13 +49,13 @@ web-platform-tests:
run-on-projects:
by-test-platform:
android.*: ['mozilla-central', 'try']
linux64-qr/.*: ['release', 'try'] # skip on integration branches due to high load
.*-qr/.*: ['release', 'try'] # skip on integration branches due to high load
default: built-projects
tier:
by-test-platform:
android.*: 2
linux64-asan/opt: 2
linux64-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
.*-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
default: default
mozharness:
chunked: true
@ -152,13 +152,13 @@ web-platform-tests-wdspec:
run-on-projects:
by-test-platform:
android.*: ['mozilla-central', 'try']
linux64-qr/.*: ['release', 'try'] # skip on integration branches due to high load
.*-qr/.*: ['release', 'try'] # skip on integration branches due to high load
default: built-projects
tier:
by-test-platform:
android.*: 3
linux64-asan/opt: 2
linux64-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
.*-qr/.*: 2 # can't be tier-1 if it's not running on integration branches
default: default
web-platform-tests-wdspec-headless:

View File

@ -161,8 +161,11 @@ class HTMLFormatter(base.BaseFormatter):
# Encode base64 to avoid that some browsers (such as Firefox, Opera)
# treats '#' as the start of another link if it is contained in the data URL.
# Use 'charset=utf-8' to show special characters like Chinese.
utf_encoded = six.text_type(content).encode('utf-8', 'xmlcharrefreplace')
href = 'data:text/html;charset=utf-8;base64,%s' % base64.b64encode(utf_encoded)
utf8_encoded_bytes = six.text_type(content).encode('utf-8',
'xmlcharrefreplace')
b64_encoded_bytes = base64.b64encode(utf8_encoded_bytes)
b64_encoded_str = b64_encoded_bytes.decode()
href = "data:text/html;charset=utf-8;base64,{0}".format(b64_encoded_str)
links_html.append(html.a(
name.title(),

View File

@ -122,7 +122,7 @@ class MachFormatter(base.BaseFormatter):
# Format check counts
checks = self.summary.aggregate('count', count)
rv.append("Ran {} checks ({})".format(sum(checks.values()),
', '.join(['{} {}s'.format(v, k) for k, v in checks.items() if v])))
', '.join(['{} {}s'.format(v, k) for k, v in sorted(checks.items()) if v])))
# Format expected counts
checks = self.summary.aggregate('expected', count, include_skip=False)
@ -146,7 +146,7 @@ class MachFormatter(base.BaseFormatter):
if not count[key]['unexpected']:
continue
status_str = ", ".join(["{} {}".format(n, s)
for s, n in count[key]['unexpected'].items()])
for s, n in sorted(count[key]['unexpected'].items())])
rv.append(" {}: {} ({})".format(
key, sum(count[key]['unexpected'].values()), status_str))

View File

@ -78,14 +78,15 @@ class StreamHandler(BaseHandler):
def __init__(self, stream, formatter):
BaseHandler.__init__(self, formatter)
assert stream is not None
# This is a hack to deal with the case where we are passed a
# StreamWriter (e.g. by mach for stdout). A StreamWriter requires
# the code to handle unicode in exactly the opposite way compared
# to a normal stream i.e. you always have to pass in a Unicode
# object rather than a string object. Cope with that by extracting
# the underlying raw stream.
if isinstance(stream, codecs.StreamWriter):
stream = stream.stream
if six.PY2:
# This is a hack to deal with the case where we are passed a
# StreamWriter (e.g. by mach for stdout). A StreamWriter requires
# the code to handle unicode in exactly the opposite way compared
# to a normal stream i.e. you always have to pass in a Unicode
# object rather than a string object. Cope with that by extracting
# the underlying raw stream.
if isinstance(stream, codecs.StreamWriter):
stream = stream.stream
self.formatter = formatter
self.stream = stream
@ -98,11 +99,23 @@ class StreamHandler(BaseHandler):
if not formatted:
return
with self._lock:
if isinstance(formatted, six.text_type):
self.stream.write(formatted.encode("utf-8", "replace"))
elif isinstance(formatted, str):
if six.PY3:
import io
import mozfile
if isinstance(self.stream, io.StringIO) and isinstance(formatted, bytes):
formatted = formatted.decode()
elif (
isinstance(self.stream, io.BytesIO)
or isinstance(self.stream, mozfile.NamedTemporaryFile)
) and isinstance(formatted, str):
formatted = formatted.encode()
self.stream.write(formatted)
else:
assert False, "Got output from the formatter of an unexpected type"
if isinstance(formatted, six.text_type):
self.stream.write(formatted.encode("utf-8", "replace"))
elif isinstance(formatted, str):
self.stream.write(formatted)
else:
assert False, "Got output from the formatter of an unexpected type"
self.stream.flush()

View File

@ -150,7 +150,7 @@ class MozFormatter(Formatter):
# this protected member is used to define the format
# used by the base Formatter's method
self._fmt = fmt
return Formatter.format(self, record)
return Formatter(fmt=fmt).format(record)
def getLogger(name, handler=None):

View File

@ -32,7 +32,7 @@ class LogMessageHandler(socketserver.BaseRequestHandler):
data = self.request.recv(1024)
if not data:
return
self.process_message(data)
self.process_message(data.decode())
except socket.timeout:
return

View File

@ -0,0 +1,2 @@
[bdist_wheel]
universal=1

View File

@ -7,7 +7,7 @@ from __future__ import absolute_import
from setuptools import setup, find_packages
PACKAGE_NAME = 'mozlog'
PACKAGE_VERSION = '3.10'
PACKAGE_VERSION = '4.0'
DEPS = [
'blessings>=1.3',
'mozterm',
@ -34,7 +34,7 @@ setup(name=PACKAGE_NAME,
'License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Topic :: Software Development :: Libraries :: Python Modules'],
package_data={"mozlog": ["formatters/html/main.js",
"formatters/html/style.css"]},

View File

@ -1,9 +1,6 @@
[DEFAULT]
subsuite = mozbase
[test_logger.py]
skip-if = python == 3
[test_logtypes.py]
[test_formatters.py]
skip-if = python == 3
[test_structured.py]
skip-if = python == 3

View File

@ -6,7 +6,7 @@ from __future__ import absolute_import, print_function, unicode_literals
import mozunit
import pytest
from io import BytesIO
from six import BytesIO
from mozlog.structuredlog import StructuredLogger
from mozlog.formatters import (
@ -21,7 +21,7 @@ formatters = {
FORMATS = {
# A list of tuples consisting of (name, options, expected string).
'PASS': [
('mach', {}, """
('mach', {}, b"""
0:00.00 SUITE_START: running 3 tests
0:00.00 TEST_START: test_foo
0:00.00 TEST_END: OK
@ -33,11 +33,11 @@ FORMATS = {
suite 1
~~~~~~~
Ran 4 checks (3 tests, 1 subtests)
Ran 4 checks (1 subtests, 3 tests)
Expected results: 4
OK
""".lstrip('\n')),
('mach', {'verbose': True}, """
""".lstrip(b'\n')),
('mach', {'verbose': True}, b"""
0:00.00 SUITE_START: running 3 tests
0:00.00 TEST_START: test_foo
0:00.00 TEST_END: OK
@ -50,14 +50,14 @@ OK
suite 1
~~~~~~~
Ran 4 checks (3 tests, 1 subtests)
Ran 4 checks (1 subtests, 3 tests)
Expected results: 4
OK
""".lstrip('\n')),
""".lstrip(b'\n')),
],
'FAIL': [
('mach', {}, """
('mach', {}, b"""
0:00.00 SUITE_START: running 3 tests
0:00.00 TEST_START: test_foo
0:00.00 TEST_END: FAIL, expected PASS - expected 0 got 1
@ -73,7 +73,7 @@ TIMEOUT another subtest
suite 1
~~~~~~~
Ran 5 checks (3 tests, 2 subtests)
Ran 5 checks (2 subtests, 3 tests)
Expected results: 1
Unexpected results: 4
test: 2 (1 fail, 1 pass)
@ -90,8 +90,8 @@ test_bar
TIMEOUT another subtest
test_baz
UNEXPECTED-PASS test_baz
""".lstrip('\n')),
('mach', {'verbose': True}, """
""".lstrip(b'\n')),
('mach', {'verbose': True}, b"""
0:00.00 SUITE_START: running 3 tests
0:00.00 TEST_START: test_foo
0:00.00 TEST_END: FAIL, expected PASS - expected 0 got 1
@ -107,7 +107,7 @@ test_baz
suite 1
~~~~~~~
Ran 5 checks (3 tests, 2 subtests)
Ran 5 checks (2 subtests, 3 tests)
Expected results: 1
Unexpected results: 4
test: 2 (1 fail, 1 pass)
@ -124,7 +124,7 @@ test_bar
TIMEOUT another subtest
test_baz
UNEXPECTED-PASS test_baz
""".lstrip('\n')),
""".lstrip(b'\n')),
],
}

View File

@ -210,15 +210,15 @@ class TestStructuredLogging(unittest.TestCase):
# Sleeps prevent listener from receiving entire message in a single call
# to recv in order to test reconstruction of partial messages.
sock.sendall(message_string[:8])
sock.sendall(message_string[:8].encode())
time.sleep(.01)
sock.sendall(message_string[8:32])
sock.sendall(message_string[8:32].encode())
time.sleep(.01)
sock.sendall(message_string[32:64])
sock.sendall(message_string[32:64].encode())
time.sleep(.01)
sock.sendall(message_string[64:128])
sock.sendall(message_string[64:128].encode())
time.sleep(.01)
sock.sendall(message_string[128:])
sock.sendall(message_string[128:].encode())
server_thread.join()

View File

@ -488,8 +488,14 @@ class TestTypeConversions(BaseStructuredTest):
def test_tuple(self):
self.logger.suite_start([])
self.logger.test_start(("\xf0\x90\x8d\x84\xf0\x90\x8c\xb4\xf0\x90\x8d\x83\xf0\x90\x8d\x84",
42, u"\u16a4"))
if six.PY3:
self.logger.test_start((b"\xf0\x90\x8d\x84\xf0\x90\x8c\xb4\xf0\x90"
b"\x8d\x83\xf0\x90\x8d\x84".decode(),
42, u"\u16a4"))
else:
self.logger.test_start(("\xf0\x90\x8d\x84\xf0\x90\x8c\xb4\xf0\x90"
"\x8d\x83\xf0\x90\x8d\x84",
42, u"\u16a4"))
self.assert_log_equals({"action": "test_start",
"test": (u'\U00010344\U00010334\U00010343\U00010344',
u"42", u"\u16a4")})
@ -502,9 +508,15 @@ class TestTypeConversions(BaseStructuredTest):
"message": "1",
"level": "INFO"})
self.logger.info([1, (2, '3'), "s", "s" + chr(255)])
self.assert_log_equals({"action": "log",
"message": "[1, (2, '3'), 's', 's\\xff']",
"level": "INFO"})
if six.PY3:
self.assert_log_equals({"action": "log",
"message": "[1, (2, '3'), 's', 's\xff']",
"level": "INFO"})
else:
self.assert_log_equals({"action": "log",
"message": "[1, (2, '3'), 's', 's\\xff']",
"level": "INFO"})
self.logger.suite_end()
def test_utf8str_write(self):
@ -516,7 +528,10 @@ class TestTypeConversions(BaseStructuredTest):
self.logger.info("")
logfile.seek(0)
data = logfile.readlines()[-1].strip()
self.assertEquals(data, "")
if six.PY3:
self.assertEquals(data.decode(), "")
else:
self.assertEquals(data, "")
self.logger.suite_end()
self.logger.remove_handler(_handler)
@ -799,7 +814,7 @@ Unexpected results: 2
self.set_position()
self.logger.suite_end()
self.assertIn("Ran 5 checks (2 tests, 3 subtests)", self.loglines)
self.assertIn("Ran 5 checks (3 subtests, 2 tests)", self.loglines)
self.assertIn("Expected results: 2", self.loglines)
self.assertIn("""
Unexpected results: 3
@ -962,8 +977,8 @@ class TestCommandline(unittest.TestCase):
logger.debug("DEBUG message")
logger.error("ERROR message")
# The debug level is not logged by default.
self.assertEqual(["INFO message",
"ERROR message"],
self.assertEqual([b"INFO message",
b"ERROR message"],
self.loglines)
def test_logging_errorlevel(self):
@ -977,7 +992,7 @@ class TestCommandline(unittest.TestCase):
logger.error("ERROR message")
# Only the error level and above were requested.
self.assertEqual(["ERROR message"],
self.assertEqual([b"ERROR message"],
self.loglines)
def test_logging_debuglevel(self):
@ -990,9 +1005,9 @@ class TestCommandline(unittest.TestCase):
logger.debug("DEBUG message")
logger.error("ERROR message")
# Requesting a lower log level than default works as expected.
self.assertEqual(["INFO message",
"DEBUG message",
"ERROR message"],
self.assertEqual([b"INFO message",
b"DEBUG message",
b"ERROR message"],
self.loglines)
def test_unused_options(self):

View File

@ -11,7 +11,7 @@ PACKAGE_VERSION = '2.1.0'
deps = [
'mozfile>=1.2',
'mozlog==3.*',
'mozlog~=4.0',
'six>=1.10.0,<2',
]

View File

@ -15,7 +15,7 @@ deps = [
'mozdevice>=1.1.6',
'mozfile>=1.2',
'mozinfo>=0.7,<2',
'mozlog==3.*',
'mozlog~=4.0',
'mozprocess>=0.23,<1',
'mozprofile~=2.1',
'six>=1.10.0,<2',

View File

@ -23,7 +23,7 @@ setup(name='mozversion',
packages=['mozversion'],
include_package_data=True,
zip_safe=False,
install_requires=['mozlog ~= 3.0',
install_requires=['mozlog ~= 4.0',
'six >= 1.10.0'],
entry_points="""
# -*- Entry points: -*-

View File

@ -0,0 +1,5 @@
[2d.gradient.interpolate.colouralpha.html]
[Canvas test: 2d.gradient.interpolate.colouralpha]
expected:
if os == "win" and webrender: FAIL
PASS

View File

@ -0,0 +1,5 @@
[2d.gradient.interpolate.overlap.html]
[Canvas test: 2d.gradient.interpolate.overlap]
expected:
if os == "win" and webrender: FAIL
PASS

View File

@ -0,0 +1,5 @@
[2d.path.arc.selfintersect.1.html]
[arc() with lineWidth > 2*radius is drawn sensibly]
expected:
if os == "win" and webrender: FAIL
PASS

View File

@ -0,0 +1,5 @@
[2d.path.rect.zero.3.html]
[Canvas test: 2d.path.rect.zero.3]
expected:
if os == "win" and webrender: FAIL
PASS

View File

@ -1,17 +1,12 @@
[position-sticky-nested-bottom.html]
[the inner sticky can stick before the outer one if necessary]
expected:
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "mac": PASS
FAIL
[neither sticky can escape their containing block]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL

View File

@ -1,17 +1,12 @@
[position-sticky-nested-right.html]
[the inner sticky can stick before the outer one if necessary]
expected:
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "mac": PASS
FAIL
[neither sticky can escape their containing block]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL

View File

@ -7,12 +7,8 @@
[10ex - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -7,12 +7,8 @@
[test unit: ex - circle(50ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -127,12 +127,8 @@
[test unit (computed): ex - ellipse(at right 80ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -141,12 +137,8 @@
[test unit (computed): ex - ellipse(at 50% 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -167,12 +159,8 @@
[test unit (computed): ex - ellipse(at left 50ex top 50%)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -187,23 +175,15 @@
[test unit (computed): ex - ellipse(at 70ex bottom)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit (computed): ex - ellipse(at right 80% top 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -284,12 +264,8 @@
[test unit (computed): ex - ellipse(at 50ex 50%)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -313,12 +289,8 @@
[test unit (computed): ex - ellipse(at 60ex center)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -408,12 +380,8 @@
[test unit (computed): ex - ellipse(at bottom 70% left 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -422,12 +390,8 @@
[test unit (computed): ex - ellipse(at top 50ex left 50%)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -520,12 +484,8 @@
[test unit (computed): ex - ellipse(at top 50ex left 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -573,12 +533,8 @@
[test unit (computed): ex - ellipse(at center 60ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -587,12 +543,8 @@
[test unit (computed): ex - ellipse(at 50ex top)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -604,12 +556,8 @@
[test unit (computed): ex - ellipse(at 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -645,12 +593,8 @@
[test unit (computed): ex - ellipse(at left 50ex bottom 70%)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -686,12 +630,8 @@
[test unit (computed): ex - ellipse(at top 50% left 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -727,12 +667,8 @@
[test unit (computed): ex - ellipse(at top 50ex right 80%)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -777,12 +713,8 @@
[test unit (computed): ex - ellipse(at left 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -806,12 +738,8 @@
[test unit (computed): ex - ellipse(at 50ex 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -826,23 +754,15 @@
[test unit (computed): ex - ellipse(at left 50% top 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit (computed): ex - ellipse(at left 50ex top 50ex)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -160,45 +160,29 @@
[test unit: ex - ellipse(50ex 100ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit: ex - ellipse(100ex 100px) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit: ex - ellipse(50ex 25%) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit: ex - ellipse(25% 50ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
@ -207,34 +191,22 @@
[test unit: ex - ellipse(closest-side 75ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit: ex - ellipse(25ex farthest-side) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[test unit: ex - ellipse(farthest-side 75ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -121,221 +121,141 @@
[inset(10ex round 10ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex / 10ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex / 10ex 20ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex / 10ex 20ex 30ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex / 10ex 20ex 30ex 40ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex / 10ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex / 10ex 20ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex / 10ex 20ex 30ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex / 10ex 20ex 30ex 40ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex / 10ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex / 10ex 20ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex / 10ex 20ex 30ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex / 10ex 20ex 30ex 40ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex 40ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex 40ex / 10ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex 40ex / 10ex 20ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex 40ex / 10ex 20ex 30ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[inset(10ex round 10ex 20ex 30ex 40ex / 10ex 20ex 30ex 40ex) - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -1,34 +1,22 @@
[shape-outside-polygon-004.html]
[Three vertices - ex ex, ex ex, ex ex - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[Three vertices - em em, em em, ex ex - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL
[Three vertices - ex ex, em, em, em em - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -1,12 +1,8 @@
[shape-outside-shape-arguments-000.html]
[Font relative units - computed]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
if os == "android": PASS
FAIL

View File

@ -1,71 +1,43 @@
[caret-color-013.html]
[Test default caret-color]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Test caret-color: initial]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Test caret-color: inherit]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Test caret-color: auto]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Test caret-color: currentcolor]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Reset caret-color: initial]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Test caret-color: initial (inherited)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL

View File

@ -1,12 +1,8 @@
[variable-presentation-attribute.html]
[Testing 'clip' on '#test4'.]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[Testing 'alignment-baseline'.]

View File

@ -3,10 +3,7 @@
if os == "mac": true
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Default orientation for vo=U]
@ -23,9 +20,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001a.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001b.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001c.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001d.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001e.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001f.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001g.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001h.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -1,10 +1,7 @@
[text-orientation-script-001i.html]
[Default orientation for vo=R]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL
[Orientation=Upright]
@ -12,9 +9,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -8,9 +8,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -7,9 +7,6 @@
[Orientation=Rotated]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -4,9 +4,6 @@
[Programmatic focus after click should not match :focus-visible]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
FAIL

View File

@ -2,9 +2,8 @@
expected:
if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
if not debug and not asan and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and (os == "win"): TIMEOUT
if not debug and (os == "mac"): TIMEOUT
[hyperlink auditing <a ping>]
expected: TIMEOUT
@ -16,9 +15,8 @@
expected:
if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
if not debug and not asan and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): TIMEOUT
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): TIMEOUT
if not debug and (os == "win"): TIMEOUT
if not debug and (os == "mac"): TIMEOUT
[hyperlink auditing <a ping>]
expected: TIMEOUT

View File

@ -1,35 +1,23 @@
[abort-refresh-immediate.window.html]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): OK
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): OK
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): OK
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): OK
if os == "win": OK
if os == "android": OK
TIMEOUT
[document.open() aborts documents that are queued for navigation through Refresh header with timeout 0 (fetch())]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
if os == "android": PASS
TIMEOUT
[document.open() aborts documents that are queued for navigation through Refresh header with timeout 0 (image loading)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
if os == "android": PASS
TIMEOUT
[document.open() aborts documents that are queued for navigation through Refresh header with timeout 0 (XMLHttpRequest)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if os == "win": PASS
if os == "android": PASS
TIMEOUT

View File

@ -2,10 +2,7 @@
expected: TIMEOUT
[document.open() does NOT abort documents that are queued for navigation through Refresh header with 1-sec timeout (fetch())]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): FAIL
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): FAIL
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
if os == "win": FAIL
if os == "android": FAIL
TIMEOUT
@ -14,10 +11,7 @@
[document.open() does NOT abort documents that are queued for navigation through Refresh header with 1-sec timeout (XMLHttpRequest)]
expected:
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): FAIL
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): FAIL
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): FAIL
if os == "win": FAIL
if os == "android": FAIL
TIMEOUT

View File

@ -1,7 +1,4 @@
[file_upload.sub.html]
expected:
if not debug and not webrender and not e10s and (os == "android") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): ERROR
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): ERROR
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): ERROR
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): ERROR
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): ERROR
if os == "win": ERROR

View File

@ -256,16 +256,9 @@
[PaymentResponse interface: operation retry(PaymentValidationErrors)]
expected:
if debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): PASS
if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): PASS
if debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if e10s and (os == "linux"): PASS
if os == "win": PASS
if os == "mac": PASS
FAIL
[PaymentResponse interface: attribute onpayerdetailchange]

View File

@ -464,16 +464,9 @@
[PaymentResponse interface: operation retry(PaymentValidationErrors)]
expected:
if debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): PASS
if debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "6.1.7601") and (processor == "x86") and (bits == 32): PASS
if debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "win") and (version == "10.0.15063") and (processor == "x86_64") and (bits == 64): PASS
if not debug and not webrender and e10s and (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if e10s and (os == "linux"): PASS
if os == "mac": PASS
if os == "win": PASS
FAIL
[PaymentResponse interface: attribute onpayerdetailchange]

Some files were not shown because too many files have changed in this diff Show More