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

Side by Side Diff: Source/core/accessibility/AXObjectCache.cpp

Issue 22331005: Clean up accessibility enums for use in Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add forgotten file back Created 7 years, 3 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 /* 1 /*
2 * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after
721 postNotification(node, AXSelectedChildrenChanged, false); 721 postNotification(node, AXSelectedChildrenChanged, false);
722 } 722 }
723 723
724 void AXObjectCache::selectedChildrenChanged(RenderObject* renderer) 724 void AXObjectCache::selectedChildrenChanged(RenderObject* renderer)
725 { 725 {
726 // postToElement is false so that you can pass in any child of an element an d it will go up the parent tree 726 // postToElement is false so that you can pass in any child of an element an d it will go up the parent tree
727 // to find the container which should send out the notification. 727 // to find the container which should send out the notification.
728 postNotification(renderer, AXSelectedChildrenChanged, false); 728 postNotification(renderer, AXSelectedChildrenChanged, false);
729 } 729 }
730 730
731 void AXObjectCache::nodeTextChangeNotification(Node* node, AXTextChange textChan ge, unsigned offset, const String& text)
732 {
733 if (!node)
734 return;
735
736 stopCachingComputedObjectAttributes();
737
738 // Delegate on the right platform
739 AccessibilityObject* obj = getOrCreate(node);
740 nodeTextChangePlatformNotification(obj, textChange, offset, text);
741 }
742
743 void AXObjectCache::handleScrollbarUpdate(ScrollView* view) 731 void AXObjectCache::handleScrollbarUpdate(ScrollView* view)
744 { 732 {
745 if (!view) 733 if (!view)
746 return; 734 return;
747 735
748 // We don't want to create a scroll view from this method, only update an ex isting one. 736 // We don't want to create a scroll view from this method, only update an ex isting one.
749 if (AccessibilityObject* scrollViewObject = get(view)) { 737 if (AccessibilityObject* scrollViewObject = get(view)) {
750 stopCachingComputedObjectAttributes(); 738 stopCachingComputedObjectAttributes();
751 scrollViewObject->updateChildrenIfNecessary(); 739 scrollViewObject->updateChildrenIfNecessary();
752 } 740 }
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 if (document != document->topDocument()) 926 if (document != document->topDocument())
939 return; 927 return;
940 obj = get(document->renderer()); 928 obj = get(document->renderer());
941 } 929 }
942 930
943 if (!obj || !obj->document() || !obj->documentFrameView() || !obj->documentF rameView()->frame() || !obj->documentFrameView()->frame()->page()) 931 if (!obj || !obj->document() || !obj->documentFrameView() || !obj->documentF rameView()->frame() || !obj->documentFrameView()->frame()->page())
944 return; 932 return;
945 933
946 ChromeClient& client = obj->documentFrameView()->frame()->page()->chrome().c lient(); 934 ChromeClient& client = obj->documentFrameView()->frame()->page()->chrome().c lient();
947 935
948 switch (notification) { 936 if (notification == AXActiveDescendantChanged
949 case AXActiveDescendantChanged: 937 && obj->document()->focusedElement()
950 if (!obj->document()->focusedElement() || (obj->node() != obj->document( )->focusedElement())) 938 && obj->node() == obj->document()->focusedElement()) {
951 break;
952
953 // Calling handleFocusedUIElementChanged will focus the new active 939 // Calling handleFocusedUIElementChanged will focus the new active
954 // descendant and send the AXFocusedUIElementChanged notification. 940 // descendant and send the AXFocusedUIElementChanged notification.
955 handleFocusedUIElementChanged(0, obj->document()->focusedElement()); 941 handleFocusedUIElementChanged(0, obj->document()->focusedElement());
956 break;
957 case AXAriaAttributeChanged:
958 case AXAutocorrectionOccured:
959 case AXCheckedStateChanged:
960 case AXChildrenChanged:
961 case AXFocusedUIElementChanged:
962 case AXInvalidStatusChanged:
963 case AXLayoutComplete:
964 case AXLiveRegionChanged:
965 case AXLoadComplete:
966 case AXMenuListItemSelected:
967 case AXMenuListValueChanged:
968 case AXRowCollapsed:
969 case AXRowCountChanged:
970 case AXRowExpanded:
971 case AXScrolledToAnchor:
972 case AXSelectedChildrenChanged:
973 case AXSelectedTextChanged:
974 case AXTextChanged:
975 case AXValueChanged:
976 break;
977 } 942 }
978 943
979 client.postAccessibilityNotification(obj, notification); 944 client.postAccessibilityNotification(obj, notification);
980 } 945 }
981 946
982 void AXObjectCache::nodeTextChangePlatformNotification(AccessibilityObject*, AXT extChange, unsigned, const String&)
983 {
984 }
985
986 void AXObjectCache::handleFocusedUIElementChanged(Node*, Node* newFocusedNode) 947 void AXObjectCache::handleFocusedUIElementChanged(Node*, Node* newFocusedNode)
987 { 948 {
988 if (!newFocusedNode) 949 if (!newFocusedNode)
989 return; 950 return;
990 951
991 Page* page = newFocusedNode->document()->page(); 952 Page* page = newFocusedNode->document()->page();
992 if (!page) 953 if (!page)
993 return; 954 return;
994 955
995 AccessibilityObject* focusedObject = focusedUIElementForPage(page); 956 AccessibilityObject* focusedObject = focusedUIElementForPage(page);
996 if (!focusedObject) 957 if (!focusedObject)
997 return; 958 return;
998 959
999 postPlatformNotification(focusedObject, AXFocusedUIElementChanged); 960 postPlatformNotification(focusedObject, AXFocusedUIElementChanged);
1000 } 961 }
1001 962
1002 void AXObjectCache::handleScrolledToAnchor(const Node* anchorNode) 963 void AXObjectCache::handleScrolledToAnchor(const Node* anchorNode)
1003 { 964 {
1004 // The anchor node may not be accessible. Post the notification for the 965 // The anchor node may not be accessible. Post the notification for the
1005 // first accessible object. 966 // first accessible object.
1006 postPlatformNotification(AccessibilityObject::firstAccessibleObjectFromNode( anchorNode), AXScrolledToAnchor); 967 postPlatformNotification(AccessibilityObject::firstAccessibleObjectFromNode( anchorNode), AXScrolledToAnchor);
1007 } 968 }
1008 969
1009 } // namespace WebCore 970 } // namespace WebCore
1010 971
1011 #endif // HAVE(ACCESSIBILITY) 972 #endif // HAVE(ACCESSIBILITY)
OLDNEW
« no previous file with comments | « Source/core/accessibility/AXObjectCache.h ('k') | Source/core/accessibility/AccessibilityImageMapLink.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698