Instead of initializing frame->environmentChain to nullptr first and then setting it to
fun->environment() later, we can store fun->environment immediately. This also means the
interpreter doesn't need to load and untag the callee token a second time.
Differential Revision: https://phabricator.services.mozilla.com/D36904
--HG--
extra : moz-landing-system : lando
Also change ANGLE's checkout to 'gfx/angle/checkout' instead of
'gfx/angle'.
Differential Revision: https://phabricator.services.mozilla.com/D37340
--HG--
extra : moz-landing-system : lando
Previously, `runRemoveContentTest()` was the last test which synthesizes
composition in the `<textarea>`. However, new test order move it to middle
of the other tests. Then, it hits an `MOZ_ASSERT()` in
`TextComposition::EditorWillHandleCompositionChangeEvent()` that detects a
bug. When editable element is removed from the DOM tree during a composition,
editor cannot listen to `eCompositionEnd` event. Therefore, when the editor
gets back, it still has destroyed `TextComposition` and keeps handling new
composition with the old one. Therefore this patch makes
`EditorBase::InstallEventListeners()` forget the destroyed composition.
Differential Revision: https://phabricator.services.mozilla.com/D37061
--HG--
extra : moz-landing-system : lando
For making the scope of variants clearer, make it use `let` instead of `var`.
Differential Revision: https://phabricator.services.mozilla.com/D37057
--HG--
extra : moz-landing-system : lando
NOTE: This test relies on our wrong behavior that Element.scrollIntoView works
across the cross-origin document boundaries, which is bug 1561754. So once
after we make 'Find in page' work in fission world (bug 1553384), we should
revise this test.
Differential Revision: https://phabricator.services.mozilla.com/D36137
--HG--
extra : moz-landing-system : lando
We need a fix from `cctools-port` master for cross-language LTO builds
to work properly on the Mac. Rather than cherry-picking yet another
commit, which would have to deal with a updated `ld64` upstream, we've
opted to go ahead and update directly to upstream.
This choice brings about some significant build changes, as TAPI support
has moved to a different library that is not easily buildable directly.
Differential Revision: https://phabricator.services.mozilla.com/D36636
--HG--
extra : moz-landing-system : lando
it's very helpful to see the list of clips and the way they affect a chased primitive
Example:
```
building clip chain instance with local rect TypedRect(1561.0×1968.0 at (-300.0,-300.0))
clip Rectangle(3840.0×1874.0, Clip) at (0.0,0.0) in space SpatialNodeIndex(1)
flags (empty), resulted in Partial
clip Rectangle(3840.0×1874.0, Clip) at (0.0,0.0) in space SpatialNodeIndex(2)
flags (empty), resulted in Partial
```
Differential Revision: https://phabricator.services.mozilla.com/D37137
--HG--
extra : moz-landing-system : lando
DebuggerFrame::eval and DebuggerObject::evalInGlobal are two more invocation
functions that can reasonably use Completion to report the results of the
operation.
Differential Revision: https://phabricator.services.mozilla.com/D33077
--HG--
extra : moz-landing-system : lando
Replacing more calls to Debugger::resultToCompletion with uses of the newer API.
Differential Revision: https://phabricator.services.mozilla.com/D33076
--HG--
extra : moz-landing-system : lando
Use the `Completion` type to report the result of the
`DebuggerObject::setProperty` and `getProperty` methods.
Differential Revision: https://phabricator.services.mozilla.com/D25097
--HG--
extra : moz-landing-system : lando
This patch introduces a new type to the debugger, `js::Completion`, describing
how a given JavaScript evaluation completed. It's a wrapper around a `Variant`
with alternatives:
- Return
- Throw
- Terminate
- InitialYield (the initial yield of a generator, returning the generator object)
- Yield (subsequent yields of a generator)
- Await (both initial and subsequent)
We can construct a `Completion` in two ways:
- From any JavaScript operation's result (a success value and a context carrying
an exception value and stack). This only distinguishes between Return, Throw,
and Terminate.
- From a stack frame that's about to be popped. This allows us to identify
yields and awaits.
Given a `Completion` we can construct Debugger API 'completion values' to pass
to hooks, as well as the resumption/value/context states that tell the engine
how to continue execution. Within Debugger itself, `Completion` values are a
convenient place to gather up various bits of logic: identifying suspensions,
chaining resumption values from multiple Debugger hooks, and so on.
Although `Completion` should be used throughout Debugger, this patch only uses
it for the `onPop` hook. Subsequent patches in the series will apply it to other
cases where Debugger can invoke JavaScript.
Differential Revision: https://phabricator.services.mozilla.com/D24997
--HG--
extra : moz-landing-system : lando
Already tested via toolbox menus in devtools/client/framework/test/browser_toolbox_zoom_popup.js
Could open a follow up to allow for other anchor points than bottom-left.
Differential Revision: https://phabricator.services.mozilla.com/D37044
--HG--
extra : moz-landing-system : lando
We were clearing the completion text all the time to prevent
a visual glitch while typing (See Bug 1491776). But since we
are now waiting for 75ms before calling the autocomplete
function (which triggers the autocompletion text update), we
have a flash of the completion text, which isn't ideal.
In this patch, we check if the typed letters match the begining
of the completion text, and if they do, we don't clear the
completion text.
In the same time, we set the completion text in absolute position
so it doesn't jump when the new letter is added in the CodeMirror
document.
Finally, we change how the Editor pipe events from CodeMirror to
include parameters, so we can use them in JsTerm.
Differential Revision: https://phabricator.services.mozilla.com/D36163
--HG--
extra : moz-landing-system : lando