Commit graph

32 commits

Author SHA1 Message Date
Keegan McAllister
ffe60ea027 Trait changes, and eliminate 'copy' 2013-08-15 13:55:40 -07:00
Eric Atkinson
eb1b40db13 Don't use a whole in-order traversal for computing heights. 2013-08-09 00:05:31 -07:00
Keegan McAllister
ea5fb8c4a3 First attempt at incremental layout
For now we only prune the bubble_widths traversal, because of inability to
reuse FloatContexts.  Other limitations are likewise marked with FIXME
comments.
2013-08-01 15:31:58 -07:00
Keegan McAllister
aae230c73f Clean up calls to layout_root.dump()
We had two calls, one of which was dead code.
2013-08-01 15:31:57 -07:00
Tim Kuehn
e9888b299c structural changes to support Iframes 2013-07-29 11:03:17 -07:00
Jack Moffitt
94d83f96f1 Fix flow tree debug printing.
Nested `debug!()` calls are no-ops, so change it now does a `println`. Also
moved to the `debug!()` calls out of the profiled block.
2013-07-22 10:43:02 -06:00
Eric Atkinson
9c5ab1545c Fix regression on clicking links 2013-07-17 16:32:02 -07:00
Eric Atkinson
5fc794fbc4 Refactor display lists to use an explicit traversal 2013-07-15 17:46:14 -07:00
Tim Kuehn
a6eaffcd93 forward/back navigation with shift+backspace and backspace
script caches last loaded url -- currently no caching policy
naive caching of render layers for near-instant forward/back
handling evicted pipelines is currently broken
2013-07-02 17:26:30 -07:00
Tim Kuehn
d17a1f2ad7 rename engine --> constellation 2013-07-01 11:03:31 -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
Eric Atkinson
94e7a86b7e Added floats to the flow tree 2013-06-24 16:07:02 -07:00
Jack Moffitt
a9e1354118 Refactor renderer into single function.
This removes the task per tile rendering and instead renders tiles
serially. This also unwraps the rendering into a single function so that it's
much clearer.
2013-06-17 15:10:41 -06:00
Tim Kuehn
577a410f80 refactor compositor interfaces \--> RenderListener + ScriptListener; AttachCompositorMsg added to render_task::Msg
updated to reflect comments
2013-06-17 12:37:02 -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
204c5b663a Add a spinner for layout 2013-06-12 11:02:56 -07:00
Tim Kuehn
a53a7f689d Add link following and refactor the profiler. 2013-06-12 11:02:49 -07:00
Jack Moffitt
5425154f96 Merge remote-tracking branch 'origin/master' into pcwalton-master
Conflicts:
	src/components/main/layout/box_builder.rs
2013-06-10 21:31:11 -06:00
Eric Atkinson
4c6b4fb593 Refactor flow tree construction and actually use display property. 2013-06-07 14:55:12 -07:00
Patrick Walton
c65d51f812 Address review comments 2013-06-06 13:55:14 -07:00
Patrick Walton
ae5b2dfc72 Roll up block layout changes 2013-06-05 21:40:11 -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
40a69fc517 Address review comments 2013-06-04 15:23:18 -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
2d1a00c3cf Don't clip layers to the screen area 2013-05-30 14:05:22 -07:00
Patrick Walton
bf82bc54f3 Separate the DOM and layout into separate crates. 2013-05-28 17:13:40 -07:00
Patrick Walton
0ea1a94f8e Remove the layout debug methods.
Premature abstraction; nothing used the traits polymorphically. Furthermore,
they increased coupling between layout and the DOM.
2013-05-28 16:55:07 -07:00
Patrick Walton
0a95672236 Reduce coupling between layout and the DOM by separating out the layout interface.
Eventually, the layout interface will be moved along with the DOM into a
separate crate.
2013-05-28 16:41:55 -07:00
Patrick Walton
4f3ca373d4 Introduce a phantom type to prevent script from accessing the layout data directly.
Nodes are now parameterized over a "View" type. The particular View type
determines which methods can be called. Layout data accessors and mutators are
only accessible to nodes with a LayoutView. The only way to convert a
`Node<ScriptView>` to a `Node<LayoutView>` is through a transmutation, which is
done at the moment the layout task receives nodes. (This should be factored
better to contain the unsafety.)

We should also lock down DOM node mutation to the ScriptView to forbid data
races, but this patch doesn't do that.

This also reduces coupling between DOM and layout. Soon I would like to move
the DOM into its own crate, and this is a step on the way of doing that.
2013-05-28 15:40:47 -07:00
Patrick Walton
c7bce98236 Remove the servo- prefix from core components. 2013-05-28 15:40:47 -07:00
Renamed from src/components/servo/layout/layout_task.rs (Browse further)