Commit graph

7178 commits

Author SHA1 Message Date
Matthew Bentley
3b93c9dde9 Add functionality to load prefs.json from profile-dir (as set with
--profile-dir on launch)

Use T: Read rather than File, so that read_prefs_from_file can be tested
2016-04-01 21:39:45 -04:00
bors-servo
c4208e67b7 Auto merge of #10336 - paulrouget:morePrefs, r=KiChjang
Make it possible to use preferences to configure webrender and titlebar

It's getting tiring for browserhtml to run servo with so many options:

`servo -w -b --pref dom.mozbrowser.enabled --pref dom.forcetouch.enabled http://localhost:6060`.

We want to be able to control all of these with preferences (we have a custom pref file).

Only webrender and titlebar are not controllable via a pref. This PR makes it possible.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10336)
<!-- Reviewable:end -->
2016-04-02 06:11:46 +05:30
bors-servo
4e21517796 Auto merge of #10331 - pcwalton:simplify-complex-clipping-regions, r=glennw
gfx: Simplify complex clipping regions as we construct them.

This allows WebRender to correctly render complex clipping regions that
can be reduced to single rounded rectangles. WebRender still can't
render rounded rectangles with arbitrary intersections yet, but this
allows it to handle many more cases.

Closes servo/webrender#241.

r? @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10331)
<!-- Reviewable:end -->
2016-04-02 05:03:07 +05:30
Matt Brubeck
29fb3f1150 Find the correct column index in adjust_vertical 2016-04-01 14:00:50 -07:00
Matt Brubeck
e17ed2e6b0 Add/correct documentation comments in textinput 2016-04-01 14:00:49 -07:00
Matt Brubeck
d7e6f8b0f1 Use correct byte indices in replace_selection 2016-04-01 13:54:02 -07:00
bors-servo
0bf0f61a56 Auto merge of #10321 - pcwalton:webrender-mouse-move, r=glennw
compositing: Send only one mouse move event if WebRender is in use.

In WebRender mode, we were sending two mouse move events: one with the
proper coordinates and one with the wrong coordinates, because of
incorrect fall-through. The script task would usually (but not always,
depending on timing) ignore the first event in favor of the second
event, resulting in incorrect mouse move event coordinates in most
cases.

Closes servo/webrender#238.
Closes #10298.

r? @metajack

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10321)
<!-- Reviewable:end -->
2016-04-02 01:56:39 +05:30
bors-servo
6056b16a77 Auto merge of #10312 - servo:ScriptPort, r=Ms2ger
Report errors from ScriptPort trait methods.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10312)
<!-- Reviewable:end -->
2016-04-02 01:04:31 +05:30
Patrick Walton
1b09168251 servo: Update WebRender.
Closes #10307.
2016-04-01 12:10:35 -07:00
bors-servo
4e4a213c73 Auto merge of #9911 - magni-:dont_use_lookup_tables, r=michaelwu
Do not use lookup tables for put_image_data

Fixes #9599

"This is the first Rust code I have ever written" (and also my first time writing real browser code, it's been quite the learning experience).

Some questions:

> For really fast CPU results, use integer SIMD instructions to handle more than one pixel at a time.

This was out of the scope of #9599, right? I started looking into doing that, but it seems to be a lot more work than the `E-easy` label would suggest. [`std::simd`](https://doc.rust-lang.org/1.0.0/std/simd/index.html) is marked as "unstable", is that a blocker?

> 128 can be added before dividing to round more accurately.

@michaelwu, what did you mean by that?

Also, the #9599 is `Do not use lookup tables for {Get,Put}ImageData operations`, but we only use lookup tables for the `Put`, not the `Get`, right?

Sorry for all the noobish questions.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9911)
<!-- Reviewable:end -->
2016-04-01 23:57:19 +05:30
bors-servo
7d79df4a05 Auto merge of #10304 - Ms2ger:cookie-averse, r=nox
Implement Document::cookie correctly for cookie-averse documents.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10304)
<!-- Reviewable:end -->
2016-04-01 22:51:51 +05:30
bors-servo
7f06b467a4 Auto merge of #10295 - asajeffrey:remove-constellation-misc-panic, r=nox
Miscellaneous fixes to harden the constellation.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10295)
<!-- Reviewable:end -->
2016-04-01 19:14:48 +05:30
bors-servo
9f892edd87 Auto merge of #10272 - creativcoder:implement-data-url-fetch, r=jdm
implements data-url fetching

Fixes #10165
jdm mentioned of decoupling the, payload loading mechanism to data_loader.rs. So accordingly a `decoder` method has been added to data_loader.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10272)
<!-- Reviewable:end -->
2016-04-01 15:12:30 +05:30
Paul Rouget
e51a6309bf Make it possible to use preferences to configure webrender and titlebar 2016-04-01 15:40:31 +08:00
Manish Goregaokar
1aa6d558ac Lock stderr in custom panic handler 2016-04-01 11:20:18 +05:30
Rahul Sharma
3e74164e5f implements data-url fetching 2016-04-01 09:49:08 +05:30
Corey Farwell
ef3c830e61 Add a spec links for <textarea> magic number constants. 2016-03-31 23:42:03 -04:00
Daniel Robertson
7946ebb36a Compute size of the axes of flex containers
Compute the available main and cross size of flex containers, and add a
helper for min/main constraints
2016-03-31 22:53:48 -04:00
Patrick Walton
22a1c112d5 gfx: Simplify complex clipping regions as we construct them.
This allows WebRender to correctly render complex clipping regions that
can be reduced to single rounded rectangles. WebRender still can't
render rounded rectangles with arbitrary intersections yet, but this
allows it to handle many more cases.

Closes servo/webrender#241.
2016-03-31 19:36:40 -07:00
Manish Goregaokar
ed3f7f5818 Skip printing the backtrace for RecvError/SendError
We currently get tons of useless backtraces clogging up the output when we have a panic cascade. This adds a handler that outputs a single line when a thread panics due to a sender or receiver hanging up, since this is almost always due to a panic cascade.
2016-04-01 07:48:07 +05:30
Corey Farwell
bf4db405e4 Remove get_* on getters as per RFC 0344.
https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#gettersetter-apis

https://github.com/servo/servo/issues/6224
2016-03-31 21:12:38 -04:00
bors-servo
f335586ff5 Auto merge of #10292 - jdm:cssom, r=jdm
Initial steps for CSSOM

Squashed and rebased #10133.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10292)
<!-- Reviewable:end -->
2016-04-01 04:29:08 +05:30
Mohamed Albashir
b7a57ef487 Initial steps for CSSOM API 2016-03-31 18:17:30 -04:00
bors-servo
7518c4de93 Auto merge of #10082 - asajeffrey:remove-constellation-panic, r=glennw
Removed panicking when frame or pipeline lookup fails.

Removed the methods `pipeline(id)`, `pipeline_mut(id)`, `frame(id)` and `frame_mut(id)` from constellation, which panicked when the table lookup failed.

The panics were causing race conditions, e.g. visiting google.com and resizing the page would cause a panic, most likely due to an iframe being added and removed, with the `DOMLoad` event arriving after the iframe had been removed, causing a panic.

This patch fixes #10017 and #8769 (although in non-webrender builds there's now a different panic, see https://github.com/servo/servo/issues/10017#issuecomment-198160200).

There are a few `TODO` items in the initial commit, for cases where it's not completely obvious what to do in the case of failure.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10082)
<!-- Reviewable:end -->
2016-04-01 03:30:57 +05:30
Alan Jeffrey
df82a5b24f Removed panicking when frame or pipeline lookup fails. 2016-03-31 16:18:36 -05:00
bors-servo
524a004e77 Auto merge of #10291 - jfhumann:10211, r=emilio
<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10291)
<!-- Reviewable:end -->
2016-04-01 01:57:20 +05:30
bors-servo
acaac52be7 Auto merge of #10288 - jdm:dictseq, r=nox
Enable dictionaries in WebIDL sequences. Fixes #10282.

r? @nox

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10288)
<!-- Reviewable:end -->
2016-04-01 00:28:13 +05:30
Patrick Walton
c95dbf7776 compositing: Send only one mouse move event if WebRender is in use.
In WebRender mode, we were sending two mouse move events: one with the
proper coordinates and one with the wrong coordinates, because of
incorrect fall-through. The script task would usually (but not always,
depending on timing) ignore the first event in favor of the second
event, resulting in incorrect mouse move event coordinates in most
cases.

Closes servo/webrender#238.
Closes #10298.
2016-03-31 11:26:08 -07:00
bors-servo
84a3dee67e Auto merge of #10302 - emilio:webrender-up, r=nox
Update webrender to master

I'll rebase #10224 against it.

Sorry for the blocking of #10224, I expected it to be reviewed way sooner, my fault for landing breaking changes.

r? @nox or @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10302)
<!-- Reviewable:end -->
2016-03-31 21:51:06 +05:30
Josh Matthews
2cfedc7288 Report errors from ScriptPort trait methods. 2016-03-31 17:14:23 +02:00
Connor Brewster
f727444a14 Added a mapping between nodes and stylesheets
Changed stylesheets into_iter to iter
2016-03-31 08:22:00 -06:00
Emilio Cobos Álvarez
97f4ef28d4 Update webrender to master
I'll rebase #10224 against it.
2016-03-31 15:49:22 +02:00
bors-servo
3c00aff546 Auto merge of #10285 - nox:devtools-serde, r=Ms2ger
Use serde in devtools

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10285)
<!-- Reviewable:end -->
2016-03-31 18:36:13 +05:30
Anthony Ramine
406273c641 Use serde in devtools 2016-03-31 11:07:18 +02:00
Ms2ger
3c6cc642ee Implement Document::cookie correctly for cookie-averse documents. 2016-03-31 10:40:10 +02:00
Paul Padier
86dcef1455 Clean up spacing 2016-03-31 14:20:36 +09:00
Paul Padier
1e8e5d61d2 Don't use premultiply table for put_image_data 2016-03-31 14:20:36 +09:00
bors-servo
436f7316d9 Auto merge of #10297 - servo:the-offscreens, r=pcwalton
Update webrender with crates.io's offscreen_gl_context (fixes #10296)

Crate webrender is bumped to the first commit in https://github.com/servo/webrender/pull/248.
Crate webrender_traits is bumped to the merge of https://github.com/servo/webrender_traits/pull/21.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10297)
<!-- Reviewable:end -->
2016-03-31 06:42:31 +05:30
bors-servo
af06d32628 Auto merge of #10287 - Ms2ger:domain, r=jdm
Include square brackets for IPv6 addresses in Document::domain.

The specification changed out from under us.

It's unfortunately impossible to write a test for this right now.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10287)
<!-- Reviewable:end -->
2016-03-31 05:44:10 +05:30
Anthony Ramine
48b5d1d6be Update webrender with crates.io's offscreen_gl_context (fixes #10296)
Crate webrender is bumped to the first commit in https://github.com/servo/webrender/pull/248.
Crate webrender_traits is bumped to the merge of https://github.com/servo/webrender_traits/pull/21.
2016-03-31 02:02:02 +02:00
Anthony Ramine
a81793c908 Reorder dependencies in components/canvas/Cargo.toml 2016-03-31 01:36:50 +02:00
bors-servo
ed9c64e827 Auto merge of #10275 - bholley:style_struct_templates, r=SimonSapin
Use more mako machinery in geckolib (and make a few small changes to style/properties.mako.rs)

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10275)
<!-- Reviewable:end -->
2016-03-31 04:46:11 +05:30
Alan Jeffrey
f9f15876cd Miscellaneous fixes to harden the constellation. 2016-03-30 18:01:28 -05:00
bors-servo
e5e559d414 Auto merge of #10268 - Ms2ger:rc-runtime, r=Manishearth
Stop reference-counting Runtime for workers.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10268)
<!-- Reviewable:end -->
2016-03-31 03:41:19 +05:30
Alan Jeffrey
6dab59f8ce Added comment explaining why the constellation still panics in the case of recv failure. 2016-03-30 16:10:09 -05:00
bors-servo
723989b9dd Auto merge of #10252 - emilio:selection, r=mbrubeck
Implement ::selection pseudo-element

It only supports `color` and `background`, for now, but it shouldn't be hard to add more properties (like text-shadow).

r? @mbrubeck

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10252)
<!-- Reviewable:end -->
2016-03-31 00:47:07 +05:30
Jan-Fabian Humann
d778562844 #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
Bobby Holley
d52299b17c Move handling of additional-methods into the data structures. 2016-03-30 10:42:26 -07:00
Bobby Holley
0bdbf815f9 Take an initial pass of putting binding-generated gecko style structs inside GeckoComputedValues. 2016-03-30 10:33:57 -07:00
Bobby Holley
a7447aaf74 Don't require style structs to implement PartialEq.
It turns out this isn't necessary, and requiring it for gecko style structs
would be a pain.
2016-03-30 10:33:57 -07:00