Граф коммитов

836 Коммитов

Автор SHA1 Сообщение Дата
Edgar Chen fc18b387ed Bug 1640353 - Synthesize a mousemove event from test script to generate mouseenter/mouseleave event explicitly; r=smaug
The test relied on synthesized mousemove event from refresh driver to generate
corresponding mouseenter/mouseleave event, but it would have possible racing
given that we don't know when the mousemove would be synthesized, especially
in opt build. So synthesize mousemove event from test script explicitly.

Differential Revision: https://phabricator.services.mozilla.com/D77935
2020-06-03 10:02:17 +00:00
Razvan Maries a36bb7751f Backed out 3 changesets (bug 1638153) for perma failures on cross-origin-objects.html. CLOSED TREE
Backed out changeset f7aedc92d396 (bug 1638153)
Backed out changeset 07ec713926c6 (bug 1638153)
Backed out changeset 5a656842e241 (bug 1638153)
2020-06-01 23:51:35 +03:00
Kris Maglione b3fcd970ec Bug 1638153: Part 2 - Fix uses of .rootTreeItem to get top browser window. r=geckoview-reviewers,nika,snorp
Differential Revision: https://phabricator.services.mozilla.com/D75429
2020-06-01 17:59:01 +00:00
Emilio Cobos Álvarez a361d764b1 Bug 1639057 - Simplify Bug 426082.html to not depend on paint events. r=mstange
I removed some outlines in gtk which causes some repaints not to show
up. However I think this test should be simplified a bit instead.

When this test landed in bug 426082, snapshots and such were the only
way to test this because it was a widget hack, effectively. Nowadays,
that "forward hover and active state from label to labeled element"
happens at the event state manager level, and thus we can test it much
more easily using simple selector-matching.

Differential Revision: https://phabricator.services.mozilla.com/D76602
2020-05-23 17:26:56 +00:00
Edgar Chen 3c8a28b7ab Bug 1638806 - Do not update sLastMouseRemoteTarget for eMouseExitFromWidget event; r=smaug
Firing eMouseExitFromWidget means we are leaving a specific remote target, then
we should not update sLastMouseRemoteTarget. Otherwise the subsequent event
might trigger sending eMouseExitFromWidget again.

Differential Revision: https://phabricator.services.mozilla.com/D75916
2020-05-22 20:12:25 +00:00
Edgar Chen 7ec7611ea6 Bug 1637132 - Move mouse back to initial position after the tests; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D74821
2020-05-12 10:42:04 +00:00
Edgar Chen f0ed844fb9 Bug 1607375 - Generate mouse exit event to old remote target when the mouse event is moving to another remote target; r=hsivonen,smaug
If a mouse is over a remote target A, and then moves to remote target B,
we'd deliver the event directly to remote target B after the moving, A would
never get notified that the mouse left. And A would synthesizes mousemove event
on an incorrect point which then generates an unexpected mouseleave.

Differential Revision: https://phabricator.services.mozilla.com/D67408
2020-05-11 22:39:18 +00:00
Emilio Cobos Álvarez e0c490b2cd Bug 1633488 - Fire zoom change events directly in the parent process instead of roundabouting through the child process. r=nika
This ensures that chrome code can always react to the state the browsing
context the parent process observes properly. It's also simpler.

We fix one test that was relying on the event being fired at the
browser. For the same reason as the previous patch in this bug, we can
use resize events instead.

Differential Revision: https://phabricator.services.mozilla.com/D72712
2020-04-30 01:21:20 +00:00
Dorel Luca 8e7e7136a3 Backed out 4 changesets (bug 1633938, bug 1578008, bug 1633488) for Devtool failures in browser/base/content/test/static/browser_parsable_css.js. CLOSED TREE
Backed out changeset e690c4cf8848 (bug 1633938)
Backed out changeset c999ecad3be8 (bug 1633488)
Backed out changeset abbc47ce1451 (bug 1578008)
Backed out changeset 9e6925ea790f (bug 1578008)
2020-04-30 04:13:42 +03:00
Emilio Cobos Álvarez f071fe4b8e Bug 1633488 - Fire zoom change events directly in the parent process instead of roundabouting through the child process. r=nika
This ensures that chrome code can always react to the state the browsing
context the parent process observes properly. It's also simpler.

We fix one test that was relying on the event being fired at the
browser. For the same reason as the previous patch in this bug, we can
use resize events instead.

Differential Revision: https://phabricator.services.mozilla.com/D72712
2020-04-29 21:44:13 +00:00
Coroiu Cristina 43be71277d Backed out 2 changesets (bug 1625500) for multiple failures on a CLOSED TREE
Backed out changeset 7d80233bcfcd (bug 1625500)
Backed out changeset 0a35b13dfcde (bug 1625500)
2020-04-17 15:36:05 +03:00
Gijs Kruitbosch cc39a339a0 Bug 1625500 - fix use of .then(x, x) in the tree, r=marionette-reviewers,Standard8,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D68614
2020-04-17 11:41:49 +00:00
Edgar Chen eef74ae73a Bug 1612821 - Remove pointerevent_pointerlock_after_pointercapture-manual.html test; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D69984

--HG--
extra : moz-landing-system : lando
2020-04-08 11:23:31 +00:00
Brian Grinstead 30b9da5519 Bug 1623992 - Automated rewrite from chrome://global/skin/ to chrome://global/skin/global.css in markup r=marionette-reviewers,perftest-reviewers,mossop,whimboo,sparky
This was generated with

```
cp .gitignore .rgignore
rg -l -g '*.{html,xhtml}' 'href="chrome://global/skin/"' | xargs sed -i "" 's/href\="chrome:\/\/global\/skin\/"/href\="chrome:\/\/global\/skin\/global.css"/g'
```

Differential Revision: https://phabricator.services.mozilla.com/D67687

--HG--
extra : moz-landing-system : lando
2020-04-03 22:23:23 +00:00
Edgar Chen c089c7a3a9 Bug 1627633 - Remove test_pointerevent_pointerlock_supercedes_capture-manual.html; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D69808

--HG--
extra : moz-landing-system : lando
2020-04-06 11:53:48 +00:00
Masayuki Nakano fc75118988 Bug 1618091 - Make editor dispatch `beforeinput` event when `Document.execCommand()` is called by addon r=smaug
Discussion in
* https://github.com/w3c/input-events/issues/91
* https://github.com/w3c/editing/issues/200

Web developers must want to handle `beforeinput` events which are caused by
addons because addon's behavior is exactly same as default action of browser
from point of view of web apps.

Differential Revision: https://phabricator.services.mozilla.com/D68528

--HG--
extra : moz-landing-system : lando
2020-03-30 01:47:53 +00:00
Emilio Cobos Álvarez 6a92c2e81d Bug 1623837 - Don't prevent focus switching for disabled form controls. r=masayuki,NeilDeakin
Otherwise the user can select, but if you're in an iframe the iframe won't be
correctly focused.

This also matches other browsers, see:

  data:text/html,<input autofocus><input disabled value=abc>
  data:text/html,<input autofocus><button disabled>Foo</button>

And so on. This effectively undoes bug 375008. We could make this more targeted
somehow, but I don't think it's worth it.

Differential Revision: https://phabricator.services.mozilla.com/D67597

--HG--
extra : moz-landing-system : lando
2020-03-26 18:23:36 +00:00
Olli Pettay a5de11adec Bug 1502529, compress touchmoves on IPC layer, r=masayuki
The patch adds similar to mousemove compression on IPC layer.
https://searchfox.org/mozilla-central/rev/49ed791eec93335abfe6c2880f84c324e73e47e6/dom/ipc/PBrowser.ipdl#764-774
Touch events can't be compressed all the time, because each touch event
may contain changes to several touches.
To disable compression in some cases, another IPC message is sent.
The messages have exactly the same arguments, but by changing the message type,
compression is disabled for that message on IPC layer.

The patch tries to take rather conservative approach by disabling compression
in many cases. Compression is enabled only if the same touches are being changed,
or old touches and some new touch are changed (so the changed touches are a superset of the old touches).


The patch does not do anything with PointerEvent.getCoalescedEvents(). That implementation
would be quite a bit different and riskier for the next coming Fenix release.

Differential Revision: https://phabricator.services.mozilla.com/D63261

--HG--
extra : moz-landing-system : lando
2020-03-11 00:31:31 +00:00
Edgar Chen 5fb541e9be Bug 1621934 - Remove test_pointerevent_setpointercapture_relatedtarget-manual.html; r=smaug
Depends on D66570

Differential Revision: https://phabricator.services.mozilla.com/D66572

--HG--
extra : moz-landing-system : lando
2020-03-12 19:20:02 +00:00
Edgar Chen 5d9d891ff2 Bug 1621930 - Remove test_pointerevent_pointerout_received_once-manual.html; r=smaug
Depends on D66569

Differential Revision: https://phabricator.services.mozilla.com/D66570

--HG--
extra : moz-landing-system : lando
2020-03-12 15:02:04 +00:00
Edgar Chen 9ac8f6cdb0 Bug 1621925 - Remove test_pointerevent_pointermove_on_chorded_mouse_button-manual.html; r=smaug
Depends on D66568

Differential Revision: https://phabricator.services.mozilla.com/D66569

--HG--
extra : moz-landing-system : lando
2020-03-12 15:01:46 +00:00
Edgar Chen 9e5b1f713a Bug 1621922 - Remove test_pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html; r=smaug
Depends on D66567

Differential Revision: https://phabricator.services.mozilla.com/D66568

--HG--
extra : moz-landing-system : lando
2020-03-12 15:01:38 +00:00
Edgar Chen e8539f63f0 Bug 1621918 - Remove test_pointerevent_pointermove-manual.html; r=smaug
Depends on D66566

Differential Revision: https://phabricator.services.mozilla.com/D66567

--HG--
extra : moz-landing-system : lando
2020-03-12 15:01:22 +00:00
Edgar Chen 53aed7aafa Bug 1621912 - Remove test_pointerevent_pointerleave_descendants-manual.html; r=smaug
Depends on D66565

Differential Revision: https://phabricator.services.mozilla.com/D66566

--HG--
extra : moz-landing-system : lando
2020-03-12 15:01:15 +00:00
Edgar Chen e2dbf77853 Bug 1621909 - Remove test_pointerevent_pointerleave_descendant_over-manual.html; r=smaug
Depends on D66564

Differential Revision: https://phabricator.services.mozilla.com/D66565

--HG--
extra : moz-landing-system : lando
2020-03-12 15:01:02 +00:00
Edgar Chen 5c98de2a6d Bug 1621831 - Remove test_pointerevent_lostpointercapture_for_disconnected_node-manual.html; r=smaug
Depends on D66562

Differential Revision: https://phabricator.services.mozilla.com/D66564

--HG--
extra : moz-landing-system : lando
2020-03-12 14:53:00 +00:00
Edgar Chen cf26fb4712 Bug 1621830 - Remove test_pointerevent_element_haspointercapture-manual.html; r=smaug
Depends on D66561

Differential Revision: https://phabricator.services.mozilla.com/D66562

--HG--
extra : moz-landing-system : lando
2020-03-12 14:52:12 +00:00
Edgar Chen cbe66c6e97 Bug 1621829 - Remove test_pointerevent_capture_mouse-manual.html; r=smaug
Depends on D66560

Differential Revision: https://phabricator.services.mozilla.com/D66561

--HG--
extra : moz-landing-system : lando
2020-03-12 14:51:49 +00:00
Edgar Chen 96c57ab3c0 Bug 1621828 - Remove test_pointerevent_setpointercapture_disconnected-manual.html; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D66560

--HG--
extra : moz-landing-system : lando
2020-03-12 14:51:32 +00:00
Edgar Chen a14ba7926f Bug 1616278 - Remove test_pointerevent_lostpointercapture_is_first-manual.html; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63254

--HG--
extra : moz-landing-system : lando
2020-03-09 12:16:05 +00:00
Masayuki Nakano c90d6c80b3 Bug 1569512 - Make `PresShell` ignore synthesized `mousemove` events coming from another process if the child process stores mouse location of synthesized mouse events for tests r=smaug
The reason of intermittent failure of `test_bug656379-2.html` is, synthesized
`mousemove` event coming from the parent process causes `mouseout` and
`mouseleave` events of the last synthesized `mousemove` in the test.  The
reason is, synthesized `mousemove` for tests makes `PresShell` in the content
process record the cursor location, but won't make it `PresShell` in the
parent process do it.  Therefore, parent process may synthesize `mousemove`
event for the system cursor position which does not match with the synthesized
mouse location in the content process.  Therefore, `:hover` state may be
updated unexpectedly.

This patch makes `WidgetEvent::mFlags` have a flag to indicate whether it
came from another process.  Then, makes `PresShell::HandleEvent()` ignore
synthesized `mousemove` events coming from another process only when the
recorded mouse location was set by a mouse event synthesized for tests.

Differential Revision: https://phabricator.services.mozilla.com/D65282

--HG--
extra : moz-landing-system : lando
2020-03-05 21:34:28 +00:00
Mark Banner 15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D65703

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
Masayuki Nakano fa274b5db3 Bug 1602610 - Make `test_use_split_keypress_event_model_on_old_Office_Online_Servier.html` listen to `CheckKeyPressEventModel` event for avoiding intermittent failure r=smaug
It's a testcase for Office Online Server duplicated from `test_bug1514940.html`.
The original test listens to `CheckKeyPressEventModel` event which is fired
when the `keypress` event model is changed from the default mode.  Therefore,
this test also needs to listen to the event for avoiding intermittent failure
which is caused by running the tests before the mode change.

However, unfortunately, for keeping the performance of web apps which don't
need our mode changes, we can check the event only on debug build.  Therefore,
this patch makes the test run only on debug build.

Finally, this patch renames `test_bug154940.html` too because it tests
special behavior on specific web app and the new test name explains it like
the test for Office Online Server.

Differential Revision: https://phabricator.services.mozilla.com/D64919

--HG--
rename : dom/events/test/test_bug1514940.html => dom/events/test/test_use_split_keypress_event_model_on_old_Confluence.html
extra : moz-landing-system : lando
2020-03-02 11:39:00 +00:00
Hiroyuki Ikezoe 796e6049b6 Bug 1550800 - Call BrowserParent::UpdateDimensions() in BrowserBridgeParent::RecvUpdateDimensions. r=nika,hsivonen
So that we can get the correct client offset value and store other metrics
there and reuse them when the top browser window moves.

The client offset, browser window title bar and window decorated frame width,
is necessary to get element positions in OOP iframes in screen coordinates
for drag-and-drop etc.

This change also fixes event.screen{X,Y}. A mochitest in this commit fails
without this change with enabling fission at least on Linux. Note that in the
mochitest we have to use nsIDOMWindowUtils.synthesizeNativeMouseClick instead
of nsIDOMWindowUtils.sendMouseEvent since sendMouseEvent doesn't work in fission
world (bug 1528935).

Differential Revision: https://phabricator.services.mozilla.com/D62190

--HG--
extra : moz-landing-system : lando
2020-02-13 22:30:56 +00:00
John Dai 5683fcf7c8 Bug 1588715 - Implement SubmitEvent; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62030

--HG--
extra : moz-landing-system : lando
2020-02-11 12:46:54 +00:00
Brad Werth 69e6a4776b Bug 1523853 Part 3: Further relax the mousewheel test to not care about the ending scroll values. r=kats
This is being done to reduce the intermittent failures we see in this test.
There are other non-intermittent tests that measure the specific number of
pixels traveled by mousewheel events. The focus of this test seems to be
"Ensure that mousewheel scrolling and zooming are mutually exclusive" and
this change maintains that.

Depends on D62067

Differential Revision: https://phabricator.services.mozilla.com/D62130

--HG--
extra : moz-landing-system : lando
2020-02-08 20:15:16 +00:00
Brad Werth a547ad53da Bug 1523853 Part 2: Re-enable the mousewheel scroll/zoom test on Windows. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D62067

--HG--
extra : moz-landing-system : lando
2020-02-07 18:46:27 +00:00
Edgar Chen 7ab4025bf5 Bug 1613708 - Enable some disabled pointer event mochitests on Android; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D61947

--HG--
extra : moz-landing-system : lando
2020-02-07 00:18:14 +00:00
Brad Werth b02c5d2f93 Bug 1523853: Change a mousewheel test to wait on the outcome, not the trigger. r=kats
This change improves the intermittency of the test, but does not provably
eliminate it. The code comment in the relevant section gives the rationale.

Differential Revision: https://phabricator.services.mozilla.com/D61631

--HG--
extra : moz-landing-system : lando
2020-02-06 15:16:05 +00:00
Edgar Chen 61c05e98b7 Bug 1613383 - Remove dom/events/test/pointerevents/test_empty_file.html; r=masayuki
This dummy test was added in bug 1000870 where all tests in the manifest had a
support-files attribute, then we hit bug 1150091. Currently, there are other
tests that get assigned DEFAULT, so we could just remove this dummy test.

Differential Revision: https://phabricator.services.mozilla.com/D61695

--HG--
extra : moz-landing-system : lando
2020-02-06 03:33:27 +00:00
Edgar Chen d09e4169a6 Bug 1612819 - Enable test_pointerevent_movementxy-manual.html on Android; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61465

--HG--
extra : moz-landing-system : lando
2020-02-03 15:23:02 +00:00
Brad Werth b6077e9965 Bug 1516413 Part 3: Update a zoom test to wait on the outcome, not the trigger. r=smaug
Now that the zoom behavior involves more event round-trips, this test should
wait on the outcome of the input, instead of on the triggering event itself.
The way that SimpleTest.promiseWaitForCondition works, if the condition is
not reached quickly, instead of timing out, the test continues and the
following isnot check will fail.

Depends on D59260

Differential Revision: https://phabricator.services.mozilla.com/D61285

--HG--
extra : moz-landing-system : lando
2020-01-30 17:19:25 +00:00
Ehsan Akhgari 22cf4f7b05 Bug 1610819 - Remove support for creating some non-standard event types; r=smaug
This fixes some Firefox-only WPT test failures.

Differential Revision: https://phabricator.services.mozilla.com/D60671

--HG--
extra : moz-landing-system : lando
2020-01-23 17:37:34 +00:00
Boris Zbarsky 59239b7c5c Bug 1607918. Fix case handling for webkit-prefixed transition/animation event handlers. r=smaug.
The WPTs were cherrypicked from e05bdb8e0d

The issue in dom/events/test/test_bug1332699.html was discussed in
https://bugzilla.mozilla.org/show_bug.cgi?id=1332699#c8 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1332699#c10 but Xidorn never quite
made it clear enough what the issue was, so it ended up making it into the tree.

Differential Revision: https://phabricator.services.mozilla.com/D59592

--HG--
extra : moz-landing-system : lando
2020-01-13 20:04:59 +00:00
Masayuki Nakano 0a74bf0038 Bug 1605918 - Get rid of synthesizeDragStart() in EventUtils.js r=smaug
All usage of `synthesizeDragStart()` is, starting drag, cancel `dragstart`,
and finally compares `dataTransfer` items and given expected data.  So,
we can make the users use `synthesizePlainDragAndDrop()` instead.  It's
better API because it computes position of mouse operations at runtime and
checks whether the drag start was succeeded with optional logging feature
(i.e., it's easier to debug of intermittent failures).

This patch creates `synthesizePlainDragAndCancel()` for convenience.  It
handles `dragstart` instead of the callers.

Differential Revision: https://phabricator.services.mozilla.com/D58214

--HG--
extra : moz-landing-system : lando
2019-12-27 16:25:24 +00:00
Masayuki Nakano 87ca855ece Bug 1603074 - part 1: Make `synthesizePlainDragAndDrop()` synthesize drag events without `DataTransfer` object r=smaug
`synthesizePlainDragAndDrop()` synthesizes drag events with `DataTransfer`
object which is set to `DragEvent.dataTransfer` of `dragstart` after starting
drag session explicitly.  However, this causes
`EventStateManager::DoDefaltDragStart()` does not initialize `nsIDragService`
instance.  Therefore, synthesized drag events cannot work with editor because
`DragEvent::GetMozSourceNode()` returns `nullptr` due to
`nsIDragSession::GetSourceNode()` returning `nullptr`.

On the other hand, synthesized drag events cannot use
`nsIDragService::InvodeDragSession()` normally because of hitting an assertion.
https://searchfox.org/mozilla-central/rev/690e903ef689a4eca335b96bd903580394864a1c/widget/nsBaseDragService.cpp#230-233

This patch does:
- mark drag events caused by synthesized mouse events as "synthesized for tests"
- make `synthesizePlainDragAndDrop()` stop using
  `nsIDragService.startDragSession()`
- make `nsBaseDragService` initialize and start session even for synthesized
  `dragstart` event
- make `synthesizePlainDragAndDrop()` stop synthesizing drag events with
  `DataTransfer` object since it's normal behavior and it'll be initialized
  with `nsIDragService::GetDataTransfer()`
- make `nsBaseDragService` store `effectAllowed` for the session only when
  it's synthesized session because it's required at initializing synthesized
  default `dropEffect` value of `dragenter`, `dragover`, `dragexit` and `drop`
  events' `dataTransfer`
- make all tests which use `nsIDragService.startDragSession()` use new
  API, `nsIDragService.startDragSessionForTests()` to initialize session's
  `effectAllowed` value
- make `EventStateManager::PostHandleEvent()` set drag end point of the test
  session to `eDrop` event's screen point
- make `synthesizePlainDragAndDrop()` set drag end point of the session if
  it does not synthesize `drop` event because following `endDragSession()`
  use it at dispatching `dragend` event on the source element

Additionally, this adds `dumpFunc` new param to `synthesizePlainDragAndDrop()`
because it's really useful to investigate the reason why requesting DnD isn't
performed as expected.

Differential Revision: https://phabricator.services.mozilla.com/D57425

--HG--
extra : moz-landing-system : lando
2019-12-21 12:27:06 +00:00
Kris Maglione 94e3b0bd8d Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

Differential Revision: https://phabricator.services.mozilla.com/D53740

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:16 +00:00
Olli Pettay 3338ab0bb2 Bug 1556976, remove an old, mostly non-working hack to prevent zoom on form controls, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D56966

--HG--
extra : moz-landing-system : lando
2019-12-13 13:07:23 +00:00
Emilio Cobos Álvarez b498defa90 Bug 1603455 - Remove full-screen-api.unprefix.enabled. r=xidorn,smaug
It's been enabled since Firefox 64.

Differential Revision: https://phabricator.services.mozilla.com/D56951

--HG--
extra : moz-landing-system : lando
2019-12-13 13:27:27 +00:00
Noemi Erli 2b5af87228 Backed out changeset d23f209ada8b (bug 1603455) for causing failures in test_fullscreen-api.html
--HG--
extra : rebase_source : 7b7990746d3884eeced2404ed9bc78590db4b77c
2019-12-12 23:49:35 +02:00