Browser.html is a research project aimed at building native apps in HTML using Servo. This project has 2 major pieces:
- Graphene: a runtime for building native apps in HTML. It's currently in development and part of Servo.
- Browser.html: an experimental browser UI for desktop.
This repository is for Browser.html (the front-end). Active development of Graphene happens in the Servo repository. Questions? Check out the FAQ.
We welcome contributions from anyone. See CONTRIBUTING.md for help getting started.
You'll need Node and NPM to develop and run the UI locally.
npm install --no-optional
npm start
First, build Servo.
Then, start the front-end local server:
npm run build-server
Finally, start Servo with the browser.html flags turned on in either debug (-d
) or release (-r
) mode:
./mach run -r -- -b --pref dom.mozbrowser.enabled http://localhost:6060
Browser.html can also be run on top of a Gecko-based version of Graphene. Browser.html was originally prototyped on top of this variant, and we sometimes use it to test and debug missing platform features while Servo undergoes rapid development. Build instructions for Gecko-flavored Graphene can be found on the wiki.
The easiest way to use developer tools with Browser.html is to select the "Remote Runtime" option in WebIDE while using the Gecko Graphene runtime.
By default you should be able to connect to the running browser at: localhost:6000.
Run integration tests with ./test/runall.sh
. You need to have a Graphene Gecko binary symlinked in the root of the repository.
ln -s ../gecko/obj-graphene/dist/Graphene.app graphene