Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(740)

Side by Side Diff: content/browser/accessibility/browser_accessibility_manager.cc

Issue 252253002: Implement initial support for nesting one ax tree in another. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address feedback Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/accessibility/browser_accessibility_manager.h" 5 #include "content/browser/accessibility/browser_accessibility_manager.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/browser/accessibility/browser_accessibility.h" 8 #include "content/browser/accessibility/browser_accessibility.h"
9 #include "content/browser/accessibility/frame_tree_accessibility.h"
9 #include "content/common/accessibility_messages.h" 10 #include "content/common/accessibility_messages.h"
10 11
11 namespace content { 12 namespace content {
12 13
13 ui::AXTreeUpdate MakeAXTreeUpdate( 14 ui::AXTreeUpdate MakeAXTreeUpdate(
14 const ui::AXNodeData& node1, 15 const ui::AXNodeData& node1,
15 const ui::AXNodeData& node2 /* = ui::AXNodeData() */, 16 const ui::AXNodeData& node2 /* = ui::AXNodeData() */,
16 const ui::AXNodeData& node3 /* = ui::AXNodeData() */, 17 const ui::AXNodeData& node3 /* = ui::AXNodeData() */,
17 const ui::AXNodeData& node4 /* = ui::AXNodeData() */, 18 const ui::AXNodeData& node4 /* = ui::AXNodeData() */,
18 const ui::AXNodeData& node5 /* = ui::AXNodeData() */, 19 const ui::AXNodeData& node5 /* = ui::AXNodeData() */,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 } 63 }
63 #endif 64 #endif
64 65
65 BrowserAccessibilityManager::BrowserAccessibilityManager( 66 BrowserAccessibilityManager::BrowserAccessibilityManager(
66 BrowserAccessibilityDelegate* delegate, 67 BrowserAccessibilityDelegate* delegate,
67 BrowserAccessibilityFactory* factory) 68 BrowserAccessibilityFactory* factory)
68 : delegate_(delegate), 69 : delegate_(delegate),
69 factory_(factory), 70 factory_(factory),
70 tree_(new ui::AXTree()), 71 tree_(new ui::AXTree()),
71 focus_(NULL), 72 focus_(NULL),
73 parent_frame_frame_id_(kNoFrameId),
74 parent_frame_node_id_(0),
72 osk_state_(OSK_ALLOWED) { 75 osk_state_(OSK_ALLOWED) {
73 tree_->SetDelegate(this); 76 tree_->SetDelegate(this);
74 } 77 }
75 78
76 BrowserAccessibilityManager::BrowserAccessibilityManager( 79 BrowserAccessibilityManager::BrowserAccessibilityManager(
77 const ui::AXTreeUpdate& initial_tree, 80 const ui::AXTreeUpdate& initial_tree,
78 BrowserAccessibilityDelegate* delegate, 81 BrowserAccessibilityDelegate* delegate,
79 BrowserAccessibilityFactory* factory) 82 BrowserAccessibilityFactory* factory)
80 : delegate_(delegate), 83 : delegate_(delegate),
81 factory_(factory), 84 factory_(factory),
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 } 340 }
338 341
339 void BrowserAccessibilityManager::OnNodeCreationFinished(ui::AXNode* node) { 342 void BrowserAccessibilityManager::OnNodeCreationFinished(ui::AXNode* node) {
340 GetFromAXNode(node)->OnUpdateFinished(); 343 GetFromAXNode(node)->OnUpdateFinished();
341 } 344 }
342 345
343 void BrowserAccessibilityManager::OnNodeChangeFinished(ui::AXNode* node) { 346 void BrowserAccessibilityManager::OnNodeChangeFinished(ui::AXNode* node) {
344 GetFromAXNode(node)->OnUpdateFinished(); 347 GetFromAXNode(node)->OnUpdateFinished();
345 } 348 }
346 349
350 void BrowserAccessibilityManager::SetParentFrameIds(
351 uint32 parent_frame_frame_id, uint32 parent_frame_node_id) {
352 parent_frame_frame_id_ = parent_frame_frame_id;
353 parent_frame_node_id_ = parent_frame_node_id;
354 }
355
356 BrowserAccessibility* BrowserAccessibilityManager::GetCrossFrameParent() {
357 FrameTreeAccessibility* frames = FrameTreeAccessibility::GetInstance();
358 BrowserAccessibilityManager* parent_manager =
359 frames->FindAccessibilityManagerById(parent_frame_frame_id_);
360 if (!parent_manager)
361 return NULL;
362 return parent_manager->GetFromID(parent_frame_node_id_);
363 }
364
347 } // namespace content 365 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698