Also introduce a clear() function to layout data which will be used to clear items such as compositor layouts.
Clear the layout data when a node becomes display:none.
Source-Repo: https://github.com/servo/servo
Source-Revision: 65454e51c806c7d91c869a7b4afce872b4eeea57
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
--HG--
rename : servo/ports/gonk/build.rs => servo/support/rust-task_info/build.rs
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
This will allow us to make it Send after the Rust upgrade.
Source-Repo: https://github.com/servo/servo
Source-Revision: d9c2bfae8764d9f7813a6b6e9267102625e3d7b8
fixes#4603
- Add definition to the Element.webidl and implementation to element.rs.
- Create inclusive_ancestors helper in NodeHelpers
- Update test expectations
Source-Repo: https://github.com/servo/servo
Source-Revision: ea83ffdb980d290a910e78b96c3f056280487ac7
As a first start, this allows them indiscriminately where used.
Source-Repo: https://github.com/servo/servo
Source-Revision: f74d5360ba30ec7aaa12f675eb267fd11053d8a8
Notes:
* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72 this_as_query.equiv(other)
^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```
Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
This prepares for the rust upgrade currently being conducted.
Source-Repo: https://github.com/servo/servo
Source-Revision: e8fac3681b690adb0796b2a807ac95bd9c13597a
This is a start towards fixing #3868. Not all callers have been fixed yet, so the `Deref` implementation remains for now.
Source-Repo: https://github.com/servo/servo
Source-Revision: 141b5d038fad3c0c44a6f1b309b8ca9edea54580
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector.
A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later.
Source-Repo: https://github.com/servo/servo
Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
`str::to_string()` goes through a `Formatter`, `str::into_string()` is a direct copy and is apparently 5× faster.
This is a rebase of the boring and bitrot-prone parts of #4366.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9857ea26cb9ee262654bee97322dbbf373486bff
Changed fn_wrap argument in reflect_dom_object() and reflect_node() to pass GlobalRef by value rather than by reference. Fixes#4165
Source-Repo: https://github.com/servo/servo
Source-Revision: a773bd5c4568f2f33855f9cfe04b4301038429f7
This patch provides some of the groundwork for column spans greater than
1. It implements the column-span CSS property as well as the
corresponding colspan attribute; although the former is not
well-specified outside of CSS multi-column layout, INTRINSIC refers to
it. Although width is distributed to spanning columns, they do not yet
contribute minimum and preferred widths; this will be implemented in a
follow-up.
The parsing for the legacy bgcolor and border attributes is
implemented according to the WHATWG HTML specification.
Additionally, this patch cleans up some miscellaneous formatting issues,
refactors layout/css somewhat to eliminate needless levels of
indirection, and cleans up the handling of table rowgroups.
New Hacker News screenshot: http://i.imgur.com/hnl2a7E.png
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e31e5f98747e4b42dafcc4b076fac46aeb09310
This fixes race conditions whereby layout and script could be running
simultaneously.
r? @jdm
cc @cgaebel
Source-Repo: https://github.com/servo/servo
Source-Revision: 5f2684d2f81046abd7548fb22d996d1e506a104a
When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."
This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.
This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5c506f7a98368020c7936517f1d8e243c9556937
Still need to impl `Activatable` on all activatable elements. I'll probably push those changes to this PR, however they can be made separately as well.
Source-Repo: https://github.com/servo/servo
Source-Revision: 19c69b1625dda46d3c5501292e7e2d0328e400b4
Fix#4124
This also introduce `BarCast::from_actual()` which is used for up-cast for dom's actual data types (non JS pointer values).
Source-Repo: https://github.com/servo/servo
Source-Revision: 82050d1e535681ea993e4290d02bcf4b9f4ee5a2
The current code calls as_slice() on the Option, yielding &[DOMString], and
then calls to_string, yielding "[prefix]".
Source-Repo: https://github.com/servo/servo
Source-Revision: 76cc006a40d7242e64c6c12f033127c569914e31
This is a grab bag of various microoptimizations for script that I came across when profiling our performance on RoboHornet.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 69f8b46f362a828ffaefe9623355bc1ad76dc5e0
Instead of looking at the display tree, have ContentBox(es)Query consult
the flow tree. This allow optimizing away parts of the display tree
later. To do this we need to be more careful about how we send reflow
requests, only querying the flow tree when possible.
Fixes#3790.
Source-Repo: https://github.com/servo/servo
Source-Revision: c9089c45c4b7d40419233b48a192d85a8ad71c99