AX: AX needs to stop using WebCoreViewFactory
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Feb 2011 18:25:16 +0000 (18:25 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Feb 2011 18:25:16 +0000 (18:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=54153

Reviewed by Anders Carlsson.

../WebCore:

WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
to get off of it and use WebCoreSystemInterface, like other clients.

* WebCore.exp.in:
* accessibility/AXObjectCache.h:
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/mac/AccessibilityObjectWrapper.h:
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
(CFAutoreleaseHelper):
(AXObjectIsTextMarker):
(AXObjectIsTextMarkerRange):
(AXTextMarkerRange):
(AXTextMarkerRangeStart):
(AXTextMarkerRangeEnd):
(textMarkerForVisiblePosition):
(-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
(visiblePositionForTextMarker):
(-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
(visiblePositionForStartOfTextMarkerRange):
(visiblePositionForEndOfTextMarkerRange):
(textMarkerRangeFromMarkers):
(AXAttributeStringSetElement):
(-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
(textMarkerRangeFromVisiblePositions):
(-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
(-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
(-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
(-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
* editing/mac/SelectionControllerMac.mm:
(WebCore::accessibilityConvertScreenRect):
(WebCore::SelectionController::notifyAccessibilityForSelectionChange):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

../WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

../WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@78241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.exp.in
Source/WebCore/accessibility/AXObjectCache.h
Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.h
Source/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
Source/WebCore/editing/mac/SelectionControllerMac.mm
Source/WebCore/platform/mac/WebCoreSystemInterface.h
Source/WebCore/platform/mac/WebCoreSystemInterface.mm
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm

index c7bf3f9..71509d1 100644 (file)
@@ -1,3 +1,47 @@
+2011-02-10  Chris Fleizach  <cfleizach@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        AX: AX needs to stop using WebCoreViewFactory
+        https://bugs.webkit.org/show_bug.cgi?id=54153
+
+        WebKit2 no longer uses WebCoreViewFactory, which means that accessibility code needs
+        to get off of it and use WebCoreSystemInterface, like other clients.
+
+        * WebCore.exp.in:
+        * accessibility/AXObjectCache.h:
+        * accessibility/mac/AXObjectCacheMac.mm:
+        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
+        * accessibility/mac/AccessibilityObjectWrapper.h:
+        * accessibility/mac/AccessibilityObjectWrapper.mm:
+        (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]):
+        (CFAutoreleaseHelper):
+        (AXObjectIsTextMarker):
+        (AXObjectIsTextMarkerRange):
+        (AXTextMarkerRange):
+        (AXTextMarkerRangeStart):
+        (AXTextMarkerRangeEnd):
+        (textMarkerForVisiblePosition):
+        (-[AccessibilityObjectWrapper textMarkerForVisiblePosition:]):
+        (visiblePositionForTextMarker):
+        (-[AccessibilityObjectWrapper visiblePositionForTextMarker:]):
+        (visiblePositionForStartOfTextMarkerRange):
+        (visiblePositionForEndOfTextMarkerRange):
+        (textMarkerRangeFromMarkers):
+        (AXAttributeStringSetElement):
+        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
+        (textMarkerRangeFromVisiblePositions):
+        (-[AccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
+        (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
+        (-[AccessibilityObjectWrapper textMarkerRangeForSelection]):
+        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
+        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
+        * editing/mac/SelectionControllerMac.mm:
+        (WebCore::accessibilityConvertScreenRect):
+        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+        * platform/mac/WebCoreSystemInterface.h:
+        * platform/mac/WebCoreSystemInterface.mm:
+
 2011-02-10  Alexis Menard  <alexis.menard@nokia.com>
 
         Reviewed by Andreas Kling.
index 57c7202..e09fbe4 100644 (file)
@@ -1341,6 +1341,17 @@ _wkWillEndLiveResize
 _wkWillStartLiveResize
 #endif
 
+_wkUnregisterUniqueIdForElement
+_wkAccessibilityHandleFocusChanged
+_wkGetAXTextMarkerTypeID
+_wkGetAXTextMarkerRangeTypeID
+_wkCreateAXTextMarkerRange
+_wkCopyAXTextMarkerRangeStart
+_wkCopyAXTextMarkerRangeEnd 
+_wkCreateAXTextMarker
+_wkGetBytesFromAXTextMarker
+_wkCreateAXUIElementRef
+
 #if ENABLE(3D_RENDERING)
 _WebCoreHas3DRendering
 #endif
index 00e7fbc..d2d40c1 100644 (file)
 #include <wtf/HashSet.h>
 #include <wtf/RefPtr.h>
 
-#ifdef __OBJC__
-@class WebCoreTextMarker;
-#else
-class WebCoreTextMarker;
-#endif
-
 namespace WebCore {
 
 class Document;
index 13c8ec2..e223bf4 100644 (file)
@@ -31,7 +31,7 @@
 #import "AccessibilityObject.h"
 #import "AccessibilityObjectWrapper.h"
 #import "RenderObject.h"
-#import "WebCoreViewFactory.h"
+#import "WebCoreSystemInterface.h"
 
 #import <wtf/PassRefPtr.h>
 
@@ -127,7 +127,7 @@ void AXObjectCache::nodeTextChangePlatformNotification(AccessibilityObject*, AXT
 
 void AXObjectCache::handleFocusedUIElementChanged(RenderObject*, RenderObject*)
 {
-    [[WebCoreViewFactory sharedFactory] accessibilityHandleFocusChanged];
+    wkAccessibilityHandleFocusChanged();
 }
 
 void AXObjectCache::handleScrolledToAnchor(const Node*)
index b54d3fc..2d29e1e 100644 (file)
 #ifndef AccessibilityObjectWrapper_h
 #define AccessibilityObjectWrapper_h
 
-#ifdef __OBJC__
-@class WebCoreTextMarker;
-@class WebCoreTextMarkerRange;
-#else
-class WebCoreTextMarker;
-class WebCoreTextMarkerRange;
-#endif
-
 namespace WebCore {
 class AccessibilityObject;
 class VisiblePosition;
index 6cc8b30..8fe3a49 100644 (file)
@@ -61,7 +61,7 @@
 #import "TextIterator.h"
 #import "WebCoreFrameView.h"
 #import "WebCoreObjCExtras.h"
-#import "WebCoreViewFactory.h"
+#import "WebCoreSystemInterface.h"
 #import "htmlediting.h"
 #import "visible_units.h"
 
@@ -194,7 +194,7 @@ typedef unsigned NSUInteger;
 
 - (void)unregisterUniqueIdForUIElement
 {
-    [[WebCoreViewFactory sharedFactory] unregisterUniqueIdForUIElement:self];
+    wkUnregisterUniqueIdForElement(self);
 }
 
 - (void)detach
@@ -237,7 +237,52 @@ typedef unsigned NSUInteger;
     return NSAccessibilityUnignoredDescendant(widget->platformWidget());
 }
 
-static WebCoreTextMarker* textMarkerForVisiblePosition(AXObjectCache* cache, const VisiblePosition& visiblePos)
+#pragma mark SystemInterface wrappers
+
+static inline id CFAutoreleaseHelper(CFTypeRef obj)
+{
+    if (obj)
+        CFMakeCollectable(obj);
+    [(id)obj autorelease];
+    return (id)obj;
+}
+
+static inline BOOL AXObjectIsTextMarker(id obj)
+{
+    return obj != nil && CFGetTypeID(obj) == wkGetAXTextMarkerTypeID();    
+}
+
+static inline BOOL AXObjectIsTextMarkerRange(id obj)
+{
+    return obj != nil && CFGetTypeID(obj) == wkGetAXTextMarkerRangeTypeID();    
+}
+
+static id AXTextMarkerRange(id startMarker, id endMarker)
+{
+    ASSERT(startMarker != nil);
+    ASSERT(endMarker != nil);
+    ASSERT(CFGetTypeID(startMarker) == wkGetAXTextMarkerTypeID());
+    ASSERT(CFGetTypeID(endMarker) == wkGetAXTextMarkerTypeID());
+    return CFAutoreleaseHelper(wkCreateAXTextMarkerRange((CFTypeRef)startMarker, (CFTypeRef)endMarker));
+}
+
+static id AXTextMarkerRangeStart(id range)
+{
+    ASSERT(range != nil);
+    ASSERT(CFGetTypeID(range) == wkGetAXTextMarkerRangeTypeID());
+    return CFAutoreleaseHelper(wkCopyAXTextMarkerRangeStart(range));    
+}
+
+static id AXTextMarkerRangeEnd(id range)
+{
+    ASSERT(range != nil);
+    ASSERT(CFGetTypeID(range) == wkGetAXTextMarkerRangeTypeID());
+    return CFAutoreleaseHelper(wkCopyAXTextMarkerRangeEnd(range));    
+}
+
+#pragma mark Text Marker helpers
+
+static id textMarkerForVisiblePosition(AXObjectCache* cache, const VisiblePosition& visiblePos)
 {
     ASSERT(cache);
     
@@ -246,48 +291,48 @@ static WebCoreTextMarker* textMarkerForVisiblePosition(AXObjectCache* cache, con
     if (!textMarkerData.axID)
         return nil;
     
-    return [[WebCoreViewFactory sharedFactory] textMarkerWithBytes:&textMarkerData length:sizeof(textMarkerData)];
+    return CFAutoreleaseHelper(wkCreateAXTextMarker(&textMarkerData, sizeof(textMarkerData)));
 }
 
-- (WebCoreTextMarker *)textMarkerForVisiblePosition:(const VisiblePosition &)visiblePos
+- (id)textMarkerForVisiblePosition:(const VisiblePosition &)visiblePos
 {
     return textMarkerForVisiblePosition(m_object->axObjectCache(), visiblePos);
 }
 
-static VisiblePosition visiblePositionForTextMarker(AXObjectCache* cache, WebCoreTextMarker* textMarker)
+static VisiblePosition visiblePositionForTextMarker(AXObjectCache* cache, CFTypeRef textMarker)
 {
     ASSERT(cache);
 
     if (!textMarker)
         return VisiblePosition();
     TextMarkerData textMarkerData;
-    if (![[WebCoreViewFactory sharedFactory] getBytes:&textMarkerData fromTextMarker:textMarker length:sizeof(textMarkerData)])
+    if (!wkGetBytesFromAXTextMarker(textMarker, &textMarkerData, sizeof(textMarkerData)))
         return VisiblePosition();
     
     return cache->visiblePositionForTextMarkerData(textMarkerData);
 }
 
-- (VisiblePosition)visiblePositionForTextMarker:(WebCoreTextMarker *)textMarker
+- (VisiblePosition)visiblePositionForTextMarker:(id)textMarker
 {
     return visiblePositionForTextMarker(m_object->axObjectCache(), textMarker);
 }
 
-static VisiblePosition visiblePositionForStartOfTextMarkerRange(AXObjectCache *cache, WebCoreTextMarkerRange* textMarkerRange)
+static VisiblePosition visiblePositionForStartOfTextMarkerRange(AXObjectCache *cache, id textMarkerRange)
 {
-    return visiblePositionForTextMarker(cache, [[WebCoreViewFactory sharedFactory] startOfTextMarkerRange:textMarkerRange]);
+    return visiblePositionForTextMarker(cache, AXTextMarkerRangeStart(textMarkerRange));
 }
 
-static VisiblePosition visiblePositionForEndOfTextMarkerRange(AXObjectCache *cache, WebCoreTextMarkerRange* textMarkerRange)
+static VisiblePosition visiblePositionForEndOfTextMarkerRange(AXObjectCache *cache, id textMarkerRange)
 {
-    return visiblePositionForTextMarker(cache, [[WebCoreViewFactory sharedFactory] endOfTextMarkerRange:textMarkerRange]);
+    return visiblePositionForTextMarker(cache, AXTextMarkerRangeEnd(textMarkerRange));
 }
 
-static WebCoreTextMarkerRange* textMarkerRangeFromMarkers(WebCoreTextMarker* textMarker1, WebCoreTextMarker* textMarker2)
+static id textMarkerRangeFromMarkers(id textMarker1, id textMarker2)
 {
     if (!textMarker1 || !textMarker2)
         return nil;
         
-    return [[WebCoreViewFactory sharedFactory] textMarkerRangeWithStart:textMarker1 end:textMarker2];
+    return AXTextMarkerRange(textMarker1, textMarker2);
 }
 
 static void AXAttributeStringSetFont(NSMutableAttributedString* attrString, NSString* attribute, NSFont* font, NSRange range)
@@ -484,7 +529,7 @@ static void AXAttributeStringSetElement(NSMutableAttributedString* attrString, N
         if (!cache)
             return;
 
-        AXUIElementRef axElement = [[WebCoreViewFactory sharedFactory] AXUIElementForElement:object->wrapper()];
+        AXUIElementRef axElement = wkCreateAXUIElementRef(object->wrapper());
         if (axElement) {
             [attrString addAttribute:attribute value:(id)axElement range:range];
             CFRelease(axElement);
@@ -543,7 +588,7 @@ static NSString* nsStringForReplacedNode(Node* replacedNode)
     return [NSString stringWithCharacters:&attachmentChar length:1];
 }
 
-- (NSAttributedString*)doAXAttributedStringForTextMarkerRange:(WebCoreTextMarkerRange*)textMarkerRange
+- (NSAttributedString*)doAXAttributedStringForTextMarkerRange:(id)textMarkerRange
 {
     if (!m_object)
         return nil;
@@ -599,14 +644,14 @@ static NSString* nsStringForReplacedNode(Node* replacedNode)
     return [attrString autorelease];
 }
 
-static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(AXObjectCache *cache, VisiblePosition startPosition, VisiblePosition endPosition)
+static id textMarkerRangeFromVisiblePositions(AXObjectCache *cache, VisiblePosition startPosition, VisiblePosition endPosition)
 {
-    WebCoreTextMarker* startTextMarker = textMarkerForVisiblePosition(cache, startPosition);
-    WebCoreTextMarker* endTextMarker = textMarkerForVisiblePosition(cache, endPosition);
+    id startTextMarker = textMarkerForVisiblePosition(cache, startPosition);
+    id endTextMarker = textMarkerForVisiblePosition(cache, endPosition);
     return textMarkerRangeFromMarkers(startTextMarker, endTextMarker);
 }
 
-- (WebCoreTextMarkerRange *)textMarkerRangeFromVisiblePositions:(VisiblePosition)startPosition endPosition:(VisiblePosition)endPosition
+- (id)textMarkerRangeFromVisiblePositions:(VisiblePosition)startPosition endPosition:(VisiblePosition)endPosition
 {
     return textMarkerRangeFromVisiblePositions(m_object->axObjectCache(), startPosition, endPosition);
 }
@@ -1038,7 +1083,7 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(AXObjectCache
     return objectAttributes;
 }
 
-- (VisiblePositionRange)visiblePositionRangeForTextMarkerRange:(WebCoreTextMarkerRange*) textMarkerRange
+- (VisiblePositionRange)visiblePositionRangeForTextMarkerRange:(id)textMarkerRange
 {
     if (!textMarkerRange)
         return VisiblePositionRange();
@@ -1092,7 +1137,7 @@ static NSMutableArray* convertToNSArray(const AccessibilityObject::Accessibility
     return array;
 }
 
-- (WebCoreTextMarkerRange*)textMarkerRangeForSelection
+- (id)textMarkerRangeForSelection
 {
     VisibleSelection selection = m_object->selection();
     if (selection.isNone())
@@ -2326,15 +2371,15 @@ static NSString* roleValueToNSString(AccessibilityRole value)
     if (![self updateObjectBackingStore])
         return;
 
-    WebCoreTextMarkerRange* textMarkerRange = nil;
+    id textMarkerRange = nil;
     NSNumber*               number = nil;
     NSString*               string = nil;
     NSRange                 range = {0, 0};
     NSArray*                array = nil;
     
     // decode the parameter
-    if ([[WebCoreViewFactory sharedFactory] objectIsTextMarkerRange:value])
-        textMarkerRange = (WebCoreTextMarkerRange*) value;
+    if (AXObjectIsTextMarkerRange(value))
+        textMarkerRange = value;
 
     else if ([value isKindOfClass:[NSNumber self]])
         number = value;
@@ -2443,8 +2488,8 @@ static RenderObject* rendererForView(NSView* view)
 
 - (id)accessibilityAttributeValue:(NSString*)attribute forParameter:(id)parameter
 {
-    WebCoreTextMarker* textMarker = nil;
-    WebCoreTextMarkerRange* textMarkerRange = nil;
+    id textMarker = nil;
+    id textMarkerRange = nil;
     NSNumber* number = nil;
     NSArray* array = nil;
     RefPtr<AccessibilityObject> uiElement = 0;
@@ -2463,11 +2508,11 @@ static RenderObject* rendererForView(NSView* view)
     // common parameter type check/casting.  Nil checks in handlers catch wrong type case.
     // NOTE: This assumes nil is not a valid parameter, because it is indistinguishable from
     // a parameter of the wrong type.
-    if ([[WebCoreViewFactory sharedFactory] objectIsTextMarker:parameter])
-        textMarker = (WebCoreTextMarker*) parameter;
+    if (AXObjectIsTextMarker(parameter))
+        textMarker = parameter;
 
-    else if ([[WebCoreViewFactory sharedFactory] objectIsTextMarkerRange:parameter])
-        textMarkerRange = (WebCoreTextMarkerRange*) parameter;
+    else if (AXObjectIsTextMarkerRange(parameter))
+        textMarkerRange = parameter;
 
     else if ([parameter isKindOfClass:[AccessibilityObjectWrapper self]])
         uiElement = [(AccessibilityObjectWrapper*)parameter accessibilityObject];
@@ -2554,10 +2599,9 @@ static RenderObject* rendererForView(NSView* view)
         if ([array count] < 2)
             return nil;
 
-        WebCoreTextMarker* textMarker1 = (WebCoreTextMarker*) [array objectAtIndex:0];
-        WebCoreTextMarker* textMarker2 = (WebCoreTextMarker*) [array objectAtIndex:1];
-        if (![[WebCoreViewFactory sharedFactory] objectIsTextMarker:textMarker1] 
-            || ![[WebCoreViewFactory sharedFactory] objectIsTextMarker:textMarker2])
+        id textMarker1 = [array objectAtIndex:0];
+        id textMarker2 = [array objectAtIndex:1];
+        if (!AXObjectIsTextMarker(textMarker1) || !AXObjectIsTextMarker(textMarker2))
             return nil;
 
         VisiblePosition visiblePos1 = [self visiblePositionForTextMarker:(textMarker1)];
index 730eb60..119d406 100644 (file)
 
 namespace WebCore {
 
+static CGRect accessibilityConvertScreenRect(CGRect bounds)
+{
+    NSArray *screens = [NSScreen screens];
+    if ([screens count]) {
+        CGFloat screenHeight = NSHeight([[screens objectAtIndex:0] frame]);
+        bounds.origin.y = (screenHeight - (bounds.origin.y + bounds.size.height));
+    } else
+        bounds = CGRectZero;    
+    
+    return bounds;
+}
+    
+    
 void SelectionController::notifyAccessibilityForSelectionChange()
 {
     Document* document = m_frame->document();
@@ -58,8 +71,8 @@ void SelectionController::notifyAccessibilityForSelectionChange()
     viewRect = frameView->contentsToScreen(viewRect);
     CGRect cgCaretRect = CGRectMake(selectionRect.x(), selectionRect.y(), selectionRect.width(), selectionRect.height());
     CGRect cgViewRect = CGRectMake(viewRect.x(), viewRect.y(), viewRect.width(), viewRect.height());
-    cgCaretRect = [[WebCoreViewFactory sharedFactory] accessibilityConvertScreenRect:cgCaretRect];
-    cgViewRect = [[WebCoreViewFactory sharedFactory] accessibilityConvertScreenRect:cgViewRect];
+    cgCaretRect = accessibilityConvertScreenRect(cgCaretRect);
+    cgViewRect = accessibilityConvertScreenRect(cgViewRect);
 
     UAZoomChangeFocus(&cgViewRect, &cgCaretRect, kUAZoomFocusTypeInsertionPoint);
 }
index 401ca1b..e6d6cf6 100644 (file)
@@ -224,6 +224,17 @@ extern void (*wkContentAreaDidHide)(WKScrollbarPainterControllerRef);
 extern bool (*wkScrollbarPainterUsesOverlayScrollers)(void);
 #endif
 
+extern void (*wkUnregisterUniqueIdForElement)(id element);
+extern void (*wkAccessibilityHandleFocusChanged)(void);    
+extern CFTypeID (*wkGetAXTextMarkerTypeID)(void);
+extern CFTypeID (*wkGetAXTextMarkerRangeTypeID)(void);
+extern CFTypeRef (*wkCreateAXTextMarkerRange)(CFTypeRef start, CFTypeRef end);
+extern CFTypeRef (*wkCopyAXTextMarkerRangeStart)(CFTypeRef range);
+extern CFTypeRef (*wkCopyAXTextMarkerRangeEnd)(CFTypeRef range);
+extern CFTypeRef (*wkCreateAXTextMarker)(const void *bytes, size_t len);
+extern BOOL (*wkGetBytesFromAXTextMarker)(CFTypeRef textMarker, void *bytes, size_t length);
+extern AXUIElementRef (*wkCreateAXUIElementRef)(id element);
+
 }
 
 #endif
index ad13f71..24bdcb1 100644 (file)
@@ -160,3 +160,15 @@ void (*wkContentAreaDidHide)(WKScrollbarPainterControllerRef);
 
 bool (*wkScrollbarPainterUsesOverlayScrollers)(void);
 #endif
+
+void (*wkUnregisterUniqueIdForElement)(id element);
+void (*wkAccessibilityHandleFocusChanged)(void);
+CFTypeID (*wkGetAXTextMarkerTypeID)(void);
+CFTypeID (*wkGetAXTextMarkerRangeTypeID)(void);
+CFTypeRef (*wkCreateAXTextMarkerRange)(CFTypeRef start, CFTypeRef end);
+CFTypeRef (*wkCopyAXTextMarkerRangeStart)(CFTypeRef range);
+CFTypeRef (*wkCopyAXTextMarkerRangeEnd)(CFTypeRef range);
+CFTypeRef (*wkCreateAXTextMarker)(const void *bytes, size_t len);
+BOOL (*wkGetBytesFromAXTextMarker)(CFTypeRef textMarker, void *bytes, size_t length);
+AXUIElementRef (*wkCreateAXUIElementRef)(id element);
+
index 15a2f52..d37ac0e 100644 (file)
@@ -1,3 +1,13 @@
+2011-02-10  Chris Fleizach  <cfleizach@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        AX: AX needs to stop using WebCoreViewFactory
+        https://bugs.webkit.org/show_bug.cgi?id=54153
+
+        * WebCoreSupport/WebSystemInterface.mm:
+        (InitWebCoreSystemInterface):
+
 2011-02-10  Peter Varga  <pvarga@webkit.org>
 
         Reviewed by Csaba Osztrogon√°c.
index 1143c7b..c39576b 100644 (file)
@@ -156,5 +156,16 @@ void InitWebCoreSystemInterface(void)
     INIT(ScrollbarPainterUsesOverlayScrollers);
 #endif
 
+    INIT(GetAXTextMarkerTypeID);
+    INIT(GetAXTextMarkerRangeTypeID);
+    INIT(CreateAXTextMarker);
+    INIT(GetBytesFromAXTextMarker);
+    INIT(CreateAXTextMarkerRange);
+    INIT(CopyAXTextMarkerRangeStart);
+    INIT(CopyAXTextMarkerRangeEnd);
+    INIT(AccessibilityHandleFocusChanged);
+    INIT(CreateAXUIElementRef);
+    INIT(UnregisterUniqueIdForElement);
+
     didInit = true;
 }
index b512a07..ccb9c03 100644 (file)
@@ -1,3 +1,13 @@
+2011-02-10  Chris Fleizach  <cfleizach@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        AX: AX needs to stop using WebCoreViewFactory
+        https://bugs.webkit.org/show_bug.cgi?id=54153
+
+        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+        (InitWebCoreSystemInterface):
+
 2011-02-10  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Anders Carlsson.
index cd55757..2d74bbc 100644 (file)
@@ -130,5 +130,16 @@ void InitWebCoreSystemInterface(void)
 #else
         INIT(GetHyphenationLocationBeforeIndex);
 #endif
+        
+        INIT(GetAXTextMarkerTypeID);
+        INIT(GetAXTextMarkerRangeTypeID);
+        INIT(CreateAXTextMarker);
+        INIT(GetBytesFromAXTextMarker);
+        INIT(CreateAXTextMarkerRange);
+        INIT(CopyAXTextMarkerRangeStart);
+        INIT(CopyAXTextMarkerRangeEnd);
+        INIT(AccessibilityHandleFocusChanged);
+        INIT(CreateAXUIElementRef);
+        INIT(UnregisterUniqueIdForElement);        
     });
 }