mirror of
https://github.com/servo/servo.git
synced 2025-08-04 05:00:08 +01:00
Remove image_data from tests.
Store multiple indexable text items for a node.
This commit is contained in:
parent
0d0f2abf12
commit
bc87b41db3
2 changed files with 11 additions and 16 deletions
|
@ -3012,28 +3012,24 @@ pub struct IndexableTextItem {
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct IndexableText {
|
pub struct IndexableText {
|
||||||
inner: FnvHashMap<OpaqueNode, IndexableTextItem>,
|
inner: FnvHashMap<OpaqueNode, Vec<IndexableTextItem>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl IndexableText {
|
impl IndexableText {
|
||||||
fn insert(&mut self, node: OpaqueNode, item: IndexableTextItem) {
|
fn insert(&mut self, node: OpaqueNode, item: IndexableTextItem) {
|
||||||
// Guard against duplicate nodes.
|
if let Some(items) = self.inner.get_mut(&node) {
|
||||||
if self.inner.insert(node, item).is_some() {
|
items.push(item);
|
||||||
debug!(
|
return;
|
||||||
"TODO(#20020): Text indexing for {:?} is broken because of multiple text runs.",
|
}
|
||||||
node
|
self.inner.insert(node, vec![item]);
|
||||||
);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the text index within a node for the point of interest.
|
// Returns the text index within a node for the point of interest.
|
||||||
pub fn text_index(&self, node: OpaqueNode, point_in_item: Point2D<Au>) -> Option<usize> {
|
pub fn text_index(&self, node: OpaqueNode, point_in_item: Point2D<Au>) -> Option<usize> {
|
||||||
if let Some(item) = self.inner.get(&node) {
|
let item = self.inner.get(&node)?;
|
||||||
let point = point_in_item + item.origin.to_vector();
|
// TODO(#20020): access all elements
|
||||||
let offset = point - item.baseline_origin;
|
let point = point_in_item + item[0].origin.to_vector();
|
||||||
Some(item.text_run.range_index_of_advance(&item.range, offset.x))
|
let offset = point - item[0].baseline_origin;
|
||||||
} else {
|
Some(item[0].text_run.range_index_of_advance(&item[0].range, offset.x))
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,6 @@ fn test_first_contentful_paint_setter() {
|
||||||
format: PixelFormat::RGB8,
|
format: PixelFormat::RGB8,
|
||||||
key: None,
|
key: None,
|
||||||
},
|
},
|
||||||
image_data: None,
|
|
||||||
stretch_size: LayoutSize::zero(),
|
stretch_size: LayoutSize::zero(),
|
||||||
tile_spacing: LayoutSize::zero(),
|
tile_spacing: LayoutSize::zero(),
|
||||||
image_rendering: ImageRendering::Auto,
|
image_rendering: ImageRendering::Auto,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue