DevTools/AppTools/Design: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Created page with "## Server side The app manager uses 2 actors at the moment: * ''/toolkit/devtools/server/actors/webapps.js'': this actor provides methods to manipulate apps * ''/toolkit/devt...")
 
No edit summary
Line 1: Line 1:
## Server side
== Server side ==


The app manager uses 2 actors at the moment:
The app manager uses 2 actors at the moment:
Line 5: Line 5:
* ''/toolkit/devtools/server/actors/device.js'': this actor provides info about the connected device (Firefox OS, Firefox Desktop, Fennec, Thunderbird, ...)
* ''/toolkit/devtools/server/actors/device.js'': this actor provides info about the connected device (Firefox OS, Firefox Desktop, Fennec, Thunderbird, ...)


## Client side
== Client side ==


### Connection
=== Connection ===


''/toolkit/devtools/client/connection-manager.js''
''/toolkit/devtools/client/connection-manager.js''
Line 13: Line 13:
The debugger client is wrapped into an object call `Connection`. A `ConnectionManager` creates and delete connections. Connections are persistent. A connection is destroyed only if explicitly requested (via `ConnectionManager.deleteConnection`). If the client is not connected yet or has been disconnected, the connection object is still alive. Only its status is affected (`Connection.status`). A connection emits events ("disconnected", "connecting", "timeout", ...).
The debugger client is wrapped into an object call `Connection`. A `ConnectionManager` creates and delete connections. Connections are persistent. A connection is destroyed only if explicitly requested (via `ConnectionManager.deleteConnection`). If the client is not connected yet or has been disconnected, the connection object is still alive. Only its status is affected (`Connection.status`). A connection emits events ("disconnected", "connecting", "timeout", ...).


### Stores
=== Stores ===


''/browser/devtools/app-manager/*-store.js''
''/browser/devtools/app-manager/*-store.js''
Line 19: Line 19:
A store is a JSON-like object that gathers many information about one specific topic. For example, ''device-store.js'' is an object with info about the device (version, permissions, name, ...). `store.object` holds the JSON like object, and `store` is an event emitter. If any property of this object changes, an event is fired. For example: deviceStore.on("set", (e,p,v) console.log(p)) will print "name" if deviceStore.object.name is updated. The store are fed from a connection object.
A store is a JSON-like object that gathers many information about one specific topic. For example, ''device-store.js'' is an object with info about the device (version, permissions, name, ...). `store.object` holds the JSON like object, and `store` is an event emitter. If any property of this object changes, an event is fired. For example: deviceStore.on("set", (e,p,v) console.log(p)) will print "name" if deviceStore.object.name is updated. The store are fed from a connection object.


### Frontend
=== Frontend ===


''/browser/devtools/app-manager/content/*''
''/browser/devtools/app-manager/content/*''
Confirmed users
591

edits

Navigation menu