Commit graph

1356 commits

Author SHA1 Message Date
Anthony Ramine
290694b27e Move util::cursor to style_traits 2016-02-16 00:50:01 +01:00
Emilio Cobos Álvarez
04d2db5747 layout: Stop parameterizing on N for RecalcStyleAndConstructFlows
This is unfortunate, but making that useful would require parameterizing
`SharedLayoutContext` and `LayoutContext` depending on the
`SelectorImpl` (which is a **huge** work right now).

Probably the easier way to do it, and probably the one that keeps the
layout code more legible, and since there won't be multiple
implementations at the same compilation unit, would be "defining" a
default implementation for layout via feature flags.

That should allow us to remove the components/style/servo.rs file.
2016-02-13 16:05:17 +01:00
Emilio Cobos Álvarez
61e04df266 style: Refactor the per_pseudo map from StyleData to avoid having an option value type.
This make the layout code way clearer.
2016-02-13 16:05:17 +01:00
Emilio Cobos Álvarez
dd503dfacb Refactor style to be completely backend-independent
This commit refactors the style crate to be completely independent of
the actual implementation and pseudo-elements supported.

This also adds a gecko backend which introduces parsing for the
anonymous box pseudo-elements[1], although there's still no way of
querying them.

https://mxr.mozilla.org/mozilla-central/source/layout/style/nsCSSAnonBoxList.h
2016-02-13 16:05:14 +01:00
Anthony Ramine
55dcee94be Bump heapsize to 0.3 2016-02-13 11:13:19 +01:00
Anthony Ramine
680c817d53 Bump url to 0.5.5 2016-02-13 00:08:12 +01:00
Anthony Ramine
899a5bbfa4 Bump selectors to 0.4.1 2016-02-13 00:08:11 +01:00
Anthony Ramine
874fa5595f Bump euclid to 0.6.2 2016-02-13 00:08:08 +01:00
Anthony Ramine
d0ab28a735 Bump cssparser to 0.5.3 2016-02-13 00:08:07 +01:00
Anthony Ramine
e2d9734609 Bump string_cache to 0.2.9 2016-02-13 00:08:06 +01:00
Anthony Ramine
2d6ac4da97 Bump app_units to 0.2.1 2016-02-13 00:08:05 +01:00
Josh Matthews
e6d906dbbf Report CSS errors to script task for further processing. 2016-02-11 14:48:47 -05:00
Tim van der Meij
9e01332bed Remove dead function Overflow::union_rect 2016-02-07 15:29:15 +01:00
bors-servo
fb3fe3d784 Auto merge of #9522 - pcwalton:two-overflows, r=mbrubeck
layout: Separate out overflow-for-scrolling from overflow-for-paint.

Closes #9484.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9522)
<!-- Reviewable:end -->
2016-02-05 10:58:50 +05:30
bors-servo
87aaa5ffe0 Auto merge of #9523 - ruud-v-a:hasher, r=Wafflespeanut
Upgrade to new Hasher API

This fixes #9494.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9523)
<!-- Reviewable:end -->
2016-02-05 07:32:13 +05:30
bors-servo
2a6707ce58 Auto merge of #9532 - nox:dedup-heapsize, r=Manishearth
Say farewell to in-tree HeapSizeOf

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9532)
<!-- Reviewable:end -->
2016-02-05 03:40:36 +05:30
Anthony Ramine
cb5cd8d881 Say farewell to in-tree HeapSizeOf 2016-02-04 22:03:32 +01:00
bors-servo
629b1d33d5 Auto merge of #9515 - bholley:stylo_uplifts_2, r=SimonSapin
Stylo uplifts Part 2

A bunch of random things that we might as well merge into the tree.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9515)
<!-- Reviewable:end -->
2016-02-04 23:25:09 +05:30
Anthony Ramine
5bb3fc395a Bump cssparser to 0.5.2 2016-02-04 14:14:23 +01:00
Anthony Ramine
1da19170d2 Bump string_cache to 0.2.7 2016-02-04 14:10:02 +01:00
Anthony Ramine
32bc3d9c09 Reorder dependencies in various Cargo.toml files 2016-02-04 14:09:01 +01:00
Ms2ger
2ea9f2d028 Update Euclid. 2016-02-04 11:02:09 +01:00
Bobby Holley
a77a5ecb16 Implement StandaloneStyleContext::new. 2016-02-03 18:39:16 -08:00
Patrick Walton
7c5b2d6cb3 layout: Separate out overflow-for-scrolling from overflow-for-paint.
Closes #9484.
2016-02-03 16:06:24 -08:00
Ruud van Asseldonk
95be0b9a25 Upgrade to new Hasher API 2016-02-03 20:06:39 +01:00
bors-servo
64ad9e17d9 Auto merge of #9498 - KiChjang:update-url, r=nox
Update rust-url

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9498)
<!-- Reviewable:end -->
2016-02-03 11:38:51 +05:30
Emilio Cobos Álvarez
a1c830f1c1 Update rust-selectors
This commits updates rust-selectors to use the generic parser, and as
such it moves the element state into the style crate.
2016-02-03 02:11:31 +01:00
Keith Yeung
9b23839394 Update rust-url 2016-02-02 20:04:01 -05:00
bors-servo
46b3eb6535 Auto merge of #9208 - jmr0:master-img, r=asajeffrey
Use image metadata to lay out images

Fixes #7047.

cc: @jdm

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9208)
<!-- Reviewable:end -->
2016-01-31 01:18:41 +05:30
Corey Farwell
f62e83c848 Prefer is_empty over len when option is available. 2016-01-29 22:49:47 -05:00
jmr0
167ffa7a95 adding image metadata notification capabilities to image cache 2016-01-29 20:54:49 -05:00
bors-servo
d1ff330ba8 Auto merge of #9438 - pcwalton:root-margins, r=mbrubeck
Expand the block size of the root flow's margin box to the viewport size instead of expanding the block size of its border box.

Closes #9308.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9438)
<!-- Reviewable:end -->
2016-01-30 03:55:24 +05:30
bors-servo
5e1f0495a9 Auto merge of #9170 - SimonSapin:multicol2, r=mbrubeck
Add CSS Multicolumn support with block fragmentation

![a](https://cloud.githubusercontent.com/assets/291359/12147538/bfb198ac-b499-11e5-9936-c54c93d0b1ed.png)

Includes/supersedes #8763.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9170)
<!-- Reviewable:end -->
2016-01-30 00:49:14 +05:30
Patrick Walton
777c46fd3f Expand the block size of the root flow's margin box to the viewport size
instead of expanding the block size of its border box.

Closes #9308.
2016-01-28 11:12:37 -08:00
Simon Sapin
47d918ca35 Document new return value of BlockFlow::assign_block_size_block_base 2016-01-28 09:43:14 +01:00
Simon Sapin
f766e94259 Remove unused fixed_descendants: AbsoluteDescendants
… in `construct.rs` for multicol and table wrappers.
2016-01-28 09:43:14 +01:00
Simon Sapin
5498b54347 Add Multicolumn support block fragmentation. 2016-01-28 09:43:14 +01:00
Simon Sapin
359b984348 Multicol: compute the width of columns based on column-width and column-count. 2016-01-28 09:43:14 +01:00
Simon Sapin
48270b58bf Move part of BlockFlow::assign_inline_sizes to separate function. 2016-01-28 09:43:14 +01:00
Simon Sapin
9abbd1b5d1 Sequentialize assign_block_size for flows that can be fragmented.
Fragmentation will be intertwined with block size calculation.
2016-01-28 09:42:17 +01:00
Glenn Watson
183c3f5389 Fix panic when perspective property is zero. 2016-01-28 14:28:38 +10:00
Simon Sapin
da2b4ab381 Disable incremental reflow for multicol and their descendants.
Fragmentation with dynamic updates is hard.
2016-01-27 17:33:12 +01:00
Simon Sapin
357463864b Avoid a transmute that relied on undefined struct layout. 2016-01-27 16:37:08 +01:00
Patrick Walton
9c7b9fa32d layout: Remove some bogus code that tried to handle
absolutely-positioned flows separately when storing overflow.

This code dates back to the time when absolutely positioned flows were
ignored by all of their ancestors up to the containing block. This
hasn't been true for at least a year.

Closes #9306.
Closes #9309.
Is a partial fix for #9308.
2016-01-25 10:52:07 -08:00
Simon Sapin
6fd46b5e6a Update cssparser.
https://github.com/servo/rust-cssparser/pull/91
2016-01-21 17:58:03 +01:00
bors-servo
77d3fbcca3 Auto merge of #9284 - bholley:bootstrap_stylo, r=SimonSapin
Add Partial Implementation of style DOM traits for Gecko, and some basic glue to let Gecko call into Servo

The wrapper stuff is partially-complete, modulo some unimplemented methods. The glue code is just a toy for now. Regardless, I think it's worth getting some of this stuff in-tree to minimize breakage.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9284)
<!-- Reviewable:end -->
2016-01-19 14:19:10 +05:30
bors-servo
8f7f7e11b7 Auto merge of #9341 - askalski:issue9338, r=KiChjang
Fix to issue 9338

Fixes #9338.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9341)
<!-- Reviewable:end -->
2016-01-18 20:30:41 +05:30
askalski
cf107bca4f replacing custom fmin function with standard f32.min in components/layout/display_list_builder.rs 2016-01-18 12:17:19 +01:00
Kishor Bhat
4c5eeb1f58 Remove unused imports in layout 2016-01-17 13:17:23 +05:30
Ms2ger
74f6c9b74f Update to rustc 1.7.0-nightly (b4707ebca 2015-12-27) 2016-01-14 14:56:18 -06:00