Firefox OS/Remote Control Service
Jump to navigation
Jump to search
Introduction
Remote control Service is the entry point of Remote Control feature. This page will introduce how the service works in Gecko.
Bug: bug 1197749
Enable remote control in custom build
Remote control is for Firefox OS TV, so it's only available when you add the following line to mozconfig:
ac_add_options --enable-remote-control-service
Gecko uses the macro MOZ_B2G_REMOTECONTROLSERVICE to enable remote control in following files:
- b2g/app/b2g.js
- b2g/installer/package-manifest.in
- b2g/chrome/jar.mn
- b2g/chrome/content/shell.html
- b2g/moz.build
- b2g/components/moz.build
- toolkit/modules/AppConstants.jsm
Use AppConstants.MOZ_B2G_REMOTECONTROLSERVICE in following file:
- b2g/chrome/content/settings.js
Architecture Design
Service start/stop
- shell.html includes chrome://b2g/content/remote_control.js
- remote_control.js reads Gecko preference remotecontrol.service.enabled, if true, start service
- remote_control.js monitors the preference to start/stop service
Gaia MozSettings mapping
User can use remote control app to start/stop service. But the app only write changes to MozSettings, service monitors Gecko preference to start/stop. In settings.js, function setupRemoteControlSettings monitors MozSettings remote-control.enabled and write the value to Gecko preference remotecontrol.service.enable.