Commit graph

219 commits

Author SHA1 Message Date
Patrick Walton
9f4c2de211 layout: Unify the block-size computation for blocks and floats.
The float code was old and did not support most of CSS 2.1. So unifying
the two paths both simplifies code and improves functionality.

Improves the Reddit sidebar.
2014-09-25 16:43:24 -07:00
Patrick Walton
62bb9093d7 layout: Float table wrappers directly instead of generating a block
wrapper around them.

Fixes Wikipedia tables leaking out.

Along the way, I refactored tables' width calculation significantly.
This was necessary in order to properly handle floated tables, as some
of the logic had to be ported over from block flows.
2014-09-25 08:06:03 -07:00
Patrick Walton
fffc7aaf38 layout: Consider relatively positioned blocks as possible block
formatting contexts, and translate floats out of block formatting
contexts.

These improve Reddit.
2014-09-24 22:03:06 -07:00
Patrick Walton
3bb4020ff8 layout: Adjust the position of block formatting contexts based on float
placement.

Improves Reddit considerably.

Closes #3456.
2014-09-22 18:04:15 -07:00
Patrick Walton
34b3408a89 layout: Translate floats when clearing non-floated blocks.
Improves CNN layout considerably.

Closes #3439.
2014-09-22 14:14:20 -07:00
Keegan McAllister
dc86e83654 Eliminate warnings 2014-09-20 13:00:55 -07:00
Keegan McAllister
a640a7c5c3 Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000) 2014-09-20 13:00:06 -07:00
Patrick Walton
c51b8a07ac Merge pull request #3430 from pcwalton/inline-block-percentage-height
layout: Make percentage heights propagate through inline flows.
2014-09-19 23:05:55 -07:00
Patrick Walton
ccda8f204a Merge pull request #3420 from glennw/table-debug
Adds support for table layout trace and updates viewer for tables.
2014-09-19 19:50:47 -07:00
Patrick Walton
0604d0c6b1 layout: Handle floated blocks with percentage heights correctly.
Improves the top menu in Wikipedia.
2014-09-19 17:56:07 -07:00
Patrick Walton
39d7bf93d6 layout: Make percentage heights propagate through inline flows.
I found this random bug during an attempt to improve Wikipedia.
2014-09-19 17:20:56 -07:00
Simon Sapin
010d87b93e Remove min/max functions from util::geometry. Use std::cmp instead. 2014-09-19 13:56:35 +01:00
Glenn Watson
818f70e319 Fix img with display: block. Fixes text/image overflow on wikipedia.
Ref: #2554
2014-09-19 17:59:48 +10:00
Glenn Watson
0d0d2365aa Adds support for table layout trace and updates viewer for tables. 2014-09-19 14:48:53 +10:00
Matt Brubeck
c7e30f87c4 Implement percentage heights for block flows
Fixes #2029
2014-09-16 09:02:01 -07:00
Clark Gaebel
acd83ff47b Added a bloom filter to CSS selector matching. 2014-09-15 16:29:45 -07:00
Glenn Watson
98624c9576 Implement basic support for display: inline-block.
This still needs a lot of work, but it covers the basic
cases and improves wikipedia while passing all existing tests.

Tweak reftest to deal with linux/travis black background.
2014-09-13 07:13:42 +10:00
Glenn Watson
98caecf7ec Fix layout of Create Account / Login when rendering Wikipedia.
When calculating the preferred width for a block, accumulate
the left and right float widths of children separately, which
is then max'ed with the normal flow widths later on.

Ref bug #2554 - improves the layout of the top bar.
2014-09-10 13:51:42 +10:00
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00
Renamed from src/components/layout/block.rs (Browse further)