Commit graph

16378 commits

Author SHA1 Message Date
bors-servo
d22a7a1912 Auto merge of #10223 - UK992:win32, r=larsbergstrom
Fix ./mach run and ./mach test-unit on Windows

This small hack fix conflict with mingw and rustc ``libstdc++-6.dll``.
This fixes https://github.com/servo/servo/issues/9465 and https://github.com/servo/servo/issues/10048

CC @larsbergstrom @jdm

<!-- 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/10223)
<!-- Reviewable:end -->
2016-03-27 20:21:37 +05:30
faineance
7c45a4fea0 change changes effecting verbosity 2016-03-27 13:54:41 +01:00
UK992
d069841caf Fix ./mach run 2016-03-27 14:08:34 +02:00
bors-servo
61c2358819 Auto merge of #10214 - emilio:angleup, r=KiChjang
Update angle to trunk

Related angle PR: https://github.com/emilio/angle/pull/7

I've tested this locally on Linux, and on Mac and Linux via Travis. It should keep working on windows but who knows... Let appveyor do its work.

<!-- 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/10214)
<!-- Reviewable:end -->
2016-03-27 17:13:05 +05:30
faineance
418842faf9 use self.0 instead of destructing single item tuple structs 2016-03-27 11:50:08 +01:00
bors-servo
44c972a868 Auto merge of #10221 - MovingtoMars:opt_parse_err, r=Manishearth
Fail cleanly instead of panicking for incorrect option arguments

Related #9927

<!-- 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/10221)
<!-- Reviewable:end -->
2016-03-27 14:51:34 +05:30
MovingtoMars
4e40fecbdd Fail cleanly instead of panicking for incorrect option arguments 2016-03-27 22:00:02 +13:00
Per Lundberg
c2ad084713 ComputedValues is now ServoComputedValues
This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.
2016-03-27 10:55:43 +03:00
Emilio Cobos Álvarez
015c69db56 Update angle to trunk
Related angle PR: https://github.com/emilio/angle/pull/7
2016-03-26 23:38:07 +01:00
bors-servo
68a8085a2f Auto merge of #10186 - matthiaskrgr:fix_10183, r=Manishearth
fix #10183, forward navigation key should not require shift to work.

<!-- 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/10186)
<!-- Reviewable:end -->
2016-03-27 01:44:54 +05:30
bors-servo
4cb626ae29 Auto merge of #10204 - awalGarg:fix10161, r=Manishearth
Allow setting preferences to false in WPT tests

First patch to servo - apologies if I did something stupid :)

This is a fix for #10161. I have squashed the commits into one.

<!-- 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/10204)
<!-- Reviewable:end -->
2016-03-27 00:46:55 +05:30
Awal Garg
b1ff30f752 Allow setting preferences to false in WPT tests. closes #10161 2016-03-26 23:53:56 +05:30
bors-servo
db13ec48b1 Auto merge of #10191 - servo:xml, r=KiChjang
Update xml5ever.

<!-- 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/10191)
<!-- Reviewable:end -->
2016-03-26 23:22:24 +05:30
bors-servo
dc0e541747 Auto merge of #10179 - asajeffrey:chaotic-good, r=emilio
Added ability to randomly kill pipelines to the constellation.

Added flags:

* `--random-pipeline-closure-probability`: probability of each event triggering a forced exit of a randomly chosen pipeline.
* `--random-pipeline-closure-seed`: seed to use for the RNG (to remove a source of intermittent failure).

These are designed for testing the hardness of 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/10179)
<!-- Reviewable:end -->
2016-03-26 21:15:59 +05:30
Alan Jeffrey
32c72f0925 Added ability to randomly kill pipelines to the constellation. 2016-03-26 09:11:28 -05:00
bors-servo
d82f97a9cd Auto merge of #10188 - ConnorGBrewster:http-global-state, r=jdm
Add Http Global State Object

This adds a new HttpState object which holds common http state(#10175). This reduces the amount of work that is required to add extra things to the Http state.

The HttpState object currently holds:
```
hsts_list: Arc::new(RwLock::new(HSTSList::new())),
cookie_jar: Arc::new(RwLock::new(CookieStorage::new())),
auth_cache: Arc::new(RwLock::new(HashMap::new())),
```

<!-- 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/10188)
<!-- Reviewable:end -->
2016-03-26 19:06:52 +05:30
bors-servo
bed91b3334 Auto merge of #10176 - mbrubeck:selection-range, r=pcwalton
Highlight selected text in input fields

Fixes #9993.  This does not yet allow stylesheets to set the selection colors; instead it uses a hard-coded orange background and white foreground.

r? @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/10176)
<!-- Reviewable:end -->
2016-03-26 08:16:20 +05:30
bors-servo
1554331f06 Auto merge of #10085 - pcwalton:floats-inout-revamp, r=mbrubeck
layout: Rewrite the block formatting context/float inline-size speculation code.

The old code tried to do the speculation as a single bottom-up pass
after intrinsic inline-size calculation, which was unable to handle
cases like this:

    <div>
        <div style="float: left">Foo</div>
    </div>
    <div>
        <div style="overflow: hidden">Bar</div>
    </div>

No single bottom-up pass could possibly handle this case, because the
inline-size of the float flowing out of the "Foo" block could never make
it down to the "Bar" block, where it is needed for speculation.

On the pages I tried, this regresses layout performance by 1%-2%.

I first noticed this breaking some pages, like the Google SERPs, several
months ago.

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/10085)
<!-- Reviewable:end -->
2016-03-26 07:08:41 +05:30
Patrick Walton
b29719e36b layout: Rewrite the block formatting context/float inline-size
speculation code.

The old code tried to do the speculation as a single bottom-up pass
after intrinsic inline-size calculation, which was unable to handle
cases like this:

    <div>
        <div style="float: left">Foo</div>
    </div>
    <div>
        <div style="overflow: hidden">Bar</div>
    </div>

No single bottom-up pass could possibly handle this case, because the
inline-size of the float flowing out of the "Foo" block could never make
it down to the "Bar" block, where it is needed for speculation.

On the pages I tried, this regresses layout performance by 1%-2%.

I first noticed this breaking some pages, like the Google SERPs, several
months ago.
2016-03-25 18:39:16 -07:00
bors-servo
9b2ae3a62f Auto merge of #10198 - pcwalton:negative-ceiling, r=mbrubeck
layout: Allow floats to have negative ceilings due to negative margins.

This fixes `margin-collapse-104.htm`, which is currently accidentally
passing due to lack of #10085. When that PR lands, then that will become
a representative test case.

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/10198)
<!-- Reviewable:end -->
2016-03-26 05:48:25 +05:30
Patrick Walton
aee0c44509 layout: Minor whitespace cleanup. 2016-03-25 15:29:18 -07:00
Patrick Walton
24d81e95b4 layout: Allow floats to have negative ceilings due to negative margins.
This fixes `margin-collapse-104.htm`, which is currently accidentally
passing due to lack of #10085. When that PR lands, then that will become
a representative test case.
2016-03-25 15:29:17 -07:00
bors-servo
8984d95a28 Auto merge of #10197 - mbrubeck:force-repaint, r=pcwalton
Fix forced repaint on image load

After #10021, `LayoutThread::repaint` no longer forced a repaint because of the `restyle_damage` check.  This patch adds the correct restyle damage and fixes #10163.

r? @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/10197)
<!-- Reviewable:end -->
2016-03-26 03:47:05 +05:30
Matt Brubeck
afb36ec8de Fix forced repaint on image load
After #10021, `LayoutThread::repaint` no longer forced a repaint because of
the `restyle_damage` check.  This patch adds the correct restyle damage and
fixes #10163.
2016-03-25 14:54:00 -07:00
bors-servo
d77c7b21ae Auto merge of #10194 - emilio:stylo-fixes-and-doc, r=bholley
geckolib: Add style structs bindings and documentation

See the description of 6c851c8 to see which incorrect bindings remain. They're just nine types.

cc @bholley @SimonSapin @pcwalton

(I don't know who should review this actually)

<!-- 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/10194)
<!-- Reviewable:end -->
2016-03-26 00:10:55 +05:30
Connor Brewster
b09570b2b6 Added global state struct
Replace hsts_list, auth_cache, and cookie_jar with http_state

Reverted a few changes

Moved http_state back to factory
Removed unnecessary Arc

Removed Arc for http_state
2016-03-25 12:35:40 -06:00
Emilio Cobos Álvarez
0a609e81c7 geckolib: Update docs to point to the bindings file. 2016-03-25 18:55:58 +01:00
Emilio Cobos Álvarez
6c851c88ea geckolib: Update bindings with vtable generation and anonymous unions
Only 9 tests failing!

```
bindgen_test_layout_FontFamilyList
bindgen_test_layout_StyleAnimation
bindgen_test_layout_nsFont
bindgen_test_layout_nsStyleBackground
bindgen_test_layout_nsStyleDisplay
bindgen_test_layout_nsStyleFont
bindgen_test_layout_nsStyleGridTemplate
bindgen_test_layout_nsStylePosition
bindgen_test_layout_nsStyleSVG
```

The dependencies are:

 * FontFamilyList makes nsFont fail which makes nsStyleFont fail.
 * nsStyleGridTemplate makes nsStylePosition fail
 * StyleAnimation makes nsStyleDisplay fail

nsStyleGridTemplate and nsStyleSVG failures seem to be bitfield-related.

Except the bitfield-related values and those deps, I don't know what
might cause the other failures, we'll have to check carefully C++
member alignments.
2016-03-25 18:49:23 +01:00
Emilio Cobos Álvarez
c220fcdb00 geckolib: Update bindings with enum name mangling 2016-03-25 18:49:10 +01:00
Emilio Cobos Álvarez
58591652f8 geckolib: Add 100% compilable bindings for the first time! \o/
This still fails some tests (20 of 130 IIRC).

Most of them are derived from others, and those who arent I think it's
because of:

 1. A vtable: Since we don't generate functions I think we don't do the
vtable calculation.

 2. Premature opaque structs: It's the case for nsDataHashtable, where
we generate a 0 byte struct, since we calculate it using sizeof() and
the type is not complete without the type parameters.

 3. Some other subtlety? I think we miss a case of enum-in-union or
something like that, that is explicitely disabled in bindgen since the C
standard forbids it. I think it can be enabled without too much problem.

Anyways, I'll leave it for tomorrow! \o/
2016-03-25 18:48:58 +01:00
Emilio Cobos Álvarez
ef59da51d5 geckolib: Get nsMargin and nsCoord working
I had to make them opaque types since there were so many template
parameters and inheritance when including gfx that... I got scared.
2016-03-25 18:48:43 +01:00
Emilio Cobos Álvarez
247ac2542a geckolib: Stop blacklisting empty types
My fork of bindgen supports them now and doesn't generate tests for
them now.
2016-03-25 18:48:23 +01:00
Emilio Cobos Álvarez
b433d80deb geckolib: Blacklist some more comparators in regen_style_structs.sh
We *do* generate bindings for them, and they compile fine, but the
expected size for them is not correct.

My guess is that C++ types without members have at least 1 byte to be
addressable.

I'll test that later, but for now we don't care about them...
2016-03-25 18:48:00 +01:00
Emilio Cobos Álvarez
88c42cb58f geckolib: tools: Checkout correct nsString bindings 2016-03-25 18:47:35 +01:00
Emilio Cobos Álvarez
3df2eaa410 geckolib: Allow generating correct bindings for nsString
Which is already a win!

I'll keep moving into other style structs later.
2016-03-25 18:47:13 +01:00
Emilio Cobos Álvarez
706285123c geckolib: tools: Switch to llvm+clang 38
It also has our patches, and we'll benefit from improvements.
2016-03-25 18:46:45 +01:00
Emilio Cobos Álvarez
13d7b33a04 geckolib: Define a few MOZ_* things to hack around more easily. 2016-03-25 18:43:42 +01:00
Emilio Cobos Álvarez
18b1cc68db geckolib: Quote paths and remove things after the first non-preceding whitespace
This should allow `regen_style_structs.sh` to run on mac, where a path
like:

/.../Frameworks (framework dir)

was reported.
2016-03-25 18:43:42 +01:00
Emilio Cobos Álvarez
a6ffabb2ad geckolib: Add basic documentation, be consistent and safe with quotes 2016-03-25 18:43:42 +01:00
Emilio Cobos Álvarez
38b30c6490 geckolib: Don't hardcode library paths
It feels like a hack but it's supposed to work in any clang...
2016-03-25 18:43:42 +01:00
Emilio Cobos Álvarez
0128e985f6 geckolib: export LD_LIBRARY_PATH for linux 2016-03-25 18:43:42 +01:00
bors-servo
a211bd1a12 Auto merge of #10193 - larsbergstrom:use_rustflags, r=Ms2ger
Use rustflags

r? @Ms2ger

<!-- 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/10193)
<!-- Reviewable:end -->
2016-03-25 22:42:17 +05:30
Lars Bergstrom
e83369dd25 Enable NEON feature to get hard floats on Android devices 2016-03-25 10:50:54 -05:00
Lars Bergstrom
0f1107baef Remove rustc wrapper script for gold in favor of using RUSTFLAGS 2016-03-25 10:50:21 -05:00
Lars Bergstrom
dbd25fc41a Update Cargo to pick up RUSTFLAGS support 2016-03-25 10:49:37 -05:00
Matt Brubeck
db2c1841cb Fix delete_char when selection range is empty
An empty selection range should be treated the same as no selection.
Fixes browserhtml/browserhtml#930.
2016-03-25 08:39:53 -07:00
bors-servo
59ba00ed84 Auto merge of #9353 - nox:domtokenlist-replace, r=asajeffrey
Implement and test DOMTokenList.replace (fixes #8511)

Thanks to @sankha93 for the original work in #8525.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9353)
<!-- Reviewable:end -->
2016-03-25 18:26:27 +05:30
Ms2ger
dbc65d1da7 Update xml5ever. 2016-03-25 09:58:58 +01:00
bors-servo
38e8c923b5 Auto merge of #10154 - stjepang:fix-local-urls-only-10147, r=KiChjang
Fix #10147: Correctly handle flag local_urls_only

In function Request::fetch_main, flag local_urls_only (if set)
should allow fetching local urls only. Before this change, the flag had
the inverse behaviour.

Fixes #10147.
Test with: `./mach test-unit -p net fetch::test_fetch_with_local_urls_only`

<!-- 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/10154)
<!-- Reviewable:end -->
2016-03-25 12:42:48 +05:30
bors-servo
9a8d62286c Auto merge of #9887 - schuster:HTMLHyperlinkElementUtils, r=jdm
Implement HTMLHyperlinkElementUtils for HTMLAnchorElement

Fixes #7857

Origin is omitted since it's still not available in rust-url, but since the previous PR also left it out, I'm assuming that's okay.

Please let me know if there are any style issues. There might be more concise ways to do the pattern matching that I don't know about, I guessed at the indentation style in one or two places.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9887)
<!-- Reviewable:end -->
2016-03-25 11:36:35 +05:30