Commit graph

6931 commits

Author SHA1 Message Date
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
f2f05869d6 Auto merge of #10171 - frewsxcv:parse-length-style, r=mbrubeck
Move `util::str::parse_length` into 'style' component.

The function is only used in the 'style' component, so we'll move it
there alongside other relevant parse functions.

<!-- 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/10171)
<!-- Reviewable:end -->
2016-03-24 20:49:50 +05:30
Corey Farwell
5efbf0fa8f Move util::str::parse_length into 'style' component.
The function is only used in the 'style' component, so we'll move it
there alongside other relevant parse functions.
2016-03-24 10:45:33 -04:00
bors-servo
f56062b069 Auto merge of #10169 - jdm:formvalidation, r=jdm
Implement initial pieces of form validation.

Rebase of #10108.

<!-- 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/10169)
<!-- Reviewable:end -->
2016-03-24 19:13:02 +05:30
Sagar Muchhal
051ffba0e5 Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
bors-servo
a8264ecc1f Auto merge of #10168 - Ms2ger:gaol, r=nox
Update gaol.

<!-- 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/10168)
<!-- Reviewable:end -->
2016-03-24 18:22:23 +05:30
Ms2ger
69f0d85e39 Update gaol. 2016-03-24 12:32:10 +01:00
bors-servo
446783f7b6 Auto merge of #10167 - stjepang:fix-aboutblank-body, r=KiChjang
Fix fetching about:blank

When fetching about:blank, response body should be the empty byte
sequence.
Spec: https://fetch.spec.whatwg.org/#concept-basic-fetch

Before this change, response body would be set to `ResponseBody::Empty`,
and then fetching would result in an infinite loop at step 19 in fn
`main_fetch` (methods.rs).

r? @KiChjang

<!-- 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/10167)
<!-- Reviewable:end -->
2016-03-24 16:40:19 +05:30
bors-servo
5faab270c6 Auto merge of #10158 - nox:devtools, r=Ms2ger
Allow Firefox to be able to connect to devtools again

This doesn't fix the performance tab, but at least lets Firefox initialise the devtools window.

<!-- 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/10158)
<!-- Reviewable:end -->
2016-03-24 15:48:23 +05:30
Stjepan Glavina
bcd813d961 Fix fetching about:blank
When fetching about:blank, response body should be the empty byte
sequence.
Spec: https://fetch.spec.whatwg.org/#concept-basic-fetch

Before this change, response body would be set to `ResponseBody::Empty`,
and then fetching would result in an infinite loop at step 19 in fn
`main_fetch` (methods.rs).
2016-03-24 11:17:12 +01:00
Anthony Ramine
04e085a4e5 Add a dummy reconfigure reply in the thread actor 2016-03-24 10:28:28 +01:00
Anthony Ramine
dbfa4f06b7 Implement a basic thread actor
These should represent JavaScript contexts, but not defining them at all
prevent any remote debugging session to be started from Firefox. They shouldn't
be conflated with tab actors.
2016-03-24 10:28:27 +01:00
bors-servo
edcf24fd4d Auto merge of #10152 - jdm:9511-rebase, r=nox
Fix #9511. Export webidl enums using "pub use".

Change typedef codegen to export the underlying enum itself, rather
than an alias. Works around https://github.com/rust-lang/rust/issues/31355

Rebase of #9691.

<!-- 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/10152)
<!-- Reviewable:end -->
2016-03-24 10:40:44 +05:30
bors-servo
2887623c4a Auto merge of #10150 - emilio:canvas-cleanup, r=jdm
Canvas cleanup

This PR cleans up the layerization infrastructure for canvas, which was unused, and removes unused dependencies.

It also takes in account my recent username change to update angle's dependency (offscreen_gl_context requires extra work due to webrender depending on it).

r? @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/10150)
<!-- Reviewable:end -->
2016-03-24 08:44:40 +05:30
bors-servo
f1baba973f Auto merge of #10112 - ConnorGBrewster:jump-tag-fix, r=glennw
Fixed jump tag issue

Fixes the issue where once a jump tag is clicked, the viewport rects are not updated. #9671

<!-- 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/10112)
<!-- Reviewable:end -->
2016-03-24 06:28:58 +05:30
Anthony Ramine
b409926111 Properly return an empty list in devtools' listAddons 2016-03-24 00:15:27 +01:00
bors-servo
771623054f Auto merge of #10122 - Manishearth:nav-keys, r=asajeffrey
Support navigation keys

Rather useful.

If most people have these keys on their keyboard, I'd prefer to remove the backspace navigation handler. I've never used it on purpose, but it gets hit often by accident when an input widget isn't focused (either due to a misclick or debug build lag).

<!-- 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/10122)
<!-- Reviewable:end -->
2016-03-24 02:35:49 +05:30
bors-servo
23aa4fa1f1 Auto merge of #10135 - Ms2ger:traversal, r=KiChjang
Cleanup traversal.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/10135)
<!-- Reviewable:end -->
2016-03-24 00:46:31 +05:30
Emilio Cobos Álvarez
5a6eaf8621 canvas_traits: Remove unused layers dependency 2016-03-23 18:16:47 +01:00
Emilio Cobos Álvarez
5ed93a5c4a Change old references of ecoal95 2016-03-23 18:12:40 +01:00
Emilio Cobos Álvarez
8e61a8a974 script: Update angle url 2016-03-23 18:12:39 +01:00
Emilio Cobos Álvarez
50ba78c512 gfx: Drop "canvas_traits" dependency 2016-03-23 18:12:39 +01:00
Emilio Cobos Álvarez
35ce58ef98 layout: Drop "canvas" dependency 2016-03-23 18:12:38 +01:00
Emilio Cobos Álvarez
a02daf7144 canvas: Remove all the canvas layerization infrastructure
It was never complete, and with webrender as a backend the way we render
WebGL contexts has changed a bit.

This should remove quite a bit of overhead.
2016-03-23 18:12:37 +01:00
Ben
2477f6a363 Fix #9511. Export webidl enums using "pub use".
Change typedef codegen to export the underlying enum itself, rather
than an alias. Works around https://github.com/rust-lang/rust/issues/31355
2016-03-23 12:49:34 -04:00
bors-servo
feb4271f75 Auto merge of #10138 - paulrouget:browserhtmlVersionBump, r=KiChjang
browserhtml version bump

<!-- 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/10138)
<!-- Reviewable:end -->
2016-03-23 17:28:31 +05:30
Paul Rouget
e1d427ab7c browserhtml version bump 2016-03-23 18:43:55 +08:00
Ms2ger
dadba1fa22 Remove unused import. 2016-03-23 11:31:21 +01:00
Ms2ger
900583056b Remove outdated unsafe_code allowance. 2016-03-23 11:31:11 +01:00
bors-servo
f3abfeeadd Auto merge of #9979 - stspyder:master, r=jdm
Implementation of Blob Constructor with test changes

Apologize for the late PR. I see that #9977 already overlaps with some of the work. If that is accepted, then I'll change my PR to reflect just the WPT changes.

<!-- 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/9979)
<!-- Reviewable:end -->
2016-03-23 09:07:38 +05:30
bors-servo
187ca44233 Auto merge of #9947 - pcwalton:faster-display-list-transfer, r=glennw
Faster display list transfer

This series of commits improves performance of display list construction in browser.html by about 3x when using WebRender.

It requires https://github.com/servo/webrender_traits/pull/18 and https://github.com/servo/webrender/pull/231.

Anyone should feel free to review if they have time; I'll ask someone in particular once those two upstream commits land.

cc @paulrouget

<!-- 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/9947)
<!-- Reviewable:end -->
2016-03-23 08:06:31 +05:30
Patrick Walton
0006c1923a gfx: Allow images to be shipped to the WebRender thread without shipping
over the data as well.

WebRender doesn't need the data, as it acquires it separately.

About a 50%-100% improvement in display list building time on
browser.html.
2016-03-22 14:49:47 -07:00
bors-servo
50193e9119 Auto merge of #9518 - shinglyu:responseurl, r=jdm
Implemented XMLHttpRequest.responseURL

Resolves #8830

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9518)
<!-- Reviewable:end -->
2016-03-23 00:12:57 +05:30
Patrick Walton
9fcf9215d0 layout: Flatten display list transfer into a separately-transferred byte
array, and consolidate the multitude of display list messages into one.

Improves display list building performance by 50%-100% for small display
lists.
2016-03-22 10:51:25 -07:00
Manish Goregaokar
b25d9de03d Spec says 'ContextMenu', not 'Menu' 2016-03-22 21:09:43 +05:30
Manish Goregaokar
2f982e668c Update spec links for keyboardevent 2016-03-22 21:09:08 +05:30
Manish Goregaokar
f3162cd316 Add support for navigation keys 2016-03-22 21:03:56 +05:30
bors-servo
41060dbdd7 Auto merge of #10105 - mbrubeck:dirty-viewport-percentages, r=SimonSapin
Don't re-add stylesheets to recompute vw/vh lengths

This is a follow-up to #9876.  It avoids clearing and rebuilding SelectorMaps
when vh and vw units need to be recomputed. Instead it just dirties all nodes,
to force elements to be re-cascaded.

Filed #10104 for later follow-up work to dirty only affected nodes.

r? @SimonSapin

<!-- 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/10105)
<!-- Reviewable:end -->
2016-03-22 18:58:47 +05:30
Ms2ger
5d2138e061 Update objc crates. 2016-03-22 13:38:59 +01:00
Shing Lyu
f55b0765d1 Bug 8830 - Implemented XMLHttpRequest.responseURL 2016-03-22 13:56:31 +08:00
bors-servo
d1e27eb4f4 Auto merge of #10109 - mbrubeck:compute_damage_short_circuit, r=pcwalton
Fixes for compute_damage

A few changes:

* Make `compute_damage` short-circuit more, by skipping comparisons if they will only set flags that are already set.

* Update some obsolete comments.

* Add a bunch of missing properties to `compute_damage`.

* Set `RECONSTRUCT_FLOW` when `text-decoration` changes, because it can affect text fragment splitting/merging.

I believe this is all of the computed properties except for the animation properties. (I wasn't sure what to do with those.)  After this lands I'd like to work on moving this information into `properties.mako.rs` so that this function can be auto-generated, and so that newly-added properties can default to setting all flags instead of none.

<!-- 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/10109)
<!-- Reviewable:end -->
2016-03-22 10:29:48 +05:30
bors-servo
767b11cd67 Auto merge of #10106 - Ms2ger:renderer-id, r=ecoal95
Remove renderer ids.

<!-- 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/10106)
<!-- Reviewable:end -->
2016-03-22 08:50:28 +05:30
Connor Brewster
20a8946c6b Fixed jump tag issue 2016-03-21 20:44:56 -06:00
bors-servo
db63aa423f Auto merge of #10100 - paulrouget:historyOnLocationChange, r=paulrouget
Add history information to mozbrowserlocationchange event

This is a change in the Browser API itself.

Before, on `mozbrowserlocationchange`, we would call `getCanGoBack()` and `getCanGoForward()`. Two asynchronous methods called on an event, which doesn't make much sense, especially because we already know on `mozbrowserlocationchange` if we can go back/forward. So here I'm adding 2 new properties to the event to tell if the iframe can go back/forward.

The way `event.detail` is defined also changed. Before, `event.detail` was a string (the new uri), now it's an object (`{uri:String,canGoBack:bool,canGoForward:bool}`).

This is one of the design flaw of the early Browser API: not using objects for the detail property, making it hard to extend the event payload.

So that makes this event not backward compatible. We can:
1. just don't care. It's up to the client to test if event.detail is a string or not if it needs to be compatible with Gecko
2. fix it in Gecko. The client will still have to test `event.detail` to make it compatible with older version of gecko
3. rename `mozbrowserlocationchange` to something else (`mozbrowserlocationchange2` ?)

Please advise.

<!-- 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/10100)
<!-- Reviewable:end -->
2016-03-22 07:51:19 +05:30
bors-servo
9a8ba23a76 Auto merge of #10088 - pkondzior:7038-report-memory-usage-in-layout-thread-data-stylist, r=ecoal95
Report memory usage from LayoutThreadData Stylist [#7038]

@jdm PTAL I'm not sure what is the approach of updating cargo components here, I've made a pull request https://github.com/servo/heapsize/pull/54 but it has to be landed first before merge and version bump.

<!-- 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/10088)
<!-- Reviewable:end -->
2016-03-22 06:54:11 +05:30
Matt Brubeck
f7d490a7e7 Add missing properties to compute_damage 2016-03-21 16:28:07 -07:00
Matt Brubeck
c2c3b30f87 Short-circuit more of compute_damage 2016-03-21 16:28:07 -07:00
bors-servo
9813d11f86 Auto merge of #10021 - pcwalton:skip-layout-traversals, r=mbrubeck
layout: Skip layout traversals that obviously won't do anything.

This reduces CPU usage when mousing over simple pages (example.com). More complex pages (Wikipedia) still reflow a lot due to other bugs.

Additionally, this change causes Servo to stop painting the results of hit test queries. This is also a win for CPU usage.

This significantly improves #9999, though there's more that can be done. I'll leave it open in case @paulrouget thinks this PR isn't enough.

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/10021)
<!-- Reviewable:end -->
2016-03-22 03:37:49 +05:30
Ms2ger
22447055b9 Stop returning in-process senders from {CanvasPaintThread, WebGLPaintThread}::start. 2016-03-21 18:26:46 +01:00
Matt Brubeck
37636e8377 Don't re-add stylesheets to recompute vw/vh lengths
This is a follow-up to #9876.  It avoids clearing and rebuilding SelectorMaps
when vh and vw units need to be recomputed. Instead it just dirties all nodes,
to force elements to be re-cascaded.

Filed #10104 for later follow-up work to dirty only affected nodes.
2016-03-21 10:05:17 -07:00