Commit Graph

577 Commits

Author SHA1 Message Date
Nicholas Nethercote
15357cc3c1 servo: Merge #6608 - Register/unregister memory reporters in a better place (from nnethercote:tweak-reporter-registration); r=glennw
By doing this on either side of the call to the relevant tasks' start()
method, we don't need to store the mem::ProfilerChan or the reporter
name in the task itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: cb52cc66581191b6f787a4a6d0d2844e2968b7eb
2015-07-20 21:43:09 -06:00
Bogdan Cuza
a7c587c432 servo: Merge #6648 - Make tidy check for "*" in toml files (from boghison:tidytoml); r=jdm
This checks every .toml file for an asterisk and prints an error if found.

Source-Repo: https://github.com/servo/servo
Source-Revision: 58e9bc6583b6ebbeb27e3b28a6b271ee48cd695a
2015-07-20 14:43:05 -06:00
Patrick Walton
c301520dae servo: Merge #6593 - compositing: Make the constellation messages serializable (from pcwalton:constellation-ipc); r=jdm
Same idea as before. This depends on:

* https://github.com/servo/euclid/pull/94
* https://github.com/hyperium/hyper/pull/603

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4bdc6ad631dc56b64622e3390943b59270b3ae
2015-07-18 07:43:24 -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
Michael Tremel
b84d39d028 servo: Merge #6630 - Remove unused mut (from mt2d2:remove_unused_mut); r=metajack
rustc complains about unneeded mut; remove this instance.

Source-Repo: https://github.com/servo/servo
Source-Revision: da5f1abaa7dad8f0f6530b0578d006fab118ee35
2015-07-14 17:37:43 -06:00
Martin Robinson
2b8865b89f servo: Merge #6591 - Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10) (from servo:rustup_2015-07-10); r=larsbergstrom
Depends on https://github.com/jgraham/webdriver-rust/pull/12.

Fixes #6020.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af229b83095f2f8cfe7b61003b85ddf781f4ea7
2015-07-14 13:40:22 -06:00
Matt Brubeck
e202f11e62 servo: Merge #6626 - Remove dead code from gfx/text (from mbrubeck:gfx-dead); r=glennw
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d7f942547fa2091828d358c239dd9a2ed08885
2015-07-14 09:40:52 -06:00
Ms2ger
30b481c8c6 servo: Merge #6621 - Move away from the repeat().take().collect() pattern (from Ms2ger:repeat); r=SimonSapin
This was the preferred pattern between the deprecation of Vec::from_elem and
the addition of the count argument to the vec![] macro.

Source-Repo: https://github.com/servo/servo
Source-Revision: 556c0e1509cb48b90f492bcf0f25d0ed14b015d1
2015-07-14 02:42:26 -06:00
Glenn Watson
21b86082a4 servo: Merge #6606 - Use atoms for font template structures (from glennw:font-atoms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: c3fc943c6627b0248e1e61b106a964131209cb6d
2015-07-12 10:29:33 -06:00
Martin Robinson
d88fa0b35e servo: Merge #6530 - Move LayerBuffer cache to the compositor (from mrobinson:move-cache); r=pcwalton
Now that NativeDisplay can be shared between the compositor and the
paint task, we can move the LayerBuffer cache to the compositor. This
allows surfaces to be potentially reused between different paint tasks
and will eventually allow OpenGL contexts to be preserved between
instances of GL rasterization.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10b0d8c537c226400a617d28e8a060f9ca53d242
2015-07-08 03:14:21 -06:00
Patrick Walton
34e36c0b01 servo: Merge #6492 - layout: Modify styles for replaced content as appropriate during incremental flow construction (from pcwalton:even-more-jumpiness); r=mbrubeck
Fixes jumpiness on lots of Web sites.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: bbcd42773342a587a8515f34bdc3ca69a380c0a8
2015-07-07 10:28:04 -06:00
Patrick Walton
679492ceec servo: Merge #6487 - gfx: Use a pattern instead of tiling images manually (from pcwalton:background-tiling); r=glennw
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: ae01e97efa31a180374dc0fd623ff03a650f7878
2015-07-07 05:42:07 -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
Martin Robinson
633ad595be servo: Merge #6525 - Update to latest rust-layers (from mrobinson:simplify-display); r=glennw
The compositing context, painting context and display metadata have all
been collapsed into a single NativeDisplay class.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4674afe846df6720882da28cbd2c3087c17d0b22
2015-06-30 17:02:26 -06:00
Martin Robinson
f023e3e152 servo: Merge #6493 - Update to latest rust-layers (from mrobinson:new-rust-layers); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c5eb162ae29b6653918406a9dc1c4aa1147d040
2015-06-27 01:30:33 -06:00
Ms2ger
f7c82f15a8 servo: Merge #6474 - Use the heap module through its facade in libstd (from Ms2ger:alloc); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: e6db6ae61f3962b17b6e6b3af6249037484fdf0e
2015-06-26 15:26:25 -06:00
Ms2ger
1a4a806add servo: Merge #6464 - Use Box::into_raw rather than boxed::into_raw (from Ms2ger:into_raw); r=saneyuki
The latter is deprecated.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eb3cc2a241dff4df57d644fa5257fcf3a52325f
2015-06-26 04:50:54 -06:00
Ms2ger
ba32727574 servo: Merge #6459 - Update to rustc 2d0cbf3e3e25e092bd9e4c94d08e446b680869f0 (from servo:rustup_20150625); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 21b48fc44d0b32627918b4778fed16203eecdba5
2015-06-25 12:03:15 -06:00
Glenn Watson
d905323231 servo: Merge #6425 - Implement enough of 3d transforms spec to run the CSS FPS demo (from glennw:3d-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: dcb1237bb5deb84cdf921bf7b145b07eb2bd1430
2015-06-23 12:13:25 -06:00
ecoal95
87b4c78bcf servo: Merge #6423 - Use euclid from crates.io (from emilio:euclid); r=glennw
Sorry for not doing it yesterday, I couldn't.

cc @metajack @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ebb95ccd8e034007eacb447a054919ef4af2bf7
2015-06-18 20:50:22 -06:00
Hyowon Kim
4d72e239e0 servo: Merge #6402 - Fill and stroke for all pattern types and check the zero size gradient (from hyowon:canvas_fill_stroke); r=pcwalton
Depends on servo/rust-azure#170 which has been already merged.
So this patch contains the update of rust-azure.
r? @nox
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: e1b28d893e54601bf497d0d5b83d77658ca16bac
2015-06-17 13:32:25 -06:00
Simon Sapin
3e5826bb29 servo: Merge #6396 - Use html5ever and string-cache from crates.io (from SimonSapin:crates.io-html5ever); r=Ms2ger
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 4435e6f42a1b57a3e6a0cfbb1033525fef5db174
2015-06-16 00:42:36 -06:00
Corey Farwell
06b50698fa servo: Merge #6349 - rust-geom API changes (from frewsxcv:geom-api-changes); r=pcwalton
Shouldn't be merged until these have merged:

https://github.com/servo/rust-geom/pull/81

https://github.com/ecoal95/rust-offscreen-rendering-context/pull/13

https://github.com/servo/rust-layers/pull/178

~~I'll also need to update the Cargo lock files once they merge~~

Source-Repo: https://github.com/servo/servo
Source-Revision: cfcd8589d06935f83b903f76477ea03e4d4652d0
2015-06-13 13:52:07 -06:00
Nicholas Nethercote
c07a81c24e servo: Merge #6309 - Instrument FreeType allocations (from nnethercote:instrument-freetype); r=glennw
This will allow reporting of memory usage by FreeType instances, which
are measured in the MiBs for LayoutWorker threads.

This change also makes FreeType allocations happen with jemalloc instead
of the system malloc, which is a good thing.

Finally, the change documents some dubiousness involving
FontContextHandle.

Source-Repo: https://github.com/servo/servo
Source-Revision: fdeebf86a1424e9fffa122efa08fe397f6e7cd7d
2015-06-10 16:53:55 -06:00
Glenn Watson
df65f16cab servo: Merge #6331 - Updates for changes in rust-geom and rust-layers (from glennw:remove-generic-again); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 752e03a502413f21cfb30e55d68110c50e034da6
2015-06-10 16:05:20 -06:00
Patrick Walton
e102272b6b servo: Merge #6330 - Revert "Updates for changes in rust-geom and rust-layers" (from servo:revert-6329-remove-generic)
Source-Repo: https://github.com/servo/servo
Source-Revision: 93a45c91d16c0ae2c6b7e507f66a7267206772ac
2015-06-10 14:15:01 -07:00
Glenn Watson
a949508fed servo: Merge #6329 - Updates for changes in rust-geom and rust-layers (from glennw:remove-generic)
Source-Repo: https://github.com/servo/servo
Source-Revision: 053296e1319239fbfe2842edb31bbf46eb8f28d7
2015-06-10 14:14:24 -07:00
Corey Farwell
55bdf0aa9b servo: Merge #6317 - Remove fnv & smallvec crate reexports from util (from frewsxcv:rm-util-crate-reexports); r=Ms2ger
The util component specified fnv and smallvec as dependencies and publicly
reexported both of them. Several other components utilized these reexports,
presumably because fnv and smallvec used to live in the tree so reexporting
made the transition easier.

These indirect dependencies through the util component are unnecessary.

This commit removes the fnv & smallvec crate reexports in the util component.
It exchange, it adds fnv & smallvec as dependencies to non-util components
wherever needed. Finally, it removes the fnv dependency from util as it is not
utilized anywhere in the util component.

Source-Repo: https://github.com/servo/servo
Source-Revision: 35000a9b854dc0989cc473aaec0ea8c082521c66
2015-06-10 08:23:11 -06:00
Mátyás Mustoha
5b5cf96154 servo: Merge #6324 - Add ARM build support (from mmatyas:arm_build); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9df13b906902fa298264816e0c3c88aea64c77df
2015-06-10 06:46:13 -06:00
Corey Farwell
0ec8211ed1 servo: Merge #6316 - Utilize if let instead of match in a few places (from frewsxcv:if-let); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6e0d0072b83bade910a6c2a0dee06d94f6f9fb17
2015-06-10 03:11:13 -06:00
Manish Goregaokar
c574d8a190 servo: Merge #6314 - Audit and reduce usage of unstable features (from Manishearth:feature_audit); r=mbrubeck
Will post audit report in a bit

Source-Repo: https://github.com/servo/servo
Source-Revision: 88c1cdc9fca6568d1075ea9577ac996c5f73b98f
2015-06-09 14:31:42 -06:00
Jack Moffitt
6b0e6ce8c7 servo: Merge #6295 - Clean up dependencies (from metajack:cargo-cleanup); r=frewsxcv
Overlaps a bunch with #6288. Putting this here so @frewsxcv can take a look and we can figure out how to merge our work together.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96311aa9b71abb31fd8e4283de9e1b58813108a3
2015-06-07 13:15:20 -05:00
Eduard Burtescu
97ee3c496c servo: Merge #6301 - Use the correct log crate and setup env_logger in main (from eddyb:fix-logging-2); r=larsbergstrom
Fixes #6103.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1587d8a301983b881b038c7e443ba6d1deb1f72f
2015-06-06 15:49:56 -05:00
Corey Farwell
7d5e42f547 servo: Merge #6286 - Bump rust-url version: 0.2.16 → 0.2.35 (from frewsxcv:bump-url); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ad5846f2e14ac15aca9f561975ae9476d0f13244
2015-06-04 16:34:40 -05:00
Manish Goregaokar
d9f6f166d0 servo: Merge #6188 - Add plugin for autoderiving HeapSize (from Manishearth:sizeof); r=nnethercote
Fixes #5914

r? @nnethercote for the gfx changes

r? @kmcallister or @jdm for the plugin

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ca606aaba432741ce4e8274835f26db3a3581fc
2015-06-02 23:48:03 -05:00
Glenn Watson
351767453f servo: Merge #6214 - First step towards 3d transforms (from glennw:parse-transforms); r=pcwalton
* Add parser support for 3d transforms.
 * Change ComputedMatrix to a representation that suits interpolation.
 * Switch stacking contexts to use 4x4 matrices.

The transforms themselves are still converted to 2d and handled by azure for now, but this is a small standalone part that can be landed now to make it easier to review.

Source-Repo: https://github.com/servo/servo
Source-Revision: 05212b702dbafacd3d1d44e600139af8d7516308
2015-06-02 19:56:17 -05:00
Corey Farwell
43e2d6c6d7 servo: Merge #6230 - Remove get_ prefix on getters (from frewsxcv:getters-get); r=nox
Part of #6224

I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`

Source-Repo: https://github.com/servo/servo
Source-Revision: f6fe1953343a417b62fb310a380af7c6973849b0
2015-06-02 08:17:03 -05:00
Nicholas Nethercote
e3af81914c servo: Merge #6199 - Measure paint task buffer maps in the memory profiler (from nnethercote:instrument-paint-task-buffer-map); r=pcwalton
Example output from the memory profiler:

```
|       1.04 MiB -- url(http://en.wikipedia.org/wiki/Main_Page)
|          0.26 MiB -- display-list
|          0.78 MiB -- paint-task       # new output line
|             0.78 MiB -- buffer-map    # new output line
```

The buffer maps aren't huge, but they're worth measuring, and it's good
to get the memory profiler plumbing into PaintTask.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10127d6b5a71ee8927413ab746300e32a54b079d
2015-05-28 22:45:34 -05:00
Mátyás Mustoha
5c241b2fac servo: Merge #6065 - Enable antialiasing for the canvas (from mmatyas:canvas_antialias); r=jdm
This patch turns on antialiasing for the canvas, and updates the painting code to use the updated Azure DrawOptions defined in servo/rust-azure#158.

Source-Repo: https://github.com/servo/servo
Source-Revision: c97c0a9f94208828c617cbd99efd8e3e410c69ee
2015-05-28 14:59:36 -05:00
Nicholas Nethercote
0d778482e9 servo: Merge #6202 - Freetype fixes (from nnethercote:freetype-fixes); r=jack
Because #6198 wasn't quite right.

Source-Repo: https://github.com/servo/servo
Source-Revision: dddd222d2967bcf29dbb29856ddd7265c83e4d08
2015-05-28 09:04:08 -05:00
Jinwoo Song
3ce8900015 servo: Merge #6198 - Use FT_Done_Library instead of FT_Done_Freetype (from Jinwoo-Song:freetype); r=metajack
It is recommended to use FT_Done_Library with FT_New_Library
from freetype document.

Fixes #6191.

r? @jdm @nnethercote
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: af81db54790efbeb86ee03e6ca63fb9046c6111a
2015-05-27 21:06:12 -05:00
Simon Sapin
f841dd7146 servo: Merge #6186 - Use harfbuzz bindings from crates.io (from SimonSapin:harfbuzz-crates.io); r=Manishearth
https://github.com/servo/rust-harfbuzz/issues/39
https://www.mail-archive.com/dev-servo@lists.mozilla.org/msg01289.html

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 54afa01dd665b8facbbba7d49974ac5532e3b83f
2015-05-26 15:16:40 -05:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
Patrick Walton
fcee69b8ec servo: Merge #5607 - layout: Implement per-glyph font fallback (from pcwalton:per-glyph-font-fallback); r=mbrubeck
This improves numerous pages, for example Wikipedia and Ars Technica.

Built on #5493.

Closes #177.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7561f7b83f27811683c1e724d75a935573a72813
2015-05-22 19:16:54 -05:00
Glenn Watson
00df5fc0da servo: Merge #6152 - Fix document load event firing after pipeline is closed (from glennw:runnable-panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1060cfde68c8d355b54a271923c9682721c5ed19
2015-05-20 20:01:32 -05:00
ecoal95
0656a2b904 servo: Merge #6083 - First steps to layerize canvas (from emilio:layerize-canvas); r=pcwalton
I've done a bit of job to get this done. Right now readback is still used, but we have a `LayerId` -> `CanvasRenderer` map on the paint task, that we can use to get rid of that.

I'd want review, to see if this is a good approach (I know it's not the initial `CanvasId` -> renderer approach, but it's pretty similar, since a canvas involves a `PaintLayer`).

I had to do a bit of refactoring to avoid cyclic dependencies between canvas and gfx. I'd want you to review them too.

It's mergeable and doesn't break any tests :P

Some of my main concerns:
* Does the canvas render really need to be behind an `Arc<Mutex<T>>`?
* I can't clone a `NativeSurface` right now (that's why the `SendNativeSurface()` msg is unimplemented in the WebGL task). It should be easy to add that to rust-layers, supposing the caller is responsible to mark it as non-leaking, any reason to not do it?

cc @jdm @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: ad53e95080144485e74cd9b9d48ce75e20de4e36
2015-05-20 15:42:06 -05:00
Michael Wu
565bca1f47 servo: Merge #6143 - Avoid selecting bitmap fonts from fontconfig (from michaelwu:truetype-only); r=pcwalton
I have a number of pcf fonts installed. One of them is Adobe Helvetica, and it turns out many websites try to use Helvetica. This crashes servo.

Source-Repo: https://github.com/servo/servo
Source-Revision: 165bfd6d5f901ef2e2619dbcc010166106cebd0b
2015-05-20 02:36:43 -05:00
Glenn Watson
17e3775b23 servo: Merge #6131 - Fix several hangs / panics during pipeline cleanup of in progress loads (from glennw:jquery-exit-fix); r=jdm
This fixes a hang found while testing the jQuery test suite.

Source-Repo: https://github.com/servo/servo
Source-Revision: c51e9f04559f04f1e820b792261e1653c6869ee5
2015-05-19 21:44:45 -05:00
Patrick Walton
cf0b11ec43 servo: Merge #6053 - compositing: Implement display ports and avoid creating display lists for items outside it (from pcwalton:displayports); r=glennw
This improves Servo's performance on large pages.

Please double-check the logic when it comes to nested layers—I'm sure I've messed up some of the geometry calculations :)

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 0880e54f987bac7c34c934ef6ee36f46475b06e3
2015-05-19 19:40:36 -05:00