| OLD | NEW |
| 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.h" | 5 #include "content/browser/accessibility/browser_accessibility.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "content/browser/accessibility/browser_accessibility_manager.h" | 10 #include "content/browser/accessibility/browser_accessibility_manager.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 // and Win. For any other platform, instantiate the base class. | 24 // and Win. For any other platform, instantiate the base class. |
| 25 // static | 25 // static |
| 26 BrowserAccessibility* BrowserAccessibility::Create() { | 26 BrowserAccessibility* BrowserAccessibility::Create() { |
| 27 return new BrowserAccessibility(); | 27 return new BrowserAccessibility(); |
| 28 } | 28 } |
| 29 #endif | 29 #endif |
| 30 | 30 |
| 31 BrowserAccessibility::BrowserAccessibility() | 31 BrowserAccessibility::BrowserAccessibility() |
| 32 : manager_(NULL), | 32 : manager_(NULL), |
| 33 parent_(NULL), | 33 parent_(NULL), |
| 34 child_id_(0), | |
| 35 index_in_parent_(0), | 34 index_in_parent_(0), |
| 36 renderer_id_(0), | 35 renderer_id_(0), |
| 37 role_(0), | 36 role_(0), |
| 38 state_(0), | 37 state_(0), |
| 39 instance_active_(false) { | 38 instance_active_(false) { |
| 40 } | 39 } |
| 41 | 40 |
| 42 BrowserAccessibility::~BrowserAccessibility() { | 41 BrowserAccessibility::~BrowserAccessibility() { |
| 43 } | 42 } |
| 44 | 43 |
| 45 void BrowserAccessibility::DetachTree( | 44 void BrowserAccessibility::DetachTree( |
| 46 std::vector<BrowserAccessibility*>* nodes) { | 45 std::vector<BrowserAccessibility*>* nodes) { |
| 47 nodes->push_back(this); | 46 nodes->push_back(this); |
| 48 for (size_t i = 0; i < children_.size(); i++) | 47 for (size_t i = 0; i < children_.size(); i++) |
| 49 children_[i]->DetachTree(nodes); | 48 children_[i]->DetachTree(nodes); |
| 50 children_.clear(); | 49 children_.clear(); |
| 51 parent_ = NULL; | 50 parent_ = NULL; |
| 52 } | 51 } |
| 53 | 52 |
| 54 void BrowserAccessibility::InitializeTreeStructure( | 53 void BrowserAccessibility::InitializeTreeStructure( |
| 55 BrowserAccessibilityManager* manager, | 54 BrowserAccessibilityManager* manager, |
| 56 BrowserAccessibility* parent, | 55 BrowserAccessibility* parent, |
| 57 int32 child_id, | |
| 58 int32 renderer_id, | 56 int32 renderer_id, |
| 59 int32 index_in_parent) { | 57 int32 index_in_parent) { |
| 60 manager_ = manager; | 58 manager_ = manager; |
| 61 parent_ = parent; | 59 parent_ = parent; |
| 62 child_id_ = child_id; | |
| 63 renderer_id_ = renderer_id; | 60 renderer_id_ = renderer_id; |
| 64 index_in_parent_ = index_in_parent; | 61 index_in_parent_ = index_in_parent; |
| 65 } | 62 } |
| 66 | 63 |
| 67 void BrowserAccessibility::InitializeData(const AccessibilityNodeData& src) { | 64 void BrowserAccessibility::InitializeData(const AccessibilityNodeData& src) { |
| 68 DCHECK_EQ(renderer_id_, src.id); | 65 DCHECK_EQ(renderer_id_, src.id); |
| 69 name_ = src.name; | 66 name_ = src.name; |
| 70 value_ = src.value; | 67 value_ = src.value; |
| 71 role_ = src.role; | 68 role_ = src.role; |
| 72 state_ = src.state; | 69 state_ = src.state; |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 | 195 |
| 199 // Allow the object to fire a TextRemoved notification. | 196 // Allow the object to fire a TextRemoved notification. |
| 200 name_.clear(); | 197 name_.clear(); |
| 201 value_.clear(); | 198 value_.clear(); |
| 202 PostInitialize(); | 199 PostInitialize(); |
| 203 | 200 |
| 204 manager_->NotifyAccessibilityEvent( | 201 manager_->NotifyAccessibilityEvent( |
| 205 AccessibilityNotificationObjectHide, this); | 202 AccessibilityNotificationObjectHide, this); |
| 206 | 203 |
| 207 instance_active_ = false; | 204 instance_active_ = false; |
| 208 manager_->Remove(this); | 205 manager_->RemoveNode(this); |
| 209 NativeReleaseReference(); | 206 NativeReleaseReference(); |
| 210 } | 207 } |
| 211 | 208 |
| 212 void BrowserAccessibility::NativeReleaseReference() { | 209 void BrowserAccessibility::NativeReleaseReference() { |
| 213 delete this; | 210 delete this; |
| 214 } | 211 } |
| 215 | 212 |
| 216 bool BrowserAccessibility::GetBoolAttribute( | 213 bool BrowserAccessibility::GetBoolAttribute( |
| 217 BoolAttribute attribute, bool* value) const { | 214 BoolAttribute attribute, bool* value) const { |
| 218 BoolAttrMap::const_iterator iter = bool_attributes_.find(attribute); | 215 BoolAttrMap::const_iterator iter = bool_attributes_.find(attribute); |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 return name_; | 312 return name_; |
| 316 } | 313 } |
| 317 | 314 |
| 318 string16 result; | 315 string16 result; |
| 319 for (size_t i = 0; i < children_.size(); ++i) | 316 for (size_t i = 0; i < children_.size(); ++i) |
| 320 result += children_[i]->GetTextRecursive(); | 317 result += children_[i]->GetTextRecursive(); |
| 321 return result; | 318 return result; |
| 322 } | 319 } |
| 323 | 320 |
| 324 } // namespace content | 321 } // namespace content |
| OLD | NEW |