Commit Graph

249 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
02369afff6 servo: Merge #9795 - script: Fix remaining bugs from Range.deleteContents (from emilio:other-range-bugs); r=nox
This makes all the `Range.deleteContents` tests pass.

I changed some `try!()`s for `unwraps()` because those calls are actually infallible.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 492e3241715e125df3587c8454ce52c925377152
2016-02-28 23:28:41 +05:00
benshu
e36cabb63f servo: Merge #9661 - Completed implementation of devtools' getLayout (from jdm:devtools-inspector-get-layout); r=pcwalton
Rebase of #7267. Fixes #3598.

This avoids all of the sketchy issues of trying to read the style data for margins from the script thread. I replaced it with a layout query that fetches the margin style properties for a given element.

Source-Repo: https://github.com/servo/servo
Source-Revision: 09e987b559688caeef75aecd265c68f8d2b5c7e2
2016-02-24 23:52:43 +05:00
Matt Brubeck
cf6376f15e servo: Merge #9722 - Dirty elements whose selectors are affected by sibling changes (from mbrubeck:slow-selector); r=nox
This fixes incremental layout of nodes that match pseudo-class selectors such as :first-child, :nth-child, :last-child, :first-of-type, etc.  Fixes #8191 and other intermittent layout bugs.

This code is based on the following flags from Gecko:
https://hg.mozilla.org/mozilla-central/file/e1cf617a1f28/dom/base/nsINode.h#l134

Depends on servo/rust-selectors#71. r? @SimonSapin

There are a couple of TODO items in this commit, but I'd appreciate feedback on the general approach before I finish it up.  (Also, if someone who knows more than I do could give some advice about atomic orderings...)

Source-Repo: https://github.com/servo/servo
Source-Revision: 438b3a444b40ea85e53be0bd1c4689680d577727
2016-02-24 18:25:39 +05:00
Ms2ger
c8eae6656d servo: Merge #9603 - Store a pointer to the browsing context in the Document (from Ms2ger:document-bc); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ee158cc65f117f8fa10c4b706ff4009c579c7775
2016-02-19 12:19:35 +05:00
Jonathan Schuster
c5b561a9c0 servo: Merge #9526 - #8465: Update node::remove comments to reflect standard (from schuster:node-remove); r=nox
My updates so far for issue #8465. See comments there for more information.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2374e9d30e015884e87305006ac61a77b7efd5ee
2016-02-19 02:44:28 +05:00
Prabhjyot Singh Sodhi
857b545b86 servo: Merge #9648 - fix Node-isEqualNode.html test failure (from psdh:fixnodeiseual); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 3ef0bb4b374e45fe8e9fb1192307c1b0224a0006
2016-02-16 02:05:47 +05:00
Anthony Ramine
361e9b1a9e servo: Merge #9622 - Bump heapsize to 0.3 (from nox:heapsize); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: a164176876bb6abccf729eb5d6334e3c22230103
2016-02-13 18:20:41 +05:00
Alexander Lopatin
cc7eaf2638 servo: Merge #9543 - Fix #9508: Beautify our union enums constructors (from alopatindev:enums_constructors_codingstyle_fix); r=KiChjang
Solves #9508
@jdm Please review. Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 28ecb0bba3fa395ed56bb2448a21e02c3ff88c8b
2016-02-07 05:29:57 +05:00
Anthony Ramine
011de9f1aa servo: Merge #9532 - Say farewell to in-tree HeapSizeOf (from nox:dedup-heapsize); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a6707ce58df27d93e865bffb6b44d396b810c99
2016-02-05 03:10:36 +05:00
Emilio Cobos Álvarez
3a8bc8c62b servo: Merge #9510 - Update rust-selectors (from nox:bump-selectors); r=SimonSapin
This commits updates rust-selectors to use the generic parser, and as
such it moves the element state into the style crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae20f2556bc7807b39b6649ac1f738644abcc26a
2016-02-03 06:34:11 +05:00
Simon Sapin
12550c8084 servo: Merge #9170 - Add CSS Multicolumn support with block fragmentation (from SimonSapin:multicol2); r=mbrubeck
![a](https://cloud.githubusercontent.com/assets/291359/12147538/bfb198ac-b499-11e5-9936-c54c93d0b1ed.png)

Includes/supersedes #8763.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e1f0495a922c5dddbc120f17ba5c933973537ed
2016-01-30 00:19:14 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Guillaume Gomez
5ae987f50b servo: Merge #9146 - Generate PartialEq automatically (from GuillaumeGomez:generate_partial_eq); r=nox
r? @nox

Fixes #8804

Source-Repo: https://github.com/servo/servo
Source-Revision: 1096183cceea9ec78ab02caa33ee2d14668d977d
2016-01-04 00:07:10 +05:00
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
Bobby Holley
1e98f94139 servo: Merge #9051 - Split layout wrappers into style+layout and layout-only functionality (from bholley:split_style_and_layout_wrappers); r=SimonSapin
This is a step towards removing the dependency of stylo on layout/.

This PR depends on #9004.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5c614609fd8867a9e7c27b8a398ea7d877c714
2015-12-30 09:34:14 +05:00
Anthony Ramine
d5a2223cae servo: Merge #8506 - Properly propagate changes when range or trees are mutated (from nox:finish-ranges); r=dzbarsky
Does the same thing as #6817, but storing Range instances directly in their start and end containers.

Cc @dzbarsky

Source-Repo: https://github.com/servo/servo
Source-Revision: 89ab368258eb827b0dcc8d6e6deecd3ed3c1de71
2015-12-26 03:38:15 +05:00
Manish Goregaokar
75bba3bcf6 servo: Merge #9026 - Remove clone in collect_text_contents (from Manishearth:attack-of-the-clones); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c87477138e655810769607ce2c049d461c1c88a
2015-12-19 23:44:02 +05:00
Anthony Ramine
7077d2316e servo: Merge #8964 - Fix Node::replace_with (from nox:replacewith); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: cbd2c9560babbad96eaeb3608bada012103d691b
2015-12-14 10:14:21 +05:00
Jason Williams
63989cf1bf servo: Merge #8787 - now using external ref_slice instead of the std version fixed #8695 (from Jayflux:hotfix/8695); r=mbrubeck
Fixes #8695.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ae008761f6bf19b7c912cf9e0bf2aa157f32dec
2015-12-03 15:40:24 +05:00
Brandon Fairchild
ee7c1860dc servo: Merge #8701 - Remove #[allow(raw_pointer_derive)] attributes (from nerith:attribute); r=jdm
The attributes are unused.

Fixes #8699.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0be03f2afbd7aa02620325cd25256c97c75e559
2015-11-28 05:37:46 +05:00
Guillaume Gomez
ffbd83be65 servo: Merge #8675 - Add XMLDocument object (from GuillaumeGomez:master); r=nox
Fixes #8000

(Still working on it)

Source-Repo: https://github.com/servo/servo
Source-Revision: 99223656fbf6cade8c41d161a9e61a39f58ec796
2015-11-27 18:59:04 +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
Nick Fitzgerald
2575c70aaf servo: Merge #8644 - Remove two unused imports from components/script/dom/node.rs (from fitzgen:remove-unused-imports-in-scropt-dom-node); r=eefriedman
Fixes these two compiler warnings:

```
   Compiling servo v0.0.1 (file:///Users/fitzgen/src/servo/components/servo)
/Users/fitzgen/src/servo/components/script/dom/node.rs:26:65: 26:78 warning: unused import, #[warn(unused_imports)] on by default
/Users/fitzgen/src/servo/components/script/dom/node.rs:26 use dom::bindings::inheritance::{Castable, CharacterDataTypeId, ElementTypeId};
                                                                                                                          ^~~~~~~~~~~~~
/Users/fitzgen/src/servo/components/script/dom/node.rs:27:53: 27:70 warning: unused import, #[warn(unused_imports)] on by default
/Users/fitzgen/src/servo/components/script/dom/node.rs:27 use dom::bindings::inheritance::{EventTargetTypeId, HTMLElementTypeId, NodeTypeId};
                                                                                                              ^~~~~~~~~~~~~~~~~
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ab205a97e0b19adbb28c9fd18e34faf81dde589
2015-11-22 16:36:48 +05:00
Rizky Luthfianto
7f627dbe76 servo: Merge #8633 - Remove 'Node::is_anchor_element' (from rilut:remove-node-is-anchor-element); r=nox
Should fixes #8631.

Source-Repo: https://github.com/servo/servo
Source-Revision: 28582bb9f55c89125ea2f4873e1ee079bcc5d092
2015-11-21 15:31:37 +05:00
Aleksandr Likhanov
e66a72276c servo: Merge #8589 - Reduce node.unique_id size (from vegayours:8360_reduce_node_unique_id_size); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: e5c9b4859870ab7dcb6a5137ac5106088ccc3872
2015-11-20 01:14:19 +05:00
Brandon Fairchild
3dc5830ca5 servo: Merge #8572 - Make Node::is_parent_of and Stylesheet::is_effective_for_device more idiomatic (from nerith:idiomatic); r=frewsxcv
Fixes #8555.

Source-Repo: https://github.com/servo/servo
Source-Revision: 247f586284ff3938430fd2be8de2ba2ac82eadc2
2015-11-18 04:23:17 +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
Corey Farwell
2a87f91a4c servo: Merge #8479 - Implement Default trait for DOMString (from frewsxcv:domstring-default); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1720595a85ff0a593994fed1d086288746c56aa3
2015-11-13 04:21:32 +05:00
Corey Farwell
cb2890914e servo: Merge #8476 - Remove unnecessary 'node changed' notification (from frewsxcv:unnecessary-document-notification); r=nox
This same notification already happens in `CharacterData::SetData`

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b20bc90ee8321aaa95e1906321753549ad166e6
2015-11-12 05:03:19 +05:00
Corey Farwell
2ed3924aea servo: Merge #8466 - Simplify script::dom::node NodeValue implementations (from frewsxcv:node-value); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 01ff78b438fe905b02735762d696408b4d073e90
2015-11-11 21:13:21 +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
Bobby Holley
7f2310076d servo: Merge #8381 - Implement attribute restyle hints (from bholley:attr_restyle_hints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 13226f847234cd0130820338d5a272277780d278
2015-11-11 00:57:45 +05:00
Alan Jeffrey
52586c44a1 servo: Merge #8227 - Versioned dom (from asajeffrey:versioned_dom); r=eefriedman
This PR adds versioning to the DOM. There are now node.get_version and node.get_descendent_version methods that return a counter that is bumped when the node is dirtied. This is used to implement cache invalidation for caching HTMLCollection state. Caching HTMCollections gets a 1000x speedup in the Dromaeo DOM query tests.

Addresses https://github.com/servo/servo/issues/6901, https://github.com/servo/servo/issues/3381 and https://github.com/servo/servo/issues/1916.

Replaces PR https://github.com/servo/servo/pull/6927.

Source-Repo: https://github.com/servo/servo
Source-Revision: f39faaf99471f5419710e1a3d434e5d5fab0d221
2015-11-10 00:41:23 +05:00
Alan Jeffrey
98dcc15ed5 servo: Merge #8315 - Dirty parent when removng a child node (from asajeffrey:remove_child_dirty_parent); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: c54558d5ef0ffbe7892ad1ba0c66bec6b0886fe1
2015-11-07 01:34:28 +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
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
nxnfufunezn
c6b8ff7ba2 servo: Merge #8262 - Removed JS::root #8251 (from nxnfufunezn:Remove_JS_root); r=Ms2ger
Fixes #8251

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 37c03c78165fbb77eb024f2c3376d5e33cd7e446
2015-10-31 17:54:23 +05:00
Corey Farwell
8a0a8b0b2d servo: Merge #8279 - Fix some rust-clippy violations (from frewsxcv:clippy-fixes); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 913ac568750502087a7f1693b3657a24cefd2460
2015-10-31 06:21:47 +05:00
rohan.prinja
08db0170f5 servo: Merge #8250 - remove get_rooted() and replace all references to it with references … (from ajnirp:8246-remove-get-rooted); r=Ms2ger
…to get()

for #8246

Source-Repo: https://github.com/servo/servo
Source-Revision: 00b60b93860d32e1c5aaf0f9b4a2ce5110880652
2015-10-30 06:07:44 +05:00
Bobby Holley
72a62272be servo: Merge #8042 - Remove HAS_DIRTY_SIBLINGS (from bholley:dirty_siblings); r=pcwalton
This isn't doing anything right now, and we're not even setting it properly
in dirty_impl the |dirty_subtree(self)| was causing us to hit the skip case
for step 3.

Source-Repo: https://github.com/servo/servo
Source-Revision: 50ec2353845bf2a3971d5b01db37d2c3741d3912
2015-10-21 12:18:02 -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
Leo Lahti
8f487896e7 servo: Merge #8095 - Removed unsafe from 'query_selector_iter' (from TileHalo:foo); r=Ms2ger
Fixing #8078.

Source-Repo: https://github.com/servo/servo
Source-Revision: 25d3c2b655303cf3b858e49019c42254433056cf
2015-10-20 01:13:49 -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
Bobby Holley
786aa62a34 servo: Merge #7935 - Move event state from Node to Element (from bholley:eventstate_element); r=nox
Just getting my feet wet with Rust here. Please feel free to nit the hell out of it stylistically and idiomatically. :-)

Source-Repo: https://github.com/servo/servo
Source-Revision: ff2151b8bbc62fa29c90a429b7a4f12520420b6e
2015-10-19 02:47:21 -06:00
Corey Farwell
eaaa8e8849 servo: Merge #7977 - Implement HTMLTableRowElement insertCell and deleteCell (from frewsxcv:htmltablerowelement-insertcell-deletecell); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: ef8119511c440e50220417289a8adf5c7c1a93c3
2015-10-16 23:54:52 -06:00
Eli Friedman
bdf1870969 servo: Merge #8026 - Fix uses of JS<T> as a type on the stack (from eefriedman:js-rooting); r=nox
`JS<T>` belongs on the heap, and only on the heap.  This is a collection of fixes so that code uses either `Root<T>` or `&T` to pass around garbage-collected pointers.

Ideally, we could completely ban constructing a `JS<T>` outside of constructor functions, but we aren't quite there yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c7dbde0f4372037aac3635b8d81531ca9cdced3
2015-10-16 08:05:59 -06:00
Manish Goregaokar
a201cbf9b0 servo: Merge #8030 - Fix unrooted_must_root lint to handle arguments/return types properly (from Manishearth:fix-lint-fn); r=frewsxcv
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d5f09e09c64d878e6c2bb273195c3c6ca9fe82c
2015-10-15 15:00:00 -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