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

754183 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange ca9f8e2db0 Bug 1705842 - Combine the two methods and properly update mVisibleItemsCount, and add some asserts. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D112450
2021-04-19 23:08:33 +00:00
Markus Stange c48e8404c1 Bug 1705842 - Make InsertChildNativeMenuItem support nsMenuItemX, too. r=harry
Differential Revision: https://phabricator.services.mozilla.com/D112449
2021-04-19 23:08:33 +00:00
Markus Stange 98e6596cf3 Bug 1705842 - Move command registration and NSMenuItem target/action initialization into nsMenuItemX. r=harry
This means that it'll happen even if the menu item is not visible. This will make
it possible to make a menu item visible after initial menu construction.

Differential Revision: https://phabricator.services.mozilla.com/D112448
2021-04-19 23:08:32 +00:00
Markus Stange 388df46cfd Bug 1705842 - Add nsMenuItemX::IsVisible() and nsMenuX::IsVisible(). r=harry
Differential Revision: https://phabricator.services.mozilla.com/D112447
2021-04-19 23:08:32 +00:00
Masayuki Nakano 7ce105e3db Bug 1705519 - Make `Document::ExecCommand` not stop handling `selectall` command when there is no editable content r=smaug
When `document.execCommand("selectall")` is called, it should behave exactly
same as "Select All" in the UI for compatibility with the other browsers.

And also this patch fixes a bug of the WPT.  `selectionchange` event should
be fired, but asynchronously.  Therefore, Chrome also fails the check.

Differential Revision: https://phabricator.services.mozilla.com/D112307
2021-04-19 23:03:54 +00:00
Tooru Fujisawa 5508a33216 Bug 1695349 - Part 3: Remove endian handling from ObjLiteralStencil. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D112497
2021-04-19 23:02:52 +00:00
Tooru Fujisawa be0a6bf070 Bug 1695349 - Part 2: Rename XDRState::peekRawUint32 to XDRState::peekUint32. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D112496
2021-04-19 23:02:52 +00:00
Tooru Fujisawa 463c38b9ee Bug 1695349 - Part 1: Remove endian handling from XDRState methods. r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D112495
2021-04-19 23:02:52 +00:00
Masatoshi Kimura b09353a135 Bug 1234520 - Re-enable test_bug344861.html, test_bug369370.html, test_bug741266.html on Windows. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D112471
2021-04-19 23:01:39 +00:00
Steve Fink 2dcfa49f82 Bug 1706115 - add encoding errors=... param to mozunit mocked open() r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D112622
2021-04-19 22:17:17 +00:00
R. Martinho Fernandes 4ecee0b048 Bug 1677866 - Report memory allocated by `cert_storage` crate r=keeler,emilio
Differential Revision: https://phabricator.services.mozilla.com/D107105
2021-04-19 22:12:56 +00:00
Jan Horak b76e13fb5d Bug 1418792 Start drag operation on touch event on draggable area; r=stransky
Add support for dragging window on touch event.

Differential Revision: https://phabricator.services.mozilla.com/D112370
2021-04-19 22:12:01 +00:00
Kartikaya Gupta 570147386a Bug 1662379 - Add test. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D112501
2021-04-19 22:02:03 +00:00
Kartikaya Gupta 8a17781edb Bug 1662379 - Listen for events in bubble phase rather than capture phase. r=botond
The events being listened for here are mouse events, all of which
go through both the bubble and capture phases. It's not clear to
me why I originally added this listener in the capture phase; it
is more useful in the bubble phase because then it resolves the
promise after the event has triggered listeners registered on the
target element, rather than before.

Note also that prior to the promis-ification of this function, the
callback was called inside a setTimeout(0) wrapper, which would
automatically have deferred the callback to after the event dispatch
was completed. So technically the promis-ification of this function
introduced a functional change because now the promise can get
resolved before the event dispatch is complete, and in particular,
before listeners on the target element get run. This didn't affect
anything in practice because none of the existing callers actually
have such a listener on the target element. The next patch adds
one though, and exposed this behaviour difference when I rebased it
across the promis-ification change..

This patch removes the capture:true listener option, causing the
listener to get registered in the bubble phase.

Differential Revision: https://phabricator.services.mozilla.com/D112500
2021-04-19 22:02:02 +00:00
sotaro 619fd6d13e Bug 1706000 - Remove WebRenderBridgeParent::mPaused r=jnicol,gfx-reviewers
WebRenderBridgeParent::mPaused does not hold correct paused state, initial state of mPaused was always false. And CompositorBridgeParent already keeps correct paused state.

Differential Revision: https://phabricator.services.mozilla.com/D112518
2021-04-19 21:59:46 +00:00
Yoshi Cheng-Hao Huang c63ca4d51c Bug 1705733 - Replace threads.empty() check with CanUseExtraThreads(). r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D112532
2021-04-19 21:59:33 +00:00
Narcis Beleuzu 058229227c Bug 1704293 - Fix lint on Codegen.py . CLOSED TREE 2021-04-20 01:48:50 +03:00
Florian Quèze c7da51d612 Bug 1703583 - fix tests that keep waitForEvent or topicObserved promises pending, r=Gijs,zombie.
Differential Revision: https://phabricator.services.mozilla.com/D111116
2021-04-19 21:56:05 +00:00
Florian Quèze c238647be5 Bug 1703583 - automatically reject waitForEvent, waitForCondition and topicObserved promises at the end of a browser test, r=Gijs.
Differential Revision: https://phabricator.services.mozilla.com/D111115
2021-04-19 21:56:04 +00:00
mr.robot b9fba56cf6 Bug 1695396: Moved isFirstStub_ into IRGenerator in CacheIR.h r=iain
Differential Revision: https://phabricator.services.mozilla.com/D111649
2021-04-19 21:35:28 +00:00
Emma Malysz a06d7c858b Bug 1703060, format tab manager panel for proton styles r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D112268
2021-04-19 20:22:48 +00:00
Harry Twyford 69f3cff169 Bug 1706127 - Introduce openContextMenuSubmenu devtools helper. r=mac-reviewers,mstange
Differential Revision: https://phabricator.services.mozilla.com/D112640
2021-04-19 20:01:37 +00:00
Emilio Cobos Álvarez 8e47e5abc2 Bug 1705877 - image-set() should influence intrinsic size of the image. r=dholbert,layout-reviewers
https://drafts.csswg.org/css-images-4/#image-set-notation has:

> [...] it also specifies the image’s natural resolution, overriding any other
> source of data that might supply a natural resolution.

Astounding that there was literally no WPT for this at all. I added three: one
for backgrounds, one for list-style-image, and one for `content`. Cursor is not
handled on this patch because that one requires a fair amount of extra work.

Differential Revision: https://phabricator.services.mozilla.com/D112474
2021-04-19 19:55:27 +00:00
Tom Schuster ca0d2c502e Bug 1705977 - Add more monochrome settings to CUPS. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D112526
2021-04-19 19:53:02 +00:00
Tom Schuster a137d1ce39 Bug 1704293 - Use Maybe<PropertyDescriptor> for GetOwnPropertyOp. r=jandem
Also switches the "default" GetOwnPropertyDescriptor implementation to Maybe<PropertyDescriptor>.

Differential Revision: https://phabricator.services.mozilla.com/D112371
2021-04-19 19:51:59 +00:00
Tom Schuster b728526ade Bug 1704293 - Use Maybe<PropertyDescriptor> for BaseProxyHandler::getOwnPropertyDescriptor in DOM and XPConnect. r=jandem,smaug
Differential Revision: https://phabricator.services.mozilla.com/D112037
2021-04-19 19:51:59 +00:00
Tom Schuster 3ad7d3318b Bug 1704293 - Use Maybe<PropertyDescriptor> for BaseProxyHandler::getOwnPropertyDescriptor in js/. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D111730
2021-04-19 19:51:58 +00:00
Agi Sferro 431a0117b0 Bug 1704194 - Add non-about:blank test to tabs_create_cookieStoreId. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D112228
2021-04-19 19:42:40 +00:00
Agi Sferro 15db873142 Bug 1704194 - Use appropriate principal when creating new tabs. r=aklotz,robwu,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D112101
2021-04-19 19:42:39 +00:00
Jason Orendorff afe498ed92 Bug 1662559 - Part 20: Tweak some comments in NameOpEmitter.h. r=arai
Depends on D108301

Differential Revision: https://phabricator.services.mozilla.com/D108302
2021-04-19 19:28:11 +00:00
Jason Orendorff c3249f07a1 Bug 1662559 - Part 19: Emit DeclarationKind::PrivateName declarations and use all the optimized paths in PrivateOpEmitter. r=arai
At the same time, the initialization and storage of private methods is changed
to what the PrivateOpEmitter expects.

There are some barely-observable differences in behavior, resulting in two jit-test changes:

*   fields/bug1683784.js - An error message changed. Not really better or worse.

*   js/src/jit-test/tests/parser/script-source-extent.js - The debugger is able
    to observe initializers as individual scripts. We are no longer using
    initializers for private methods that can be optimized, and the debugger
    therefore observes the change.  I adjusted the test to expect the new
    behavior.

All js/src/tests pass.

Depends on D108300

Differential Revision: https://phabricator.services.mozilla.com/D108301
2021-04-19 19:28:11 +00:00
Jason Orendorff a8f5d32e87 Bug 1662559 - Part 18: Remove all support for private members from ElemOpEmitter. r=arai
Depends on D108299

Differential Revision: https://phabricator.services.mozilla.com/D108300
2021-04-19 19:28:10 +00:00
Jason Orendorff af06f97c61 Bug 1662559 - Part 17: Change BytecodeEmitter to use the new PrivateOpEmitter class. r=arai
Depends on D108298

Differential Revision: https://phabricator.services.mozilla.com/D108299
2021-04-19 19:28:10 +00:00
Jason Orendorff 10dffc1a2e Bug 1662559 - Part 16: Add PrivateOpEmitter, based on PropOpEmitter. r=arai
Depends on D108297

Differential Revision: https://phabricator.services.mozilla.com/D108298
2021-04-19 19:28:10 +00:00
Jason Orendorff 755d9c5c9e Bug 1662559 - Part 15: Add AST node types for private member access expressions (`obj.#member`). r=arai
The new parse nodes then need to be handled throughout the BytecodeEmitter. No
change in behavior.

Depends on D108296

Differential Revision: https://phabricator.services.mozilla.com/D108297
2021-04-19 19:28:09 +00:00
Jason Orendorff 3db4301f3e Bug 1662559 - Part 14: Minor refactor for BytecodeEmitter::emitSetOrInitializeDestructuring. r=arai
The diff is a mess, but this is very straightforward--we have a combination of
if-statements and a switch that could just be a single switch.

Depends on D108295

Differential Revision: https://phabricator.services.mozilla.com/D108296
2021-04-19 19:28:09 +00:00
Matthew Gaudet 8f80d4fb4c Bug 1662559 - Part 13: Disallow invocation of private methods inside of evalInFrame r=arai
In order to correctly support this with the optimized storage for methods we
would need new bytecode like GetAliasedVar which is able to traverse
non-EnvironmentObject environments like DebugEnvironmentProxy.

Unfortunately, for safety this means we will ultimately disable this for a number of
different private field and accessor invocations.

Differential Revision: https://phabricator.services.mozilla.com/D109402
2021-04-19 19:28:08 +00:00
Matthew Gaudet 0e4955e1f7 Bug 1662559 - Part 12: Modify effectiveScopePrivateFieldCache to store NameLocations as well. r=arai
By storing NameLocations we also get a BindingKind, which allows us to disambiguate between
PrivateMethods and Synthetics.

Differential Revision: https://phabricator.services.mozilla.com/D109401
2021-04-19 19:28:08 +00:00
Jason Orendorff 7b26efc077 Bug 1662559 - Part 11: Move .privateBrand to a fixed location and add BytecodeEmitter::lookupPrivate() to find it. r=arai
Depends on D108294

Differential Revision: https://phabricator.services.mozilla.com/D108295
2021-04-19 19:28:08 +00:00
Jason Orendorff 55b0d43bc5 Bug 1662559 - Part 10: Propagate BindingKind::PrivateMethod to scope data. r=arai
This would cause private methods to be marked as such on scopes, except that
the parser still declares them as `DeclarationKind::Synthetic` for now.

Depends on D108293

Differential Revision: https://phabricator.services.mozilla.com/D108294
2021-04-19 19:28:07 +00:00
Jason Orendorff a5daf64dea Bug 1662559 - Part 9: Migrate all ClassBodyScope bindings to be Synthetic. r=arai
This affects bytecode, as Synthetic bindings do not get TDZ checks.

This patch also tightens up some assertions when creating ScopeData. There are
several methods that create ScopeData, and they had gotten out of sync. The
assertions check that the ScopeData is not silently dropping bindings that were
present in ParseContext::Scope::declared_.

Depends on D108292

Differential Revision: https://phabricator.services.mozilla.com/D108293
2021-04-19 19:28:07 +00:00
Jason Orendorff c84b4481e3 Bug 1662559 - Part 8: Add BindingKind::PrivateMethod. r=arai
This is how the frontend will later identify private methods in order to emit
special bytecode.

Depends on D108291

Differential Revision: https://phabricator.services.mozilla.com/D108292
2021-04-19 19:28:06 +00:00
Jason Orendorff c892c5bda6 Bug 1662559 - Part 7: Add BindingKind::Synthetic, a kind of binding for pseudo-bindings. r=arai
This is currently used only by the bindings in a ClassBodyScope.

The behavior of these bindings is like Var bindings. There is no longer a TDZ
check, and we don't bother marking them as Uninitialized. So the special case
introduced in bug 1683746, peeking at the binding name to see if we should skip
the TDZ check, is no longer needed.

Depends on D108290

Differential Revision: https://phabricator.services.mozilla.com/D108291
2021-04-19 19:28:06 +00:00
Jason Orendorff d6362b6fc0 Bug 1662559 - Part 6: Stamp the private brand on instances. r=arai
This adds a hasPrivateBrand bit to the MemberInitializers struct in the
stencil. It is necessary to persist this bit across compilation units because
emitInitializeInstanceMembers can be called in direct eval code inside a
derived-class constructor.

Since .privateBrand is currently a `let` binding, this currently emits an
unnecessary CheckAliasedLexical instruction in the constructor for each class
that has nonstatic private methods. We'll eliminate these later on.

Depends on D108289

Differential Revision: https://phabricator.services.mozilla.com/D108290
2021-04-19 19:28:05 +00:00
Jason Orendorff 563580840a Bug 1662559 - Part 5: Add .privateBrand to class body scopes. r=arai
Not every class gets this special binding. It will be needed for all classes
that have any nonstatic private methods, getters, or setters. With this patch,
we create a .privateBrand binding in the scopes for such classes, and populate
it with a symbol when initializing the class. However, it is not yet being used
anywhere; the constructor does not yet stamp instances with the private brand.

Depends on D108288

Differential Revision: https://phabricator.services.mozilla.com/D108289
2021-04-19 19:28:05 +00:00
Jason Orendorff 812b030d0b Bug 1662559 - Part 4: Introduce ClassBodyLexicalEnvironmentObject. r=arai
It is a copy of BlockLexicalEnvironmentObject. Note that

-   ClassBodyScope is *not* a LexicalScope, BUT

-   ClassBodyLexicalEnvironmentObject *is* a LexicalEnvironmentObject

This is strictly a matter of how much implementation is shared. The word
"Lexical" in LexicalEnvironmentObject, and to some extent throughout
SpiderMonkey, is alas already pretty meaningless. In the language
specification, all environments are lexical environments.

Depends on D108286

Differential Revision: https://phabricator.services.mozilla.com/D108287
2021-04-19 19:28:05 +00:00
Jason Orendorff 0e2e568c6b Bug 1662559 - Part 3: Tighten up type of the ClassMemberList node kind. r=arai
Depends on D108285

Differential Revision: https://phabricator.services.mozilla.com/D108286
2021-04-19 19:28:04 +00:00
Jason Orendorff 047f6f7838 Bug 1662559 - Part 2: Clone LexicalScope{Node} -> ClassBodyScope{Node}. r=arai
Note: This revision will have to be folded with Parts 3 and 4 before landing, as
the op PushLexicalEnv breaks here, and is replaced with PushClassBodyEnv in Part 4.

Depends on D108283

Differential Revision: https://phabricator.services.mozilla.com/D108284
2021-04-19 19:28:04 +00:00
Jason Orendorff 6bf2f324b8 Bug 1662559 - Part 1: Rename NameLocation::fromBinding() -> BindingIter::nameLocation(). r=arai
Differential Revision: https://phabricator.services.mozilla.com/D108283
2021-04-19 19:28:03 +00:00
Agi Sferro e2c0bc7534 Bug 1700775 - Revert "Bug 1567341 - Release EventDispatcher listeners on xpcom-shutdown" r=aklotz
This reverts commit e542e8826b92f70dbabaf577d80a32273c684d1b.

In hindsight, this was a pretty bad change. It introduces a third place where
the EventDispatcher can be shutdown (JavaScript) and doesn't do a good job at
communicating this across all consumers.

I introduced this change in Bug 1567341 to fix some leaks in xpcshell tests at
xpcom shutdown, and it was never meant to affect a normal browser use (turns
out, it does).

I ran the tests again in try and they are still green when reverting this
change, I suspect that the actual failures I was seeing were due to a separate
leak that I fixed while developing the patches.

Differential Revision: https://phabricator.services.mozilla.com/D112637
2021-04-19 19:17:55 +00:00