mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Implement element.innerText getter
This commit is contained in:
parent
0d7c2271c2
commit
2a4535f43e
16 changed files with 844 additions and 16 deletions
|
@ -76,9 +76,9 @@ use layout::incremental::{LayoutDamageComputation, RelayoutMode, SpecialRestyleD
|
|||
use layout::layout_debug;
|
||||
use layout::parallel;
|
||||
use layout::query::{LayoutRPCImpl, LayoutThreadData, process_content_box_request, process_content_boxes_request};
|
||||
use layout::query::{process_node_geometry_request, process_node_scroll_area_request};
|
||||
use layout::query::{process_node_scroll_id_request, process_offset_parent_query, process_resolved_style_request};
|
||||
use layout::query::process_style_query;
|
||||
use layout::query::{process_element_inner_text_query, process_node_geometry_request};
|
||||
use layout::query::{process_node_scroll_area_request, process_node_scroll_id_request};
|
||||
use layout::query::{process_offset_parent_query, process_resolved_style_request, process_style_query};
|
||||
use layout::sequential;
|
||||
use layout::traversal::{ComputeStackingRelativePositions, PreorderFlowTraversal, RecalcStyleAndConstructFlows};
|
||||
use layout::wrapper::LayoutNodeLayoutData;
|
||||
|
@ -526,6 +526,7 @@ impl LayoutThread {
|
|||
scroll_offsets: HashMap::new(),
|
||||
text_index_response: TextIndexResponse(None),
|
||||
nodes_from_point_response: vec![],
|
||||
element_inner_text_response: String::new(),
|
||||
})),
|
||||
webrender_image_cache:
|
||||
Arc::new(RwLock::new(FnvHashMap::default())),
|
||||
|
@ -1107,6 +1108,9 @@ impl LayoutThread {
|
|||
ReflowGoal::TextIndexQuery(..) => {
|
||||
rw_data.text_index_response = TextIndexResponse(None);
|
||||
}
|
||||
ReflowGoal::ElementInnerTextQuery(_) => {
|
||||
rw_data.element_inner_text_response = String::new();
|
||||
},
|
||||
ReflowGoal::Full | ReflowGoal:: TickAnimations => {}
|
||||
}
|
||||
return;
|
||||
|
@ -1419,7 +1423,11 @@ impl LayoutThread {
|
|||
.map(|item| UntrustedNodeAddress(item.tag.0 as *const c_void))
|
||||
.collect()
|
||||
},
|
||||
|
||||
ReflowGoal::ElementInnerTextQuery(node) => {
|
||||
let node = unsafe { ServoLayoutNode::new(&node) };
|
||||
rw_data.element_inner_text_response =
|
||||
process_element_inner_text_query(node, &rw_data.display_list);
|
||||
},
|
||||
ReflowGoal::Full | ReflowGoal::TickAnimations => {}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue