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

3292 Коммитов

Автор SHA1 Сообщение Дата
Alexandre Poirot 6bdf5b1a87 Bug 1496025 - Remove Promises actor r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D49636

--HG--
extra : moz-landing-system : lando
2019-10-18 15:31:32 +00:00
Nicolas Chevobbe 43250917b0 Bug 1586201 - Add a function to get a nodeFront from a ContentDomReference. r=pbro,jdescottes.
A function is added on the walker actor that creates a NodeFront
from a ContentDomReference, e.g. an object containing a browsingContextId
and a unique DOM element identifier.
A trait is added on the walker actor since the ContentDomReference API was
only added in Firefox 69.
We then add a function on the toolbox that can return a NodeFront from a
element grip.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 09:07:05 +00:00
Nicolas Chevobbe ac6ad6abfb Bug 1586201 - Include ContentDomReference in Node grips. r=pbro.
This will allow us to retrieve the appropriate inspector
(and thus walker, highlighter, ...) for a given element
later, potentially from a different DebuggerServer.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 09:06:27 +00:00
Nicolas Chevobbe d71aa730aa Bug 1586201 - Refactor of ObjectActor form function. r=ochameau.
The function was close to hit the complexity limit set by eslint,
so we break it up into smaller functions.
We also group assignments where we can.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 09:06:13 +00:00
jaril 696cf3b52a Bug 1588997 - Convert ObjectClient to protocol.js front. r=nchevobbe.
- Converted the ObjectClient into an protocoljs Front
- Converted the SymbolIteratorClient into a protocoljs Front and moved it to devtools/shared/fronts
- Converted the PropertyIteratorClient into a protocoljs Front and moved it to devtools/shared/fronts
- Converted the EnvironmentClient into a protocoljs Front and moved it to devtools/shared/fronts
- Modified calls to `DebuggerClient.release()` so that it tries to call the ObjectFront's release method first, and falls back on `DebuggerClient.release()` if there's no object front
- Changed reps so that it instantiates only one ObjectClient per grip
- Changed tests so that they expect what the Front's request method resolves to where applicable (i.e. ObjectFront.allocationStack resolves to allocationStack, not a packet object with an allocationStack property)
- Changed callbacks provided to ObjectClient methods to be chained to the ObjectFront methods (e.g. ObjectClient.getScope(callback) changed to ObjectFront.getScope().callback())
- Changed tests to use async/await (test_framebindings-x.js, test_functiongrips-x.js, test_objectgrips-x.js)
- Changed tests to expect protocoljs to throw an error string instead of an error object (test_objectgrips-fn-apply-03.js, test_threadlifetime-02.js, test_pauselifetime-03.js)

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

--HG--
rename : devtools/shared/client/environment-client.js => devtools/shared/fronts/environment.js
rename : devtools/shared/client/property-iterator-client.js => devtools/shared/fronts/property-iterator.js
rename : devtools/shared/client/symbol-iterator-client.js => devtools/shared/fronts/symbol-iterator.js
extra : moz-landing-system : lando
2019-10-17 16:06:25 +00:00
Nicolas Chevobbe 7ef8a79951 Bug 1589001 - Rename (web)consoleClient variables and properties to webConsoleFront. r=Honza.
The webconsole actor now has an associated front for some
time, but the naming of variables and properties didn't
reflect that (most weren't updated and were still calling
it a client).
This patch tries to rename all those variables so it's more
obvious we're dealing with an actual front.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 10:16:46 +00:00
Bogdan Tara 7e9efc5de3 Backed out changeset 29bc3ebe8b4e (bug 1588997) for browser_ext_devtools_panels_elements_sidebar.js && browser_ext_find.js failures CLOSED TREE
--HG--
rename : devtools/shared/fronts/environment.js => devtools/shared/client/environment-client.js
rename : devtools/shared/fronts/property-iterator.js => devtools/shared/client/property-iterator-client.js
rename : devtools/shared/fronts/symbol-iterator.js => devtools/shared/client/symbol-iterator-client.js
2019-10-17 10:51:19 +03:00
jaril e1c2cd6db5 Bug 1588997 - Convert ObjectClient to protocol.js front. r=nchevobbe.
- Converted the ObjectClient into an protocoljs Front
- Converted the SymbolIteratorClient into a protocoljs Front and moved it to devtools/shared/fronts
- Converted the PropertyIteratorClient into a protocoljs Front and moved it to devtools/shared/fronts
- Converted the EnvironmentClient into a protocoljs Front and moved it to devtools/shared/fronts
- Modified calls to `DebuggerClient.release()` so that it tries to call the ObjectFront's release method first, and falls back on `DebuggerClient.release()` if there's no object front
- Changed reps so that it instantiates only one ObjectClient per grip
- Changed tests so that they expect what the Front's request method resolves to where applicable (i.e. ObjectFront.allocationStack resolves to allocationStack, not a packet object with an allocationStack property)
- Changed callbacks provided to ObjectClient methods to be chained to the ObjectFront methods (e.g. ObjectClient.getScope(callback) changed to ObjectFront.getScope().callback())
- Changed tests to use async/await (test_framebindings-x.js, test_functiongrips-x.js, test_objectgrips-x.js)
- Changed tests to expect protocoljs to throw an error string instead of an error object (test_objectgrips-fn-apply-03.js, test_threadlifetime-02.js, test_pauselifetime-03.js)

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

--HG--
rename : devtools/shared/client/environment-client.js => devtools/shared/fronts/environment.js
rename : devtools/shared/client/property-iterator-client.js => devtools/shared/fronts/property-iterator.js
rename : devtools/shared/client/symbol-iterator-client.js => devtools/shared/fronts/symbol-iterator.js
extra : moz-landing-system : lando
2019-10-16 17:09:35 +00:00
David Walsh 34cd114993 Bug 1576145 - Show DOM nodes in for DOM Mutation Breakpoints in WhyPaused block r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D45248

--HG--
extra : moz-landing-system : lando
2019-10-17 02:04:45 +00:00
Miriam b43fd031d9 Bug 1582304: Ensure you can add a watchpoint to property within a bucket, prototype, or default properties.
Differential Revision: https://phabricator.services.mozilla.com/D49496

--HG--
extra : moz-landing-system : lando
2019-10-17 00:45:31 +00:00
Logan Smyth 6e3be305df Bug 1581530 - Re-apply usage of .enable/.disable accidentally reverted in Bug 997119. r=jlast
Differential Revision: https://phabricator.services.mozilla.com/D49382

--HG--
extra : moz-landing-system : lando
2019-10-16 18:13:41 +00:00
zhaogang bd399a64e2 Bug 1578752 - Pass event listener column to debugger for more accurate pretty print. r=davidwalsh
Now the event listener tooltip url in the inspector will have an additional column part for generated file, which will be parsed as location.column to debugger, and the debugger pretty print can correctly create and use source map. It's the same bug as [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1045237 | Bug 1045237]], [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1134798 | Bug 1134798 ]], and [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1175911 | Bug 1175911 ]]

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

--HG--
extra : moz-landing-system : lando
2019-10-16 23:03:15 +00:00
Alexandre Poirot f5ed7d3556 Bug 1588730 - Ensure calling form() before calling notifying onFront listeners. r=jdescottes
You can listen for fronts creation via `parentFront.onFront(typeName, callback)`.
For now, we were calling `callback` before we pass the `form` to Front.
This leads to empty attributes as the Front doesn't have access to any data.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 15:56:18 +00:00
Alexandre Poirot dc833aabf2 Bug 1588730 - Convert test_protocol_simple to async/await. r=jdescottes
I thought I would contribute to this test.
As it doesn't involve any child actor, I'm not, but this cleanup is still valuable.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 15:55:57 +00:00
Nicolas Chevobbe c273de43c0 Bug 1580181 - Remove debuggee existence check in webconsole actor autocomplete. r=ochameau.
We always have a debugee for the eval window, so we can
remove the now unnecessary check.
We also take this as an opportunity to always attach the
thread when attaching the console in devtools/shared/webconsole/test/common.js
as it's what makes the evalWindow a debuggee.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 14:24:27 +00:00
Cosmin Sabou 5306157de7 Bug 1588486 - Fix eslint prettier failure. r=eslint-fix 2019-10-14 21:19:36 +03:00
Emilio Cobos Álvarez d2edb10ab6 Bug 1588486 - Fix whitespace skipping inside inlines to handle display: contents correctly. r=mats
This also unifies the code a bit more.

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

--HG--
extra : moz-landing-system : lando
2019-10-14 17:38:43 +00:00
Michael Ratcliffe 785947850f Bug 1583117 - Markup view is blank if an error is thrown gathering event listeners r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D49134

--HG--
extra : moz-landing-system : lando
2019-10-14 12:23:13 +00:00
Razvan Caliman 05bbb86d41 Bug 1572651 - (Part 3) Add option for highlighters to get node position without scroll offsets. r=pbro
Depends on D47092

Given that the highlighter rendering surface is sized to the viewport of the inspected page (as opposed to the whole document), we need a way to ignore scroll offsets when getting data about the node position so the highlighter doesn't get drawn off-screen.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 21:51:43 +00:00
Razvan Caliman 56cd72319f Bug 1572651 - (Part 2) Split BoxModelHighlighter into observer and renderer parts. r=pbro,jdescottes
NOTE: To use the new box model highlighter, flip this pref to true: `devtools.inspector.use-new-box-model-highlighter`

Adding Julian as reviewer to check the sanity of the communication system (see `BoxModelHiglighterObserver` constructor and `BoxModelHighlighterRenderer.setMessageManager()`, `BoxModelHighlighterRenderer.onMessage()`,  `BoxModelHighlighterRenderer.postMessage()`) and Patrick for the overall highlighter behavior which is mostly a clean split of the existing [`BoxModelHighlighter`](https://searchfox.org/mozilla-central/rev/f43ae7e1c43a4a940b658381157a6ea6c5a185c1/devtools/server/actors/highlighters/box-model.js)).

---

Depends on D47091

## Preamble

This patch looks more frightening than it actually is. Let me explain:

The vast majority of the code in `box-model-highlighter-observer.js` and `box-model-highlighter-renderer.js` is a clean split of the code existing in `box-model-highlighter.js` into distinct parts which handle the node measurement (observer) and the drawing the highlighter (renderer). I kept the method names identical to help in matching them up with their original sources.

There was no simple way chunk this without confusing the daylight out of you so I decided to co-locate all changes so it's easier to track and reference methods.

I will detail below the important differences.


## Overview:

The box model highlighter is split into two distinct parts:
- an observer which monitors the node's position
- a renderer which draws the highlighter on top of the node

The renderer always lives in the parent process (browser window) and overlays an iframe with the highlighter markup:
- either over the content if highlighting in the context of the content toolbox
- or over the whole browser UI if highlighting in the context of the browser toolbox

When in the context of the browser toolbox (i.e. highlighting the browser UI), both observer and renderer live in the parent process. Communication is done by direct calls.

When in the context of the content toolbox (i.e. highlighting the page content), the observer lives in content process (so it can measure the node) while the renderer lives in the parent process. Communication is done by message passing via `MessageManager` (soon to be deprecated and replaced with JSWindowActor API)

## Notable differences after the split

- the observer checks whether it is in the content process (aka child process) and sets up the highlighter in the parent process by using [`setupInParent()`](https://docs.firefox-dev.tools/backend/actor-e10s-handling.html) and establishes a communication system to it via message manager. If the observer is in the parent process (browser toolbox scenario), the renderer is setup directly via its constructor and no additional communication system is required.

- whenever the node quads change (as determined by the untouched existing base class `auto-refresh.js`), the observer gathers the data about the node position and sends it over to the renderer. This happens in the `BoxModelHighlighterObserver._update()` (corresponding to the [`_update()` from the existing highlighter](https://searchfox.org/mozilla-central/rev/45f30e1d19bde27bf07e47a0a5dd0962dd27ba18/devtools/server/actors/highlighters/box-model.js#361-383)).

- the renderer expects its `render()` method to be called with the necessary node position information whenever it should update the highlighter. It is the entry point which then calls all the DOM manipulation methods copied over from the existing box model highlighter.

- the only notable change in DOM manipulation methods is in `BoxModelHighlighterRenderer._updateBoxModel()` (corresponding to [`updateBoxModel()` from the existing highlighter](https://searchfox.org/mozilla-central/rev/45f30e1d19bde27bf07e47a0a5dd0962dd27ba18/devtools/server/actors/highlighters/box-model.js#504-560)) where the `_nodeNeedsHighlighting()` is kept on the observer part and the canvas zoom adjustment is removed  (`this.markup.scaleRootElement(this.currentNode, rootId)`) because the canvas is no longer influenced by the page zoom (the canvas lives in the browser window, not the content window)

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

--HG--
rename : devtools/server/actors/highlighters/box-model.js => devtools/server/actors/highlighters/box-model-renderer.js
extra : moz-landing-system : lando
2019-10-11 12:39:42 +00:00
Razvan Caliman f73ec46600 Bug 1572651 - (Part 1) Add highlighter renderer base class r=jdescottes,pbro,bgrins
**Update October 8**
 To use the new box model highlighter, flip this pref to true:
`devtools.inspector.use-new-box-model-highlighter`

---

Adding Julian as reviewer to check the sanity of the communication system and Patrick for the overall highlighter behavior.

---

This patch adds a base class for the renderer part of highlighters which is set up on the parent process in the browser window.
This is used by the `BoxModelHighlighterRender` introduced by D47092

`HighlighterRenderer.init()` will create an HTML iframe and inject it to the appropriate position in the browser window in order to serve as a rendering surface for highlighters of the inspected page content (content toolbox) or the browser UI (browser toolbox). A host iframe is used until [Bug 1492582](https://bugzilla.mozilla.org/show_bug.cgi?id=1492582) is fixed because the browser window is XUL and does not support the anonymous canvas frame used by existing highlighters.

The primary use case of `HighlighterRenderer` is as a base class for renderers which live in a separate process than the observers. This happens with highlighters for the content toolbox. Therefore, it provides methods to setup a communication system (via MessageManager for now) whereby the observer can send messages to the renderer and vice-versa: `setMessageManager()`, `postMessage()` and `onMessage()`.

I used the existing code from [`AccessibilityParent`](https://searchfox.org/mozilla-central/source/devtools/server/actors/accessibility/accessibility-parent.js) as a reference for this.

Classes that extend HighlighterRenderer must implement:
 - a typeName representing the highlighter type; used to differentiate between other types of messages when the Message Manager is used;
 - a _buildMarkup() method to generate the highlighter markup;
 - a `render()` method to update the highlighter markup when given new information about the observed node.

NOTE: A temporary pink outline is set on the highlighter surface as a quick visual check to show its extent depending on context: browser toolbox or content toolbox. This will be removed before landing.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 21:51:42 +00:00
Brian Hackett 5be1c5612c Bug 1580104 - Wait for recording to initialize before loading URLs, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D49090

--HG--
extra : moz-landing-system : lando
2019-10-13 19:10:14 +00:00
Daniel Varga 6a27b47313 Backed out 3 changesets (bug 1572651) for devtools failure at devtools/client/inspector/test/browser_inspector_highlighter-by-type.js. On a CLOSED TREE
Backed out changeset 71db1896c459 (bug 1572651)
Backed out changeset fb5863ee4d37 (bug 1572651)
Backed out changeset 5ef33867cacb (bug 1572651)
2019-10-10 18:51:17 +03:00
Razvan Caliman 77daa88970 Bug 1572651 - (Part 3) Add option for highlighters to get node position without scroll offsets. r=pbro
Depends on D47092

Given that the highlighter rendering surface is sized to the viewport of the inspected page (as opposed to the whole document), we need a way to ignore scroll offsets when getting data about the node position so the highlighter doesn't get drawn off-screen.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 14:15:03 +00:00
Razvan Caliman 780c3bc0b5 Bug 1572651 - (Part 2) Split BoxModelHighlighter into observer and renderer parts. r=pbro,jdescottes
NOTE: To use the new box model highlighter, flip this pref to true: `devtools.inspector.use-new-box-model-highlighter`

Adding Julian as reviewer to check the sanity of the communication system (see `BoxModelHiglighterObserver` constructor and `BoxModelHighlighterRenderer.setMessageManager()`, `BoxModelHighlighterRenderer.onMessage()`,  `BoxModelHighlighterRenderer.postMessage()`) and Patrick for the overall highlighter behavior which is mostly a clean split of the existing [`BoxModelHighlighter`](https://searchfox.org/mozilla-central/rev/f43ae7e1c43a4a940b658381157a6ea6c5a185c1/devtools/server/actors/highlighters/box-model.js)).

---

Depends on D47091

## Preamble

This patch looks more frightening than it actually is. Let me explain:

The vast majority of the code in `box-model-highlighter-observer.js` and `box-model-highlighter-renderer.js` is a clean split of the code existing in `box-model-highlighter.js` into distinct parts which handle the node measurement (observer) and the drawing the highlighter (renderer). I kept the method names identical to help in matching them up with their original sources.

There was no simple way chunk this without confusing the daylight out of you so I decided to co-locate all changes so it's easier to track and reference methods.

I will detail below the important differences.


## Overview:

The box model highlighter is split into two distinct parts:
- an observer which monitors the node's position
- a renderer which draws the highlighter on top of the node

The renderer always lives in the parent process (browser window) and overlays an iframe with the highlighter markup:
- either over the content if highlighting in the context of the content toolbox
- or over the whole browser UI if highlighting in the context of the browser toolbox

When in the context of the browser toolbox (i.e. highlighting the browser UI), both observer and renderer live in the parent process. Communication is done by direct calls.

When in the context of the content toolbox (i.e. highlighting the page content), the observer lives in content process (so it can measure the node) while the renderer lives in the parent process. Communication is done by message passing via `MessageManager` (soon to be deprecated and replaced with JSWindowActor API)

## Notable differences after the split

- the observer checks whether it is in the content process (aka child process) and sets up the highlighter in the parent process by using [`setupInParent()`](https://docs.firefox-dev.tools/backend/actor-e10s-handling.html) and establishes a communication system to it via message manager. If the observer is in the parent process (browser toolbox scenario), the renderer is setup directly via its constructor and no additional communication system is required.

- whenever the node quads change (as determined by the untouched existing base class `auto-refresh.js`), the observer gathers the data about the node position and sends it over to the renderer. This happens in the `BoxModelHighlighterObserver._update()` (corresponding to the [`_update()` from the existing highlighter](https://searchfox.org/mozilla-central/rev/45f30e1d19bde27bf07e47a0a5dd0962dd27ba18/devtools/server/actors/highlighters/box-model.js#361-383)).

- the renderer expects its `render()` method to be called with the necessary node position information whenever it should update the highlighter. It is the entry point which then calls all the DOM manipulation methods copied over from the existing box model highlighter.

- the only notable change in DOM manipulation methods is in `BoxModelHighlighterRenderer._updateBoxModel()` (corresponding to [`updateBoxModel()` from the existing highlighter](https://searchfox.org/mozilla-central/rev/45f30e1d19bde27bf07e47a0a5dd0962dd27ba18/devtools/server/actors/highlighters/box-model.js#504-560)) where the `_nodeNeedsHighlighting()` is kept on the observer part and the canvas zoom adjustment is removed  (`this.markup.scaleRootElement(this.currentNode, rootId)`) because the canvas is no longer influenced by the page zoom (the canvas lives in the browser window, not the content window)

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

--HG--
rename : devtools/server/actors/highlighters/box-model.js => devtools/server/actors/highlighters/box-model-renderer.js
extra : moz-landing-system : lando
2019-10-10 14:15:22 +00:00
Razvan Caliman c34e4a24a6 Bug 1572651 - (Part 1) Add highlighter renderer base class r=jdescottes,pbro,bgrins
**Update October 8**
 To use the new box model highlighter, flip this pref to true:
`devtools.inspector.use-new-box-model-highlighter`

---

Adding Julian as reviewer to check the sanity of the communication system and Patrick for the overall highlighter behavior.

---

This patch adds a base class for the renderer part of highlighters which is set up on the parent process in the browser window.
This is used by the `BoxModelHighlighterRender` introduced by D47092

`HighlighterRenderer.init()` will create an HTML iframe and inject it to the appropriate position in the browser window in order to serve as a rendering surface for highlighters of the inspected page content (content toolbox) or the browser UI (browser toolbox). A host iframe is used until [Bug 1492582](https://bugzilla.mozilla.org/show_bug.cgi?id=1492582) is fixed because the browser window is XUL and does not support the anonymous canvas frame used by existing highlighters.

The primary use case of `HighlighterRenderer` is as a base class for renderers which live in a separate process than the observers. This happens with highlighters for the content toolbox. Therefore, it provides methods to setup a communication system (via MessageManager for now) whereby the observer can send messages to the renderer and vice-versa: `setMessageManager()`, `postMessage()` and `onMessage()`.

I used the existing code from [`AccessibilityParent`](https://searchfox.org/mozilla-central/source/devtools/server/actors/accessibility/accessibility-parent.js) as a reference for this.

Classes that extend HighlighterRenderer must implement:
 - a typeName representing the highlighter type; used to differentiate between other types of messages when the Message Manager is used;
 - a _buildMarkup() method to generate the highlighter markup;
 - a `render()` method to update the highlighter markup when given new information about the observed node.

NOTE: A temporary pink outline is set on the highlighter surface as a quick visual check to show its extent depending on context: browser toolbox or content toolbox. This will be removed before landing.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 14:13:23 +00:00
Brian Hackett 4d9930a53d Bug 1586468 Part 2 - Use observer service to listen for content process connects/disconnects, r=ochameau.
Depends on D48260

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

--HG--
extra : moz-landing-system : lando
2019-10-09 21:17:44 +00:00
Brian Hackett 26c8bffa81 Bug 1580168 Part 2 - Use PID as ID of child process actors, r=ochameau.
Depends on D48084

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

--HG--
extra : moz-landing-system : lando
2019-10-09 20:52:47 +00:00
Johann Hofmann d0da7de770 Bug 1475404 - Make EventUtils available to use in content task scopes. r=mconley,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D47588

--HG--
extra : moz-landing-system : lando
2019-10-09 18:03:35 +00:00
Miriam c44a06469a Bug 1587497 - Ensure debugger advances to next line when encountering breakpoint and watchpoint.
Differential Revision: https://phabricator.services.mozilla.com/D48721

--HG--
extra : moz-landing-system : lando
2019-10-09 18:22:41 +00:00
Logan Smyth 4470e56db4 Bug 1585902 - Use the protocoljs framework for emitting events. r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D48147

--HG--
extra : moz-landing-system : lando
2019-10-09 11:03:33 +00:00
jaril 61cb2a6ec1 Bug 1581245 - Added server support for frame timelines
Differential Revision: https://phabricator.services.mozilla.com/D48635

--HG--
extra : moz-landing-system : lando
2019-10-09 05:17:17 +00:00
Alexandre Poirot bd4fcbfbc8 Bug 1585829 - Ensure releasing Service workers when the connection drops. r=jdescottes
With fission, we most likely have a process switch and the existing worker
target isn't properly detached. We should ensure releasing the SW whenever
the connection to the server drops

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

--HG--
extra : moz-landing-system : lando
2019-10-08 14:44:42 +00:00
Patrick Brosset e12f3faba1 Bug 1574401 - Multi-target node-picker in the browser toolbox r=rcaliman,gl,ochameau
The original plan for the node-picker to work with multiple targets was introduced in D41598 (in bug 1568825). The idea was that, because we can have multiple independent inspectable targets, and because the client is the one doing the orchestration between them, to let the client start the node picker in all targets at once.
At the time of this first change, the code was create with this in mind, but there was really just one target (the top-level one).

So, this revision introduces the real code for this. First of all, I removed the now obsolete `getAllInspectorFronts` in `node-picker.js` because we now have a similar function on the inspector front directly.

Then the main code changes to look for are on the actor side, in the `HighlighterActor`. This is where the picking actually happens.
You have to remember that several targets will be picking at the same time, and therefore several `HighlighterActor` instances will be in pick mode at the same time.
The way they allow users to pick is by listening to mouse events (mousemove and clicks essentially).
Because these actors can't see or talk to each other, one can't tell the others that the mouse is now over its content and the other pickers should pause somewhat.

So, when one of them sees that the mouse event is happening on a remote frame, then it bails out and lets events through without handling them. This is so that the embedded document (which also has a picker running) can get a chance to receive the mouse events too.

The other aspect is that each `HighlighterActor`, when picking, does its own highlighting. So if there are 3 remote frames, then there really are 3 highlighters.
So the trick is to make sure only one of them ever appears at any given time. Again, these actors can't talk to each other directly, so the client is responsible for doing this when receiving events that a node was hovered.

This is not perfect, but should normally get far better when the new fission-compatible highlighter is in place. Indeed, when that happens, we won't have to care about this anymore, there will be only one `HighlighterRenderer` for the entire tab. So even if there are multiple `HighlighterActor` instances picking, they will all be sending events to the same renderer.

The only exception is in the browser toolbox where you can inspect both the browser UI and the content UI. In this case, there will be 2 renderers: one over the entire browser window, and one over the <browser> area. So we'll still have to do the dance of hiding one when the other is shown.

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

--HG--
extra : moz-landing-system : lando
2019-10-08 13:47:18 +00:00
Boris Chiou 089664a09e Bug 1506939 - Enable individual transform on nightly. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D48239

--HG--
extra : moz-landing-system : lando
2019-10-07 21:48:44 +00:00
wartmanm ada58cbb70 Bug 1433373 - Use source mapping for console jump to definition button r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D38096

--HG--
extra : moz-landing-system : lando
2019-10-07 08:40:04 +00:00
Miriam 63bd47c3e2 Bug 1582303 - Fix formatting in Scopes panel for array items with watchpoints. r=jlast
Differential Revision: https://phabricator.services.mozilla.com/D48083

--HG--
extra : moz-landing-system : lando
2019-10-07 20:40:32 +00:00
Dorel Luca 092ae9e4f7 Bug 1583151 - Follow up to jlaster's push. r=jlast. CLOSED TREE
--HG--
extra : amend_source : d49af95c86e5562e1540e9612863f7c750e05221
2019-10-07 23:50:54 +03:00
Jason Laster f8985ada98 Bug 1583151 - Log important errors to stdout (follow up). r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D46951

--HG--
extra : moz-landing-system : lando
2019-10-07 20:08:13 +00:00
Greg Tatum 4128a5f6ec Bug 1581975 - Factor out the getSymbolsTable browser code from client code; r=julienw
The popup's shortcuts use a different codepath than the popup's buttons.
When using the buttons, the profile was not being captured as a gzipped
profile, and it was using the DevTools' mechanism for getting the symbol
tables. This patch makes the getSymbolTables mechanism configuring in the
recording panel's client.

In addition, browser code made its way into the client. This patch moves
the browser code to all be in browser.js to match the original code
organization for the panel, which was trying to keep browser APIs
out of the React components and Redux store.

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

--HG--
extra : source : 5a3661caf52faaf67b10fcef9e3121d639a17cc3
2019-10-04 18:17:43 +00:00
Daniel Varga 038d80fc3b Backed out 2 changesets (bug 1580469, bug 1581975) for devtools failure at browser/browser_aboutdebugging_serviceworker_timeout.js
Backed out changeset f44e632769d7 (bug 1580469)
Backed out changeset 5a3661caf52f (bug 1581975)

--HG--
extra : rebase_source : 4ab13ee495ce0709daaaed4e3cec53d11bd3042a
2019-10-05 01:17:45 +03:00
Greg Tatum 47016d67d0 Bug 1581975 - Factor out the getSymbolsTable browser code from client code; r=julienw
The popup's shortcuts use a different codepath than the popup's buttons.
When using the buttons, the profile was not being captured as a gzipped
profile, and it was using the DevTools' mechanism for getting the symbol
tables. This patch makes the getSymbolTables mechanism configuring in the
recording panel's client.

In addition, browser code made its way into the client. This patch moves
the browser code to all be in browser.js to match the original code
organization for the panel, which was trying to keep browser APIs
out of the React components and Redux store.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 18:17:43 +00:00
Alexandre Poirot 8981bc5d55 Bug 1585986 - Print method name when RDP can't be sent because the front is destroyed. r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D45667

--HG--
extra : moz-landing-system : lando
2019-10-03 14:09:38 +00:00
Alexandre Poirot 3e4fdd2d31 Bug 1583252 - Shutdown content process DebuggerServer only once the last connection closes. r=jdescottes
When multiple DebuggerClients starts debugging the same content process target,
the first one to close will destroy the other one as we destroy the server
and the loader as soon as we receive the debug:content-process-destroy message.
We should destroy them only once the last client closes.
i.e. when the last connection registered in the content process is destroyed.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 16:24:36 +00:00
Alexandre Poirot 19fdc6af3e Bug 1583252 - Assert that there is no pending client at end of each test. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D46805

--HG--
extra : moz-landing-system : lando
2019-10-02 16:24:29 +00:00
yulia 39e4903e66 Bug 1574401 - allow reparenting r=rcaliman,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D44133

--HG--
extra : moz-landing-system : lando
2019-10-02 09:49:12 +00:00
yulia cd1a3bfb7b Bug 1574401 - remove nodeFront's connectToFrame r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D45368

--HG--
extra : moz-landing-system : lando
2019-10-02 09:49:02 +00:00
yulia 13b4624bbb Bug 1574401 - move listRemoteFrame from targets to mainRoot and descriptors r=jdescottes,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D45367

--HG--
extra : moz-landing-system : lando
2019-10-02 09:48:47 +00:00
Jason Laster 9c5a0d2916 Bug 1581562 - Empty debugger while debugging watchpoints. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D47705

--HG--
extra : moz-landing-system : lando
2019-10-02 02:24:09 +00:00
Tom Ritter 61213de3b1 Bug 1582577 - Refactor a data: loadProcessScript from DevTools r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D46954

--HG--
extra : moz-landing-system : lando
2019-09-24 15:24:33 +00:00
Brian Hackett ea7d31a7d8 Bug 1583671 - Allow pausing on exceptions in workers, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D47320

--HG--
extra : moz-landing-system : lando
2019-10-01 15:07:45 +00:00
Jason Laster b398214772 Bug 1583447 - Fix BrowserConsole "this._debuggerSourcesSeen is null". r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D46988

--HG--
extra : moz-landing-system : lando
2019-10-01 06:46:37 +00:00
Pranshu Chittora 08eed7c3be Bug 1584020 - Dimension overlay formats sizes as y-x, from x-y r=jdescottes
Changes the format of dimensions in inspector to (Y - X) from (X - Y)

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

--HG--
extra : moz-landing-system : lando
2019-10-01 06:28:21 +00:00
Micah Tigley 47ee24af1f Bug 1579133 - Screenshot page content with embedded RDM UI. r=gl
Adds another method on the Emulation actor that screenshots the page content. Here, another instance of the ScreenshotActor is managed by the Emulation actor. The ScreenshotActor already provides methods to handle capturing page content along with additional options such as screenshotting the full page, which we may want to use in the future.

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

--HG--
extra : moz-landing-system : lando
2019-09-30 14:59:01 +00:00
Brian Hackett 0526fcd23a Bug 1583174 - Watch for exceptions being thrown while getting a script's breakpoint positions, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D47269

--HG--
extra : moz-landing-system : lando
2019-09-27 21:57:28 +00:00
Miriam b52f6bd330 Bug 1581447 - Fix event breakpoints ignoring blackboxed files. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D47120

--HG--
extra : moz-landing-system : lando
2019-09-27 20:40:41 +00:00
Michael Ratcliffe b483d7e76a Bug 1581339 - Inactive CSS: Tooltip wording updates r=flod,fluent-reviewers,pbro
Differential Revision: https://phabricator.services.mozilla.com/D47119

--HG--
extra : moz-landing-system : lando
2019-09-26 12:53:28 +00:00
Anny Gakhokidze f1c694e18f Bug 1582531 - Update fission annotations for skipped tests that are now passing succesfully, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47347

--HG--
extra : moz-landing-system : lando
2019-09-27 14:25:10 +00:00
Sorin Davidoi b44e43d6a5 Bug 1403051 - Server Timings. r=Honza
Implements visualization for Server Timings.

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

--HG--
extra : moz-landing-system : lando
2019-09-27 14:19:35 +00:00
Julian Descottes 6703ecb952 Bug 1583749 - Stop exposing deprecated connect() api on the webextension descriptor front r=yulia,rpl
Depends on D47053

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

--HG--
extra : moz-landing-system : lando
2019-09-27 09:53:55 +00:00
Julian Descottes 367847b999 Bug 1583749 - Add isDescriptor trait to webextension descriptor actor r=yulia
Depends on D47051.

Without the trait, we keep calling the connect() wrapper on the actor, which is supposed to be deprecated

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

--HG--
extra : moz-landing-system : lando
2019-09-27 09:52:44 +00:00
Julian Descottes 0af833bc23 Bug 1583749 - Remove unnecessary trait webExtensionAddonConnect r=ochameau
Depends on D47050. Trait was added in 2017, all servers should now have support this by default

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

--HG--
extra : moz-landing-system : lando
2019-09-25 14:54:16 +00:00
Sean Feng 660aac23aa Bug 1467970 - Unsupport cross docGroup adoption r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D43135

--HG--
extra : moz-landing-system : lando
2019-09-14 00:09:44 +00:00
arthur.iakab b61f7995be Backed out 2 changesets (bug 1403051) for causing devtools failures on browser_parsable_css.js CLOSED TREE
Backed out changeset d93010798ea5 (bug 1403051)
Backed out changeset 0c049e82eb05 (bug 1403051)
2019-09-26 16:32:12 +03:00
Noemi Erli 62876bf286 Bug 1403051 - Fix ES lint failure 2019-09-26 14:27:48 +03:00
Sorin Davidoi ee8bfc0e23 Bug 1403051 - Server Timings. r=Honza
Implements visualization for Server Timings.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:38:54 +00:00
Julian Descottes 823d14335d Bug 1583457 - Remove unused MONITOR_LOCATION_CHANGE option from ConsoleProgress r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D46936

--HG--
extra : moz-landing-system : lando
2019-09-26 07:22:37 +00:00
Daisuke Akatsuka fa5347f328 Bug 1581008: Add inactive CSS message for properties that are impossible to override. r=pbro,fluent-reviewers,flod
Depends on D45624

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

--HG--
extra : moz-landing-system : lando
2019-09-26 01:53:40 +00:00
Julian Descottes 5c1a679523 Bug 1539462 - Remove WebIDE r=ochameau,jryans,janerik,fluent-reviewers,flod
Per deprecation roadmap on https://developer.mozilla.org/en-US/docs/Tools/Deprecated_tools#WebIDE_and_Connect_page

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

--HG--
extra : moz-landing-system : lando
2019-09-25 17:24:58 +00:00
David Walsh 853a3f73c7 Bug 1580728 - Wire up backend of blocked URLs r=Honza
Differential Revision: https://phabricator.services.mozilla.com/D46671

--HG--
extra : moz-landing-system : lando
2019-09-25 16:23:38 +00:00
Michael Ratcliffe ec59485613 Bug 1579582 - 'grid-column' etc have an effect for abs.pos. boxes with a grid container as 'containing block' r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D45830

--HG--
extra : moz-landing-system : lando
2019-09-25 11:20:40 +00:00
Cosmin Sabou b9c401dc1b Backed out 2 changesets (bug 1581008) for mochitest failures on test_styles-matched.html. CLOSED TREE
Backed out changeset 1208c70dd3bd (bug 1581008)
Backed out changeset d69f8f5f9db4 (bug 1581008)
2019-09-25 11:51:11 +03:00
Daisuke Akatsuka 26d18e0ea4 Bug 1581008: Add inactive CSS message for properties that are impossible to override. r=pbro,fluent-reviewers,flod
Depends on D45624

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

--HG--
extra : moz-landing-system : lando
2019-09-25 07:45:15 +00:00
Paul Zuehlcke a20be9ee64 Bug 1574469 - Removed block param from nsICookieManager::Remove. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D45848

--HG--
extra : moz-landing-system : lando
2019-09-24 17:13:43 +00:00
biboswan 0ae7e55ac9 Bug 1551581 - New InactiveCSS rule to show warning when display:* used on a floated element; r=miker,pbro,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D45309

--HG--
extra : moz-landing-system : lando
2019-09-24 12:55:13 +00:00
Oana Pop Rus 3144f81e55 Backed out changeset cb1b6afa9f33 (bug 1574469) for multiple failures in nsICookieManager.remove on a CLOSED TREE 2019-09-24 13:10:07 +03:00
Paul Zuehlcke b7de7aec93 Bug 1574469 - Removed block param from nsICookieManager::Remove. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D45848

--HG--
extra : moz-landing-system : lando
2019-09-19 17:10:58 +00:00
Jason Laster 9ea2d08c1c Bug 1579768 - Debugger paused overlay is too obtrusive and cant be disabled. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D46494

--HG--
extra : moz-landing-system : lando
2019-09-23 14:35:31 +00:00
Brian Birtles 6bd2528448 Bug 1576866 - Make various border-image-* properties interpolable; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D46724

--HG--
extra : moz-landing-system : lando
2019-09-23 02:07:56 +00:00
Brian Hackett 5f354b55b0 Bug 1582901 - Improve stepping between frames, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46690

--HG--
extra : moz-landing-system : lando
2019-09-22 03:25:03 +00:00
Jason Laster fec4d666e1 Bug 1581232 - Log important errors to stdout. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D46533

--HG--
extra : moz-landing-system : lando
2019-09-20 01:16:02 +00:00
Brian Hackett 33f0851783 Bug 1582557 - Fix some stepping issues, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46518

--HG--
extra : moz-landing-system : lando
2019-09-19 21:18:57 +00:00
Mats Palmgren c83d0686e2 Bug 1580051 - Detect a subgrid also when it has a <line-name-list>. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D46371

--HG--
extra : moz-landing-system : lando
2019-09-19 09:14:59 +00:00
Jason Laster 0d8811c4bc Bug 1580374 - DOM BPs ignore ignores blackboxed files. r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D45761

--HG--
extra : moz-landing-system : lando
2019-09-18 18:00:58 +00:00
Brian Hackett 5cba39ef12 Bug 1577407 - Mark extension evaluated code appropriately for the debugger, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46365

--HG--
extra : moz-landing-system : lando
2019-09-18 21:50:53 +00:00
Brian Hackett 76aa860146 Bug 1581991 - Avoid spawning replaying children when rewinding is not allowed, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46240

--HG--
extra : moz-landing-system : lando
2019-09-17 23:59:56 +00:00
Brian Hackett a0762fda35 Bug 1581999 - Fix event logging while replaying, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46245

--HG--
extra : moz-landing-system : lando
2019-09-18 03:22:33 +00:00
Brian Hackett 458ed0080a Bug 1581665 - Tidy up handling of pause and paint data, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46087

--HG--
extra : moz-landing-system : lando
2019-09-16 22:43:39 +00:00
Jason Laster aca4c6e5c7 Bug 1581945 - It should not be possible to set watchpoints on non-configurable properties. r=bhackett
Differential Revision: https://phabricator.services.mozilla.com/D46214

--HG--
extra : moz-landing-system : lando
2019-09-17 22:28:36 +00:00
Jason Laster 5cb8b24f19 Bug 1110276 - Log on Events (UI). r=davidwalsh
Differential Revision: https://phabricator.services.mozilla.com/D46077

--HG--
extra : moz-landing-system : lando
2019-09-17 21:17:58 +00:00
Mark Banner 88eab57b84 Bug 1579452 - Enable ESLint rule no-async-promise-executor on disabled locations for devtools. r=jlast
Depends on D45010

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

--HG--
extra : moz-landing-system : lando
2019-09-17 17:50:23 +00:00
Brian Hackett 9e43080ec9 Bug 1581418 - Include more properties when logging objects, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D45961

--HG--
rename : devtools/client/webreplay/mochitest/browser_dbg_rr_console_warp-03.js => devtools/client/webreplay/mochitest/browser_rr_object_preview-01.js
extra : source : ece44b8f51e43f9dcb56a592cb4e5205f8ce19e6
2019-09-16 22:48:15 +00:00
Mihai Alexandru Michis 4174e65ff5 Backed out changeset ece44b8f51e4 (bug 1581418) for causing xpcshell failures.
--HG--
rename : devtools/client/webreplay/mochitest/browser_rr_object_preview-01.js => devtools/client/webreplay/mochitest/browser_dbg_rr_console_warp-03.js
2019-09-17 06:17:05 +03:00
Brian Hackett da5abd1fbc Bug 1546369 - Support InspectorUtils.getContentState while replaying, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D46091

--HG--
extra : moz-landing-system : lando
2019-09-16 23:30:33 +00:00
Brian Hackett 1cd0fb99fd Bug 1581418 - Include more properties when logging objects, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D45961

--HG--
rename : devtools/client/webreplay/mochitest/browser_dbg_rr_console_warp-03.js => devtools/client/webreplay/mochitest/browser_rr_object_preview-01.js
extra : moz-landing-system : lando
2019-09-16 22:48:15 +00:00
Nicolas Chevobbe 8be561cece Bug 1577798 - Don't create a new Debugger instance in WebConsoleActor. r=ochameau,jlast.
Previously, when creating a new WebConsoleActor, we were
also creating a new Debugger instance.
The problem was that we would never call `enable` on it,
which is what allows to create debuggee for all existing
globals, and for the ones that will be created after.
This means that we had multiple workaround to get a
global debuggee, and in the case of function, would add
a global as a debuggee only to get its script location.

This patch remove the creation of the new Debugger,
and retrieve the parent actor Debugger instance instead.

This shuffles things around a bit, are the Debugger instance
was created by the ThreadActor, but is now by the target
actor (BrowsingContext, ContentProcess, ...).

We can then remove the now unused `getGlobalDebugObject`
hooks we were using in the Function previewer, as we
get a proper Debugger object, with the script location.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 12:12:22 +00:00
Daisuke Akatsuka d2d8fffbd5 Bug 713106: Lock/unlock :visited pseudo-class. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D45805

--HG--
extra : moz-landing-system : lando
2019-09-13 22:12:29 +00:00
Daisuke Akatsuka 409a2bc885 Bug 713106: Make :visited selector enabled to use from DevTools. r=pbro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D45624

--HG--
extra : moz-landing-system : lando
2019-09-13 22:12:12 +00:00
Daisuke Akatsuka ef36d9df93 Bug 713106: Show :visited rule while the pseudo is locked. r=pbro,emilio
Differential Revision: https://phabricator.services.mozilla.com/D45623

--HG--
extra : moz-landing-system : lando
2019-09-13 22:11:58 +00:00
Brian Hackett c5861a20a0 Bug 1581434 - Convert new console message arguments into the proper format, r=jlast.
Differential Revision: https://phabricator.services.mozilla.com/D45967

--HG--
extra : moz-landing-system : lando
2019-09-16 03:18:11 +00:00