aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add support for canceling CSS transitionsMartin Robinson2020-04-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | This change adds support for canceling CSS transitions when a property is no longer transitionable or when an element becomes styled with display:none. Support for canceling and replacing CSS transitions when the end value changes is still pending. This change also takes advantage of updating the constellation message to fix a bug where transition events could be sent for closed pipelines. Fixes #15079.
* | Make the rule tree actually threadsafeAnthony Ramine2020-04-201-3/+1
|/ | | | | | RuleTree::gc is now a safe method that any thread can call at any time, and StrongRuleNode values can all be dropped whenever their owner want to, on any thread.
* Some servo build fixes.Emilio Cobos Álvarez2020-04-161-9/+0
|
* Don't go through the layout thread to retrieve a node's primary styleAnthony Ramine2020-04-071-12/+4
|
* Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutDataAnthony Ramine2020-04-061-31/+30
|
* Rename a bunch of style/layout data itemsAnthony Ramine2020-04-061-25/+25
| | | | | | | | | | | | | 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.
* Auto merge of #26110 - servo:layout-2020-rm-note-dirty-descendant, r=emiliobors-servo2020-04-042-23/+0
|\ | | | | | | Kill ServoLayoutElement::note_dirty_descendant
| * Kill ServoLayoutElement::note_dirty_descendantAnthony Ramine2020-04-042-23/+0
| | | | | | | | | | | | There is no need to set the dirty descendants flag unsafely from the layout side for elements with pending restyles, we can do that on the DOM side when draining the restyles from the Document.
* | Make DOM own the style and layout data, in an UnsafeCellAnthony Ramine2020-04-042-29/+16
| | | | | | | | The previous Cell was a lie.
* | Don't expose any AtomicRefCell directly from style traitsAnthony Ramine2020-04-042-12/+19
| | | | | | | | This lets us experiment with how we store this data on the DOM side.
* | Make OpaqueLayoutAndStyleData just a bit less opaqueAnthony Ramine2020-04-041-16/+9
|/ | | | It now stores a NonNull<dyn Any>.
* Make LayoutShadowRootHelpers::get_style_data_for_layout return a &CascadeDataAnthony Ramine2020-04-011-1/+1
| | | | That return type is Sync, which thus means that the method can be safe.
* Make synthesize_presentational_hints_for_legacy_attributes be safeAnthony Ramine2020-04-011-4/+2
|
* Make LayoutDocumentHelpers::style_shared_lock be safeAnthony Ramine2020-04-011-1/+1
| | | | StyleSharedRwLock is Sync.
* Make LayoutNodeHelpers::composed_parent_node_ref be safeAnthony Ramine2020-04-011-11/+7
| | | | | | For clarity, I introduce <LayoutDom<Element>>::parent_node_ref to contain the remaining unsafety bits out of composed_parent_node_ref which is more complex than just a field access.
* Make LayoutShadowRootHelpers::get_host_for_layout be safeAnthony Ramine2020-03-311-1/+1
|
* Make a bunch of LayoutNodeHelpers be safeAnthony Ramine2020-03-311-6/+6
|
* Introduce LayoutDom::isAnthony Ramine2020-03-311-1/+1
| | | | Just like Castable::is.
* Make layout methods accessing rare data be safeAnthony Ramine2020-03-311-11/+7
| | | | | | They don't do anything fancy so there is no additional unsafety calling them compared to using LayoutDom in the first place, the usual story of all those changes.
* Make a bunch of LayoutDocumentHelpers be safeAnthony Ramine2020-03-311-2/+2
| | | | The other methods are actually unsafe.
* Make a bunch or trivial LayoutElementHelpers safeAnthony Ramine2020-03-311-6/+4
|
* Introduce <LayoutDom<Element>>::attrs()Anthony Ramine2020-03-311-33/+29
| | | | | | This safe method is the basic block to access element attributes from layout. We reuse it in the other attr-related layout methods to remove a pretty big source of rampant unsafe code between script and layout.
* Merge RawLayoutElementHelpers into LayoutElementHelpersAnthony Ramine2020-03-311-10/+8
|
* Make LayoutNodeHelpers::text_content return a cowAnthony Ramine2020-03-311-3/+3
|
* Make LayoutCharacterDataHelpers::data_for_layout be safeAnthony Ramine2020-03-311-1/+1
|
* Clean up LayoutShadowRootHelpers::get_style_data_for_layoutAnthony Ramine2020-03-301-6/+1
| | | | Parameter E is unused and the result should be bound by 'dom.
* Give a lifetime parameter to LayoutDomAnthony Ramine2020-03-281-85/+31
|
* Pass pending restyles instead of draining them from layoutAnthony Ramine2020-03-282-11/+4
|
* Make ServoLayoutNode::new return a free lifetime valueAnthony Ramine2020-03-281-1/+1
| | | | | Binding the scope of the ServoLayoutNode value to the originating TrustedNodeAddress is just theater.
* Move PendingRestyle to the style_layout_interface crateAnthony Ramine2020-03-281-1/+1
|
* Add a 'dom lifetime to GetLayoutDataAnthony Ramine2020-03-262-14/+14
|
* Remove unnecessary .clone() callsIulian Gabriel Radu2020-03-041-5/+5
|
* Make Background Hang Monitor OptionalKunal Mohan2020-02-231-9/+15
| | | | | | This is done by wrapping all channels of communication and related objects inside Option which are configured using flag inside servo_config.
* Update ipc-channel and crossbeam-channel.Josh Matthews2020-02-201-2/+2
|
* remove option for origin and mirror changes to layout_thread_2020Kunal Mohan2020-02-181-19/+21
|
* Take origin from window instead of creating a new one in case of reflowKunal Mohan2020-02-151-4/+12
| | | | | | | | | | Everytime a new LayoutContext was created, it created a new origin which caused endless stream of image loads to occur in case of reflow. The reason for this was that the existing image, although cached successfully, was not used because the entry in hashmap did not match because of different(new) origin. This is solved by storing the origin of a window in enum ScriptReflow and used in creating new LayoutContext in case of reflow.
* Improve the name the NodeGeometryQueryMartin Robinson2020-02-051-4/+4
| | | | | | | This query is used to get the clientTop, clientWidth, clientHeight, clientLeft properties of DOM objects. "NodeGeometry" doesn't really capture what these properties do as they often are returning the width of element border.
* :defined worksPatrick Shaughnessy2020-01-301-0/+1
|
* style: Fix servo build.Emilio Cobos Álvarez2019-11-301-0/+22
|
* Use non-IPC webrender API over explicit IPC channels.Josh Matthews2019-11-272-31/+14
|
* layout: Inform webrender about new pipeline as early as possible.Josh Matthews2019-11-131-2/+16
|
* Ensure layout/script always have a correct viewport size when a new pipeline ↵Josh Matthews2019-11-061-23/+8
| | | | is created.
* dom: Calculate the viewport size of iframes when they are first added to the ↵Josh Matthews2019-11-061-0/+11
| | | | tree.
* Update rand to 0.7 (fixes #24448)Anthony Ramine2019-10-231-1/+1
|
* Double key image cache by requesting origin, and store CORS status with ↵Josh Matthews2019-10-041-0/+1
| | | | cached images.
* Update html5ever to 0.24Anthony Ramine2019-09-271-1/+1
|
* style: Fix Servo build, and rustfmt recent changes.Emilio Cobos Álvarez2019-09-121-5/+6
|
* Replace DisplayList::is_contentful with tracking during conversion to WR ↵Simon Sapin2019-09-061-2/+2
| | | | display lists
* Replace the WebRenderDisplayItemConverter trait with an inherent methodSimon Sapin2019-09-061-1/+1
|
* Deduplicate parking_lot and friends by updating it to 0.9Bastien Orivel2019-09-051-1/+1
|