Index: content/browser/accessibility/browser_accessibility_mac.mm |
diff --git a/content/browser/accessibility/browser_accessibility_mac.mm b/content/browser/accessibility/browser_accessibility_mac.mm |
index 3d13ee8190d39aab3a7f4016bad7ff185bd90067..3d00d7127e6c3d13a8121cc443a74213526d380e 100644 |
--- a/content/browser/accessibility/browser_accessibility_mac.mm |
+++ b/content/browser/accessibility/browser_accessibility_mac.mm |
@@ -48,6 +48,20 @@ bool BrowserAccessibilityMac::IsNative() const { |
return true; |
} |
+void BrowserAccessibilityMac::RecreateNativeObject() { |
+ // Preserve the children so that recreating the native object doesn't |
+ // end up recreating the whole subtree. |
+ base::scoped_nsobject<NSMutableArray> children; |
+ if (browser_accessibility_cocoa_) { |
+ [browser_accessibility_cocoa_ swapChildren:&children]; |
+ [browser_accessibility_cocoa_ detach]; |
+ [browser_accessibility_cocoa_ release]; |
+ } |
+ browser_accessibility_cocoa_ = [[BrowserAccessibilityCocoa alloc] |
David Tseng
2014/05/12 20:01:51
Doesn't it make sense to only recreate the cocoa o
dmazzoni
2014/05/13 07:28:19
Done.
|
+ initWithObject:this]; |
+ [browser_accessibility_cocoa_ swapChildren:&children]; |
+} |
+ |
BrowserAccessibilityCocoa* BrowserAccessibility::ToBrowserAccessibilityCocoa() { |
return static_cast<BrowserAccessibilityMac*>(this)-> |
native_view(); |