OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "content/browser/accessibility/frame_tree_accessibility.h" |
| 6 |
| 7 namespace content { |
| 8 |
| 9 FrameTreeAccessibility::FrameTreeAccessibility() |
| 10 : next_id_(1) { |
| 11 } |
| 12 |
| 13 FrameTreeAccessibility::~FrameTreeAccessibility() { |
| 14 } |
| 15 |
| 16 FrameTreeAccessibility* FrameTreeAccessibility::GetInstance() { |
| 17 return Singleton<FrameTreeAccessibility>::get(); |
| 18 } |
| 19 |
| 20 void FrameTreeAccessibility::OnFrameCreated( |
| 21 BrowserAccessibilityDelegate* frame) { |
| 22 int32 id = next_id_++; |
| 23 frame_to_id_[frame] = id; |
| 24 id_to_frame_[id] = frame; |
| 25 } |
| 26 |
| 27 void FrameTreeAccessibility::OnFrameDeleted( |
| 28 BrowserAccessibilityDelegate* frame) { |
| 29 if (frame_to_id_.find(frame) == frame_to_id_.end()) |
| 30 return; |
| 31 int32 id = frame_to_id_[frame]; |
| 32 frame_to_id_.erase(frame); |
| 33 id_to_frame_.erase(id); |
| 34 id_to_manager_.erase(id); |
| 35 } |
| 36 |
| 37 void FrameTreeAccessibility::SetFrameAccessibilityManager( |
| 38 BrowserAccessibilityDelegate* frame, |
| 39 BrowserAccessibilityManager* manager) { |
| 40 if (frame_to_id_.find(frame) == frame_to_id_.end()) |
| 41 return; |
| 42 int32 id = frame_to_id_[frame]; |
| 43 id_to_manager_[id] = manager; |
| 44 } |
| 45 |
| 46 int32 FrameTreeAccessibility::GetFrameId(BrowserAccessibilityDelegate* frame) { |
| 47 if (frame_to_id_.find(frame) == frame_to_id_.end()) |
| 48 return 0; |
| 49 return frame_to_id_[frame]; |
| 50 } |
| 51 |
| 52 BrowserAccessibilityDelegate* FrameTreeAccessibility::FindFrameById(int32 id) { |
| 53 if (id_to_frame_.find(id) == id_to_frame_.end()) |
| 54 return NULL; |
| 55 return id_to_frame_[id]; |
| 56 } |
| 57 |
| 58 BrowserAccessibilityManager* |
| 59 FrameTreeAccessibility::FindAccessibilityManagerById(int32 id) { |
| 60 if (id_to_manager_.find(id) == id_to_manager_.end()) |
| 61 return NULL; |
| 62 return id_to_manager_[id]; |
| 63 } |
| 64 |
| 65 } // namespace content |
OLD | NEW |