Commit graph

3667 commits

Author SHA1 Message Date
bors-servo
0f4209644c Auto merge of #13759 - bholley:owning_handle, r=SimonSapin
Implement OwningHandle in style

I've also PR-ed this against upstream [1], but I don't want to block on that in case it takes a while to be merged / published.

[1] https://github.com/Kimundi/owning-ref-rs/pull/15

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13759)
<!-- Reviewable:end -->
2016-10-14 10:42:10 -05:00
bors-servo
41df705661 Auto merge of #13754 - Manishearth:refptr, r=emilio,mystor
Add sugar for RefPtr<T>; use for `quotes` property

Carry-over from https://bugzilla.mozilla.org/show_bug.cgi?id=1309848

r=mystor,emilio

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13754)
<!-- Reviewable:end -->
2016-10-13 22:31:20 -05:00
Bobby Holley
d73047584c Implement OwningHandle in style.
I've also PR-ed this against upstream [1], but I don't want to block on that
in case it takes a while to be merged / published.

[1] https://github.com/Kimundi/owning-ref-rs/pull/15
2016-10-13 16:53:37 -06:00
bors-servo
781a077145 Auto merge of #13727 - mbrubeck:warnings, r=Manishearth
Fix unused feature warning in build-cef

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13727)
<!-- Reviewable:end -->
2016-10-13 15:14:22 -05:00
Manish Goregaokar
2bde9462b1 Add safer bindings for RefPtr 2016-10-14 00:44:06 +05:30
Emilio Cobos Álvarez
26ef1bba63
servo: Update glutin to pick the wayland disabling. 2016-10-13 13:07:40 +02:00
bors-servo
f4cb87a783 Auto merge of #13697 - mmatyas:android_cvoid, r=emilio
Fix missing `c_void` error when building for Android

<!-- Please describe your changes on the following line: -->
Including `c_void` is also required on Android, because of https://github.com/mmatyas/servo/blob/master/ports/glutin/window.rs#L170

(This is a fix for servo/servo#13154)

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13697)
<!-- Reviewable:end -->
2016-10-12 12:34:54 -05:00
Matt Brubeck
1e6cfb04e2 Remove obsolete try_borrow feature from CEF 2016-10-12 10:32:51 -07:00
bors-servo
a332e0bb56 Auto merge of #13706 - mbrubeck:always-be-updating, r=nox
Update all ports to serde 0.8.11

This updates CEF and Stylo to the version already used in the Servo build.  Should fix long compile times in the build-cef step in automation.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13706)
<!-- Reviewable:end -->
2016-10-12 11:42:17 -05:00
Manish Goregaokar
398a6343b3 Vendor m-c's nsstring in-tree
It is called nsstring_vendor since libgkrust already depends on nsstring, and
we can't have two crates with the same name in-tree. We can't directly depend
on the in-tree one since this will stop independent `./mach build-geckolib` builds from working.

MozReview-Commit-ID: CR4tHgzXWFZ
2016-10-12 18:12:52 +05:30
Matt Brubeck
8d4297a228 Update all ports to serde 0.8.11 2016-10-11 15:57:35 -07:00
Bobby Holley
63ac0d2540 Use AtomicRefCell for RawServoStyleSet.
MozReview-Commit-ID: 27JeRluDAo3
2016-10-11 09:31:52 -07:00
Mátyás Mustoha
4793f935a4 Fix missing c_void error when building for Android 2016-10-11 13:29:03 +02:00
Bobby Holley
226e4cf7c0 Deny warnings in stylo crates.
MozReview-Commit-ID: 3lQNUzX77PX
2016-10-11 14:05:31 +05:30
bors-servo
abcc4aeaf2 Auto merge of #13656 - bholley:existing_style, r=emilio
Refactor style logic to avoid direct access to the node data during the cascade

The new restyle architecture doesn't store these things in consistent places, so we need a more abstract API.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13656)
<!-- Reviewable:end -->
2016-10-10 23:22:05 -05:00
Bobby Holley
bfbbef6ecd Remove borrow_data and mutate_data from TNode.
The new restyle architecture doesn't store these things in consistent
places, so we need a more abstract API.
2016-10-10 20:36:31 -07:00
bors-servo
39d3fce1af Auto merge of #13649 - servo:rustup, r=larsbergstrom
Update to Rust 1.14.0-nightly (19ac57926 2016-10-08)

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13649)
<!-- Reviewable:end -->
2016-10-09 20:12:38 -05:00
Anthony Ramine
1854566683 Update to Rust 1.14.0-nightly (19ac57926 2016-10-08)
A cargo bump and a switch to serde_derive is needed to do this rustup.
2016-10-09 18:53:47 +02:00
Brian Birtles
45e0b90d63 Bug 1302949 - Add a method to restyle with an added declaration; r=Manishearth
MozReview-Commit-ID: AbX0PCjjEM6
2016-10-09 18:33:52 +05:30
Brian Birtles
1c78e1cb20 Bug 1302949 - Add a method to serialize a declaration block as a single value; r=Manishearth
MozReview-Commit-ID: 59CCT0P4CBm
2016-10-09 18:33:51 +05:30
Brian Birtles
61bcc3a2ef Bug 1302949 - Add a method to Gecko bindings for comparing declaration blocks; r=Manishearth
MozReview-Commit-ID: EtX2oLXdGNm
2016-10-09 18:33:50 +05:30
Brian Birtles
56e70aec51 Bug 1302949 - Add a method to parse a property-value pair into a declaration block; r=Manishearth
The property may be a shorthand property in which case the declaration block
will contain the expanded longhand properties and values.

MozReview-Commit-ID: KxqlYgbIZqL
2016-10-09 18:33:49 +05:30
bors-servo
a0e404c79e Auto merge of #13620 - Manishearth:type-assert, r=emilio
Test that Servo_* functions have the right signatures

Fixes #12992

Needs #13617

Not very happy with this solution (and perhaps it should be done in pure Rust, though that can be split out as another easy bug).

But it works. The bindings changes are from running a regen on [bug 1308234](https://bugzilla.mozilla.org/show_bug.cgi?id=1308234)

r? @emilio

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13620)
<!-- Reviewable:end -->
2016-10-09 03:56:34 -05:00
Manish Goregaokar
af57a98694 Test that Servo_* functions have the right signatures
Fixes #12992
2016-10-09 09:59:00 +05:30
Glenn Watson
792ec0c99a Update webrender (new gpu profiler support). 2016-10-07 10:14:47 +10:00
Glenn Watson
d379352ef5 Update osmesa-src to get build fix for old ubuntu machines. 2016-10-07 06:48:41 +10:00
Lars Bergstrom
013698b2a0 Update glutin to pick up Windows CreateWindowExW fix 2016-10-06 15:10:40 -05:00
bors-servo
8a3af9d1b9 Auto merge of #13592 - glennw:update-wr-text-runs, r=pcwalton
Update webrender (text run + transforms fix).

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13592)
<!-- Reviewable:end -->
2016-10-05 03:41:13 -05:00
bors-servo
cbc857bb78 Auto merge of #13569 - Manishearth:simpliffi, r=emilio
Start simplifying FFI ownership sugar

This is step one of a series of changes planned to make the ownership sugar easier to use. This was blocked on #13038

*very* unsure about second commit. Don't like the thought of accepting types with destructors over FFI. Probably will revert it. Leaving it in for now in case you have some insight.

Eventually at least for the borrowed stuff I want to use T directly (because the crates are merged now), instead of the fake void types. Perhaps for the others too. I might include those changes in this PR -- was originally planning to but I realized that these steps could be split out.

Tentative plan for `Owned` (assuming it's not removed) is to have `Owned<T> <-> Box<T>` (same `T`, no "FFI type") conversions. We will only use ownership wrapper types for things with destructors, and try to keep the conversion simple. I'm envisioning a couple methods for arc/strong and a few more for box/owned. We may need to introduce new wrapper types for gecko-side managed objects (`RefPtr<T>`, `UniquePtr<T>`) but that should be all the wrapper types we have in the ownership sugar.

This PR relies on the guarantee that `Option<&T>` and `Option<Box<T>>` are pointer-sized via the `NonZero` optimization. I am now less unconvinced that this is a good idea 😉.

r? @emilio

cc @mystor

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13569)
<!-- Reviewable:end -->
2016-10-05 00:59:56 -05:00
Glenn Watson
fffa93082b Update webrender (text run + transforms fix). 2016-10-05 13:46:10 +10:00
Glenn Watson
0849607239 Minimal Win32 font platform implementation.
This uses a (very simple) Win32 API call to enumerate font
families available, and load them as byte buffers.

The font rasterization itself is done by freetype.

This gets Servo + WR + Windows working, but should be improved
by adding a proper implementation that matches fonts correctly
and also uses DirectWrite (or GDI) to handle font rasterization.
2016-10-05 07:46:02 +10:00
Simon Sapin
89a29a7f12 Use parking_lot::RwLock instead of DOMRefCell for PropertyDeclarationBlock 2016-10-04 18:34:59 +02:00
Simon Sapin
d986fd2d2f Use PropertyDeclarationBlock in a DOMRefCell everywhere. 2016-10-04 18:34:57 +02:00
Simon Sapin
29c72d15a9 Make style build without impl<T: HeapSizeOf> HeapSizeOf for Arc<T>.
The removal of this impl is not included in this commit.
CC https://github.com/servo/heapsize/issues/37#issuecomment-249861171
2016-10-04 13:45:57 +02:00
Simon Sapin
f90b288547 Update heapsize 2016-10-04 13:45:56 +02:00
Manish Goregaokar
b416ccfcae Remove Borrowed<T>/BorrowedMut<T>, use Option<&T> instead. 2016-10-04 15:01:49 +05:30
Imanol Fernandez
a07d6b37cc Fix WebGL tests & Implement WebGLRenderingContext::{validateProgram, getProgramInfoLog, disableVertexAttribArray}, r=emilio 2016-10-03 16:17:19 +02:00
Bobby Holley
8c14533e7f Add a dependency on parking_lot to style.
MozReview-Commit-ID: 5zXmrdQ0fjU
2016-10-02 19:19:52 -07:00
Emilio Cobos Álvarez
eb0c12acaf
stylo: Remove a bunch of out of now-unneeded out-of-line calls.
r? @bholley
2016-10-02 17:51:14 +02:00
bors-servo
7f84982de2 Auto merge of #13519 - pcwalton:signpost, r=larsbergstrom
profile: Integrate the time profiler with the macOS signpost infrastructure.

With this change, if you supply the `-Z signpost` flag, Instruments.app
can display Servo events overlaid with callstack data. Even better, you
can get call stack profiling for individual Servo events (one layout,
one network request, one style recalculation, etc.)

This adds a dependency on the `signpost` crate. On unsupported OS's,
this crate is an no-op.

Screenshot: http://i.imgur.com/agLyzOU.png

r? @larsbergstrom

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13519)
<!-- Reviewable:end -->
2016-10-01 04:18:56 -05:00
Patrick Walton
cb11d85150 profile: Integrate the time profiler with the macOS signpost
infrastructure.

With this change, if you supply the `-Z signpost` flag, Instruments.app
can display Servo events overlaid with callstack data. Even better, you
can get call stack profiling for individual Servo events (one layout,
one network request, one style recalculation, etc.)

This adds a dependency on the `signpost` crate. On unsupported OS's,
this crate is an no-op.
2016-10-01 00:12:49 -07:00
bors-servo
a559c20353 Auto merge of #13478 - mmatyas:arm_gles3, r=jdm
Use GL ES3 on ARM devices

<!-- Please describe your changes on the following line: -->
This makes WebRender work on ARM devices; see servo/webrender#408.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig HARFBUZZ_NO_PKG_CONFIG=1 EXPAT_NO_PKG_CONFIG=1 FREETYPE2_NO_PKG_CONFIG=1 FONTCONFIG_NO_PKG_CONFIG=1 CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ ./mach build --dev --target=arm-unknown-linux-gnueabihf` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #10310.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13478)
<!-- Reviewable:end -->
2016-09-30 14:49:29 -05:00
Guillaume Gomez
a6a1a5dcd8 Update mp3-metadata version 2016-09-30 14:43:26 +02:00
bors-servo
37c8892b87 Auto merge of #13456 - Wafflespeanut:warnings, r=emilio
Silence some warnings in geckolib

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a cleanup

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

We'll be silencing thousands of warnings this way, which would probably help with Travis.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13456)
<!-- Reviewable:end -->
2016-09-29 22:46:38 -05:00
Mátyás Mustoha
9bc1726433 Use GL ES3 on ARM devices 2016-09-28 11:15:35 +02:00
Glenn Watson
f562c426e3 Switch default renderer to webrender, and update webrender. 2016-09-28 17:18:50 +10:00
Glenn Watson
cdb69d4423 Add OSMesa headless mode, run WPT against Webrender, update tests. 2016-09-28 11:57:33 +10:00
Ravi Shankar
24c00da08c Silence some warnings in geckolib 2016-09-27 18:35:51 +05:30
Manish Goregaokar
b2e592b121 Move most of geckolib into style::gecko 2016-09-26 09:07:17 +02:00
Manish Goregaokar
bc9cbc87ba Move gecko_* into style::gecko
Prepping for the next stage where most of geckolib/ is popped in here
2016-09-24 19:25:59 +05:30