You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
945 B
945 B
Batarang Architecture
This document describes the different parts of Batarang and how they interact with the aim to be useful for anyone that wants to help improve Batarang.
Parts
Devtools Elements pane
Devtools Pane
Dispays stuff
Instrumentation
Hooks into the app to give you stats and access to the models.
Background Page
- Lets us communicate between app and devtools pane
- Stores state
Bootstrap
How does Batarang start? When a tab is opened in Chrome:
- Chrome reads the
manifest.json
– specifically thecontent_scripts
field. - content script –
conent-scripts/inject.js
- checks for the presense of an
__ngDebug
cookie - embeds
<script>
into the app's<head>
- adds a mutation listener
- proxy elt
- app context patches angular
- emits events to content script
- content script sends messages to the backgroung page
- backgroung page emits events to the devtools pane