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

3292 Коммитов

Автор SHA1 Сообщение Дата
Andrew Creskey 7134be5031 Bug 1575938 Convert dom/JSEnvironment GC timing constants to StaticPref r=edgar
Converted the following to StaticPrefs so that we can easily test variations:

NS_GC_DELAY
NS_SHRINK_GC_BUFFERS_DELAY
NS_FIRST_GC_DELAY
NS_FULL_GC_DELAY
NS_INTERSLICE_GC_DELAY

NS_USER_INTERACTION_INTERVAL

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

--HG--
extra : moz-landing-system : lando
2019-08-26 15:51:01 +00:00
alwu 4f544e7be2 Bug 1572939 - part1 : allow user inputs on editable content to activate document. r=masayuki
As Chrome and Safari didn't block autoplay when haiving user input on editable content, it causes a compatible issue on Firefox because we only allow user inputs happening on non-editable content to activate document.

It seems that we don't really need to restrict that user inputs, which can activate document, should only occur on non-editable content.
Even if they occur on non-editable content, it might still have a chance to annoy user, it's totally depending on websites' design.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 04:45:05 +00:00
Logan Smyth 66e57fe122 Bug 1562708 - Allow disabling of the mutation event warning for system-group event listeners. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D43147

--HG--
extra : moz-landing-system : lando
2019-08-23 14:35:05 +00:00
Sylvestre Ledru 7759b614e2 Bug 1575249 - Ride along: remove +x permissions on source files r=Ehsan
Depends on D42672

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

--HG--
extra : moz-landing-system : lando
2019-08-21 09:57:03 +00:00
Sebastian Streich db893cf0d7 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
***
Fix linux build

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

--HG--
extra : moz-landing-system : lando
2019-08-20 12:43:02 +00:00
Masayuki Nakano cf0604278c Bug 1564639 - Make `BrowserParent` use `nsPresContext::GetRootWidget()` when handling IME related messages r=hsivonen
When contents notify IME or requests something to IME, they need to use
an `nsIWidget` instance which may have focus if active, and handles
native keyboard/IME events since that knows correct native IME context.

Currently, such widget exactly matches with the result of
`nsPresContext::GetRootWidget()`.  However, this is unclear for most developers.
Therefore, this patch creates a wrapper method of it named
`nsPresContext::GetTextInputHandlingWidget()`.  Then, also adds
`BrowserParent::GetTextInputHandlingWidget()` wraps it.  Finally, makes
`IMEStateManager` call `GetTextInputHandlingWidget()` of them.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 08:27:32 +00:00
Olli Pettay 26c09ef05a Bug 1574223, make touchstart/move passive by default also when using event handlers, not only event listeners, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D42235

--HG--
extra : moz-landing-system : lando
2019-08-16 15:18:46 +00:00
Daniel Varga 95ce40b8d4 Backed out changeset a7ac9f64f6ea (bug 1561056) for build bustage at widget/gtk/nsDragService. On a CLOSED TREE 2019-08-16 09:30:39 +03:00
Sebastian Streich c051155f99 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
Differential Revision: https://phabricator.services.mozilla.com/D37563

--HG--
extra : moz-landing-system : lando
2019-08-15 18:44:00 +00:00
Brindusan Cristian 3a61fb322f Merge inbound to mozilla-central. a=merge 2019-08-15 12:45:55 +03:00
Kristen Wright 7978cc1098 Bug 1573968 - Remove WheelTransaction::Prefs. r=njn
All of these prefs are already static prefs, so this removes the varcache pref definitions from WheelTransaction and replaces them with the existing static prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 22:18:59 +00:00
Kristen Wright 49185e9481 Bug 1573268 - Convert zoom.maxPercent and zoom.minPercent to static prefs. r=njn
Converts zoom.maxPercent and zoom.minPercent to static prefs, which creates a new "zoom" category on StaticPrefList.yaml.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 18:29:55 +00:00
Brendan Dahl b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
Masayuki Nakano f3fb0d1af8 Bug 1569613 - Add surrogate pair handling API to `nsTextFragment` r=hsivonen
We check surrogate pair at specific index in `nsTextFragement` in a lot of
places.  This requires boundary check of the index so that it can cause
security issue and crash reason with simple mistake, and also it steals
your time to understand the code what it does especially when it's a
part of an `if` condition.

Therefore, this patch adds new API to `nsTextFragment` and makes the all
surrogate pair handlers of `nsTextFragument` use new API.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 05:43:21 +00:00
Nicholas Nethercote af1a8f2d27 Bug 1570212 - Convert dom.events.dataTransfer.protected.enabled to a static pref. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D40157

--HG--
extra : moz-landing-system : lando
2019-08-02 11:59:05 +00:00
Masayuki Nakano 905c456380 Bug 1569902 - part 5: Make `IMEContentObserver` stop observing attribute change r=smaug
`IMEContentObserver` treats `<br>` elements as linefeed, but ignores padding
`<br>` elements.  Padding `<br>` element for last empty line was inserted as
normal `<br>` element and then, its attribute was set by editor.  Therefore,
`IMEContentObserver` needed to observe attribute changes.  However, editor
stops using attribute to mark as padding and stops inserting as normal `<br>`
element first (i.e., inserting `<br>` after setting its flag).  Therefore,
`IMEContentObserver` does not need to observe attribute changes anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:47:09 +00:00
Masayuki Nakano 23a22c597a Bug 1569902 - part 2: Stop using attribute to consider whether a `<br>` element is a special node for empty last line or not r=m_kato,smaug
Editor creates a `<br>` element to end of a block if last line
of the block is empty because caret should be placed as there is an empty
line.  Such special `<br>` element has `type` attribute whose value is "_moz".
However, adding/removing the attribute is expensive and such hacky attribute
shouldn't be referred nor changed by web apps.

Therefore, this patch makes `HTMLBRElement` take another specific flag whether
it's a special node for empty last line.  For making the meaning clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty last line" insead of "moz-br".  So, this patch also includes a lot of
renaming methods and variables, and modifying related comments.

Note that with this change, `IMEContentObserver` counts the padding `<br>`
element in `<textarea>` because it's inserted before setting the new flag
and setting the flag does not cause DOM tree mutation.  This issue will be
fixed by the following patches.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:45:18 +00:00
Masayuki Nakano 765e91b497 Bug 1569902 - part 1: Stop using attribute to consider whether a `<br>` element is an editor bogus node or not r=m_kato,smaug
Editor creates a `<br>` element when it's root element is empty.
Then, it's stored by `TextEditRules::mBogusNode` and used for checking
whether the editor is empty quickly.  However, this `<br>` element has
`mozeditorbogusnode` attribute whose value is `true`.  However, adding or
removing the attribute is not cheap and web apps can refer such illegal
attribute.

Therefore, this patch makes `HTMLBRElement` take a specific flag whether
it's a bogus node or not.  However, this means that this hacky thing will be
exposed outside editor module.  For making what is the bogus node clearer,
this patch calls the such `<br>` elements as "padding `<br>` element for
empty editor".  So, this patch also includes a lot of renaming methods and
variables, and modifying related comments.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 05:44:40 +00:00
longsonr 2f71a4d42d Bug 1569474 - dispatch cut, copy and paste events to SVG graphics elements r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D39629

--HG--
extra : moz-landing-system : lando
2019-07-30 22:45:54 +00:00
Emilio Cobos Álvarez 864a54dff0 Bug 1570182 - Fix cursor prefixed aliases to do the right thing. r=boris
This was an oversight in bug 1520154. We kept the -moz- version in the specified
value but not the computed value.

That's a very peculiar way of making aliases work. This makes them work
consistently as many other aliases instead.

Also, add an assert that would've caught this much much earlier.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 18:18:21 +00:00
Nicholas Nethercote cd426e3ad2 Bug 1569526 - Remove return values from `Add*VarCache()`. r=KrisWright
They're infallible in practice and always `NS_OK`. (This stems from
`AddVarCacheNoAssignment()` always returning `NS_OK`.)

As a result, the commit removes lots of unnecessary checks.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 06:19:46 +00:00
Masayuki Nakano 277978e418 Bug 1560032 - part 3: Make `EventStateManager` allow to drag password if copying selected password is allowed r=smaug
If copying selected password is allowed by `TextEditor`, we should allow to
drag it too because web apps usually request to input new password twice,
but if users used password generator, they may want to use drag and drop the
new password rather than copy and paste.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 06:21:59 +00:00
Masayuki Nakano fafe168f04 Bug 1560032 - part 2: Make cut/copy in password field available r=m_kato,smaug
First, we need to make `nsCopySupport::FireClipboardEvent()` keep handling
`eCopy` and `eCut` event even in password field, only if `TextEditor` allows
them.

Then, we need to make `nsPlainTextSerializer::AppendText()` not expose
masked password for making users safer.  Although `TextEditor` does not allow
`eCopy` nor `eCut` when selection is not in unmasked range.  Fortunately,
retrieving masked and unmasked password from `nsTextFragment` has already
been implemented in `ContentEventHandler.cpp`.  This patch moves it into
`EditorUtils` and makes `ContentEventHandler.cpp` and `nsPlaintextSerializer`
share it.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 06:21:42 +00:00
Bogdan Tara 3736b292dc Merge inbound to mozilla-central. a=merge 2019-07-27 00:38:36 +03:00
Kannan Vijayan 3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Kris Maglione 87884612c0 Bug 1568035: Part 4 - Update test expections for Fission. r=mccr8
Some failures crept in and out after my last sets of annotations landed. This
patch updates most of the annotations to deal with them.

MANUAL PUSH: Lando won't let me land.

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

--HG--
extra : rebase_source : 4cfccf95c5bb2521533a9f5c4c25d67f414fb6f5
extra : histedit_source : c19187a3b3002e0eebdd809738b57641e1e432cd
2019-07-24 13:06:57 -07:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Emilio Cobos Álvarez eb7d8bffd8 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 22:33:57 +00:00
Coroiu Cristina 50837746c0 Backed out changeset 2fe42a3dda2c (bug 1567237) for causing leaks on a CLOSED TREE 2019-07-24 20:52:07 +03:00
Emilio Cobos Álvarez 06d6ff95a8 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:17:11 +00:00
Emilio Cobos Álvarez 5ffd857a02 Bug 1551621 - Downgrade an assertion for now so as to not block people. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D39155

--HG--
extra : moz-landing-system : lando
2019-07-24 13:18:21 +00:00
Narcis Beleuzu 2c7f6ec7b6 Backed out 3 changesets (bug 1567237) for ESlint and mochitest failures on test_scroll_space_no_range_overflow_scroll.html . CLOSED TREE
Backed out changeset 72699e27e033 (bug 1567237)
Backed out changeset 90048e3d6eb3 (bug 1567237)
Backed out changeset 5d602a56edc7 (bug 1567237)
2019-07-24 05:49:52 +03:00
Emilio Cobos Álvarez eb563e1090 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 22:04:31 +00:00
Boris Zbarsky 0f70d08ec8 Bug 1566595. Stop using [array] in nsIBinaryOutputStream. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D38387

--HG--
extra : moz-landing-system : lando
2019-07-22 20:27:39 +00:00
Ciure Andrei 98278afa46 Backed out changeset a858e4411532 (bug 1566595) for causing Windows MinGW builds bustages CLOSED TREE 2019-07-22 21:39:08 +03:00
Boris Zbarsky 9c74919340 Bug 1566595. Stop using [array] in nsIBinaryOutputStream. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D38387

--HG--
extra : moz-landing-system : lando
2019-07-22 14:52:04 +00:00
Masayuki Nakano 15fcb38af8 Bug 1548389 - part 10: Make `TextEditor::SetUnmaskRangeInternal()` expand the range if specified offset is middle of a surrogate pair r=m_kato
Unmasking is an optional style of showing password.  Therefore, if callers of
`nsIEditor::Unmask()` specify middle of surrogate pair(s), it may mean that
they want to expand the unmask range from shorter range which does not include
the high and/or low surrogate.  Therefore, one of the surrogates is in unmasked
range, we unmask the surrogate pair.  However, we handle this in a lot of
places, i..e., we have duplicated code.  This can get rid of these duplicates
with making `nsIEditor::Unmask()` expand the range automatically.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 03:56:33 +00:00
Masayuki Nakano 1e6858f9fe Bug 1548389 - part 9: Make ContentEventHandler return masked text r=m_kato
In some cases, other tools may show selected content in their UI.  E.g.,
character palette of macOS.  Therefore, we shouldn't allow them to show
masked password.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 03:56:15 +00:00
Masayuki Nakano 0f0e091c25 Bug 1548389 - part 7: Drop supporting dragging text from `<input type="password">` r=smaug
Now, the anonymous text node has raw value of password so that we shouldn't
allow users to drag the text since another user may have typed the password
and left from the device.

Note that we've supported the operation, however, it does not make sense
since the dragging data is masked text.

Additionally, Chrome also doesn't support dragging text in password fields.
So, we have no reason to support dragging raw value from password fields.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 03:55:30 +00:00
Olli Pettay 7c88ba1685 Bug 1539497, navigator.maxTouchPoints returns 0 in child process, r=ehsan
Differential Revision: https://phabricator.services.mozilla.com/D38583

--HG--
extra : amend_source : 52f1fdbf79f18a6c3ff52eab0a45b397cee76baf
2019-07-19 01:45:16 +03:00
Kris Maglione 0962c2b731 Bug 1566182: Annotate mochitests that fail with Fission enabled. r=mccr8
My preference was to annotate most of the failing tests with `fail-if` so that
if they start passing, the `fail-if` needs to be removed and they need to keep
passing. That doesn't work for tests that timeout, or which trigger failures
from their cleanup functions, however, so those tests need skip-if. And tests
with fail in their cleanup functions likely leave the browser in an
inconsistent state for subsequent tests, anyway, so really should be skipped
regardless.

There are some remaining tests which still fail because of crashes. I chose
not to skip them here, but to fix the crashes in separate bugs instead.

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

--HG--
extra : rebase_source : 39ba8fec2e882cfe577c5f2b58ab7e4b461f1178
2019-07-15 16:19:32 -07:00
Mirko Brodesser 2f40f072ab Bug 1565584: move `nsIContentUtils::ContentIsDescendantOf` to `nsINode::IsInclusiveDescendantOf`. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37880
2019-07-15 10:02:21 +02:00
Dorel Luca a36e8cbbab Backed out changeset ab9d5eeaa90e (bug 1370630) on dev's request
--HG--
extra : rebase_source : f583c253821b50a25ae0f023bcc8312b526ea8da
2019-07-09 21:44:43 +03:00
Boris Zbarsky 3910c9fe0a Bug 1561887 part 2. Fix cycle-collection skipping of JSEventHandler to work correctly. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36870

--HG--
extra : moz-landing-system : lando
2019-07-09 17:04:59 +00:00
Victor Porof 64a157bec4 Bug 1561435 - Fix test failures for dom/, r=standard8
# ignore-this-changeset

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

--HG--
extra : source : 601fd342df276db814d904aecf943dcd2f14290c
extra : intermediate-source : 9ea5cf04581fe4dbf353443a98e6a970f0fdee41
2019-06-24 04:55:14 +02:00
Victor Porof 0a8ff0ad85 Bug 1561435 - Format dom/, a=automatic-formatting
# ignore-this-changeset

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

--HG--
extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
2019-07-05 10:44:55 +02:00
Razvan Maries daed363fd7 Merge mozilla-inbound to mozilla-central a=merge 2019-07-05 00:40:17 +03:00
Csoregi Natalia 0c754625a9 Merge mozilla-central to mozilla-inbound. CLOSED TREE 2019-07-04 12:54:22 +03:00
Oana Pop Rus 2ad74ef9f7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-04 06:38:21 +03:00
Olli Pettay d957d5d294 Bug 1178763, move UIEvent.pageX/pageY to MouseEvent, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D36781

--HG--
extra : moz-landing-system : lando
2019-07-04 01:50:22 +00:00