Commit Graph

51 Commits

Author SHA1 Message Date
Luca Greco
250e9e18e4 Bug 1370925 - Fix missing DebuggingServer.removeContentServerScript. r=jdescottes
MozReview-Commit-ID: F1elUP3b7OD

--HG--
extra : rebase_source : 10a24b865302b61ae5f880e7c7e114d2a04c9414
2017-06-07 17:27:29 +02:00
Luca Greco
a977d84eda Bug 1300590 - Implement support for $0 and inspect bindings in devtools.inspectedWindow.eval. r=aswan,ochameau
MozReview-Commit-ID: CHuc57tfgzo

--HG--
rename : browser/components/extensions/test/browser/browser_ext_devtools_inspectedWindow.js => browser/components/extensions/test/browser/browser_ext_devtools_inspectedWindow_eval_bindings.js
extra : rebase_source : 0e207c6d422b0227ec867e08e05a6a323dc3664b
2017-02-15 14:54:50 +01:00
Julian Descottes
9bedf05e44 Bug 1364075 - remove DevTools dependency in ContentProcessSingleton;r=ochameau
MozReview-Commit-ID: 38XKKM37jC5

--HG--
extra : rebase_source : 65b3aced59a7f5ceca35b2941c1ab1c80ac89b2b
2017-05-29 23:36:26 +02:00
Luca Greco
0747cbb551 Bug 1302702 - Make WebExtension Addon Debugging oop-compatible. r=ochameau
This patch applies all the changes needed to the devtools actors
and the toolbox-process-window, to be able to debug a webextension
running in an extension child process (as well as a webextension
running in the main process).

The devtools actor used to debug a webextension is splitted into
3 actors:

- the WebExtensionActor is the actor that is created when the
  "root.listTabs" RDP request is received, it provides the addon
  metadata (name, icon and addon id) and two RDP methods:

  - reload: used to reload the addon (e.g. from the "about:debugging#addons" page)
  - connectAddonDebuggingActor: which provides the actorID of the actor
    that is connected to the process where the extension is running
    (used by toolbox-process-window.js to connect the toolbox to the needed
    devtools actors, e.g. console, inspector etc.)

- the WebExtensionParentActor is the actor that connects to the
  process where the extension is running and ensures that a
  WebExtensionChildActor instance is created and connected
  (this actor is only the entrypoint to reach the WebExtensionChildActor,
  and so it does not provide any RDP request on its own, it only connect
  itself to its child counterpart and then it returns the RDP "form" of
  the child actor, and the client is then connected directly to the
  child actor)

- the WebExtensionChildActor is the actor that is running in the same
  process of the target extension, and it provides the same requestTypes
  of a tab actor.

By splitting the WebExtensionActor from the WebExtensionParentActor, we are
able to prevent the RemoteDebuggingServer to connect (and create
instances of the WebExtensionChildActor) for every addon listed by
a root.listAddons() request.

MozReview-Commit-ID: L1vxhA6xQkD

--HG--
extra : rebase_source : 7ed7735084d9351ff32ab1ad822e53dd0828dace
2017-03-21 15:55:35 +01:00
Sebastian Hengst
5f9f503238 Backed out changeset 9b16857ca48d (bug 1302702) 2017-05-17 20:01:30 +02:00
Luca Greco
db7143751a Bug 1302702 - Make WebExtension Addon Debugging oop-compatible. r=ochameau
This patch applies all the changes needed to the devtools actors
and the toolbox-process-window, to be able to debug a webextension
running in an extension child process (as well as a webextension
running in the main process).

The devtools actor used to debug a webextension is splitted into
3 actors:

- the WebExtensionActor is the actor that is created when the
  "root.listTabs" RDP request is received, it provides the addon
  metadata (name, icon and addon id) and two RDP methods:

  - reload: used to reload the addon (e.g. from the "about:debugging#addons" page)
  - connectAddonDebuggingActor: which provides the actorID of the actor
    that is connected to the process where the extension is running
    (used by toolbox-process-window.js to connect the toolbox to the needed
    devtools actors, e.g. console, inspector etc.)

- the WebExtensionParentActor is the actor that connects to the
  process where the extension is running and ensures that a
  WebExtensionChildActor instance is created and connected
  (this actor is only the entrypoint to reach the WebExtensionChildActor,
  and so it does not provide any RDP request on its own, it only connect
  itself to its child counterpart and then it returns the RDP "form" of
  the child actor, and the client is then connected directly to the
  child actor)

- the WebExtensionChildActor is the actor that is running in the same
  process of the target extension, and it provides the same requestTypes
  of a tab actor.

By splitting the WebExtensionActor from the WebExtensionParentActor, we are
able to prevent the RemoteDebuggingServer to connect (and create
instances of the WebExtensionChildActor) for every addon listed by
a root.listAddons() request.

MozReview-Commit-ID: L1vxhA6xQkD

--HG--
extra : rebase_source : f9438b4a9842c1dd504edf2fcd87857c670f411f
2017-03-21 15:55:35 +01:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Florian Queze
95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Patrick Brosset
d64e4e25b7 Bug 1353010 - Remove the unused director-manager/registry API; r=ochameau
MozReview-Commit-ID: 3TZUs0MAhAi

--HG--
extra : rebase_source : a8fbdc1d5372ee60a77e5f31e297789b679dd740
2017-04-05 10:44:07 +02:00
Michelangelo De Simone
7baf165ae7 Bug 1313155 - Remove dom/settings and related code. r=Ehsan
MozReview-Commit-ID: Gi7frPFQ6yW

--HG--
extra : rebase_source : 69bb31fe3bc96ca460f0e35abb0b0f82d03defb6
2016-12-29 11:26:49 -08:00
Wes Kocher
ca99354e00 Backed out changeset 5566e83980ed (bug 1313155) for mass build bustage a=backout CLOSED TREE
MozReview-Commit-ID: Co3f2Vkbf4y
2017-01-12 14:16:52 -08:00
Michelangelo De Simone
0b3a927918 Bug 1313155 - Remove dom/settings and related code. r=Ehsan
MozReview-Commit-ID: Gi7frPFQ6yW

--HG--
extra : rebase_source : 401a8a202b1d8ebfd719d460bff96c9280062ded
2016-12-29 11:26:49 -08:00
Sebastian Hengst
cb76f56d60 Backed out changeset 6bc38f188ef2 (bug 1330099) for devtools failures. r=backout 2017-01-11 23:21:56 +01:00
Tim Nguyen
d7ea1c1605 Bug 1330099 - Enable object-shorthand eslint rule. r=jryans
MozReview-Commit-ID: 3wA25rfznBv
2017-01-11 21:22:15 +00:00
Alexandre Poirot
c0f597f8a5 Bug 1323466 - Prevent loading webbrowser.js in child process. r=jryans
MozReview-Commit-ID: J1EmwxplNhA

Make actor registration more explicit and documented.
Each codepath depends on various set of actors, and it may be confused
as we often register actors if the DebuggerServer wasn't initialized yet.
But it is often already started by some other callsite...

This changeset also converts childtab to being just a module
and stop using DebuggerServer.addActors magic.

--HG--
extra : rebase_source : acbfd98b7791c833181d655d6cae04ec9bb28f87
2016-12-19 03:14:12 -08:00
Kit Cambridge
8558928fe7 Bug 1322954 - Fix incorrect instanceof negations. r=markh
MozReview-Commit-ID: PgQmAu9hbQ

--HG--
extra : rebase_source : 376b83af517442cc05bc46ff7ca36e6ac46b06e2
2016-12-12 13:50:10 -08:00
Luca Greco
34df30a2de Bug 1315251 - Create a DevTools Remote Debugger Actor as a backend for the WebExtension DevTools API. r=ochameau
MozReview-Commit-ID: E6eNG8BgBwF

--HG--
extra : rebase_source : 84ca2206bfca41b0167f3de00a4874e811d41a47
2016-11-17 19:31:06 +01:00
J. Ryan Stinnett
a8aec05d11 Bug 1315391 - Rename all disconnect methods to destroy in actors. r=ochameau
Ever since protocol.js was added as a way to create DevTools actors, we've had
lots of confusion about the correct way to implement actor destruction.  If your
actor's _parent_ was the legacy kind, you had to use `disconnect`.  If it was
protocol.js, you had to use `destroy`.

There is no reason for this madness, which makes reasoning about destruction
quite hard.  Here we rename `disconnect` to `destroy` so there is only one name
for every destruction path.

MozReview-Commit-ID: C1Yw9NfUUR2

--HG--
extra : rebase_source : 4d018622b7547d404510e0b563c6324c0127aafc
2016-11-11 18:24:58 -06:00
Alexandre Poirot
c1adf2fe24 Bug 1315044 - Cache ContentActor forms to prevent creating new one when calling RootActor.getProcess multiple times. r=jryans
MozReview-Commit-ID: 3YyShRXQhel

--HG--
extra : rebase_source : 670ce6dc1b4c451bdb59dcebfa859d6089ed2624
2016-11-04 08:05:15 -07:00
Gabriel Luong
2cd6e3dddb Bug 1308257 - Part 1: Move ReflowActor to reflow.js r=pbro
--HG--
rename : devtools/server/actors/layout.js => devtools/server/actors/reflow.js
rename : devtools/shared/fronts/layout.js => devtools/shared/fronts/reflow.js
rename : devtools/shared/specs/layout.js => devtools/shared/specs/reflow.js
2016-11-01 11:51:58 +09:00
Ehsan Akhgari
28ed8f8748 Bug 1261019 - Part 2: Remove the webapps devtools actor; r=jryans 2016-10-13 13:18:41 -04:00
J. Ryan Stinnett
89421af622 Bug 1240912 - Add browser swap support to multiprocess actors. r=ochameau
Watch for browser swap events and update the message manager as necessary for
each of the actors that use the `setupInParent` multiprocess functionality.

MozReview-Commit-ID: HPibSONSYk4
2016-08-19 10:01:33 -05:00
J. Ryan Stinnett
3ed8a3dc20 Bug 1240912 - Convert Network Monitor to setupInParent. r=ochameau
MozReview-Commit-ID: 2fqsnR7IMWO
2016-08-19 10:01:32 -05:00
J. Ryan Stinnett
bb9b0bc5bb Bug 1240912 - NetworkMonitorManager uses mm instead of frame. r=ochameau
MozReview-Commit-ID: JsvQRwbjJDE
2016-08-19 10:01:30 -05:00
J. Ryan Stinnett
9defeffe44 Bug 1240912 - Toolbox remains connected across frame swaps. r=ochameau
It is now possible keep the toolbox open while toggling RDM open and closed.
The toolbox will follow the frame as it moves and update the message manager it
uses internally with each move.

MozReview-Commit-ID: DvLzCmOXfnb
2016-08-19 10:01:29 -05:00
Benoit Chabod
e6a3dde98e Bug 1285566 - Create an EmulationActor and use per-tab API for touch simulator, r=jryans
MozReview-Commit-ID: 860epGLFO9
2016-08-16 21:56:14 -05:00
Eddy Bruel
f2ee475ad4 Bug 1281040 - Make sure we detach from worker client when target is destroyed. r=jlongster 2016-08-08 07:53:37 +02:00
James Long
0b2677dddc Bug 1267365 - move various flags out of DevToolsUtils and don't depend on that module so much r=tromey 2016-08-05 17:41:01 -04:00
J. Ryan Stinnett
76baf9e8d6 Bug 1240907 - Flatten RemoteBrowserTabActor into BrowserTabActor. r=ochameau
The removes the legacy path for non-e10s that avoids the messageManager.  We now
use the messageManager for all cases, both e10s off and on.

Unsurprisingly, this revealed a variety of race conditions in various tests, so
they've been cleaned up as well.

MozReview-Commit-ID: EXEWehphLIY
2016-07-21 12:20:55 -05:00
J. Ryan Stinnett
96a4940397 Bug 1240907 - Tunnel toolbox messages to content in RDM. r=ochameau
When you open a toolbox in RDM, it will now debug the content page, instead of
the RDM UI.

MozReview-Commit-ID: LXbVhwNVlcp
2016-07-21 12:20:55 -05:00
J. Ryan Stinnett
79af73828e Bug 1283583 - Clean up code style in devtools/server/main.js. r=ochameau
MozReview-Commit-ID: 48Jr1Si8oUh
2016-07-01 18:35:25 -05:00
Nick Fitzgerald
da8d89330d Bug 1277414 - Remove the memprof actor; r=ejpbruel 2016-06-02 10:04:27 -07:00
Greg Tatum
262a831a1f Bug 1265798 - Implement CSS database to query css properties r=pbro
MozReview-Commit-ID: CAUh2GyeA2o

--HG--
extra : rebase_source : fc8e97f7bfc92c709014e58bd7f1670bc859460e
2016-05-26 08:48:00 -07:00
Kumar McMillan
897c43f281 Bug 1273183 - Install a temporary add-on via remote debugging. r=jryans
MozReview-Commit-ID: FoEZxDjldIA

--HG--
extra : transplant_source : %CC%9B%20%C1n%FB%2B%1C%D4%1Ab%1C%60%C4%91e%80%FA%8D6
2016-05-20 11:36:04 -05:00
J. Ryan Stinnett
30b2b7ce44 Bug 1271084 - Apply ESLint autofixes to ignored /devtools files. r=tromey
For simple rules like function spacing, we can auto-fix these across the code
base so they are followed in a consistent way.

To generate this patch, I ran:

./mach eslint devtools --no-ignore --fix

After this, I reverted any changes to third party files that we really do want
to ignore.

MozReview-Commit-ID: 6Q8BApkAW20
2016-05-18 12:49:23 -05:00
Jennifer Fong
2f312892d5 Bug 1270173 - Move protocol.js from devtools/server to devtools/shared. r=ejpbruel 2016-05-06 09:19:00 +02:00
Alexandre Poirot
5f9a6ab138 Bug 1198877 - Fix settings supports for mulet's simulators. r=jryans 2015-11-19 09:51:22 -08:00
Alexandre Poirot
348726a264 Bug 1220458 - Resolves ActorRegistry.registerActor only once actor is registered in the child processes. r=jryans
--HG--
rename : devtools/server/tests/mochitest/test_registerActor.html => devtools/server/tests/browser/browser_register_actor.js
2015-11-19 09:51:21 -08:00
Alexandre Poirot
02e511006d Bug 1113865 - Replace all calls to dbg_assert with DevToolsUtils.assert. r=fitzgen 2015-11-16 07:22:49 -08:00
Eddy Bruel
7d0ffa43db Bug 1223766 - Removing an actor from an actor pool should destroy it;r=past 2015-11-13 10:19:55 +01:00
Alexandre Poirot
68dc17ea2b Bug 1217867 - Prevent duplicated setupInParent calls when debugging same e10s tab with multiple clients. r=jryans 2015-11-02 08:18:58 -08:00
Brian Grinstead
1e63b6e777 Bug 1215117 - Make console input field work inside a worker toolbox;r=ejpbruel
--HG--
extra : commitid : 284VqUOwCvf
2015-10-26 09:13:11 -07:00
Alexandre Poirot
101f877c07 Bug 1169643 - Stop preventing reloading crashed tabs when devtools are opened. r=jryans 2015-10-22 08:06:16 -07:00
J. Ryan Stinnett
986f2a5cde Bug 1203159 - Rewrite DevTools resource URLs. r=ochameau 2015-10-21 12:48:53 -05:00
Nick Fitzgerald
3742b835d8 Bug 1207645 - Create HeapSnapshotFileActor; r=jryans
This commit creates the HeapSnapshotFileActor and moves the transferHeapSnapshot
method from MemoryActor to HeapSnapshotFileActor. This is necessary because
child processes in e10s are sandboxed and do not have access to the file system,
and because MemoryActor is in the sandboxed child process it cannot open the
file and send it over the RDP.

This complexity is hidden at the MemoryFront layer. Users of MemoryFront will
still simply call its saveHeapSnapshot method, and do not need to worry about
the inner workings of how heap snapshot files are transferred over the RDP. This
required adding a third parameter to MemoryFront's initialize method: the
listTabs response.
2015-09-25 15:35:02 -07:00
Carsten "Tomcat" Book
a1b0ef663b Backed out 1 changesets (bug 1207645) for Mulet Gaia JS Integration Test Gij 21 and 4 perma test failures
Backed out changeset a23053342d5b (bug 1207645)
2015-09-25 16:54:34 +02:00
Nick Fitzgerald
3dd24d960d Bug 1207645 - Create HeapSnapshotFileActor; r=jryans
This commit creates the HeapSnapshotFileActor and moves the transferHeapSnapshot
method from MemoryActor to HeapSnapshotFileActor. This is necessary because
child processes in e10s are sandboxed and do not have access to the file system,
and because MemoryActor is in the sandboxed child process it cannot open the
file and send it over the RDP.

This complexity is hidden at the MemoryFront layer. Users of MemoryFront will
still simply call its saveHeapSnapshot method, and do not need to worry about
the inner workings of how heap snapshot files are transferred over the RDP. This
required adding a third parameter to MemoryFront's initialize method: the
listTabs response.
2015-09-24 17:19:03 -07:00
J. Ryan Stinnett
4f1af0e003 Bug 912121 - Update misc. DevTools paths and comments. rs=devtools
--HG--
extra : commitid : BSf4D59s9HF
extra : rebase_source : 4d14e1aa3ad93bbb426861336e8b703bc1e0b3af
2015-09-21 12:07:31 -05:00
J. Ryan Stinnett
efe328f1b2 Bug 912121 - Rewrite require / import to match source tree. rs=devtools
In a following patch, all DevTools moz.build files will use DevToolsModules to
install JS modules at a path that corresponds directly to their source tree
location.  Here we rewrite all require and import calls to match the new
location that these files are installed to.

--HG--
extra : commitid : F2ItGm8ptRz
extra : rebase_source : b082fe4bf77e22e297e303fc601165ceff1c4cbc
2015-09-21 12:04:18 -05:00