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

844 Коммитов

Автор SHA1 Сообщение Дата
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
Simon Martin 6f8d33fe11 servo: Merge #9055 - Issue #9042: Report incorrect number of spaces around => in the style checker (from simartin:issue_9042); r=Wafflespeanut
Fixes https://github.com/servo/servo/issues/9042

Source-Repo: https://github.com/servo/servo
Source-Revision: f77c7928868469ef4f326a269147ae2aee6151ee
2015-12-24 10:26:48 +05:01
Bobby Holley 2d152878a2 servo: Merge #9004 - Stylo uplifts Part 1 (from bholley:stylo_uplifts_1); r=pcwalton
@pcwalton indicated his approval for landing stuff for the servo/gecko layout integration into the tree, which will improve maintainability for that effort. Here's an initial batch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9412e71460990f40ea7f9706fd79fbcd4eb0670a
2015-12-24 01:02:57 +05:01
Brandon Fairchild 845411a627 servo: Merge #8938 - Move LayerKind and ScrollPolicy enums to gfx_traits (from nerith:gfx); r=Ms2ger
Fixes #8836.

Source-Repo: https://github.com/servo/servo
Source-Revision: 68c4f290c7c9ad7ea45fcea66e3c6b172e42be62
2015-12-23 18:09:51 +05:01
Martin Robinson 6cc361e052 servo: Merge #9040 - Remove a fixed TODO (from mrobinson:fix-comment); r=nox
Issue #2009 has already been fixed and closed so we can remove this TODO
entirely.

Source-Repo: https://github.com/servo/servo
Source-Revision: 48388ad0369368f2d8a631a3fb1cf46892434130
2015-12-22 20:11:13 +05:01
Martin Robinson 7cfbcc21f3 servo: Merge #9041 - Remove workaround for Rect::is_empty (from mrobinson:remove-euclid-workaround); r=jdm
Now that euclid is up-to-date this workaround is no longer necessary.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ddcf9463a58a2c4d9b1495cd6b0113af6a5c071
2015-12-22 17:49:23 +05:01
Mathieu Agopian 2ee894fb9d servo: Merge #9019 - Use Url.join instead of UrlParser.base_url(...).parse (#9002) (from magopian:9002-use-url.join); r=SimonSapin
Fix issue #9002

Source-Repo: https://github.com/servo/servo
Source-Revision: f9141ef2db693518fef676740f25abee3b938cac
2015-12-19 01:29:56 +05:01
Patrick Walton 9964a8693a servo: Merge #8995 - gfx: Measure text shaping time in the time profiler (from pcwalton:measure-text-shaping); r=mbrubeck
r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 338f66003e78250ce141584e87190661249c5589
2015-12-17 10:28:29 +05:01
Keith Yeung 774fcbd5e2 servo: Merge #8903 - fix for Layout memory reporter uses pre-redirect url (from KiChjang:layout-reporter-redirect); r=nox
Rebase of #7612.

Fixes #6872.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc7158310ce8abf6605840f1c23013640703e285
2015-12-16 22:49:30 +05:01
GauriGNaik 5be1a03fb2 servo: Merge #8971 - Add pipeline information to CSS error reporting (from jdm:expose-css-errors-1); r=jdm
Rebase of #8838.

Source-Repo: https://github.com/servo/servo
Source-Revision: d11f96e27074b0130760a02d39d2da4e003c820e
2015-12-14 21:22:41 +05:01
Alex Gaynor b4e76a31ac servo: Merge #8914 - Removed use of a #![feature] that is now stable (from alex:patch-1); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: b7563756376bb2c7b71ace1e153074cfc6562934
2015-12-10 17:39:14 +05:01
Tomas Cernaj 18632570cd servo: Merge #8909 - Move ScriptMsg to script_traits crate, Fixes #8833 (from cnaj:msg_refactoring); r=jdm
Review of documentation that was missing needed.

Fixes #8833.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7438bc0425749989b8aab084a34ff3fff2ea6679
2015-12-10 10:55:44 +05:01
Ms2ger 6cc844ac80 servo: Merge #8874 - Move from clock_ticks to time (from Ms2ger:clock-ticks); r=jdm
This is recommended at <https://github.com/tomaka/clock_ticks>.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f9d3570fc27d08e2afff2b90444956c3c5a66a4
2015-12-07 21:09:16 +05:01
Alexander Mankuta e779396565 servo: Merge #8796 - Replaced ZERO_POINT with Point2D::zero() (from pointlessone:zero-point); r=SimonSapin
This is a proposed in servo/servo#8792 clean up.

Fixes #8792.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2dbc314e2dec39b8798d4e922dd5220d32083b56
2015-12-04 10:40:59 +05:01
Simon Sapin b2ea85ccbd servo: Merge #8800 - Fix warnings (from servo:warnings); r=metajack
Fixing unused attributes warnings required updating serde_macros
which required updating to rustc 1.6.0-nightly (a2866e387 2015-11-30)
which required updating some other dependencies.

Fix #8709.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32b90cdb6ff8f24dfd93aa44c2bae9c4f15429e0
2015-12-04 05:08:38 +05:01
Alexander Mankuta 01d0a231d9 servo: Merge #8795 - Replace ZERO_RECT with Rect::zero() (from pointlessone:zero-rect); r=SimonSapin
This is a proposed in servo/servo#8792 clean up.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3995a7672d4b4ee3f2d6f348f2fe0a88964fc9c6
2015-12-03 21:12:03 +05:01
Simon Sapin d4a1557a4b servo: Merge #8757 - Use skia and deps from crates.io (from servo:skia); r=mbrubeck
This makes the initial download for skia go from a 300 MB git repository to a 5 MB tarball. This should help with issues like #6132 and #7687.

Fix https://github.com/servo/skia/issues/70

This builds, but the at the moment causes a number of tidy errors for duplicated crates.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b95d7b8d860ec4c0834192083361a9fb78ddbeb
2015-12-03 12:29:29 +05:01
Bobby Holley 4a9f5d05c0 servo: Merge #8669 - Generalize layout to operate on arbitrary DOMs (from bholley:generalize_layout); r=pcwalton
This gets us to where we need to be in order to write a Gecko implementation of the layout wrapper and have things Just Work.

Note that this is somewhat more than we need for just running the style system. But there wasn't a clean place to cut, and I thought it was a good idea to just do a complete job on it now, which may save us effort and mismatches in the long run.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f732cfbb404bfd96c3ed3f71c4b9900b7ffbba2
2015-11-29 07:18:33 +05:01
Guillaume Gomez 732bf0a03c servo: Merge #8692 - Ensure crate are alphabetically sorted (from GuillaumeGomez:patch-1); r=Wafflespeanut
cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: dbff1ab33636bc7d60a4c97b63f39b59985726ce
2015-11-28 19:05:11 +05:01
Martin Robinson 75e850240a servo: Merge #8702 - Build Fragments without the RECONSTRUCT_FLOW bit (from mrobinson:fragments); r=pcwalton
The RECONSTRUCT_FLOW restyle damage bit shouldn't apply to newly
constructed flow tree elements. It is explicitly removed for Flows, but
not for Fragments. This causes RECONSTRUCT_FLOW to bubble up to Flows
that contain any Fragments at all. Instead explicitly remove the
RECONSTRUCT_FLOW bit when creating a new Fragment.

There isn't a good way to test this currently, but all tests should
continue to pass.

Source-Repo: https://github.com/servo/servo
Source-Revision: d50b87edeca45fdca1cf491e6a9a18011fe0c120
2015-11-28 09:35:28 +05:01
Guillaume Gomez e2ebe34e9f servo: Merge #8675 - Add XMLDocument object (from GuillaumeGomez:master); r=nox
Fixes #8000

(Still working on it)

Source-Repo: https://github.com/servo/servo
Source-Revision: 99223656fbf6cade8c41d161a9e61a39f58ec796
2015-11-27 19:00:04 +05:01
Manish Goregaokar 693578b06a servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth
<s>DO NOT r+ or try+ this</s>

<s>It causes an OOM (https://github.com/rust-lang/rust/issues/29740) and can crash the OS. Probably will set our CI on fire. </s>

Source-Repo: https://github.com/servo/servo
Source-Revision: f13c72d68e1e7f49e241938bfd6e8a588c68e86b
2015-11-27 10:18:00 +05:01
GauriGNaik 5b0ca679ad servo: Merge #8682 - Defined new trait ParseErrorReporter and added error_reporter member … (from jdm:css-error-reporter); r=jdm
…to ParserContext.

Rebase of #8210.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5ef2f4f75cd58a3c6f1f123e413dc9d3a24f841
2015-11-27 03:27:08 +05:01
Alan Jeffrey f4ab2bfdb5 servo: Merge #8667 - Update string cache (from asajeffrey:update-string-cache); r=SimonSapin
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
2015-11-25 23:41:39 +05:01
Patrick Walton 270cc716a0 servo: Merge #8670 - Write animated values into the `ComputedValues` structures when animations complete or are interrupted (from pcwalton:animation-expiration); r=glennw
This adds a new pair of reader-writer locks. I measured the performance
of style recalculation on Wikipedia and the overhead of the locks was
not measurable.

Closes #7816.

cc @paulrouget

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f625d3ab67bc14b1563f90c48cf97ca59dc1a28
2015-11-25 07:31:14 +05:01
Patrick Walton a2c55b5db1 servo: Merge #8660 - Update `ipc-channel` to pick up the improved error reporting (from pcwalton:ipc-channel-errors); r=larsbergstrom
Intended to help diagnose intermittent failures.

r? @jdm or @larsbergstrom (or whoever)

Source-Repo: https://github.com/servo/servo
Source-Revision: 13a96fcaf78c299beb2021d3ae9dae8d9e916762
2015-11-25 07:02:15 +05:01
Martin Robinson acc0f49daf servo: Merge #8632 - Improve readability of flow tree dump (from mrobinson:flow-tree-dump); r=pcwalton
Use the PrintTree utility to improve the readability of flow tree
dumps. Blocks and fragments are now split over two dump levels, because
otherwise they are impenetrable. Also start printing the restyle damage of
fragments.

Source-Repo: https://github.com/servo/servo
Source-Revision: a2330f494316926dca9f64431d8357a093143d7d
2015-11-24 07:20:07 +05:01
Bobby Holley e74fa4f2d3 servo: Merge #8639 - Use associated types for layout wrapper trait, and generalized ThreadSafeLayoutFoo (from bholley:generalize_wrappers2); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 711f516d80c9c0026744cd373d398dc294f14d2a
2015-11-24 03:32:32 +05:01
Keith Yeung 3e5efa34d0 servo: Merge #8542 - Extend whitespace::T with additional helper methods (from KiChjang:style-whitespace-methods); r=SimonSapin
Fixes #8128.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6449cd09ebd7f7e3545039c26bcbe9a6ca7a5621
2015-11-23 23:10:07 +05:01
r0e 3e26b6db66 servo: Merge #8597 - Fix for #8593 'loop..match' should be 'while let' (from r0e:testing); r=Manishearth
As per #8593.

Source-Repo: https://github.com/servo/servo
Source-Revision: e3eee5a41b2bc6e3517cdcdc745d74c59a82e76e
2015-11-23 07:49:20 +05:01
jmr0 ef773271f4 servo: Merge #8642 - making internal pub enums, functions, and structs private (from jmr0:master); r=jdm
Refactoring to fix #8620

Source-Repo: https://github.com/servo/servo
Source-Revision: 3199eace981899bbaac74abe9362f90b14118d7c
2015-11-22 15:46:36 +05:01
Martin Robinson 92c4008bcb servo: Merge #8628 - Clean up restyle damage after it no longer applies (from mrobinson:damage-bits); r=pcwalton
BUBBLE_ISIZES and REPAINT can become "stuck" on in the default Servo
configuration once they are activated. This is solved by removing these
damage bits after they no longer apply. There isn't a good way to test
this, other than noting that it doesn't break any existing CSS tests.
This will become more important in the future as the REPAINT bit is used
to implement display list patching.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b6bfb615a8a04177c321c4940f79f090b0a7971
2015-11-21 04:15:28 +05:01
Glenn Watson 24a705c7a0 servo: Merge #8559 - Include transform changes in list that cause incremental reflows (from glennw:transform-layers); r=pcwalton
Also ensure that 3d translations get layers.

Fixes #8329.

Source-Repo: https://github.com/servo/servo
Source-Revision: c19b01c2f4acdccf140e65145c8915acc6fbe59c
2015-11-21 01:59:18 +05:01
Ms2ger cc365bc20a servo: Merge #8624 - Pass ServoLayoutNode to query functions (from Ms2ger:node); r=pcwalton
This means we only deal with TrustedNodeAddress in LayoutTask::handle_reflow,
which is where the safety of this usage is guaranteed (by the ScriptReflow
destructor).

Source-Repo: https://github.com/servo/servo
Source-Revision: fc54534898c9ce4cc443e6155e0004ec4edfbb1f
2015-11-21 01:10:11 +05:01
Patrick Walton 8c7de61738 servo: Merge #8599 - compositing: Split Servo up into multiple sandboxed processes (from jdm:e10s-redux); r=metajack
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.

Rebase of #6884.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b39b9afed6ef8a3d7d3e6609fd301a37825d3e1
2015-11-20 03:30:48 +05:01
Rizky Luthfianto 081936fd7a servo: Merge #8606 - refactor(layout_task.rs): move some functions to query.rs (from rilut:refactor-layout-task); r=Ms2ger
Should fixes #8470

Source-Repo: https://github.com/servo/servo
Source-Revision: ff4171170dba925b9036bf59af7dc17202273af1
2015-11-19 23:19:17 +05:01
Bobby Holley c5e27f41ed servo: Merge #8595 - Generalize the layout wrapper layer (from bholley:generalize_wrappers); r=pcwalton
There's still more refactoring to do, but this is the core stuff that's most likely to bitrot.

Source-Repo: https://github.com/servo/servo
Source-Revision: a5babb89a02b9b84a8cd62554a5ceef9efb0d481
2015-11-19 06:43:40 +05:01
Keith Yeung 5b3f4b220a servo: Merge #8530 - Split ConstellationMsg into ScriptMsg and CompositorMsg (from KiChjang:split-constellation-msg); r=jdm
Fixes #8356.

Source-Repo: https://github.com/servo/servo
Source-Revision: acbe41305230a926458596444ca955eff063d9dd
2015-11-19 04:10:20 +05:01
Ms2ger 039acf7bfe servo: Merge #8562 - Stop exposing the internal details of the layout crate (from Ms2ger:private-layout); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2be0cb7827c6553b7dfa4d641bf3a1c72372ad3b
2015-11-18 19:04:36 +05:01
Ms2ger d0c495b6fd servo: Merge #8549 - Privatize from_layout_js functions (from Ms2ger:privatize); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: cedaac8dbe44e23b7bb7335c470e9e48ee1e6139
2015-11-17 13:42:22 +05:01
Ms2ger e0b4ad2928 servo: Merge #8548 - Remove the unused arguments to hit_test and mouse_over (from Ms2ger:unused-tna); r=pcwalton
I don't think this code is called when there is no document element, but I
added assertions to make sure we notice in case I was wrong.

Source-Repo: https://github.com/servo/servo
Source-Revision: 20d26853e145e275695463662b6cee334cd27085
2015-11-17 01:36:52 +05:01
Ms2ger 8888e8b49a servo: Merge #8545 - Remove AutoJoinScriptTask (from Ms2ger:AutoJoinScriptTask); r=pcwalton
I don't believe there is a case where it would make sense to drop the
ScriptReflow struct without joining the script thread. This approach should
be somewhat more robust, and avoids the code smell of a RAII guard in an
otherwise unused variable.

Source-Repo: https://github.com/servo/servo
Source-Revision: db94fda10e3351c96a0df61099d2fdfa481cc62b
2015-11-17 00:49:45 +05:01
Ms2ger fc071d28f4 servo: Merge #8533 - Remove the `legacy` module (from Ms2ger:legacy); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: b6f519cd0a9bdec909dcc5498f36f33e05f1115a
2015-11-15 18:44:13 +05:01
Ms2ger 6abb894296 servo: Merge #8529 - Remove unused lifetime parameters from LayoutTask methods (from Ms2ger:unused-lifetime); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 33c97b2ebbd7b77177b3e3874dc91dc487e64bad
2015-11-15 01:03:35 +05:01
Alan Jeffrey f8093754b7 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:48:30 +05:01
Hayden Faulds 6635d2416a servo: Merge #8485 - Make layout task fields private (from hfaulds:make-layout-task-fields-private); r=Ms2ger
For https://github.com/servo/servo/issues/8471

The second commit I'm slightly less sure about but with `chan` made private this warning was shown:

```
components/layout/layout_task.rs:152:5: 152:21 warning: struct field is never used: `chan`, #[warn(dead_code)] on by default
```

There might be some cleanup around `layout_chan` in https://github.com/hfaulds/servo/blob/make-layout-task-fields-private/components/layout/layout_task.rs#L244-L261 as well but that was a bit beyond me.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e10b67b1806a481d3080d243e5d64022cee51a0
2015-11-13 01:57:12 +05:01
Martin Robinson 6073ac42ae servo: Merge #8376 - Properly make stacking contexts for inlines (from mrobinson:fix-inlines); r=pcwalton
Instead of making a stacking context out of inline fragments parent
flow, make the inline fragment itself the stacking context. This fixes
positioning and rendering of these sort of fragments and prevents
over-layerization.

Fixes #7424.
Fixes #5812.

Source-Repo: https://github.com/servo/servo
Source-Revision: efc31e619d0d4024faafbfecbd01aa4cff523904
2015-11-12 11:57:39 +05:01
Michael Howell 68e9519794 servo: Merge #8256 - Write reflow results, even with no root node (from notriddle:master); r=eefriedman
Fixes #8240

Test in w3c/csswg-test#928.

Source-Repo: https://github.com/servo/servo
Source-Revision: 532f9a053a318fc3022de8bd5cd8b853ff27b37e
2015-11-11 04:20:49 +05:01
Bobby Holley 6c48a45939 servo: Merge #8381 - Implement attribute restyle hints (from bholley:attr_restyle_hints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 13226f847234cd0130820338d5a272277780d278
2015-11-11 00:58:45 +05:01
Ms2ger ffd1877846 servo: Merge #8378 - Reduce LayoutTaskData to the fields used for RPC (from Ms2ger:rwdata); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 0d21158eb3bc8cb64a1953ab77b57e813bd429ed
2015-11-10 07:18:45 +05:01
Till Schneidereit 6b102412c1 servo: Merge #8039 - Move Stylesheet loading and ownership from the layout task into HTML elements (from tschneidereit:script-owns-stylesheets); r=jdm
Stylesheets for `HTMLLinkElement`s are now loaded by the resource task, triggered by the element in question. Stylesheets are owned by the elements they're associated with, which can be `HTMLStyleElement`, `HTMLLinkElement`, and `HTMLMetaElement` (for `<meta name="viewport">).

Additionally, the quirks mode stylesheet (just as the user and user agent stylesheets a couple of commits ago), is implemented as a lazy static, loaded once per process and shared between all documents.

This all has various nice consequences:
 - Stylesheet loading becomes a non-blocking operation.
 - Stylesheets are removed when the element they're associated with is removed from the document.
 - It'll be possible to implement the CSSOM APIs that require direct access to the stylesheets (i.e., ~ all of them).
 - Various subtle correctness issues are fixed.

One piece of interesting follow-up work would be to move parsing of external stylesheets to the resource task, too. Right now, it happens in the link element once loading is complete, so blocks the script task. Moving it to the resource task would probably be fairly straight-forward as it doesn't require access to any external state.

Depends on #7979 because without that loading stylesheets asynchronously breaks lots of content.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ff3a17524e0e703e3ac279441729c185444be24
2015-11-08 00:42:54 +05:01
Ms2ger d1fefa91f1 servo: Merge #8355 - Cleanup exit messages and related code (from Ms2ger:Exit); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a465c58429547b59b8a6e1258eaaea46bf7e5a2
2015-11-07 22:05:45 +05:01
Ms2ger a2f2801118 servo: Merge #8382 - Remove the unsafe Sync implementation for SharedLayoutContext (from Ms2ger:SharedLayoutContext-sync); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 36cd1866086c97d6612289c9fd10f559d23304cf
2015-11-07 15:50:43 +05:01
Bobby Holley 577687c224 servo: Merge #8341 - Fix restyle hints to handle non-last psuedo-selectors, and track pristine state values rather than changesets (from bholley:state_hint_selector_ordering); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 65c3185b202b8dd57a39e1d84872d7528723b191
2015-11-07 09:24:19 +05:01
Simon Sapin 003146d5d2 servo: Merge #8343 - Fix some custom properties bugs (from servo:custom-properties); r=mbrubeck
Fix #7767.

Source-Repo: https://github.com/servo/servo
Source-Revision: faf2f34772fe06396a7b8542b00f0566832bc7ef
2015-11-07 05:33:36 +05:01
Ms2ger 833725666b servo: Merge #8330 - Remove unused LayoutTaskData::screen_size (from Ms2ger:rm-screen_size); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: a0221b91268307b1c2690241a4d24816471c915e
2015-11-07 02:34:44 +05:01
Martin Robinson 3d6034f11c servo: Merge #8337 - Remove DisplayListBuildingResult (from mrobinson:remove-display-list-result); r=pcwalton
Always produce a DisplayList when processing nodes for display list
construction. StackingContexts are now added to the positioned content
section of DisplayLists. This makes the code a bit simpler and opens up
the possibility of producing a StackingContext in another section of
the DisplayList. This doesn't change behavior, but is a cleanup
prerequisite for proper inline stacking context support.

Source-Repo: https://github.com/servo/servo
Source-Revision: da25b8c848886d2fc875008de5adcaf13d7c9e99
2015-11-06 05:07:35 +05:01
Ms2ger ba504e9b02 servo: Merge #8327 - Remove unused argument from TableLikeFlow::assign_block_size_for_table_like_flow (from Ms2ger:unused-arg); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: e2385c8c0eb555e0ea7caa9c61229432aa25c9b1
2015-11-05 18:27:26 +05:01
Martin Robinson e0c7e3eb45 servo: Merge #8334 - Eliminate LAYERS_NEEDED_FOR_DESCENDANTS flag (from mrobinson:eliminate-layers-needed); r=pcwalton
This flag is no longer necessary, because stacking contexts can now
create layers lazily for content that needs to be stacked above a
layer. This should reduce the number of layers on pages, hopefully
reducing overdraw.

Source-Repo: https://github.com/servo/servo
Source-Revision: acc0bf68736d6e4aee2e370bf91fc2465415aa6e
2015-11-05 06:35:11 +05:01
Ms2ger 7cb2a13f43 servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:18:41 +05:01
David Zbarsky 075284e51a servo: Merge #8202 - Allow retrieving width/height for non-positioned elements (from dzbarsky:getComputedStyle); r=pcwalton
This was causing a bunch of tests in tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes* to fail.  They were returning "auto" instead of the correct size. They still fail because the returned size is off by a few pixels, not sure why yet. But this is more correct and may fix other failing tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: b6850853da5fc677ecfa15d273159371a909ac6c
2015-11-04 13:03:15 +05:01
Glenn Watson 11639f24e6 servo: Merge #8306 - Change overflow calculation to be calculated after compute_absolute_position (from glennw:fix-abd-overflow); r=pcwalton
Also include absolutely positioned elements in the overflow rect calculation.

Fixes #7797.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca56ebbb09f3c258d10e7a7fa276d42fe258d893
2015-11-04 07:46:58 +05:01
Martin Robinson 92570bfa5e servo: Merge #8266 - Mix stacking contexts into the positioned content list (from mrobinson:stacking-context-mix); r=pcwalton
Sometimes positioned content needs to be layered on top of stacking
contexts. The layer synthesis code can do this, but the current design
prevents it because stacking contexts are stored in a separate struct
member. In order to preserve tree order, mix stacking contexts into the
positioned content list, by adding a new StackingContextClass
DisplayItem. Such items do not have a base DisplayItem.

In some ways this simplifies the code, because we no longer have to
have a separate code path in the StackingContextLayerCreator.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86e3add8fdc35fc6980bb63695781925607437b8
2015-11-04 06:53:43 +05:01
Patrick Walton 9ddbcb6897 servo: Merge #8299 - Fix several bugs causing the page to reflow on every mouse move event (from pcwalton:dont-reflow-on-hover); r=mbrubeck
After all these changes are applied, Hacker News and GitHub only repaint and reflow nodes that actually have hover styles applied when the mouse moves over them.

r? @mbrubeck

cc @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 36c5dd4c8c543ed6767fe9dd367281b292d68dba
2015-11-04 05:59:46 +05:01
Florian Merz f4f9652bda servo: Merge #8265 - add get_raw_layout_value (HTMLInputElementHelpers) (from fiji-flo:password_caret); r=eefriedman
This resolves #8107
Previously the index of the insetion point for a password input was
calculated using the scrambled string based on the edit point in the
raw string. That could lead to a wrong position of the caret. This
commit changes this behavior to calculate the insertion point using
the raw string.

Source-Repo: https://github.com/servo/servo
Source-Revision: e91169c0e2cfe37b1a2d0feb3aab50b72c816ffc
2015-11-04 05:00:59 +05:01
rohan.prinja e8b504412b servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:27:02 +05:01
Patrick Walton b21eb76306 servo: Merge #8300 - layout: Avoid flooding the compositor with animation state changes if there are no animations running and no new animations were added (from pcwalton:avoid-animation-state-flooding); r=glennw
Avoids compositor jank during scroll.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 27fb2ed26d0a9dca624ac26cd378a14ac0ea8678
2015-11-03 17:56:33 +05:01
David Zbarsky 5deb83534e servo: Merge #7400 - Allow more valid use of calc expressions (from dzbarsky:angle); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: e72bd1437c667d5429f2e288701ae99aac5c4b4e
2015-11-02 12:17:43 +05:01
Olivia Nordquist 5a05de931c servo: Merge #8290 - Un-boxed ScriptReflow (from itsmeolivia:store-script-reflow); r=Ms2ger
As per #8238 I changed `layout_interface::Msg::Reflow` to store `ScriptReflow` rather than `Box<ScriptReflow>`

I ran the tests and believe everything passed but this is my first commit to the project so sorry if I messed up the protocol!

Source-Repo: https://github.com/servo/servo
Source-Revision: 601169c0e5b0207805bb316b21e556f5ab67df9b
2015-11-01 14:21:17 +05:01
Bobby Holley 767285b863 servo: Merge #8274 - Implement state-based restyle hints (from bholley:state_restyle_hints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 959ae86bd0435bf67626d3203a220c0e9f2eea40
2015-11-01 06:54:51 +05:01
Bobby Holley 5db6816cd0 servo: Merge #8162 - Centralize event states in rust-selectors (from bholley:centralize_event_states); r=pcwalton
This still needs a rev bump on rust-selectors once https://github.com/servo/rust-selectors/pull/55 gets merged.

Source-Repo: https://github.com/servo/servo
Source-Revision: 521a87180a85709f8f704df33537f79bd131bf71
2015-10-31 09:36:45 +05:01
Corey Farwell 9e37827713 servo: Merge #8279 - Fix some rust-clippy violations (from frewsxcv:clippy-fixes); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 913ac568750502087a7f1693b3657a24cefd2460
2015-10-31 06:22:47 +05:01
Ms2ger 84e4adc0d4 servo: Merge #8187 - Introduce a Layoutnode::new function and use it (from Ms2ger:layoutnode-new); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 6cc8186481110370205e7979f3942ad005889a30
2015-10-30 13:14:17 +05:01
Ms2ger fad7f9bff1 servo: Merge #8212 - Remove SharedLayoutContext::reflow_root (from Ms2ger:reflow-root); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b6bcccb204f710665482fa8098084a30126a3bac
2015-10-30 04:53:54 +05:01
Bobby Holley b3fb877c87 servo: Merge #8098 - Track event state changes on Document and do the dirtying from layout (from bholley:dirty_from_layout); r=jdm
This is a first step in fixing #6942.

Source-Repo: https://github.com/servo/servo
Source-Revision: 285e29c06637f31a8b8a27c2e454468717924ebd
2015-10-28 23:55:53 +05:01
Manish Goregaokar 0869f53e87 servo: Merge #8241 - Update euclid to 0.3 (from Manishearth:euclid_up); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 0d699a2b4419632e31b35352c518e2ef5ffcc9a3
2015-10-28 21:32:15 +05:01
Michael Howell b5d2540e12 servo: Merge #8145 - Show overflow for #8118 (from notriddle:master); r=pcwalton
Fixes list items.

Source-Repo: https://github.com/servo/servo
Source-Revision: bccede03708c0e80b7ef718890e0a740edcce901
2015-10-28 03:28:07 +05:01
David Raifaizen eee7bbae25 servo: Merge #8129 - Made block type pattern match less inclusive (from craftytrickster:pos-fixed-list-item); r=glennw
Given the comments above the match statement, it seems that fixed-pos check should match only block elements in this case. Doing this change seems to partially resolve the issue where list items with `position:fixed;` styling are not displaying their bullet points. This change only resolves the issue for list items with `list-style-position: inside`, outside positioning is still not functioning correctly.

https://github.com/servo/servo/issues/8001#issuecomment-149781613

Source-Repo: https://github.com/servo/servo
Source-Revision: 381317f658bbfd66674cc1e92b27c86503ca7d31
2015-10-28 01:15:48 +05:01
Glenn Watson 219603be46 servo: Merge #8094 - Fix start and end points for linear gradients with angle specified (from glennw:fix-angle-gradients); r=pcwalton
Previously, this was most noticeable with 45deg gradients, where the gradient would end too early, and the remainder was filled with a solid color.

(This also fixes gradients on webrender, which relies on the start and stop points being correct).

Source-Repo: https://github.com/servo/servo
Source-Revision: b8f196f858dea3b6c275eafa57d14679f9be7066
2015-10-26 17:59:39 -05:00
Ms2ger a030ecb8b6 servo: Merge #8208 - Return a LayoutNode with a limited lifetime from layout_node_from_unsafe_layout_node (fixes #3044) (from Ms2ger:lnfuln); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f6e3146de248554607790108680a43844dff70bf
2015-10-26 11:08:33 -05:00
Ms2ger 9633ebf292 servo: Merge #8206 - Cleanup layout interaction with canvas elements (from Ms2ger:dlb-canvas); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2091aafcfb32dffba836fde2ccddf4a183e88302
2015-10-26 10:27:47 -05:00
Ms2ger 1b418c9475 servo: Merge #8205 - Return the result from query functions (from Ms2ger:query); r=jdm
This reduces some unnecessarily tight coupling, makes it clearer what these functions do, and may help avoid bugs where we would return from such a function without updating the relevant field.

It is also a precondition for some future experimentation I'm thinking of doing with this querying design.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a254b7e20c37e4ce7b614abea9ebd4687c65f98
2015-10-26 09:00:30 -05:00
Ms2ger 7603e5f864 servo: Merge #8203 - Remove manual implementations of Send and Sync for BaseFlow (from Ms2ger:unsafe-impl-baseflow); r=nox
They don't appear to be necessary.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4e015b53781ce6ae26c8972fe5cfe82f0cc98b72
2015-10-26 03:48:19 -05:00
Ms2ger 5b0cf7f800 servo: Merge #8204 - Privatize FlowConstructionUtils (from Ms2ger:privatize-FlowConstructionUtils); r=nox
This makes it match the documentation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 83b72e86693452ce9e950752743a712c29deb430
2015-10-26 03:04:24 -05:00
Ms2ger 8e835efaa7 servo: Merge #8196 - Remove a pointless clone() from add_font_face_rules (from Ms2ger:clone-font-cache-task); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 64cae0c5905d1069e40c94c4ef61d50b30bc8196
2015-10-25 17:58:11 -05:00
Ms2ger 7912b9e110 servo: Merge #8186 - Remove an unnecessary Atom::clone() call (from Ms2ger:rm-clone); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b5bc4f9a95aa8aa1497ff2545ff7ed018d3c650
2015-10-25 05:09:11 -05:00
Martin Robinson 19653ac5ca servo: Merge #8140 - Integrate Canvas into the DisplayList (from mrobinson:canvas); r=pcwalton
Canvas is currently given a layer at the stacking context level.
Instead it's DisplayItem should be given a layer directly. This fixes
painting order issues where canvases are painted on top of other
positioned content that is later in tree order. It always simplifies
the code a bit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 22a6884a671da0434fe2b3bf30f50b9133d4c70b
2015-10-23 17:17:12 -05:00
Ms2ger ce05956312 servo: Merge #8155 - Remove Window::layout_join_port (from Ms2ger:join); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4d737b51bb2053e9bb970b31b0516ac8810a061b
2015-10-23 04:50:38 -06:00
Ms2ger 5e771be0e4 servo: Merge #8150 - Use the select!{} macro in LayoutTask::handle_request (from Ms2ger:select-layout); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e05999ea9f4883c85939b209f811ae20e9e9e89c
2015-10-22 11:14:52 -06:00
Florian Merz 74d3b7be24 servo: Merge #7761 - display input caret for textarea. fixes #7758 (from fiji-flo:input_caret); r=pcwalton
This adds the input caret for textareas. Although, it does not handle multiline textareas correctly. The caret gets displayed for each line.

I'll look into that but that will take more time. Some feedback on this small patch would be appreciated though.

Source-Repo: https://github.com/servo/servo
Source-Revision: af6a64e176ec66a9c066e9e7bf40b6ce3ac77b2e
2015-10-21 15:23:52 -06:00
Bobby Holley 80d425c0ca servo: Merge #8042 - Remove HAS_DIRTY_SIBLINGS (from bholley:dirty_siblings); r=pcwalton
This isn't doing anything right now, and we're not even setting it properly
in dirty_impl the |dirty_subtree(self)| was causing us to hit the skip case
for step 3.

Source-Repo: https://github.com/servo/servo
Source-Revision: 50ec2353845bf2a3971d5b01db37d2c3741d3912
2015-10-21 12:18:02 -06:00
Anthony Ramine bb8125a3da servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Adam Szopa 7ecd87862f servo: Merge #8099 - Remove explicit lifetimes which can be elided (from Darktori:master); r=mbrubeck
Fixes https://github.com/servo/servo/issues/8069

Source-Repo: https://github.com/servo/servo
Source-Revision: 941c06eb99533c6c1d55b4ad3b51804badf48a23
2015-10-20 17:30:57 -06:00
Martin Robinson 7f9d8e7d86 servo: Merge #7950 - Integrate iframes into the display list (from mrobinson:layerize-iframes); r=pcwalton
Instead of always promoting iframes to StackingContexts, integrate them
into the display list. This prevents stacking bugs when
non-stacking-context elements should be drawn on top of iframes.

To accomplish this, we add another step to ordering layer creation,
where LayeredItems in the DisplayList are added to layers described by
the LayerInfo structures collected at the end of the DisplayList.
Unlayered items that follow these layered items are added to
synthesized layers.

Another result of this change is that iframe layers can be positioned
directly at the location of the iframe fragment, eliminating the need
for the SubpageLayerInfo struct entirely.

Iframes are the first type of content treated this way, but this change
opens up the possibility to properly order canvas and all other layered
content that does not create a stacking context.

Source-Repo: https://github.com/servo/servo
Source-Revision: 11d23a41b31c2b2846d1e9c6b40e87ba7e2a095f
2015-10-20 16:01:38 -06:00
Eli Friedman 75c42c7efd servo: Merge #7951 - Add support for `pre-wrap` and `pre-line` values for `white-space` (from eefriedman:white-space); r=pcwalton
This is mostly straightforward.  I had to modify a couple of places
which were accidentally discarding whitespace.

Fixes #1513.

This fixes some relevant tests from the CSS testsuite... but a lot of
them are either manual, or don't pass because of unrelated issues.  (For
example, white-space-mixed-002 renders correctly, but
white-space-mixed-002-ref doesn't because of a float bug.)

I'd appreciate any suggestions for how to go about adding tests for this.

Source-Repo: https://github.com/servo/servo
Source-Revision: c3ab71109ee2ffcc31b40890f4c6739d8f5b1333
2015-10-20 12:38:54 -06:00
Dongie Agnir af57f14d04 servo: Merge #8092 - Remove unused import (from dagnir:remove-unused-import); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 511e3c1846a0138bf8e278d06d36917b16e140ab
2015-10-19 20:48:45 -06:00
Ms2ger 8be0065221 servo: Merge #8029 - Some cleanup in layout (from Ms2ger:cleanup-layout); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: e0c8a88410277843714a20d5fced73a392fad861
2015-10-19 11:36:58 -06:00
Roman Klauke ef5b1f883b servo: Merge #8071 - remove unused methods from ThreadSafeLayoutNode (from romankl:gh/8063); r=nox
`get_input_size ` and `get_input_value ` aren't used in the codebase.

Ref.-Issue: #8063

Source-Repo: https://github.com/servo/servo
Source-Revision: 50ad1b064d6e85e84707d83ca8f4b5b541b6b8da
2015-10-19 04:32:34 -06:00
Bobby Holley ad33b14737 servo: Merge #7935 - Move event state from Node to Element (from bholley:eventstate_element); r=nox
Just getting my feet wet with Rust here. Please feel free to nit the hell out of it stylistically and idiomatically. :-)

Source-Repo: https://github.com/servo/servo
Source-Revision: ff2151b8bbc62fa29c90a429b7a4f12520420b6e
2015-10-19 02:47:21 -06:00
Martin Robinson a4a31e27bf servo: Merge #8023 - Z-index should be ignored for non-positioned stacking contexts (from mrobinson:zindex); r=pcwalton
When a stacking-context is not positioned, its z-index should be
ignored. This is per CSS 2 9.9.1. The only exception to this is when
the z-index is applied to an element with display: flex | inline-flex.
inline-flex does not appear to be implemented at this time so we only
do this for flex.

Source-Repo: https://github.com/servo/servo
Source-Revision: 90dd3cdc095d7bf54435f0fcb8a6fe134b00fc24
2015-10-16 12:13:49 -06:00
Anthony Ramine d5038d123e servo: Merge #7873 - Generate the various TypeId enums in codegen (from nox:codegen-typeid); r=Ms2ger
This frees us forever from caring about maintaining these enums. The last commit removes their use from the initialisation of interface objects derived from Node.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32daa17d5cbcad02db0713e21e52410cdc60480e
2015-10-14 12:47:48 -06:00