Граф коммитов

844 Коммитов

Автор SHA1 Сообщение Дата
Per Lundberg ad08fc1cc0 servo: Merge #10210 - ComputedValues is now ServoComputedValues (from perlun:rename-computedvalues-to-servocomputedvalues); r=SimonSapin
This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.

Source-Repo: https://github.com/servo/servo
Source-Revision: 639fdd6b128e0cfd418e4ae0dd78de3f5aecac4c
2016-03-29 17:56:40 +05:01
Patrick Walton bff513d996 servo: Merge #10248 - layout: Only take nonnegative margins into account when estimating inline placement of floats (from pcwalton:float-speculation-with-negative-margins); r=mbrubeck
Otherwise, the heuristics can pass even when there are no floats,
causing block formatting contexts to be speculated to be flowing around
floats that don't exist!

Closes #10237.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f733217109a98f559904ebf9935e43e553bd076
2016-03-29 15:35:01 +05:01
Matt Brubeck 610e3a8057 servo: Merge #10246 - Restore stripped whitespace before reflowing text fragments (from mbrubeck:strip-leading); r=pcwalton
Fixes #10200. r? @pcwalton

Note: The reftest uses a transition of non-zero duration, because I couldn't find any other way to reproduce the bug.  Unfortunately this makes it unreliable in debug builds. I tried to fix this using reftest-wait with setTimeout and requestAnimationFrame, but it still wouldn't complete the animation consistently.  To make the test work in debug builds we may need `transitionend` events (#10245) or a different way to reproduce the bug.

Source-Repo: https://github.com/servo/servo
Source-Revision: 159be44193ef7d60a5c35629d791323e5357e7db
2016-03-29 14:01:40 +05:01
Michael Howell f47e88f413 servo: Merge #8641 - No more headless compositor. Just the normal one (from notriddle:no_headless); r=glennw
Fixes #8573

Source-Repo: https://github.com/servo/servo
Source-Revision: aac2da75f40f4c55a4b450b6d9d134429fcf741e
2016-03-29 12:13:01 +05:01
Paul Rouget 41560f2989 servo: Merge #10231 - Make selection blue instead of orange (from paulrouget:selectionColor); r=mbrubeck
PR https://github.com/servo/servo/pull/10176 add a background color for selected text. It uses a builtin color until `::selection` is supported. ~~Orange makes sense for Linux. Let's make it blue for windows and mac.~~ See https://github.com/servo/servo/pull/10231#issuecomment-202335065

Source-Repo: https://github.com/servo/servo
Source-Revision: cf4fa0a9f463f9bdfc5daef7f6bf9d6e1d151aa6
2016-03-28 22:54:25 +05:01
faineance f3988ea1b8 servo: Merge #10222 - Use self.0 instead of destructuring single item tuple structs (from faineance:master); r=KiChjang
Closes #9698.

Source-Repo: https://github.com/servo/servo
Source-Revision: b97ffffb48080a0b4769f8609a27a68145042945
2016-03-28 03:43:31 +05:01
Matt Brubeck 7f2f49fe54 servo: Merge #10176 - Highlight selected text in input fields (from mbrubeck:selection-range); r=pcwalton
Fixes #9993.  This does not yet allow stylesheets to set the selection colors; instead it uses a hard-coded orange background and white foreground.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: bed91b3334786970c91a47c3bc95889d8675b4d5
2016-03-26 07:47:20 +05:01
Patrick Walton 818acd332f servo: Merge #10085 - layout: Rewrite the block formatting context/float inline-size speculation code (from pcwalton:floats-inout-revamp); r=mbrubeck
The old code tried to do the speculation as a single bottom-up pass
after intrinsic inline-size calculation, which was unable to handle
cases like this:

    <div>
        <div style="float: left">Foo</div>
    </div>
    <div>
        <div style="overflow: hidden">Bar</div>
    </div>

No single bottom-up pass could possibly handle this case, because the
inline-size of the float flowing out of the "Foo" block could never make
it down to the "Bar" block, where it is needed for speculation.

On the pages I tried, this regresses layout performance by 1%-2%.

I first noticed this breaking some pages, like the Google SERPs, several
months ago.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1554331f06900e69f246ed9986a08aae91a0a71e
2016-03-26 06:39:41 +05:01
Patrick Walton 130950b045 servo: Merge #10198 - layout: Allow floats to have negative ceilings due to negative margins (from pcwalton:negative-ceiling); r=mbrubeck
This fixes `margin-collapse-104.htm`, which is currently accidentally
passing due to lack of #10085. When that PR lands, then that will become
a representative test case.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 9b2ae3a62faafceb3149dc455fc6123de2b306f7
2016-03-26 05:19:25 +05:01
Matt Brubeck 3c6be6349d servo: Merge #10197 - Fix forced repaint on image load (from mbrubeck:force-repaint); r=pcwalton
After #10021, `LayoutThread::repaint` no longer forced a repaint because of the `restyle_damage` check.  This patch adds the correct restyle damage and fixes #10163.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 8984d95a28ac1060f3c809e98434513fdf9f09b5
2016-03-26 03:18:05 +05:01
Bobby Holley 6e1def963d servo: Merge #10155 - Generalize the style structs (from bholley:generalize_style_structs); r=SimonSapin
This allows geckolib to pass gecko style structs and have the style system write to them directly, provided we implement all the traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 605842f193aedc1151ab38a99c49f693c76e5cf3
2016-03-25 02:58:33 +05:01
Emilio Cobos Álvarez 98d36374a9 servo: Merge #10150 - Canvas cleanup (from emilio:canvas-cleanup); r=jdm
This PR cleans up the layerization infrastructure for canvas, which was unused, and removes unused dependencies.

It also takes in account my recent username change to update angle's dependency (offscreen_gl_context requires extra work due to webrender depending on it).

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2887623c4ae1960dfef52b14cd4afc3b279f9feb
2016-03-24 08:15:40 +05:01
Ms2ger bd885345f9 servo: Merge #10135 - Cleanup traversal.rs (from Ms2ger:traversal); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 23aa4fa1f1577f33dd6a7310106350ef6dcacf38
2016-03-24 00:17:31 +05:01
Patrick Walton 9a7523f50e servo: Merge #9947 - Faster display list transfer (from pcwalton:faster-display-list-transfer); r=glennw
This series of commits improves performance of display list construction in browser.html by about 3x when using WebRender.

It requires https://github.com/servo/webrender_traits/pull/18 and https://github.com/servo/webrender/pull/231.

Anyone should feel free to review if they have time; I'll ask someone in particular once those two upstream commits land.

cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 187ca442337313a76ce115ac92a2da44d91d5b96
2016-03-23 07:37:31 +05:01
Matt Brubeck 3f3bea580c servo: Merge #10105 - Don't re-add stylesheets to recompute vw/vh lengths (from mbrubeck:dirty-viewport-percentages); r=SimonSapin
This is a follow-up to #9876.  It avoids clearing and rebuilding SelectorMaps
when vh and vw units need to be recomputed. Instead it just dirties all nodes,
to force elements to be re-cascaded.

Filed #10104 for later follow-up work to dirty only affected nodes.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 41060dbdd77b2bcd02d03c7fe00663f612bac2e4
2016-03-22 18:29:47 +05:01
Matt Brubeck 6a1b56e78e servo: Merge #10109 - Fixes for compute_damage (from mbrubeck:compute_damage_short_circuit); r=pcwalton
A few changes:

* Make `compute_damage` short-circuit more, by skipping comparisons if they will only set flags that are already set.

* Update some obsolete comments.

* Add a bunch of missing properties to `compute_damage`.

* Set `RECONSTRUCT_FLOW` when `text-decoration` changes, because it can affect text fragment splitting/merging.

I believe this is all of the computed properties except for the animation properties. (I wasn't sure what to do with those.)  After this lands I'd like to work on moving this information into `properties.mako.rs` so that this function can be auto-generated, and so that newly-added properties can default to setting all flags instead of none.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1e27eb4f4090ff891afdeb62ae29e4f2dde27e0
2016-03-22 10:00:48 +05:01
Ms2ger 6bc75cd680 servo: Merge #10106 - Remove renderer ids (from Ms2ger:renderer-id); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 767b11cd676327cfb71f21d2cbcee8c16a74e2b3
2016-03-22 08:21:28 +05:01
Pawel Kondzior 013faaefab servo: Merge #10088 - Report memory usage from LayoutThreadData Stylist [#7038] (from pkondzior:7038-report-memory-usage-in-layout-thread-data-stylist); r=ecoal95
@jdm PTAL I'm not sure what is the approach of updating cargo components here, I've made a pull request https://github.com/servo/heapsize/pull/54 but it has to be landed first before merge and version bump.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a8ba23a763b2a8d272c4335974d5a68623c054c
2016-03-22 06:25:11 +05:01
Patrick Walton 69f0412dd7 servo: Merge #10021 - layout: Skip layout traversals that obviously won't do anything (from pcwalton:skip-layout-traversals); r=mbrubeck
This reduces CPU usage when mousing over simple pages (example.com). More complex pages (Wikipedia) still reflow a lot due to other bugs.

Additionally, this change causes Servo to stop painting the results of hit test queries. This is also a win for CPU usage.

This significantly improves #9999, though there's more that can be done. I'll leave it open in case @paulrouget thinks this PR isn't enough.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 9813d11f862a61a7cffb4cf2d7de0fa7d269c62a
2016-03-22 03:08:49 +05:01
Michael Howell 802d6fe7b4 servo: Merge #9586 - Details ui (from notriddle:details_ui); r=SimonSapin
Requires a patch to rust-selectors, and doesn't currently recalculate the styles correctly (which is needed to make actual toggling work correctly).

Still trying to figure out what it takes to get style recalc to do what this needs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 090da52913a47e027a96d4f6a39c56e55b9db811
2016-03-20 12:58:59 +05:01
Patrick Walton 10e665f8d9 servo: Merge #10064 - layout: Move overflow calculation to be a separate, sequential, bottom-up pass (from pcwalton:overflow-bottom-up); r=mbrubeck
Right now, the only reason that overflow calculation works is that we
rely on script inducing extra reflows that are sent for display. This
was preventing #10021 from landing.

This change regresses layout performance by about 1% in my tests.

Fixes #7797 properly.

r? @mbrubeck
cc @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 8120fb5c2d170d5d9838696a7a5b871a43f57bb2
2016-03-20 00:24:27 +05:01
David Bonet e6f7b187b0 servo: Merge #10061 - Remove overflow references on AssignBSizesAndStoreOverflow code (from DavidBM:clean_code_removing_overflow_in_assign_bsizes); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: ce2da28a00036e614cee211f4b279dc8e7eac9c1
2016-03-18 01:45:22 +05:01
Anthony Ramine ace9b5c608 servo: Merge #10055 - Bump serde to 0.7 (from servo:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a9dc577617b442ff0fe07eaa683207234c519ee
2016-03-17 17:58:36 +05:01
Patrick Walton 3d1ddf975a servo: Merge #9810 - Make border radii clip their contents (from pcwalton:border-radius-clip-contents); r=mbrubeck
Needed for browser.html rounded corners.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b28a416eb567fb25b8ffa4bdf5aeb6eca5c72b1
2016-03-15 06:41:54 +05:01
Bobby Holley 97c48a8863 servo: Merge #9976 - Remove lifetimes from Style/Layout traits (from bholley:remove_trait_lifetimes); r=SimonSapin
Right now, there's a huge amount of complexity in T{Node,Element,Document} and friends because of the lifetime parameter.

Before I started generalizing this code for use by Gecko, these wrappers were plain structs. They had (and still have) a phantom lifetime associated with them to prevent references to DOM nodes from leaking past the end of restyle, when they might be invalidated by a GC.

When I generalized them, I decided to put the lifetime on the trait as well, since there are some situations where the lifetime is, in fact, necessary. Specifically, they are necessary for the compiler to understand that all the things borrowed from all the nodes and elements and so on have the same lifetime (the lifetime of the restyle), rather than the lifetime of whichever particular element or node pointer the value was borrowed from. This come up in situations where we do |let el = node.as_element()| or |let n = el.as_node()| and then borrow something from the result. The compiler thinks the borrow lifetime is that of |el| or |n|, when it's actually longer.

In practice though, I think the style and layout algorithms we use don't run into this issue much, and we can hack around it where it comes up. So I think we should remove the lifetimes from the traits, which will let us aggregate the embedding-provided traits together onto a single meta-trait and significantly simplify the code.

Source-Repo: https://github.com/servo/servo
Source-Revision: aea8d8959dcb157a8cc381f1403246ce8ca1ca00
2016-03-15 02:34:53 +05:01
Matt Brubeck 8a1331f1b7 servo: Merge #9964 - Compute damage even when incremental layout is disabled (from mbrubeck:incremental-damage); r=pcwalton
This fixes traversals that use the damage flags to decide which nodes to process, such as `resolve_generated_content`, which was broken in non-incremental mode. r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: d330ecdafcdb2556a8ab028436ec87aa6b6db6fe
2016-03-12 04:31:17 +05:01
Matt Brubeck 7bea7698c9 servo: Merge #9969 - Don't re-resolve already-resolved generated content (from mbrubeck:quotes-036); r=pcwalton
This fixes #7846, a failure in the "quotes-036.htm" test. Servo lays out this test correctly in its initial layout, but then messes it up in any relayout (whether it's an incremental or full layout).

The problem is that the ResolveGeneratedContent traversal is not safe to run more than once on the same flow. It mutates some GeneratedContent fragments into ScannedText fragments, but leaves others unmodified (in particular, those that generate empty content). The next time layout runs, these remaining GeneratedContent fragments are processed *again* but with an incorrect correct quote nesting level (because some of the surrounding GeneratedContent fragments are gone).

This patch ensures that each GeneratedContent fragment is resolved only once.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 71b1122e97303c51bac73d03d8af617069a75d21
2016-03-12 02:13:10 +05:01
Daniel Robertson f0ceb122c9 servo: Merge #9824 - Add the scrollWidth and scrollHeight extensions to the element interface (from danlrobertson:element1); r=asajeffrey
Add the `scrollWidth` and `scrollHeight` extensions to the element interface. My goal was to create a method that encompassed getting `scrollWidth`, `scrollHeight`, `scrollTop`, and `scrollLeft`.

I also noted that `clientHeight` and `clientWidth` to not handle the root element and the body element correctly.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ff7932a8cb15c42a436958e953cc904ba7a0bd8
2016-03-11 23:50:24 +05:01
Matt Brubeck fcb954fef7 servo: Merge #9961 - Fix work list order after split_line_at_last_known_good_position (from mbrubeck:split-line-work-list); r=pcwalton
This fixes a bug in line splitting caused by the following actions when `LineBreaker::split_line_at_last_known_good_position` is called:

1. Push some number of previous fragments onto the front of the work list.
2. Push the current fragment back onto the front work list.

This resulted in the work list being out of order.  The correct order is action 2 followed by action 1.  Fixes #9830. r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 059edc3287909ce705ba90804c778ee50f1e157e
2016-03-11 22:50:43 +05:01
Martin Robinson f0ca9bc037 servo: Merge #9962 - Simplify the display list slightly (from mrobinson:display-list-simplification); r=pcwalton
Now that WebRender uses an Iframe display item, we do not need the Noop
item for the non-WebRender path. We can simply reuse the Iframe display
item. Also remove the layer_id member from the LayeredItem struct, as
it is unused.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40083a7aa84c2459f2f1de7dd826d39f80e2195f
2016-03-11 10:53:29 +05:01
Anthony Ramine 3ba3376dfd servo: Merge #9943 - Preliminary bumps for bumping Serde (from servo:serde-preliminaries); r=jdm
We need to bump webrender before being able to bump Serde, but we also needs these bumps, so let's include them ASAP first because bumping a lot of things is always a pain.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f526054ebfa164ca2545d881b8392a744af7870
2016-03-10 00:21:36 +05:01
Suvish Varghese Thoovamalayil 932eddd474 servo: Merge #9920 - Remove unused cell_extras feature gates. Fixes #9912 (from vishy1618:issue_9912); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a96b2360a9e6cfed26c101704fd4c804ed1fcfd3
2016-03-08 16:56:16 +05:01
Simon Sapin 5ec3702057 servo: Merge #9875 - Hide overflow of <input> (from servo:overflow-clip-box); r=mbrubeck
Fix #9477

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: b46d2e2737c174d79681e73f3dbf881624373268
2016-03-05 00:24:33 +05:01
Patrick Walton 229ea1816b servo: Merge #9861 - Flatten the WebRender API to allow us to use shared memory to transfer display lists (from pcwalton:superflat); r=glennw
Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c63bf9822d54cf95daa9921cda08f3b60521027
2016-03-04 06:16:45 +05:01
Glenn Watson 44f92cb1ae servo: Merge #9858 - Fix animation smoothness when using requestAnimationFrame (from glennw:anim-smoothness); r=pcwalton
Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.

Source-Repo: https://github.com/servo/servo
Source-Revision: aba500a698584e66975cd93006ca8cf745370f7d
2016-03-04 05:21:50 +05:01
Jack Moffitt 7d68aad107 servo: Merge #9832 - Suppress reflows before RefreshTick or FirstLoad (from metajack:suppress-reflows); r=mbrubeck
This fixes a bug where partially loaded content is displayed to the user
before it should be, usually before stylesheets have loaded. This commit
supresses reflows until either FirstLoad or RefreshTick, whichever comes
first.

Source-Repo: https://github.com/servo/servo
Source-Revision: 37bcc161fe45bf8c1cb1172b8e0d12c7d03371b6
2016-03-04 03:31:30 +05:01
Patrick Walton 73f8220db0 servo: Merge #9843 - Optimize flat display lists (from pcwalton:optimize-flat-display-lists); r=mrobinson
Flat display lists were a 2x regression on the spheres demo. This patch series fixes that.

See the individual commits for more details.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 55fc48e4c46917a0f036d0054fac296bb5719434
2016-03-04 02:20:04 +05:01
Corey Farwell ccfd41c9c3 servo: Merge #9857 - Indicate components should not be published to crates.io (from servo:publish-false); r=ecoal95
http://doc.crates.io/manifest.html#the-publish--field-optional

Source-Repo: https://github.com/servo/servo
Source-Revision: 633f0414aaa177e439528f0fa848a41bc0fc094a
2016-03-04 01:08:14 +05:01
Emilio Cobos Álvarez fef86e7406 servo: Merge #9715 - script: Fix MouseOver handling (from emilio:mousemove); r=mbrubeck
Now we only query for the topmost node, and apply the hover state to all
of the parent elements.

This fixes things like #9705, where the hover state was applied only to
the children.

This also makes us more conformant with other browsers in the case of
taking in account margins and paddings.

For example, prior to this PR, when your mouse was over the inner
element, in the bottom part, `hover` styles didn't apply to the parent.

```html
<style>
div {
  padding: 10px;
  margin: 10px;
  height: 15px;
  background: blue;
}

div:hover {
  background: red;
}
</style>

<div>
  <div></div>
</div>
```

Fixes #9705

Source-Repo: https://github.com/servo/servo
Source-Revision: 056a7cf1a2284063e5d32c6627b86f6931957a74
2016-03-03 22:26:35 +05:01
Glenn Watson 0bb8ab3918 servo: Merge #9841 - Fix unexpected overflow with overflow: hidden set (from glennw:extra-overflow); r=pcwalton
Fixes #9719.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ff5082798825c6b5925ba4ef3553eb653700695
2016-03-03 00:06:50 +05:01
Ms2ger 3f38199cb3 servo: Merge #9836 - Remove a stray println in table layout (from Ms2ger:print); r=nox
It was introduced in 4dc9d8b1c5a4e68eee09af547ae7069455c9abe9.

Source-Repo: https://github.com/servo/servo
Source-Revision: de7c67575e5cfe71578d226026484da5c6de8707
2016-03-02 15:51:19 +05:01
Martin Robinson 36406cdba8 servo: Merge #9756 - Flatten display list structure (from mrobinson:flat-display-lists-webrender); r=pcwalton
Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62814f7cb486bc267a796b7ce58c51d59240fad0
2016-03-02 05:52:08 +05:01
Matt Brubeck 67e9ce9f24 servo: Merge #9826 - Table border-collapse fixes (from mbrubeck:table-row-iter); r=pcwalton
Two related fixes for border-collapse:

* Fix border collapsing across table-row-group flows

  This fixes the border-end calculation for table rows whose borders are collapsed with rows in different rowgroups.  The border collapsing code now uses an iterator that yields all the rows as a flat sequence, regardless of how they are grouped in rowgroups.  It gets rid of `TableRowGroupFlow::preliminary_collapsed_borders` which was never correct.  (It was read but never written.)

  This may fix #8120 but I'm not 100% certain. (I haven't managed to reproduce the intermittent failure locally, and my reduced test case still fails but in a different way.)

* Fix confusing `push_or_mutate` API

  This fixes a bug when recalculating border collapsing for an existing table row. The bug was caused by using `push_or_mutate` which has no effect if there is already a value at the specified index.

  The fix switches incorrect `push_or_mutate` calls to use `push_or_set` instead. It also renames `push_or_mutate` to `get_mut_or_push` which I think is a less-confusing name for this method.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d6aece589410e13d9773d702f4426d3e197155c
2016-03-02 03:09:12 +05:01
Jonathan Schuster 6ae403af2c servo: Merge #9717 - Move util::range into its own crate (from schuster:move-range); r=frewsxcv
Fixes #9695

Source-Repo: https://github.com/servo/servo
Source-Revision: 4300ba221170785652fe7368e2900f9a5a946096

--HG--
rename : servo/components/util/range.rs => servo/components/range/lib.rs
2016-02-26 07:12:57 +05:01
Matt Brubeck bebb0f9947 servo: Merge #9754 - Don't use image metadata for layout when rendering to a file (from mbrubeck:img-metadata); r=jdm
Fixes #9550. r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 21f0e639794327040184f62b8afd3f1ce339e60b
2016-02-26 03:22:46 +05:01
Eli Friedman d54fe3d15b servo: Merge #9743 - Use presentation hints correctly for the dimensions of `<img>` (from jdm:image-preshint-rebase); r=pcwalton
Mostly straightforward; includes some extra fixes to make `<canvas>`
work the same way as `<img>` for reflow.

Rebase of #8531.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c23cbb78b36ac143bbea3b2e64961bfc46d8e0d
2016-02-26 00:40:32 +05:01
Anthony Ramine 69b87ee72d servo: Merge #9742 - Make use of From<String> for Atom (from nox:atom-from-string); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: b3b6f092062eed2f323da88991553d0285da6a16
2016-02-25 08:10:44 +05:01
Patrick Walton 9228b91ce3 servo: Merge #9663 - compositing: Stop compositing unnecessarily after each animation frame (from pcwalton:browser-html-jank-fix); r=glennw
Instead, schedule a delayed composite after each frame of an animation.

The previous code would cause jank, because the following sequence
frequently occurred:

1. The page uses `requestAnimationFrame()` to request a frame.

2. The compositor receives the message, schedules a composite,
dispatches the rAF message to the script thread, composites, and goes to
sleep waiting for vblank (frame 1).

3. The script makes a change and sends it through the pipeline.
Eventually it gets painted and is sent to the compositor, but the
compositor is sleeping.

4. The compositor wakes up, sees the new painted content, page flips,
and goes to sleep (frame 2). Repeat from step 1.

The problem is that we have two composition frames, not just one. This
halves Web apps' framerate!

This commit fixes the problem by scheduling the composite in step 2 to
12 ms in the future. We already have this delayed-composition
functionality in the form of the scrolling timer, which I repurposed and
renamed to the "delayed composition timer" for this task. This change
gives the page 12 ms to prepare the frame, which seems to usually be
enough, especially with WebRender.

Note that simply removing the scheduled composite after rAF is not the
correct solution. If this is done, then pages that call rAF and don't
modify the page won't receive future rAFs, since the compositor will be
sleeping and won't be notified of vblank.

Fixes a bunch of jank in browser.html. The remaining jank seems to be a
problem with browser.html itself.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d47b344d9d0cf6faa3430bb32bdb4ba3eb11cf7
2016-02-25 03:27:02 +05:01
Martin Robinson f0a262034c servo: Merge #9706 - Remove parallel display list construction (from mrobinson:remove-parallel-display-list-building); r=pcwalton
Parallel display list construction hasn't been shown to give any
performance gains. It is also incompatible with the current flat display
list implementation. Once flat display lists have landed, we can explore
possible benefits of parallel construction once again.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f8c34ce8ed6e5758d2723a2c736107f9765aa24
2016-02-25 02:23:45 +05:01
benshu 1719c32991 servo: Merge #9661 - Completed implementation of devtools' `getLayout` (from jdm:devtools-inspector-get-layout); r=pcwalton
Rebase of #7267. Fixes #3598.

This avoids all of the sketchy issues of trying to read the style data for margins from the script thread. I replaced it with a layout query that fetches the margin style properties for a given element.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09e987b559688caeef75aecd265c68f8d2b5c7e2
2016-02-24 23:53:43 +05:01
Matt Brubeck 486920bd45 servo: Merge #9722 - Dirty elements whose selectors are affected by sibling changes (from mbrubeck:slow-selector); r=nox
This fixes incremental layout of nodes that match pseudo-class selectors such as :first-child, :nth-child, :last-child, :first-of-type, etc.  Fixes #8191 and other intermittent layout bugs.

This code is based on the following flags from Gecko:
https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134

Depends on servo/rust-selectors#71. r? @SimonSapin

There are a couple of TODO items in this commit, but I'd appreciate feedback on the general approach before I finish it up.  (Also, if someone who knows more than I do could give some advice about atomic orderings...)

Source-Repo: https://github.com/servo/servo
Source-Revision: 438b3a444b40ea85e53be0bd1c4689680d577727
2016-02-24 18:26:39 +05:01
Corey Farwell 4332d6ca83 servo: Merge #9733 - Update webrender crate refs to reflect ownership change (from servo:servo-webrender); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 33f0040496bde88683cfadb4068183f7d08a5f1c
2016-02-24 06:23:40 +05:01
Anthony Ramine f98f618ac8 servo: Merge #9721 - Bump to Rust 2016-02-22 (from servo:rustup); r=larsbergstrom,nox
Source-Repo: https://github.com/servo/servo
Source-Revision: dd5f3382547069b9f5d7933959c0307c863c58ac
2016-02-23 06:46:04 +05:01
Tim van der Meij bf5c7df693 servo: Merge #9713 - Move util::persistent_list to layout (from timvandermeij:move-persistent-list); r=nox
Fixes #9694.

Source-Repo: https://github.com/servo/servo
Source-Revision: 581aa1a14f7a24db9068a94c3fb1e7326aaa7024

--HG--
rename : servo/components/util/persistent_list.rs => servo/components/layout/persistent_list.rs
2016-02-20 23:46:19 +05:01
Glenn Watson c6d5efc75f servo: Merge #9589 - Add WebRender integration to Servo (from glennw:webrender); r=pcwalton
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!

Source-Repo: https://github.com/servo/servo
Source-Revision: ab07b06823ea9748a6091aee2281495f86f00bce

--HG--
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/clear.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/debug_color.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/mask.fs.glsl
2016-02-19 00:25:06 +05:01
Glenn Watson de8ea00ceb servo: Merge #9668 - Ensure when calculating font metrics that the total line height matches requested line height (from glennw:inline-accuracy); r=pcwalton
This fixes rounding accuracy issues that could result in layout producing results off by a small number of Au.

Source-Repo: https://github.com/servo/servo
Source-Revision: 83be388f59b1bb4dfccc6ccd89022caa13b37a94
2016-02-18 17:19:15 +05:01
Anthony Ramine 1b4c648862 servo: Merge #9686 - Move util::logical_geometry to style (from nox:mv-logical_geometry); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eee0d4efeba1ee77e864a495b6e1992c8ad088cc

--HG--
rename : servo/components/util/logical_geometry.rs => servo/components/style/logical_geometry.rs
rename : servo/tests/unit/util/logical_geometry.rs => servo/tests/unit/style/logical_geometry.rs
2016-02-18 14:22:29 +05:01
Anthony Ramine 31c444dd4c servo: Merge #9636 - Move util::cursor to style_traits (from nox:mv-cursor); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: f0d4c03bd9c9e181aa1225aec978c2f539e9aeb0

--HG--
rename : servo/components/util/cursor.rs => servo/components/style_traits/cursor.rs
2016-02-16 16:21:20 +05:01
Emilio Cobos Álvarez b1dd4fcd79 servo: Merge #9567 - style: Make the whole style crate independent of the implementation (from emilio:general-pseudo-element-parsing); r=bholley,SimonSapin
This allows, among other things, having different implementations for parsing pseudo{elements, classes} in both `ports/geckolib` and in servo.

Source-Repo: https://github.com/servo/servo
Source-Revision: c11844cbf28054784c8d65781cff20045d8ee48b
2016-02-14 03:30:59 +05:01
Anthony Ramine c0e4adbd32 servo: Merge #9622 - Bump heapsize to 0.3 (from nox:heapsize); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: a164176876bb6abccf729eb5d6334e3c22230103
2016-02-13 18:21:41 +05:01
Josh Matthews e0ee460aad servo: Merge #8987 - Report CSS errors to script task for further processing (from jdm:devtoolsreport); r=glennw
This was a missing piece from #8838.

Source-Repo: https://github.com/servo/servo
Source-Revision: b870aa90878acf97074fa55260beb8acfd125f22
2016-02-12 01:16:58 +05:01
Tim van der Meij a7255f0928 servo: Merge #9565 - Remove dead function Overflow::union_rect (from timvandermeij:dead-function); r=jdm
Fixes #9556.

This makes Servo compile with one warning less.

Source-Repo: https://github.com/servo/servo
Source-Revision: cb8be1434f61e6bfe4639d42b1422329b0451a47
2016-02-10 01:51:54 +05:01
Patrick Walton 98bb874f22 servo: Merge #9522 - layout: Separate out overflow-for-scrolling from overflow-for-paint (from pcwalton:two-overflows); r=mbrubeck
Closes #9484.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: fb3fe3d784c24cdfd8040af0282e5c2182ee2051
2016-02-05 10:29:50 +05:01
Ruud van Asseldonk 6661931910 servo: Merge #9523 - Upgrade to new Hasher API (from ruuda:hasher); r=Wafflespeanut
This fixes #9494.

Source-Repo: https://github.com/servo/servo
Source-Revision: 87aaa5ffe0ca7da8771883ea40d04d7c1449eea9
2016-02-05 07:03:13 +05:01
Anthony Ramine 08f5c3da70 servo: Merge #9532 - Say farewell to in-tree HeapSizeOf (from nox:dedup-heapsize); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a6707ce58df27d93e865bffb6b44d396b810c99
2016-02-05 03:11:36 +05:01
Bobby Holley 7d75623720 servo: Merge #9515 - Stylo uplifts Part 2 (from bholley:stylo_uplifts_2); r=SimonSapin
A bunch of random things that we might as well merge into the tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: 629b1d33d5d6153da87d1ae176ea6c9b9298c650
2016-02-04 22:56:09 +05:01
Ms2ger 2eaac7c861 servo: Merge #9519 - Update Euclid (from Ms2ger:euclid); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 712b053f4f597a097767a0812013b95c7db8b3c9
2016-02-04 16:06:48 +05:01
Keith Yeung 5f946e83b6 servo: Merge #9498 - Update rust-url (from KiChjang:update-url); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 64ad9e17d9323862833daa60290b037ea8334424
2016-02-03 11:09:51 +05:01
Emilio Cobos Álvarez 83aa64a599 servo: Merge #9510 - Update rust-selectors (from nox:bump-selectors); r=SimonSapin
This commits updates rust-selectors to use the generic parser, and as
such it moves the element state into the style crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae20f2556bc7807b39b6649ac1f738644abcc26a
2016-02-03 06:35:11 +05:01
jmr0 3dc744457c servo: Merge #9208 - Use image metadata to lay out images (from jmr0:master-img); r=asajeffrey
Fixes #7047.

cc: @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 46b3eb653579a40632f91497a3d48f1d7fbd40cc
2016-01-31 00:49:41 +05:01
Corey Farwell eb697a60ee servo: Merge #9464 - Prefer `is_empty` over `len` when option is available (from frewsxcv:is-empty); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: cd51ac742d9c827c756f1c4f36b185d2cbc6667b
2016-01-30 09:07:01 +05:01
Patrick Walton a528637c30 servo: Merge #9438 - 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 (from pcwalton:root-margins); r=mbrubeck
Closes #9308.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: d1ff330ba80ad20eae8bfb2f0044e1e1199dc424
2016-01-30 03:26:24 +05:01
Simon Sapin 6bd2c3635f servo: Merge #9170 - Add CSS Multicolumn support with block fragmentation (from SimonSapin:multicol2); r=mbrubeck
![a](https://cloud.githubusercontent.com/assets/291359/12147538/bfb198ac-b499-11e5-9936-c54c93d0b1ed.png)

Includes/supersedes #8763.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e1f0495a922c5dddbc120f17ba5c933973537ed
2016-01-30 00:20:14 +05:01
Glenn Watson 7160028da1 servo: Merge #9446 - Fix panic when perspective property is zero (from glennw:zero-perspective); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 1483a5de32511f4f8e4868e8ae55ef6e8406f0f6
2016-01-29 04:06:04 +05:01
Patrick Walton 12dbf27eaf servo: Merge #9405 - layout: Remove some bogus code that tried to handle absolutely-positioned flows separately when storing overflow (from pcwalton:absolute-positioning-overflow); r=glennw
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.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 4755cc5c6211e845fc8081cb3c8a67b4bdbea5cc
2016-01-25 23:51:26 +05:01
Simon Sapin ec5662344b servo: Merge #9380 - Update cssparser (from servo:cssparserup); r=SimonSapin
https://github.com/servo/rust-cssparser/pull/91

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ba1fb0b7f46472e1f37f4e3f2e7dde025fa9f1f
2016-01-21 22:16:51 +05:01
Bobby Holley 2379681f6b servo: Merge #9284 - Add Partial Implementation of style DOM traits for Gecko, and some basic glue to let Gecko call into Servo (from bholley:bootstrap_stylo); r=SimonSapin
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77d3fbcca3c6f7e8b4068f89e25b090977fe5672
2016-01-19 13:50:10 +05:01
askalski db185a6817 servo: Merge #9341 - Fix to issue 9338 (from askalski:issue9338); r=KiChjang
Fixes #9338.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8f7f7e11b72a59271c3dccf54d9f4959a6992929
2016-01-18 20:01:41 +05:01
Kishor Bhat 21afea8340 servo: Merge #9349 - Remove unused imports in layout (from therealkbhat:layout-cleanup); r=SimonSapin
Fixes #9346.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ad562042ba1d80e619286e0d03e8d1fb408779a
2016-01-17 22:45:37 +05:01
Lars Bergstrom 928d1d2132 servo: Merge #9093 - Update to rustc 1.7.0-nightly (b4707ebca 2015-12-27) (from servo:rustup); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 4cb2c87982355bdf2a2dd409db71d0d4ed6f9a85
2016-01-15 19:08:07 +05:01
Olaf Buddenhagen 289efa1b7b servo: Merge #9300 - layout/text.rs: Add assertion for empty fontgroup (from antrik:assert_empty_fontgroup); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a76de4b0cc2ec1e37539e9d328c9825c9812be78
2016-01-14 13:42:56 +05:01
Joshua Holmer 511a4a2f92 servo: Merge #9295 - Move AnimationState to script_traits (from shssoichiro:move-animationstate); r=KiChjang
Resolves #9223

Source-Repo: https://github.com/servo/servo
Source-Revision: b26c7bd7ea92bdbf7cdcaa0e3d826a880b9cd0ca
2016-01-14 06:01:05 +05:01
Ms2ger 5418f19918 servo: Merge #9275 - Remove some unused extern crates (from Ms2ger:extern-crate); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b5dda3e9c38f6cd4ec9b82f023bf3698addc65f
2016-01-13 20:47:35 +05:01
Bobby Holley 97c1afa558 servo: Merge #9261 - Remove the msg dependency from style (from bholley:geckolib_nomsg); r=Manishearth
This is part of slimming down the dependencies of geckolib.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3680e82cab766a412a969a21c0cdff0c7f97d7bc
2016-01-12 08:54:31 +05:01
Ms2ger 2b13d697b7 servo: Merge #9245 - Stop reexporting style types from layout_interface (from Ms2ger:reexports); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 47617578af97204168fb985b956d8c85c2b9f349
2016-01-11 23:28:51 +05:01
Manish Goregaokar a60fbbcbd2 servo: Merge #8983 - Various textinput fixes (from Manishearth:cursors); r=jdm
- Currently the cursor sticks around if you click elsewhere. Now the text inputs are relayout-ed on blur.
 - Currently whitespace gets collapsed in text input (https://github.com/servo/servo/issues/8772). Not anymore.

Source-Repo: https://github.com/servo/servo
Source-Revision: 099beee85c02d391b854dc5e06da34f89df8b760
2016-01-11 22:52:03 +05:01
John DeSilva 1a9ecebaf4 servo: Merge #9230 - Move Epoch to gfx_traits (from Aesthetikx:move_epoch_to_gfx_traits); r=KiChjang
Resolves #9222. Moved Epoch from components/msg/compositor_msg to
components/gfx_traits/lib. Updated use statements to reflect the move.

Source-Repo: https://github.com/servo/servo
Source-Revision: e89dd05a169aa16267bdb2dbfe5bca01ad6cfe84
2016-01-11 08:50:23 +05:01
Thomas Gummerer 5d45107881 servo: Merge #9236 - Move LayerType enum to gfx_trait (from tgummerer:fix-9220); r=Wafflespeanut
The LayerType enum is only used in gfx_traits and layout, so it
shouldn't be defined in msg.  Move the definition to gfx_traits
instead.

Fixes #9220

Source-Repo: https://github.com/servo/servo
Source-Revision: d3889b4be43eb4d637f2d1ac5d021603653601eb
2016-01-10 20:49:45 +05:01
rohan.prinja d440ee6a41 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8

--HG--
rename : servo/components/canvas/canvas_paint_task.rs => servo/components/canvas/canvas_paint_thread.rs
rename : servo/components/canvas/webgl_paint_task.rs => servo/components/canvas/webgl_paint_thread.rs
rename : servo/components/compositing/compositor_task.rs => servo/components/compositing/compositor_thread.rs
rename : servo/components/gfx/font_cache_task.rs => servo/components/gfx/font_cache_thread.rs
rename : servo/components/gfx/paint_task.rs => servo/components/gfx/paint_thread.rs
rename : servo/components/layout/layout_task.rs => servo/components/layout/layout_thread.rs
rename : servo/components/net/image_cache_task.rs => servo/components/net/image_cache_thread.rs
rename : servo/components/net/resource_task.rs => servo/components/net/resource_thread.rs
rename : servo/components/net/storage_task.rs => servo/components/net/storage_thread.rs
rename : servo/components/net_traits/image_cache_task.rs => servo/components/net_traits/image_cache_thread.rs
rename : servo/components/net_traits/storage_task.rs => servo/components/net_traits/storage_thread.rs
rename : servo/components/script/script_task.rs => servo/components/script/script_thread.rs
rename : servo/components/util/task.rs => servo/components/util/thread.rs
rename : servo/tests/unit/gfx/font_cache_task.rs => servo/tests/unit/gfx/font_cache_thread.rs
rename : servo/tests/unit/net/resource_task.rs => servo/tests/unit/net/resource_thread.rs
rename : servo/tests/unit/util/task.rs => servo/tests/unit/util/thread.rs
2016-01-10 15:20:04 +05:01
Martin Robinson 96b0c369b5 servo: Merge #9008 - More aggressively remove Fragment RestyleDamage (from mrobinson:reflow); r=pcwalton
Now clean up damage on all fragments that belong to a Flow. This ensures
that damage does not re-propagate up to the parent Flow from the
Fragments. It also means that the flow tree dump should show a more
accurate picture of the state of the flow tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1436ee5afab4ede68ab834c7d6368a7d45ede7ac
2016-01-09 06:32:23 +05:01
Martin Robinson 465fce5cd7 servo: Merge #9059 - Use DisplayListSection everywhere (from mrobinson:simplify-display-list-sections); r=pcwalton
DisplayListSection, StackingLevel, and BackgroundAndBorderLevel all
represent pretty much the same thing, a particular section of the
display list. Instead of maintaining three enums which do the same
thing, just use DisplayListSection everywhere. It's a superset of the
other two and this change will make it easier to flatten the DisplayList
in the future for WebRender.

Source-Repo: https://github.com/servo/servo
Source-Revision: be555a9409c949bea7287b0e21df009bce3cb328
2016-01-09 05:53:44 +05:01
Patrick Walton a32fe1fed9 servo: Merge #9177 - gfx: Eagerly transform clips into `ClippingRegion::max()` if possible (from pcwalton:filter-out-useless-clips); r=glennw
This helps WebRender look for useless clips and optimize them out.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 58111a6420d3edded1cb66efa7c9863f1b3cdd8e
2016-01-08 20:55:45 +05:01
Patrick Walton 4396b10fa1 servo: Merge #9171 - Fix `linear_gradients_lengths_a.html` and fix Servo's use of "background-clip" to actually make it work (from pcwalton:linear-gradients-background-clip); r=mbrubeck
See the commit messages for details.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d26445c0df6361e1e8655581a09f0e0faf0818
2016-01-08 14:41:02 +05:01
Bobby Holley fe09e0f6e2 servo: Merge #9176 - Hoist traversal code into style/ (from bholley:hoist_traversal); r=SimonSapin
This should be the last major hoisting necessary to use the style system standalone. \o/

Source-Repo: https://github.com/servo/servo
Source-Revision: ddc3b7942eea8328e9eb22d864d34fce572d5535
2016-01-08 13:28:39 +05:01
Bobby Holley 9f58567604 servo: Merge #9110 - Hoist the rest of css/matching.rs (and its dependencies) into style/ (from bholley:hoist_matching_and_animation); r=SimonSapin
Slowly but surely.

This goes on top of #9103.

Fixes #9103.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3075d13191df9b9c7858b324122872d057fbe4d
2016-01-04 23:05:35 +05:01
Johannes Linke 38405ee47e servo: Merge #9123 - Fix a bunch of clippy lints (from karyon:clippy_cleanup); r=Manishearth
This fixes about 130 clippy lints. Let me know if i should split up the commit.

I wasn't sure about some of the changes, especially map_or instead of map(...).unwrap_or(...) and if let instead of single arm match were not always a strict improvement in my opinion, but i'll leave that decision to the reviewer :)

There are about 150 lints left which i thought were clippy bugs or i didn't know how to fix.

cc @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da739acefc7d1776bf727c8bf782eb79f241028
2016-01-03 08:47:34 +05:01
Ms2ger 1eb51e6f2b servo: Merge #9090 - Don't copy the list of stylesheets in LayoutTask::handle_reflow (from Ms2ger:stylesheets-vec); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 3791447de860816b43ba6f7bd746d40c267362f7
2015-12-31 21:21:22 +05:01
Bobby Holley 7f8dfa2fbf servo: Merge #9077 - Split the style-related bits out of LayoutContext and hoist more stuff into style/ (from bholley:split_layout_context_etc); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f407ea3d620e381b3adf6352cc09f9912db26b3
2015-12-30 10:32:23 +05:01
Bobby Holley a5868c1c28 servo: Merge #9051 - Split layout wrappers into style+layout and layout-only functionality (from bholley:split_style_and_layout_wrappers); r=SimonSapin
This is a step towards removing the dependency of stylo on layout/.

This PR depends on #9004.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5c614609fd8867a9e7c27b8a398ea7d877c714
2015-12-30 09:35:14 +05:01
Joe Kachmar 1e4deb0868 servo: Merge #8958 - Separate script and layout messages, issue #8843 (from jkachmar:separate-layout-msg); r=KiChjang
Separated layout-specific messages to the constellation out from the `ScriptMsg` enum into a `LayoutMsg` enum within `script_traits/script_msg.rs`, addresses [#8843](https://github.com/servo/servo/issues/8843).

I initially tried to move `LayoutMsg` into `layout_traits/lib.rs`, but this introduced a cyclic dependency: `layout_traits` depends on `script_traits` for the `LayoutTaskFactory` implementation, and `script_traits/script_task.rs` now depends on `LayoutMsg` for new layout channels in `InitialScriptState` and `ScriptTask`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 941653da653a1925ade35597e97f61a6a8a0018d
2015-12-27 02:55:38 +05:01