Anthony Ramine
036f123c4e
Implement concept of dirty root
2020-05-19 16:26:36 +02:00
Anthony Ramine
030a1cf8fb
Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutData
2020-04-06 23:06:13 +02:00
Anthony Ramine
e3be136c9b
Rename a bunch of style/layout data items
...
GetLayoutData::get_style_and_layout_data becomes
GetOpaqueStyleAndLayoutData::get_opaque_style_and_layout_data.
GetRawData::get_raw_data becomes GetStyleAndLayoutData::get_style_and_layout_data.
LayoutNode::init_style_and_layout_data becomes
LayoutNode::init_opaque_style_and_layout_data.
LayoutNode::take_style_and_layout_data becomes
LayoutNode::take_opaque_style_and_layout_data.
2020-04-06 12:39:52 +02:00
Anthony Ramine
185a402d9c
Make DOM own the style and layout data, in an UnsafeCell
...
The previous Cell was a lie.
2020-04-04 13:10:19 +02:00
Anthony Ramine
4c61baee30
Make OpaqueLayoutAndStyleData just a bit less opaque
...
It now stores a NonNull<dyn Any>.
2020-04-04 13:08:51 +02:00
Anthony Ramine
6fe294fa5b
Make LayoutNodeHelpers::text_content return a cow
2020-03-31 15:02:13 +02:00
Anthony Ramine
04af32128c
Add a 'dom lifetime to GetLayoutData
2020-03-26 13:17:46 +01:00
Simon Sapin
be69f9c3e6
Rustfmt has changed its default style :/
2018-12-28 13:17:47 +01:00
Jan Andre Ikenmeyer
1d6fe65401
Update MPL license to https (part 4)
2018-11-19 14:47:27 +01:00
Pyfisch
9e92eb205a
Reorder imports
2018-11-06 22:35:07 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
Pyfisch
349047b096
Rustfmt layout crate
2018-09-01 13:24:57 +02:00
Emilio Cobos Álvarez
2a5007926d
Fix Servo build.
2018-05-19 10:15:17 +02:00
Igor Gutorov
7a00066477
style: Move content property out of mako.
2018-02-07 00:11:57 +02:00
Simon Sapin
10ec5a2bb0
Replace NonZero<*{const,mut} _> with std::ptr::NonNull
2018-01-22 17:41:25 +01:00
Emilio Cobos Álvarez
e4d6296f3f
layout: Fixup indentation of ThreadSafeLayoutNodeHelpers::flags.
...
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-11-10 13:13:19 +01:00
Bastien Orivel
29b4eec141
Bump bitflags to 1.0 in every servo crate
2017-10-30 23:36:06 +01:00
Gecko Backout
11c64178d8
Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE
...
Backs out https://github.com/servo/servo/pull/18809
2017-10-19 21:26:51 +00:00
Bastien Orivel
e8e2d0a4b2
Update bitflags to 1.0 in every servo crate
...
It still needs dependencies update to remove all the other bitflags
versions.
2017-10-19 15:01:17 +02:00
Anthony Ramine
e2dac78d36
Rename LayoutJS<T> to LayoutDom<T>
2017-09-26 09:49:04 +02:00
Bobby Holley
50cee3e133
Eliminate RestyleData entirely.
...
Without this change, the previous commit increases the size of ElementData.
MozReview-Commit-ID: 87BZuXINiT9
2017-09-12 10:33:51 -07:00
Emilio Cobos Álvarez
bf9369b29d
script: Move the layout_wrapper outside of script.
...
This allows us to have ensure_data() and clear_data() functions on the TElement
trait, instead of hacking around it adding methods in random traits.
This also allows us to do some further cleanup, which I'd rather do in a
followup.
2017-07-15 16:41:12 +02:00
Emilio Cobos Álvarez
ffc45e9aaa
style: Inline RestyleData.
...
Bug: 1368236
MozReview-Commit-ID: 49s3SO0PMHf
2017-06-16 03:36:18 +02:00
Emilio Cobos Álvarez
deaa935f5b
layout: Stop doing unsafe transmutes between refcell references.
...
This commit splits the style and layout data in two separate refcells.
These transmutes have been a source of trouble (for example on Android), and
they feel like a hack anyway.
Fixes #16982
2017-05-25 10:31:40 +02:00
Anthony Ramine
499e81410f
Parse -moz-alt-content as a whole content value ( fixes #15726 )
2017-05-22 13:59:36 +02:00
Simon Sapin
02e1901bc1
Upgrade to rustc 1.19.0-nightly (ced823e26 2017-05-07)
2017-05-08 12:46:03 +02:00
Bobby Holley
3fcfc9c5fc
Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio
2017-01-09 11:51:37 -08:00
Bobby Holley
962a4a79bb
Bug 1325734 - Remove Servo Layout's dependency on the initial-ness of the style. r=emilio
2017-01-09 11:51:36 -08:00
Bobby Holley
b9d99390ad
Switch to crates.io for atomic_refcell.
2017-01-03 18:14:27 -08:00
Bobby Holley
992f7dddf4
Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal.
...
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-24 17:07:38 -08:00
Bobby Holley
fb70ee2c0c
Drop style data from descendants on display:none.
...
MozReview-Commit-ID: 8ls43oAGWRg
2016-11-01 11:03:04 -07:00
Bobby Holley
71b9004d86
Replace begin_styling with a centralized mechanism to set a node up for either styling or restyling.
...
We also make sure that an element never has an ElementData with ElementDataStyles::Uninitialized,
and eagerly call prepare_for_styling whenever an ElementData is instantiated.
MozReview-Commit-ID: 9YP6eSmdMt0
2016-11-01 11:03:04 -07:00
Bobby Holley
be89f73675
Rename NodeData and associated data structures to Element*.
...
MozReview-Commit-ID: 96VsmsoZtjZ
2016-10-29 14:58:07 -07:00
Bobby Holley
5442fbec3f
Hoist most styling functionality from TNode to TElement.
...
MozReview-Commit-ID: DZ8ZrsZIiAU
2016-10-29 13:45:40 -07:00
Bobby Holley
46e29184bd
Move core pseudo-element handling to ThreadSafeLayoutElement.
2016-10-28 10:47:57 -07:00
Bobby Holley
adf0fe9b9a
Rearrange some data structures in preparation for the new incremental restyle algorithm.
...
MozReview-Commit-ID: 8iOALQylOuK
2016-10-21 13:00:01 -07:00
Bobby Holley
bfbbef6ecd
Remove borrow_data and mutate_data from TNode.
...
The new restyle architecture doesn't store these things in consistent
places, so we need a more abstract API.
2016-10-10 20:36:31 -07:00
Bobby Holley
687e1f701c
Rename PrivateStyleData to PersistentStyleData and use AtomicRefCell instead of RefCell as a container.
...
This allows us to eliminate the unsafe borrows. \o/
MozReview-Commit-ID: 29hpGaWUFQz
2016-10-02 19:19:52 -07:00
UK992
93a103ba73
Reorder use
statements
2016-09-09 04:55:19 +02:00
Simon Sapin
789807b7b0
Remove the ComputedValue traits and style_struct_traits
2016-07-20 08:42:40 +02:00
Simon Sapin
f7f81e0ed0
Use our copy of RefCell for style data.
...
This allows removing `#![feature(as_unsafe_cell)]` in geckolib
and make progress towards #11815 .
2016-06-23 16:13:49 +02:00
Ms2ger
65b93c20b7
Remove the layout_wrapper re-exports from layout::wrapper.
2016-06-20 19:08:10 +02:00
Ms2ger
0616a60fd9
Move ServoLayoutNode and related structs to script.
2016-06-20 19:08:05 +02:00
Ms2ger
a8bb3d8d22
Make ServoLayoutNode::debug_id() less convoluted.
2016-06-20 19:08:03 +02:00
Ms2ger
7de3d165ad
Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged().
2016-06-20 19:08:02 +02:00
Ms2ger
0d0b268138
Move LayoutNode and related traits to script_layout_interface.
2016-06-20 19:07:54 +02:00
Ms2ger
000e2de57a
Move HTMLCanvasData to script_layout_interface.
2016-06-20 19:04:41 +02:00
Ms2ger
6b847eb93a
Introduce LayoutNodeType and LayoutElementType enums.
2016-06-20 19:02:49 +02:00
Ms2ger
afc7118a67
Introduce a ThreadSafeLayoutNodeHelpers trait for methods to stay in layout.
2016-06-20 19:02:48 +02:00
Ms2ger
dac8878467
Introduce ThreadSafeLayoutNode::borrow_layout_data_unchecked.
2016-06-20 19:02:47 +02:00