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

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

Issue 2408743003: Merge to M53: Android accessibility actions inside iframes not sent to right frame (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@2785_124
Patch Set: Created 4 years, 2 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_android.h" 5 #include "content/browser/accessibility/browser_accessibility_manager_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 10
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 } 592 }
593 593
594 return true; 594 return true;
595 } 595 }
596 596
597 void BrowserAccessibilityManagerAndroid::Click(JNIEnv* env, 597 void BrowserAccessibilityManagerAndroid::Click(JNIEnv* env,
598 const JavaParamRef<jobject>& obj, 598 const JavaParamRef<jobject>& obj,
599 jint id) { 599 jint id) {
600 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 600 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
601 if (node) 601 if (node)
602 DoDefaultAction(*node); 602 node->manager()->DoDefaultAction(*node);
603 } 603 }
604 604
605 void BrowserAccessibilityManagerAndroid::Focus(JNIEnv* env, 605 void BrowserAccessibilityManagerAndroid::Focus(JNIEnv* env,
606 const JavaParamRef<jobject>& obj, 606 const JavaParamRef<jobject>& obj,
607 jint id) { 607 jint id) {
608 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 608 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
609 if (node) 609 if (node)
610 SetFocus(*node); 610 node->manager()->SetFocus(*node);
611 } 611 }
612 612
613 void BrowserAccessibilityManagerAndroid::Blur( 613 void BrowserAccessibilityManagerAndroid::Blur(
614 JNIEnv* env, 614 JNIEnv* env,
615 const JavaParamRef<jobject>& obj) { 615 const JavaParamRef<jobject>& obj) {
616 SetFocus(*GetRoot()); 616 SetFocus(*GetRoot());
617 } 617 }
618 618
619 void BrowserAccessibilityManagerAndroid::ScrollToMakeNodeVisible( 619 void BrowserAccessibilityManagerAndroid::ScrollToMakeNodeVisible(
620 JNIEnv* env, 620 JNIEnv* env,
621 const JavaParamRef<jobject>& obj, 621 const JavaParamRef<jobject>& obj,
622 jint id) { 622 jint id) {
623 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 623 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
624 if (node) 624 if (node) {
625 ScrollToMakeVisible(*node, gfx::Rect(node->GetLocation().size())); 625 node->manager()->ScrollToMakeVisible(
626 *node, gfx::Rect(node->GetLocation().size()));
627 }
626 } 628 }
627 629
628 void BrowserAccessibilityManagerAndroid::SetTextFieldValue( 630 void BrowserAccessibilityManagerAndroid::SetTextFieldValue(
629 JNIEnv* env, 631 JNIEnv* env,
630 const JavaParamRef<jobject>& obj, 632 const JavaParamRef<jobject>& obj,
631 jint id, 633 jint id,
632 const JavaParamRef<jstring>& value) { 634 const JavaParamRef<jstring>& value) {
633 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 635 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
634 if (node) { 636 if (node) {
635 BrowserAccessibilityManager::SetValue( 637 node->manager()->SetValue(
636 *node, base::android::ConvertJavaStringToUTF16(env, value)); 638 *node, base::android::ConvertJavaStringToUTF16(env, value));
637 } 639 }
638 } 640 }
639 641
640 void BrowserAccessibilityManagerAndroid::SetSelection( 642 void BrowserAccessibilityManagerAndroid::SetSelection(
641 JNIEnv* env, 643 JNIEnv* env,
642 const JavaParamRef<jobject>& obj, 644 const JavaParamRef<jobject>& obj,
643 jint id, 645 jint id,
644 jint start, 646 jint start,
645 jint end) { 647 jint end) {
646 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 648 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
647 if (node) 649 if (node)
648 SetTextSelection(*node, start, end); 650 node->manager()->SetTextSelection(*node, start, end);
649 } 651 }
650 652
651 jboolean BrowserAccessibilityManagerAndroid::AdjustSlider( 653 jboolean BrowserAccessibilityManagerAndroid::AdjustSlider(
652 JNIEnv* env, 654 JNIEnv* env,
653 const JavaParamRef<jobject>& obj, 655 const JavaParamRef<jobject>& obj,
654 jint id, 656 jint id,
655 jboolean increment) { 657 jboolean increment) {
656 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 658 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
657 if (!node) 659 if (!node)
658 return false; 660 return false;
(...skipping 10 matching lines...) Expand all
669 if (max <= min) 671 if (max <= min)
670 return false; 672 return false;
671 673
672 // To behave similarly to an Android SeekBar, move by an increment of 674 // To behave similarly to an Android SeekBar, move by an increment of
673 // approximately 20%. 675 // approximately 20%.
674 float original_value = value; 676 float original_value = value;
675 float delta = (max - min) / 5.0f; 677 float delta = (max - min) / 5.0f;
676 value += (increment ? delta : -delta); 678 value += (increment ? delta : -delta);
677 value = std::max(std::min(value, max), min); 679 value = std::max(std::min(value, max), min);
678 if (value != original_value) { 680 if (value != original_value) {
679 BrowserAccessibilityManager::SetValue( 681 node->manager()->SetValue(
680 *node, base::UTF8ToUTF16(base::DoubleToString(value))); 682 *node, base::UTF8ToUTF16(base::DoubleToString(value)));
681 return true; 683 return true;
682 } 684 }
683 return false; 685 return false;
684 } 686 }
685 687
686 void BrowserAccessibilityManagerAndroid::HandleHoverEvent( 688 void BrowserAccessibilityManagerAndroid::HandleHoverEvent(
687 BrowserAccessibility* node) { 689 BrowserAccessibility* node) {
688 JNIEnv* env = AttachCurrentThread(); 690 JNIEnv* env = AttachCurrentThread();
689 ScopedJavaLocalRef<jobject> obj = GetJavaRefFromRootManager(); 691 ScopedJavaLocalRef<jobject> obj = GetJavaRefFromRootManager();
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 NOTREACHED(); 883 NOTREACHED();
882 } 884 }
883 885
884 return true; 886 return true;
885 } 887 }
886 888
887 void BrowserAccessibilityManagerAndroid::SetAccessibilityFocus( 889 void BrowserAccessibilityManagerAndroid::SetAccessibilityFocus(
888 JNIEnv* env, 890 JNIEnv* env,
889 const JavaParamRef<jobject>& obj, 891 const JavaParamRef<jobject>& obj,
890 jint id) { 892 jint id) {
891 if (delegate_) 893 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
892 delegate_->AccessibilitySetAccessibilityFocus(id); 894 if (!node)
895 return;
896
897 if (node->manager()->delegate()) {
898 node->manager()->delegate()->AccessibilitySetAccessibilityFocus(
899 node->GetId());
900 }
893 } 901 }
894 902
895 bool BrowserAccessibilityManagerAndroid::IsSlider( 903 bool BrowserAccessibilityManagerAndroid::IsSlider(
896 JNIEnv* env, 904 JNIEnv* env,
897 const JavaParamRef<jobject>& obj, 905 const JavaParamRef<jobject>& obj,
898 jint id) { 906 jint id) {
899 BrowserAccessibilityAndroid* node = GetFromUniqueID(id); 907 BrowserAccessibilityAndroid* node = GetFromUniqueID(id);
900 if (!node) 908 if (!node)
901 return false; 909 return false;
902 910
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 962
955 JNIEnv* env = AttachCurrentThread(); 963 JNIEnv* env = AttachCurrentThread();
956 return root_manager->java_ref().get(env); 964 return root_manager->java_ref().get(env);
957 } 965 }
958 966
959 bool RegisterBrowserAccessibilityManager(JNIEnv* env) { 967 bool RegisterBrowserAccessibilityManager(JNIEnv* env) {
960 return RegisterNativesImpl(env); 968 return RegisterNativesImpl(env);
961 } 969 }
962 970
963 } // namespace content 971 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698