Commit graph

258 commits

Author SHA1 Message Date
James Gilbertson
9b5d597d38 servo: Merge #5154 - Implement 'vw', 'vw', 'vmin', 'vmax' CSS length units (from luniv:viewpoint-percent-lengths); r=SimonSapin
Spec: http://dev.w3.org/csswg/css-values-3/#viewport-relative-lengths
Source-Repo: https://github.com/servo/servo
Source-Revision: a557b51c28aaba398fd85f86af909ec623e2350f
2015-03-05 18:55:02 -07:00
Dan Fox
f6711c6464 servo: Merge #5135 - Fix 5120 rename layout util (from iamdanfox:fix-5120-rename-layout-util); r=jdm
A simple rename/refactor (https://github.com/servo/servo/issues/5120)

My first servo contribution!

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fc37dfaa76c9265e6d2145fe5ef2fba5f6bd013
2015-03-05 11:09:58 -07:00
Bryan Bell
e9daaa31b5 servo: Merge #5128 - For inline-block correctly use min-width (from bjwbell: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

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d58c086e72a7d2fc8655506d35f30069bbadbbd
2015-03-03 22:24:44 -07:00
Glenn Watson
4fbf5e6588 servo: Merge #5125 - Remove compositor layers when iframes are removed from doc or display:none (from glennw:remove-iframe-layers); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: e19fbc686cd10d59c9e02593f0b6ab68aabe02fc
2015-03-03 15:12:45 -07:00
Simon Sapin
9d0586a22d servo: Revert "layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1"
This reverts commit 30fd28d1077fbb3f47140f6ab1252c0d24f44d23.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c1d778ced267eeef790d4166e361d9348b933d3
2015-03-03 21:16:24 +01:00
Simon Sapin
4578a773a4 servo: Merge #5133 - layout: Implement image-rendering per CSS-IMAGES-3 § 5.3 and (from servo:background-size); r=SimonSapin
`background-size` per CSS-BACKGROUNDS § 3.9.

Nearest neighbor interpolation is used for `crisp-edges`, like Firefox.
A note has been added that we could do better if we wanted to.

Multiple backgrounds are not yet supported.

Rebase of #4368. Fixes #4368.

Source-Repo: https://github.com/servo/servo
Source-Revision: e1a50c771973fe3223cf98feea5d570375d68fa9
2015-03-03 11:48:54 -07:00
Simon Sapin
73082d1626 servo: Merge #5067 - layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1 § 12.3-12.5 (from servo:counters); r=SimonSapin
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.

Moved from #4544, because Critic.

Fixes #4544.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5cd6316addc1acf145ed3220719387ef6ef08d2f
2015-03-03 10:42:52 -07:00
Patrick Walton
dfd3000b94 servo: Merge #5132 - layout: Implement overflow-x and overflow-y per CSS-OVERFLOW § 3 (from servo:overflow-xy); r=SimonSapin
Rebase of #4567. Fix #4567.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6fcc02e92f4c519239a834dc37a2965a4993322a
2015-03-03 09:06:55 -07:00
Glenn Watson
f7ffceeeaa servo: Merge #5121 - Fix hover state on elements with transparent background colours (from glennw:transparent-hover); r=mbrubeck
Move culling of transparent display items to paint task rather than display list builder, so that hit testing detects mouse over on transparent background elements.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac4a690e8fa98da4e4f7adbc2d888a94c6d99e0e
2015-03-02 19:42:49 -07:00
Glenn Watson
91294b5a71 servo: Merge #5086 - Reap layout data whenever a node is removed from the tree (from glennw:reap-more-stuff); r=jdm
Also introduce a clear() function to layout data which will be used to clear items such as compositor layouts.

Clear the layout data when a node becomes display:none.

Source-Repo: https://github.com/servo/servo
Source-Revision: 65454e51c806c7d91c869a7b4afce872b4eeea57
2015-03-02 16:45:51 -07:00
Patrick Walton
8d21fbc4f5 servo: Merge #4475 - layout: Implement text-shadow per CSS-TEXT-DECORATION-3 § 4 (from pcwalton:text-shadow); r=mbrubeck
r? @mbrubeck

Depends on servo/rust-geom#64.

Source-Repo: https://github.com/servo/servo
Source-Revision: 93d1f40a96df69eb9d38890df96c621e180d78cc
2015-03-02 14:54:52 -07:00
Bryan Bell
195b198cde servo: Merge #4952 - Dont draw interior borders for text run fragments (from bjwbell:borders-txt-nodes); r=pcwalton
Inline fragments that are part of a text run don't have interior borders.
So don't draw interior borders or include them when calculating positioning.

Fixes https://github.com/servo/servo/issues/4658, where multiple text nodes that are adjacent have distinct borders.

r? @Ms2ger, @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: b2f099026a8c649daf063dc7e119a514c2680697
2015-02-27 16:57:53 -07:00
Glenn Watson
1f9816fcf2 servo: Merge #5064 - Fix setting display:none after a layout where the element was visible (from glennw:hide-after-layout); r=pcwalton
Prior to incremental layout, the code would remove the existing
construction result. However, with incremental layout the construction result
is cloned rather than removed. This change ensures that the previous
construction result is cleared when an element's display type
changes to none.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ad3c5aeb65e473a4c099b12e9439dfc556024f8
2015-02-26 14:46:10 -07:00
Adenilson Cavalcanti
3fe1f46565 servo: Merge #5062 - Implements a DisplayList dumper (from Adenilson:printDisplayList01); r=pcwalton
This patch will iterate through the DisplayList after the reflow is done and print its elements (as also any sub-lists associated to a child node stacking context).

Source-Repo: https://github.com/servo/servo
Source-Revision: 67b78983db31128604339e2fd7f391e878cf9f9b
2015-02-25 20:15:56 -07:00
Matt Brubeck
07744237bb servo: Merge #5060 - Fix incorrect comment in BlockFlow (from mbrubeck:comment); r=pcwalton
The behavior of this code was changed in #3631.  The parent no longer sets the inline size to a temporary value.

r? @pcwalton or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 213b90fdacc3dc27d59e145ae37484dbc808f316
2015-02-24 18:30:57 -07:00
Simon Sapin
40036d9f8a servo: Merge #5010 - Move selector matching to an external library, for use outside Servo (from SimonSapin:external-selectors); r=larsberg
The new library is https://github.com/servo/rust-selectors. It’s not quite ready for other users (the API needs work), but this is a first step.

https://github.com/servo/rust-selectors/pull/2 should also be reviewed.

Fixes #3669.

Source-Repo: https://github.com/servo/servo
Source-Revision: 91abf5557b1a324d6568ce08cfb92cdffca10e41
2015-02-23 08:39:47 -07:00
Patrick Walton
150bdee4d8 servo: Merge #4994 - layout: Add an option to visualize parallel layout (from pcwalton:layout-tinting); r=pcwalton
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: d26345f868e4261760ce204bdc383941e8f14621
2015-02-20 23:06:48 -07:00
Adenilson Cavalcanti
5558b61a79 servo: Merge #4995 - Actually print the contents of Flow Tree into console (from Adenilson:printFlowTree01); r=jdm
When executing servo with proper flags (i.e. --debug dump-flow-tree), it should print the flow tree. We had the code, but it was commented.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2eb71bda83c175ec4af9aca4e22b74ef7fea9097
2015-02-20 20:12:55 -07:00
Ms2ger
7d0de0bb3d servo: Merge #4970 - Move layout to libc from crates.io (from Ms2ger:js-layout); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: f769626dd2e351c8b408b39bfac6f6cbd53581a9
2015-02-19 13:43:00 -07:00
Ms2ger
057d7cb476 servo: Merge #4947 - Use rustc-serialize rather than the built-in deprecated serialize (from Ms2ger:serialize); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: afb152a8569953f730df564be2745c5a6302bf6f
2015-02-17 07:30:50 -07:00
Nicholas Nethercote
60061c31b2 servo: Merge #4938 - Avoid bloom filter churn (from nnethercote:dont-clone-bloom-filter); r=Ms2ger
When a cached bloom filter is found during traversal, there are two
cases, both of which currently do unnecessary allocations. This patch
avoids these allocations. In the process, it renders correct two
previously-incorrect comments, and moves one of those comments into a
better spot.

While scrolling moderately fast all the way through the "Guardians of
the Galaxy" Wikipedia page, this patch (a) avoids 1.2 million calls to
`clone()` and (b) replaces 111,000 `BloomFilter::new()` calls with
`clear()` calls.

Source-Repo: https://github.com/servo/servo
Source-Revision: a45265231797355d08e891be360b2e10bd8df37b
2015-02-16 15:54:48 -07:00
Glenn Watson
4ddf1f39c5 servo: Merge #4934 - Fixes background-color calculation for iframes. Fixes #1248 (from glennw:fix-1248); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d2e840bf49f7d9d8022ab2566cfb641dd578a44
2015-02-16 14:06:52 -07:00
Glenn Watson
884bfec2ce servo: Merge #4937 - Support root element having percentage heights in layout (from glennw:pc-height); r=pcwalton
This allows using standard CSS techniques to place a footer at the bottom of the page.

Source-Repo: https://github.com/servo/servo
Source-Revision: c7d3ea1c6588512c62ce6688ad0e544dacccfb8f
2015-02-16 13:19:02 -07:00
Adenilson Cavalcanti
4a6230be7e servo: Merge #4903 - Companion single Color patch (from Adenilson:singleColor02); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b5749e9855b68636d5366450602cd73397a6f219
2015-02-13 15:51:50 -07:00
Matt Brubeck
c7d0095a59 servo: Merge #4904 - Replace util::dlist code with new collections::DList methods (from mbrubeck:dlist); r=pcwalton
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 26aee53c827c4db517171cd89786d894b1ceb76c
2015-02-12 16:39:53 -07:00
Ms2ger
13868c9015 servo: Merge #4912 - Use boxed::into_raw in create_or_get_local_context (from Ms2ger:local_context); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 45d18ce21c0f902e2b88f01cd57b68a7e8c0a633
2015-02-12 15:36:47 -07:00
Ms2ger
e4a7ce0d88 servo: Merge #4902 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fab80925818e53bfb92ffa2684a6834bb9f70f29
2015-02-12 11:06:50 -07:00
Simon Sapin
da87abc762 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9

--HG--
rename : servo/ports/gonk/build.rs => servo/support/rust-task_info/build.rs
2015-02-11 17:24:45 -07:00
Ms2ger
e80f986397 servo: Merge #4887 - Import net as net rather than servo_net (from Ms2ger:servo_net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e3a4d493117ffd09ce75270b36012845ebb9c08c
2015-02-10 05:15:45 -07:00
Ms2ger
37b5782606 servo: Merge #4886 - Import msg as msg rather than servo_msg (from Ms2ger:servo_msg); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 29d3b872de4abb693b75e71fc0b987c52b0fd1f6
2015-02-10 03:51:46 -07:00
Josh Matthews
7b3305eafe servo: Merge #4881 - Allow unused variables, imports, and mutable (from jdm:allowunused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7048291dc0db4efecf9c13779feeb5e022210123
2015-02-09 16:45:47 -07:00
Ms2ger
f6f1990ef0 servo: Merge #4869 - Various layout cleanup (from Ms2ger:layout-unsafe); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1a47f176ffb059a7a3f29f94485859163cb1284b
2015-02-08 21:00:43 -07:00
Adenilson Cavalcanti
e6257e95e3 servo: Merge #4832 - Implementing transparent_black() (from Adenilson:transparentBlack01); r=jdm
This patch set will implement a new helper function for transparent black, while changing the behavior of helper black() function returning opaque black by default.

It will also use the new Color equality operator to streamline the code in some points.

Source-Repo: https://github.com/servo/servo
Source-Revision: e14c569ed0cf42bae343e7ba9d9cb760e5733182
2015-02-04 04:21:49 -07:00
Ms2ger
9b7615b8a4 servo: Merge #4823 - Fix build warnings (from Ms2ger:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e72608f5c1d96cfcabdd993d973f4580e2fdb54
2015-02-03 17:57:51 -07:00
Martin Robinson
fea2344e01 servo: Merge #4829 - Revert "Using Color equality operators to streamline code" (from servo:revert-4825-usingColorOperators01); r=jdm
Reverts servo/servo#4825

I merged this incorrectly via the big green button and busted the tree pretty badly. @Adenilson has committed to fixing the issue in rust-azure and then relanding this in a fixed state.

Source-Repo: https://github.com/servo/servo
Source-Revision: e48eb87eb40545f361c62d2e81118435430d0adb
2015-02-03 16:12:54 -07:00
Adenilson Cavalcanti
ac8c05d858 servo: Merge #4825 - Using Color equality operators to streamline code (from Adenilson:usingColorOperators01)
Source-Repo: https://github.com/servo/servo
Source-Revision: 728f723753da49261c03e8061b748432f4a00182
2015-02-03 11:12:44 -08:00
Alexandru Cojocaru
24ca70cf6f servo: Merge #4820 - add unwrap to send/recv calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Matthew Rasmus
7cd0fd06de servo: Merge #4783 - Fix 'inline-block' sizing issues (from mttr:inline_block_percentage); r=mbrubeck
The first commit fixes #3624, and the second commit fixes a bug uncovered by the first fix and caught by a reftest (according to CSS 2.1, inline-blocks should have the shrink-to-fit algorithm run on them when size is set to 'auto'). The two new reftests included here fail before the fix and pass afterwards.

Source-Repo: https://github.com/servo/servo
Source-Revision: 986f9cb5432dc51e37e0c47a4f430c0353c6dc75
2015-02-02 17:45:50 -07:00
Adenilson Cavalcanti
b201ec4863 servo: Merge #4790 - Implements 2 helper functions for Color type (white() and black()) (from Adenilson:colorOperatorsHelpers01); r=jdm
Implements 2 helper functions for Color type (white() and black()) plus uses the new equality operators implemented in rust-azure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 685412ec488ab4336c71ea303b4a9a30f214a1a3
2015-02-02 14:03:57 -07:00
Tetsuharu OHZEKI
39edf77177 servo: Merge #4613 - Stop using JS<T> in layout (from saneyuki:layoutjs); r=jdm
#4571

Source-Repo: https://github.com/servo/servo
Source-Revision: 462940fc2a2ba76794f37d9a6ac5af8da454aa66
2015-01-31 16:24:48 -07:00
Josh Matthews
114f6b6b27 servo: Merge #4788 - Lock crates.io dependencies to specific versions (from jdm:cargodeps); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 66384dfcfd4c38595985cd3fac12fa616a2ba94f
2015-01-30 17:36:50 -07:00
Simon Sapin
f19ec826ce servo: Merge #4757 - Bring CSS parse error reporting back (from servo:newnewnewcss); r=mbrubeck
(Still off by default. Enable with `RUST_LOG=style`.)

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 172aed535be3c34775824dac64ad2b91fc379ad5

--HG--
rename : servo/components/style/properties/mod.rs.mako => servo/components/style/properties.mako.rs
2015-01-30 15:27:53 -07:00
Patrick Walton
393e92ecb3 servo: Merge #4785 - layout: Fix warnings (from pcwalton:fix-warnings); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 6c2bbe442a13a8520e6175064c665f1ab9e3c2c6
2015-01-30 13:00:54 -07:00
Patrick Walton
5bca49e824 servo: Merge #4610 - layout: Implement text-align: justify and text-justify per (from pcwalton:text-align-justify); r=mbrubeck
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.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 7359f99f201a359aaebf334a1787d1975c9fa7d4
2015-01-30 06:15:56 -07:00
Glenn Watson
ef71a99664 servo: Merge #4764 - Add layout support and tests for inline iframes. Fixes #1697 (from glennw:inline-iframes); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f9256e87b44125779002719a734ca412444e40e
2015-01-29 08:24:48 -07:00
Patrick Walton
d668ccc421 servo: Merge #4458 - layout: Implement floated list items (from pcwalton:floated-lists); r=mbrubeck
This patch also makes Servo not crash when
`generated_containing_block_rect()` is called on a list item (as, for
example, GitHub does), and for good measure I added the fix to other
flows as well.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 221a343883f510c7743908136438f5ed40bd17ed
2015-01-28 21:18:53 -07:00
Patrick Walton
06265455a5 servo: Merge #4592 - layout: Implement text-overflow: ellipsis per CSS-UI-3 § 6.2 (from pcwalton:text-overflow); r=mbrubeck
Only the one-value syntax is supported for now.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: c8e68fa45c43856f7ffbdde25b6e68571ad288bf
2015-01-28 17:24:50 -07:00
Ms2ger
39a22519e3 servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 88b781421aa78a2f466e6d170f89d13a870643cd
2015-01-28 13:15:53 -07:00
Peter Reid
1041d9a38e servo: Merge #4656 - Handle overlapping border-radius corners (from PeterReid:issue4125); r=mbrubeck
Fixes #4125

Conforming to section 5.5 (Rounded Corners/Overlapping Curves) of "CSS Background and Borders Module Level 3", border radii on elements whose border curves would have overlapped are uniformly scaled down to the point that they no longer do.

http://dev.w3.org/csswg/css-backgrounds/#corner-overlap

Source-Repo: https://github.com/servo/servo
Source-Revision: 6dc2b895b877b2455ac8cbc5239b9c2f314f4fda
2015-01-28 10:18:52 -07:00
Ms2ger
1274f3918a servo: Merge #4751 - Don't shadow lifetimes in layout (from Ms2ger:shadowing-layout); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f81e7088225d03b363e337a9d1da5ab36c44064
2015-01-28 06:51:53 -07:00