Commit graph

16104 commits

Author SHA1 Message Date
Simon Sapin
54790d0ae5 Fix the rem unit.
(I think it’s never worked in over a year since it was implemented…)
2016-03-15 18:10:16 +01:00
bors-servo
4607ed2f95 Auto merge of #10008 - servo:wpt-20160315, r=Ms2ger
Update web-platform-tests to revision 66c4613f823c4384c78ada77346eda17bb128947

<!-- 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/10008)
<!-- Reviewable:end -->
2016-03-15 22:14:58 +05:30
Ms2ger
a91433f0c8 Update web-platform-tests to revision 66c4613f823c4384c78ada77346eda17bb128947 2016-03-15 16:34:24 +01:00
bors-servo
78b16bcc1d Auto merge of #9987 - larsbergstrom:codegen_units, r=metajack
Test using 4 parallel codegen units on release builds

Do not merge yet! Doing a test run first.

Note that `codegen-units` had very little effect on our dev builds (saved ~12 seconds http://logs.glob.uno/?c=mozilla%23servo&s=6+Aug+2015&e=6+Aug+2015#c252485).

@bors-servo try

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9987)
<!-- Reviewable:end -->
2016-03-15 20:50:44 +05:30
bors-servo
183772583f Auto merge of #9988 - Ms2ger:lazy-static-host-table, r=Manishearth
Use lazy_static for HOST_TABLE.

This might change behaviour if the file is changed between Servo startup and
the moment HOST_TABLE is first accessed. I don't think we care.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9988)
<!-- Reviewable:end -->
2016-03-15 16:33:03 +05:30
Ms2ger
ec1f720662 Use lazy_static for HOST_TABLE.
This might change behaviour if the file is changed between Servo startup and
the moment HOST_TABLE is first accessed. I don't think we care.
2016-03-15 12:02:45 +01:00
Petr Klíma
c0bc90d122 Handle exception with errormessage on topdir with Unicode characters.
https://github.com/servo/servo/issues/10002
2016-03-15 11:08:38 +01:00
bors-servo
075ce980a2 Auto merge of #9995 - malayaleecoder:master, r=Manishearth
test_ref() got an unexpected keyword argument 'kind'.Fixes #9986

Tries to fix #9986. Please have a look.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9995)
<!-- Reviewable:end -->
2016-03-15 11:54:58 +05:30
bors-servo
5b28a416eb Auto merge of #9810 - pcwalton:border-radius-clip-contents, r=mbrubeck
Make border radii clip their contents.

Needed for browser.html rounded corners.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9810)
<!-- Reviewable:end -->
2016-03-15 07:10:54 +05:30
Patrick Walton
28a71c4820 Make border radii clip their contents.
Needed for browser.html rounded corners.
2016-03-14 18:32:55 -07:00
bors-servo
aea8d8959d Auto merge of #9976 - bholley:remove_trait_lifetimes, r=SimonSapin
Remove lifetimes from Style/Layout traits

Right now, there's a huge amount of complexity in T{Node,Element,Document} and friends because of the lifetime parameter.

Before I started generalizing this code for use by Gecko, these wrappers were plain structs. They had (and still have) a phantom lifetime associated with them to prevent references to DOM nodes from leaking past the end of restyle, when they might be invalidated by a GC.

When I generalized them, I decided to put the lifetime on the trait as well, since there are some situations where the lifetime is, in fact, necessary. Specifically, they are necessary for the compiler to understand that all the things borrowed from all the nodes and elements and so on have the same lifetime (the lifetime of the restyle), rather than the lifetime of whichever particular element or node pointer the value was borrowed from. This come up in situations where we do |let el = node.as_element()| or |let n = el.as_node()| and then borrow something from the result. The compiler thinks the borrow lifetime is that of |el| or |n|, when it's actually longer.

In practice though, I think the style and layout algorithms we use don't run into this issue much, and we can hack around it where it comes up. So I think we should remove the lifetimes from the traits, which will let us aggregate the embedding-provided traits together onto a single meta-trait and significantly simplify the code.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9976)
<!-- Reviewable:end -->
2016-03-15 03:03:53 +05:30
Bobby Holley
539f839958 Remove lifetimes from LayoutNode and friends. 2016-03-14 14:31:57 -07:00
Bobby Holley
7c4dcaa677 Inline ObjectElement::get_type_and_data into the consumers.
The usage here doesn't quite work without the lifetimes.
2016-03-14 14:31:57 -07:00
Bobby Holley
b1878bd925 Remove lifetimes from T{Node,Element,Document}. 2016-03-14 14:31:57 -07:00
malayaleecoder
4b9ee25fdc test_ref() got an unexpected keyword argument 'kind'.Fixes #9986 2016-03-15 01:09:17 +05:30
bors-servo
881d6b4220 Auto merge of #9851 - pcwalton:overscroll, r=glennw
Implement support for overscrolling on the Mac.

Requires tomaka/glutin#734, servo/webrender_traits#14, and
servo/webrender#217.

r? whoever (waiting on the landing of the above)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9851)
<!-- Reviewable:end -->
2016-03-15 00:18:05 +05:30
Patrick Walton
8eb2cda438 Implement support for overscrolling on the Mac.
Requires tomaka/glutin#734, servo/webrender_traits#14, and
servo/webrender#217.
2016-03-14 11:38:10 -07:00
Lars Bergstrom
f9155ec25d Add release flags to cef, too 2016-03-14 12:05:39 -05:00
Lars Bergstrom
363ef4a6d7 Test using 4 parallel codegen units on release builds 2016-03-14 10:45:02 -05:00
bors-servo
6895dab07c Auto merge of #9737 - g-k:test-websocket-origin-in-worker, r=Ms2ger
test websocket origin set in worker

Fixes #9535

This crashes and I'm not sure how to debug it (and whether it's a problem with the browser or more likely a problem with the test):

```
./mach test-wpt /websockets/opening-handshake/003-sets-origin.worker --log-raw wpt.log                         Running 1 tests in web-platform-tests

  ▶ CRASH [expected OK] /websockets/opening-handshake/003-sets-origin.worker

Ran 1 tests finished in 2.0 seconds.
  • 0 ran as expected. 0 tests skipped.
  • 1 tests crashed unexpectedly
```

Also, should the test file be in `/websockets/` or `/websockets/opening-handshake/`?

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9737)
<!-- Reviewable:end -->
2016-03-14 18:56:38 +05:30
bors-servo
a862384841 Auto merge of #9735 - KiChjang:planned-navigation-tests, r=jdm
Add test for get action URL planned navigation

Mutate action URL doesn't need to be tested, since the existing urlencoded.html already tests it.

This new test currently fails, because of the weirdness in calling `testframe.contentWindow`. It returns null for this test, but not for urlencoded.html. Can't figure out why.

Fixes #9690

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9735)
<!-- Reviewable:end -->
2016-03-12 13:49:52 +05:30
Keith Yeung
084e86daf2 Add test for get action URL planned navigation 2016-03-11 20:33:07 -05:00
bors-servo
d330ecdafc Auto merge of #9964 - mbrubeck:incremental-damage, r=pcwalton
Compute damage even when incremental layout is disabled

This fixes traversals that use the damage flags to decide which nodes to process, such as `resolve_generated_content`, which was broken in non-incremental mode. r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9964)
<!-- Reviewable:end -->
2016-03-12 05:00:17 +05:30
bors-servo
71b1122e97 Auto merge of #9969 - mbrubeck:quotes-036, r=pcwalton
Don't re-resolve already-resolved generated content

This fixes #7846, a failure in the "quotes-036.htm" test. Servo lays out this test correctly in its initial layout, but then messes it up in any relayout (whether it's an incremental or full layout).

The problem is that the ResolveGeneratedContent traversal is not safe to run more than once on the same flow. It mutates some GeneratedContent fragments into ScannedText fragments, but leaves others unmodified (in particular, those that generate empty content). The next time layout runs, these remaining GeneratedContent fragments are processed *again* but with an incorrect correct quote nesting level (because some of the surrounding GeneratedContent fragments are gone).

This patch ensures that each GeneratedContent fragment is resolved only once.

r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9969)
<!-- Reviewable:end -->
2016-03-12 02:42:10 +05:30
bors-servo
00ab2e9f9e Auto merge of #9967 - saurvs:master, r=Ms2ger
Convert directly from DOMString to Vec<u8>

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9967)
<!-- Reviewable:end -->
2016-03-12 01:19:04 +05:30
bors-servo
7ff7932a8c Auto merge of #9824 - danlrobertson:element1, r=asajeffrey
Add the scrollWidth and scrollHeight extensions to the element interface

Add the `scrollWidth` and `scrollHeight` extensions to the element interface. My goal was to create a method that encompassed getting `scrollWidth`, `scrollHeight`, `scrollTop`, and `scrollLeft`.

I also noted that `clientHeight` and `clientWidth` to not handle the root element and the body element correctly.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9824)
<!-- Reviewable:end -->
2016-03-12 00:19:24 +05:30
Daniel Robertson
16d2778ece Add scrollWidth/Height to element interface
Add the scrollWidth and scrollHeight extensions to the element
interface.
2016-03-11 18:22:16 +00:00
Saurav Sachidanand
663e42bdbd Convert directly from DOMString to Vec<u8> 2016-03-11 23:38:16 +05:30
Matt Brubeck
ae5cfc31e3 Compute damage even when incremental layout is disabled
This fixes traversals that use the damage flags to decide which nodes to
process, such as `resolve_generated_content`, which was broken in
non-incremental mode.
2016-03-11 09:52:22 -08:00
bors-servo
059edc3287 Auto merge of #9961 - mbrubeck:split-line-work-list, r=pcwalton
Fix work list order after split_line_at_last_known_good_position

This fixes a bug in line splitting caused by the following actions when `LineBreaker::split_line_at_last_known_good_position` is called:

1. Push some number of previous fragments onto the front of the work list.
2. Push the current fragment back onto the front work list.

This resulted in the work list being out of order.  The correct order is action 2 followed by action 1.  Fixes #9830. r? @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9961)
<!-- Reviewable:end -->
2016-03-11 23:19:43 +05:30
Matt Brubeck
1e7d60e7b7 Fix work list order after split_line_at_last_known_good_position
This fixes a bug in line splitting caused by the following actions when
`LineBreaker::split_line_at_last_known_good_position` is called:

1. Push some number of previous fragments onto the front of the work list.
2. Push the current fragment back onto the front work list.

This resulted in the work list being out of order.  The correct order is
action 2 followed by action 1.  Fixes #9830.
2016-03-11 09:18:22 -08:00
Matt Brubeck
5104d8244f Don't re-resolve already-resolved generated content
This fixes #7846, a failure in the "quotes-036.htm" test. Servo lays out this
test correctly in its initial layout, but then messes it up in any relayout
(whether it's an incremental or full layout).

The problem is that the ResolveGeneratedContent traversal is not safe to run
more than once on the same flow. It mutates some GeneratedContent fragments
into ScannedText fragments, but leaves others unmodified (in particular,
those that generate empty content). The next time layout runs, these remaining
GeneratedContent fragments are processed *again* but with an incorrect correct
quote nesting level (because some of the surrounding GeneratedContent
fragments are gone).

This patch ensures that each GeneratedContent fragment is resolved only once.
2016-03-11 09:11:37 -08:00
bors-servo
53aca4b80e Auto merge of #9956 - servo:org-indent, r=Manishearth
Fix "profile_traits" section indentation in ORGANIZATION.md.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9956)
<!-- Reviewable:end -->
2016-03-11 13:09:21 +05:30
bors-servo
8eb4fb801b Auto merge of #9966 - mrobinson:tidy-pyc, r=jdm
Do not run WPT tidy on pyc files

Generalize the mechanism for skipping file patterns and use it for
generating the list of WPT files to lint. Add *.pyc to the list of
file patterns to skip.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9966)
<!-- Reviewable:end -->
2016-03-11 12:16:03 +05:30
bors-servo
40083a7aa8 Auto merge of #9962 - mrobinson:display-list-simplification, r=pcwalton
Simplify the display list slightly

Now that WebRender uses an Iframe display item, we do not need the Noop
item for the non-WebRender path. We can simply reuse the Iframe display
item. Also remove the layer_id member from the LayeredItem struct, as
it is unused.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9962)
<!-- Reviewable:end -->
2016-03-11 11:22:29 +05:30
bors-servo
f2f6787189 Auto merge of #9930 - rebstar6:htmlclick, r=jdm
Remove activatable element filter within HTMLElement#click()

Address https://github.com/servo/servo/issues/6542

Ensure that click() calls are not limited to activatable elements. Also makes the isTrusted attribute false when synthetic click activation are called from a click() method (as per spec).

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9930)
<!-- Reviewable:end -->
2016-03-11 10:06:24 +05:30
bors-servo
20992c9df9 Auto merge of #9951 - Ms2ger:fetch-unwrap, r=ecoal95
Use a match rather than unwrap() in main_fetch.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9951)
<!-- Reviewable:end -->
2016-03-11 08:27:19 +05:30
Martin Robinson
39ace782a9 Do not run WPT tidy on pyc files
Generalize the mechanism for skipping file patterns and use it for
generating the list of WPT files to lint. Add *.pyc to the list of
file patterns to skip.
2016-03-10 18:09:02 -08:00
bors-servo
eac68c523b Auto merge of #9905 - saurvs:master, r=ecoal95
Implement input.setSelectionRange

Fixes https://github.com/servo/servo/issues/9862.

Passes all tests for `input` in `tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html`.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9905)
<!-- Reviewable:end -->
2016-03-11 06:13:51 +05:30
bors-servo
f1bb0b0fa3 Auto merge of #9889 - MichaelRFairhurst:github-bug-9806-tidy-linting-string-contents, r=ecoal95
Handle escaped strings in rust linting, tidy.py

A little annoying to read since we have to escape for python (\\) and
then escape for re (\\\\) and then even at times escape for single
quotes immediately after, (\\\\\), but tidy.py now strips strings even
if they have escapes before linting.

Fixes #9806 -- basically the problem is that the PR which first revealed this had an escape in one of its strings which included an = sign. The escape meant the string wasn't escaped before it looked for spaces around spaces.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9889)
<!-- Reviewable:end -->
2016-03-11 05:07:43 +05:30
Martin Robinson
474033c39f Simplify the display list slightly
Now that WebRender uses an Iframe display item, we do not need the Noop
item for the non-WebRender path. We can simply reuse the Iframe display
item. Also remove the layer_id member from the LayeredItem struct, as
it is unused.
2016-03-10 14:33:22 -08:00
bors-servo
f3a871ec3d Auto merge of #9781 - jdm:refactor_gle, r=glennw
Allow user to choose between GL and ES2

Rebase of #8869. Requires https://github.com/servo/rust-layers/pull/232.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9781)
<!-- Reviewable:end -->
2016-03-11 02:53:59 +05:30
Mike Fairhurst
9b91c7afeb Handle escaped strings in rust linting, tidy.py
tidy.py now strips strings even if they have escapes before linting.

Use raw strings for regex with lots of backslashes

Handle ALL escape sequences in strings for tidy, not just escaped string terminators
2016-03-10 13:18:06 -08:00
bors-servo
740965e39f Auto merge of #9217 - KiChjang:dom-manipulation-msg, r=jdm
Redesign ScriptMsg to be more specific to DOMManipulationTaskSource

This is a large-ish PR that contains the following:
* A new directory is created under `components/script/` called `task_source`, which houses all the stuff for different task sources. Note that the ones that I have now aren't exhaustive - there are more task sources than just the generic ones.
* A `DOMManipulationTaskMsg` which eliminates some usage of `Runnable`s to fire events. Instead, they send event information to the `DOMManipulationTaskSource` and lets the `ScriptTask` handle all the event firing.
* Re-added `fn script_chan`, since I can't think of any other way to give `Trusted` values an appropriate sender.
* Rewrote step 7 of [the end](https://html.spec.whatwg.org/multipage/syntax.html#the-end) to make use of the `DOMManipulationTaskSource`

Partial #7959

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9217)
<!-- Reviewable:end -->
2016-03-11 01:38:27 +05:30
Rebecca
d6678a184b Call synthetic_click_activation for all clicks
Moved synthetic_click_actiavtion out of Activatable trait so it can be
called by all elements (not just activatable). Calls appropriately
from click. Also updates the isdisabled check in click to check for all
types of elements
2016-03-10 14:43:33 -05:00
Corey Farwell
a319bba416 Fix "profile_traits" section indentation in ORGANIZATION.md. 2016-03-10 11:22:11 -08:00
bors-servo
396812b6d9 Auto merge of #9926 - connorimes:update-em-interface-hbs-crates, r=asajeffrey
Update heartbeats and energymon profiler dependencies

Heartbeats now on crates.io.
Updates to energymon interface for energy profiling.
Profiling script for Android.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9926)
<!-- Reviewable:end -->
2016-03-10 23:09:23 +05:30
bors-servo
b2892e6321 Auto merge of #9948 - antrik:update-ipc_channel-3, r=metajack
Update ipc-channel for another fix in large transfers

This pulls in 78c1be46ccc199d00d96e5dc225e8b130c5a565a , which might
help with some intermittent failures.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9948)
<!-- Reviewable:end -->
2016-03-10 21:42:20 +05:30
Saurav Sachidanand
a3d77790a6 Implement input.setSelectionRange 2016-03-10 19:54:21 +05:30
Ms2ger
91d63d5fcf Use a match rather than unwrap() in main_fetch. 2016-03-10 14:07:41 +01:00