8 ms·
Servo: Embeddable Browser Engine
- nashashmi 12y agoIf anybody is having connection issue: https://www.readability.com/articles/16xpxxli https://www.readability.com/articles/16xpxxli
- chadzawistowski 12y agoHmm, this looks to be a different article.
- deleted 12y ago[deleted]
- agumonkey 12y agocache: http://web.archive.org/web/20150513190529/http://blogs.s-osg.org/servo-the-embeddable-browser-engine/ http://web.archive.org/web/20150513190529/http://blogs.s-osg...
- deleted 12y ago[deleted]
- shmerl 12y agoSo, may be KDE should use embedded Servo instead of Qt WebKit? Or even better, make that engine pluggable to allow choice?
- pcwalton 12y agoI believe the Qt WebEngine uses the unstable Chromium Content API directly. So it would have to be rewritten on top of a stable API, like CEF, first.
- repsilat 12y agoIt would certainly make for some curious history. I guess this was tongue in cheek? EDIT: for those wanting context, WebKit started its life as fork of the KDE project's KHTML, and has gone on to supplant it. Having KDE ditch WebKit for Servo (no doubt with Safari and Chromium still using WebKit-based renderers) would be an strange state of affairs.
- shmerl 12y agoEven if "strange" it would be a good state of affairs, since Servo is definitely going to have better performance (and I expect security). Plus it might help Debian to avoid some concerns they had recently regarding KDE packaging.
- duaneb 12y ago> Servo is definitely going to have better performance (and I expect security). Is this clear? The multi-core rendering surely can't be used for every page.
- grayrest 11y agoDoing everything in parallel is pretty much the point of the project. I'm not directly involved but I have been watching the project. There a few specific parts of layout that can't be parallelized[0] but pretty much every page [1][2] has work that can be done in parallel. The last batch of perf numbers I know of is from last November [3] and I'm unaware of any major perf regressions. [0] http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-layout-in-servo/ http://pcwalton.github.io/blog/2014/02/25/revamped-parallel-... [1] https://github.com/servo/servo/pull/4969 https://github.com/servo/servo/pull/4969 [2] http://blog.servo.org/2015/04/02/twis-29/ http://blog.servo.org/2015/04/02/twis-29/ (scroll down) [3] http://events.linuxfoundation.org/sites/events/files/slides/LinuxConEU2014.pdf http://events.linuxfoundation.org/sites/events/files/slides/...
- alphonse23 12y agoThat little wordpress blog can't handle headline HN's traffic. Apache just doesn't cut it anymore these days.
- kodablah 12y agoIs Servo going to employ a multi-process model like Chromium? I am afraid so which makes it very tough for embedding. I see cef_execute_process [1] and what not are not implemented. Are there plans to implement that far up the embedding API? Hopefully a single-process-yet-multiple-page/tab embedded servo is fully supported (unlike --single-process for CEF/Chromium). 1 - https://github.com/servo/servo/blob/master/ports/cef/core.rs#L100 https://github.com/servo/servo/blob/master/ports/cef/core.rs...
- pcwalton 12y agoYes, Servo is going to go multi-process. There's a PR to do that already (though it needs a good amount of forward porting at this point). It's hard to say about single-process mode; it'll stay maintained as long as someone's willing to do the maintenance. There isn't anything that's inherently multiprocess about the architecture (for example, there are basically no global variables anywhere in Servo), in any case, so I don't imagine it'll be hard to keep it running. I don't want to make any promises, though.
- higherpurpose 12y agoAny thoughts on going multi-"app container" in the future as well? https://blogs.windows.com/msedgedev/2015/05/11/microsoft-edge-building-a-safer-browser/ https://blogs.windows.com/msedgedev/2015/05/11/microsoft-edg...
- pcwalton 12y agoThat's essentially a detail of the Windows sandbox implementation. Servo's sandboxing story is Rust's gaol library [1], which has no support for Windows yet, but any multiprocess deployment on Windows would want to be accompanied by a sandbox utilizing those kinds of features. [1]: https://github.com/pcwalton/gaol https://github.com/pcwalton/gaol
- infogulch 12y agoWhat are the benefits of multi-process over merely multi-threaded for a guaranteed memory- and thread-safe language like rust? In the Chromium Multi-process Architecture design document[0] the benefits boil down to security and stability. While memory safety doesn't guarantee secure logic, it obviates a large class of bugs that a multi-process architecture is designed to counteract. While memory safety doesn't prevent deadlocks, it does completely prevent data race conditions. [0]: https://www.chromium.org/developers/design-documents/multi-process-architecture https://www.chromium.org/developers/design-documents/multi-p...
- AlisdairO 12y agoCached: http://webcache.googleusercontent.com/search?q=cache:2ziypEdabXcJ:blogs.s-osg.org/servo-continues-pushing-forward/+&cd=2&hl=en&ct=clnk&gl=uk http://webcache.googleusercontent.com/search?q=cache:2ziypEd...
- itistoday2 11y agoDifferent post. agumonkey posted the right one.
- pc2g4d 12y agoError establishing a database connection
- Animats 12y agoAnother step forward towards the post C/C++ world.
- ausjke 11y agoso how is Servo different from Chromium Embedded Framework and what value it brings?
- grayrest 11y agoCEF is the API used to embed Webkit (now Blink). Servo is Mozilla's new research rendering engine, it's adopting the CEF API to make embedding easier for people.
- PudgePacket 11y agohttps://github.com/servo/servo/wiki/Design#overview-and-goals https://github.com/servo/servo/wiki/Design#overview-and-goal...
- haberman 11y agoIs it possible with this API to run headless? I always lamented that you can't make a command-line, programmable tool that is a fully robust implementation of the web. It would be very cool if this could enable it.
- therein 11y agoSelenium Webdriver [1] or PhantomJS [2] might be what you are looking for. [1] http://docs.seleniumhq.org/projects/webdriver/ http://docs.seleniumhq.org/projects/webdriver/ [2] http://phantomjs.org http://phantomjs.org
- pcwalton 11y agoYou could probably rig up a headless implementation, as CEF doesn't create its own windows if you run it in offscreen mode (as any widget embedder would do). Servo does have a "true" headless mode (headless.rs) as well that we use for running tests, though it's not exposed through CEF at the moment.
- Manishearth 11y agoServo itself can run fully headless right now; though I'm not sure how it's implemented.
- ksec 11y agoWould License be an issue? I see GPL / LGPL, MIT / BSD or Apache as being mainstream. Why MPL again.
- justinjlynn 11y agoI'm sure that it's because Mozilla is comfortable with it. In reality, they don't owe us anything in particular. They chose a licence that works for them, is OSI Open Source(tm) approved and is compatible with a number of other licences (Apache, GPL, et al). Good enough.
- the_why_of_y 11y agoThe MPLv2 is a very nice license that deserves wider use. MPLv2 is a weak (file-scoped) copyleft that avoids some of the provisions in (L)GPL that drive corporate lawyers raving mad, it's explicitly compatible with (L)GPLv2+ thus avoiding balkanization, and it does have a modern patent grant clause like ALv2/(L)GPLv3.
- frik 11y agoI can't wait til I can use Servo with a basic HTML based UI on Win7 - like Phoenix 0.1 for WinXP, picture: http://upload.wikimedia.org/wikipedia/commons/7/7d/Phoenix_0.1.png http://upload.wikimedia.org/wikipedia/commons/7/7d/Phoenix_0... History: http://en.wikipedia.org/wiki/History_of_Firefox#Naming http://en.wikipedia.org/wiki/History_of_Firefox#Naming
- Manishearth 11y agoWe have servo-shell as an HTML UI[0], which is pretty nice. Windows support is still a while away. You can help out[1], though! [0]: https://github.com/glennw/servo-shell https://github.com/glennw/servo-shell [1]: https://github.com/servo/servo/issues/1908 https://github.com/servo/servo/issues/1908
- tinganho 11y agoI hope that they can switch out Atom with this.
- some1else 11y agoTangential question: Is it possible to parallelize constraint-based layouts? Update: There is paper[1] describing layout parallelization with 80x performance increases. However, I'm not sure it works on constraint-based layouts, such as GSS[2]. [1] https://lmeyerov.github.io/projects/pbrowser/pubfiles/paper.pdf https://lmeyerov.github.io/projects/pbrowser/pubfiles/paper.... [2] http://gridstylesheets.org/guides/ccss/ http://gridstylesheets.org/guides/ccss/
- Manishearth 11y agoFrom http://kmcallister.github.io/papers/2015-servo-experience-report-draft1.pdf http://kmcallister.github.io/papers/2015-servo-experience-re... > Ras Bodik’s group at the University of California Berkeley worked on a parallel browsing project (funded in part by Mozilla Research) that focused on improving the parallelism of layout. Instead of our approach to parallel layout, which focuses on multiple parallel tree traversals, they modeled a subset of CSS using attribute grammars. They showed significant speedups with their system over a reimplementation of Safari’s algorithms, but we have not used this approach due to questions of whether it is possible to use attribute grammars to both accurately model the web as it is implemented today and to support new features as they are added. Servo uses a very similar CSS selector matching algorithm to theirs.