68.13.9 - testing

This commit is contained in:
Fedor 2024-02-16 13:21:01 +02:00
parent 36910f9058
commit 8ed7e5e7f4
1097 changed files with 38246 additions and 8358 deletions

View File

@ -23,6 +23,7 @@ skip-if = os != 'win'
[TestEnumTypeTraits]
[TestFastBernoulliTrial]
[TestFloatingPoint]
[TestFunctionRef]
[TestFunctionTypeTraits]
[TestIntegerPrintfMacros]
[TestIntegerRange]

View File

@ -22,7 +22,7 @@ regex = "1.0"
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
uuid = { version = "0.7", features = ["v4"] }
uuid = { version = "0.8", features = ["v4"] }
webdriver = { path = "../webdriver" }
zip = "0.4"

View File

@ -172,7 +172,7 @@ if not on_rtd:
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
html_show_copyright = False
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the

View File

@ -9,12 +9,7 @@
<title>Marionette tests for AccessibleCaret in selection mode (iframe)</title>
</head>
<body>
<style>
*
{
-moz-user-select:none;
}
</style>
<iframe id="frame" src="test_carets_longtext.html" style="width: 10em; height: 8em;"></iframe>
<input id="input" value="ABC DEF GHI">
</body>
</html>

View File

@ -9,16 +9,10 @@
<title>Bug 1019441: Marionette tests for AccessibleCaret (multiple lines)</title>
</head>
<body>
<style>
*
{
-moz-user-select:none;
}
</style>
<div><textarea id="textarea2" style="width: 10em; height: 6em; overflow: auto;">First Line&#13;&#10;&#13;&#10;Second Line&#13;&#10;&#13;&#10;Third Line</textarea></div>
<br>
<div style="width: 10em; height: 6em; overflow: auto; -moz-user-select:text" id="contenteditable2" contenteditable="true">First Line<br><br>Second Line<br><br>Third Line</div>
<div style="width: 10em; height: 6em; overflow: auto;" id="contenteditable2" contenteditable="true">First Line<br><br>Second Line<br><br>Third Line</div>
<br>
<div style="width: 10em; height: 6em; overflow: auto; -moz-user-select:text" id="content2">First Line<br><br>Second Line<br><br>Third Line</div>
<div style="width: 10em; height: 6em; overflow: auto;" id="content2">First Line<br><br>Second Line<br><br>Third Line</div>
</body>
</html>

View File

@ -179,7 +179,7 @@ html_static_path = ['_static']
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
html_show_copyright = False
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the

View File

@ -261,7 +261,7 @@ function sendDragEvent(aEvent, aTarget, aWindow = window) {
}
var utils = _getDOMWindowUtils(aWindow);
return utils.dispatchDOMEventViaPresShell(aTarget, event);
return utils.dispatchDOMEventViaPresShellForTesting(aTarget, event);
}
/**
@ -2207,18 +2207,23 @@ function createDragEventObject(aType, aDestElement, aDestWindow, aDataTransfer,
}
// Wrap only in plain mochitests
let dataTransfer = _EU_maybeUnwrap(_EU_maybeWrap(aDataTransfer).mozCloneForEvent(aType));
let dataTransfer;
if (aDataTransfer) {
dataTransfer = _EU_maybeUnwrap(
_EU_maybeWrap(aDataTransfer).mozCloneForEvent(aType)
);
// Copy over the drop effect. This isn't copied over by Clone, as it uses more
// complex logic in the actual implementation (see
// nsContentUtils::SetDataTransferInEvent for actual impl).
dataTransfer.dropEffect = aDataTransfer.dropEffect;
// Copy over the drop effect. This isn't copied over by Clone, as it uses
// more complex logic in the actual implementation (see
// nsContentUtils::SetDataTransferInEvent for actual impl).
dataTransfer.dropEffect = aDataTransfer.dropEffect;
}
return Object.assign({
type: aType,
screenX: destScreenX, screenY: destScreenY,
clientX: destClientX, clientY: destClientY,
dataTransfer: dataTransfer,
dataTransfer,
_domDispatchOnly: aDragEvent._domDispatchOnly,
}, aDragEvent);
}
@ -2374,7 +2379,24 @@ function synthesizeDrop(aSrcElement, aDestElement, aDragData, aDropEffect, aWind
var ds = _EU_Cc["@mozilla.org/widget/dragservice;1"]
.getService(_EU_Ci.nsIDragService);
ds.startDragSession();
let dropAction;
switch (aDropEffect) {
case null:
case undefined:
case "move":
dropAction = _EU_Ci.nsIDragService.DRAGDROP_ACTION_MOVE;
break;
case "copy":
dropAction = _EU_Ci.nsIDragService.DRAGDROP_ACTION_COPY;
break;
case "link":
dropAction = _EU_Ci.nsIDragService.DRAGDROP_ACTION_LINK;
break;
default:
throw new Error(`${aDropEffect} is an invalid drop effect value`);
}
ds.startDragSessionForTests(dropAction);
try {
var [result, dataTransfer] = synthesizeDragOver(aSrcElement, aDestElement,
@ -2393,14 +2415,23 @@ function synthesizeDrop(aSrcElement, aDestElement, aDragData, aDropEffect, aWind
* and firing events dragenter, dragover, drop, and dragend.
* This does not modify dataTransfer and tries to emulate the plain drag and
* drop as much as possible, compared to synthesizeDrop.
* Note that if synthesized dragstart is canceled, this throws an exception
* because in such case, Gecko does not start drag session.
*
* @param aParams
* {
* srcElement: The element to start dragging
* dragEvent: The DnD events will be generated with modifiers
* specified with this.
* srcElement: The element to start dragging. If srcSelection is
* set, this is computed for element at focus node.
* srcSelection: The selection to start to drag, set null if
* srcElement is set.
* destElement: The element to drop on. Pass null to emulate
* a drop on an invalid target.
* srcX: The initial x coordinate inside srcElement
* srcY: The initial y coordinate inside srcElement
* srcX: The initial x coordinate inside srcElement or
* ignored if srcSelection is set.
* srcY: The initial y coordinate inside srcElement or
* ignored if srcSelection is set.
* stepX: The x-axis step for mousemove inside srcElement
* stepY: The y-axis step for mousemove inside srcElement
* finalX: The final x coordinate inside srcElement
@ -2409,12 +2440,16 @@ function synthesizeDrop(aSrcElement, aDestElement, aDragData, aDropEffect, aWind
* defaults to the current window object
* destWindow: The window for dispatching event on destElement,
* defaults to the current window object
* expectCancelDragStart: Set to true if the test cancels "dragstart"
* logFunc: Set function which takes one argument if you need
* to log rect of target. E.g., `console.log`.
* }
*/
async function synthesizePlainDragAndDrop(aParams)
{
async function synthesizePlainDragAndDrop(aParams) {
let {
dragEvent = {},
srcElement,
srcSelection,
destElement,
srcX = 2,
srcY = 2,
@ -2424,72 +2459,348 @@ async function synthesizePlainDragAndDrop(aParams)
finalY = srcY + stepY * 2,
srcWindow = window,
destWindow = window,
expectCancelDragStart = false,
logFunc,
} = aParams;
// Don't modify given dragEvent object because we modify dragEvent below and
// callers may use the object multiple times so that callers must not assume
// that it'll be modified.
if (aParams.dragEvent !== undefined) {
dragEvent = Object.assign({}, aParams.dragEvent);
}
const ds = _EU_Cc["@mozilla.org/widget/dragservice;1"]
.getService(_EU_Ci.nsIDragService);
ds.startDragSession();
function rectToString(aRect) {
return `left: ${aRect.left}, top: ${aRect.top}, right: ${
aRect.right
}, bottom: ${aRect.bottom}`;
}
if (logFunc) {
logFunc("synthesizePlainDragAndDrop() -- START");
}
if (srcSelection) {
srcElement = srcSelection.focusNode;
while (_EU_maybeWrap(srcElement).isNativeAnonymous) {
srcElement = _EU_maybeUnwrap(
_EU_maybeWrap(srcElement).flattenedTreeParentNode
);
}
if (srcElement.nodeType !== Node.NODE_TYPE_ELEMENT) {
srcElement = srcElement.parentElement;
}
let srcElementRect = srcElement.getBoundingClientRect();
if (logFunc) {
logFunc(
`srcElement.getBoundingClientRect(): ${rectToString(srcElementRect)}`
);
}
// Use last selection client rect because nsIDragSession.sourceNode is
// initialized from focus node which is usually in last rect.
let selectionRectList = srcSelection.getRangeAt(0).getClientRects();
let lastSelectionRect = selectionRectList[selectionRectList.length - 1];
if (logFunc) {
logFunc(
`srcSelection.getRangeAt(0).getClientRects()[${selectionRectList.length -
1}]: ${rectToString(lastSelectionRect)}`
);
}
// Click at center of last selection rect.
srcX = Math.floor(
lastSelectionRect.left + lastSelectionRect.width / 2
);
srcY = Math.floor(
lastSelectionRect.top + lastSelectionRect.height / 2
);
// Then, adjust srcX and srcY for making them offset relative to
// srcElementRect because they will be used when we call synthesizeMouse()
// with srcElement.
srcX = Math.floor(
srcX - srcElementRect.left
);
srcY = Math.floor(
srcY - srcElementRect.top
);
// Finally, recalculate finalX and finalY with new srcX and srcY if they
// are not specified by the caller.
if (aParams.finalX === undefined) {
finalX = srcX + stepX * 2;
}
if (aParams.finalY === undefined) {
finalY = srcY + stepY * 2;
}
} else if (logFunc) {
logFunc(
`srcElement.getBoundingClientRect(): ${rectToString(
srcElement.getBoundingClientRect()
)}`
);
}
const ds = _EU_Cc["@mozilla.org/widget/dragservice;1"].getService(
_EU_Ci.nsIDragService
);
try {
let dataTransfer = null;
function trapDrag(aEvent) {
dataTransfer = aEvent.dataTransfer;
}
srcElement.addEventListener("dragstart", trapDrag, true);
_getDOMWindowUtils().disableNonTestMouseEvents(true);
await new Promise(r => setTimeout(r, 0));
synthesizeMouse(srcElement, srcX, srcY, { type: "mousedown" }, srcWindow);
if (logFunc) {
logFunc(`mousedown at ${srcX}, ${srcY}`);
}
// Wait for the next event tick after each event dispatch, so that UI elements
// (e.g. menu) work like the real user input.
await new Promise(r => setTimeout(r, 0));
let dragStartEvent;
function onDragStart(aEvent) {
dragStartEvent = aEvent;
if (logFunc) {
logFunc(`"${aEvent.type}" event is fired`);
}
if (!srcElement.contains(aEvent.target)) {
// If srcX and srcY does not point in one of rects in srcElement,
// "dragstart" target is not in srcElement. Such case must not
// be expected by this API users so that we should throw an exception
// for making debug easier.
throw new Error(
'event target of "dragstart" is not srcElement nor its descendant'
);
}
}
let dragEnterEvent;
function onDragEnterGenerated(aEvent) {
dragEnterEvent = aEvent;
}
srcWindow.addEventListener("dragstart", onDragStart, { capture: true });
srcWindow.addEventListener("dragenter", onDragEnterGenerated, {
capture: true,
});
try {
// Wait for the next event tick after each event dispatch, so that UI
// elements (e.g. menu) work like the real user input.
await new Promise(r => setTimeout(r, 0));
srcX += stepX; srcY += stepY;
synthesizeMouse(srcElement, srcX, srcY, { type: "mousemove" }, srcWindow);
await new Promise(r => setTimeout(r, 0));
srcX += stepX; srcY += stepY;
synthesizeMouse(srcElement, srcX, srcY, { type: "mousemove" }, srcWindow);
await new Promise(r => setTimeout(r, 0));
srcElement.removeEventListener("dragstart", trapDrag, true);
await new Promise(r => setTimeout(r, 0));
let event;
if (destElement) {
// dragover and drop are only fired to a valid drop target. If the
// destElement parameter is null, this function is being used to
// simulate a drag'n'drop over an invalid drop target.
event = createDragEventObject("dragover", destElement, destWindow,
dataTransfer, {});
sendDragEvent(event, destElement, destWindow);
srcX += stepX;
srcY += stepY;
synthesizeMouse(srcElement, srcX, srcY, { type: "mousemove" }, srcWindow);
if (logFunc) {
logFunc(`first mousemove at ${srcX}, ${srcY}`);
}
await new Promise(r => setTimeout(r, 0));
event = createDragEventObject("drop", destElement, destWindow,
dataTransfer, {});
sendDragEvent(event, destElement, destWindow);
srcX += stepX;
srcY += stepY;
synthesizeMouse(srcElement, srcX, srcY, { type: "mousemove" }, srcWindow);
if (logFunc) {
logFunc(`second mousemove at ${srcX}, ${srcY}`);
}
await new Promise(r => setTimeout(r, 0));
if (!dragStartEvent) {
throw new Error('"dragstart" event is not fired');
}
} finally {
srcWindow.removeEventListener("dragstart", onDragStart, {
capture: true,
});
srcWindow.removeEventListener("dragenter", onDragEnterGenerated, {
capture: true,
});
}
// dragend is fired, by definition, on the srcElement
event = createDragEventObject("dragend", srcElement, srcWindow,
dataTransfer, {clientX: finalX, clientY: finalY});
sendDragEvent(event, srcElement, srcWindow);
let session = ds.getCurrentSession();
if (!session) {
if (expectCancelDragStart) {
synthesizeMouse(srcElement, srcX, srcY, { type: "mouseup" }, srcWindow);
return;
}
throw new Error("drag hasn't been started by the operation");
} else if (expectCancelDragStart) {
throw new Error("drag has been started by the operation");
}
if (destElement) {
if (
(srcElement != destElement && !dragEnterEvent) ||
destElement != dragEnterEvent.target
) {
if (logFunc) {
logFunc(
`destElement.getBoundingClientRect(): ${rectToString(
destElement.getBoundingClientRect()
)}`
);
}
function onDragEnter(aEvent) {
dragEnterEvent = aEvent;
if (logFunc) {
logFunc(`"${aEvent.type}" event is fired`);
}
if (aEvent.target != destElement) {
throw new Error('event target of "dragenter" is not destElement');
}
}
destWindow.addEventListener("dragenter", onDragEnter, {
capture: true,
});
try {
let event = createDragEventObject(
"dragenter",
destElement,
destWindow,
null,
dragEvent
);
sendDragEvent(event, destElement, destWindow);
if (!dragEnterEvent && !destElement.disabled) {
throw new Error('"dragenter" event is not fired');
}
if (dragEnterEvent && destElement.disabled) {
throw new Error(
'"dragenter" event should not be fired on disable element'
);
}
} finally {
destWindow.removeEventListener("dragenter", onDragEnter, {
capture: true,
});
}
}
let dragOverEvent;
function onDragOver(aEvent) {
dragOverEvent = aEvent;
if (logFunc) {
logFunc(`"${aEvent.type}" event is fired`);
}
if (aEvent.target != destElement) {
throw new Error('event target of "dragover" is not destElement');
}
}
destWindow.addEventListener("dragover", onDragOver, { capture: true });
try {
// dragover and drop are only fired to a valid drop target. If the
// destElement parameter is null, this function is being used to
// simulate a drag'n'drop over an invalid drop target.
let event = createDragEventObject(
"dragover",
destElement,
destWindow,
null,
dragEvent
);
sendDragEvent(event, destElement, destWindow);
if (!dragOverEvent && !destElement.disabled) {
throw new Error('"dragover" event is not fired');
}
if (dragEnterEvent && destElement.disabled) {
throw new Error(
'"dragover" event should not be fired on disable element'
);
}
} finally {
destWindow.removeEventListener("dragover", onDragOver, {
capture: true,
});
}
await new Promise(r => setTimeout(r, 0));
// If there is not accept to drop the data, "drop" event shouldn't be
// fired.
// XXX nsIDragSession.canDrop is different only on Linux. It must be
// a bug of gtk/nsDragService since it manages `mCanDrop` by itself.
// Thus, we should use nsIDragSession.dragAction instead.
if (session.dragAction != _EU_Ci.nsIDragService.DRAGDROP_ACTION_NONE) {
let dropEvent;
function onDrop(aEvent) {
dropEvent = aEvent;
if (logFunc) {
logFunc(`"${aEvent.type}" event is fired`);
}
if (!destElement.contains(aEvent.target)) {
throw new Error(
'event target of "drop" is not destElement nor its descendant'
);
}
}
destWindow.addEventListener("drop", onDrop, { capture: true });
try {
let event = createDragEventObject(
"drop",
destElement,
destWindow,
null,
dragEvent
);
sendDragEvent(event, destElement, destWindow);
if (!dropEvent && session.canDrop) {
throw new Error('"drop" event is not fired');
}
} finally {
destWindow.removeEventListener("drop", onDrop, { capture: true });
}
return;
};
}
// Since we don't synthesize drop event, we need to set drag end point
// explicitly for "dragEnd" event which will be fired by
// endDragSession().
dragEvent.clientX = finalX;
dragEvent.clientY = finalY;
let event = createDragEventObject(
"dragend",
destElement || srcElement,
destElement ? srcWindow : destWindow,
null,
dragEvent
);
session.setDragEndPointForTests(event.screenX, event.screenY);
} finally {
await new Promise(r => setTimeout(r, 0));
} finally {
ds.endDragSession(true, 0);
if (ds.getCurrentSession()) {
let dragEndEvent;
function onDragEnd(aEvent) {
dragEndEvent = aEvent;
if (logFunc) {
logFunc(`"${aEvent.type}" event is fired`);
}
if (!srcElement.contains(aEvent.target)) {
throw new Error(
'event target of "dragend" is not srcElement not its descendant'
);
}
}
srcWindow.addEventListener("dragend", onDragEnd, { capture: true });
try {
ds.endDragSession(true, _parseModifiers(dragEvent));
if (!dragEndEvent) {
// eslint-disable-next-line no-unsafe-finally
throw new Error(
'"dragend" event is not fired by nsIDragService.endDragSession()'
);
}
} finally {
srcWindow.removeEventListener("dragend", onDragEnd, { capture: true });
}
}
_getDOMWindowUtils().disableNonTestMouseEvents(false);
if (logFunc) {
logFunc("synthesizePlainDragAndDrop() -- END");
}
}
}
var PluginUtils =
{
withTestPlugin : function(callback)
{
var ph = _EU_Cc["@mozilla.org/plugin/host;1"]
.getService(_EU_Ci.nsIPluginHost);
var PluginUtils = {
withTestPlugin: function(callback) {
var ph = _EU_Cc["@mozilla.org/plugin/host;1"].getService(
_EU_Ci.nsIPluginHost
);
var tags = ph.getPluginTags();
// Find the test plugin

View File

@ -171,7 +171,7 @@ html_static_path = ['_static']
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
html_show_copyright = False
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the

View File

@ -42,11 +42,3 @@ want to do then dive in!
servingcontent
loggingreporting
devicemanagement
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View File

@ -121,11 +121,13 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
value = value.strip()
key_indent = line_indent
# make sure this key isn't already in the section
if key and current_section is not variables:
assert key not in current_section
if strict:
# make sure this key isn't already in the section or empty
# make sure this key isn't empty
assert key
if current_section is not variables:
assert key not in current_section
current_section[key] = value
break
@ -133,13 +135,6 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
# something bad happened!
raise IniParseError(fp, linenum, "Unexpected line '{}'".format(stripped))
# server-root is a special os path declared relative to the manifest file.
# inheritance demands we expand it as absolute
if 'server-root' in variables:
root = os.path.join(os.path.dirname(fp.name),
variables['server-root'])
variables['server-root'] = os.path.abspath(root)
# return the default section only if requested
if defaults_only:
return [(default, variables)]

View File

@ -1,5 +0,0 @@
[DEFAULT]
server-root = ../root
other-root = ../root
[test_1]

View File

@ -1,3 +0,0 @@
[parent:../level_1_server-root.ini]
[test_2]

View File

@ -1,3 +0,0 @@
[parent:../level_2_server-root.ini]
[test_3]

View File

@ -342,26 +342,6 @@ yellow = submarine
self.assertEqual(parser.get('name', disabled='NO'),
['testSecond.js'])
def test_server_root(self):
"""
Test server_root properly expands as an absolute path
"""
server_example = os.path.join(here, 'parent', 'level_1', 'level_2',
'level_3', 'level_3_server-root.ini')
parser = ManifestParser(manifests=(server_example,))
# A regular variable will inherit its value directly
self.assertEqual(parser.get('name', **{'other-root': '../root'}),
['test_3'])
# server-root will expand its value as an absolute path
# we will not find anything for the original value
self.assertEqual(parser.get('name', **{'server-root': '../root'}), [])
# check that the path has expanded
self.assertEqual(parser.get('server-root')[0],
os.path.join(here, 'parent', 'root'))
def test_copy(self):
"""Test our ability to copy a set of manifests"""

View File

@ -21,11 +21,11 @@ import mozunit
class IniParserTest(unittest.TestCase):
def parse_manifest(self, string):
def parse_manifest(self, string, **kwargs):
buf = StringIO()
buf.write(string)
buf.seek(0)
return read_ini(buf)
return read_ini(buf, **kwargs)
def test_inline_comments(self):
result = self.parse_manifest("""
@ -59,6 +59,18 @@ birds=nope
self.assertEqual(result[1][1]['dogs'].split(), ['yep', 'yep'])
self.assertEqual(result[1][1]['birds'].split(), ['nope', 'fish=nope'])
def test_dupes_error(self):
dupes = """
[test_dupes.py]
foo = bar
foo = baz
"""
with self.assertRaises(AssertionError):
self.parse_manifest(dupes, strict=True)
with self.assertRaises(AssertionError):
self.parse_manifest(dupes, strict=False)
if __name__ == '__main__':
mozunit.main()

View File

@ -171,7 +171,7 @@ html_static_path = ['_static']
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
html_show_copyright = False
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the

View File

@ -151,3 +151,5 @@ htmlhelp_basename = 'Pastedoc'
# If false, no module index is generated.
#latex_use_modindex = True
html_show_copyright = False

View File

@ -150,13 +150,13 @@ class DesktopUnittestOutputParser(OutputParser):
self.known_fail_count = int(summary_match_list[-1])
self.log(message, log_level)
return # skip harness check and base parse_single_line
harness_match = self.harness_error_re.match(line)
harness_match = self.harness_error_re.search(line)
if harness_match:
self.warning(' %s' % line)
self.worst_log_level = self.worst_level(WARNING, self.worst_log_level)
self.tbpl_status = self.worst_level(TBPL_WARNING, self.tbpl_status,
levels=TBPL_WORST_LEVEL_TUPLE)
full_harness_match = self.full_harness_error_re.match(line)
full_harness_match = self.full_harness_error_re.search(line)
if full_harness_match:
r = full_harness_match.group(1)
if r == "application crashed":

View File

@ -54,5 +54,7 @@ user_pref("media.autoplay.enabled.user-gestures-needed", true);
user_pref("media.autoplay.ask-permission", false);
user_pref("media.autoplay.block-webaudio", false);
user_pref("media.allowed-to-play.enabled", true);
// Ensure media can always play without delay
user_pref("media.block-autoplay-until-in-foreground", false);
user_pref("toolkit.telemetry.coverage.endpoint.base", "http://localhost");
user_pref("layout.css.moz-binding.content.enabled", true); // Le sad

View File

@ -8,8 +8,6 @@
/* globals user_pref */
// Enable w3c touch events for testing
user_pref("dom.w3c_touch_events.enabled", 1);
// Enable CSS 'contain' for testing
user_pref("layout.css.contain.enabled", true);
// Enable CSS Grid 'subgrid' feature for testing
user_pref("layout.css.grid-template-subgrid-value.enabled", true);
// Enable CSS initial-letter for testing

View File

@ -117,7 +117,6 @@ SpecialPowersObserverAPI.prototype = {
aSubject = aSubject.QueryInterface(Ci.nsIPropertyBag2);
if (aTopic == "plugin-crashed") {
addDumpIDToMessage("pluginDumpID");
addDumpIDToMessage("browserDumpID");
let pluginID = aSubject.getPropertyAsAString("pluginDumpID");
let extra = this._getExtraData(pluginID);

View File

@ -2484,8 +2484,23 @@ SpecialPowersAPI.prototype = {
});
},
doCommand(window, cmd) {
return this._getDocShell(window).doCommand(cmd);
doCommand(window, cmd, param) {
switch (cmd) {
case "cmd_align":
case "cmd_backgroundColor":
case "cmd_fontColor":
case "cmd_fontFace":
case "cmd_fontSize":
case "cmd_highlight":
case "cmd_insertImageNoUI":
case "cmd_insertLinkNoUI":
case "cmd_paragraphState":
let params = Cu.createCommandParams();
params.setStringValue("state_attribute", param);
return this._getDocShell(window).doCommandWithParams(cmd, params);
default:
return this._getDocShell(window).doCommand(cmd);
}
},
isCommandEnabled(window, cmd) {

View File

@ -1,4 +0,0 @@
[2d.text.measure.actualBoundingBox.html]
[Testing actualBoundingBox]
expected: FAIL

View File

@ -1,4 +1,5 @@
[2d.text.draw.baseline.hanging.html]
[Canvas test: 2d.text.draw.baseline.hanging]
expected: FAIL
expected:
if os == "android": FAIL

View File

@ -1,7 +0,0 @@
[crypto-subtle-non-secure-context-not-available.sub.html]
[Non-secure context window does not have access to crypto.subtle]
expected: FAIL
[Non-secure context worker does not have access to crypto.subtle]
expected: FAIL

View File

@ -1,4 +0,0 @@
[webkit-text-fill-color-property-002.html]
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-004.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-007.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-004.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-007.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-color-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-004.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-007.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-image-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-006.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-007.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-position-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[background-repeat-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[border-color-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[root-canvas-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,4 +1,3 @@
[floats-142.xht]
expected:
if (os == "win"): FAIL
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,4 +1,3 @@
[floats-143.xht]
expected:
if (os == "win"): FAIL
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[floats-147.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[fonts-012.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,4 +1,3 @@
[empty-inline-003.xht]
expected:
if os == "win": FAIL
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[margin-collapse-039.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -14,6 +14,5 @@
if not 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 webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and webrender and e10s and (os == "win") and (version == "10.0.17134") and (processor == "x86_64") and (bits == 64): PASS
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): PASS
if (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): PASS
if (os == "win") and (processor == "aarch64"): PASS

View File

@ -1,3 +0,0 @@
[max-height-applies-to-005.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-height-applies-to-006.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-height-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-height-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-width-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-width-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-width-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[max-width-applies-to-004.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-001.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-002.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-003.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-004.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,2 +0,0 @@
[width-applies-to-006.xht]
expected: FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-007.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-013.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

View File

@ -1,3 +0,0 @@
[width-applies-to-014.xht]
expected:
if (os == "mac") and (version == "OS X 10.10.5") and (processor == "x86_64") and (bits == 64): FAIL

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