Remoting Prototype

From FirebugWiki

(Difference between revisions)
Jump to: navigation, search
(Prototype)
(Implementation)
 
(3 intermediate revisions not shown)
Line 6: Line 6:
== Prototype ==
== Prototype ==
-
The current development happens on [https://github.com/firebug/firebug/tree/jsd2 jsd2] branch.
+
The current development happens on the [https://github.com/firebug/firebug/tree/jsd2 jsd2] branch.
=== Setup ===
=== Setup ===
See how to setup your environment to successfully connect Firebug to remote browser instance. Note that you need to install Firebug on both sides, client and server.
See how to setup your environment to successfully connect Firebug to remote browser instance. Note that you need to install Firebug on both sides, client and server.
-
Following preferences need to be set (use about:config)
+
Following preferences need to be set (use <code>about:config</code>)
-
* Server
+
==== Server ====
-
** <code>devtools.debugger.remote-enabled</code> - must be set to ''true''
+
* <code>devtools.debugger.remote-enabled</code> - must be set to <code>true</code>
-
** <code>extensions.firebug.serverMode</code>  - must be set to ''true''
+
* <code>extensions.firebug.serverMode</code>  - must be set to <code>true</code>
-
** <code>devtools.debugger.force-local</code> - set to ''false'' if you want to connect to browser instance on another machine
+
* <code>devtools.debugger.force-local</code> - set to <code>false</code> if you want to connect to browser instance on another machine
-
* Client
+
==== Client ====
-
** <code>extensions.firebug.serverHost</code> - name of the remote host (''localhost'' by default)
+
* <code>extensions.firebug.serverHost</code> - name of the remote host (<code>localhost</code> by default)
-
** <code>extensions.firebug.serverPort</code> - remote port (5999 by default)
+
* <code>extensions.firebug.serverPort</code> - remote port (<code>5999</code> by default)
-
 
+
In order to make a connection start both browser instances (use two Firefox profiles if testing on one machine). The client side should automatically try to connect the server according to the settings. See the ''Connecting...'' button in the main Firebug toolbar.
-
In order to make a connection start both browser instances (use two Firefox profiles if tested on one machine). The client side should automatically try to connect the server according to the prefs settings. See the ''Connecting...'' button in the main Firebug toolbar.
+
=== FBTrace ===
=== FBTrace ===
In order to see/filter logs on the server and client you should use following options in the FBTrace console.  
In order to see/filter logs on the server and client you should use following options in the FBTrace console.  
-
* Server:
+
* CONNECTION - Use this option to see packet communication. Every log is also associated with the packet so, you can simply explore its structure.
-
* Client: CONNECTION
+
 
 +
* BTI - See various logs related to BTI architecture such as registering various BTI listeners.
=== Implementation ===
=== Implementation ===
-
Rough summary of steps to implement remotable Firebug prototype (starting with the Script and Net panels).
+
Rough summary of steps to implement a remotable Firebug prototype (starting with the [[Script Panel|Script]] and [[Net Panel]]).
* Create a simple server side to connect to
* Create a simple server side to connect to
Line 38: Line 38:
* Provide simple UI to allow the user to connect the server
* Provide simple UI to allow the user to connect the server
* Implement custom actors on the server side
* Implement custom actors on the server side
-
* Implement new ''Script'' panel supporting remotable architectur
+
* Implement new ''Script'' panel supporting remotable architecture
-
* Implement Script panel proxy on top of the connection object
+
* Implement ''Script'' panel proxy on top of the connection object
-
* Move UI pieces from the old (JSD1 based) Script panel step by step into the new Script panel (JSD2 based).
+
* Move UI pieces from the old (JSD1 based) ''Script'' panel step by step into the new (JSD2 based) ''Script'' panel.
* Connect existing built-in script-debugger actors
* Connect existing built-in script-debugger actors
 +
 +
== Working Scenarios ==
 +
Some use-cases are already working.
 +
 +
* [http://www.janodvarko.cz/firebug/jsd2/tests/stepping.html Stepping]

Latest revision as of 14:42, 5 September 2012

This page is intended to provide detailed instructions about how to use remote capabilities in Firebug.

Contents

[edit] Resources

[edit] Prototype

The current development happens on the jsd2 branch.

[edit] Setup

See how to setup your environment to successfully connect Firebug to remote browser instance. Note that you need to install Firebug on both sides, client and server.

Following preferences need to be set (use about:config)

[edit] Server

  • devtools.debugger.remote-enabled - must be set to true
  • extensions.firebug.serverMode - must be set to true
  • devtools.debugger.force-local - set to false if you want to connect to browser instance on another machine

[edit] Client

  • extensions.firebug.serverHost - name of the remote host (localhost by default)
  • extensions.firebug.serverPort - remote port (5999 by default)

In order to make a connection start both browser instances (use two Firefox profiles if testing on one machine). The client side should automatically try to connect the server according to the settings. See the Connecting... button in the main Firebug toolbar.

[edit] FBTrace

In order to see/filter logs on the server and client you should use following options in the FBTrace console.

  • CONNECTION - Use this option to see packet communication. Every log is also associated with the packet so, you can simply explore its structure.
  • BTI - See various logs related to BTI architecture such as registering various BTI listeners.

[edit] Implementation

Rough summary of steps to implement a remotable Firebug prototype (starting with the Script and Net Panel).

  • Create a simple server side to connect to
  • Implement basic connection object
  • Provide simple UI to allow the user to connect the server
  • Implement custom actors on the server side
  • Implement new Script panel supporting remotable architecture
  • Implement Script panel proxy on top of the connection object
  • Move UI pieces from the old (JSD1 based) Script panel step by step into the new (JSD2 based) Script panel.
  • Connect existing built-in script-debugger actors

[edit] Working Scenarios

Some use-cases are already working.

Personal tools