Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ features = ["schemars", "serde"]
enumset = "1.0.8"
kurbo = "0.8.3"
schemars_lib = { package = "schemars", version = "0.8.7", features = ["enumset"], optional = true }
serde_lib = { package = "serde", version = "1.0", features = ["derive"], optional = true }
serde_lib = { package = "serde", version = "1.0", features = ["derive", "rc"], optional = true }

[features]
schemars = ["serde", "schemars_lib", "kurbo/schemars"]
Expand Down
3 changes: 2 additions & 1 deletion common/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ use serde_lib::{Deserialize, Serialize};
use std::{
num::{NonZeroU128, NonZeroU64},
ops::Range,
sync::Arc,
};

/// The type of an accessibility node.
Expand Down Expand Up @@ -1221,7 +1222,7 @@ pub struct TreeUpdate {
/// placeholder must be updated within the same `TreeUpdate`, otherwise
/// it's a fatal error. This guarantees the tree is always complete
/// before or after a `TreeUpdate`.
pub nodes: Vec<(NodeId, Node)>,
pub nodes: Vec<(NodeId, Arc<Node>)>,

/// Rarely updated information about the tree as a whole. This may be omitted
/// if it has not changed since the previous update, but providing the same
Expand Down
52 changes: 26 additions & 26 deletions consumer/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ mod tests {
}

pub fn test_tree() -> Arc<crate::tree::Tree> {
let root = Node {
let root = Arc::new(Node {
role: Role::RootWebArea,
children: vec![
PARAGRAPH_0_ID,
Expand All @@ -56,19 +56,19 @@ mod tests {
PARAGRAPH_3_IGNORED_ID,
],
..Default::default()
};
let paragraph_0 = Node {
});
let paragraph_0 = Arc::new(Node {
role: Role::Paragraph,
children: vec![STATIC_TEXT_0_0_IGNORED_ID],
..Default::default()
};
let static_text_0_0_ignored = Node {
});
let static_text_0_0_ignored = Arc::new(Node {
role: Role::StaticText,
ignored: true,
name: Some("static_text_0_0_ignored".into()),
..Default::default()
};
let paragraph_1_ignored = Node {
});
let paragraph_1_ignored = Arc::new(Node {
role: Role::Paragraph,
transform: Some(Box::new(Affine::translate(Vec2::new(10.0, 40.0)))),
bounds: Some(Rect {
Expand All @@ -80,8 +80,8 @@ mod tests {
children: vec![STATIC_TEXT_1_0_ID],
ignored: true,
..Default::default()
};
let static_text_1_0 = Node {
});
let static_text_1_0 = Arc::new(Node {
role: Role::StaticText,
bounds: Some(Rect {
x0: 10.0,
Expand All @@ -91,18 +91,18 @@ mod tests {
}),
name: Some("static_text_1_0".into()),
..Default::default()
};
let paragraph_2 = Node {
});
let paragraph_2 = Arc::new(Node {
role: Role::Paragraph,
children: vec![STATIC_TEXT_2_0_ID],
..Default::default()
};
let static_text_2_0 = Node {
});
let static_text_2_0 = Arc::new(Node {
role: Role::StaticText,
name: Some("static_text_2_0".into()),
..Default::default()
};
let paragraph_3_ignored = Node {
});
let paragraph_3_ignored = Arc::new(Node {
role: Role::Paragraph,
children: vec![
EMPTY_CONTAINER_3_0_IGNORED_ID,
Expand All @@ -112,34 +112,34 @@ mod tests {
],
ignored: true,
..Default::default()
};
let empty_container_3_0_ignored = Node {
});
let empty_container_3_0_ignored = Arc::new(Node {
role: Role::GenericContainer,
ignored: true,
..Default::default()
};
let link_3_1_ignored = Node {
});
let link_3_1_ignored = Arc::new(Node {
role: Role::Link,
children: vec![STATIC_TEXT_3_1_0_ID],
ignored: true,
linked: true,
..Default::default()
};
let static_text_3_1_0 = Node {
});
let static_text_3_1_0 = Arc::new(Node {
role: Role::StaticText,
name: Some("static_text_3_1_0".into()),
..Default::default()
};
let button_3_2 = Node {
});
let button_3_2 = Arc::new(Node {
role: Role::Button,
name: Some("button_3_2".into()),
..Default::default()
};
let empty_container_3_3_ignored = Node {
});
let empty_container_3_3_ignored = Arc::new(Node {
role: Role::GenericContainer,
ignored: true,
..Default::default()
};
});
let initial_update = TreeUpdate {
nodes: vec![
(ROOT_ID, root),
Expand Down
30 changes: 15 additions & 15 deletions consumer/src/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -542,7 +542,7 @@ impl Node<'_> {
mod tests {
use accesskit::kurbo::{Point, Rect};
use accesskit::{Node, NodeId, Role, Tree, TreeUpdate};
use std::num::NonZeroU128;
use std::{num::NonZeroU128, sync::Arc};

use crate::tests::*;

Expand Down Expand Up @@ -796,18 +796,18 @@ mod tests {
nodes: vec![
(
NODE_ID_1,
Node {
Arc::new(Node {
role: Role::Window,
children: vec![NODE_ID_2],
..Default::default()
},
}),
),
(
NODE_ID_2,
Node {
Arc::new(Node {
role: Role::Button,
..Default::default()
},
}),
),
],
tree: Some(Tree::new(NODE_ID_1)),
Expand All @@ -828,43 +828,43 @@ mod tests {
nodes: vec![
(
NODE_ID_1,
Node {
Arc::new(Node {
role: Role::Window,
children: vec![NODE_ID_2, NODE_ID_3, NODE_ID_4, NODE_ID_5],
..Default::default()
},
}),
),
(
NODE_ID_2,
Node {
Arc::new(Node {
role: Role::CheckBox,
labelled_by: vec![NODE_ID_3, NODE_ID_5],
..Default::default()
},
}),
),
(
NODE_ID_3,
Node {
Arc::new(Node {
role: Role::StaticText,
name: Some(LABEL_1.into()),
..Default::default()
},
}),
),
(
NODE_ID_4,
Node {
Arc::new(Node {
role: Role::CheckBox,
labelled_by: vec![NODE_ID_5],
..Default::default()
},
}),
),
(
NODE_ID_5,
Node {
Arc::new(Node {
role: Role::StaticText,
name: Some(LABEL_2.into()),
..Default::default()
},
}),
),
],
tree: Some(Tree::new(NODE_ID_1)),
Expand Down
Loading