Commit Graph

109 Commits

Author SHA1 Message Date
Ravi Shankar
344e41a8e2 servo: Merge #12783 - Prefer length and percentage for word spacing (from Wafflespeanut:word_spacing); r=Manishearth
<!-- Please describe your changes on the following line: -->
The goal is to make use of `LengthOrPercentage` for word spacing in `ShapingOptions`, but since it makes use of `f32` which doesn't implement `Hash`, we're going for `NotNan<f32>` from [ordered-float](https://github.com/reem/rust-ordered-float/), which supports hashing. Instead of implementing `Hash` for `LengthOrPercentage` and thereby the inner types like `CSSFloat`, `CalcLengthOrPercentage`, etc., we convert it to `(Au, NotNan<f32>)`.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [ ] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3b676bc85dc66ed0e80756204f347bf1842b01a0
2016-08-09 10:13:30 -05:00
Emilio Cobos Álvarez
b19ec13379 servo: Merge #12392 - style: Add support to test animations programatically (from emilio:test-animations); r=SimonSapin
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #12120

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @SimonSapin for the style changes, @Ms2ger or @jdm for the dom and test changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 14aeccc33ab44d706df86fbce67339218efe710c
2016-07-20 13:38:31 -05:00
Anthony Ramine
25b6b35cd1 servo: Merge #11930 - Remove some util stuff (from nox:die-util-die); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: dcc4697dde3ba8af32e233b302a16bea76af378a
2016-06-29 15:37:42 -05:00
Simon Sapin
899e94c60b servo: Merge #11835 - Use our copy of RefCell for style data (from servo:diy-as-unsafe-cell); r=nox
<!-- Please describe your changes on the following line: -->

This allows removing `#![feature(as_unsafe_cell)]` in geckolib and make progress towards #11815.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #11815.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require new tests because they don’t introduce no functional changes.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3de14d9ca0cf54e6a2ae4eac5ff47e38e724b77b
2016-06-23 09:19:28 -05:00
Ms2ger
eabac16841 servo: Merge #11804 - Introduce a layout_thread crate; drop the dependency of layout on script (from Ms2ger:layout-thread-crate); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a94d3ee744fd0ff87bfe0548ba96927e64ce4b54
2016-06-20 17:00:13 -05:00
Ms2ger
3d1fbff800 servo: Merge #11754 - Move ServoLayoutNode and related structs to script (from Ms2ger:wrapper-traits-prep2); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: ee8c5c5a67e1181eca163d3cd1189866d230b8f0
2016-06-20 12:54:20 -05:00
Simon Sapin
ae96131d9d servo: Merge #10928 - Fix some warnings (from servo:warnings); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f1a921ba6731499fe89a82f14d9e01a3bd7c50b
2016-04-30 05:16:46 -07:00
Emilio Cobos Álvarez
cf21bd8eb4 servo: Merge #10815 - style: Support anonymous box pseudo-elements (from emilio:anonbox-gcs); r=SimonSapin,bholley
This is a work-in-progress that:

 * Adds support for some pseudo-elements to skip the cascade entirely, in an analogous way to Gecko's anonymous box pseudo-elements.
 * Takes rid of `StylistWrapper`, and uses `Arc::get_mut` instead.
 * Uses the first bullet to precompute the `-servo-details-content` pseudo's style.

I'd like @bholley to take a look before following, do you think that the aproach is the correct?
Also, @SimonSapin could want to put some eyes on it.

Depends on https://github.com/servo/rust-selectors/pull/81

Source-Repo: https://github.com/servo/servo
Source-Revision: 407f991c8aba5dcf5312bb2c34a3dd4fe12e5471
2016-04-29 14:27:16 -07:00
Zbynek Winkler
aa72c25a6b servo: Merge #10706 - Turn on unused-extern-crates warning (from zwn:unused-extern-crates); r=nox
As discussed in #9256. It should solve second half of the issue.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0a3a50a1293e4e8f3e04161014d03802765140c7
2016-04-22 13:40:38 -07:00
Matt Brubeck
2ebce97dc8 servo: Merge #10255 - Reduce size of layout::fragment::Fragment struct (from mbrubeck:box-unscanned); r=pcwalton
This reduces the size of the SpecificFragmentInfo enum from 48 to 24.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 44b2ba25471e77b89b417161beb312a2985791a1
2016-03-30 07:19:25 +05:00
Matt Brubeck
ac2b92156b 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:12:10 +05:00
Suvish Varghese Thoovamalayil
5b77e59986 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:55:16 +05:00
Jonathan Schuster
71dd7af24e 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
2016-02-26 07:11:57 +05:00
Tim van der Meij
acc3cc0af6 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
2016-02-20 23:45:19 +05:00
Glenn Watson
3b05a50ca8 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
2016-02-19 00:24:06 +05:00
Anthony Ramine
cca9a4d4c7 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
2016-02-16 16:20:20 +05:00
Ruud van Asseldonk
98efdc7e80 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:02:13 +05:00
Anthony Ramine
011de9f1aa 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:10:36 +05:00
Emilio Cobos Álvarez
3a8bc8c62b 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:34:11 +05:00
Ms2ger
2679e8ce87 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:46:35 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Bobby Holley
aeebf9d35c 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:04:35 +05:00
Bobby Holley
1e98f94139 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:34:14 +05:00
Alex Gaynor
958cfce265 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:38:14 +05:00
Ms2ger
4671962fcd 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:08:16 +05:00
Guillaume Gomez
7855be6622 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:04:11 +05:00
GauriGNaik
192058cf08 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:26:08 +05:00
Alan Jeffrey
4d3e2c8d46 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:40:39 +05:00
Patrick Walton
b6090f931d 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:30:14 +05:00
Ms2ger
925f3d6d8f 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:03:36 +05:00
Bobby Holley
6797370361 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:35:45 +05:00
Glenn Watson
5c835e208c servo: Merge #7795 - Split Au type into separate crate, with minimal dependencies (from glennw:app-units-crate); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 35888e5a1d48511ec54ddf8c58f1c7b0c47c5d3c
2015-09-30 15:19:33 -06:00
Matt Brubeck
5054dbadc9 servo: Merge #7786 - Use Harfbuzz 1.0 and unicode-script for text shaping (from mbrubeck:harfbuzz-sys); r=pcwalton
Depends on servo/rust-harfbuzz#53 and introduces a dependency on the new servo/unicode-script crate.  r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: a144d086d911375f8d5674ac90ff55a9dcaf0cda
2015-09-29 15:37:11 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Manish Goregaokar
3e8738a6e4 servo: Merge #7697 - Rust upgrade to rustc 1.5.0-dev (6217b002b 2015-09-21) (from servo:rustup_20150921); r=Ms2ger
Snapshot doesn't exist yet. Rust master+ should work.

Also https://github.com/serde-rs/aster/pull/33 hasn't merged yet.

r? @Ms2ger @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: f7f16870bebdc9359661544054259b37780f1331
2015-09-23 06:45:18 -06:00
Hugo Thiessard
3b07c13b97 servo: Merge #7680 - fixes #7390 : tidy now check the order of mod declarations even whith attribute (from Mylainos:Issue-#7390); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d1b85de762c0193276010a019f931526c34c04ce
2015-09-18 14:44:48 -06:00
Patrick Walton
faf0032ca9 servo: Merge #7312 - Initial (very rudimentary) flexbox implementation (from servo:flex-experimental); r=SimonSapin
This is #7154 with two additional commits (that I did rather than ask @zentner-kyle to do it because it was a bit tricky.)

r? @pcwalton for the last two commit

r=me+pcwalton in #7154 for earlier commits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e83a3f0a3bab226cca849ab33fa3322ef71813d
2015-08-21 17:19:20 -06:00
Simon Sapin
603df5a2aa servo: Merge #7237 - Replace FlowRef with Arc<Flow>, now that Arc supports DST (from servo:arc-flow); r=pcwalton
… and `WeakFlowRef` with `Weak<Flow>`.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9778fad90e41ec70e8f54d61e168172635d925
2015-08-21 15:29:35 -06:00
Patrick Walton
78e790ea7d servo: Merge #7099 - servo: Update ipc-channel to pick up bincode support (from pcwalton:bincode); r=jdm
Large improvement in page load times, especially in debug builds.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: d4d4d6dc013ee322282de7ec0effa54c8827a775
2015-08-08 10:55:00 -06:00
Matt Brubeck
1b79f20ff5 servo: Merge #7052 - Rollup of 2 pull requests (from mbrubeck:rollup); r=mbrubeck
- Successful merges: #7014, #7015
- Failed merges:

Source-Repo: https://github.com/servo/servo
Source-Revision: b21584c862f8831dfb40e9cf0495bf04bc6ae1b5
2015-08-06 16:13:12 -06:00
Nick Thompson
e86b2e4fa1 servo: Merge #6836 - Extract layout query code into layout/query.rs (from nick-thompson:layout_refactor); r=Ms2ger
Fix for #6787. I left the commits split up for ease of review, happy to squash when this gets accepted.

Source-Repo: https://github.com/servo/servo
Source-Revision: 172f046688c600c9f51f8db0380e399f6372fe4d
2015-08-06 03:29:16 -06:00
Jack Moffitt
8bf76830eb servo: Merge #6876 - Use local slice_chars (from metajack:slice_chars-layout); r=pcwalton
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.

This fixes a bunch of deprecation warnings in Servo.

Source-Repo: https://github.com/servo/servo
Source-Revision: a54404c92180b839d2cf089d9ec9a6afe8bd5ba3
2015-07-31 12:54:49 -06:00
Ms2ger
b7afa848f3 servo: Merge #6794 - Remove StyledNode (from Ms2ger:StyledNode); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b447651e4e5309c057f2cf2af58b3aa733bb4c4
2015-07-28 17:26:42 -06:00
Matt Brubeck
83840728e7 servo: Merge #6471 - Basic support for bidirectional text (from mbrubeck:bidi); r=pcwalton
This re-orders text according to the Unicode bidirectional layout algorithm, using the [unicode-bidi](https://github.com/mbrubeck/unicode-bidi) crate.  It uses the natural order of the text based on Unicode character properties and the CSS `direction` property.

This does not yet support the CSS `unicode-bidi` property or the HTML `dir` attribute, but these should be straightforward to add.

r? @pcwalton.  Also depends on servo/unicode-bidi#4.

Source-Repo: https://github.com/servo/servo
Source-Revision: d3a36fafd948d7b9366feeca44f9ca9ad012d706
2015-07-23 21:20:49 -06:00
Ms2ger
9c37d1af77 servo: Merge #6650 - Various layout cleanup (from Ms2ger:layout-cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e6538c0f2d887bfb244313009490ca67bc1c2298
2015-07-17 09:17:41 -06:00
Patrick Walton
73a1dca1b4 servo: Merge #6583 - gfx: Make display lists serializable using serde (from pcwalton:serializable-display-list); r=metajack
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.

This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ef9715203edf0a280d019b6e8823666f0e7020be
2015-07-15 14:04:55 -06:00
Patrick Walton
cd4263a0d6 servo: Merge #6596 - compositing: Make ScriptListener and LayoutControlChan messages go over IPC (from pcwalton:layout-control-ipc); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 64751b8eef5b95de9ac3b9a382b4cb4408cb90c0
2015-07-14 08:46:07 -06:00
Ms2ger
bfda40e4ee servo: Merge #6577 - Remove the unused unrooted_must_root permission from layout (from Ms2ger:disallow-unrooted-layout); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 453b826fb8d24201f00e8a2280f0c5c6cfa77938
2015-07-07 23:57:44 -06:00
Glenn Watson
71a5cfc88b servo: Merge #6566 - Add servo Image type. Remove rust-png dependency from script, gfx, layout (from glennw:image-deps); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a3ac2281b2d137ba620194e037ec671b746530c
2015-07-06 13:45:04 -06:00
Ms2ger
d48ac93091 servo: Merge #6550 - Fix build warnings (from Ms2ger:warnings); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: c7f1716ee1778893004d5210c5945cf1d7839160
2015-07-04 01:01:25 -06:00