Commit graph

41 commits

Author SHA1 Message Date
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00
Clark Gaebel
dafd0b652d Added a fast no-message RPC interface to the layout task. 2014-09-04 14:10:07 -07:00
Jack Moffitt
7a4321d649 Upgrade Rust. 2014-08-08 19:11:53 -06:00
Josh Matthews
015b07f1e0 Decouple compositing and script crates. 2014-08-08 16:17:17 -04:00
Jack Moffitt
b91e6f30e0 Upgrade Rust. 2014-08-02 21:11:47 -06:00
Manish Goregaokar
f5b5b337d3 Upgrade to latest Rust. 2014-06-27 18:50:32 -06:00
Matt Brubeck
4fef0d1c1c Separate "desktop" and "mobile" zoom calculations.
This ensures that the layout viewport responds to each type of zoom correctly,
and lays the ground for CSS Media Queries and CSS Device Adaption.

Until we have proper touch support, mobile-style "pinch" zoom can be simulated
by holding Ctrl while scrolling with a mousewheel or trackpad gesture.
2014-06-20 16:33:57 -07:00
Matt Brubeck
89327aa5be Outside of compositor, store window size in CSS px
This fixes an issue where the CSS viewport was too large on high-DPI displays
because it was set to the window size in device pixels, instead of px.  This
patch ensures that the window size is converted from device pixels to px
before being passed to script/layout code.

The Window trait now exposes the window size in both device pixels and
density-independent screen coordinates, with clearer method names.
2014-06-09 15:46:51 -07:00
Tetsuharu OHZEKI
106627e6eb "JS<T>::from_raw" should accept "*T" instead of "*mut T" 2014-05-31 01:10:19 +09:00
Ms2ger
eaedeb07cb Update Rust. 2014-05-22 16:36:40 -06:00
Manish Goregaokar
1008a536a7 Fix some unused_mut/unused_result warnings 2014-05-05 15:43:29 +05:30
Ms2ger
02bcf97fd0 Make get_content_boxes return Vec. 2014-04-28 23:06:26 +02:00
Ms2ger
20f649da71 Make get_nodes_under_mouse return Vec. 2014-04-28 23:06:26 +02:00
Lars Bergstrom
948daf2422 This batch of changes upgrades Servo to work with the Rust upgrade as of
April 10, 2014. The main changes are to privacy, to work around the
issues with incorrect bounds on the libstd `Arc<Mutex<T>>`, and the
various API changes strewn throughout the libraries.
2014-04-27 15:46:12 -05:00
Josh Matthews
742f73ded5 Add transparent Traceable and Untraceable types to aid proper rooting practices, and replace ad-hoc Untraceable structs with empty Encodable implementations. 2014-04-17 17:41:09 -04:00
Ms2ger
4e34fcd264 Remove trailing whitespace. 2014-04-07 11:41:58 +02:00
Ms2ger
31eee791dd Upgrade rust. 2014-04-04 20:10:32 +02:00
Lars Bergstrom
bbac8aa5c3 Rust upgrades 2014-03-18 09:30:35 -05:00
Josh Matthews
625325434b Implement JSManaged for DOM objects. 2014-02-24 15:16:42 -05:00
HyunJune Kim
c8d503898a This is implement Hover Event. If over element, currently full reflow. after PR, will make partial reflow. 2014-02-10 11:16:07 +09:00
Patrick Walton
7d447dbc06 script: Stop trusting pointers to DOM nodes that layout provides.
Pointers to DOM nodes from layout could go stale if incremental reflow
does not correctly destroy dead nodes. Therefore, we ask the JavaScript
garbage collector to verify that each DOM node is indeed a valid pointer
before calling event handlers on it, and fail otherwise.
2014-01-14 21:51:24 -08:00
Jack Moffitt
a7ef1cd35e Upgrade to latest Rust. 2014-01-12 19:45:45 -07:00
Patrick Walton
be69a503fe script: Eliminate the phantom type in favor of just whitelisting methods
that layout can safely call.

This is simpler. Currently, the set of methods is not safe, but I plan
to lock it down more soon.
2013-12-17 18:07:12 -08:00
Keegan McAllister
962984fb3b Reflow with full style damage when content changes
Fixes #664.
2013-12-09 12:34:33 -08:00
Keegan McAllister
b61160490a Refactor DocumentDamageLevel::add and add test 2013-12-09 12:31:34 -08:00
Patrick Walton
155befe10d Rewrite flow construction to be incrementalizable and parallelizable.
This replaces flow construction with a strict bottom-up tree traversal,
allowing for parallelism. Each step of the traversal creates a flow or
a `ConstructionItem`, similar to how Gecko works. {ib} splits are
handled by not creating `InlineFlow`s until the containing block is
reached.

This should be able to be incrementalized by storing the `Flow` from
layout to layout, and performing fixups during flow construction
and/or wiping containing blocks in a previous pass.
2013-11-18 11:24:11 -08:00
Seo Sanghyeon
b2431912d3 Use the new style system
Credits to:
    Deokjin Kim
    Ilyong Cho
    Jaeman Park
    Junyoung Cho
    Ryan Choi
    Sangeun Kim
    Yongjin Kim
    Youngmin Yoo
    Youngsoo Son
2013-10-23 16:49:35 +09:00
Simon Sapin
a325905fa6 Move the gfx::geometry module to servo_util::geometry.
This is part of #1006, in order to use Au from the script crate
without introducing a circular crate dependency.
2013-10-16 14:55:07 +01:00
Tim Kuehn
c804db0f93 deactive profiler when not in use; use newtype structs for task chans 2013-09-20 17:25:08 -04:00
Josh Matthews
d465abdb1c Make all DOM manipulation wait until it's safe to do so (ie. all reflows for the page have completed). Fix a race where a newly-initiated reflow would be considered complete when receiving the completion notice for the previous reflow. 2013-09-16 23:41:34 -04:00
Josh Matthews
79444596d1 Make querying layout for content boxes an infallible operation. 2013-09-04 11:07:11 -04:00
Keegan McAllister
a2d9810b69 Update Rust version again
This gets us the new runtime.
2013-08-15 13:56:29 -07:00
Keegan McAllister
be061a9aa0 Library changes 2013-08-15 13:55:40 -07:00
Tim Kuehn
e9888b299c structural changes to support Iframes 2013-07-29 11:03:17 -07:00
Tim Kuehn
fba7ec423c add pipeline.rs, modularized pipelines communicating with constellation 2013-07-01 11:03:31 -07:00
Brian Anderson
56e5ba1b82 Update for language changes 2013-06-26 13:44:26 -07:00
Tim Kuehn
b5dac3f426 decouple script from compositor
communicate via layout
refactor channel wrappers from *Task --> *Chan

fix merge fallout
2013-06-14 21:46:29 -07:00
Patrick Walton
7a435fc6ed Refactor document damage to distinguish it from layout/style damage.
Also, standardize on the name "reflow" instead of "relayout" or "build".
2013-06-04 22:00:33 -07:00
Patrick Walton
8d3b6aefa8 Stop rendering when script queries layout 2013-06-04 11:43:52 -07:00
Patrick Walton
f77eef5988 Basic hit testing functionality 2013-05-30 17:28:08 -07:00
Patrick Walton
bf82bc54f3 Separate the DOM and layout into separate crates. 2013-05-28 17:13:40 -07:00
Renamed from src/components/main/layout_interface.rs (Browse further)