Commit Graph

200 Commits

Author SHA1 Message Date
Johannes Linke
bb6c128359 servo: Merge #9123 - Fix a bunch of clippy lints (from karyon:clippy_cleanup); r=Manishearth
This fixes about 130 clippy lints. Let me know if i should split up the commit.

I wasn't sure about some of the changes, especially map_or instead of map(...).unwrap_or(...) and if let instead of single arm match were not always a strict improvement in my opinion, but i'll leave that decision to the reviewer :)

There are about 150 lints left which i thought were clippy bugs or i didn't know how to fix.

cc @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da739acefc7d1776bf727c8bf782eb79f241028
2016-01-03 08:46:34 +05:00
Keith Yeung
ba4cb6ecc9 servo: Merge #8871 - Add 5 different task source channels (from KiChjang:task-source-channels); r=KiChjang
This is **not** complete. I really need feedback right away since I felt that the direction I'm heading is very wrong.

Partial #7959.

Source-Repo: https://github.com/servo/servo
Source-Revision: b8e7cd71d6aada507a7eab1ddad44181b0d2d029
2016-01-01 14:01:51 +05:00
Brandon Fairchild
d3a5501336 servo: Merge #8938 - Move LayerKind and ScrollPolicy enums to gfx_traits (from nerith:gfx); r=Ms2ger
Fixes #8836.

Source-Repo: https://github.com/servo/servo
Source-Revision: 68c4f290c7c9ad7ea45fcea66e3c6b172e42be62
2015-12-23 18:08:51 +05:00
Simon Martin
ad7cf2f6d6 servo: Merge #8863 - Issue #8352: Dispatch mozbrowsershowmodalprompt event for alert() (from simartin:issue_8352); r=jdm
Fixes https://github.com/servo/servo/issues/8352

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a4d82c314754d377edb0ef6b87873076bf3c057
2015-12-21 01:58:32 +05:00
Beomjin Kim
c4724a8605 servo: Merge #9027 - Moved ScriptToCompositorMsg enum and EventResult enum to script_traits (from vwvww:cmrf2); r=jdm
Moved ScriptToCompositorMsg enum and EventResult enum to script_traits
resolving issue #8835.

(Need to be checked)
Variants in ScriptToCompositorMsg enum and EventResult enum had no doc
comment. I found some with grep command and copied it, and others I
wrote some doc comments manually to pass the build system. It needs to
be checked whether the doc comment is proper or not.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62b11a28fa41d6665408844eb7b09d3479c4ea20
2015-12-21 00:00:03 +05:00
Glenn Watson
293972dde5 servo: Merge #8612 - Add test to constellation to avoid writing reftest image if there are pending frames (from glennw:pending-frames); r=jdm
This changes several tests that contain <iframe></iframe> from FAIL to TIMEOUT. This is correct
since there is a bug that prevents these iframes from ever rendering.

~~~There are also a few previous FAILs that changed to OK. These may be intermittents or they
may genuinely be fixed by this change.~~~

Source-Repo: https://github.com/servo/servo
Source-Revision: c6ae32abdde715dbdc3097a40ab7abdbc98cf4b0
2015-12-17 15:49:16 +05:00
GauriGNaik
f9f1c0b345 servo: Merge #8971 - Add pipeline information to CSS error reporting (from jdm:expose-css-errors-1); r=jdm
Rebase of #8838.

Source-Repo: https://github.com/servo/servo
Source-Revision: d11f96e27074b0130760a02d39d2da4e003c820e
2015-12-14 21:21:41 +05:00
Ms2ger
bdffd9acf8 servo: Merge #8942 - Rename the browsercontext module (from Ms2ger:rename-bc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f4783a0ec30c74f93c161372de806309900172ca
2015-12-12 13:48:25 +05:00
Tomas Cernaj
14ace799a9 servo: Merge #8909 - Move ScriptMsg to script_traits crate, Fixes #8833 (from cnaj:msg_refactoring); r=jdm
Review of documentation that was missing needed.

Fixes #8833.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7438bc0425749989b8aab084a34ff3fff2ea6679
2015-12-10 10:54:44 +05:00
Florian Strübe
f926dd03a0 servo: Merge #8862 - Moved WorkerId type to devtools_traits (from fstr:move_workerid); r=Ms2ger
Fixes #8846.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02f4be9c9f82a6e03942977eece39d98dcaff839
2015-12-08 00:23:40 +05:00
Keith Yeung
eca7ceda64 servo: Merge #8853 - Split fn script_chan into 5 different task channel fn (from KiChjang:generic-task-sources); r=jdm
Partial #7959.

Source-Repo: https://github.com/servo/servo
Source-Revision: ef000a458a52051b55b65e254ff9fe1a55835d04
2015-12-07 07:16:10 +05:00
GauriGNaik
192058cf08 servo: Merge #8682 - Defined new trait ParseErrorReporter and added error_reporter member … (from jdm:css-error-reporter); r=jdm
…to ParserContext.

Rebase of #8210.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5ef2f4f75cd58a3c6f1f123e413dc9d3a24f841
2015-11-27 03:26:08 +05:00
Eli Friedman
ce25e4b2e0 servo: Merge #8441 - Make the needs_reflow method actually work correctly (from eefriedman:needs-reflow); r=bholley
The document node is always dirty because layout never clears the bit;
instead, check the dirty bit of the root element.

Source-Repo: https://github.com/servo/servo
Source-Revision: a2be34365ae3b3e9a4f7da7a0fb5ed2dbf8426eb
2015-11-22 05:14:08 +05:00
Keith Yeung
6c1517928e servo: Merge #8530 - Split ConstellationMsg into ScriptMsg and CompositorMsg (from KiChjang:split-constellation-msg); r=jdm
Fixes #8356.

Source-Repo: https://github.com/servo/servo
Source-Revision: acbe41305230a926458596444ca955eff063d9dd
2015-11-19 04:09:20 +05:00
Alan Jeffrey
128ce4b968 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:47:30 +05:00
Patrick Walton
b0cfd94d48 servo: Merge #8492 - script: Make timer events e10s-safe (from jdm:e10s-timer-events); r=jdm
Closes #8235.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eaa8e7b1f2e462f62b73477c30183c836a18399
2015-11-13 04:49:48 +05:00
Josh Matthews
bd9c531662 servo: Merge #8430 - Invoke specialized callback behaviour for OnErrorEventHandler (from jdm:errorhandler); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: fafc280179ddafab878dd261121cee17ba3b921c
2015-11-13 03:24:00 +05:00
Ms2ger
30837e1d9b servo: Merge #8428 - Update js (from Ms2ger:conversions); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: b40882093a306032d38ad02e30f0095e0a49ec21
2015-11-13 00:43:52 +05:00
Anthony Ramine
3ab3bf76c2 servo: Merge #8197 - Support variadic interface arguments (fixes #8159) (from nox:variadic-interface-argument); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f03a8261c58f650eda789b1f9f5363af6e15f59c
2015-11-11 19:02:26 +05:00
benshu
d6d60e2e22 servo: Merge #8168 - XHR timeouts use same abstraction as scripts timers. (fixes #3396) (from benschulz:xhr-timeout-ordering); r=jdm
Alright, this is it. Finally the fix for #3396. :D

I'll add two comments via reviewable in a second.

Source-Repo: https://github.com/servo/servo
Source-Revision: df81cd7ce9de4823ad966f873639ed06ca368e4c
2015-11-11 05:38:28 +05:00
Till Schneidereit
a281e7443b servo: Merge #8039 - Move Stylesheet loading and ownership from the layout task into HTML elements (from tschneidereit:script-owns-stylesheets); r=jdm
Stylesheets for `HTMLLinkElement`s are now loaded by the resource task, triggered by the element in question. Stylesheets are owned by the elements they're associated with, which can be `HTMLStyleElement`, `HTMLLinkElement`, and `HTMLMetaElement` (for `<meta name="viewport">).

Additionally, the quirks mode stylesheet (just as the user and user agent stylesheets a couple of commits ago), is implemented as a lazy static, loaded once per process and shared between all documents.

This all has various nice consequences:
 - Stylesheet loading becomes a non-blocking operation.
 - Stylesheets are removed when the element they're associated with is removed from the document.
 - It'll be possible to implement the CSSOM APIs that require direct access to the stylesheets (i.e., ~ all of them).
 - Various subtle correctness issues are fixed.

One piece of interesting follow-up work would be to move parsing of external stylesheets to the resource task, too. Right now, it happens in the link element once loading is complete, so blocks the script task. Moving it to the resource task would probably be fairly straight-forward as it doesn't require access to any external state.

Depends on #7979 because without that loading stylesheets asynchronously breaks lots of content.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ff3a17524e0e703e3ac279441729c185444be24
2015-11-08 00:41:54 +05:00
David Zbarsky
0c1a50a8e9 servo: Merge #8304 - Cleanup some unneeded let bindings (from dzbarsky:borrowck); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 69e6eb4d91ab1bd8f363ee7425e4f921ca006a1e
2015-11-07 01:01:40 +05:00
Josh Matthews
969accd390 servo: Merge #8138 - Implement cancellable runnables, and make image load events cancellab… (from jdm:createelementintermittent); r=nox
…le. Resolves #7731.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4113302c262dc4fedb67a6d6d68284f14fe9b9bc
2015-11-06 23:06:57 +05:00
Ms2ger
f65a3ec2df servo: Merge #8332 - Remove obsolete comment (fixes #8209) (from Ms2ger:8209-comment); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 1dc144d1687cc6d89b29be859454e7ef73fb341d
2015-11-05 05:55:54 +05:00
Ms2ger
b23dd0e7f4 servo: Merge #7128 - Make BrowsingContext JS-managed (from Ms2ger:bc-root); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b4d234107e7fcc02e88915f37c06bf651842c1dd
2015-11-04 22:08:51 +05:00
Ms2ger
9ee6885f3c servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:17:41 +05:00
David Zbarsky
97e45a8d2e servo: Merge #8305 - Get rid of a bunch of explicit derefs (from dzbarsky:roots); r=Ms2ger,
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b9fa13f2f6a1aa38d180367426498f01f6414c9
2015-11-04 10:33:54 +05:00
rohan.prinja
f3c30d6ffd servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:26:02 +05:00
Ms2ger
3fa576e5c3 servo: Merge #8239 - Remove unused code around ScriptReflow (from Ms2ger:ScriptReflow); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a800becdf7f6b3b3524d204485cb7c593b506f5
2015-11-03 14:59:17 +05:00
Eli Friedman
5701c98f6a servo: Merge #8056 - Fix the implementation of JSTraceable for RefCell (from eefriedman:trace-refcell); r=jdm
The existing implementation could panic; make sure that doesn't
happen by requiring that the contents of a RefCell are trivially
traceable (i.e. the value don't contain any traceable objects).

I'm not sure whether the TriviallyJSTraceable trait is actually
worthwhile; maybe we should just never use RefCell in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f51710ed387baa1ad0a6e4cdb0fc5eee44093d5
2015-11-03 06:37:40 +05:00
Olivia Nordquist
9795016f0b servo: Merge #8290 - Un-boxed ScriptReflow (from itsmeolivia:store-script-reflow); r=Ms2ger
As per #8238 I changed `layout_interface::Msg::Reflow` to store `ScriptReflow` rather than `Box<ScriptReflow>`

I ran the tests and believe everything passed but this is my first commit to the project so sorry if I messed up the protocol!

Source-Repo: https://github.com/servo/servo
Source-Revision: 601169c0e5b0207805bb316b21e556f5ab67df9b
2015-11-01 14:20:17 +05:00
Bobby Holley
3eb79a9936 servo: Merge #8098 - Track event state changes on Document and do the dirtying from layout (from bholley:dirty_from_layout); r=jdm
This is a first step in fixing #6942.

Source-Repo: https://github.com/servo/servo
Source-Revision: 285e29c06637f31a8b8a27c2e454468717924ebd
2015-10-28 23:54:53 +05:00
Ms2ger
132cac7a9c servo: Merge #8155 - Remove Window::layout_join_port (from Ms2ger:join); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4d737b51bb2053e9bb970b31b0516ac8810a061b
2015-10-23 04:50:38 -06:00
benshu
0eaffe935d servo: Merge #7450 - Ordering guarantees for timers (from benschulz:constellation-timer); r=jdm
This is an rough solution to the issue described in #3396. XHRs still do their own thing and an overall clean up is in order. Before I do that, though, I'd really like someone to sign off on the overall idea.

There's one major difference to what jdm layed out #3396: The timers remain with the window/worker and only the earliest expiring one is coordinated with the dedicated timer thread.
That means both the timer thread and the window/worker have to keep track of which timer expires next, which feels a bit wonky. However, the upshot is that there's no need for communication with the timer thread when a pipeline is frozen, thawed or dropped.

Most relvant parts are
 - the [`TimerScheduler`](6f5f661958 (diff-74137a6f50ab38e7a1e4d16920a66ce7R73)), which is the new per-constellation timer task and
 - the [`ActiveTimers`](6f5f661958 (diff-86707d952414a2860b78bcf6c1db8e2eR34)) which is what's left on the window/worker side.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2de5407cdabef67ed03b2ad4edf4a22541d77875
2015-10-21 09:07:30 -06:00
Anthony Ramine
db09beb657 servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Anthony Ramine
95d40680d6 servo: Merge #8060 - Implement Deref<Target=T> for JS<T> where T: Reflectable (from nox:deref-js); r=Ms2ger
We can only borrow `JS<T>` from rooted things, so it's safe to deref it.
The only types that provide mutable `JS<T>` things are `MutHeap<JS<T>>` and
`MutNullableHeap<JS<T>>`, which don't actually expose that they contain
`JS<T>` values.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1a376aa75d5de8781b17a673850860f8afd2c28f
2015-10-19 06:32:05 -06:00
KALPESH KRISHNA
f4ebe1b230 servo: Merge #8038 - Adding window.onstorage WindowEventHandler (from martiansideofthemoon:my-code-fix); r=jdm
Well it built successfully this time around 😄 @jdm . Working to solve #7994

Source-Repo: https://github.com/servo/servo
Source-Revision: 23fa9de714662286480b26b28b742a7e23bc91f4
2015-10-17 22:36:13 -06:00
Anthony Ramine
39c1957849 servo: Merge #8020 - Generate all Derived implementations in codegen (from nox:codegen-derived); r=Ms2ger
Follow-up of #7873.

@Ms2ger r? :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 417cf5738e4609f4b2e34e9e0c4f7ef68f087432
2015-10-15 12:53:08 -06:00
Michael Wu
7e12ce1b44 servo: Merge #7727 - Support the updated spidermonkey bindings (from michaelwu:update-bindings); r=jdm
Still need to finish the rust-mozjs update and make cargo use it, but it's close enough that I don't expect much to change on the servo side.

Some changes here
- bools are properly translated now
- char16_t is handled as u16 now
- JS_GlobalObjectTraceHook isn't mangled now
- JSJitInfo has been adjusted
- A const fn is used to generate bitfields in JSJitInfo
- Manually generating handles now requires calling an unsafe function. It's not actually required, but it's too much of a hassle to generate them manually now due to bindgen++ adding base classes now.

Source-Repo: https://github.com/servo/servo
Source-Revision: b34fd5bd7e55be1d577df5cf70b41af8a6cc716b
2015-10-14 14:48:44 -06:00
Anthony Ramine
c60f627416 servo: Merge #7873 - Generate the various TypeId enums in codegen (from nox:codegen-typeid); r=Ms2ger
This frees us forever from caring about maintaining these enums. The last commit removes their use from the initialisation of interface objects derived from Node.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32daa17d5cbcad02db0713e21e52410cdc60480e
2015-10-14 12:47:48 -06:00
Eli Friedman
bd0eb1d471 servo: Merge #7997 - Link to the HTML multipage spec, not the single-page one (from eefriedman:html-spec-multipage); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9fca41c7a7498cb6e27b914c45290dc4639d6f8b
2015-10-13 12:54:10 -06:00
Corey Farwell
921a6d9aa9 servo: Merge #7960 - Replace usage of old-style WHATWG spec links (from frewsxcv:update-spec-links); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4052a22a1c6826cb18f03de9d2f6aed82d809e71
2015-10-10 10:17:52 -06:00
Anthony Urena
4de60083e9 servo: Merge #7882 - Refactor Error enum usage to consistently be qualified (from anthgur:consistent-enum-use); r=Ms2ger
Closes #7869

Source-Repo: https://github.com/servo/servo
Source-Revision: f5cd90805ec67fb52f73ec4cef9cef881a67522d
2015-10-06 04:58:17 -06:00
Glenn Watson
5c835e208c servo: Merge #7795 - Split Au type into separate crate, with minimal dependencies (from glennw:app-units-crate); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 35888e5a1d48511ec54ddf8c58f1c7b0c47c5d3c
2015-09-30 15:19:33 -06:00
Patrick Walton
81d4743199 servo: Merge #7596 - layout: Load Web fonts asynchronously (from pcwalton:async-web-font-loading); r=mbrubeck
Improves page load times significantly.

Closes #7343.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7933b484300131d3de79edbcf399288b22010616
2015-09-28 12:11:50 -06:00
Patrick Walton
0582e9c404 servo: Merge #7736 - Less ambitious optimize set property (from pcwalton:less-ambitious-optimize-set-property); r=Ms2ger
Splitting the parts that have r+ out of #6823.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7b875170956f3a26b46e49d3d5c990fa4acc974
2015-09-24 19:57:40 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Brandon Fairchild
704178a0dd servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Ms2ger
6a3771724c servo: Merge #7628 - Emit markers for all events, not just UI events (from Ms2ger:events-markers); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: df083ccb528f2997fbea4724fcd463104bf8d87d
2015-09-16 08:34:32 -06:00
Anthony Ramine
21dcce981a servo: Merge #7606 - Move the type_id fields to DOMClass (from nox:move-typeid); r=jdm
Cc @michaelwu.

Source-Repo: https://github.com/servo/servo
Source-Revision: d5ee58caf269779e86b2efc50ddf37d3e4eba9b9
2015-09-13 11:53:42 -06:00