| Index: ui/views/controls/tree/tree_view.cc
|
| diff --git a/ui/views/controls/tree/tree_view.cc b/ui/views/controls/tree/tree_view.cc
|
| index 78d4693e4a7fafecd0230d8bc0b5fe479580b1ee..4104b1b3e72e1f4fd22995b2265f253025e772e7 100644
|
| --- a/ui/views/controls/tree/tree_view.cc
|
| +++ b/ui/views/controls/tree/tree_view.cc
|
| @@ -42,6 +42,9 @@ static const int kTextHorizontalPadding = 2;
|
| // How much children are indented from their parent.
|
| static const int kIndent = 20;
|
|
|
| +// static
|
| +const char TreeView::kViewClassName[] = "TreeView";
|
| +
|
| namespace {
|
|
|
| // Returns the color id for the background of selected text. |has_focus|
|
| @@ -238,6 +241,12 @@ void TreeView::SetSelectedNode(TreeModelNode* model_node) {
|
| // remove explicitly resetting selected_node_ before invoking this.
|
| if (controller_ && (changed || was_empty_selection))
|
| controller_->OnTreeViewSelectionChanged(this);
|
| +
|
| + if (changed) {
|
| + // TODO(dmazzoni): Decide if EVENT_SELECTION_CHANGED is a better choice for
|
| + // sub-item selection event.
|
| + NotifyAccessibilityEvent(ui::AccessibilityTypes::EVENT_FOCUS, true);
|
| + }
|
| }
|
|
|
| TreeModelNode* TreeView::GetSelectedNode() {
|
| @@ -397,6 +406,16 @@ void TreeView::ShowContextMenu(const gfx::Point& p,
|
| void TreeView::GetAccessibleState(ui::AccessibleViewState* state) {
|
| state->role = ui::AccessibilityTypes::ROLE_OUTLINE;
|
| state->state = ui::AccessibilityTypes::STATE_READONLY;
|
| + if (!selected_node_)
|
| + return;
|
| +
|
| + // Get selected item info.
|
| + state->role = ui::AccessibilityTypes::ROLE_OUTLINEITEM;
|
| + state->name = selected_node_->model_node()->GetTitle();
|
| +}
|
| +
|
| +const char* TreeView::GetClassName() const {
|
| + return kViewClassName;
|
| }
|
|
|
| void TreeView::TreeNodesAdded(TreeModel* model,
|
|
|