Gaia
XUL
- XML User Interface Language, a cross-platform language for description applications’ user interface.
- https://developer.mozilla.org/en-US/docs/XUL_Tutorial
XULRunner
- XULRunner deploys XUL applications.
- https://developer.mozilla.org/en-US/docs/XULRunner
shell.xul
- An entry point of Gaia, brings system APP up.
- gecko/b2g/chrome/content/shell.xul
System app
- System app is the parent frame that create and destroy iframes to launch or stop other web apps.
API: mozSettings
- get
- set
- observer
How app to launch
- Get app reference from mozApps API, and call app.launch()
- Gecko receives request, then fire mozChromeEvent to System with launching APP detail
- System handle event, then insert iframe into it’s DOM
- App load index.html in iframe
Write test case in Gaia
- https://github.com/mozilla-b2g/gaia/#tests
- Unit Tests, https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests
- Integration Test, https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Automated_testing/Gaia_integration_tests
- Provide APIs:
suite(),test(),setup(),teardown()