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

3591 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta 7ac36807b1 Bug 1643042 - Turn the scroll origin parameter into a strongly-typed enum. r=tnikkel
This patch is a fairly mechanical conversion. The old `nullptr` gets converted
to ScrollOrigin::NotSpecified, and all the other possible values get corresponding
values in the new ScrollOrigin enum. A few switch statements are introduced to
clean up big if statements, but other than that, additional cleanups will happen
in later patches.

Differential Revision: https://phabricator.services.mozilla.com/D78438
2020-06-05 09:37:51 +00:00
Kagami Sascha Rosylight c948a3aa98 Bug 1632425 - Part 2: Mark const methods as such r=masayuki
Depends on D77812

Differential Revision: https://phabricator.services.mozilla.com/D77942
2020-06-03 03:08:58 +00:00
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
Kashav Madan 2b8ca16f35 Bug 1557407 - Replace DispatchTrustedEvent with DispatchEventOnlyToChrome for various chrome-only events, r=smaug
Adds an |aChromeOnlyDispatch| flag to DispatchCustomEvent to decide whether
to call DispatchTrustEvent or DispatchEventOnlyToChrome.

The following chrome-only events are dispatched with DispatchCustomEvent and now
make use of the flag:

- DOMWindowClose
- fullscreen / willenterfullscreen / willexitfullscreen
- occlusionstatechange
- resolutionchange
- XULAlertClose

and the following were previously dispatched with DispatchTrustedEvent and now
use DispatchEventOnlyToChrome:

- MozBeforeInitialXULLayout
- MozMouseScrollFailed / MozMouseScrollTransactionTimeout
- MozPaintWait / MozPaintWaitFinished
- MozPerformDelayedBlur
- all events fired by APZCCallbackHelper::NotifyMozMouseScrollEvent

Differential Revision: https://phabricator.services.mozilla.com/D76723
2020-06-01 17:11:48 +00:00
Emilio Cobos Álvarez 54fd961a29 Bug 1641245 - Make string comparators not virtual. r=froydnj,necko-reviewers,geckoview-reviewers,jgilbert,agi,valentin
There's no use case for stateful comparators, so they can be just plain
function pointers.

This is used in some hot places like CSS selector matching.

Differential Revision: https://phabricator.services.mozilla.com/D77084
2020-05-27 18:11:12 +00:00
Micah Tigley 6971704045 Bug 1516805 - Don't dispatch pointer events from a mouse event when simulating touch devices in RDM. r=bradwerth,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D76764
2020-05-26 18:17:38 +00:00
Emilio Cobos Álvarez 89958b377a Bug 1640605 - Remove IsInAnonymousSubtree / IsRootOfAnonymousSubtree. r=edgar
In favor of the NativeAnonymous versions which they forward to.

Done automatically with:

  rg -l 'IsInAnonymousSubtree' | xargs sed -i 's/IsInAnonymousSubtree/IsInNativeAnonymousSubtree/g'

And removing the function definitions afterwards.

Differential Revision: https://phabricator.services.mozilla.com/D76681
2020-05-25 11:43:51 +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
sefeng 67c1284c8c Bug 1637307 - Push/Pop dialog to top layer when needed r=smaug,emilio
This patch completes the top layer requirement for showModal()
Spec: https://html.spec.whatwg.org/multipage/interactive-elements.html#dom-dialog-showmodal

Differential Revision: https://phabricator.services.mozilla.com/D74922
2020-05-23 01:45:33 +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
Kartikaya Gupta 5edeaf80d3 Bug 1638314 - Add some telemetry around wheel modifiers and triggered actions. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D76044
2020-05-22 21:21:34 +00:00
Peter Van der Beken af82496fc7 Bug 1639310 - Remove unnecessary implicitJSContext annotations. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D76020
2020-05-19 20:48:21 +00:00
Karl Tomlinson edd2019f42 Bug 1637159 rename BindToOwnerInternal() to BindToOwner() r=smaug
This method can be and is used by derived classes as well as DOMEventTargetHelper
itself, so it does not need to be "Internal".

Differential Revision: https://phabricator.services.mozilla.com/D75246
2020-05-14 19:51:55 +00:00
Karl Tomlinson 57c91c20a0 Bug 1637159 remove unused unbind code from BindToOwnerInternal() r=smaug
Depends on D75042

Differential Revision: https://phabricator.services.mozilla.com/D75043
2020-05-14 19:51:55 +00:00
Karl Tomlinson 62c2076a1b Bug 1637159 remove now-unused public DOMEventTargetHelper::BindToOwner() rebind methods r=smaug
The virtual is no longer required since
https://hg.mozilla.org/mozilla-central/rev/a01586b62cf5#l1.92

Differential Revision: https://phabricator.services.mozilla.com/D75042
2020-05-14 05:29:49 +00:00
Emilio Cobos Álvarez b9c1bf761c Bug 312971 - Unprefix -moz-read-write / -moz-read-only. r=edgar
And remove some duplicated tests from WPT.

Differential Revision: https://phabricator.services.mozilla.com/D75231
2020-05-14 16:46:08 +00:00
Denis Palmeiro d1ffff7a12 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-05-12 19:28:15 +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
Timothy Nikkel c05c933851 Bug 1557160. Stop Event::GetScreenCoords from converting from visual to layout coords. r=botond
Screen coords are not layout coords.

Differential Revision: https://phabricator.services.mozilla.com/D74788
2020-05-12 04:53:37 +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 12644d52bc Bug 1634569 - Remove hackaround for bug that can no longer happen. r=masayuki
This seems to come from bug 618907, which seems to be a hack-around code
that went away in bug 1595435.

If we open a window on mousedown such as it gains focus before this code
runs, we just steal the focus from it, which is undesired.

Also remove the test for bug 799299. It doesn't work anyways if the
browser is remote (this test only runs on non-e10s mode), and this
unifies the behavior with e10s and with content (see attached test-case,
which doesn't change behavior with and without my patch).

Differential Revision: https://phabricator.services.mozilla.com/D73901
2020-05-08 03:57:23 +00:00
sefeng 9ce53561fa Bug 1636012 - Remove TYPES_OF_USER_CLICKS probe r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D74250
2020-05-07 22:12:52 +00:00
Narcis Beleuzu 96bd10ac35 Backed out changeset 6cc9a20bbb57 (bug 1634569) for mochitest failures on test_focus.xhtml . CLOSED TREE 2020-05-06 13:58:31 +03:00
Emilio Cobos Álvarez 1e934bc543 Bug 1634569 - Remove hackaround for bug that can no longer happen. r=masayuki
This seems to come from bug 618907, which seems to be a hack-around code
that went away in bug 1595435.

If we open a window on mousedown such as it gains focus before this code
runs, we just steal the focus from it, which is undesired.

Also remove the test for bug 799299. It doesn't work anyways if the
browser is remote (this test only runs on non-e10s mode), and this
unifies the behavior with e10s and with content (see attached test-case,
which doesn't change behavior with and without my patch).

Differential Revision: https://phabricator.services.mozilla.com/D73901
2020-05-06 06:18:13 +00:00
Botond Ballo 5cffd06241 Bug 1631568 - Have nsLayoutUtils::GetFrameForPoint() and GetFramesForArea() take a RelativeTo parameter. r=tnikkel
This removes the need for FrameForPointOptions::IsRelativeToLayoutViewport,
and makes sure each call site of these functions indicates whether the
input point/rect is in visual or layout coordinates.

Several call sites were passing in layout coordinates without setting the
IsRelativeToLayoutViewport flag, which this patch corrects.

Differential Revision: https://phabricator.services.mozilla.com/D71705
2020-05-05 15:24:12 +00:00
Botond Ballo 551a4602dc Bug 1556556 - Miscellaneous fixes related to event coordinate transformations. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69639
2020-05-05 19:28:15 +00:00
Botond Ballo 380598f9cd Bug 1556556 - Use FrameForPointOption::IsRelativeToLayoutViewport when passing layout-relative coordinates to GetFrameForPoint(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D71455
2020-05-05 19:26:50 +00:00
Botond Ballo 173d001b86 Bug 1556556 - Propagate RelativeTo far and wide. r=kats,mattwoodrow
This "upgrades" various nsLayoutUtils functions which take as inputs
a set of coordinates and a frame that the coordinates are relative to,
to accept a RelativeTo object instead of a frame.

Most of the patch is just dumb propagation, but the few places where
we use an explicit ViewportType::Visual are important. There are
probably a few other places I've overlooked, but this seems to cover
the important ones that come up commonly.

There are undoubtedly other functions into which we can propagate
RelativeTo, in this patch I've propagated it as far as necessary
for my needs in this bug (mainly GetTransformToAncestor() and
GetEventCoordinatesRelativeTo()).

Differential Revision: https://phabricator.services.mozilla.com/D68919
2020-05-05 19:26:38 +00:00
Botond Ballo 8f18aa54b4 Bug 1556556 - Add a "relative to layout viewport" option for display list building. r=mstange,mattwoodrow
Use it in document.elementFromPoint().

Differential Revision: https://phabricator.services.mozilla.com/D68914
2020-05-05 19:24:08 +00:00
Simon Giesecke 45e042a16d Bug 1626570 - Improve handling of copying arrays in dom/events/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73645
2020-05-05 10:16:24 +00:00
Jonathan Watt 468b918bcd Bug 1634474. Make `dom/html/` buildable outside of `unified-build` environment. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D73309
2020-05-04 14:29:02 +00:00
Mirko Brodesser 81a6751c80 Bug 1634663: part 1) Declare `Selection::GetRangeAt`'s callers `const` around dom/ code. r=masayuki
Only where possible, of course.

Differential Revision: https://phabricator.services.mozilla.com/D73444
2020-05-02 23:43:02 +00:00
Dorel Luca 159241fe4b Backed out changeset 4107b758e7ae (bug 1501608) as requested by dev 2020-05-02 15:03:19 +03:00
Emilio Cobos Álvarez 164acdc0b9 Bug 1634218 - Remove the zoom actors. r=nika
After the recent simplifications to the zoom code, they only take care
of forwarding the enlarge / decrease zoom messages.

We can do that via PBrowser instead, and get rid of the actors. We can
also remove ZoomChangeUsingMouseWheel. Zooming with the mouse wheel will
end up in a *ZoomChange event anyways, and the only consumer already
listened for them.

Differential Revision: https://phabricator.services.mozilla.com/D73175
2020-04-30 16:35:35 +00:00
Denis Palmeiro 792169d380 Bug 1501608 - Remove the ELEMENT_SLOT in the ScriptSourceObject and instead use a callback function to return the script element based on the value of the privateValue in the SSO. r=jonco,smaug
We can reduce the size of the SSO by removing the element slot entirely, and instead retrieve the element through a callback function.  The callback will take in the value in the private slot of the SSO, which is either a LoadedScript* (from the browser) or a JSObject* (from the shell).  In addition, this removes the requirement of having a script dom element ready when parsing a JS script which can open up new opportunities for performance.

Differential Revision: https://phabricator.services.mozilla.com/D70417
2020-04-30 16:21:23 +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
Kris Maglione c5353a7809 Bug 1630691: Part 1 - Get rid of most of the remaining mozbrowser API. r=nika,mtigley,bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D71226
2020-04-29 19:29:06 +00:00
Edgar Chen e8561819e4 Bug 1634017 - Pass BrowserParent, instead of nsFrameLoader, to EventStateManager::DispatchCrossProcessEvent; r=smaug
We currently pass nsFrameLoader to DispatchCrossProcessEvent and then try to get
BrowserParent from nsFrameLoader, but the call site actually ensures the
passed nsFrameLoader is a remote target that could get BrowserParent on it.
So we could simplify this by passing BrowserParent to DispatchCrossProcessEvent
and also could get rid of unnecessary conversion code in
EventStateManager::HandleCrossProcessEvent.

Differential Revision: https://phabricator.services.mozilla.com/D73037
2020-04-29 11:58:14 +00:00
Csoregi Natalia b073baab86 Backed out 30 changesets (bug 1556556, bug 1631568) for multiple mochitest failures. CLOSED TREE
Backed out changeset edd529f7a9c5 (bug 1631568)
Backed out changeset 1cc0881e244b (bug 1631568)
Backed out changeset ed3c1e85d5e3 (bug 1556556)
Backed out changeset 38ffc6215bbf (bug 1556556)
Backed out changeset 03c2c25d8023 (bug 1556556)
Backed out changeset 9c717eb067b8 (bug 1556556)
Backed out changeset 98e26bc98b85 (bug 1556556)
Backed out changeset 05a6a581e755 (bug 1556556)
Backed out changeset 867946cf05bb (bug 1556556)
Backed out changeset 20d72a334530 (bug 1556556)
Backed out changeset 2c62e61d9054 (bug 1556556)
Backed out changeset 62a223d057d2 (bug 1556556)
Backed out changeset 2c5d55a1f0b1 (bug 1556556)
Backed out changeset 700447945b4e (bug 1556556)
Backed out changeset 93190ae4f5ff (bug 1556556)
Backed out changeset a7bd34d961bb (bug 1556556)
Backed out changeset fccd1d3c7189 (bug 1556556)
Backed out changeset 24056e47183d (bug 1556556)
Backed out changeset 204881474cc1 (bug 1556556)
Backed out changeset 387320881876 (bug 1556556)
Backed out changeset be8f5eb58460 (bug 1556556)
Backed out changeset 629c58a9166b (bug 1556556)
Backed out changeset 4312b2b5dda8 (bug 1556556)
Backed out changeset d11dbf6403a5 (bug 1556556)
Backed out changeset 95c54c023779 (bug 1556556)
Backed out changeset 80fcb7e71188 (bug 1556556)
Backed out changeset d75a4ecb0d47 (bug 1556556)
Backed out changeset 903c4de34e7a (bug 1556556)
Backed out changeset f15334a3e803 (bug 1556556)
Backed out changeset 9553e99137ea (bug 1556556)
2020-04-28 12:43:11 +03:00
Botond Ballo 2cb46cfa4b Bug 1631568 - Have nsLayoutUtils::GetFrameForPoint() and GetFramesForArea() take a RelativeTo parameter. r=tnikkel
This removes the need for FrameForPointOptions::IsRelativeToLayoutViewport,
and makes sure each call site of these functions indicates whether the
input point/rect is in visual or layout coordinates.

Several call sites were passing in layout coordinates without setting the
IsRelativeToLayoutViewport flag, which this patch corrects.

Differential Revision: https://phabricator.services.mozilla.com/D71705
2020-04-28 01:44:43 +00:00
Botond Ballo 08aae3b474 Bug 1556556 - Miscellaneous fixes related to event coordinate transformations. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69639
2020-04-28 01:42:26 +00:00
Botond Ballo c2e68749af Bug 1556556 - Use FrameForPointOption::IsRelativeToLayoutViewport when passing layout-relative coordinates to GetFrameForPoint(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D71455
2020-04-28 01:40:52 +00:00
Botond Ballo 405c8807cd Bug 1556556 - Propagate RelativeTo far and wide. r=kats,mattwoodrow
This "upgrades" various nsLayoutUtils functions which take as inputs
a set of coordinates and a frame that the coordinates are relative to,
to accept a RelativeTo object instead of a frame.

Most of the patch is just dumb propagation, but the few places where
we use an explicit ViewportType::Visual are important. There are
probably a few other places I've overlooked, but this seems to cover
the important ones that come up commonly.

There are undoubtedly other functions into which we can propagate
RelativeTo, in this patch I've propagated it as far as necessary
for my needs in this bug (mainly GetTransformToAncestor() and
GetEventCoordinatesRelativeTo()).

Differential Revision: https://phabricator.services.mozilla.com/D68919
2020-04-28 01:40:35 +00:00
Botond Ballo 7fdd59addd Bug 1556556 - Add a "relative to layout viewport" option for display list building. r=mstange,mattwoodrow
Use it in document.elementFromPoint().

Differential Revision: https://phabricator.services.mozilla.com/D68914
2020-04-28 01:37:47 +00:00
Makoto Kato 4c21ee5564 Bug 1606885 - Add control+backspace/delete shortcut. r=geckoview-reviewers,snorp
According to [*1], Android's text control now supports ctrl+backspace and
ctrl+delete shortcut. So we should support it since Chrome already have this.

*1 f2b233d44c

Differential Revision: https://phabricator.services.mozilla.com/D71736
2020-04-21 14:55:16 +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