Commit Graph

101 Commits

Author SHA1 Message Date
Patrick Walton
9f1d8dd0dd servo: Merge #6028 - script: Reflow 200 milliseconds after the <body> is parsed, like Gecko does (from pcwalton:reflow-timer); r=jdm
It would be nice if HTML parsing didn't have to hog the event loop, so I didn't have to do this polling in `content_changed()`, but maybe the way we do it is unavoidable.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: e604b663f4e664b9a94d61569082b2b62de2151d
2015-05-26 13:18:26 -05:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
Glenn Watson
00df5fc0da servo: Merge #6152 - Fix document load event firing after pipeline is closed (from glennw:runnable-panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1060cfde68c8d355b54a271923c9682721c5ed19
2015-05-20 20:01:32 -05:00
Glenn Watson
17e3775b23 servo: Merge #6131 - Fix several hangs / panics during pipeline cleanup of in progress loads (from glennw:jquery-exit-fix); r=jdm
This fixes a hang found while testing the jQuery test suite.

Source-Repo: https://github.com/servo/servo
Source-Revision: c51e9f04559f04f1e820b792261e1653c6869ee5
2015-05-19 21:44:45 -05:00
James Graham
771e23db73 servo: Merge #6022 - Add enough execute_async_script support to webdriver that we can run web-platform-tests (from jgraham:webdriver_execute_async_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b05c3fc0c063e32168a9630dc2a0e8adc9285dae
2015-05-14 05:02:27 -05:00
Ms2ger
fd6b9e7d32 servo: Merge #6001 - Merge the JS context and runtime structs into Runtime (from Ms2ger:runtime); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d1a0aacc60a27a6a9d0709c505d9621a5ebc2f78
2015-05-10 15:14:37 -05:00
Patrick Walton
712167aac6 servo: Merge #5936 - layout: Don't rerun selector matching unless we need to when resizing the window (from pcwalton:fast-resize); r=jdm
2.1x improvement on resizing on Reddit.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: bfd16984623e55d835a0a9c08e985d96257c49c0
2015-05-07 18:13:29 -05:00
Guro Bokum
8800f4e7e5 servo: Merge #5753 - Start using on_refresh_driver_tick #5681 (from JIoJIaJIu:timeline); r=jdm
RequestAnimationFrame
[Task](https://github.com/servo/servo/issues/5681)

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e59e77c416dbe35e8c30ca1c21c9088ed17a079
2015-05-06 00:50:13 -05:00
Simon Sapin
25523c4789 servo: Merge #5951 - Clean up the Au API (from SimonSapin:au-cleanup); r=mbrubeck
Fix #5943.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1721cf45ed59306a69f3ade08feca065804c3804
2015-05-05 15:08:12 -05:00
Simon Sapin
b72bb5e7d5 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Anthony Ramine
17374ab21b servo: Merge #5871 - Cleanup JS traits and methods (from nox:rootable); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b8ae33e510ea30e3200834fc2f7fbc426b86701e
2015-04-28 04:23:05 -05:00
Anthony Ramine
4b09eab3c6 servo: Merge #5862 - Change MutNullableJS<T> to MutNullableHeap<JS<T>> (from nox:mutnullableheap); r=jdm
This is useful for union types, in cases where we need MutNullableHeap&lt;NodeOrString&gt;.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0ddd8149b04db6bceba0c0b8de852acc1086838
2015-04-27 03:50:08 -05:00
Ms2ger
c7955e722b servo: Merge #5847 - Avoid as_slice() / at_mut_slice() (from Ms2ger:slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 1389be37823fccf4108f4e79d0a3a793f0bbe93e
2015-04-26 05:30:28 -05:00
Mátyás Mustoha
69ad591e1a servo: Merge #5802 - Fix some irregular indentation (from mmatyas:indentfix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43d666f94b9b1b8313d430785946b8d3e020fecf
2015-04-22 19:49:30 -05:00
Glenn Watson
1511f427f8 servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Josh Matthews
3e5cee10f5 servo: Merge #5156 - Support opt-in async network events (from jdm:asyncnet); r=pcwalton,Manishearth
This implements a framework for opting in to receiving network events asynchronously. It also converts XMLHttpRequest to use them, and paves the way for better support for synchronous XHR using on-demand, targeted event loops instead of spinning the global event loop. This gives us complete feature parity with the existing XHR implementation, using fewer threads than before in the async case.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3151497d498b001b4a783dce0595615c6fc40936
2015-04-16 11:33:06 -05:00
Ms2ger
527ad1e2b3 servo: Merge #5680 - Update some URLs (from Ms2ger:urls); r=Manishearth
The HTML spec's division into pages is not stable, so it is safer to use the
URL without a specific page (which will redirect).

Source-Repo: https://github.com/servo/servo
Source-Revision: 894b19526f1903f398c7817567b7d1b1e34998ed
2015-04-14 03:52:08 -05:00
Corey Farwell
a0f726ff70 servo: Merge #5677 - Update WHATWG links to use HTTPS (from frewsxcv:https); r=Ms2ger
Extracted this out of #5649

This commit was created with the following commands:

```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 4997d3a112354a407365fede1ab1944834a2e13c
2015-04-14 02:57:41 -05:00
Adenilson Cavalcanti
ca82d9f697 servo: Merge #5673 - Squashing a few compiler warnings (from Adenilson:squashWarnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 92991f807021fa99b844f03a6458f97fe86bf5c6
2015-04-13 16:47:09 -05:00
Guro Bokum
b33284109c servo: Merge #5636 - Firefox timeline integration #4957 (from JIoJIaJIu:timeline); r=jdm
Available markers only:

Reflow
DOMEvent
Also need to implement:

Style marker
Paint marker
Javascript marker
frames reply, depends on getting javascript stack
I decided to make pull request before implemented another markers for getting feedback.
mb it would be better to create separated tasks.

Notices:
Marker doesn't fill stack and stackEnd
MemoryActor sends fake data because there is no memory profiler per tab
FramerateActor sends empty Vec, need implement http://mxr.mozilla.org/mozilla-central/source/dom/base/nsGlobalWindow.cpp#5240

Source-Repo: https://github.com/servo/servo
Source-Revision: 74c847a17fb560dd4cd62069778776f6f06df19f
2015-04-13 12:44:49 -05:00
Manish Goregaokar
2674bab6a8 servo: Merge #5465 - Split out shared networking code into net_traits crate (from gilles-leblanc:issue-4476-b); r=jdm
Fixes #4476

Source-Repo: https://github.com/servo/servo
Source-Revision: d707d1b78e3393a1ed164af8ec855bd0ff119e55
2015-04-03 13:00:46 -06:00
aditya
74d1cce38e servo: Merge #5491 - Fix issue 5466 (from ChimeraCoder:fix-issue-5466); r=Manishearth
@kenpratt and I moved the URL and IFrame fields from Reflow to LayoutTask, as described in #5466.

This is my first attempt at Rust, so let me know how this is!

Source-Repo: https://github.com/servo/servo
Source-Revision: e4da29b28b6efce3f84f00ef7d2d1716954c500d
2015-04-02 14:18:42 -06:00
Josh Matthews
d4392e69c6 servo: Merge #5459 - Make reflow queries always perform reflow. Fixes #5458 (from jdm:reflowquery); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 6bedf4a229f07a9cce589466cb398cd5afdd382d
2015-04-01 14:03:43 -06:00
Patrick Walton
b4a63e5dbd servo: Merge #5400 - layout: Implement CSS transitions per CSS-TRANSITIONS § 2 (from pcwalton:transitions-redux); r=glennw
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: ebdf1d494b6c986e6dfcb7d8fd3f0ffa126523ed
2015-03-31 10:39:56 -06:00
Corey Farwell
76d037253b servo: Merge #5447 - Remove some unnecessary uses of as_slice (from frewsxcv:as-slice); r=jdm
For the majority of these cases, `as_slice` can be removed due to
`Deref`. In particular, `Deref` for:

* `String` -> `str`
* `Atom` -> `str`

The latter of those two requires, a bump of the locked `string-cache`
library

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fd41847a39be387c03bd5d8b6f2aec2b1bb6f66
2015-03-29 14:52:02 -06:00
Ms2ger
b244a0a2c4 servo: Merge #5416 - Remove some int/uints (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 674e52afa1012cb342629dab4d3abae975a16fe9
2015-03-28 13:58:02 -06:00
Thiago Pontes
79eadfe612 servo: Merge #5181 - Notify devtools about new worker globals (from thiagopnts:master); r=jdm
This is for #4704. I'm not sure if this is the best approach, so I'm open to suggestions.

Source-Repo: https://github.com/servo/servo
Source-Revision: 439e3150d74453b86abbcc7934b7e5152f102940
2015-03-27 13:33:56 -06:00
Glenn Watson
262629a3e4 servo: Merge #5339 - Add mozbrowser events for location + title change (from glennw:moz-events); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 644dc405863cc5cdf7c562588cdd05c40d00ee35
2015-03-25 13:39:49 -06:00
Corey Farwell
e694380ecf servo: Merge #5351 - Add links for script::dom::window to whatwg HTML spec (from frewsxcv:window-docs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8b5df113f0202e889195e3772e13c037c4d33cc7
2015-03-24 23:54:48 -06:00
Corey Farwell
032b27e090 servo: Merge #5343 - Clean up a few things in script::dom::window (from frewsxcv:script-dom-window); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1432b630d2fb54be1bae512d3a37cc0aee714db4
2015-03-24 10:33:55 -06:00
Josh Matthews
8b2e844fa1 servo: Merge #5327 - Fix double-panic when the script task panics (from Ms2ger:memory-explosion); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ce7d8accfc52dd37b19b4400a643a980412bb2f
2015-03-23 13:39:53 -06:00
Glenn Watson
b3a06d687a servo: Merge #5281 - Experimental implementation of (a small subset of) mozbrowser APIs (from glennw:mozbrowser); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f682d878db99651bfd26b8a28b57895f2238f87
2015-03-22 21:36:51 -06:00
Manish Goregaokar
5e87044185 servo: Merge #5296 - Replace unsafe_blocks by unsafe_code (from servo:unsafe_code); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 29a36adbe7d87fb38ba9bef3a718c6c823fb5977
2015-03-21 05:12:45 -06:00
Ms2ger
bfd31316e6 servo: Merge #5288 - Fix various build warnings (from Ms2ger:warnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 0663cd632517c9a9c86db47456c5a4da637045ed
2015-03-20 11:00:54 -06:00
Ms2ger
f4ea3a3dd0 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Glenn Watson
3329cf6c60 servo: Merge #5205 - First (and biggest) part of refactoring constellation to support iframe navigation (from glennw:iframe-nav); r=jdm
The history is now recorded per frame, but needs to be exposed in a followup PR.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1092ca10192c79b4b96c25985a2c6245d369090b
2015-03-16 17:54:50 -06:00
Zack Slayton
0635a7d127 servo: Merge #5217 - localStorage shim, fixes #5195 (from zslayton:master); r=jdm
@jdm This initial version has a few outstanding issues that I wanted to invite input on. Specifically:

1. I had some difficulty finding a home for the `StorageType` enum. Structs defined outside of the `script` module don't seem to be able to use the `#[jstraceable]` annotation and the `net` module (where `StorageTask` lives) doesn't have access to `script`. Per Simon Sapin's suggestion, I worked around this temporarily by creating a `TraceableStorageType` stand-in struct that was traceable and which could be translated into a regular `StorageType` when being sent to the `StorageTask`. Unsure of the best way to resolve this hack. Thoughts?

2. Apart from the `Storage` constructor used in `Window::SessionStorage` and the new `Window::LocalStorage`, there's also a method called `Storage::Constructor`. I'm unclear on what (if anything) will actually invoke this, so I'm not sure which variant of `StorageType` to use here. I've temporarily created an `Unknown` variant of `StorageType` as a placeholder.

3. I discovered that the web platform tests directory's localStorage tests. Many of them now pass despite the configured expectation that they fail. However, several do not pass. Is there a good way for me to add debug logging or otherwise get a sense of which assertion failed / what went wrong?

Thanks for your continued help!

Source-Repo: https://github.com/servo/servo
Source-Revision: b8e87ea020879090c931421cf3cec73d8cd1156f
2015-03-16 14:48:51 -06:00
Glenn Watson
8deb8a8419 servo: Merge #5188 - Perform reflow if load events dirty any nodes (from glennw:reflow-events); r=jdm
This fixes some test failures that begin occurring when other events (such as resize) are fixed to only occur when needed.

Source-Repo: https://github.com/servo/servo
Source-Revision: 19827658deaf21eb811203f89c78a0f99e631ad4
2015-03-10 16:57:47 -06:00
Adenilson Cavalcanti
fa5089ff49 servo: Merge #5150 - Implements reflow events debugging (from Adenilson:reflowNotifications03); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f3feed2bea957de0910a136d33dff4fb3c07a22
2015-03-06 21:48:50 -07:00
Adenilson Cavalcanti
d3a7c40cba servo: Merge #5144 - Remove flush_layout() (from Adenilson:removeFlushLayout01); r=Manishearth
Due to changes on Page/Window interfaces, we no longer have use for flush_layout().

Source-Repo: https://github.com/servo/servo
Source-Revision: 34289943e354b2ac0e54fd1fe2d65c944f6c8e9d
2015-03-04 16:54:44 -07:00
Josh Matthews
e85140b16c servo: Merge #5118 - Async document loads (from jdm:pageload); r=Ms2ger
Rebased and improved version of #4967.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f8898990f06e7f505eeaf9cfa671740c60395d
2015-03-03 16:03:45 -07:00
Pawel Kondzior
231cf5701f servo: Merge #4960 - Add thaw/freeze messages that can suspend/resume webcontent timers #4907 (from pkondzior:add-script-timers-suspend-resume-functionality); r=jdm
Adds free/thaw methods to script_task that let you send suspend/resume messages to web content timers. Fixes #4907

Source-Repo: https://github.com/servo/servo
Source-Revision: a3ea3eed47713a4a6faa86c575bc2ac95c5fe135
2015-02-23 21:45:46 -07:00
Josh Matthews
2878c26ae3 servo: Merge #4996 - Eagerly report errors when evaluating JS on a global scope. Fixes #4966 (from jdm:reportpending); r=Ms2ger
I believe this problem was introduced with the mozjs error reporting changes, since we don't see errors reported from `<script>` blocks any more.

Source-Repo: https://github.com/servo/servo
Source-Revision: 99617557d40504060d5162739f8ba9b962843099
2015-02-23 20:30:48 -07:00
Prabhjyot Singh Sodhi
70996639f1 servo: Merge #4956 - Fixing Intermittent failure in pages with timers (from psdh:interfail); r=jdm
Fixes #4923

Source-Repo: https://github.com/servo/servo
Source-Revision: f1f826544919b4fa7cdf4bf263abf0c0c1497f70
2015-02-21 12:51:44 -07:00
Ms2ger
03f803ab84 servo: Merge #4947 - Use rustc-serialize rather than the built-in deprecated serialize (from Ms2ger:serialize); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: afb152a8569953f730df564be2745c5a6302bf6f
2015-02-17 07:30:50 -07:00
Ms2ger
11ab76f902 servo: Merge #4905 - Fix some warnings in script (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b655b54f8022d963460e510511ad774a1a1d9ccd
2015-02-12 12:12:47 -07:00
Keith Yeung
99580d2c49 servo: Merge #4866 - Updated trigger_fragment to take a string instead of URL and updated cal (from KiChjang:trigger-fragment-string); r=jdm
Fixes #4863

Source-Repo: https://github.com/servo/servo
Source-Revision: 29d24a5049cda10111bb36f3ca2d798e68137107
2015-02-12 10:18:45 -07:00
Simon Sapin
8fbd363d52 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9
2015-02-11 17:24:45 -07:00
Ms2ger
a674439440 servo: Merge #4889 - Use base64 from rustc-serialize (fixes #4747) (from Ms2ger:4747-base64); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 58b7186cea7a61645b38158053e3849d121fa487
2015-02-10 07:24:45 -07:00
Ms2ger
0a912ace80 servo: Merge #4887 - Import net as net rather than servo_net (from Ms2ger:servo_net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e3a4d493117ffd09ce75270b36012845ebb9c08c
2015-02-10 05:15:45 -07:00