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

411 Коммитов

Автор SHA1 Сообщение Дата
Martin Robinson 83736a2c39 servo: Merge #6842 - Update to the latest skia (from mrobinson:preserve-gl); r=pcwalton
Now GLRasteizationContexts require having an active GLContext. This will
allow preserving GLContexts and possibly framebuffers between
rasterization sessions, improving GL Rasterization performance.

Linux Before:
+ Painting Per Tile    4.5559    4.3392  1.6920  18.5548 74
Painting             170.1554  151.8353  0.0008 350.1093 28

Linux After:
+ Painting Per Tile    3.8726    3.1299  1.5848  12.6732 62
Painting              13.5480   10.8947  0.0029  39.1198 23

Source-Repo: https://github.com/servo/servo
Source-Revision: ccd341cc68f034df675ffaf80673a1bece078e08
2015-07-30 07:29:38 -06:00
Patrick Walton a107711e99 servo: Merge #6843 - servo: Update Glutin to pick up event handling fixes (from pcwalton:glutinup); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 325bf6f2d916e616534bf1a3af5c7ffca7ec62ba
2015-07-30 05:16:37 -06:00
Avi Weinstock 6a5f0dd49d servo: Merge #6654 - Add copy-to-clipboard feature under x11 (from aweinstock314:add-x11-copy-to-clipboard); r=jdm
The main work is in the the rust-clipboard library, this PR updates Cargo.lock and adds plumbing.

0337e48b3f

Source-Repo: https://github.com/servo/servo
Source-Revision: 28e163d6c44f1d85fbaea7f236da40972b6a63b1
2015-07-29 11:26:00 -06:00
Glenn Watson e3f983ae30 servo: Merge #6801 - Accumulate and invert stacking context transform for hit tests (from glennw:hit-test-transforms); r=pcwalton
This makes hit tests work on stacking contexts with transforms.

Ref #6643.

Source-Repo: https://github.com/servo/servo
Source-Revision: fff104bb41dea0ba64fdca312de7b4c0d76277c8
2015-07-28 23:09:08 -06:00
Matt Brubeck b67ae38fdf servo: Merge #6814 - Remove unused script -> layout_traits dependency (from mbrubeck:dead-dep); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 59ea4a18ae934926d8c9731c4c3d3e85ff737fb5
2015-07-28 12:15:00 -06:00
Patrick Walton 8325a09ce0 servo: Merge #6745 - devtools: Convert the developer tools to run over IPC (from pcwalton:devtools-ipc); r=jdm
This was a large, invasive change.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bc1db3fe85f2a1a04536f0f6045b53b1319f4bc
2015-07-27 11:09:38 -06:00
Patrick Walton 6d44729f83 servo: Merge #6597 - script: Make the `ImageCacheTask` use IPC (from pcwalton:image-cache-ipc); r=jdm
This necessitated getting rid of the boxed trait object that was being
be passed between the script task and the image cache task.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: e13ebf712de444132a6cc90f394c121d8d751c4c
2015-07-27 00:08:15 -06:00
Patrick Walton a97d607394 servo: Merge #6746 - net: Convert the storage task to use IPC (from pcwalton:storage-task-ipc); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 362de0390280d01989521b2176477510fb6c0413
2015-07-26 18:07:32 -06:00
Akos Kiss 1a0400fb91 servo: Merge #6749 - Bump up dependencies past the point where both aarch64 fixes and x11 v2.0.0 bump-ups are landed (from akosthekiss:bump-deps); r=jdm
Affected dependencies are:
* azure,
* clipboard,
* glutin,
* js,
* layers,
* offscreen_gl_context,
* skia, and
* x11 (of course).

ipc-channel has already been bumped up in a previous commit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8edf1a5ecdecc9f6de8210fc875cff3679fda09e
2015-07-25 10:17:55 -06:00
Patrick Walton d4fd20dc7c servo: Merge #6616 - script: Make most of 2D canvas and WebGL run over IPC (from pcwalton:canvas-webgl-ipc); r=jdm
To actually make the multiprocess communication work, we'll need to
reroute the task creation to the pipeline or the compositor. But this
works as a first step.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 1764267379a00b96a1df89f3917299a0c6fd325c
2015-07-25 01:50:31 -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
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
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
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
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
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
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
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
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
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
Martin Robinson f7a684b3a0 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
Patrick Walton 31494292e3 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
Martin Robinson 17cdbf9af6 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

--HG--
rename : servo/components/gfx/buffer_map.rs => servo/components/compositing/buffer_map.rs
2015-07-08 03:14:21 -06:00
Corey Farwell b8c8f36039 servo: Merge #6555 - Join tokens when stringifying DOMTokenList (from frewsxcv:stringify-tokenlist); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d64f91863af6c22b3af6d5ea5ebfd671f4e83aaa
2015-07-07 08:58:35 -06:00
Patrick Walton 0141dfbe06 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 0686325db5 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
Tim Taubert 0cceca72b1 servo: Merge #6505 - Implement crypto.getRandomValues() (from ttaubert:issue/4666-crypto-getRandomValues); r=Ms2ger
Didn't touch mozjs or rust-mozjs because implementing that in the code generator didn't seem too easy. I'm using the same workaround that the TextDecoder does.

Using the OsRng should be the right choice here? As the OS keeps state for us we wouldn't need to have a global rng instance to keep around.

Fixes #4666.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0222628264423a67bf98775be83dcf2f85211ab
2015-07-05 22:16:19 -06:00
Ms2ger a718817e6f servo: Merge #6557 - Update rust-mozjs (from Ms2ger:update-js); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: db9e29a5f3c3600dcdd5c2b4e5a3e1e0baf917d7
2015-07-05 09:38:20 -06:00
Ms2ger b54f8e97dd 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
Simon Sapin 8423111051 servo: Merge #6548 - Upgrade to rustc 1.3.0-dev (f3b97a74a 2015-07-03) (from servo:rustup_2015-07-03); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f5f64dab749d0851ef82be3cdc7fb2bd1cb09956
2015-07-03 21:47:02 -06:00
Matt Brubeck 3cc1840e9f servo: Merge #6528 - Reduce dependencies of the `util` crate (from mbrubeck:util_deps); r=Ms2ger
Because almost all our main crates depend on util, we should keep its dependencies minimal to increase parallelism and reduce the amount of stuff rebuilt when upstream crates are changed.

Source-Repo: https://github.com/servo/servo
Source-Revision: fc1e427ff9bb0e9891053ec1eba292530ebbe91a
2015-07-01 07:54:15 -06:00
Matt Brubeck 3303d8aa19 servo: Merge #6527 - Remove gfx dependency from script crate (from mbrubeck:script_deps); r=larsbergstrom
This dependency is not used anywhere.

Source-Repo: https://github.com/servo/servo
Source-Revision: e958d92be6c35234bcffce2d4e74ece585de02e4
2015-07-01 04:01:51 -06:00
Martin Robinson 94211ab952 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
Ms2ger fa606ce9b8 servo: Merge #6522 - Update some submodules (from Ms2ger:update); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e0c89390cced7ab55b83925c7c4130d7fd07753
2015-06-30 08:44:05 -06:00
Jesse Ruderman 8d20462052 servo: Merge #6495 - Add keyboard shortcuts to glutin browser (from jruderman:add_keyboard_shortcuts_2); r=metajack
Supersedes #6488. Changes since then:

* Fix a few places where we needed cfg(feature = "window") in order to compile without the feature.
* Zoom-in shortcut now works both with and without shift. (Uses a guard because I couldn't think of another way to do it without CTFE.)
* Back/forward shortcuts now correctly use Alt on non-Mac platforms.
* The back/forward shortcuts that use square brackets are now non-Windows, rather than Mac-only. This roughly matches XP_UNIX: http://hg.mozilla.org/mozilla-central/file/d4c4ce7f060c/browser/base/content/browser-sets.inc#l354

Source-Repo: https://github.com/servo/servo
Source-Revision: 420cf4c8dcbe4bba822bb6980b301416d9b5526e
2015-06-29 11:44:03 -06:00
Ms2ger 9bce277ddd servo: Merge #6497 - Remove the negate_unsigned feature gate from CEF (from Ms2ger:negate_unsigned); r=zmike
Source-Repo: https://github.com/servo/servo
Source-Revision: 53c04b33f00ac5fc25d7d98dbb2cf0b983ddd3bd
2015-06-27 13:09:24 -06:00
Martin Robinson 6b40c4ff1e 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 3ad453386f servo: Merge #6485 - Remove the unused thread_local feature gate (from Ms2ger:thread_local); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ac566e90a255033933eff311611286bf0d02c9dc
2015-06-26 18:26:51 -06:00
Ms2ger 418336ea22 servo: Merge #6484 - Stop using deprecated boxed::into_raw in cef (from Ms2ger:raw-cef); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ff979441210dd2f7037b565866446e755b5f3e24
2015-06-26 17:50:42 -06:00
Simon Sapin 112f9f7675 servo: Merge #6468 - Update rust-selectors (from servo:update-selectors); r=Ms2ger
r? @Ms2ger

https://github.com/servo/rust-selectors/pull/33

Source-Repo: https://github.com/servo/servo
Source-Revision: c331db1623719774c3ead554bcdca0b9c02d90fe
2015-06-26 14:50:01 -06:00
Ms2ger b7411f42ee servo: Merge #6473 - Stop using env::set_exit_code (from Ms2ger:args); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: b26818a7b09727a08bc3fa4af9fee02849b0dcdd
2015-06-26 12:55:23 -06:00
Simon Sapin 951498d312 servo: Merge #6465 - Update to zero-copy* HTML parsing (from servo:tendril); r=pcwalton
html5ever now uses the Tendril string type to minimize copying internally, but Servo still converts from/to `String` at the boundary (which involves copying).

Source-Repo: https://github.com/servo/servo
Source-Revision: 2165c55d645f59ef413f09c2b023d511bc8c402e
2015-06-25 23:12:09 -06:00
Ms2ger 18fd8097a2 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 5cd9134a2e 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
Robert Knight ca1885dff8 servo: Merge #6373 - Use a faster scroll speed under X11 (from robertknight:gh5660-rob-x11_scroll_speed); r=pcwalton
Platforms may report scroll deltas either in
chunks/lines/rows or pixels, depending on the
platform API and device capabilities.

If the platform reports a line/chunk-based delta
then the application needs to convert the delta
into a suitable number of pixels. Apple's documentation for example states
that the app should interpret the delta as a number of lines or rows to scroll,
depending on the type of view.

This commit just hardcodes it to 57 as
a starting point which matches the value that
Firefox calculates as the max char height
for the root frame on my system.

This depends on this Glutin PR: https://github.com/tomaka/glutin/pull/483

Fixes #5660

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e0f1869984b6ddcbc91b6a8d53dc54e177aca5d
2015-06-22 13:46:56 -06:00