Commit graph

16964 commits

Author SHA1 Message Date
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
bors-servo
805aa3a3ab Auto merge of #10123 - Ms2ger:use_nightly_rust, r=KiChjang
Remove unused use_nightly_rust function.

<!-- 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/10123)
<!-- Reviewable:end -->
2016-03-22 21:38:50 +05:30
Ms2ger
031a20df74 Remove unused use_nightly_rust function. 2016-03-22 17:06:57 +01: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
bors-servo
327f1c1eb8 Auto merge of #10120 - servo:objc, r=nox
Update objc crates.

<!-- 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/10120)
<!-- Reviewable:end -->
2016-03-22 18:10:59 +05:30
Ms2ger
5d2138e061 Update objc crates. 2016-03-22 13:38:59 +01:00
Sankha Narayan Guria
feddb52e59 Test that any call to classList.add() create the class attribute 2016-03-22 13:27:33 +01:00
bors-servo
4341dc5fb4 Auto merge of #10107 - perlun:fix-hacking-quickstart-typo, r=jdm
HACKING_QUICKSTART: Fixed typo

<!-- 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/10107)
<!-- Reviewable:end -->
2016-03-22 11:40:41 +05:30
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
Per Lundberg
f0cb7fd642 Fixed typo 2016-03-21 22:13:46 +02:00
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
Ms2ger
fb1b0d1a09 Remove Constellation::{canvas_paint_threads, webgl_paint_threads}. 2016-03-21 17:58:27 +01:00
Ms2ger
63a00f4dbf Stop sending the renderer id to script. 2016-03-21 17:55:08 +01:00
Ms2ger
7e2e54326f Remove renderer_id fields. 2016-03-21 17:49:47 +01:00
Ms2ger
3c04bca0f4 Remove get_renderer_id functions. 2016-03-21 17:45:42 +01:00
Ms2ger
036b789377 Remove HTMLCanvasData::renderer_id. 2016-03-21 17:41:46 +01:00
bors-servo
95de8b2b03 Auto merge of #10094 - KiChjang:remove-extra-iter, r=asajeffrey
Remove HTMLCollectionElementsRevIter

It's almost a duplicate of HTMLCollectionElementsIter, aside from that its node_iter is a PrecedingNodeIter. We can simply use dynamic dispatch for node_iter instead of making it a concrete type.

<!-- 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/10094)
<!-- Reviewable:end -->
2016-03-21 22:09:47 +05:30
Ms2ger
1c1e55792f Remove CanvasFragmentInfo::renderer_id. 2016-03-21 17:34:30 +01:00
Patrick Walton
7a131ba104 layout: Minor whitespace cleanup. 2016-03-21 08:39:47 -07:00
Patrick Walton
ed6ee29951 script: Don't paint layouts induced by hit test queries.
Reduces CPU usage when mousing over simple pages.

Part of #9999.
2016-03-21 08:39:46 -07:00
Patrick Walton
7cb9429a0f layout: Don't start the reflow pass unless some node needs to be
reflowed.

Reduces CPU usage when mousing over simple pages.

Part of #9999.
2016-03-21 08:39:45 -07:00
Patrick Walton
acfd8e448c layout: Don't rebuild display lists at all unless restyling tells us
some object needs to be repainted.

Reduces CPU usage when mousing over simple documents. (More complex
documents tend to trigger unnecessary reflow bugs and so still have high
CPU.)

Part of #9999.
2016-03-21 08:39:44 -07:00
Patrick Walton
5dca005920 layout: Repaint when z-index is modified. 2016-03-21 08:39:42 -07:00
Patrick Walton
21ea8eef19 layout: Make transform changes require incremental repaint.
The progress bar in browser.html was only accidentally working before,
so actually making use of `REPAINT` makes it stop working without this
change.
2016-03-21 08:38:00 -07:00
bors-servo
e95368df62 Auto merge of #10096 - GuillaumeGomez:fun_to_string, r=nox
Make all interface objects share the same funToString

Fixes #9280

<!-- 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/10096)
<!-- Reviewable:end -->
2016-03-21 16:50:44 +05:30
Paul Rouget
6577409b95 Add history information to mozbrowserlocationchange event 2016-03-21 19:19:48 +08:00
Guillaume Gomez
b6feab97e0 Make all interface objects share the same funToString 2016-03-21 11:57:48 +01:00
bors-servo
691367745a Auto merge of #10097 - aneeshusa:make-dynamic-symbol-checking-script-python3-compatible, r=Ms2ger
Add Python 3 compatibility to Android symbol checker

Make the script that checks for undefined Android symbols compatible
with both Python 2 and Python 3, to allow for future updates to the
default system Python on our build machines.

I'd like to land this before https://github.com/servo/saltfs/pull/249.

We currently use Ubuntu 14.04 (an LTS release); Ubuntu is aiming for Python 3 as the default Python in the next LTS release, 16.04, and I'd like to have any scripts be ready for the transition.

Do we have a Python 2/3 compatibility policy?

cc @cengizIO @larsbergstrom

<!-- 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/10097)
<!-- Reviewable:end -->
2016-03-21 13:50:00 +05:30
Aneesh Agrawal
b8eb19e566 Add Python 3 compatibility to Android symbol checker
Make the script that checks for undefined Android symbols compatible
with both Python 2 and Python 3, to allow for future updates to the
default system Python on our build machines.

I'd like to land this before https://github.com/servo/saltfs/pull/249.

We currently use Ubuntu 14.04 (an LTS release); Ubuntu is aiming for
Python 3 as the default Python in the next LTS release, 16.04, and
I'd like to have any scripts be ready for the transition.
2016-03-20 18:16:15 -04:00
bors-servo
aa35d7721b Auto merge of #10076 - servo:rustup, r=larsbergstrom,manishearth
Update to Rust 2016-03-18.

<!-- 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/10076)
<!-- Reviewable:end -->
2016-03-20 14:36:17 +05:30
Ms2ger
6f679c124c Update to Rust 2016-03-18. 2016-03-20 10:05:45 +01:00
bors-servo
090da52913 Auto merge of #9586 - notriddle:details_ui, r=SimonSapin
Details ui

Requires a patch to rust-selectors, and doesn't currently recalculate the styles correctly (which is needed to make actual toggling work correctly).

Still trying to figure out what it takes to get style recalc to do what this needs.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9586)
<!-- Reviewable:end -->
2016-03-20 13:27:59 +05:30
bors-servo
6dbffb621c Auto merge of #10087 - DDEFISHER:master, r=jdm
add a new command line flag --profile-dir [path]

add a new command line flag --profile-dir [path] that stores an optional directory path in the Opts struct in opts.rs, creating the directory if it does not exist.

For the Implement HTTP authorization UI and persistent sessions student project.

<!-- 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/10087)
<!-- Reviewable:end -->
2016-03-20 12:25:10 +05:30
bors-servo
bcf077c53d Auto merge of #10092 - antrik:update-ipc_channel-4, r=KiChjang
Update ipc-channel for another intermittent bug fix

This pulls in https://github.com/servo/ipc-channel/pull/52 , and
especially 8e2357604f7af8869b489b9682a2cf8b58177637, which fixes another
likely cause of intermittent failures on GNU/Linux.

<!-- 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/10092)
<!-- Reviewable:end -->
2016-03-20 10:24:40 +05:30
bors-servo
98a1b17cec Auto merge of #10090 - servo:tracking-nav-langs, r=ecoal95
Add link to tracking issue for NavigatorLanguage::Languages.

<!-- 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/10090)
<!-- Reviewable:end -->
2016-03-20 09:30:10 +05:30
bors-servo
8c92e3f32b Auto merge of #10075 - Ms2ger:deny-unsafe, r=jdm
Deny unsafe code in more crates.

<!-- 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/10075)
<!-- Reviewable:end -->
2016-03-20 08:00:53 +05:30
Daniel
ddc96dca82 add a new command line flag --profile-dir [path] 2016-03-19 21:20:30 -04:00