Open Bug 675137 Opened 13 years ago Updated 2 years ago

remove nsIAccessible::getNativeInterface

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

People

(Reporter: surkov, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: access)

1) get rid nsIAccessible::getNativeInterface 2) introduce NativeObject() per each nsAccessNodeWrap to get a pointer to native object, like AtkObject* NativeObject(); IAccessible* NativeObject(); mozAccessible* NativeObject(); 3) get rid nsAccessibleWrap::GetAtkObject() helper
would the following do a trick? // nsAccessible.h class OSAccessible; class nsAccessible { public: virtual OSAccessible* OSObject() = 0; } // atk/nsAccessibleWrap.h typedef AtkObject OSAccessible; class nsAccessibleWrap { public: virtual OSAccessible* OSObject() { return mAtkObject; } } // atk/nsAccessibleWrap.cpp void foo(nsAccessible* aAccessible) { AtkObject* atkAccessible = aAccessible->OSObject(); }
(In reply to alexander :surkov from comment #0) > 2) introduce NativeObject() per each nsAccessNodeWrap to get a pointer to > native object, like > AtkObject* NativeObject(); > IAccessible* NativeObject(); > mozAccessible* NativeObject(); On Mac it would have to be objc_object* OSObject() as mozAccessible is an Objective-C class. But that's a detail. Works for me. objc_object* it typedef to id which is the generic Objective-C object.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.