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

3879 Коммитов

Автор SHA1 Сообщение Дата
Johann Hofmann c710f7ef10 Bug 1666095 - Fix requireUserinteraction usage in DoScrollHistory. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D93421
2020-10-15 15:59:43 +00:00
Makoto Kato a01752f95a Bug 1658948 - Ace editor doesn't show software keyboard. r=masayuki
Actually software keyboard is opened by the following situations.
- Click event in editor
- Get new focus event.

Ace editor has small <textarea> element to handles some input events.
When clicking editable-like area (but this isn't ediable on Ace editor),
mousedown handler calls `event.preventDefault()` then set focus to
<textarea> element. So editor doesn't get click event and focus is still
keep in <textarea> element. At finally, we cannot open software keyboard
again since focus isn't changed.

So even if focus isn't changed, we should call SetInputContext to open
software keyboard.

Also, actually we doesn't have generic test code for notification of
software keyboard change (bug 1670539). I will add the test by bug 1670539.

Differential Revision: https://phabricator.services.mozilla.com/D93326
2020-10-14 02:27:22 +00:00
Gerald Squelart 2621d4cbf0 Bug 1640999 - Add `MarkerTypeDisplay` to all marker type definitions - r=gregtatum
Add `static mozilla::MarkerSchemaWriter MarkerTypeDisplay()` for each existing marker type.

Because all markers of a given type now must have the same payload and display schema, the DOM event marker has changed from type=tracing with category=DOMEvent, to its own type=DOMEvent, which is now accepted on the front-end.

Based on c9692715f2/src/profile-logic/marker-schema.js

Differential Revision: https://phabricator.services.mozilla.com/D90658
2020-10-14 02:11:25 +00:00
Masayuki Nakano 190b2c2740 Bug 1612802 - Make `IMEStateManager` stop notifying `PuppetWidget` of editor state changes while its `StopIMEStateManagement()` r=m_kato
Currently, `BrowserParent` rejects any notifications which come after
it blurs from IME focus.
https://searchfox.org/mozilla-central/rev/919607a3610222099fbfb0113c98b77888ebcbfb/dom/ipc/BrowserParent.cpp#2157,2169,2181,2192,2203,2216

But for saving unnecessary IPC messages, we should make `IMEStateManager` in
a content process stop sending notifications which occurs during its
`StopIMEStateManagement()` is called.

Differential Revision: https://phabricator.services.mozilla.com/D93176
2020-10-13 23:29:29 +00:00
Edgar Chen 07458c65e6 Bug 1670919 - Cleanup some code around nsIFormControl::GetFormElement; r=emilio
nsIFormControl::GetFormElement now returns HTMLFormElement*, we could remove
some type convertion.

Differential Revision: https://phabricator.services.mozilla.com/D93349
2020-10-13 15:15:57 +00:00
Emilio Cobos Álvarez c5baeaba64 Bug 1670316 - Undo full zoom in ShouldBlockCustomCursor. r=hiro
Full zoom in the child process won't be applied to the cursor rect, so
undo it before checking to consider the actual rect that will be used.

Differential Revision: https://phabricator.services.mozilla.com/D93329
2020-10-13 11:05:50 +00:00
Masayuki Nakano efdb198637 Bug 1539769 - Make `eSetSelection` event go to focused `BrowserParent` instead of `BrowserPargent` for focused content in the main process r=hsivonen
when there is no composition, `IMEStateManager::HandleSelectionEvent()` calls
`TextComposition::HandleSelectionEvent()` with `BrowserParent` which is
retrieved from `aEventTargetContent` which is focused content in the main
process.  This means that `eSetSelection` event is handled in root document
of the focused tab when there is no composition.  However, following composition
events will go to focused `BrowserParent`, i.e., if an OOP iframe has focus
in the tab, `eSetSelection` event won't be handled in it.  Therefore, IME
always fails to replace existing text with new composition.

This patch makes both `IMEStateManager::HandleSelectionEvent()` and
`PresShell::EventHandler::DispatchEventToDOM()` use
`IMEStateManager::GetActiveBrowserParent()` for sending both `eSetSelection`
and composition events to same process.  Additionally, this patch make
`IMEStateManager::GetActiveBrowserParent()` returns
`IMEStateManager::sFocusedIMEBrowserParent` when it's set to non-nullptr
because native IME tries to modify the editor which enabled IME context.

On the other hand, for making the behavior safer, we should make
`eCompositionStart` event have replacing range optionally.  I filed
bug 1669907 to change the design, but it requires several non-tiny patches.
Once we fix it, we can write automated tests for this simply, but without
the fix, I need to write too many lines with low level API, and it becomes
unnecessary after fixing the bug.  Therefore, I give up to write a test
for this for now.

Differential Revision: https://phabricator.services.mozilla.com/D93053
2020-10-09 07:01:20 +00:00
Masayuki Nakano 8c5fa85517 Bug 1668134 - part 1: Make `nsPIDOMWindowInner` have an API to know whether the window or its descendants has had `beforeinput` event listeners r=smaug
When `HTMLEditor` instances are destroyed, I'd like to collect how much
instances are worked with `beforeinput` event listeners.  Before adding such
telemetry probe, this patch adds methods to set/get whether a `beforeinput`
event listener has had added or not to `nsPIDOMWindowInner`.

Differential Revision: https://phabricator.services.mozilla.com/D92546
2020-10-08 02:25:35 +00:00
Masayuki Nakano 2fde14a338 Bug 1623918 - part 2: Mark `nsINode::GetSelectionRootContent()` and its root callers as `MOZ_CAN_RUN_SCRIPT` as far as possible r=smaug
This patch tries to mark root callers of `nsINode::GetSelectionRootContent()`
which calls `nsINode::GetAnonymousRootElementOfTextEditor()` as far as possible
(and reasonable).

It's used by `ContentEventHandler` so that a lot of methods of
`EventStateManager`, `ContentEventHandler`, `IMEContentObserver` which are main
users of it are also marked as `MOZ_CAN_RUN_SCRIPT`.  I think that this is
reasonable.

On the other hand, it might not be reasonable to mark `IMEStateManager` methods
as `MOZ_CAN_RUN_SCRIPT` for initializing `IMEContentObserver` because
`IMEStateManager` may be able to initialize `IMEContentObserver` asynchronously
and its root callers are in XUL layout code.  Therefore, this patch uses
`MOZ_CAN_RUN_SCRIPT_BOUNDARY` for `IMEStateManager` at least for now.

Differential Revision: https://phabricator.services.mozilla.com/D92730
2020-10-09 02:37:47 +00:00
Makoto Kato 578afbd850 Bug 1661617 - Use password hint for software keyboard. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D91237
2020-10-01 07:23:59 +00:00
Narcis Beleuzu c163b394ef Backed out 2 changesets (bug 1623918) for crashtest failure on 1623918.html CLOSED TREE
Backed out changeset 519ca1b069e5 (bug 1623918)
Backed out changeset d8a09a5fea47 (bug 1623918)
2020-10-08 12:06:58 +03:00
Masayuki Nakano da386ef224 Bug 1623918 - part 2: Mark `nsINode::GetSelectionRootContent()` and its root callers as `MOZ_CAN_RUN_SCRIPT` as far as possible r=smaug
This patch tries to mark root callers of `nsINode::GetSelectionRootContent()`
which calls `nsINode::GetAnonymousRootElementOfTextEditor()` as far as possible
(and reasonable).

It's used by `ContentEventHandler` so that a lot of methods of
`EventStateManager`, `ContentEventHandler`, `IMEContentObserver` which are main
users of it are also marked as `MOZ_CAN_RUN_SCRIPT`.  I think that this is
reasonable.

On the other hand, it might not be reasonable to mark `IMEStateManager` methods
as `MOZ_CAN_RUN_SCRIPT` for initializing `IMEContentObserver` because
`IMEStateManager` may be able to initialize `IMEContentObserver` asynchronously
and its root callers are in XUL layout code.  Therefore, this patch uses
`MOZ_CAN_RUN_SCRIPT_BOUNDARY` for `IMEStateManager` at least for now.

Differential Revision: https://phabricator.services.mozilla.com/D92730
2020-10-08 03:56:51 +00:00
Kartikaya Gupta 3c8d434ae6 Bug 1668870 - Ignore touch listeners in the system group for event retargeting. r=smaug
The audio/video controls element has touch listeners on the scrubber, which
steals events when we don't want it to. So let's ignore those listeners.

Ignoring system group listeners for the purposes of event retargeting seems
reasonable in the general case, because those listeners are coming from the
browser itself. If we're relying on the event retargeting to make those browser
elements easy to hit, then we should not be doing that and instead just make
them bigger.

Test coverage for this change is provided by the android-components tests that
failed in bug 1668112. The next patch re-enables touch event retargeting and
exercises this code in the context of those tests.

Depends on D92436

Differential Revision: https://phabricator.services.mozilla.com/D92437
2020-10-06 18:03:25 +00:00
Emilio Cobos Álvarez 4ad501e86f Bug 1666497 - Don't flush layout from popuppositioned events. r=mconley,Gijs,smaug
We don't need to flush before dispatching the event because we know that
if the values we cared about changed, then we'd get another event.

Differential Revision: https://phabricator.services.mozilla.com/D92444
2020-10-06 16:28:41 +00:00
Greg Tatum c8755d4217 Bug 1669266 - Upgrade the DOMEvent marker to not be of type "tracing" r=gerald
This is part of the Markers 2.0 work. This payload proved to be a bit ambiguous
when moving to the new marker schema, so it requires an upgrader.

The test is included as the following commit.

Differential Revision: https://phabricator.services.mozilla.com/D92456
2020-10-06 13:57:46 +00:00
Edgar Chen 53a7fb1fb0 Bug 1669197 - Use Element in PointerCaptureInfo; r=smaug
mPendingElement and mOverrideElement are always Element, we could just use
Element to make the code clear.

Differential Revision: https://phabricator.services.mozilla.com/D92433
2020-10-05 15:56:52 +00:00
Masayuki Nakano ec2e1c9705 Bug 1669133 - Get rid of pref to disable `text` event in the default group and telemetry for it r=smaug
The telemetry probe was added in bug 1506434, and it's not necessary anymore
because of the event in the default group was completely disabled in
bug 1288640 (Gecko 65).

Therefore, we can get rid of the pref, and we can take back a room for a
bool member in `nsPIDOMWindowInner` for new telemetry probes which need
to know whether a specific event listener has been added or not.

Depends on D92395

Differential Revision: https://phabricator.services.mozilla.com/D92397
2020-10-05 11:17:17 +00:00
longsonr 67be8b29cb Bug 1669161 - Remove dead SVG event code r=smaug
-  onSVGZoom is gone and we no longer dispatch it.
- we've never dispatched SVGUnload or SVGResize events and if we did implement these they would be unload and resize events now.

Differential Revision: https://phabricator.services.mozilla.com/D92381
2020-10-05 11:19:47 +00:00
Timothy Nikkel 223e9bb630 Bug 1667612. Factor waitToClearOutAnyPotentialScrolls out from various tests and put it in apz_test_utils.js. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D92318
2020-10-03 15:58:16 +00:00
Jonathan Kew 2655501b30 Bug 1665196 - Use the main-thread idle queue rather than a repeating timer to finalize font loading. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D92302
2020-10-03 16:03:54 +00:00
Edgar Chen a9816b2cdb Bug 1662094 - Remove test_pointerevent_setpointercapture_inactive_button_mouse-manual.html; r=smaug
After bug 1520785, we could pass the wpt one and could just remove this.

Depends on D90558

Differential Revision: https://phabricator.services.mozilla.com/D90559
2020-10-01 08:52:13 +00:00
Masayuki Nakano 68a5d8313d Bug 1609291 - Fix a simple bug of `test_dom_keyboard_event.html` r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D91860
2020-10-01 07:36:55 +00:00
Gerald Squelart 79c0e0c0ef Bug 1667915 - Marker type is now given as a reified empty argument instead of a template argument - r=gregtatum
This makes it clearer where marker-type-specific payload arguments start, just after the marker type object.

Also improved the main API documentation.

Differential Revision: https://phabricator.services.mozilla.com/D91681
2020-10-01 11:02:54 +00:00
Gerald Squelart ee701f64d7 Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 11:02:23 +00:00
Bogdan Tara ababae891b Backed out 2 changesets (bug 1667915) for platform related bustage CLOSED TREE
Backed out changeset e7a0788a1741 (bug 1667915)
Backed out changeset d34505b2d81b (bug 1667915)
2020-10-01 12:34:39 +03:00
Gerald Squelart 58ca6739aa Bug 1667915 - Marker type is now given as a reified empty argument instead of a template argument - r=gregtatum
This makes it clearer where marker-type-specific payload arguments start, just after the marker type object.

Also improved the main API documentation.

Differential Revision: https://phabricator.services.mozilla.com/D91681
2020-10-01 01:45:20 +00:00
Gerald Squelart e07ae06a1d Bug 1667915 - Separate marker category from marker options - r=gregtatum
The `category.WithOptions(...)` syntax was a bit strange and difficult to explain.

Now the category and options are separate parameters. Default options can be specified with `MarkerOptions{}` or just `{}`.

As a special case, defaulted-NoPayload functions don't need `<>`, and defaulted-NoPayload functions and macros don't even need `{}` for default options, e.g.:
`profiler_add_marker("name", OTHER); PROFILER_MARKER_UNTYPED("name", OTHER);`

Differential Revision: https://phabricator.services.mozilla.com/D91680
2020-10-01 01:44:47 +00:00
Bogdan Tara 222e4f64b7 Backed out 5 changesets (bug 1662094, bug 1666201, bug 1520785) for pointerevent related failures CLOSED TREE
Backed out changeset 0ff76cb4b991 (bug 1662094)
Backed out changeset 94bf1aff7bff (bug 1520785)
Backed out changeset 1688cdab3d48 (bug 1666201)
Backed out changeset e960f750c588 (bug 1666201)
Backed out changeset cb30150e8289 (bug 1666201)
2020-10-01 11:46:32 +03:00
Edgar Chen e38d2fea0d Bug 1662094 - Remove test_pointerevent_setpointercapture_inactive_button_mouse-manual.html; r=smaug
After bug 1520785, we could pass the wpt one and could just remove this.

Depends on D90558

Differential Revision: https://phabricator.services.mozilla.com/D90559
2020-09-30 21:18:23 +00:00
Edgar Chen 3af8ce6d7a Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-29 07:21:09 +00:00
Bogdan Tara 8f6c53bdf5 Backed out 9 changesets (bug 1667081) for assertion failure on nsFocusManager CLOSED TREE
Backed out changeset 156ab3eba505 (bug 1667081)
Backed out changeset 2e37f347082c (bug 1667081)
Backed out changeset 8f59cef879ae (bug 1667081)
Backed out changeset 1298ff140218 (bug 1667081)
Backed out changeset 91342c822425 (bug 1667081)
Backed out changeset aafb1878c590 (bug 1667081)
Backed out changeset 2252e975f0d7 (bug 1667081)
Backed out changeset c3bac5f407d2 (bug 1667081)
Backed out changeset b1e6e81396ae (bug 1667081)
2020-09-28 20:02:52 +03:00
Edgar Chen 6abd74544d Bug 1667081 - Part 1: Replace usage of nsIFocusManager with nsFocusManager; r=hsivonen
This patch is bascially done by:
perl -p -i -e "s/nsIFocusManager\* /nsFocusManager* /g;" $( find . -name *.cpp )
perl -p -i -e "s/nsCOMPtr<nsIFocusManager>/RefPtr<nsFocusManager>/g;" $( find . -name *.cpp )

Differential Revision: https://phabricator.services.mozilla.com/D91287
2020-09-28 14:04:12 +00:00
Timothy Nikkel f91399acba Bug 1667478. Fix dom/events/test/pointerevents/test_bug1303704.html to wait for scroll events properly. r=kats
This test is a little bit different but the same general principle applies as in the test fixes in

https://hg.mozilla.org/integration/autoland/rev/30cd33572b3d
and the followup fix to that
https://hg.mozilla.org/mozilla-central/rev/f51b6c3688a4

We also disable smooth scroll (all of the other previous tests fixed already had smooth scroll disabled) so we get one scroll instead of many small ones over time.

I didn't check that both of the two fixes are necessary or not.

Differential Revision: https://phabricator.services.mozilla.com/D91481
2020-09-26 20:19:21 +00:00
Botond Ballo 4e4819d795 Bug 1667594 - Avoid including nsLayoutUtils.h in nsIFrame.h. r=emilio
The only thing in nsIFrame.h that was using it was the implementation
of a templated method, which could be moved to nsIFrameInlines.h.

Depends on D91504

Differential Revision: https://phabricator.services.mozilla.com/D91505
2020-09-26 18:18:11 +00:00
Botond Ballo 1976364433 Bug 1667594 - Avoid including nsLayoutUtils.h from various headers. r=kats
This patch covers thw low-hanging fruit: headers that either don't use
nsLayoutUtils.h at all, or where only method implementations that can
easily be moved to the .cpp file use it.

Differential Revision: https://phabricator.services.mozilla.com/D91504
2020-09-26 17:55:00 +00:00
Simon Giesecke de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Anny Gakhokidze 5842740ef5 Bug 1666287 - Remove pref dom.datatransfer.mozAtAPIs and make relevant APIs ChromeOnly, r=nika
Make mozItemCount, mozTypesAt, mozClearDataAt, mozSetDataAt, mozGetDataAt
DataTransfer APIs ChromeOnly

Differential Revision: https://phabricator.services.mozilla.com/D91017
2020-09-22 16:16:29 +00:00
Makoto Kato e82e9e223d Bug 1425291 - Part 3. Add autocapitalize to InputContext. r=masayuki
Autocapitalize isn't applied if type is url, email or password. If these types,
truncate autocapitalize value in InputContext not to pass it to widget.

Differential Revision: https://phabricator.services.mozilla.com/D86676
2020-09-15 14:27:00 +00:00
Edgar Chen 8eda55142f Bug 1662587 - Make pointer lock fission compatible; r=smaug
Now requesting/releasing pointer lock in content process will send IPC to let
parent process know which content process request a lock, so parent process
could dispatch mouse event to the right content process. And if there is already
a content proess had a lock, parent process will reject lock request from other
content proesses.

Differential Revision: https://phabricator.services.mozilla.com/D90313
2020-09-21 11:01:27 +00:00
Narcis Beleuzu 1a447211aa Backed out changeset 12856303559f (bug 1662587) for mochitest crashes on test_pointerlock_xorigin_iframe.html 2020-09-21 04:07:59 +03:00
Edgar Chen de6c51cfb3 Bug 1662587 - Make pointer lock fission compatible; r=smaug
Now requesting/releasing pointer lock in content process will send IPC to let
parent process know which content process request a lock, so parent process
could dispatch mouse event to the right content process. And if there is already
a content proess had a lock, parent process will reject lock request from other
content proesses.

Differential Revision: https://phabricator.services.mozilla.com/D90313
2020-09-19 00:01:51 +00:00
Gerald Squelart a811180396 Bug 1664732 - Transition DOMEvent to markers 2.0 - r=gregtatum,smaug
There is only one call site, so I believe it's best to have the marker type there.
I think it's cleaner this way, this marker type doesn't need to be present in a header shared by all users of the profiler.

The only downside is that we cannot unit-test this particular marker type automatically anymore, but I don't think it's strictly needed:
- There are still plenty of tests checking that generic marker types work end-to-end, so we can have some confidence this specific one can do its job.
- If it somehow started to fail, either it would be quickly found that it breaks the front-end, or it wouldn't have any visible effect in which case it's not a big issue.
Follow-up bug 1665810 will instead add a higher-level xpcshell test or mochitest.

Differential Revision: https://phabricator.services.mozilla.com/D90185
2020-09-18 01:46:48 +00:00
Mirko Brodesser 9cef5fc518 Bug 1649121: part 89) Reference spec from `DataTransfer` class. r=masayuki
Clarifies the connection.

Depends on D90528

Differential Revision: https://phabricator.services.mozilla.com/D90529
2020-09-17 08:52:24 +00:00
Mirko Brodesser 60e705c860 Bug 1649121: part 88) Declare some methods around `DataTransfer` `const`. r=masayuki
Helps reasoning about them.

Differential Revision: https://phabricator.services.mozilla.com/D90528
2020-09-17 08:52:42 +00:00
Emilio Cobos Álvarez 948fa5c6d2 Bug 1664156 - Remove -moz-suppressed. r=edgar
Per spec we shouldn't behave differently depending on how we blocked the
image/object/etc.

This may have made sense in the past when ad blockers were implemented
via nsIContentPolicy, but I think nowadays it doesn't make sense, and
showing fallback is preferred.

There's a couple extra cleanups we can do after this lands, like
removing HTMLImageElement.imageBlockingStatus and simplifying a bit that
code. But I'll do that in a separate bug.

Differential Revision: https://phabricator.services.mozilla.com/D89912
2020-09-13 11:33:13 +00:00
Noemi Erli 733e3b440c Backed out changeset 64eb902728bc (bug 1664156) for causing mochitest failures in test_meta_csp_self.html CLOSED TREE 2020-09-12 22:56:18 +03:00
Emilio Cobos Álvarez 4b18c556e4 Bug 1664156 - Remove -moz-suppressed. r=edgar
Per spec we shouldn't behave differently depending on how we blocked the
image/object/etc.

This may have made sense in the past when ad blockers were implemented
via nsIContentPolicy, but I think nowadays it doesn't make sense, and
showing fallback is preferred.

There's a couple extra cleanups we can do after this lands, like
removing HTMLImageElement.imageBlockingStatus and simplifying a bit that
code. But I'll do that in a separate bug.

Differential Revision: https://phabricator.services.mozilla.com/D89912
2020-09-12 17:39:18 +00:00
Emilio Cobos Álvarez 1ef2a5628a Bug 1664432 - Remove -moz-user-disabled. r=edgar
We treat it exactly the same as -moz-broken. The pseudo-class is not
exposed to content, so I don't think we have a reason to keep it around.

Differential Revision: https://phabricator.services.mozilla.com/D89904
2020-09-11 19:26:40 +00:00
Kagami Sascha Rosylight 11ef0ef23e Bug 1623413 - Part 2: Rename Collapse() to CollapseInLimiter() r=masayuki
Depends on D88702

Differential Revision: https://phabricator.services.mozilla.com/D88920
2020-09-03 03:45:26 +00:00
Mihai Alexandru Michis 0600dacd03 Backed out 3 changesets (bug 1623413) for causing failures in Selection_collapse.html
CLOSED TREE

Backed out changeset d3d67293f115 (bug 1623413)
Backed out changeset 75ed1b8a5c67 (bug 1623413)
Backed out changeset 0eef32d6a454 (bug 1623413)
2020-09-03 05:37:49 +03:00
Kagami Sascha Rosylight 010d7de462 Bug 1623413 - Part 2: Rename Collapse() to CollapseInLimiter() r=masayuki
Depends on D88702

Differential Revision: https://phabricator.services.mozilla.com/D88920
2020-09-02 23:42:27 +00:00
Nathan Froyd cfb8fb313f Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg
This patch was generated by running:

```
perl -p -i \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
     $FILE
```

against every .cpp and .h in mozilla-central, and then fixing up the
inevitable errors that happen as a result of matching C++ expressions with
regexes.  The errors fell into three categories:

1. Calling the convert functions with `std::string::c_str()`; these were
   changed to simply pass the string instead, relying on implicit conversion
   to `mozilla::Span`.
2. Calling the convert functions with raw pointers, which is not permitted
   with the copy functions; these were changed to invoke `MakeStringSpan` first.
3. Other miscellaneous errors resulting from over-eager regexes and/or the
   replacement not being type-aware.  These changes were reverted.

Differential Revision: https://phabricator.services.mozilla.com/D88903
2020-09-02 09:54:37 +00:00
Henri Sivonen 2b250967a6 Bug 1661945 - Increase timeout for an intermittently timing out focus test. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88982
2020-09-01 13:30:18 +00:00
Henri Sivonen cc43c80fae Bug 1661628 - Disable unreliable OOP iframe focus test for Fission. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88529
2020-09-01 13:27:10 +00:00
Edgar Chen 2bc02df813 Bug 1662124 - Remove test_pointerevent_{setpointercapture/releasepointercapture}_invalid_pointerid-manual.html; r=smaug
They are not up-to-date and now we can pass the wpt one which is no longer a manual test.

Depends on D88859

Differential Revision: https://phabricator.services.mozilla.com/D88923
2020-09-01 08:46:33 +00:00
Edgar Chen 71cb06b861 Bug 1653949 - Part 5: Add tests; r=smaug
It is easy to hit bug 1659940 on test-verfiy, so skip it.

Differential Revision: https://phabricator.services.mozilla.com/D87277
2020-08-27 17:19:18 +00:00
Edgar Chen 85d4338685 Bug 1653949 - Part 3: Dispatch MouseExitFromWidget event with proper ExitFrom type based on the "direction" of movement; r=smaug
There are three cases,
- Move to inner OOP frame.
- Move to outer OOP frame.
- Move to an OOP frame that is in different sub-tree.

We could use common BrowserParent ancestor to determine which case is and
dispatch MouseExitFromWidget event with proper ExitFrom type.

Depends on D84748

Differential Revision: https://phabricator.services.mozilla.com/D84761
2020-08-29 21:11:41 +00:00
Edgar Chen 55691da377 Bug 1653949 - Part 2: Add ePuppet to WidgetMouseEvent::ExitFrom; r=smaug
eTopLevel is reused in content process to indicates that the mouse leaves
the puppet widget rendering area, now we add a separated type, ePuppet, for it.

Differential Revision: https://phabricator.services.mozilla.com/D84748
2020-08-27 17:19:14 +00:00
Edgar Chen 36ccda1d13 Bug 1653949 - Part 1: Change mExitFrom in WidgetMouseEvent to be Maybe<ExitFrom>; r=smaug
mExitFrom now contains a value only when mMessage is eMouseExitFromWidget

Differential Revision: https://phabricator.services.mozilla.com/D88225
2020-08-27 17:19:03 +00:00
Anny Gakhokidze 836a19584f Bug 1589102 - Part 15: Make test_continuous_wheel_events.html wait for load event, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88229
2020-08-28 17:21:29 +00:00
Anny Gakhokidze 19d0babe24 Bug 1589102 - Part 2: Fix tests that were broken as a result of about:srcdoc going via DocumentChannel, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85080
2020-08-28 17:20:33 +00:00
Cosmin Sabou 403893bc7e Backed out 5 changesets (bug 1653949) for assertion failures on EventStateManager.cpp. CLOSED TREE
Backed out changeset ad7c35ab2a40 (bug 1653949)
Backed out changeset 31cb90ef998a (bug 1653949)
Backed out changeset 03e65cbd2a11 (bug 1653949)
Backed out changeset a87ac2a7db70 (bug 1653949)
Backed out changeset 390dd2c04cd4 (bug 1653949)
2020-08-27 20:13:20 +03:00
Edgar Chen 504e107a12 Bug 1653949 - Part 5: Add tests; r=smaug
It is easy to hit bug 1659940 on test-verfiy, so skip it.

Differential Revision: https://phabricator.services.mozilla.com/D87277
2020-08-25 23:27:29 +00:00
Edgar Chen bbb093555e Bug 1653949 - Part 3: Dispatch MouseExitFromWidget event with proper ExitFrom type based on the "direction" of movement; r=smaug
There are three cases,
- Move to inner OOP frame.
- Move to outer OOP frame.
- Move to an OOP frame that is in different sub-tree.

We could use common BrowserParent ancestor to determine which case is and
dispatch MouseExitFromWidget event with proper ExitFrom type.

Differential Revision: https://phabricator.services.mozilla.com/D84761
2020-08-27 11:48:30 +00:00
Edgar Chen c4125fd9d4 Bug 1653949 - Part 2: Add ePuppet to WidgetMouseEvent::ExitFrom; r=smaug
eTopLevel is reused in content process to indicates that the mouse leaves
the puppet widget rendering area, now we add a separated type, ePuppet, for it.

Differential Revision: https://phabricator.services.mozilla.com/D84748
2020-08-26 20:31:46 +00:00
Edgar Chen 363e80d673 Bug 1653949 - Part 1: Change mExitFrom in WidgetMouseEvent to be Maybe<ExitFrom>; r=smaug
mExitFrom now contains a value only when mMessage is eMouseExitFromWidget

Differential Revision: https://phabricator.services.mozilla.com/D88225
2020-08-26 14:19:46 +00:00
Henri Sivonen 1d5044a238 Bug 1653160 test - Test clicking and already-focused OOP iframe and test moving focus between nested OOP iframes. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D88039
2020-08-26 16:13:13 +00:00
Botond Ballo eff3b083d0 Bug 1659642 - Split out a new file APZPublicUtils.h from APZUtils.h. r=kats
By moving the few things that need to be exposed to other components
to APZPublicUtils.h, APZUtils.h becomes much less widely included
(and thus changing it triggers a quicker recompile) while retaining
most of its utilities.

Differential Revision: https://phabricator.services.mozilla.com/D87404
2020-08-19 00:51:46 +00:00
Edgar Chen 7c831f9dee Bug 1659494 - Make test_getCoalescedEvents.html pass with cross-origin and Fission enabled; r=smaug
synthesizeNativeMouseEvent in apz_test_native_event_utils.js doesn't work on xorigin tests give that it would try to access window.top which is a cross-origin window.

Differential Revision: https://phabricator.services.mozilla.com/D87350
2020-08-18 22:58:13 +00:00
Andreas Farre 1e2f56ddf1 Bug 1658936 - Remove fail-if for pointerevents/test_trigger_popup_by_pointer_events.html r=smacleod
Differential Revision: https://phabricator.services.mozilla.com/D86975
2020-08-18 21:54:47 +00:00
Edgar Chen dbae250a0f Bug 1659221 - Make test_bug967796.html pass with cross-origin and Fission enabled; r=smaug
Wait for iframe loaded before starting the tests, otherwise, the `synthesizeMouse` might fail due to `nsPresShell` isn't yet finishing initializing and `nsPresShell::GetRootFrame` would returns `nullptr`.

Differential Revision: https://phabricator.services.mozilla.com/D87201
2020-08-18 18:12:45 +00:00
Kagami Sascha Rosylight 85af441835 Bug 1659231 - Treat defaultPrevented events as consumed r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D87171
2020-08-18 10:39:41 +00:00
Sean Feng 85bfe3d376 Bug 1200896 - Make the document blocked by the topmost element in the top layer r=emilio
Spec: https://html.spec.whatwg.org/multipage/#blocked-by-a-modal-dialog

Depends on D86392

Differential Revision: https://phabricator.services.mozilla.com/D86227
2020-08-17 15:41:19 +00:00
Kartikaya Gupta d55cee3273 Bug 1658927 - Apply the layout-to-visual transform for querying the text rects too. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D86984
2020-08-15 00:43:59 +00:00
Timothy Nikkel 89a79d6e8e Bug 1619186 - Apply the layout-to-visual transform when querying text/caret rects. r=masayuki,botond
Differential Revision: https://phabricator.services.mozilla.com/D86983
2020-08-15 00:43:51 +00:00
Kartikaya Gupta b338f85d46 Bug 1619186 - Refactoring to avoid use FromUnknownRect. r=masayuki
No functional changes, just some cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D86982
2020-08-14 04:15:19 +00:00
Edgar Chen 6256b5b4f1 Bug 1653457 - Enable dom/events/test/test_bug1581192.html on fission and cross-origin; r=smaug DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D87066
2020-08-14 14:14:32 +00:00
Edgar Chen a491e273c6 Bug 1653457 - Enable dom/events/test/pointerevents/test_touch_action.html on fission and cross-origin; r=smaug DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D87065
2020-08-14 14:08:22 +00:00
Mihai Alexandru Michis fc1c9759fc Backed out 3 changesets (Bug 1200896) for causing Bug 1659042.
CLOSED TREE

Backed out changeset 17df14f0b129 (bug 1200896)
Backed out changeset 5d9e9bd12cd2 (bug 1200896)
Backed out changeset 7f016de8d52f (bug 1200896)
2020-08-14 09:06:45 +03:00
Sean Feng 3f16476b10 Bug 1200896 - Make the document blocked by the topmost element in the top layer r=emilio
Spec: https://html.spec.whatwg.org/multipage/#blocked-by-a-modal-dialog

Differential Revision: https://phabricator.services.mozilla.com/D86227
2020-08-13 19:05:37 +00:00
Kartikaya Gupta 2f364e8197 Bug 1645085 - Remove the WHEEL_ACTION and WHEEL_INDEX telemetry probes. r=smaug
This is pretty much a backout of bug 1638314. The probes have served their
purpose and there's no need to renew them, so we can just remove them.

Differential Revision: https://phabricator.services.mozilla.com/D86838
2020-08-12 17:44:04 +00:00
Andreas Farre 41927645ef Bug 1646539 - Part 3: Update test to work with xorigin popup blocking. r=smaug
Changing popup permissions now need to synchronize across
participating content processes before becoming active.

Differential Revision: https://phabricator.services.mozilla.com/D86808
2020-08-12 15:38:19 +00:00
Edgar Chen ad6affb211 Bug 1658176 - Make mochitest tests with xorigin and fission enabled report assertion properly; r=kmag DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D86516
2020-08-10 20:48:13 +00:00
Razvan Maries 0dc0ced176 Backed out 2 changesets (bug 1200896) for perma failures on browser_pioneer_ui.js. CLOSED TREE
Backed out changeset c7ae88fd1bd7 (bug 1200896)
Backed out changeset 8b57f059e63e (bug 1200896)
2020-08-10 23:08:04 +03:00
Sean Feng 17473c0717 Bug 1200896 - Make the document blocked by the topmost element in the top layer r=emilio
Spec: https://html.spec.whatwg.org/multipage/#blocked-by-a-modal-dialog

Differential Revision: https://phabricator.services.mozilla.com/D86227
2020-08-10 18:20:51 +00:00
Edgar Chen b3da450234 Bug 1653457 - Enable dom/events/test/test_bug741666.html on fission and cross-origin; r=smaug DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D86362
2020-08-07 19:45:44 +00:00
Edgar Chen d0ee1cf658 Bug 1657761 - Remove pointerevent_on_event_handlers.html; r=smaug DONTBUILD
I guess this was mis-synced from wpt in bug 1338057.
It isn't used in mochitest and upstream does run the test,
https://wpt.fyi/results/pointerevents/pointerevent_on_event_handlers.html?label=experimental&label=master&aligned.

Differential Revision: https://phabricator.services.mozilla.com/D86279
2020-08-07 10:18:20 +00:00
Simon Giesecke 1e02318b49 Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83817
2020-08-07 07:49:47 +00:00
Butkovits Atila 3bd0e5497c Backed out 10 changesets (bug 1589102) for failure at browser_saveHeapSnapshot_e10s_01.js CLOSED TREE
Backed out changeset 0d22ad297b19 (bug 1589102)
Backed out changeset 14bcaf2a452c (bug 1589102)
Backed out changeset 20905f91e2bb (bug 1589102)
Backed out changeset 29ee0fbe855f (bug 1589102)
Backed out changeset d1f6185030af (bug 1589102)
Backed out changeset 31949872cc1d (bug 1589102)
Backed out changeset ec04e1a20597 (bug 1589102)
Backed out changeset ffe8da473b91 (bug 1589102)
Backed out changeset 3b92f7306c64 (bug 1589102)
Backed out changeset b187548e258f (bug 1589102)
2020-08-05 21:47:50 +03:00
Anny Gakhokidze 05b0ef78c2 Bug 1589102 - Part 2: Fix tests that were broken as a result of about:srcdoc going via DocumentChannel, r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D85080
2020-08-05 16:44:04 +00:00
Simon Giesecke 1e6ec7ec86 Bug 1656117 - Reduce include dependencies on nsRefreshDriver.h. r=mstange
The abstract observer base classes are moved to a separate header file
nsRefreshObservers.h and the includes are adjusted accordingly.

Some method implementations are moved to the corresponding implementation files
to avoid the need to include the nsRefreshDriver.h file in the header.

Differential Revision: https://phabricator.services.mozilla.com/D85764
2020-08-04 21:17:50 +00:00
Mats Palmgren 03f9403679 Bug 1656786 - Make <select> list have 'overflow:auto' by default to indicate its scrollable. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D85874
2020-08-04 14:33:46 +00:00
Simon Giesecke 96f3e7e019 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-04 11:27:07 +00:00
Noemi Erli 381fca9783 Backed out 4 changesets (bug 1654992, bug 1654991) for causing timeous in mask-opacity-1e.html
Backed out changeset 11f0f54c6e0a (bug 1654992)
Backed out changeset a353dd5b3f08 (bug 1654991)
Backed out changeset 6a7964ba549f (bug 1654991)
Backed out changeset cf3bfb91d98c (bug 1654991)
2020-08-03 22:09:36 +03:00
Simon Giesecke 032d2ac9d3 Bug 1654992 - Use std::move instead of SwapElements where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84807
2020-08-03 14:54:18 +00:00
Makoto Kato af8450a188 Bug 1654146 - Clean up InputContext logging. r=masayuki
Actually, altough TSF and IMEStateManager have the logging for InputContext,
I would like to use common logging code using `ToString.h`.

Differential Revision: https://phabricator.services.mozilla.com/D84287
2020-07-21 08:12:04 +00:00
Alexander Surkov 305d2fd10d Bug 921504 - implement -moz-inert CSS property r=emilio
-moz-inert CSS property reflects inert subtrees concept and can be used to implement HTML:dialog element and HTML:inert attribute

Differential Revision: https://phabricator.services.mozilla.com/D81701
2020-07-26 21:30:56 +00:00
tkhan e778811453 Bug 1653400 - Add xorigin and fission annotations, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D84006
2020-07-23 18:05:05 +00:00
Narcis Beleuzu 37cb83a398 Backed out 2 changesets (bug 921504) for wpt failures on inert-retargeting-iframe.tentative.html . CLOSED TREE
Backed out changeset 8b75cd744e80 (bug 921504)
Backed out changeset a56b2d354613 (bug 921504)
2020-07-22 23:53:55 +03:00
Alexander Surkov 1c382cad65 Bug 921504 - implement HTML:inert r=emilio,heycam
Differential Revision: https://phabricator.services.mozilla.com/D81701
2020-07-22 04:26:08 +00:00
Simon Giesecke e443211b53 Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D83771
2020-07-22 15:12:10 +00:00
Narcis Beleuzu 0ac1595a1a Backed out 2 changesets (bug 921504) for mochitest failures on test_animation-type-longhand.html . CLOSED TREE
Backed out changeset e87edffd46b9 (bug 921504)
Backed out changeset eb53880e5f0e (bug 921504)
2020-07-20 17:37:32 +03:00
Alexander Surkov cf6cccf0ef Bug 921504 - implement HTML:inert r=emilio,heycam
Differential Revision: https://phabricator.services.mozilla.com/D81701
2020-07-20 04:22:36 +00:00
Cameron McCormack dd61f595eb Bug 1620467 - Part 4: Change internal uses of -moz-appearance to appearance and -moz-default-appearance. r=emilio,webcompat-reviewers,geckoview-reviewers,preferences-reviewers,ntim,agi,miketaylr
Uses of `-moz-appearance: none` are changed to `appearance: none`.

Uses of other values that are simply reverting the appearance back to
its default are changed to `appearance: auto`.

Uses of values in UA sheets that are defining the inherent appearance of
widgets are changed to:

  appearance: auto;
  -moz-default-appearance: <value>;

since those values are either no longer supported on (-moz-)appearance,
or are still supported but only in some limited form.

There are some uses of `-moz-appearance: textfield` on <input
type=number> elements that are renamed to `appearance: textfield`.

Differential Revision: https://phabricator.services.mozilla.com/D83430
2020-07-16 22:04:14 +00:00
Simon Giesecke 96fb649d21 Bug 1652017 - Remove unnecessary includes for expensive nsIFrame.h. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D83111
2020-07-15 13:44:39 +00:00
Simon Giesecke 4792d7c14e Bug 1651931 - Remove unnecessary includes from ContentChild.h. r=nika
Before these changes, ContentChild.h was the #9 most expensive header to include:
217505 ms: /home/simon/work/fuzzy/obj-x86_64-pc-linux-gnu-optimized/dist/include/mozilla/dom/ContentChild.h (included 105 times, avg 2071 ms)

After these changes, it is no longer among the top 30 most expensive headers.

Some missing includes in other files are added along.

Differential Revision: https://phabricator.services.mozilla.com/D83049
2020-07-15 12:45:10 +00:00
tkhan 75ea54bf01 Bug 1650919 - Adding manifest annotations for xorigin test harness. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D82763
2020-07-13 20:34:46 +00:00
Bogdan Tara 6faddf7d8f Backed out changeset 1a0f002865d3 (bug 1650919) for test_deprecated.html failures CLOSED TREE 2020-07-13 19:22:21 +03:00
tkhan e50031dfc7 Bug 1650919 - Adding manifest annotations for xorigin test harness. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D82763
2020-07-13 13:01:43 +00:00
longsonr c2fc063be0 Bug 1652254 - Remove svg from some moz.build local includes r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D83247
2020-07-12 16:38:26 +00:00
Masayuki Nakano ab1d1d9708 Bug 1649980 - part 7: Redesign `WSRunObject::MaybeReplaceInclusiveNextNBSPWithASCIIWhiteSpace()` r=m_kato
Same as the previous patch, it can be split to computation part and
modifying the DOM tree part.  Then, the former can be in `TextFragmentData`
and the latter can be done by the caller which is only
`WSRunObject::InsertText()`.

Depends on D82699

Differential Revision: https://phabricator.services.mozilla.com/D82700
2020-07-13 08:31:51 +00:00
Hiroyuki Ikezoe 2e4ceac41e Bug 1525561 - Rename nsPresContext::GetToplevelContentDocumentPresContext to GetInProcessRootContentDocumentPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D82812
2020-07-09 01:58:59 +00:00
Cameron McCormack c7b8a0ec83 Bug 1650715 - Make image-orientation apply to all CSS images associated with an element. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D82471
2020-07-08 23:51:15 +00:00
Simon Giesecke e3c223da3e Bug 1648010 - Fix uses of NS_LITERAL_STRING with C string literals. r=geckoview-reviewers,agi,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80861
2020-07-01 08:34:12 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Makoto Kato 3af99207da Bug 1490661 - Part 4. Split next action hint with next and maybenext. r=masayuki
Current implementation of Blink and WebKit is that enter key is dispatched
even if `enterkeyhint` is `next`. If no enterkeyhint, Gecko and Blink infer
this type from `<form>` and `<input>` element.

If this key is set as "next" by inference, Blink doesn't dispatch key event
then sets focus to next element, and Gecko dispatches `Tab` key to set focus
to next element.

So if action hint is "next" by inference, we would like to change to another
type "maybenext".

Differential Revision: https://phabricator.services.mozilla.com/D79645
2020-06-23 06:37:58 +00:00
Makoto Kato 6f7d15e2e1 Bug 1490661 - Part 3. InputContext should reference enterkeyhint attribute for action hint. r=masayuki
Set enterkeyhint to `InputContext.mActionHint`. Although it is used by
`moz_action` attribute, enterkeyhint is standardized version of this.

New logic is the following.

1. Read `enterkeyhint` that is from editing host
2. Read `moz_action` on `<input>` element  if no `enterkeyhint`
3. If both is nothing, we infer this value from the `<form>`.

Differential Revision: https://phabricator.services.mozilla.com/D79644
2020-06-23 06:37:50 +00:00
Kagami Sascha Rosylight 994a3b64f9 Bug 1643464 - Part 2: Rename eLeft/eRightFlag to ePrimary/eSecondaryFlag r=masayuki,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D80332
2020-06-22 22:54:07 +00:00
Kagami Sascha Rosylight 166f2891a2 Bug 1643464 - Part 1: Rename eLeft/eRight to ePrimary/eSecondary r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D80331
2020-06-19 18:02:41 +00:00
tkhan 6ccabd4784 Bug 1602668 - M(1) manifest and test changes. r=kmag,karlt,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70362
2020-06-22 19:09:49 +00:00
Emilio Cobos Álvarez b9b9e38dd9 Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame
This avoids arbitrary precision loss when computing REM units and so on,
which is particularly important if we ever change the base of our app
units (but useful regardless).

Differential Revision: https://phabricator.services.mozilla.com/D79928
2020-06-22 09:45:40 +00:00
Simon Giesecke 8d168248fa Bug 1645386 - Use nsTObserverArray::NonObservingRange where possible instead of ForwardRange. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79507
2020-06-22 08:21:24 +00:00
Simon Giesecke 3a2ac50dc4 Bug 1645360 - Rename RemoveElementsBy to NonObservingRemoveElementsBy. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79488
2020-06-22 08:20:57 +00:00
Edgar Chen b6eacb66b2 Bug 1635784 - Part 4: Should always allow a remote target to update cursor when mouse is over it; r=smaug
regardless of what the previous remote target is.

Differential Revision: https://phabricator.services.mozilla.com/D80094
2020-06-18 23:10:28 +00:00
Edgar Chen f81e0ae72b Bug 1635784 - Part 2: Do not update cursor if mouse is over a remote target in content process; r=smaug
Content process could also contain a remote target after fission, we need to do
same check in content process, like what we do in parent process for e10s.

Depends on D79441

Differential Revision: https://phabricator.services.mozilla.com/D79917
2020-06-18 20:43:52 +00:00
Edgar Chen 4d53288bec Bug 1635784 - Part 1: IsRemoteTarget should take fission OOP iframe into account; r=smaug
And add IsTopLevelRemoteTarget for the original usage.

Differential Revision: https://phabricator.services.mozilla.com/D79441
2020-06-18 20:38:34 +00:00
Cosmin Sabou 65d75a47f3 Backed out changeset 299e19193e11 (bug 1646224) for causing font related failures. CLOSED TREE 2020-06-18 18:26:51 +03:00
Emilio Cobos Álvarez 090e3d2409 Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame
This avoids arbitrary precision loss when computing REM units and so on,
which is particularly important if we ever change the base of our app
units (but useful regardless).

Differential Revision: https://phabricator.services.mozilla.com/D79928
2020-06-18 13:55:03 +00:00
Kris Maglione 3bda67deab 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-17 17:17:16 +00:00
Simon Giesecke 285eb33a09 Bug 1645339 - Use range-based for with nsTObserverArray in dom/events. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D79501
2020-06-16 10:15:22 +00:00
Emilio Cobos Álvarez ef3d21048d Bug 1640623 - Use enum classes for LookAndFeel int and float IDs. r=jmathies,geckoview-reviewers,esawin
Differential Revision: https://phabricator.services.mozilla.com/D76694
2020-06-11 11:27:43 +00:00
Simon Giesecke 82dc9b2271 Bug 1642949 - Replace uses of RemoveElementAt by RemoveLastElement/PopLastElement where possible. r=necko-reviewers,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78027
2020-06-10 10:46:14 +00:00
Butkovits Atila e3dce68834 Backed out 3 changesets (bug 1643289, bug 1642949) for causing failure at test_headless_screenshot.html. CLOSED TREE
Backed out changeset 98c420f73380 (bug 1643289)
Backed out changeset 9447ea8910aa (bug 1643289)
Backed out changeset 0c827da9d847 (bug 1642949)
2020-06-10 10:07:23 +03:00
Simon Giesecke d419f0ff08 Bug 1642949 - Replace uses of RemoveElementAt by RemoveLastElement/PopLastElement where possible. r=necko-reviewers,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78027
2020-06-10 05:49:28 +00:00
Edgar Chen 8556592e77 Bug 1639368 - Restore `mCurrentTarget` after handling drag gesture; r=smaug
otherwise, generated mouseenter event might be dispatched to a wrong target.

Differential Revision: https://phabricator.services.mozilla.com/D75983
2020-06-09 15:39:54 +00:00
Alexis Beingessner cc942b6af6 Bug 1642344 - convert EventStateManager VarCache prefs to StaticPrefs. r=KrisWright,masayuki
converts:
* plugin.mousewheel.enabled
* mousewheel.autodir.enabled
* mousewheel.autodir.honourroot
* accessibility.accesskeycausesactivation
* ui.click_hold_context_menus

Differential Revision: https://phabricator.services.mozilla.com/D77849
2020-06-09 14:45:42 +00:00
Johann Hofmann 2133bb8e2c Bug 1515073 - Part 2 - Allow nsIWebNavigation::{goBack,goForward} to skip entries without user interaction. r=Gijs,peterv
Depends on D27585

Differential Revision: https://phabricator.services.mozilla.com/D27586
2020-06-09 14:50:14 +00:00
Olli Pettay d067c51862 Bug 1520404, try to avoid racyness in test_bug1303704.html, r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D78481
2020-06-08 11:43:13 +00:00
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
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
Jon Coppeard e8f20aa073 Bug 1629843 - Mark XMLHttpRequestMainThread and CustomEvent classes as containing pointers to JS GC things in multiple zones r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D70901

--HG--
extra : moz-landing-system : lando
2020-04-14 16:28:29 +00:00
Emilio Cobos Álvarez 142b7d3c57 Bug 1629096 - Always honor scroll-margin / scroll-padding from nsFocusManager. r=masayuki
We should always do this, otherwise stuff may not end up being visible which is
not acceptable for focus navigation.

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

--HG--
extra : moz-landing-system : lando
2020-04-13 11:34:48 +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
Tom Tung 3d9adc5e80 Bug 1586761 - P4 - Use new methods in dom/file and dom/events; r=baku
For the usecases in dom/file, I'm not so sure how to get the global at
callsites, so I let aIsSystemPrincipal and aCrossOriginIsolated to be false for
now.

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

--HG--
extra : moz-landing-system : lando
2020-03-25 14:14:37 +00:00
Andreas Farre 9e36af2ab6 Bug 1620594 - Part 3: Use default target for timers using SystemGroup. r=nika
Depends on D67632

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:46 +00:00
Makoto Kato 9db27b76b5 Bug 1424284 - Part 3. mHTMLInputType should set valid value. r=masayuki
Actually, current code gets type attribute by `GetAttr`, But this cannot get
valid value. If no type attribute, `mHTMLInputType` will be empty. So if type
has invalid value, we should return `text` value instead.

Depends on D69349

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

--HG--
extra : moz-landing-system : lando
2020-04-07 08:37:44 +00:00
Makoto Kato 9151f36c46 Bug 1424284 - Part 2. Expose inputmode even if not input element. r=masayuki
Actually inputmode attribute exposes <input> element only, current WHATWG spec
allows all HTML element. So inputmode in input context should be always set.

Also, if using contenteditable, this attribute is only used on editing host when
using other browsers (Blink and Webkit). It is
https://github.com/whatwg/html/issues/5322.

Depends on D69348

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

--HG--
extra : moz-landing-system : lando
2020-04-07 08:37:35 +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
Eric Rahm 974d76acac Bug 1626438 - Remove nsAutoPtr usage from dom/events. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D69108

--HG--
extra : moz-landing-system : lando
2020-04-03 21:05:07 +00:00
Cameron McCormack de27b9bf00 Bug 1625797 - Replace RasterImage nsIProperties impl with accessors for hotspot coordinate. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D68737

--HG--
extra : moz-landing-system : lando
2020-03-31 21:16:39 +00:00