Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
index 8a6574ff933867c40ee22891a06b7b79f0388215..a6eb56de722a2827c60f2e7e220a10e3f9fe7c8d 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -2181,14 +2181,13 @@ void RenderWidgetHostViewMac::SetBackgroundOpaque(bool opaque) { |
render_widget_host_->SetBackgroundOpaque(opaque); |
} |
-void RenderWidgetHostViewMac::CreateBrowserAccessibilityManagerIfNeeded() { |
- if (!GetBrowserAccessibilityManager()) { |
- SetBrowserAccessibilityManager( |
- new BrowserAccessibilityManagerMac( |
- cocoa_view_, |
- BrowserAccessibilityManagerMac::GetEmptyDocument(), |
- render_widget_host_)); |
- } |
+BrowserAccessibilityManager* |
+ RenderWidgetHostViewMac::CreateBrowserAccessibilityManager( |
+ BrowserAccessibilityDelegate* delegate) { |
+ return new BrowserAccessibilityManagerMac( |
+ cocoa_view_, |
+ BrowserAccessibilityManagerMac::GetEmptyDocument(), |
+ delegate); |
} |
gfx::Point RenderWidgetHostViewMac::AccessibilityOriginInScreen( |
@@ -2203,33 +2202,9 @@ gfx::Point RenderWidgetHostViewMac::AccessibilityOriginInScreen( |
return gfx::Point(originInScreen.x, originInScreen.y); |
} |
-void RenderWidgetHostViewMac::OnAccessibilitySetFocus(int accObjId) { |
- // Immediately set the focused item even though we have not officially set |
- // focus on it as VoiceOver expects to get the focused item after this |
- // method returns. |
- BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
- if (manager) |
- manager->SetFocus(manager->GetFromID(accObjId), false); |
-} |
- |
-void RenderWidgetHostViewMac::AccessibilityShowMenu(int accObjId) { |
- BrowserAccessibilityManager* manager = GetBrowserAccessibilityManager(); |
- if (!manager) |
- return; |
- BrowserAccessibilityCocoa* obj = |
- manager->GetFromID(accObjId)->ToBrowserAccessibilityCocoa(); |
- |
- // Performs a right click copying WebKit's |
- // accessibilityPerformShowMenuAction. |
- NSPoint objOrigin = [obj origin]; |
- NSSize size = [[obj size] sizeValue]; |
- gfx::Point origin = AccessibilityOriginInScreen( |
- gfx::Rect(objOrigin.x, objOrigin.y, size.width, size.height)); |
- NSPoint location = NSMakePoint(origin.x(), origin.y()); |
+void RenderWidgetHostViewMac::AccessibilityShowMenu(const gfx::Point& point) { |
+ NSPoint location = NSMakePoint(point.x(), point.y()); |
location = [[cocoa_view_ window] convertScreenToBase:location]; |
- location.x += size.width/2; |
- location.y += size.height/2; |
- |
NSEvent* fakeRightClick = [NSEvent |
mouseEventWithType:NSRightMouseDown |
location:location |
@@ -2244,8 +2219,6 @@ void RenderWidgetHostViewMac::AccessibilityShowMenu(int accObjId) { |
[cocoa_view_ mouseEvent:fakeRightClick]; |
} |
- |
- |
void RenderWidgetHostViewMac::SetTextInputActive(bool active) { |
if (active) { |
if (text_input_type_ == ui::TEXT_INPUT_TYPE_PASSWORD) |
@@ -3578,7 +3551,7 @@ bool RenderWidgetHostViewMac::AcceleratedLayerHasNotAckedPendingFrame() const { |
- (id)accessibilityAttributeValue:(NSString *)attribute { |
BrowserAccessibilityManager* manager = |
- renderWidgetHostView_->GetBrowserAccessibilityManager(); |
+ renderWidgetHostView_->GetHost()->GetRootBrowserAccessibilityManager(); |
// Contents specifies document view of RenderWidgetHostViewCocoa provided by |
// BrowserAccessibilityManager. Children includes all subviews in addition to |
@@ -3603,25 +3576,28 @@ bool RenderWidgetHostViewMac::AcceleratedLayerHasNotAckedPendingFrame() const { |
} |
- (id)accessibilityHitTest:(NSPoint)point { |
- if (!renderWidgetHostView_->GetBrowserAccessibilityManager()) |
+ BrowserAccessibilityManager* manager = |
+ renderWidgetHostView_->GetHost()->GetRootBrowserAccessibilityManager(); |
+ if (!manager) |
return self; |
NSPoint pointInWindow = [[self window] convertScreenToBase:point]; |
NSPoint localPoint = [self convertPoint:pointInWindow fromView:nil]; |
localPoint.y = NSHeight([self bounds]) - localPoint.y; |
- BrowserAccessibilityCocoa* root = renderWidgetHostView_-> |
- GetBrowserAccessibilityManager()-> |
- GetRoot()->ToBrowserAccessibilityCocoa(); |
+ BrowserAccessibilityCocoa* root = |
+ manager->GetRoot()->ToBrowserAccessibilityCocoa(); |
id obj = [root accessibilityHitTest:localPoint]; |
return obj; |
} |
- (BOOL)accessibilityIsIgnored { |
- return !renderWidgetHostView_->GetBrowserAccessibilityManager(); |
+ BrowserAccessibilityManager* manager = |
+ renderWidgetHostView_->GetHost()->GetRootBrowserAccessibilityManager(); |
+ return !manager; |
} |
- (NSUInteger)accessibilityGetIndexOf:(id)child { |
BrowserAccessibilityManager* manager = |
- renderWidgetHostView_->GetBrowserAccessibilityManager(); |
+ renderWidgetHostView_->GetHost()->GetRootBrowserAccessibilityManager(); |
// Only child is root. |
if (manager && |
manager->GetRoot()->ToBrowserAccessibilityCocoa() == child) { |
@@ -3633,7 +3609,7 @@ bool RenderWidgetHostViewMac::AcceleratedLayerHasNotAckedPendingFrame() const { |
- (id)accessibilityFocusedUIElement { |
BrowserAccessibilityManager* manager = |
- renderWidgetHostView_->GetBrowserAccessibilityManager(); |
+ renderWidgetHostView_->GetHost()->GetRootBrowserAccessibilityManager(); |
if (manager) { |
BrowserAccessibility* focused_item = manager->GetFocus(NULL); |
DCHECK(focused_item); |