Some updates and clarifications after Glenn's All Hands 2020 overview
talk.
Differential Revision: https://phabricator.services.mozilla.com/D61270
--HG--
extra : moz-landing-system : lando
* `nsIHTMLEditor.removeAllInlineProperties`
* `nsIHTMLEditor.increaseFontSize`
* `nsIHTMLEditor.decreaseFontSize`
* `nsIHTMLEditor.setParagraphFormat`
* `nsIHTMLEditor.getBackgroundColorState`
* `nsIHTMLEditor.indent`
* `nsIHTMLEditor.align`
* `nsIEditorStyleSheets.replaceOverrideStyleSheet`
* `nsITableEditor.selectBlockOfCells`
These methods are not used by any Gecko products including comm-central and
BlueGriffon so that we should remove them. Note that only
`HTMLEditor::GetBackgroundColorState()` is used internally so that we need to
keep it as a public method of `HTMLEditor`.
Differential Revision: https://phabricator.services.mozilla.com/D61139
--HG--
extra : moz-landing-system : lando
This change allows the bytecode emitter to use `JSOp::FunCall` resp. `JSOp::FunApply`
for calls in optional chain expressions.
Differential Revision: https://phabricator.services.mozilla.com/D61162
--HG--
extra : moz-landing-system : lando
- We don't need to test for `tt == TokenKind::Eof` when we return for
`tt != TokenKind::OptionalChain` anyway.
- Omit local variable for the result value and instead use a tail-call. This
matches the local style in the parser more closely.
Differential Revision: https://phabricator.services.mozilla.com/D61161
--HG--
extra : moz-landing-system : lando
Using optionalExpr matches the spec grammar more closely. This change also
modifies the reported error message. `++a?.b` reported before this change
"unexpected token: '?.'", but now reports "invalid increment/decrement operand".
Differential Revision: https://phabricator.services.mozilla.com/D61159
--HG--
extra : moz-landing-system : lando
Aligns emitOptionalElemExpression() with emitOptionalDotExpression(), so it's
easier to compare both methods against each other.
Differential Revision: https://phabricator.services.mozilla.com/D61155
--HG--
extra : moz-landing-system : lando
The previous list contained some invalid entries (`await` and comma-expression)
and was missing some possible parse node kinds.
Differential Revision: https://phabricator.services.mozilla.com/D61154
--HG--
extra : moz-landing-system : lando
The child node of a DeleteOptionalChainExpr node can't be a super-property
accessor, so we can remove this code.
Drive-by: Reindent some stack comments.
Differential Revision: https://phabricator.services.mozilla.com/D61152
--HG--
extra : moz-landing-system : lando
Moves the `isSuper()` method from the base class to the (non-optional) derived
classes, because `super?.x` isn't valid syntax, so it's confusing to be able to
ask if an optional property access is applied on `super`.
The next part will further simplify `BytecodeEmitter::emitDelete{Element,Property}InOptChain()`.
Differential Revision: https://phabricator.services.mozilla.com/D61151
--HG--
extra : moz-landing-system : lando
We already assert that this case isn't allowed in the bytecode emitter. Also
report a syntax error to match normal property access.
Differential Revision: https://phabricator.services.mozilla.com/D61146
--HG--
extra : moz-landing-system : lando
Paths for pushing files to Android devices were being constructed with
`PathBuf::push`, which uses the system file separator. On Windows, this results
in malformed paths like
`/data/local/tmp\org.mozilla.geckoview_example-geckoview-config.yml`.
Differential Revision: https://phabricator.services.mozilla.com/D60738
--HG--
extra : moz-landing-system : lando
This patch was generated with a script. It doesn't include all files:
- Files that use the preprocessor or fail to parse are skipped
- Files that are loaded as JSMs but don't use the .jsm extension are skipped (those will be renamed in Bug 1609269)
It was generated with the following command using d855222aa2/no-this-property-read.js:
```
hg revert --all &&
cp .gitignore .rgignore &&
rg --files-without-match -g '*.jsm' '^#endif|^#include|^#filter' | jscodeshift --stdin --transform ~/Code/jsm-rewrites/no-this-property-read.js --ignore-pattern ./mobile/android/modules/Sanitizer.jsm --ignore-pattern ./js/xpconnect/tests/unit/syntax_error.jsm &&
./mach eslint `hg st | rg '^M ' | sed 's/^M //'`
```
Differential Revision: https://phabricator.services.mozilla.com/D60187
--HG--
extra : moz-landing-system : lando
The patch ensures we don't pass a nsIWebNavigation load flag to
nsIDocShell.defaultLoadFlags which is supposed to get nsLoadFlags (nsIRequest).
Differential Revision: https://phabricator.services.mozilla.com/D61168
--HG--
extra : moz-landing-system : lando
There is nothing clipping related in there anymore.
Differential Revision: https://phabricator.services.mozilla.com/D61178
--HG--
rename : gfx/wr/webrender/src/clip_scroll_tree.rs => gfx/wr/webrender/src/spatial_tree.rs
extra : moz-landing-system : lando
The ghost window checker examines windows in all sorts of weird states,
apparently including when the docshell on the outer is null. Add some
fallible variants of the tab group methods on inner and outer windows
so it can call one of those instead.
Differential Revision: https://phabricator.services.mozilla.com/D61203
--HG--
extra : moz-landing-system : lando
Sometimes `newTab` will get install notification first. But popup will not be
shown until newTab becmoes active in that case. Observes
"webextension-permission-prompt" to catch this.
Differential Revision: https://phabricator.services.mozilla.com/D59847
--HG--
extra : moz-landing-system : lando
I originally had this as a few patches, but the work to fix test
failures and get the whole thing into a complete working state
quickly tangled them up. Apologies for that. To summarize what's
going on here, however:
- We introduce two prefs: shutdown.fastShutdownStage and
shutdown.lateWriteChecksStage. The latter pref is set to 1, which
will leave the existing late write checking behavior unchanged.
However, we introduce this pref to make it simpler in the future
to bump the late write checks window earlier in the shutdown cycle.
- We introduce an AppShutdown class, which will house static methods
and a small amount of state for unifying some shutdown logic. Most
importantly, it will now manage the state for app initiated restarts,
as well as the logic for performing a safe fast shutdown.
- We refactored the existing restart code to call into the new
AppShutdown file, so that if we are configured to actually perform
a fast shutdown, we will be able to run the necessary restart logic
immediately before doing so. Previously, the restart logic occurred
later in the shutdown cycle than our late write checking, meaning
if we were to simply exit the process at that point in time, we
would never run the restart coe.
- Lastly, we updated two locations which called TerminateProcess and/or
_exit(0) to call into the AppShutdown method (DoFastShutdown).
Differential Revision: https://phabricator.services.mozilla.com/D59196
--HG--
extra : moz-landing-system : lando
Changes:
Since the image `debian10-test` is not being used to run unittests on CI, a lot of the dependencies installed can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D60945
--HG--
extra : moz-landing-system : lando
The list of crash dumps in the dump directory appears as something like `['uuid.dmp, uuid-browser.dmp']`. When iterating over the list of files, the files are always sorted alphabetically, meaning any `uuid-<something>.dmp` goes before `uuid.dmp`. We only really care that `uuid.dmp` comes first, as the rest are just additional data not necessarily related to the crashing process, so iterating the list in reverse should put the right .dmp file first.
Differential Revision: https://phabricator.services.mozilla.com/D61166
--HG--
extra : moz-landing-system : lando
Restricted to Nightly so we can enable it by default in tandem with enabling
the same option in NumberFormat and DateTimeFormat.
Differential Revision: https://phabricator.services.mozilla.com/D60959
--HG--
extra : moz-landing-system : lando
`DragEvent::GetRangeParentContentAndOffset()` may return `nullptr`. Previously,
it was checked and returned `NS_ERROR_FAILURE` before landing bug 1610264.
This patch adds the null check which was accidentally removed.
Differential Revision: https://phabricator.services.mozilla.com/D61208
--HG--
extra : moz-landing-system : lando
In particular this avoids unqualified name lookup ambiguity between
::Request and mozilla::dom::Request (imported into the global namespace by
using namespace mozilla::dom).
Differential Revision: https://phabricator.services.mozilla.com/D61212
--HG--
extra : moz-landing-system : lando