servo / servo Goto Github PK
View Code? Open in Web Editor NEWServo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
Home Page: https://servo.org/
License: Mozilla Public License 2.0
Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
Home Page: https://servo.org/
License: Mozilla Public License 2.0
For some reason, running the ref tests (the png compositor) ends up leaking dom nodes, while the screen compositor does not. If I comment out the following lines in content_task it does not leak:
let compartment = option::expect(self.compartment, ~"TODO error checking");
compartment.define_functions(debug_fns);
define_bindings(*compartment,
option::get(self.document),
option::get(self.window));
We would like to draw using Azure. Need bindings.
compile: rt/i686-unknown-linux-gnu/arch/i386/_context.o
/bin/sh: 1: /home/projects/rust/build-incoming/llvm/i686-unknown-linux-gnu/Release+Asserts/bin/llvm-mc: not found
make: *** [rt/i686-unknown-linux-gnu/arch/i386/_context.o] Error 127
How can I solve this problem??
When I make the rust source, it happens
I have no idea what I'm doing, but this is something:
https://gist.github.com/2879750
make[3]: Entering directory `/code/servo/build/src/harfbuzz/src'
GEN hb-gobject-enums.cc
GEN hb-ot-shape-complex-indic-machine.hh
GEN /code/servo/src/harfbuzz/src/.gitignore
make all-am
make[4]: Entering directory `/code/servo/build/src/harfbuzz/src'
CXX libharfbuzz_la-hb-blob.lo
mv: cannot stat `.deps/libharfbuzz_la-hb-blob.Tpo': No such file or directory
make[4]: *** [libharfbuzz_la-hb-blob.lo] Error 1
(I'm running Ubuntu 12.04 64-bit, by the way, and rustc aabf84c.)
There should be no coupling between style resolution and layout data structures. For some reason, apply.rs directs through Box
to cascade and resolve values.
Servo only builds in-tree now.
make check
make check -C src/rust-cocoa
rustc /Users/user/servo/src/rust-cocoa/cocoa.rc -o cocoa-test --test
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug
note: try running with RUST_LOG=rustc=0,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
make[1]: *** [cocoa-test] Error 101
make: *** [check-rust-cocoa] Error 2
RUST_LOG=rustc=0,::rt::backtrace rustc /Users/user/servo/src/rust-cocoa/cocoa.rc -o cocoa-test --test
rust: task failed at 'Assertion res as int != 0 failed', /Users/user/rust/src/libcore/flate.rs:48
error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug
note: try running with RUST_LOG=rustc=0,::rt::backtrace to get further details and report the results to github.com/mozilla/rust/issues
rust: task failed at 'explicit failure', /Users/user/rust/src/rustc/driver/rustc.rs:265
rust: domain main @0x7fc819800010 root task failed
rust: task failed at 'killed', /Users/user/rust/src/libcore/task.rs:549
Right now it is hardcoded to a specific version of a Homebrew install.
Making all in shaping
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
make[3]: Nothing to be done for `all-am'.
make check -C src/rust-harfbuzz RUSTFLAGS="-L ../harfbuzz/src/.libs/"
rustc -L ../harfbuzz/src/.libs/ /Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rc -o harfbuzz-test --test
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:7:22: 7:30 error: unresolved typename: uint32_t
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:7 type hb_codepoint_t = uint32_t;
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:9:21: 9:28 error: unresolved typename: int32_t
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:9 type hb_position_t = int32_t;
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rc:1:0: 1:0 note: 'i32' is imported here
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rc:1 #[link(name = "harfbuzz",
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rc:7:7: 7:35 note: 'i32' is imported here
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rc:7 import libc::types::common::c99::*;
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:13:27: 13:30 error: 'i32' is glob-imported from multiple different modules.
/Users/ramitos/servo/src/rust-harfbuzz/harfbuzz.rs:13 type union__hb_var_int_t = i32;
make[1]: *** [harfbuzz-test] Error 101
make: *** [check-rust-harfbuzz] Error 2
It just cleans spidermonkey over and over.
current trunk servo , rust (servo:82de5c89ac9ad79591a5bb249075825ae4d59a51 Thu 23 Aug 2012 02:49:22 AM IDT, rust:8ee79c79aada1b5943b5ada11570f9b903c74579 Tue 21 Aug 2012 08:00:06 AM IDT)
servo/src/rust-http-client/http_client.rs:246:11: 246:18 warning: implicitly copying a non-implicitly-copyable value
servo/src/rust-http-client/http_client.rs:246 return events;
^~~~~~~
touch libhttp_client.dummy
make[1]: Leaving directory servo/build/src/rust-http-client' make -C src/libparserutils make[1]: Entering directory
servo/build/src/libparserutils'
cd servo/src/libparserutils && perl build/make-aliases.pl
mv servo/src/libparserutils/src/charset/aliases.inc src/charset
mv: cannot move servo/src/libparserutils/src/charset/aliases.inc' to
src/charset': No such file or directory
make[1]: ** [src/charset/aliases.inc] Error 1
make[1]: Leaving directory `servo/build/src/libparserutils'
make: *** [src/libparserutils/libparserutils.dummy] Error 2
I installed latest rust
WCLui-iMac:build WCL$ rustc -v
rustc 0.4 (9c98d0f 2012-09-08 20:04:21 -0700)
Installed all dependencies as illustrated in
pulled latest servo from git. But I am getting build failed with rust-cocoa.
Error :
$ make check && make
make check -C src/rust-cocoa
cc /Users/WCL/servoGit/servo/src/rust-cocoa/msgsend.c -o msgsend.o -c
ar rcs libmsgsend.a msgsend.o
rustc /Users/WCL/servoGit/servo/src/rust-cocoa/cocoa.rc -o cocoa-test --test
warning: no debug symbols in executable (-arch x86_64)
./cocoa-test
running 2 tests
doSomething
test base::test_custom_obj ... ok
nsapp: 4324354752
test base::test_nsapp ... ok
result: ok. 2 passed; 0 failed; 0 ignored
make check -C src/rust-core-foundation
rustc /Users/WCL/servoGit/servo/src/rust-core-foundation/core_foundation.rc -o rustcorefoundation-test --test
/Users/WCL/servoGit/servo/src/rust-core-foundation/number.rs:25:20: 25:24 error: obsolete syntax: lower-case kind bounds
/Users/WCL/servoGit/servo/src/rust-core-foundation/number.rs:25 fn new_number<T:copy ConvertibleToCFNumber>(n: T) -> CFNumber {
^~~~
note: the send
, copy
, const
, and owned
kinds are represented as traits now, and should be camel cased
error: aborting due to previous error
make[1]: *** [rustcorefoundation-test] Error 101
make: *** [check-rust-core-foundation] Error 2
any Idea what wrong. I tried reinstalling rust several times, and tried building servo many time but same error.
Thanks for help.
We've had one before but it was ilooping on linux.
Similar to ref tests, I think we should use WebDriver to get Firefox to serialize the DOM, serialize servo's DOM in the same format, and compare.
I want to use PhantomJS to generate the reference images. There's the beginning of a test harness under src/reftest.
Let's do it before we get to locked in. The version of azure that we're on won't do a standalone skia build because it has dependencies on gecko internals, but we need to upgrade azure again anyway.
Let's also build skia in-tree. Not building cairo in tree results in problems on os x.
There's a hack in the renderer to do color conversion on images to put them in the format cairo expects. This should be done just once, during decoding.
It would be good to ensure that DOM bindings work does not regress in the future.
A request to the image cache for an image either results in ImageReady or ImageNotReady. When the image is not ready we need to be able to request a reflow when it becomes available.
Currently servo can only be ended using kill -9
.
It should end when
Edit: This is on Mac OS X
our technique isn't actually particularly related to RCU from the kernel. It's more like copy-on-write.
Currently, the CSS parser has to munge around in strings to extract numbers and units, such as in parsing 'font-size'. The lexer should be lexing numbers and units, so that the parser should never need to create a number from a string.
We want to fit sandboxing into the design earlier than later. We can start with a simple seccomp sandbox with some IPC that looks something like Rust pipes. That should be enough for sandboxing image decoders at least.
One possibility is that we could build our native libraries with NaCL to provide some extra peace of mind.
Rust's makefiles can narrow down the tests run using TESTNAME, but servo doesn't support this. Requires editing makefiles of all the subprojects too.
It is very unsafe code, using shared boxes across multiple tasks. I think proceeding with this sort of design without figuring out a way to encapsulate the unsafety better will make maintenance and debugging difficult. We should back off of this approach for now.
Servo still does not claim to be distributed under any license. There are probably only two options, MIT (the Rust license) and MPL.
We do have an OFL licensed font in the repo.
compile: rt/i686-unknown-linux-gnu/arch/i386/_context.o
/bin/sh: 1: /home/projects/rust/build-incoming/llvm/i686-unknown-linux-gnu/Release+Asserts/bin/llvm-mc: not found
make: *** [rt/i686-unknown-linux-gnu/arch/i386/_context.o] Error 127
cfg: shell host triple i686-unknown-linux-gnu
cfg: host for i686-unknown-linux-gnu is i386
cfg: unix-y environment
cfg: using gcc
cfg: no pandoc found, omitting doc/rust.pdf
cfg: no llnextgen found, omitting grammar-verification
cfg: no pandoc found, omitting library doc build
cfg: including install rules
compile: rt/i686-unknown-linux-gnu/arch/i386/_context.o
/bin/sh: 1: /home/projects/rust/build-incoming/llvm/i686-unknown-linux-gnu/Release+Asserts/bin/llvm-mc: not found
make: *** [rt/i686-unknown-linux-gnu/arch/i386/_context.o] Error 127
images are loaded by apply_style directly from disk. In order to use the resource manager to load the image we need to know the url of the current document (in order to resolve relative paths), and that url isn't available to the layout task currently.
It seems like layout shouldn't be responsible for loading images anyway, so something needs to be reconsidered here.
ResourceTask doesn't do any caching, but it should. Both in-memory and on-disk caches should use the LRU-SP algorithm.
I've been trying for weeks, every few days, latest servo master and latest incoming branch of rust but I keep on getting rustc compile errors so I must be doing something wrong!
Ubuntu 12.04, this is one that I've been seeing a bit and am getting on today's servo/master & rust/incoming of but it's not the only one I've seen:
rustc -O -L ../mozjs/ /home/rvagg/git/servo/src/rust-mozjs/js.rc -o js-test --test
/home/rvagg/git/servo/src/rust-mozjs/name_pool.rs:24:12: 24:17 error: expected `;` or `}` after expression but found `c_str`
/home/rvagg/git/servo/src/rust-mozjs/name_pool.rs:24 ret c_str; // ...and so this ptr ought to be valid.
I really want this baby to compile! Suggestions?
I followed the steps in REAME, then I get the following error when I type make check && make
How can I solve this? Thanks
https://gist.github.com/3015850
The second time I try to make, I get different error
https://gist.github.com/3015853
Since the latest round of churn it always fails to open the test files.
For displaying text
The font code is doing manual memory management that isn't failsafe.
any way to avoid this problem? (other than building autoconf 2.13?)
autoconf --version
autoconf (GNU Autoconf) 2.68
if building that specific version is the only solution maybe a section in the readme to do it the least intrusive way for the rest of the system would be nice :)
Hi,
I am trying to build servo on mac os x (10.7.4) and get an error while using make check -
https://gist.github.com/3164700
servo/src/rust-mozjs/rust.rs:297:24: 297:34 error: unresolved name: str::bytes
rustc -O -L ../mozjs/ /media/debian-home/nadav/projects/servo/src/rust-mozjs/js.rc -o js-test --test
/media/debian-home/nadav/projects/servo/src/rust-mozjs/js.rs:6:7: 6:22 error: failed to resolve import
/media/debian-home/nadav/projects/servo/src/rust-mozjs/js.rs:6 import io::WriterUtil;
^~~~~~~~~~~~~~~
/media/debian-home/nadav/projects/servo/src/rust-mozjs/global.rs:45:11: 45:26 error: failed to resolve import
/media/debian-home/nadav/projects/servo/src/rust-mozjs/global.rs:45 import io::WriterUtil;
^~~~~~~~~~~~~~~
error: failed to resolve imports
We haven't decided for sure whether we want to use a Java->Rust translation of the reference parser, or to use a handwritten one in Rust. Either way we need something a lot better than what we have.
The easiest way to get started so to just start extending the existing handwritten one.
Needs a decent testing strategy.
At the moment, the display list builder requests images from the image decoder then stores them in the display list, causing all image decoding to be sequential. Instead, we should request the image, then store a future in the display list for the renderer to wait on later.
Need to rewrite core::future to be sendable.
Some of the CG bindings are in rust-cocoa. They should be moved to rust-core-graphics, and rust-cocoa removed from servo. quartz_native_font contains some core text bindings that should be moved to rust-core-text.
They all need high-level bindings that manage destruction properly.
current trunk servo , rust (servo:82de5c89ac9ad79591a5bb249075825ae4d59a51 Thu 23 Aug 2012 02:49:22 AM IDT, rust:8ee79c79aada1b5943b5ada11570f9b903c74579 Tue 21 Aug 2012 08:00:06 AM IDT)
running 6 tests
test test_simple_response ... ignored
test request::should_request_slash_when_path_is_empty ... ok
make[1]: *** [check] Segmentation fault (core dumped)
make[1]: Leaving directory servo/build/src/rust-http-client'
make: *** [check-rust-http-client] Error 2
I've checked and the timers are functioning, and the JS callback is executing successfully (according to the return value, at least). Something's changed.
Rust + recursive Makefiles is pretty lame experience.
I prefer to use a Rust-based build system that doesn't yet exist. Would be good for the health of cargo.
The attributes are an eyesore.
We have text now, but people are beginning to notice the absence of <blink>
.
This is a hard requirement for http://www.goer.org/htmlhorror/htmlhorror1.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.