Commit Graph

4013 Commits

Author SHA1 Message Date
Nicholas Nethercote
346d1ef22d 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
Mike Blumenkrantz
45f8cc9ea0 servo: Merge #6209 - force cef browser resize check on initial load (from zmike:rendersizing); r=mbrubeck
ensure that the output render size matches the desired size

Source-Repo: https://github.com/servo/servo
Source-Revision: 09f2977cc945850a35f7a5ef1ed014bc42cb265a
2015-05-28 15:41:44 -05:00
Mátyás Mustoha
5f241b25b2 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
Ms2ger
c319a40e9e servo: Merge #6208 - Avoid a build warning in the glutin port without the window feature enabled (from Ms2ger:warning); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 952e953237220847c53b91eb8750939b233d3398
2015-05-28 12:45:13 -05:00
Nicholas Nethercote
e24ddfafcc servo: Merge #6200 - Recursively sort memory report sub-trees (from nnethercote:sort-memory-sub-trees); r=pcwalton
This puts the larger sub-trees first. E.g. this:
```
|       1.04 MiB -- url(http://en.wikipedia.org/wiki/Main_Page)
|          0.26 MiB -- display-list
|          0.78 MiB -- paint-task
|             0.78 MiB -- buffer-map
```
becomes this:
```
|       1.04 MiB -- url(http://en.wikipedia.org/wiki/Main_Page)
|          0.78 MiB -- paint-task
|             0.78 MiB -- buffer-map
|          0.26 MiB -- display-list
```
This matches how Firefox's about:memory works.

Now that this is done for all sub-trees, the ad hoc sorting done for
Linux segments is no longer necessary, and has been removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d9b5ced38a9b3f161795f16daf28fc449edb187
2015-05-28 11:11:27 -05:00
Nicholas Nethercote
e5ec07f5a0 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
Anthony Ramine
248f6a2dbb servo: Merge #6206 - Make throw_not_in_union() throw a TypeError (fixes #6194) (from nox:typeerror-for-unions); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: df74ed136cd7de07fd1563129b9828f5425a8dbf
2015-05-28 06:24:00 -05:00
Jinwoo Song
6a080bd126 servo: Merge #5981 - Implement NodeIterator (from Jinwoo-Song:nodeiterator); r=Manishearth
Implement NodeIterator's basic functionality. (Fixes #1235)  But the cases for node removals are not implemented yet.

r? @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b52006b1c503a24d5e832934d3265d45e425f40
2015-05-28 05:14:08 -05:00
Jinwoo Song
aafaa7ed0d 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
Matt Brubeck
abff7d2965 servo: Merge #6196 - Update azure and its dependencies (from mbrubeck:metadata); r=SimonSapin
#6088. r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a773a15bd2e022aa45c3672e51467e994badfe
2015-05-27 14:57:41 -05:00
Mike Blumenkrantz
2dc4375f93 servo: Merge #6175 - Embedding: revenge of cargo (from zmike:embedding-REVENGE_OF_CARGO); r=larsbergstrom
Adds a bunch more embedding interfaces/callbacks/functionality

@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebfe81e454ca6dd68210b4475b4091e836dd1a
2015-05-27 14:17:32 -05:00
Anthony Ramine
f3ca7195dc servo: Merge #6192 - Cleanup URLSearchParams (from nox:cleanup-urlsearchparams); r=Manishearth
It now uses rust-url for its serializer.

Source-Repo: https://github.com/servo/servo
Source-Revision: d87af8ac52b16a3763420fb7ad8fb45af785a23b
2015-05-27 05:21:05 -05:00
Tamir Duberstein
29a5385bee servo: Merge #6187 - Avoid extra O(n) scan in validate_and_extract (from tamird:cleanup-validate-and-extract); r=mbrubeck
Also `debug_assert!`s that `splitn` was called with the
correct `count` argument.

Adaptation of #5778.

Source-Repo: https://github.com/servo/servo
Source-Revision: df2f8d0636922a7e89895fa61fdba30099cec9ea
2015-05-26 16:29:42 -05:00
Simon Sapin
c4ddaa287d 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
Patrick Walton
a9af0b6fd4 servo: Merge #6028 - script: Reflow 200 milliseconds after the <body> is parsed, like Gecko does (from pcwalton:reflow-timer); r=jdm
It would be nice if HTML parsing didn't have to hog the event loop, so I didn't have to do this polling in `content_changed()`, but maybe the way we do it is unavoidable.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: e604b663f4e664b9a94d61569082b2b62de2151d
2015-05-26 13:18:26 -05:00
Tamir Duberstein
905e1fd54b servo: Merge #6168 - Implemented GetCachedMessages (from tamird:get-cached-messages); r=jdm
Rebase of #4175, closes #4175. r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 8759d42559bc5c10f8d90903f33f75bddf44d9fe
2015-05-26 10:34:03 -05:00
Anthony Ramine
9512a913c9 servo: Merge #6140 - Cleanup some gratuitous or inefficient uses of RootedVec (from nox:cleanup-rootedvec); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d0409b8421e1b0c055507acc7d784cac890f47e
2015-05-26 08:36:29 -05:00
Alexander Putilin
20769db92d servo: Merge #6171 - fixes 4184: no-sniff and check-for-apache-bug for mime sniffing (from eleweek:fix-4184-ok); r=Manishearth
I tried fixing #4184 , here is the code I have right now.

I haven't tested it, because I don't know what is the best way to test this part of code. Would like some help with testing this. Should I write an autotest or should I just test manually?

Source-Repo: https://github.com/servo/servo
Source-Revision: be6c251e4c01be61400786e25442f6df36f135f6
2015-05-25 23:10:18 -05:00
Philipp Hartwig
5fd9e25365 servo: Merge #6179 - Use byte string instead of handcrafted byte array (from aopicier:byte_strings); r=jdm
Fixes #3257
In eventtarget.rs I'm not sure whether ARG_NAMES actually needs to be static!?

Source-Repo: https://github.com/servo/servo
Source-Revision: 999325460ecc71b02160e8c79e71a694987d9acd
2015-05-25 17:13:27 -05:00
r0e
37b47dc902 servo: Merge #6162 - Pending load guard does not assert if thread is panicking (from r0e:testing); r=jdm
Fixes issue #6148

@jdm After mulling over this for a little while, i'm not sure if this approach is correct. Any comments?

Source-Repo: https://github.com/servo/servo
Source-Revision: 6595ebed0f50658b8f6d12f9c37017df5ea26efa
2015-05-25 16:33:43 -05:00
Tamir Duberstein
a69d841adc servo: Merge #6169 - Use a struct variant for clarity (from tamird:struct-variant); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 34a617aaa133b0bc0756dd7d904203c9d633e69a
2015-05-25 15:53:56 -05:00
Mike Blumenkrantz
d190af2390 servo: Merge #6125 - Renderrenderrenderrender: Now for embedding! (from zmike:renderrenderrenderrender); r=larsbergstrom
A collection of commits which improves embedding integration and rendering.

@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 4a95bce9f260b183660dab44ef3044618be6840c
2015-05-24 19:26:00 -05:00
Corey Farwell
333cc6c59d 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
Alexander Putilin
2ba83cc42b servo: Merge #6170 - fixes 6111: WebSocket close event shouldn't be Cancelable (from eleweek:fix-6111); r=Ms2ger
This fixes #6111 , @jdm said that I can work on this issue

Source-Repo: https://github.com/servo/servo
Source-Revision: 16f19b628fa630aab8cfd275a90128da7b59723b
2015-05-24 10:27:41 -05:00
Patrick Walton
eccdc2ade1 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
Christian Stadelmann
83e5e716d8 servo: Merge #6163 - doc/howto install: Fedora replaces yum with dnf (from jdm:yumupdate); r=jdm
According to the official change set [1] for Fedora 22 which will be released in some days [2] yum will be replaced by dnf. The syntax is basically the same (in these simple cases here it is exactly the same, tested with dnf). After that only Fedora 21 and 22 will be supported, both come with dnf shipped by default.

[1] https://fedoraproject.org/wiki/Releases/22/ChangeSet#Replace_Yum_With_DNF
[2] https://fedoraproject.org/wiki/Releases/22/Schedule?rd=Releases/22

Source-Repo: https://github.com/servo/servo
Source-Revision: 19b443ecc8d40f95958e26656613280ddf2c687a
2015-05-22 15:33:08 -05:00
Simon Sapin
b84cfbc5a9 servo: Merge #6159 - Remove usage of the mod_path compiler plugin (from SimonSapin:no_mod_path); r=Manishearth
https://github.com/rust-lang/rust/pull/20179 makes its use case much weaker.

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: e04d9c32a98ff4673f413ed17f66e7466e2ff974
2015-05-22 03:13:13 -05:00
Manish Goregaokar
cf38062366 servo: Merge #6156 - Fix deprecated plugin APIs (from Manishearth:warn_fix); r=larsbergstrom
r? @larsbergstrom


(The diff is borked here, but I only just added `if let`s and wrapped/unwrapped in `Annotatable`s)

Source-Repo: https://github.com/servo/servo
Source-Revision: ef7fa99bd2c4ff52be1c6361d9f1eca3775c88c5
2015-05-21 13:27:27 -05:00
Josh Matthews
afb6727d56 servo: Merge #5727 - Make external script sources load asynchronously, yet still block furthe (from jdm:parserinterrupt2); r=mbrubeck
...r parsing. Hook up document loading to async networking events.

Relies on https://github.com/servo/html5ever/pull/107, so we'll likely need to backport it rather than wait for the next rustc upgrade.

Source-Repo: https://github.com/servo/servo
Source-Revision: dd319c1a998bbd3eeb84fdc4ca8a41ee7877ca37
2015-05-21 12:37:06 -05:00
Lars Bergstrom
0be1747830 servo: Merge #6155 - Rustup to 1.2.0 (from servo:rustup_2015-05-21); r=Manishearth
r? @Manishearth

(there's just the one plugins-related change required)

Source-Repo: https://github.com/servo/servo
Source-Revision: a0fccea670124d5ccfef1c13fe1b5d2e58891236
2015-05-21 10:50:53 -05:00
Paul Faria
e75d4a7ceb servo: Merge #6154 - Adding in a missed algorithm step number in the comments (from Nashenas88:websocket-parse-url-typo); r=jdm
This is a really small typo fix for an issue I worked on recently.

Source-Repo: https://github.com/servo/servo
Source-Revision: b84aa41c229a18fa77f4ae815fc0166cb3fbb1b6
2015-05-21 06:59:06 -05:00
Glenn Watson
de0de69bad 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
Manish Goregaokar
bfbc7a20aa servo: Merge #6151 - Upgrade rust to 716f920b7e234b450f272346fea961832505c06e (from servo:rustup-2015_05_13); r=larsbergstrom
(Tue May 19 05:39:29 2015 +0000)

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ae5d1129f9fd1227678db9ad26471727dc9fa27
2015-05-20 18:23:13 -05:00
Patrick Walton
f8784adc92 servo: Merge #5586 - net: Don't load the placeholder image for background images, only for image fragments (from pcwalton:no-broken-background-image-redux); r=glennw
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 77099b25d590fdaac76721e7f98f4e83672e64a6
2015-05-20 16:43:31 -05:00
ecoal95
9dbd03da1c 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

--HG--
rename : servo/components/gfx/color.rs => servo/components/gfx_traits/color.rs
2015-05-20 15:42:06 -05:00
Peter
a1a04609a4 servo: Merge #5858 - fixes #5603, added support for tabindex field (from pgonda:tabindex-focus-flag); r=jdm
Added support for the tabindex field, also added its correct defaults (-2 TODOs for things not supported in Servo yet).  Also added tabindex logic into Element::is_focusable_area.

Source-Repo: https://github.com/servo/servo
Source-Revision: fada39164cbaba3a9885f08fad6f10a2353a4838
2015-05-20 14:34:31 -05:00
Patrick Walton
5f40a54beb servo: Merge #5577 - script: Implement the width and height attributes for iframes per HTML5 § 4.8.6 (from pcwalton:iframe-size-attributes); r=jdm
Improves Amazon and Ars Technica.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ee147c164a8a13743dec2def60b13997145e7a55
2015-05-20 13:51:05 -05:00
Patrick Walton
a72b4c7c70 servo: Merge #6077 - compositing: Support multiple events per frame (from pcwalton:multiple-events-per-frame); r=glennw
Improves scrolling performance significantly on Mac.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 071f89aa5f11075894e0702860d88f1353ecd95e
2015-05-20 13:06:52 -05:00
Peter
67ce0c76d2 servo: Merge #6074 - Allows the unrooted_must_root lint to deal with struct variant enums, #6069 (from pgonda:lint-fix-struct-enum-variants); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: d68730a0fc755149c1093021e34e7d34693429b7
2015-05-20 10:29:48 -05:00
Michael Wu
6b72c7862a 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
Michael Wu
d49fb75099 servo: Merge #6139 - Rustup fixes (from michaelwu:rustup-fixes); r=SimonSapin
Mutable transmutes and wrong transmutes fixed.

Source-Repo: https://github.com/servo/servo
Source-Revision: 64810583093dadfacbda942562853af1ae82e34e
2015-05-20 01:55:43 -05:00
Paul Faria
8af3f9a70e servo: Merge #6127 - Throw a SyntaxError if the WebSocket URL can't be parsed. Fix #6061 (from Nashenas88:websockets-invalid-urls); r=Ms2ger
Fix #6061.

Source-Repo: https://github.com/servo/servo
Source-Revision: d869a3c7a8378a77a9a5e86c118115f969ade193
2015-05-20 01:13:57 -05:00
Paul Faria
175f0c39b1 servo: Merge #6094 - Fixed definition of Close and Send in WebSocket.webidl and updated im… (from Nashenas88:websockets-USVString); r=Ms2ger
Fix #6063
Fix #6062
Fixed definition of Close and Send in WebSocket.webidl and updated implementation in websocket.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: fe8760cce206ede76b71ccf3cc94fa37addddfc9
2015-05-20 00:20:06 -05:00
Keith Yeung
3156188545 servo: Merge #6129 - Implement fetch (partial #4576) (from KiChjang:fetch-spec); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 79ed6250f0535d62a12b1d7e47e48926d6e3925a
2015-05-19 23:08:41 -05:00
Matt Brubeck
73ab0aad18 servo: Merge #6138 - Enable 'direction' without --experimental (from mbrubeck:enable-rtl); r=pcwalton
r? @pcwalton or @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: fed48ca59b122f733c74957b6be39b067d792d17
2015-05-19 22:27:17 -05:00
Glenn Watson
a6f3ad40b3 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
WriterOfAlicrow
fe77002c4f servo: Merge #6084 - Fix for Issue #6073 (from WriterOfAlicrow:radiobutton-fix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e2b0922d42e18362ec9ae79feaffed601142e586
2015-05-19 20:49:32 -05:00
Patrick Walton
b776a7f734 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

--HG--
rename : servo/tests/html/lipsum.html => servo/tests/html/lipsum-large.html
2015-05-19 19:40:36 -05:00
Patrick Walton
0d3e12d7c8 servo: Merge #5989 - script: Implement the color attribute of the <font> element (from pcwalton:font-color); r=jdm
Improves Hacker News.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: ba340ec71bcfca8ab7b8ae04a22005e4fb860a23
2015-05-19 18:33:03 -05:00
Patrick Walton
9863bb0a54 servo: Merge #5993 - layout: Support percentage widths in inline-blocks (from pcwalton:inline-block-percentage-widths); r=mbrubeck
Improves Twitter.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: acb9824229bf9e02eaabdb9d924f7db242a1ac85
2015-05-19 16:03:15 -05:00