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

4300 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger 5d01ac1294 servo: Merge #6712 - Cleanup ParallelPostorderFlowTraversal (from Ms2ger:traversal); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 886c08c393f51499490702eaf97fc770273a2600
2015-07-24 20:50:55 -06:00
Patrick Walton 939c609e32 servo: Merge #6629 - profile: Make the time and memory profilers run over IPC (from pcwalton:profiler-ipc); r=jdm
Uses a couple of extra threads to work around the lack of cross-process
boxed trait objects.

r? @nnethercote

Source-Repo: https://github.com/servo/servo
Source-Revision: f778e0eecf7cd8a2b870d18c3c305ff10d6b1894
2015-07-24 18:55:05 -06:00
Martin Robinson 54512c17f4 servo: Merge #6679 - Have BufferMap store NativeSurfaces and rename to SurfaceMap (from mrobinson:surface-cache); r=pcwalton
We currently store LayerBuffers, because previously NativeSurfaces did
not record their own size. Now we can store NativeSurfaces directly,
which saves a bit of space in the surface cache and allows us to create
LayerBuffers only in the PaintTask.

This also means that instead of sending cached LayerBuffers, the
compositor can just send cached NativeSurfaces to the PaintTask.

Source-Repo: https://github.com/servo/servo
Source-Revision: 590cb33bb7ae9f4713a7c2ee8bfe1076c180e392
2015-07-24 17:59:45 -06:00
Patrick Walton 77a86e3023 servo: Merge #6705 - canvas: Move to shared memory for images and canvas backing stores (from pcwalton:image-cache-shmem); r=jdm
The idea here is to land this before making images and canvas IPC-safe,
because this will shake out bugs relating to the shared memory. There
are currently test timeouts that are preventing multiprocess images and
canvas from landing, and I believe those are due to the inefficiency of
sending large amounts of data in the unoptimized builds we test with. By
moving to shared memory, this should drastically reduce the number of
copies and `serde` serialization.

Under the hood, this uses Mach OOL messages on Mac and temporary
memory-mapped files on Linux.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ed1b6a3513e7546b580693f554a081bc0c7c478a
2015-07-24 17:14:59 -06:00
Sam Gibson 6966f3f6de servo: Merge #6726 - Eval'ing int32's in devtools panic'd (from samfoo:int32-panic); r=Ms2ger
Eval'ing int32 in devconsole panics. Resolves #6725

Source-Repo: https://github.com/servo/servo
Source-Revision: cdcecaef04e8450b139d2e4b7d06c8fe7a035903
2015-07-24 04:10:50 -06:00
Matt Brubeck 4a16fabc78 servo: Merge #6720 - Update WPT test expectations for --release builds (from mbrubeck:wpt-release); r=pcwalton
r? @pcwalton or @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c88d3418c5384e0e75c91ca2b3d8960c78af45f
2015-07-24 01:11:48 -06:00
Matt Brubeck a442c0ee7e 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
Akos Kiss b185c71656 servo: Merge #6718 - Add aarch64-unknown-linux-gnu support (from akosthekiss:aarch64-support); r=jdm
* Adding dependencies
* Replacing `i8` with `libc::c_char` to build properly on platforms
  where char is unsigned.

Source-Repo: https://github.com/servo/servo
Source-Revision: b386d7ae444af868907b9faff44e8432469160bd
2015-07-23 17:17:18 -06:00
farodin91 f8348d597e servo: Merge #6716 - Implement FileReader.{readAsText,readAsDataUrl}. Fixes #6172 (from farodin91:filereader); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e32068d17bdf6a87a63bea97b6364caa22b37e79
2015-07-23 14:37:00 -06:00
Ms2ger 7b2abc03ca servo: Merge #6715 - Implement more methods on LayoutJS (from Ms2ger:layoutelement); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f44d75e5b2e4229728d97b6a70de3babd3496eb1
2015-07-23 12:40:52 -06:00
Till Schneidereit 5e560077e5 servo: Merge #6683 - Implement DOMPoint and DOMPointReadOnly (from tschneidereit:dompoint); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 658c3d05ae72b52e543342c7a33d37a345eb4374
2015-07-23 11:38:14 -06:00
Simon Sapin 7b6c4c937e servo: Merge #6700 - Update rust-selectors (from servo:selectors); r=Ms2ger
Update for https://github.com/servo/rust-selectors/pull/37

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d857c5d0cac67337ea01895b7cf309359c89cce
2015-07-23 10:55:37 -06:00
Patrick Walton 335ba407a9 servo: Merge #6707 - script: Increase our file descriptor limit on Linux (from pcwalton:more-fds); r=larsbergstrom
We've had problems with this before, and I think it's starting to cause
problems again.

See PRs #6629 and #6616; my current theory is that this is the problem.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d7744b198d95bc2dae31a2cd48bdef1b1eeb792
2015-07-23 06:18:35 -06:00
Ms2ger 21d6151f37 servo: Merge #6706 - Move the WebSocket constructor logic out of WebSocket::new (from Ms2ger:ctor); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c24d37dfccc0a57fa37efc56d08de2679db963e1
2015-07-23 01:44:20 -06:00
Glenn Watson 614344b835 servo: Merge #6691 - Implement mouseevent.which (needed for enyojs sampler) (from glennw:mouse-which); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ff86e0094cc4d65c5690a9df8e6996c49f9f076f
2015-07-22 21:53:00 -06:00
Ms2ger 4014fa34d1 servo: Merge #6698 - Implement some methods on LayoutJS<Element> (from Ms2ger:layoutelement); r=jdm
Part of my long-term plan to stop exposing `unsafe_get()` outside the script crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: 37a1e22515e98fbda93d7e856c5a67b21d9b00a4
2015-07-22 21:10:04 -06:00
Michael Howell 69e51fc14a servo: Merge #6667 - Optimize `Node.normalize()` (from notriddle:master); r=Ms2ger
Do not copy the discarded node's text data, borrow it.

Closes #6658.

p.s. What's the `let text_node = text_node.clone();` for? I removed it because it doesn't seem to be necessary, but I'd like to be sure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dba6d5b010e0d40ef282b6e43925ad0a7c44315
2015-07-22 15:13:43 -06:00
Ms2ger 486816229b servo: Merge #6635 - Spawn a thread for WebSocket messages (from Ms2ger:ws-task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 6fd31867baabd36a7a6fee5541c0d9816d877138
2015-07-22 14:26:21 -06:00
Michael Howell c8fe33d189 servo: Merge #6693 - Tidy finds WebIDLs with no spec (from notriddle:tidy-webidl); r=jdm
Closes #6689

Source-Repo: https://github.com/servo/servo
Source-Revision: 11a3423c29369e712ca1ce38417b9f9cf6845fd7
2015-07-22 13:44:12 -06:00
Bogdan Cuza c3f07a520b servo: Merge #6682 - Fix a few issues (from boghison:scripttask); r=jdm
- Use SmallVec<[T; N]>
 - Make find_iframe a free function
 - Make ProgressEvent use enums for bubbles and cancelable
 - Change README, as `rust-snapshot-hash` is just a text file

Source-Repo: https://github.com/servo/servo
Source-Revision: aafc3dfa963b466303d5f241d69036f211aaad00
2015-07-22 12:25:57 -06:00
Martin Robinson 616be44a8c servo: Merge #6640 - Add memory profiling for the compositor task (from mrobinson:memory-profiling-for-compositor); r=nnethercote
Currently only the BufferMap is recorded, but a later change will also
measure the memory usage of the compositor tree.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3f69eadc0d55b2f065d59dae84baeac45a0bdc8e
2015-07-22 11:44:30 -06:00
snf 062b7d8932 servo: Merge #6582 - Add Clamp and EnforceRange support for webidl arguments (from servo:clamp-enforce-range); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 36d732a60a39140806b4113d58a6b00e6b1931da
2015-07-22 11:03:05 -06:00
Sam Gibson 69f6c7e1ca servo: Merge #6490 - Implement HSTS (preload-only) (from samfoo:hsts-preload); r=jdm
Implement HSTS (preload-only) servo/servo#6105

* Downloads the HSTS preload list from the chromium repo (same as gecko), then convert it to a list appropriate for servo.
* Reads the preload list when creating a resource task, and implements STS for those domains.

Still todo:

* Read Strict-Transport-Security headers from servers and add details to the in-memory HSTS list. (note: this requires hyper or servo to implement an STS header struct. Hyper seems like the appropriate location, so I will create an issue/PR there soon). The work for this is nearly done with the exception of adding a new ControlMsg and the new header.
* Persist HSTS list to disk with known hosts (perhaps a different issue should be raised for this?)

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3d6c472d409c1602c873dcdcb495a7fec9d4b0
2015-07-22 10:23:05 -06:00
Josh Matthews 0c8cda2cbb servo: Merge #6694 - Reject websocket protocol requests that don't match https://tools.iet… (from jdm:websocketprotocol); r=Ms2ger
…f.org/html/rfc6455#section-4.1 .

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b4f1a42f08f66519af310b7c7777d77cc3d0834
2015-07-22 09:44:34 -06:00
Manish Goregaokar d990887177 servo: Merge #6688 - Handle type parameters in unused_must_root (from Manishearth:smarter-root-lint); r=jdm
fixes #6651

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a6681ba70c4e8dc524aff7b8fbc3c71167e8745
2015-07-22 07:05:31 -06:00
Corey Farwell 5a555b5600 servo: Merge #6607 - Upgrade rust-selectors, pass ':empty' tests (from frewsxcv:bump-selectors); r=Ms2ger
https://github.com/servo/rust-selectors/pull/36

Source-Repo: https://github.com/servo/servo
Source-Revision: 488f3b65a1bce549bcda718ab745aa47528cd160
2015-07-22 05:33:06 -06:00
Ms2ger c3f8a5b57d servo: Merge #6690 - Cleanup the get_*_display methods (from Ms2ger:display-getters); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 406be7accf50394f962382fc5a4c3aeb1c33aaa3
2015-07-21 15:20:12 -06:00
Ms2ger 2d1f8833dd servo: Merge #6657 - Cleanup ThreadSafeLayoutNodeChildrenIterator (from Ms2ger:ThreadSafeLayoutNodeChildrenIterator); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b1c4862119f40e16fa41531443573d2aa9d2d22c
2015-07-21 13:38:33 -06:00
Corey Farwell a5ddc4d3c6 servo: Merge #6592 - Use NotImplementedError for Python base class methods (from frewsxcv:notimplementederror); r=Ms2ger
From the Python docs:

https://docs.python.org/2/library/exceptions.html#exceptions.NotImplementedError

"In user defined base classes, abstract methods should raise this
exception when they require derived classes to override the method."

Source-Repo: https://github.com/servo/servo
Source-Revision: a9f12da4f8a48daa197ff8bbc2021009fe6e2711
2015-07-21 11:28:21 -06:00
Josh Matthews c61c0da442 servo: Merge #6681 - Make the global options more resilient to unit tests running in paral… (from jdm:atomicopts); r=SimonSapin
…lel.

This should allow #6490 to land, since it's hitting problems with unit tests that create a resource task and therefore race on calling opts::get().

Source-Repo: https://github.com/servo/servo
Source-Revision: 126f5ae8f0a1041aa881b5b8d9396d0957b16036
2015-07-21 07:17:47 -06:00
Nicholas Nethercote 7151a2c1c9 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
Glenn Watson fc6dfa01b5 servo: Merge #6678 - Update to gleam 0.1.4 (from glennw:gleam0.1.4); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: faa180c9726f1287e5d2d00bf5723314049ee3c9
2015-07-20 18:27:06 -06:00
Glenn Watson 21d21e903b servo: Merge #6666 - Restore exit after load command line flag (from glennw:exit-flag); r=larsbergstrom
Also updates glutin with a crash fix that was exposed by this patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ac80bff8e25be65e96daaf6b7403b11d23d561a
2015-07-20 15:37:33 -06:00
Bogdan Cuza 5e266ea18c 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
Tetsuharu OHZEKI 0ff8cdf987 servo: Merge #6675 - Implement Window.trap() to trigger a breakpoint trap (from saneyuki:trap); r=Ms2ger
Fix #6673

Source-Repo: https://github.com/servo/servo
Source-Revision: 20d8c275d747d6d8e3ce6f65c3ea592e2015d2ea
2015-07-20 10:20:57 -06:00
Ms2ger 60dd967840 servo: Merge #6671 - Renaming browser context to browsing context (from Ms2ger:browser-context); r=jdm
That's what the spec calls it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a5e4335d7ff993a859bc5876243423fe4936441
2015-07-20 02:00:30 -06:00
Ms2ger 94e5c376d3 servo: Merge #6669 - Remove leftover debug println (from Ms2ger:println); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: a432b14e689275ada48c4303609e4e8d4d5abef3
2015-07-19 23:17:46 -06:00
Simon Sapin ee4195f361 servo: Merge #6668 - Make doc comments not truncated again (from servo:untruncated-docs); r=Ms2ger
`rustdoc --passes "collapse-docs unindent-comments"` doesn’t work is intended. It still generate HTML files that look alright at a glance, but all doc-comments are truncated to their first line for some reason I don’t understand.

See http://doc.servo.org/script/dom/index.html for example. The module documentation there is currently just “The implementation of the DOM.”, but clicking the [src] link shows a much larger doc-comment.

The correct invocation is to use `--passes` multiple times.

https://github.com/rust-lang/rust/issues/15347#issuecomment-122785714

Source-Repo: https://github.com/servo/servo
Source-Revision: 685a44e1f5017849c341850696a77418bcc14011
2015-07-19 19:32:41 -06:00
James Graham 4f18454d47 servo: Merge #6392 - Implement support for Get URL and Refresh in WebDriver server (from jgraham:webdriver_get_url_refresh); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 93a0c29ad4531880b359b96cc5e086af2d30f71c
2015-07-19 15:03:36 -06:00
Patrick Walton 45366270f1 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
David Zbarsky 8579214da1 servo: Merge #6625 - Implement Range#cloneContents (from dzbarsky:range-clonecontents); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a0cf597946446c427c54da363fe989ff68db4270
2015-07-18 02:42:29 -06:00
Ms2ger b552054f96 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
Simon Sapin 340252533c servo: Merge #6655 - Include private items in `./mach doc` and http://doc.servo.org/ (from servo:rustdoc-private); r=Manishearth
See https://github.com/rust-lang/rust/issues/15347

Source-Repo: https://github.com/servo/servo
Source-Revision: a24783df4be2641afab3aa72626f9c59f90d49af
2015-07-17 08:40:27 -06:00
David Zbarsky fb3700b6c0 servo: Merge #6568 - Implement Range#insertNode (from dzbarsky:delete_range); r=jdm
Gecko doesn't really follow the spec but it seems to throw a HierarchyRequest error when parent is null.
Any ideas who I should talk to about fixing the spec to account for the null checks?

Source-Repo: https://github.com/servo/servo
Source-Revision: acf47a02cf38b5c82e7c78cc1f6660a7daa9969a
2015-07-16 10:56:17 -06:00
Michael Wu 12233307ae servo: Merge #6641 - Directly append children to output node in parse_html_fragment (from michaelwu:direct-output); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9534e8143f52ef091595c18caeb82cfc46cc20a4
2015-07-16 07:21:06 -06:00
Ms2ger 3232fd8dfe servo: Merge #6632 - Initialize info directly in get_system_heap_allocated (from Ms2ger:unused-mut); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ef1fd342e3636c03cff26a2cec146b155a2d623
2015-07-16 06:42:37 -06:00
Ms2ger cd719fa849 servo: Merge #6647 - Don't try to send a message in WebSocket#close if the sender isn't present (from Ms2ger:ws-send-closing-closed); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e91577d0ad6ba539ef70ff74cde100c16655d35
2015-07-16 02:27:13 -06:00
Nicholas Nethercote 8de763bdb1 servo: Merge #6572 - Wire up the JS engine's memory reporting (from nnethercote:js-reporting); r=jdm
SpiderMonkey provides an extremely fine-grained breakdown of memory
usage, but for Servo we aggregate the measurements into a small number
of coarse buckets, which seems appropriate for the current level of
detail provided by Servo's memory profiler. Sample output:
```
|      17.41 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
|          7.32 MiB -- js
|             3.07 MiB -- malloc-heap
|             3.00 MiB -- gc-heap
|                2.48 MiB -- used
|                0.34 MiB -- decommitted
|                0.09 MiB -- unused
|                0.09 MiB -- admin
|             1.25 MiB -- non-heap
```
Most of the changes are plumbing to get the script task communicating
with the memory profiler task.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b0bdbe1c195f2f6dd7671981999d622c505fbc5
2015-07-15 17:37:30 -06:00
Michael Howell 42d8e855bf servo: Merge #6637 - Don't crash when Firefox doesn't send autoMargins (from notriddle:master); r=jdm
Firefox Developer Tools doesn't always send autoMargins, as seen in this message:

    {"type":"getLayout","node":"node14","to":"pageStyle9"}

So don't use unwrap.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10f3a89313464c98f11ff64fed741abcba6352a6
2015-07-15 15:36:25 -06:00
Patrick Walton f2de86fd3c 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