Commit Graph

5875 Commits

Author SHA1 Message Date
Stjepan Glavina
50512a2a04 servo: Merge #10167 - Fix fetching about:blank (from stjepang:fix-aboutblank-body); r=KiChjang
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 446783f7b6f0b55164b3b3c3e8be90c2b392cf97
2016-03-24 16:11:19 +05:01
Anthony Ramine
197775e7f4 servo: Merge #10158 - Allow Firefox to be able to connect to devtools again (from nox:devtools); r=Ms2ger
This doesn't fix the performance tab, but at least lets Firefox initialise the devtools window.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5faab270c6babaaa5ee6b75fecf537e7a648d752
2016-03-24 15:19:23 +05:01
Ben
0218098aa7 servo: Merge #10152 - Fix #9511. Export webidl enums using "pub use" (from jdm:9511-rebase); r=nox
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: edcf24fd4d39e86548717ecdfe36e2f1df30daac
2016-03-24 10:11:44 +05:01
Emilio Cobos Álvarez
98d36374a9 servo: Merge #10150 - Canvas cleanup (from emilio:canvas-cleanup); r=jdm
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2887623c4ae1960dfef52b14cd4afc3b279f9feb
2016-03-24 08:15:40 +05:01
Connor Brewster
a69ac9833f servo: Merge #10112 - Fixed jump tag issue (from cbrewster:jump-tag-fix); r=glennw
Fixes the issue where once a jump tag is clicked, the viewport rects are not updated. #9671

Source-Repo: https://github.com/servo/servo
Source-Revision: f1baba973f9bc788a65d77b59528b3719c198315
2016-03-24 05:59:58 +05:01
malayaleecoder
fa447780ce servo: Merge #10148 - Remove test-ref command from testing_commands.py. Fixes #10125 (from malayaleecoder:master); r=Manishearth
Tries to fix #10125

Source-Repo: https://github.com/servo/servo
Source-Revision: 5886493fb056daa326bf7ea88fc32cc4225cbc7a
2016-03-24 03:41:20 +05:01
Manish Goregaokar
49dd259bff servo: Merge #10122 - Support navigation keys (from Manishearth:nav-keys); r=asajeffrey
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).

Source-Repo: https://github.com/servo/servo
Source-Revision: 771623054f467008ce6cb9bd2396517ca8e0a126
2016-03-24 02:06:49 +05:01
Ms2ger
bd885345f9 servo: Merge #10135 - Cleanup traversal.rs (from Ms2ger:traversal); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 23aa4fa1f1577f33dd6a7310106350ef6dcacf38
2016-03-24 00:17:31 +05:01
Corey Farwell
acf0139ccb servo: Merge #10131 - Move appveyor env var setting our of install steps (from servo:appveyor-env); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: b59bd294e177d84a2f54cec987f76a5fb97365f1
2016-03-23 19:08:59 +05:01
Paul Rouget
f2e4567be6 servo: Merge #10138 - browserhtml version bump (from paulrouget:browserhtmlVersionBump); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: feb4271f759bebe03543ca3cd5b1b19d8af04a88
2016-03-23 16:59:31 +05:01
St.Spyder
9ca7983c7b servo: Merge #9979 - Implementation of Blob Constructor with test changes (from stspyder:master); r=jdm
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3abfeeadd5c5b00b17e48c186e957ba10b6e33b
2016-03-23 08:38:38 +05:01
Patrick Walton
9a7523f50e servo: Merge #9947 - Faster display list transfer (from pcwalton:faster-display-list-transfer); r=glennw
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 187ca442337313a76ce115ac92a2da44d91d5b96
2016-03-23 07:37:31 +05:01
edunham
38a52325ef servo: Merge #10127 - Read rustc-with-gold setting from env var when no .servobuild (from edunham:gold-env-var); r=larsbergstrom
The build system needs to disable gold on arm64 slaves. Other configuration is
done through environment variables, and buildbot hosts currently don't use a
.servobuild file at all.

This change adds the `get_env_bool` function to cast an environment variable's
string contents into a Python boolean, and uses it to retrieve the optional
`SERVO_RUSTC_WITH_GOLD` setting.

I figured it's worth throwing the helper function in now in case we later want to read booleans from other env vars, but there's currently no need to make up a name for and read from an env var for every single setting.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 003fdd41769652188a5954e6499f3cb44eef6b10
2016-03-23 01:23:21 +05:01
Shing Lyu
4c4f671610 servo: Merge #9518 - Implemented XMLHttpRequest.responseURL (from shinglyu:responseurl); r=jdm
Resolves #8830

Source-Repo: https://github.com/servo/servo
Source-Revision: 50193e9119c567c2c511a53749ff188b9c7ec49e
2016-03-22 23:43:57 +05:01
Ms2ger
4f3f5ce0e7 servo: Merge #10123 - Remove unused use_nightly_rust function (from Ms2ger:use_nightly_rust); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 805aa3a3ab6506cd7178cebf7886c306802137a5
2016-03-22 21:09:50 +05:01
Matt Brubeck
3f3bea580c servo: Merge #10105 - Don't re-add stylesheets to recompute vw/vh lengths (from mbrubeck:dirty-viewport-percentages); r=SimonSapin
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 41060dbdd77b2bcd02d03c7fe00663f612bac2e4
2016-03-22 18:29:47 +05:01
Ms2ger
35600ee847 servo: Merge #10120 - Update objc crates (from servo:objc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 327f1c1eb8a31f1e595d1996b1a8153701ebfa2f
2016-03-22 17:41:59 +05:01
Per Lundberg
86db39df9b servo: Merge #10107 - HACKING_QUICKSTART: Fixed typo (from perlun:fix-hacking-quickstart-typo); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4341dc5fb45a3e4d5397ca64e7aabe85f8ac23ab
2016-03-22 11:11:41 +05:01
Matt Brubeck
6a1b56e78e servo: Merge #10109 - Fixes for compute_damage (from mbrubeck:compute_damage_short_circuit); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1e27eb4f4090ff891afdeb62ae29e4f2dde27e0
2016-03-22 10:00:48 +05:01
Ms2ger
6bc75cd680 servo: Merge #10106 - Remove renderer ids (from Ms2ger:renderer-id); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 767b11cd676327cfb71f21d2cbcee8c16a74e2b3
2016-03-22 08:21:28 +05:01
Paul Rouget
b19e374949 servo: Merge #10100 - Add history information to mozbrowserlocationchange event (from paulrouget:historyOnLocationChange); r=paulrouget
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: db63aa423fcfc87e47d9250680737ef11d2c3d26
2016-03-22 07:22:19 +05:01
Pawel Kondzior
013faaefab servo: Merge #10088 - Report memory usage from LayoutThreadData Stylist [#7038] (from pkondzior:7038-report-memory-usage-in-layout-thread-data-stylist); r=ecoal95
@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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a8ba23a763b2a8d272c4335974d5a68623c054c
2016-03-22 06:25:11 +05:01
Patrick Walton
69f0412dd7 servo: Merge #10021 - layout: Skip layout traversals that obviously won't do anything (from pcwalton:skip-layout-traversals); r=mbrubeck
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 9813d11f862a61a7cffb4cf2d7de0fa7d269c62a
2016-03-22 03:08:49 +05:01
Keith Yeung
d1ef5c5d5d servo: Merge #10094 - Remove HTMLCollectionElementsRevIter (from KiChjang:remove-extra-iter); r=asajeffrey
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 95de8b2b03c521011f3e3b9c4b7db89f108a16db
2016-03-21 21:40:47 +05:01
Guillaume Gomez
d5f008cc87 servo: Merge #10096 - Make all interface objects share the same funToString (from GuillaumeGomez:fun_to_string); r=nox
Fixes #9280

Source-Repo: https://github.com/servo/servo
Source-Revision: e95368df6297e664122da8ae15f25724be557353
2016-03-21 16:21:44 +05:01
Aneesh Agrawal
5e8b17341f servo: Merge #10097 - Add Python 3 compatibility to Android symbol checker (from aneeshusa:make-dynamic-symbol-checking-script-python3-compatible); r=Ms2ger
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 691367745ad27ef79d67e4dc9be679eb969fdd96
2016-03-21 13:21:00 +05:01
Ms2ger
41fe5c1c3e servo: Merge #10076 - Update to Rust 2016-03-18 (from servo:rustup); r=larsbergstrom,manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: aa35d7721b0e1e7893e48af1eb91bf8ad2495d46
2016-03-20 14:07:17 +05:01
Michael Howell
802d6fe7b4 servo: Merge #9586 - Details ui (from notriddle:details_ui); r=SimonSapin
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 090da52913a47e027a96d4f6a39c56e55b9db811
2016-03-20 12:58:59 +05:01
Daniel
9841ed8317 servo: Merge #10087 - add a new command line flag --profile-dir [path] (from DDEFISHER:master); r=jdm
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6dbffb621ca86bd21e83735ebd2eaafa97d1059b
2016-03-20 11:56:10 +05:01
Olaf Buddenhagen
bce37a20df servo: Merge #10092 - Update ipc-channel for another intermittent bug fix (from antrik:update-ipc_channel-4); r=KiChjang
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: bcf077c53dcb836692fe52b7edb9bb14a80ff63b
2016-03-20 09:55:40 +05:01
Corey Farwell
6431cc60b3 servo: Merge #10090 - Add link to tracking issue for NavigatorLanguage::Languages (from servo:tracking-nav-langs); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 98a1b17ceca5214d0fad02e906e86e0724aa8af4
2016-03-20 09:01:10 +05:01
Ms2ger
1ab0b58897 servo: Merge #10075 - Deny unsafe code in more crates (from Ms2ger:deny-unsafe); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c92e3f32b9aa6a75dc8980da49359ea63f9d67a
2016-03-20 07:31:53 +05:01
Ms2ger
fb70f27034 servo: Merge #10079 - Implement encoding determination for external scripts (from servo:script-encoding); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e95f54501efd74007bb19009b6d2b7522872d57
2016-03-20 05:59:25 +05:01
Matt Brubeck
96cfbd09cb servo: Merge #9876 - Recompute styles on viewport size change if they contain viewport percentages (from mbrubeck:seen-viewport-percentages); r=SimonSapin
Fixes #8754.  Depends on servo/rust-cssparser#99.  r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: a4251c832d605a02d6c82fc188d1746367599e59
2016-03-20 01:51:54 +05:01
Patrick Walton
10e665f8d9 servo: Merge #10064 - layout: Move overflow calculation to be a separate, sequential, bottom-up pass (from pcwalton:overflow-bottom-up); r=mbrubeck
Right now, the only reason that overflow calculation works is that we
rely on script inducing extra reflows that are sent for display. This
was preventing #10021 from landing.

This change regresses layout performance by about 1% in my tests.

Fixes #7797 properly.

r? @mbrubeck
cc @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 8120fb5c2d170d5d9838696a7a5b871a43f57bb2
2016-03-20 00:24:27 +05:01
Alexander Popiak
9d55144633 servo: Merge #10066 - implement and use From<bool> for enum and back (from apopiak:fromBool); r=asajeffrey
as discussed in the #servo channel on IRC:

implement and use  `From<bool>` for `EventBubbles` (and back direction)
implement and use `From<bool>` for `EventCancelable` (and back direction)

Source-Repo: https://github.com/servo/servo
Source-Revision: 4df7975ed3e74f1d6c491b0435bb3e751b5386a8
2016-03-19 22:29:21 +05:01
Cengiz Can
2fb0f49f37 servo: Merge #9981 - Add a script to CI to check dynamic symbols in Android binary #8351 (from cengizIO:master); r=larsbergstrom
Tries to fix #8351.

This is meaningful only with the PR to servo/saltfs

Cross PR: https://github.com/servo/saltfs/pull/249

Source-Repo: https://github.com/servo/servo
Source-Revision: 1db70db28444708df05dda1b3b38c75aa4f36505
2016-03-19 20:56:10 +05:01
Simon Sapin
ba84578f65 servo: Merge #9929 - Refactor the cascade (from servo:cascade); r=pcwalton
Converting the specified value of some properties into a computed value depends on the value of other properties. For example, the `em` unit of any length depends on the `font-size` property.

Previously, we would do a first pass over applicable declarations to build up a `values::computed::Context` struct with a number of fields for each such piece of data from other properties.

This simplies the struct by instead having it contain the set of computed values (for a given element) that is being populated and classify properties into "early" and "other", such that the only dependencies can be from "other" to "early". We iterate applicable_declarations twice, first cascading "early" properties then "other". Unfortunately, it’s not easy to check that this classification is correct.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d6283c64be8c052e6b0a06e857950d7f25db353
2016-03-19 07:39:56 +05:01
Corey Farwell
bd8adcc5f2 servo: Merge #9788 - Use external 'threadpool' crate, remove in-tree utility (from servo:threadpool); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e0c73c8f3b1941b01c705066815303d59221ffd
2016-03-19 06:17:56 +05:01
Ms2ger
156edc0b82 servo: Merge #10070 - Disallow unsafe code in net and net_traits (from Ms2ger:unsafe-net); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: e551ea73226404152e02c3445f4f91e639bf66ce
2016-03-18 16:40:24 +05:01
Rahul Sharma
7322ebf28d servo: Merge #10009 - implements NavigatorLanguage (from creativcoder:impl-navigator-language); r=Ms2ger
Fixes #9992

Source-Repo: https://github.com/servo/servo
Source-Revision: 20eb81c00ab62b582372c1dbdffc2b21e01d5d2d
2016-03-18 15:00:46 +05:01
David Bonet
e6f7b187b0 servo: Merge #10061 - Remove overflow references on AssignBSizesAndStoreOverflow code (from DavidBM:clean_code_removing_overflow_in_assign_bsizes); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: ce2da28a00036e614cee211f4b279dc8e7eac9c1
2016-03-18 01:45:22 +05:01
Saurav Sachidanand
46cc39bc0c servo: Merge #10014 - Update WebSocket blocked ports to match the Fetch spec (from saurvs:pr1); r=KiChjang
Adresses #9949.

This adds a function that tests whether a request should be blocked or not based on it's url's scheme and port. It also adds testing for port restriction to the `main_fetch` method. More info in eb07418c83.

@Ms2ger In https://github.com/whatwg/html/issues/841, @annevk proposes to remove port restrictions from websockets. Should we go ahead do that, given that the spec hasn't been changed yet?

Source-Repo: https://github.com/servo/servo
Source-Revision: 0008c07dc343d911be042516b32c994fc18e3900
2016-03-18 00:02:24 +05:01
Anthony Ramine
ace9b5c608 servo: Merge #10055 - Bump serde to 0.7 (from servo:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a9dc577617b442ff0fe07eaa683207234c519ee
2016-03-17 17:58:36 +05:01
Patrick Walton
f991fc581b servo: Merge #10039 - servo: Update WebRender to pick up the blend mode fix (from pcwalton:update-webrender-again); r=glennw
Closes #9877.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: e273517fe06720afe0ef74815cce5e007df7dc3d
2016-03-17 04:44:58 +05:01
Patrick Walton
a27184603c servo: Merge #10037 - servo: Update Glutin (from pcwalton:update-glutin); r=mbrubeck
Closes #9855.
Closes #9878.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: b7304f11529f92b4b08b5bac59a16c331c6ee774
2016-03-17 02:26:41 +05:01
Saurav Sachidanand
940f52525c servo: Merge #10035 - Resets selection in textinput when its content is changed (from saurvs:master); r=jdm
Fixes https://github.com/servo/servo/issues/10005.

Source-Repo: https://github.com/servo/servo
Source-Revision: 909ff4446a8197490af7f2af213dfa2ac35ae0a6
2016-03-17 01:03:58 +05:01
Petr Klíma
907e9fec6f servo: Merge #10003 - Patch handles exception with errormessage on topdir with Unicode characters (from qaxi:master); r=metajack
https://github.com/servo/servo/issues/10002
./mach does not support paths with Unicode characters for now

it fail on original line 154 with exception UnicodeDecodeError
This patch handles the exception

Source-Repo: https://github.com/servo/servo
Source-Revision: 42c7472f336e687200507dafdf1087d8f0ea4d55
2016-03-17 00:16:22 +05:01
Patrick Walton
e84cd4ad5f servo: Merge #10026 - compositing: In borderless mode, don't show the window until the page has loaded (from pcwalton:no-browserhtml-flash); r=metajack
This avoids a flash of unstyled content, which looks especially bad in
browser.html since unstyled content is white and browser.html has a
transparent background.

Closes #9996.

r? @metajack
cc @jdm since you had some concerns

Source-Repo: https://github.com/servo/servo
Source-Revision: 84d3ba075977c55d226bd6b70d695a292b2329c9
2016-03-16 23:17:59 +05:01
Attila Dusnoki
a8c186678e servo: Merge #9838 - WebBluetooth API classes (from szeged:webbluetooth); r=jdm
Basic implementation of WebBluetooth API
API spec.: https://webbluetoothcg.github.io/web-bluetooth/

Source-Repo: https://github.com/servo/servo
Source-Revision: 37574065e0a1a22493bdbf1ce8dd0480aa88c758
2016-03-16 20:32:18 +05:01