Commit Graph

601 Commits

Author SHA1 Message Date
Kagami Sascha Rosylight
9fc6449e98 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
413c249077 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
Emilio Cobos Álvarez
f998ecc386 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
Alexis Beingessner
cfc06af6a1 Bug 1642344 - convert HTMLInputElement VarCache prefs to StaticPrefs. r=geckoview-reviewers,agi.
converts:
* dom.experimental_forms
* dom.forms.datetime.others
* dom.forms.color

Differential Revision: https://phabricator.services.mozilla.com/D77850
2020-06-09 14:45:50 +00:00
Emilio Cobos Álvarez
03cfd95496 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
Emilio Cobos Álvarez
b1fc84a629 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
fa2644fb5c Bug 1637335 - Make MozEditableElement.editor flush frames if needed. r=smaug
URLBarInput relies on it being non-null when created, but that may not
happen if we construct frames lazily without this patch.

Differential Revision: https://phabricator.services.mozilla.com/D74891
2020-05-12 22:32:18 +00:00
sefeng
a6f4e1f142 Bug 1557303 - Implement form[method="dialog"] r=smaug
Spec: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#submit-dialog

Differential Revision: https://phabricator.services.mozilla.com/D73364
2020-05-11 22:56:13 +00:00
sanketh
c8a0829e08 Bug 1635224 - Preserve mLastValueChangeWasInteractive between SaveState and RestoreState r=emilio,masayuki
Modify PresState's string variant to also store whether the last change was
interactive, and preserve that property when saving and restoring state.

Differential Revision: https://phabricator.services.mozilla.com/D73920
2020-05-08 15:15:04 +00:00
Simon Giesecke
c60d689f7c Bug 1626570 - Improve handling of copying arrays in dom/html/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D73647
2020-05-07 08:09:51 +00:00
Timothy Gu
ea6c1fcd3f Bug 1628500 - Remove aIgnoreTabindex argument from Element::IsInteractiveHTMLContent(). r=edgar
This argument is set to true everywhere, and soon HTML will no longer consider
tabindex for interactive content: https://github.com/whatwg/html/pull/5457.

Differential Revision: https://phabricator.services.mozilla.com/D72568
2020-04-28 11:22:32 +00:00
Eames
4e095a9844 Bug 1622659 - Removed 'else' after 'return' in HTMLInputElement - r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D71177
2020-04-16 13:25:18 +00:00
Makoto Kato
3be9f0b6d9 Bug 1424284 - Part 1. Add inputmode to HTMLElement. r=smaug,jdai
`inputmode` attribute controls software keyboard layout like `<input type>`.
Originally this was by B2G (bug 746142) and for `<input>` element only.

WHATWG spec allows this attribute for HTML element and WebKit and Blink have
already implemented this.

Differential Revision: https://phabricator.services.mozilla.com/D69348
2020-04-07 08:37:25 +00:00
Eric Rahm
54d71f5beb Bug 1626436 - Remove nsAutoPtr usage from dom/html. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D69106
2020-04-03 21:04:59 +00:00
Emilio Cobos Álvarez
c2425f96ba Bug 1622221 - Rework number input localization. r=jwatt
This restores our previous behavior with the new <input type=number>
implementation (see the changes in test_input_number_l10n.html, which undoes the
changes of the regressing bug), and adds a test that shows that we display the
localized value properly.

Differential Revision: https://phabricator.services.mozilla.com/D66822
2020-03-23 09:36:52 +00:00
Emilio Cobos Álvarez
b9ac81d824 Bug 253870 - Make disabled form controls selectable. r=masayuki,MarcoZ
This rejiggers a bit the way selection focus is handled so that focusing a
disabled form control with the mouse handles selection properly, and hides the
document selection and so on.

This matches the behavior of other browsers as far as I can tell.

Given now readonly and disabled editors behave the same, we can simplify a bit
the surrounding editor code.

Differential Revision: https://phabricator.services.mozilla.com/D66464
2020-03-19 13:18:16 +00:00
Sean Feng
e2b8b11349 Bug 1377999 - Make HTML Element to adapt the DOMArena changes r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D57699
2020-03-17 14:53:08 +00:00
Mihai Alexandru Michis
1e7b7fcd8b Backed out changeset 9eeee9ec66d9 (bug 253870) for causing failures in browser_bug1261299.js
CLOSED TREE
2020-03-16 22:32:41 +02:00
Emilio Cobos Álvarez
b99995f100 Bug 253870 - Make disabled form controls selectable. r=masayuki,MarcoZ
This rejiggers a bit the way selection focus is handled so that focusing a
disabled form control with the mouse handles selection properly, and hides the
document selection and so on.

This matches the behavior of other browsers as far as I can tell.

Given now readonly and disabled editors behave the same, we can simplify a bit
the surrounding editor code.

Differential Revision: https://phabricator.services.mozilla.com/D66464
2020-03-16 17:41:07 +00:00
Emilio Cobos Álvarez
e578b2da67 Bug 1620778 - Fix interaction of up/down keys with autocomplete and <input type=number>. r=masayuki,smaug
Differential Revision: https://phabricator.services.mozilla.com/D66011
2020-03-16 15:50:31 +00:00
Ciure Andrei
48da06cc68 Backed out 2 changesets (bug 1620778) for causing test_autocomplete_mac_caret.xhtml failures
Backed out changeset 66f97d1cf94a (bug 1620778)
Backed out changeset eda75d901f4c (bug 1620778)
2020-03-15 16:04:36 +02:00
Emilio Cobos Álvarez
d3ed4b69b7 Bug 1620778 - Fix interaction of up/down keys with autocomplete and <input type=number>. r=masayuki,smaug
Differential Revision: https://phabricator.services.mozilla.com/D66011
2020-03-15 12:11:09 +00:00
Emilio Cobos Álvarez
26fe428642 Bug 1621273 - Value attribute changes can affect step validity even if the input value doesn't change. r=smaug
If the actual input value didn't change, we'd skip updating form validity, but
that's not always correct because GetStepBase() depends on the value attribute.

Differential Revision: https://phabricator.services.mozilla.com/D66836
2020-03-13 21:59:27 +00:00
Emilio Cobos Álvarez
7ff0856a8d Bug 1401657 - Make editor value changes always notify. r=masayuki
Not doing so is unsound in some cases, see the two referenced bugs.

Differential Revision: https://phabricator.services.mozilla.com/D66697
2020-03-13 02:29:48 +00:00
Bogdan Tara
5e7e742b42 Backed out changeset 00ab51ea2723 (bug 1620778) for test_autocomplete_mac_caret.xhtml failures CLOSED TREE 2020-03-10 12:24:48 +02:00
Emilio Cobos Álvarez
544cca1b7b Bug 1620778 - Fix interaction of up/down keys with autocomplete and <input type=number>. r=masayuki,smaug
Differential Revision: https://phabricator.services.mozilla.com/D66011
2020-03-10 02:44:44 +00:00
Hiroyuki Ikezoe
2d22607052 Bug 1620867 - Move all InputTypes into mozilla::dom namespace. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65918
2020-03-10 01:12:26 +00:00
Boris Zbarsky
e62a6fc4d1 Bug 1619112 part 2. Pass char literals instead of char16_t literals into ErrorResult throwing methods. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65538
2020-03-06 21:04:58 +00:00
Jonathan Watt
b45f27664f Bug 1509527 - Update the values supported by our 'inputmode' implementation. r=m_kato
Updated version of https://phabricator.services.mozilla.com/D12774, because jwatt seems to be busy.

Differential Revision: https://phabricator.services.mozilla.com/D64617
2020-02-28 12:21:13 +00:00
Emilio Cobos Álvarez
4049bcb1bd Bug 1617600 - Prototype :focus-visible behind a flag. r=smaug
The heuristic is that we show focus outlines for unknown or key focus, and not
for mouse / touch.

This is probably not the final heuristic we take, but this allows people to play
with it and file bugs.

Once this is mature enough we should remove :-moz-focusring in favor of
:focus-visible.

Differential Revision: https://phabricator.services.mozilla.com/D63861
2020-02-26 14:16:20 +00:00
Noemi Erli
475bded625 Backed out 3 changesets (bug 1617600) for causing wpt failures in focus-visible-009.html CLOSED TREE
Backed out changeset 73d1a5e10337 (bug 1617600)
Backed out changeset b722714830cd (bug 1617600)
Backed out changeset 45464d926bf0 (bug 1617600)
2020-02-26 01:46:31 +02:00
Emilio Cobos Álvarez
77340c7537 Bug 1617600 - Prototype :focus-visible behind a flag. r=smaug
The heuristic is that we show focus outlines for unknown or key focus, and not
for mouse / touch.

This is probably not the final heuristic we take, but this allows people to play
with it and file bugs.

Once this is mature enough we should remove :-moz-focusring in favor of
:focus-visible.

Differential Revision: https://phabricator.services.mozilla.com/D63861
2020-02-25 17:58:28 +00:00
Simon Giesecke
968040c445 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/html. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D63171
2020-02-20 16:19:15 +00:00
John Dai
f6499e75d8 Bug 1588715 - Refactor matches the spec term 'submitter'; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62035
2020-02-11 12:46:57 +00:00
Ehsan Akhgari
dfd12e8f5e Bug 1610821 - Part 2: Ensure most of event handling works on input elements which are disconnected from a document; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D60672
2020-02-10 22:35:44 +00:00
Ehsan Akhgari
5ecc1f4486 Bug 1610821 - Part 1: Remove the unused nsPresContext argument of FireEventForAccessibility(); r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D62252
2020-02-10 14:06:09 +00:00
Boris Zbarsky
45fec91153 Bug 1611509 part 1. Stop using Date in HTMLInputElement.webidl. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D61052
2020-01-25 05:56:06 +00:00
Emilio Cobos Álvarez
e76e7aa50a Bug 1611713 - Remove TextControlState::GetParentNumberControl. r=masayuki
Can't return anything useful anymore since bug 981248.

Differential Revision: https://phabricator.services.mozilla.com/D61091
2020-01-27 00:00:09 +00:00
Sylvestre Ledru
9bd2328337 Bug 1519636 - Automatically reformat recent changes using clang-format r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D60354
2020-01-21 09:51:27 +00:00
pbz
9ca53ea171 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2020-01-16 14:38:40 +00:00
Emilio Cobos Álvarez
0534b20fd6 Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.

I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.

Differential Revision: https://phabricator.services.mozilla.com/D57193
2020-01-14 19:01:05 +00:00
Mihai Alexandru Michis
b51ee7e327 Backed out 2 changesets (bug 981248) for causing multiple failures.
CLOSED TREE

Backed out changeset 7a96708cc8b7 (bug 981248)
Backed out changeset 1eace7bd28d9 (bug 981248)
2020-01-14 19:28:17 +02:00
Emilio Cobos Álvarez
c442c1b9ab Bug 981248 - Rewrite <input type=number> to avoid an anonymous input. r=masayuki,surkov,jwatt,ntim,jfkthame,smaug
Instead, subclass nsTextControlFrame. This simplifies the code and avoids
correctness issues.

I kept the localization functionality though it is not spec compliant. But I
filed a bug to remove it in a followup.

Differential Revision: https://phabricator.services.mozilla.com/D57193
2020-01-14 15:05:22 +00:00
Masayuki Nakano
337d59f56c Bug 970802 - part 4: Make TextControlState dispatch "beforeinput" event if there is no TextEditor r=smaug
If `TextControlState` does not have `TextEditor` and its `SetValue()` is called
from `SetUserInput()`, `TextControlState` itself needs to dispatch `beforeinput`
event.

If the value is modified by `beforeinput` event listener, it's intended that
`preventDefault()` is called by the web apps.  However, the behavior in this
case is not mentioned by UI Events nor Input Events spec.  We should just file
a spec issue instead of emulating Chrome's behavior for now because it requires
more changes, but this case must be an edge case.
The spec issue is: https://github.com/w3c/input-events/issues/106

Differential Revision: https://phabricator.services.mozilla.com/D58126
2020-01-14 07:16:34 +00:00
Razvan Maries
fb31761821 Backed out 5 changesets (bug 970802) for xpcshell perma fails. CLOSED TREE
Backed out changeset 5511edd700f7 (bug 970802)
Backed out changeset 1fb9cf2264b6 (bug 970802)
Backed out changeset 6b185296c742 (bug 970802)
Backed out changeset ce6853e64ed6 (bug 970802)
Backed out changeset aa9bd45c09b1 (bug 970802)
2020-01-14 04:41:15 +02:00
Masayuki Nakano
5f240193da Bug 970802 - part 4: Make TextControlState dispatch "beforeinput" event if there is no TextEditor r=smaug
If `TextControlState` does not have `TextEditor` and its `SetValue()` is called
from `SetUserInput()`, `TextControlState` itself needs to dispatch `beforeinput`
event.

If the value is modified by `beforeinput` event listener, it's intended that
`preventDefault()` is called by the web apps.  However, the behavior in this
case is not mentioned by UI Events nor Input Events spec.  We should just file
a spec issue instead of emulating Chrome's behavior for now because it requires
more changes, but this case must be an edge case.
The spec issue is: https://github.com/w3c/input-events/issues/106

Differential Revision: https://phabricator.services.mozilla.com/D58126
2020-01-08 09:24:33 +00:00
Chris Peterson
0a9155f83b Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

Differential Revision: https://phabricator.services.mozilla.com/D56440
2019-12-20 07:16:43 +00:00
Oana Pop Rus
2fa2ebf69d Backed out 7 changesets (bug 1432856) for build bustages failures in nsWindow.h on a CLOSED TREE
Backed out changeset 3d08c3cce533 (bug 1432856)
Backed out changeset 49d03dd89b17 (bug 1432856)
Backed out changeset 62fc84c8ce99 (bug 1432856)
Backed out changeset a8a4fa63f5b2 (bug 1432856)
Backed out changeset c81f3d5b9bf3 (bug 1432856)
Backed out changeset 8351a8b1d96a (bug 1432856)
Backed out changeset a303b775a51b (bug 1432856)
2019-12-16 23:53:35 +02:00
pbz
29a2e0c4e4 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2019-12-16 21:06:11 +00:00
Masayuki Nakano
33564b47db Bug 1599971 - part 5: Mark TextControlState::UnbindFromFrame() as MOZ_CAN_RUN_SCRIPT r=m_kato,emilio
Note that `TextControlState::BindToFrame()` may also run script if it's
called without script blocker.  However, it shouldn't occur.  Therefore,
we don't need to mark it `MOZ_CAN_RUN_SCRIPT`, but we should check
script blocker existence with `MOZ_ASSERT`.

Differential Revision: https://phabricator.services.mozilla.com/D55776
2019-12-11 03:04:20 +00:00