Commit Graph

221 Commits

Author SHA1 Message Date
Simon Sapin
b8fa8e87d7 servo: Merge #5067 - layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1 § 12.3-12.5 (from servo:counters); r=SimonSapin
Only simple alphabetic and numeric counter styles are supported. (This
is most of them though.)

Although this PR adds a sequential pass to layout, I verified that on
pages that contain a reasonable number of ordered lists (Reddit
`/r/rust`), the time spent in generated content resolution is dwarfed by
the time spent in the parallelizable parts of layout. So I don't expect
this to negatively affect our parallelism expect perhaps in pathological
cases.

Moved from #4544, because Critic.

Fixes #4544.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5cd6316addc1acf145ed3220719387ef6ef08d2f
2015-03-03 10:42:52 -07:00
Prabhjyot Singh Sodhi
f1fbcc21f1 servo: Merge #5114 - Replacing uses of accumulating fold with sum (from psdh:foldsum); r=jdm
Fix #5109

Source-Repo: https://github.com/servo/servo
Source-Revision: 290b025f8992569ed98a8556b70d5ebafb57a154
2015-03-02 18:27:51 -07:00
Ankit Agrawal
71d1e7f92b servo: Merge #5102 - Add profiling to image decoding (from servo:profile-img); r=jdm
This extracts some independently useful parts of
<https://github.com/servo/servo/pull/4215>.

Source-Repo: https://github.com/servo/servo
Source-Revision: 16bc4749af685c7a1728858c15ead011ab415615
2015-02-28 11:46:02 -07:00
Alexandru Cojocaru
1973b19a3e servo: Merge #5098 - Remove uint/int inside components/util (partial #4745) (from servo:int-util); r=Ms2ger
This leaves range.rs alone.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 67b78983db31128604339e2fd7f391e878cf9f9b
2015-02-25 20:15:56 -07:00
Nicholas Nethercote
974a850664 servo: Merge #4894 - Read smaps in the memory profiler on Linux (from nnethercote:read-smaps); r=jdm
Here's example -m output after these changesets are applied:

```
_size (MiB)_: _category_
     2798.61: vsize
      136.80: resident
      142.89: resident-according-to-smaps
       97.84: - anonymous (rw-p)
       23.98: - /home/njn/moz/servo/components/servo/target/servo (r-xp)
        6.58: - [heap] (rw-p)
        5.36: - other
        3.51: - /usr/lib/x86_64-linux-gnu/dri/i965_dri.so (r-xp)
        1.33: - /lib/x86_64-linux-gnu/libc-2.19.so (r-xp)
        0.93: - /home/njn/moz/servo/components/servo/target/servo (r--p)
        0.76: - /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 (r-xp)
        0.74: - /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 (r-xp)
        0.50: - /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (r-xp)
        0.50: - /lib/x86_64-linux-gnu/libglib-2.0.so.0.4200.1 (r-xp)
        0.45: - /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 (r-xp)
        0.43: - /lib/x86_64-linux-gnu/libm-2.19.so (r-xp)
       30.85: system-heap-allocated
        4.91: jemalloc-heap-allocated
        6.11: jemalloc-heap-active
      120.00: jemalloc-heap-mapped
```
The `resident-according-to-smaps` line is new, as are all the indented lines beneath it. This is useful particularly because it shows how much memory is taken up by code, e.g. the line ending in `servo (r-xp)` shows that the `servo` executable's code alone takes up 24 MiB of physical memory.

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

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

Fixes #3669.

Source-Repo: https://github.com/servo/servo
Source-Revision: 91abf5557b1a324d6568ce08cfb92cdffca10e41
2015-02-23 08:39:47 -07:00
Edit Balint
652d187f26 servo: Merge #5020 - Implement Canvas pixel manipulation (from jdm:canvas); r=jdm
Rebase of #4639.

Source-Repo: https://github.com/servo/servo
Source-Revision: 287f390c4a56dd8c5960df699d45653227b25d6f
2015-02-22 11:48:46 -07:00
Patrick Walton
31e5810d70 servo: Merge #4994 - layout: Add an option to visualize parallel layout (from pcwalton:layout-tinting); r=pcwalton
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: d26345f868e4261760ce204bdc383941e8f14621
2015-02-20 23:06:48 -07:00
Ms2ger
c6d270b51e servo: Merge #4975 - Move util to libc from crates.io (from Ms2ger:util-libc); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0a4c8c0e4c0e8c94a82363b10971c99fc0d9abbc
2015-02-20 01:42:53 -07:00
Jack Moffitt
2308c9cb40 servo: Merge #4969 - Added overlay for demoing parallel painting (from servo:parallel-paint-demo); r=glennw
You can enable this with `-Z show-parallel-paint`. The output looks like this:

![screenshot 2015-02-19 13 21 12](https://cloud.githubusercontent.com/assets/28357/6275199/7bd6e788-b83a-11e4-89cb-a74f360272f2.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: 49ff6b2ccc43ab657814a1b4584122411a4b2acb
2015-02-19 16:21:57 -07:00
Ms2ger
03f803ab84 servo: Merge #4947 - Use rustc-serialize rather than the built-in deprecated serialize (from Ms2ger:serialize); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: afb152a8569953f730df564be2745c5a6302bf6f
2015-02-17 07:30:50 -07:00
Ms2ger
004028acbf servo: Merge #4927 - Cleanup memory.rs a bit (from Ms2ger:mem); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 52fc01ad37e5e06de997862f480e8bb679ad8a89
2015-02-13 09:48:54 -07:00
Nicholas Nethercote
5c456cb58d servo: Merge #4917 - Fix jemalloc memory measurements (from nnethercote:fix-jemalloc-reporting); r=jdm
It turns out you need to send an "epoch" request to jemalloc before
asking for a measurement otherwise you get stale data! Heavens.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7acc6887d5190b31e171be4823c6205e5e55ceec
2015-02-13 06:54:56 -07:00
Ms2ger
02ab4f60c3 servo: Merge #4922 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 66f4faf44fbc6e8703d4336219a20dd3b19fb493
2015-02-13 05:33:49 -07:00
Matt Brubeck
27313466b3 servo: Merge #4904 - Replace util::dlist code with new collections::DList methods (from mbrubeck:dlist); r=pcwalton
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 26aee53c827c4db517171cd89786d894b1ceb76c
2015-02-12 16:39:53 -07:00
Simon Sapin
8fbd363d52 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9
2015-02-11 17:24:45 -07:00
Nicholas Nethercote
b5a7431f50 servo: Merge #4858 - Use mallinfo() to report the system heap size on Linux (from nnethercote:mallinfo); r=glennw
Although Rust allocations are on the jemalloc heap, allocations done by
Skia and the graphics driver are on the system heap, so it's worth
reporting that as well.

One thing I'm not sure about: I think mallinfo() might be a glibc-only thing, and I'm not sure if `target_os="linux"` implies glibc for Servo. So confirmation of that would be good.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1c8ed4359c47cd047e5ca3edfa37e8692058644
2015-02-09 17:30:45 -07:00
Josh Matthews
6b82a6f27f servo: Merge #4881 - Allow unused variables, imports, and mutable (from jdm:allowunused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7048291dc0db4efecf9c13779feeb5e022210123
2015-02-09 16:45:47 -07:00
Ms2ger
ac6bbee38d servo: Merge #4823 - Fix build warnings (from Ms2ger:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e72608f5c1d96cfcabdd993d973f4580e2fdb54
2015-02-03 17:57:51 -07:00
Alexandru Cojocaru
0cbc5adfcf servo: Merge #4820 - add unwrap to send/recv calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Manish Goregaokar
5e88646ec3 servo: Merge #4792 - Fix code dependent on old impl check (from Manishearth:old_impl); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 83e196c4c6a761757d821abfd1ab539704d22454
2015-01-31 04:27:49 -07:00
Josh Matthews
18f857e07a servo: Merge #4788 - Lock crates.io dependencies to specific versions (from jdm:cargodeps); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 66384dfcfd4c38595985cd3fac12fa616a2ba94f
2015-01-30 17:36:50 -07:00
Ms2ger
3c5b07cc8a servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 88b781421aa78a2f466e6d170f89d13a870643cd
2015-01-28 13:15:53 -07:00
Manish Goregaokar
f43b3f0b84 servo: Merge #4739 - Fix some warnings (from Manishearth:warning-patrol); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d373f8dc26239310dec8d2fd66ed72385548cf6f
2015-01-28 02:27:50 -07:00
Josh Matthews
b11f7d94dc servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Glenn Watson
f94c8edec9 servo: Merge #4707 - Change glutin headless mode to be a build config, as it breaks some Linux distros linking to both (from glennw:split-headless); r=larsbergstrom
The majority of this change is simply re-arranging the code in the glutin port so that the windowed/headless code is configured at build time rather than runtime. There shouldn't be any functional difference as a result of this change.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b496d80dec4f202e0f318ee60ac156ad74256ff
2015-01-22 14:48:48 -07:00
Ms2ger
97751da42e servo: Merge #4708 - Prepare for the rust upgrade (from Ms2ger:rustup-prepare); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 55fbf1f2b6924c50cff6e4ddf359289654f4858a
2015-01-22 08:06:50 -07:00
Ms2ger
0b22e8f634 servo: Merge #4703 - Pass a String to spawn_named (from servo:task); r=saneyuki
IntoString has been removed from Rust, and named() will take a String, so
there is no good reason to do otherwise here.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8df0ee2bb5d40e4b22db1666982e2e5ea36513f6
2015-01-21 03:48:49 -07:00
Ms2ger
dfc91abf3f servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00
Ms2ger
390fe40cc5 servo: Merge #4664 - Stop using Vec::from_elem (from Ms2ger:from_elem); r=larsbergstrom
It is obsolete on Rust master.

Source-Repo: https://github.com/servo/servo
Source-Revision: d747a33df9c167a3defbbdcfe356ee25eeb672ad
2015-01-19 09:12:46 -07:00
Ms2ger
f59ae9c05a servo: Merge #4662 - Disallow lines that span more than 160 columns (from Ms2ger:overlong); r=larsbergstrom
The Rust style guide suggests 100, but we have too many violations in the
tree already. This check can be tightened over time.

Source-Repo: https://github.com/servo/servo
Source-Revision: ee94b3e8bf659c847bda967700272f8f98fdb0cc
2015-01-19 08:33:48 -07:00
Martin Robinson
a8efc2210c servo: Merge #4643 - Disable util crate doctests (from mrobinson:disable-util-doctests); r=jdm
Because of bug in rustdoc, a new rust-layers dependency on rust-azure
will cause linking issues. See
https://github.com/rust-lang/rust/issues/21246 for details.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d7c4aac9c81f909d47dce10fa898e2a420632b2
2015-01-16 11:09:46 -07:00
Matthew Rasmus
8a04144529 servo: Merge #4575 - Post-rustup warning fixes (from mttr:warnings); r=jdm
Notes:

* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72         this_as_query.equiv(other)
                                         ^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
2015-01-08 16:03:55 -07:00
Glenn Watson
f80bb76c8e servo: Merge #4546 - Add ability to explicitly set static resources path, used by cef-linux (from glennw:cef-resources); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 1699864f5339aaf463df5e2cf1d80193c3675e58
2015-01-08 15:27:54 -07:00
Ms2ger
b3c7f9d2ca servo: Merge #4554 - Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19 (from servo:rustup_20141221); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7148c79f9124779a910fd5291c5fa0543b2dae
2015-01-08 08:00:57 -07:00
Ms2ger
843040ab81 servo: Merge #4548 - Various cleanup (from Ms2ger:cleanup); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 65ee8166bd64e911502e29a050258b70d9f263aa
2015-01-05 01:27:48 -07:00
Ms2ger
2979891740 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Manish Goregaokar
93844b0dcd servo: Merge #4488 - Add a lint for usages of to_string() (from servo:into_string-lint); r=jdm
This is a rebase of #4366.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0da57abec6014f8a6edde9781598053deab996c7
2014-12-31 05:00:52 -07:00
Simon Sapin
9ba3433545 servo: Merge #4455 - Start using the ToCss trait, to be used for CSS serialization (from servo:to_css); r=jdm
See https://github.com/servo/rust-cssparser/pull/67 and https://github.com/servo/servo/issues/4440.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: b3059ee85b71b067e4b9e337faef53ae4a96c66d
2014-12-29 16:33:41 -07:00
Patrick Walton
25ca4de050 servo: Merge #4459 - gfx: Clip the background properly when border-radius is used, and clean up some painting stuff (from pcwalton:border-radius-clipping); r=glennw
Together these improve a large number of sites: GitHub, Reddit, Wikipedia, etc.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 63a7742d834e9ed44421baa3ce218a5eabce58bf
2014-12-22 15:51:48 -07:00
Patrick Walton
d062ae2387 servo: Merge #4394 - layout: Implement clip per CSS 2.1 § 11.1.2 (from pcwalton:clip); r=SimonSapin
Only the recommended, comma-separated syntax is supported.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: a80d88897d176630c79f929e8b1fd661b2e1a17c
2014-12-18 14:12:51 -07:00
Simon Sapin
66d7332a20 servo: Merge #4420 - Fix warnings (from servo:fix-warnings); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eea49ee1d986c306a8eec32b64be9b10cb2278fc
2014-12-18 04:42:50 -07:00
Patrick Walton
53a1509c58 servo: Merge #4358 - compositing: Implement cursor per CSS3-UI § 8.1.1 in the CEF/Mac port (from pcwalton:cursor); r=mbrubeck
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).

If you test this in the wild you will probably hit #4357 until that PR lands.

Source-Repo: https://github.com/servo/servo
Source-Revision: e2267e0a0749e27046ee8a26ba514cc6865e0345
2014-12-18 00:24:49 -07:00
Glenn Watson
636d338cf6 servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Patrick Walton
2a3b044e37 servo: Merge #4289 - style: Implement basic column spans, quirks mode, and the legacy bgcolor and border attributes (from pcwalton:hacker-news); r=SimonSapin
This patch provides some of the groundwork for column spans greater than
1. It implements the column-span CSS property as well as the
corresponding colspan attribute; although the former is not
well-specified outside of CSS multi-column layout, INTRINSIC refers to
it. Although width is distributed to spanning columns, they do not yet
contribute minimum and preferred widths; this will be implemented in a
follow-up.

The parsing for the legacy bgcolor and border attributes is
implemented according to the WHATWG HTML specification.

Additionally, this patch cleans up some miscellaneous formatting issues,
refactors layout/css somewhat to eliminate needless levels of
indirection, and cleans up the handling of table rowgroups.

New Hacker News screenshot: http://i.imgur.com/hnl2a7E.png

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e31e5f98747e4b42dafcc4b076fac46aeb09310
2014-12-15 19:33:46 -07:00
Patrick Walton
68b72c82e4 servo: Merge #4325 - gfx: Implement letter-spacing per CSS 2.1 § 16.4 (from pcwalton:letter-spacing); r=mbrubeck
The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 914f27263d60ffcbe2fd1f9e47a48e3aa3f1cd76
2014-12-12 12:45:54 -07:00
Joseph Crail
6c02d6ca77 servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm
I only updated comments, not strings.

Source-Repo: https://github.com/servo/servo
Source-Revision: f451005f4fe075c849de2f3766f5bf84510b8465
2014-12-12 02:12:51 -07:00
Tetsuharu OHZEKI
91421a9ceb servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad
2014-12-08 10:28:10 -07:00
Timothy B. Terriberry
02f6e25351 servo: Merge #4234 - Change time::profile's meta booleans to enums (from tterribe:issue4158); r=metajack
This makes these parameters self-documenting.
This patch does not attempt to push those enums into the data
structures that feed calls to this function.

Fixes #4158.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc7b5b35b44e82dadb35242e39b190b3d1fcba10
2014-12-05 17:34:03 -07:00