Commit Graph

82 Commits

Author SHA1 Message Date
Mathieu Agopian
c4a46a7e14 servo: Merge #9019 - Use Url.join instead of UrlParser.base_url(...).parse (#9002) (from magopian:9002-use-url.join); r=SimonSapin
Fix issue #9002

Source-Repo: https://github.com/servo/servo
Source-Revision: f9141ef2db693518fef676740f25abee3b938cac
2015-12-19 01:28:56 +05:00
Arthur Skobara
8e77bdbee2 servo: Merge #8949 - Remove from Trusted::new an unnecessary argument (from askobara:refactoring-trusted-new); r=jdm
Fixes #8779

Source-Repo: https://github.com/servo/servo
Source-Revision: e493a0655e69c1472a53708d213fd102decc59cb
2015-12-13 03:23:40 +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
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
Eli Friedman
cc82f1bb12 servo: Merge #8786 - Remove unnecessary conversion to/from DOMString for localName (from eefriedman:localname-atom); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 63762d2b52ee6026216d304c8826bf8b4a5fdd20
2015-12-03 14:35:22 +05:00
Eli Friedman
bde50bc128 servo: Merge #8703 - Compute attribute name atoms at compile-time (from eefriedman:dom-getter-setter-atom); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: eadaf30af396857535ad15b269bcba4f58e1ff9a
2015-11-28 20:10:07 +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
Alan Jeffrey
4d3e2c8d46 servo: Merge #8667 - Update string cache (from asajeffrey:update-string-cache); r=SimonSapin
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
2015-11-25 23:40:39 +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
Roman Klauke
5022efc1ce servo: Merge #8527 - Replace Atom::from_slice("sizes") with atom!("sizes") (from romankl:atom-slices); r=Ms2ger
This PR replaces all occurrences of Atom::from_slice("sizes") with atom!("sizes"). It also updates string_cache to v0.1.17 from 0.1.16.

Right now I've split the crate update and the replace in different commits - should I squash them?

Fixes #8488.

Source-Repo: https://github.com/servo/servo
Source-Revision: c722e0e6f4de9de1b22ca6a8fa58ec5f49caa729
2015-11-15 17:56:33 +05:00
Paul Rouget
0a62891bdd servo: Merge #8449 - mozbrowsericonchange event (Browser API) (from paulrouget:favicon); r=jdm
fixes #8347

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f076c628bffa9d95dca61e003adb9ab3ab0a316
2015-11-14 19:24:03 +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
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
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
Adam Szopa
b2986ec771 servo: Merge #8099 - Remove explicit lifetimes which can be elided (from Darktori:master); r=mbrubeck
Fixes https://github.com/servo/servo/issues/8069

Source-Repo: https://github.com/servo/servo
Source-Revision: 941c06eb99533c6c1d55b4ad3b51804badf48a23
2015-10-20 17:30:57 -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
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
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
Corey Farwell
4e5db7790b servo: Merge #7615 - Add obsolete reflecting attributes on <a> and <link> (from frewsxcv:obsolete-link-anchor); r=nox
From my understanding, setting any of these will not affect any
presentational hints for the elements

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a21bcd9c561d728bab5220bb5b9d5058c34e8c8
2015-09-13 10:47:32 -06:00
Anthony Ramine
0d2abbdbca servo: Merge #7452 - Introduce VirtualMethods::attribute_mutated() (from nox:cleanup-attributes); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: eaf90c0b1c14717fb580bb0bdb8f6c4db363ace6
2015-09-02 08:14:33 -06:00
Corey Farwell
69e3786287 servo: Merge #7483 - Enforce linking to spec for method implementations via macros (from frewsxcv:macro-spec-links); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4984aaf8bfca0698a132e10e9f48cef42d1b8302
2015-08-31 21:17:54 -06:00
Anthony Ramine
8a70682e28 servo: Merge #7416 - Make the traits for the IDL interfaces take &self (from nox:methods-ref); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 71b277d5675556e61a82ae9dbf3105449c3a8275
2015-08-27 15:08:41 -06:00
Anthony Ramine
fa8c26b4c5 servo: Merge #7401 - Remove helper traits (from nox:rm-helpers); r=Manishearth
Now that `JSRef<T>` is gone, there is no need to have helper traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 909429702972d53bf02dfe9a4aa93ea0cb588cf4
2015-08-27 09:38:48 -06:00
João Oliveira
086230053e servo: Merge #7361 - make dom_struct derive HeapSizeOf (from jxs:master); r=Ms2ger
closes #7357

Source-Repo: https://github.com/servo/servo
Source-Revision: 532fd19d69fd11d06bca7539c722a46fab2c4419
2015-08-27 02:35:45 -06:00
Manish Goregaokar
3dc847d211 servo: Merge #7397 - Remove doublepointer in VirtualMethods, and from_borrowed_ref (from Manishearth:doublepointer-meet-fire); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 48945b0fc1b1f1bee77f6cb30ac10e17614ef283
2015-08-26 15:01:12 -06:00
Johann Tuffe
25ce9ab4be servo: Merge #7265 - Add alphabetical order check for use statements (from tafia:tidy-use); r=Ms2ger
close #7112

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fbb2f2a6fa79755f975feff2435abb6a5dd0e9
2015-08-20 07:43:56 -06:00
Bogdan Cuza
e4347f5a6a servo: Merge #7097 - Measure heap memory usage for more types. Fixes #6951 (from boghison:memtypes); r=jdm
Also adds HeapSizeOf implementations/derive for some types. I've used "Cannot calculate Heap size" as a reason everywhere, because my imagination is rather limited. If you'd like me to change this message for specific types, please write something like this: "Trusted - Cannot calculate Heap size for Trusted" so that it would be easier for me to replace them through a script :)

Source-Repo: https://github.com/servo/servo
Source-Revision: a03616f379c255cc6c9b6e1d04dd7d98bd9926ce
2015-08-13 13:16:14 -06:00
Bogdan Cuza
6e1df04706 servo: Merge #6699 - Tidy check for FooMethods in components/script/dom/*.rs and color for tidy (from boghison:tidyspec); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 14ccb22e679722ed3374c8facec21adcf0f2b247
2015-07-28 08:56:39 -06:00
Michael Wu
ae3ff6be00 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
Mike Blumenkrantz
92f74c1837 servo: Merge #6219 - Favicon support: way more work than anyone expected or considered (from zmike:favicons_and_stringlOWWW-MY-HEAD); r=pcwalton
Getting these down to the embedding API level required that I redo the bindings generator again, so this is more commits than anticipated.

@mbrubeck @Manishearth @pcwalton but NOT @larsbergstrom so don't even look at this.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0f3417cffb211d547853b8069e7a444a1d9964f
2015-06-03 00:27:41 -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
Josh Matthews
20819f2f37 servo: Merge #5804 - Add simple document load tracking infrastructure (from jdm:docloader); r=Ms2ger
This implements a simple load-tracking system and tracks stylesheet loads as an example of how it fits together. This is a simplified and rebased version of #3714; I do not believe that the main thrust of hsivonen's comments (related to tracking navigation in browsing contexts) affect this part of the work.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 2baa69595e2d57213c34b7e168b60885948fa85b
2015-05-11 14:35:33 -05:00
Ms2ger
1cdbd0dcb7 servo: Merge #5999 - Move get_attr and get_attrs into TElementAttributes (from Ms2ger:TElement); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cf9338cb2eb1ff0c28e83d40e06b687828ab4c04
2015-05-10 11:26:25 -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
Manish Goregaokar
035e4ad068 servo: Merge #5855 - Add move protection to Root and friends (from Manishearth:nomove); r=kmc,munksgaard
fixes #5724, #5737


uses https://github.com/Manishearth/rust-tenacious (can be moved in-tree if needed)

I can make it `Deny` by default too (I'll add a cargo feature to tenacious), though we might want it on
`Warn` until we get some mileage on it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7987e43c944eb9b156bf3244c08fce4cb570db4
2015-04-27 23:14:25 -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
Ms2ger
bdc596eda8 servo: Merge #5840 - Replace the Str implementation for AttrValue by a Deref implementation (from Ms2ger:attrvalue-slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: b22a6c8095f03fda6e8901dea768af18d474fb31
2015-04-25 08:59:26 -05:00
Anthony Ramine
af49d2dd09 servo: Merge #5503 - Cleanup attribute handlers (from nox:cleanup-attributes); r=Manishearth
This makes all tests in attributes.html pass.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d1a6c45f656de67115e72cc927f81c2d72e03a2
2015-04-06 12:36:09 -05: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
Mikko Perttunen
9d54446033 servo: Merge #5173 - Consider media attribute on link and style tags (from cyndis:media-attr); r=jdm
Don't add a stylesheet if the current device does not match the media
query specified in a link or style tag.

Cheers,
cyndis

Source-Repo: https://github.com/servo/servo
Source-Revision: 660ea05ddb3b17b0bb914cb09968cbcf7c6b1aec
2015-03-16 09:54:56 -06:00
Zack Slayton
13f72e057c servo: Merge #5182 - Use new if let syntax wherever possible. Fixes #4153 (from zslayton:master); r=jdm
Opening this PR to invite feedback.

Of the many `match` statement candidates for conversion to `if let`, several included `if` guards. Since `if let` doesn't support this syntax, I used nested if statements. If this is undesirable, say the word and I can revert those cases to `match`.

Source-Repo: https://github.com/servo/servo
Source-Revision: d31e80f89490afe4863574c062f34b2a0df43bae
2015-03-10 07:51:50 -06: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
Alexandru Cojocaru
0cbc5adfcf servo: Merge #4820 - add unwrap to send/recv calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Ms2ger
155838196e servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Ms2ger
9a57b1f6ef servo: Merge #4750 - Don't shadow lifetimes in script (from Ms2ger:shadowing); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a3e4032fe9ce33d52f36d77fc388b38de214fdf
2015-01-28 06:09:51 -07:00
Josh Matthews
b11f7d94dc servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00