mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
The Servo Browser Engine
As I commented in codes, there are some issues to render some border-styles. I can't figure out why this code doesn't show what I expect. I compare this result with firefox. And when I tested it with CSSBorderStyleDashed, It looks almost same with firefox. But CSSBorderStyleSolid and CSSBorderStyleDotted don't show right result. I guess the first problem is processing JoinCap with CSSBorderStyleSolid. It might be problems in Azure or somewhere I don't know exactly. I suspect the second problem is processing DashPattern with CSSBorderDotted. It is also somewhere in Azure or another modules. So I sent this PR and expect someone can help me to figure out what the problem makes this issues. If you can't catch what the problem is exactly, I will leave an issue and look it more after this merged. PS. I referred to firefox code for border style codes. URL : http://mxr.mozilla.org/mozilla-central/source/layout/base/nsCSSRenderingBorders.cpp#1080 |
||
---|---|---|
bld | ||
mk | ||
src | ||
.gitignore | ||
.gitmodules | ||
configure | ||
Info.plist | ||
LICENSE | ||
Makefile.in | ||
README.md |
The Servo Parallel Browser Project
Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64bit OS X and 64bit Linux.
Prerequisites
On OS X (homebrew):
brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb
brew install automake libtool pkg-config
On OS X (MacPorts):
sudo port install autoconf213
On Debian-based Linuxes:
sudo apt-get install autoconf2.13 curl freeglut3-dev libtool \
libfreetype6-dev libfontconfig1-dev libgl1-mesa-dri libglib2.0-dev \
xorg-dev msttcorefonts
On Debian-based Linuxes (cross-compilation for Android):
sudo apt-get install autoconf2.13 curl libtool ia32-libs
And it needs pre-installed Android tools. See wiki for details
Servo builds its own copy of Rust, so there is no need to provide a Rust compiler.
Building
Servo cannot be built in-tree; you must create a directory in which to run configure and make and place the build artifacts.
git clone https://github.com/mozilla/servo.git
cd servo
mkdir -p build && cd build
../configure
make && make check
./servo ../src/test/html/about-mozilla.html
###Building for Android target
git clone https://github.com/mozilla/servo.git
cd servo
mkdir -p build && cd build
../configure --target-triples=arm-linux-androideabi --android-cross-path=<Android toolchain path> --android-ndk-path=<Android NDK path> --android-sdk-path=<Android SDK path>
make
Running
Commandline Arguments
-p INTERVAL
turns on the profiler and dumps info to the console everyINTERVAL
seconds-s SIZE
sets the tile size for rendering; defaults to 512
Keyboard Shortcuts
Ctrl-L
opens a dialog to browse to a new URL (Mac only currently)Ctrl--
zooms outCtrl-=
zooms inBackspace
goes backwards in the historyShift-Backspace
goes forwards in the historyEsc
exits servo
Developing
There are lots of make targets you can use:
make clean
- cleans Servo and its dependencies, but not Rustmake clean-rust
- cleans Rustmake clean-servo
- only cleans Servo itself (code insrc/components
make clean-DEP
- cleans the dependencyDEP
. e.g.make clean-rust-opengles
make bindings
- generate the Rust WebIDL bindingsmake DEP
- builds only the specified dependency. e.g.make rust-opengles
make check-DEP
- build and run tests for specified dependency