Commit graph

5232 commits

Author SHA1 Message Date
Caitlin Potter
24ef69dccb Implement basic last-resort font selection. 2013-06-10 15:26:04 -04:00
bors-servo
8ee1b5f57a auto merge of #508 : eric93/servo/refactor_flowtree_construction, r=pcwalton
Eliminates a level of indirection in flow tree construction and uses 'display' to construct flows.
2013-06-10 09:39:48 -07:00
Joel Feenstra
9d7f78ac79 Add initial support for the line-height property. Line height is only based on the tallest box in each line and does not factor in the vertical-alignment. Improves whitespace handling by passing the whitespace state between function invocations. 2013-06-08 20:34:39 -04:00
Eric Atkinson
4c6b4fb593 Refactor flow tree construction and actually use display property. 2013-06-07 14:55:12 -07:00
Patrick Walton
98a730c703 Use full paths for submodules in the configure script 2013-06-06 16:21:18 -07:00
Patrick Walton
c65d51f812 Address review comments 2013-06-06 13:55:14 -07:00
Patrick Walton
97eb5671bb Update the configure script to pass --enable-64bit 2013-06-06 13:47:52 -07:00
eschweic
f59b0963ee Changed texturing mode to LINEAR for better zooming 2013-06-06 11:31:47 -07:00
Patrick Walton
9c25474ea6 Only warn, don't assert, if the node range length is zero.
This broke http://www.all-about-ferrets.com/long-tailed-weasel.html
2013-06-06 10:47:30 -07:00
Patrick Walton
ae5b2dfc72 Roll up block layout changes 2013-06-05 21:40:11 -07:00
Patrick Walton
5750069e0a Use the scroll hack 2013-06-05 21:40:07 -07:00
eschweic
6832808caa Merge with pcwalton's updated branch 2013-06-05 15:51:03 -07:00
eschweic
160f58e90a Impelemented zooming and slightly better scrolling. 2013-06-05 15:35:53 -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
e6ff135c01 test_slam_layout, a new layout perf test case 2013-06-04 11:43:47 -07:00
Patrick Walton
fb2ce2c00c Rename with_imm_base to with_base. 2013-06-03 16:06:38 -07:00
Eric Atkinson
cddf67a0e6 Update border rendering 2013-05-31 17:29:23 -07:00
Patrick Walton
f1fcd4d323 Add comments and compute heights properly 2013-05-31 17:28:14 -07:00
Patrick Walton
72ca765cd0 Update rust-css and fix some dynamic borrow check failures 2013-05-31 17:22:01 -07:00
Patrick Walton
0b91af3677 Refactor a bit and compute vertical margins as well. 2013-05-30 22:56:15 -07:00
Patrick Walton
708f9b4db5 Fix method names and dynamic borrow check failures 2013-05-30 18:14:50 -07:00
Eric Atkinson
d5e47933ab Add horizontal borders, margins and padding. Broken until rust-css supports padding 2013-05-30 17:39:33 -07:00
Patrick Walton
facb70756c Update rust-css and rust-netsurfcss 2013-05-30 17:38:00 -07:00
Patrick Walton
f77eef5988 Basic hit testing functionality 2013-05-30 17:28:08 -07:00
Tim Kuehn
ea1a406589 base and bounds methods for DisplayItem 2013-05-30 17:11:59 -07:00
Patrick Walton
2e4cecc718 Add flows if requested to the display list info.
This will be used for hit testing.
2013-05-30 16:10:35 -07:00
Patrick Walton
e2bcd3648e Color links blue 2013-05-30 14:05:23 -07:00
Patrick Walton
dcfabb71d1 Don't try to remove whitespace twice if it's the only node.
Fixes a failure on Wikipedia.
2013-05-30 14:05:23 -07:00
Patrick Walton
02c57728c5 Fix corrupted textures when resizing. 2013-05-30 14:05:23 -07:00
Patrick Walton
d97f002111 Stop hammering on the compositor 2013-05-30 14:05:23 -07:00
Patrick Walton
67eb533fc6 Clamp scrolling to the page boundaries 2013-05-30 14:05:23 -07:00
Patrick Walton
2d1a00c3cf Don't clip layers to the screen area 2013-05-30 14:05:22 -07:00
Patrick Walton
0af3bbf953 Add NSS and NSPR to the build 2013-05-30 14:05:22 -07:00
Patrick Walton
a1d12897e8 Add NSPR and NSS submodules 2013-05-30 14:05:22 -07:00
Patrick Walton
233a2040da Implement the beginnings of the box model for render boxes 2013-05-30 14:05:22 -07:00
Patrick Walton
c14a137233 Update rust-geom 2013-05-30 14:05:22 -07:00
Jack Moffitt
50726a9c9d Update README.md
Fix README typos.
2013-05-30 11:36:45 -05:00
bors-servo
273b6cfe29 auto merge of #476 : pcwalton/servo/display-list-refactor, r=pcwalton
r? @metajack
2013-05-30 00:42:39 -07:00
bors-servo
473b0941ec auto merge of #474 : pcwalton/servo/separation, r=pcwalton
r? @metajack
2013-05-30 00:06:42 -07:00
bors-servo
90b01df4c3 auto merge of #466 : pcwalton/servo/phantom-type, r=pcwalton
See the explanation on the commit for more detail.

r? @metajack
2013-05-29 19:30:47 -07:00
Patrick Walton
6012a3e13e Refactor display lists to use less memory. 2013-05-28 18:51:57 -07:00
Patrick Walton
0b22336c45 etc: Make tidy more resilient to dirty build directories 2013-05-28 17:48:55 -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
83e1bd81e8 Fix merge fallout. 2013-05-28 16:16:34 -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