class BrowserAccessibilityMac : public BrowserAccessibility {
public:
- // Implementation of BrowserAccessibility.
- virtual void PreInitialize() OVERRIDE;
- virtual void NativeReleaseReference() OVERRIDE;
- virtual bool IsNative() const OVERRIDE;
-
- // Overrides from BrowserAccessibility.
- virtual void DetachTree(std::vector<BrowserAccessibility*>* nodes) OVERRIDE;
- virtual void SwapChildren(std::vector<BrowserAccessibility*>& children)
- OVERRIDE;
+ // BrowserAccessibility overrides.
+ void NativeReleaseReference() override;
+ bool IsNative() const override;
+ void OnDataChanged() override;
// The BrowserAccessibilityCocoa associated with us.
BrowserAccessibilityCocoa* native_view() const {
return browser_accessibility_cocoa_;
}
+ // Detach the BrowserAccessibilityCocoa object and then recreate it.
+ // This is only used to work around VoiceOver bugs by forcing VoiceOver
+ // to rebuild its internal state.
+ void RecreateNativeObject();
+
private:
// This gives BrowserAccessibility::Create access to the class constructor.
friend class BrowserAccessibility;