Currently, raising an exception in a mozprocess callback is not guaranteed to
end the managed process; after bug 1694275, the exception will be reported but
otherwise suppressed.
Instead of raising an exception, report the error and end the test process.
Differential Revision: https://phabricator.services.mozilla.com/D106538
Catch and report any exceptions raised in mozprocess callbacks. This allows the
ProcessReader thread to continue and mozprocess to function normally following
an exception raised in client code.
Differential Revision: https://phabricator.services.mozilla.com/D106536
Also, suppress a flex item's aspect-ratio by using
StyleSizeOverrides::mAspectRatio added in Part 1. Otherwise,
testing/web-platform/tests/css/css-flexbox/flex-minimum-height-flex-items-023.html
is going to break.
table-as-item-stretch-cross-size-3 is adapted from the testcase in bug
799725 comment 1. Note: stretching in the cross axis that is a block
axis has been fixed by bug 1674302.
Differential Revision: https://phabricator.services.mozilla.com/D106195
Part 2 fixed table-as-item-inflexible-in-column-{1,2}.html.
table-as-item-inflexible-in-row-{1,2}.html are already pass on Nightly,
and are added for robustness and symmetry.
Part 3 fixed table-as-item-specified-height.html
Part 2 and Part 3 are both needed to not break
layout/reftests/flexbox/flexbox-table-flex-items-3.html.
Differential Revision: https://phabricator.services.mozilla.com/D106158
Depends on D105740
WPT runner can target several older versions of Firefox, so only use the new showToolboxForTab when the API is available on DevToolsShim
Differential Revision: https://phabricator.services.mozilla.com/D105743
Abspos boxes resolve against the pading box, and we were failing to
increase the percentage basis in that case if box-sizing was
content-box.
This is partially the cause of bug 1691374.
Differential Revision: https://phabricator.services.mozilla.com/D104389
Depends on D105740
WPT runner can target several older versions of Firefox, so only use the new showToolboxForTab when the API is available on DevToolsShim
Differential Revision: https://phabricator.services.mozilla.com/D105743
This change add the ability to yield the output as it is produced, by
creating a thread responsible for killing the process if it takes too
long.
This way we can loop with blocking I/O on stdout in python, while the
process is running concurrently. The loop ends when the process exit
either by itself or after being killed by the timeout.
Differential Revision: https://phabricator.services.mozilla.com/D105037
This patch is developed from D104136#3396152.
This patch creates WorkerTestUtils.webidl under dom/webidl for testing workers with internal APIs. These APIs are exposed to workers only and controlled by dom.workers.testing.enabled pref.
This patch creates a Mozilla-specific web-platform test, testing/web-platform/mozilla/test/workers/worker_timer_nesting_level.html, to test the timer nesting level implementation for workers.
To simplify the test implementation, this patch does not implement the webidl under dom/chrome-webidl/ suggested by D104136#3396152.
Depends on D104136
Differential Revision: https://phabricator.services.mozilla.com/D105332
I also update the wpt becasue it seems the original one lets <ratio>
support the addition. However, the spec says "Addition of <ratio>s is not
possible".
Differential Revision: https://phabricator.services.mozilla.com/D106219
The python subprocess module keeps getting better, while mozprocess is poorly
maintained and subject to various problems (like this bug!), so this patch
adds a comment to mozprocess warning about shortcomings.
Differential Revision: https://phabricator.services.mozilla.com/D106198
This is specialised to just provide some basic/test-only support for the
asyncclipboard permissions, entirely to get the tests working a little better.
Differential Revision: https://phabricator.services.mozilla.com/D105110
We're trying to store a string in a file open in binary mode which doesn't work :)
I'm guessing this was allowed in Python2 or some older 3 version.
Differential Revision: https://phabricator.services.mozilla.com/D104751
This patch is developed from D104136#3396152.
This patch creates WorkerTestUtils.webidl under dom/webidl for testing workers with internal APIs. These APIs are exposed to workers only and controlled by dom.workers.testing.enabled pref.
This patch creates a Mozilla-specific web-platform test, testing/web-platform/mozilla/test/workers/worker_timer_nesting_level.html, to test the timer nesting level implementation for workers.
To simplify the test implementation, this patch does not implement the webidl under dom/chrome-webidl/ suggested by D104136#3396152.
Depends on D104136
Differential Revision: https://phabricator.services.mozilla.com/D105332
For minimizing the previous patch changes, `scale`'s default value for
`screenX/Y` is treated as 1.0. It means that `screenX/Y` are device
pixels by default, but `offsetX/Y` are in CSS pixels by default. This
difference may make developers confused. Therefore, we should align the
default unit of them to `screenPixelsPerCSSPixel`. I.e., their default
unit becomes CSS pixels.
Differential Revision: https://phabricator.services.mozilla.com/D105929
For making the test framework/API change easier, such raw API shouldn't be
used directly. Therefore, this patch makes tests using it directly stop
using it and use `synthesizeNativeMouseEvent` instead.
However, this patch does not fix `browser_touch_event_iframes.js` because
it accesses the API from `ContentTask`. So, `EventUtils.js` isn't available
without larger change.
Note that this patch disables `test_bug596600.xhtml` because as I commented
in it, it's completely broken. It depends on the race of next native event
loop and `waitForTick`, and this patch changes the result of the race.
Differential Revision: https://phabricator.services.mozilla.com/D105765
Currently, it takes a raw native message value, but it makes JS content too
complicated. And on Linux, it cannot synthesize non-primary button events
because GDK has only button press and release messages which dont' include
mouse button information.
For solving these problems, this patch creates a new abstract native message
as `nsIWidget::NativeMouseMessage` and makes each widget converts it to
a platform native message.
Additionally, this patch adds an argument to make it possible its callers
to specify pressing or releasing mouse button with a DOM mouse button value.
Note that the following patch adds new argument to
`synthesizeNativeEventMouse*` for mochitests and which will be tested by
new tests.
Differential Revision: https://phabricator.services.mozilla.com/D105763