Diego Marcos
c82485874d
Kicks off a WebGL implementation
2015-04-20 14:29:39 -07:00
Patrick Walton
82fcbf7870
layout: Minor stylistic cleanup.
2015-04-14 13:00:11 -07:00
bors-servo
d7b6961104
Auto merge of #5623 - pcwalton:nested-inline-vertical-align, r=glennw
...
This allows things like `<sup><span>Foo</span></sup>` to work and
improves Wikipedia.
r? @glennw
2015-04-09 17:20:23 -05:00
Patrick Walton
18074bf908
layout: Lay out nested inline elements with different vertical-align
...
values properly in simple cases.
This allows things like `<sup><span>Foo</span></sup>` to work and
improves Wikipedia.
2015-04-09 14:55:05 -07:00
Patrick Walton
00a2685cbe
layout: During inline layout, make place_between_floats
use the same
...
line height computation logic as final block size assignment.
Improves Wikipedia.
2015-04-09 14:23:08 -07:00
Patrick Walton
6d61468160
layout: Simplify and improve the correctness of whitespace stripping in
...
text layout, and unify the inline layout paths for pre- and
normally-formatted text.
This fixes a lot of "jumpiness" and removes the `new_line_pos` stuff.
Closes #2260 .
2015-04-08 14:29:23 -07:00
Ms2ger
b50b21d1da
Stop using int/uint in net_traits.
2015-04-06 16:08:53 +02:00
Gilles Leblanc
ba36a108c1
Split out shared networking code into net_traits crate
...
Fixes #4476
2015-04-03 13:38:10 -04:00
Ms2ger
a65c80231a
Stop using u/i suffixes in layout.
2015-04-02 15:14:09 +02:00
Ms2ger
683749c999
Use isize for Au::from_px.
2015-04-02 15:02:37 +02:00
Ms2ger
7b45a4384d
Use a u32 in calculate_split_position_using_breaking_strategy.
2015-04-02 14:59:26 +02:00
Ms2ger
d418c0da3a
Cleanup convert_length in ImageFragmentInfo.
2015-04-02 14:57:44 +02:00
Ms2ger
3dd3ad728e
Use u32 for TableColumnFragmentInfo::span.
2015-04-02 14:46:19 +02:00
Ms2ger
43ed033eff
Use isize/usize in range.
2015-03-28 15:36:36 +01:00
Patrick Walton
3d1a5eb8ab
layout: Stop copying the guts of style objects when calculating replaced
...
widths and heights.
50% layout improvement in a photo gallery demo I'm working on.
2015-03-24 09:16:53 -07:00
Manish Goregaokar
3479d3fa7f
Replace unsafe_blocks by unsafe_code.
2015-03-21 10:27:32 +01:00
Ms2ger
5f15eb5fbf
Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev.
2015-03-18 13:18:31 -04:00
Patrick Walton
d10627a2b3
layout: Implement 2D CSS transforms per CSS-TRANSFORMS § 5, 6, 7, and 8.
2015-03-17 11:30:55 -07:00
Patrick Walton
586c12ccc4
layout: Implement border-spacing
per CSS 2.1 § 17.6.1 and the legacy
...
`cellspacing` attribute per HTML5 § 14.3.9.
Table layout code has been refactored to push the spacing down to
rowgroups and rows; this will aid the implementation of
`border-collapse` as well.
This commit also fixes two nasty issues in table layout:
* In fixed layout, extra space would not be divided among columns that
had auto width but had nonzero minimum width.
* In automatic layout, extra space would be distributed to constrained
columns as well even if unconstrained columns with percentage equal to
zero were present.
2015-03-12 12:00:40 -07:00
Patrick Walton
f9cdd05d58
layout: Implement ordered lists, CSS counters, and quotes
per CSS 2.1
...
§ 12.3-12.5.
Only simple alphabetic and numeric counter styles are supported. (This
is most of them though.)
Although this PR adds a sequential pass to layout, I verified that on
pages that contain a reasonable number of ordered lists (Reddit
`/r/rust`), the time spent in generated content resolution is dwarfed by
the time spent in the parallelizable parts of layout. So I don't expect
this to negatively affect our parallelism expect perhaps in pathological
cases.
2015-03-09 17:13:45 -07:00
Matt Brubeck
cabbbcc978
Keep track of the containing block writing mode.
...
This is necessary for correctly converting `relative_containing_block_size`
to physical coordinates.
2015-03-09 14:22:36 -07:00
Matt Brubeck
8221bfc3ef
Layout fixes for RTL child flows in LTR parents
...
...and vice-versa. This is not a complete fix for all mixed-direction layout
cases, but it fixes enough problems to make some simple test cases pass, like
tha attached reftest.
There are FIXME comments for many of the remaining issues. In particular,
this does not yet handle RTL layout of fixed/absolute elements.
2015-03-09 14:21:26 -07:00
Dan Fox
559ff68b31
Get rid of servo_util
2015-03-05 17:42:05 +00:00
Dan Fox
19686acdec
Merge in servo/master
2015-03-05 17:34:18 +00:00
bors-servo
9d58c086e7
auto merge of #5128 : bjwbell/servo/inline-block_fix_min-width, r=jdm
...
With inline-block elements set the width to max(min width,
specified width) instead of only using the specified width.
Fixes https://github.com/servo/servo/issues/4945
2015-03-03 22:24:44 -07:00
Bryan Bell
a35ffe1c6e
For inline-block correctly use min-width
...
With inline-block elements set the width to max(min width,
specified width) instead of only using the specified width.
2015-03-03 21:06:57 -08:00
Glenn Watson
86baef2cc0
Remove compositor layers when iframes are removed from doc or display:none.
2015-03-04 07:51:46 +10:00
Dan Fox
b424de2092
Extract OpaqueNodeMethods to own file
2015-03-03 17:49:10 +00:00
Patrick Walton
09358b908d
layout: Implement text-shadow
per CSS-TEXT-DECORATION-3 § 4.
2015-03-02 13:28:51 -08:00
Bryan Bell
ec2fa2558c
Remove interior borders during flow construction
...
Instead of looking at the boundaries of the text run, set the border
width to zero and the border style to none on border sides that are not
the outermost for a node container that is display: inline.
2015-02-27 15:52:12 -08:00
Patrick Walton
40a3b41758
layout: Add an option to visualize parallel layout
2015-02-20 19:11:35 -08:00
Ms2ger
aaed4a54c7
Use rustc-serialize rather than the built-in deprecated serialize.
2015-02-17 13:24:15 +01:00
Ms2ger
2b0eb98c1d
Fix some warnings in layout.
2015-02-12 18:58:38 +01:00
Simon Sapin
d5dd1d658e
Upgrade to rustc ba2f13ef0 2015-02-04
2015-02-11 14:48:34 -08:00
Ms2ger
a09a912178
Import net as net rather than servo_net.
2015-02-10 12:55:24 +01:00
Ms2ger
b2fcc2397e
Import msg as msg rather than servo_msg.
2015-02-10 11:40:36 +01:00
Ms2ger
e2408355a7
Fix build warnings.
2015-02-03 18:22:27 +01:00
Simon Sapin
d13d36f57f
End the libstyle 'pub use' madness.
2015-01-30 15:08:29 +01:00
Patrick Walton
5fdaba05a6
layout: Implement text-align: justify
and text-justify
per
...
CSS-TEXT-3 § 7.3.
`text-justify: distribute` is not supported.
The behavior of `text-justify: none` does not seem to match what Firefox
and Chrome do, but it seems to match the spec.
Closes #213 .
2015-01-29 17:00:41 -08:00
Glenn Watson
1f37c6eabe
Add layout support and tests for inline iframes. Fixes #1697 .
2015-01-29 16:36:20 +10:00
Patrick Walton
0f8e436745
layout: Implement text-overflow: ellipsis
per CSS-UI-3 § 6.2.
...
Only the one-value syntax is supported for now.
2015-01-28 16:23:31 -08:00
Manish Goregaokar
b68b7e87c8
self import
2015-01-28 13:46:00 +05:30
Josh Matthews
95fc29fa0d
Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev.
2015-01-28 10:16:49 +10:00
Ms2ger
13c7cf928a
Stop calling deref() and deref_mut() explicitly.
2015-01-22 16:04:21 +01:00
Ms2ger
394f816343
Disallow lines that span more than 160 columns.
...
The Rust style guide suggests 100, but we have too many violations in the
tree already. This check can be tightened over time.
2015-01-19 13:48:32 +01:00
Patrick Walton
97d3443003
layout: Implement mix-blend-mode
per COMPOSITING § 3.4.1.
...
`background-blend-mode` is not yet supported because we don't support
multiple backgrounds yet.
2015-01-12 08:02:41 -08:00
Edit Balint
81f47344d6
CanvasRenderTask connected to Layout
...
Update rust-azure to f4a02f3f621b0a994a20d42e438371a87c62f898.
2015-01-09 18:53:10 +01:00
Patrick Walton
15d60d7ea4
layout: Implement filter
per CSS-FILTERS § 5.
...
`blur` and `drop-shadow` are not yet supported, because the
`text-shadow` PR makes some fundamental changes to blur rendering that
are needed first.
2015-01-09 07:26:13 -08:00
Patrick Walton
0627d4c599
layout: Implement word-break: break-all
per CSS3-TEXT § 5.2.
2015-01-08 09:04:24 -08:00
Ms2ger
16c7060bc8
Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19.
2015-01-08 09:58:46 -05:00