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

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

Issue 1836113002: Fix accessible touch exploration inside of iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test startup on Android Created 4 years, 8 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 find_in_page_info_.match_index = match_index; 404 find_in_page_info_.match_index = match_index;
405 find_in_page_info_.start_id = start_id; 405 find_in_page_info_.start_id = start_id;
406 find_in_page_info_.start_offset = start_offset; 406 find_in_page_info_.start_offset = start_offset;
407 find_in_page_info_.end_id = end_id; 407 find_in_page_info_.end_id = end_id;
408 find_in_page_info_.end_offset = end_offset; 408 find_in_page_info_.end_offset = end_offset;
409 409
410 if (find_in_page_info_.active_request_id == request_id) 410 if (find_in_page_info_.active_request_id == request_id)
411 ActivateFindInPageResult(request_id); 411 ActivateFindInPageResult(request_id);
412 } 412 }
413 413
414 void BrowserAccessibilityManager::OnChildFrameHitTestResult(
415 const gfx::Point& point,
416 int hit_obj_id) {
417 BrowserAccessibility* obj = GetFromID(hit_obj_id);
418 if (!obj || !obj->HasIntAttribute(ui::AX_ATTR_CHILD_TREE_ID))
419 return;
420
421 BrowserAccessibilityManager* child_manager =
422 BrowserAccessibilityManager::FromID(
423 obj->GetIntAttribute(ui::AX_ATTR_CHILD_TREE_ID));
424 if (!child_manager || !child_manager->delegate())
425 return;
426
427 return child_manager->delegate()->AccessibilityHitTest(point);
428 }
429
414 void BrowserAccessibilityManager::ActivateFindInPageResult( 430 void BrowserAccessibilityManager::ActivateFindInPageResult(
415 int request_id) { 431 int request_id) {
416 find_in_page_info_.active_request_id = request_id; 432 find_in_page_info_.active_request_id = request_id;
417 if (find_in_page_info_.request_id != request_id) 433 if (find_in_page_info_.request_id != request_id)
418 return; 434 return;
419 435
420 BrowserAccessibility* node = GetFromID(find_in_page_info_.start_id); 436 BrowserAccessibility* node = GetFromID(find_in_page_info_.start_id);
421 if (!node) 437 if (!node)
422 return; 438 return;
423 439
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 tree_->CreateTreeSource()); 850 tree_->CreateTreeSource());
835 ui::AXTreeSerializer<const ui::AXNode*, 851 ui::AXTreeSerializer<const ui::AXNode*,
836 ui::AXNodeData, 852 ui::AXNodeData,
837 ui::AXTreeData> serializer(tree_source.get()); 853 ui::AXTreeData> serializer(tree_source.get());
838 ui::AXTreeUpdate update; 854 ui::AXTreeUpdate update;
839 serializer.SerializeChanges(tree_->root(), &update); 855 serializer.SerializeChanges(tree_->root(), &update);
840 return update; 856 return update;
841 } 857 }
842 858
843 } // namespace content 859 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698