Index: content/browser/accessibility/browser_accessibility_manager_win.cc |
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc |
index dfd1508a790f8a8a5212d51e29b63a3688175374..008081a6ff92d2f2b86083e61e85ce71abb42b3a 100644 |
--- a/content/browser/accessibility/browser_accessibility_manager_win.cc |
+++ b/content/browser/accessibility/browser_accessibility_manager_win.cc |
@@ -37,12 +37,14 @@ BrowserAccessibilityManagerWin::BrowserAccessibilityManagerWin( |
BrowserAccessibilityDelegate* delegate, |
BrowserAccessibilityFactory* factory) |
: BrowserAccessibilityManager(initial_tree, delegate, factory), |
- parent_hwnd_(accessible_hwnd->GetParent()), |
parent_iaccessible_(parent_iaccessible), |
tracked_scroll_object_(NULL), |
accessible_hwnd_(accessible_hwnd) { |
ui::win::CreateATLModuleIfNeeded(); |
- accessible_hwnd_->set_browser_accessibility_manager(this); |
+ if (accessible_hwnd_) { |
+ accessible_hwnd_->set_browser_accessibility_manager(this); |
+ parent_hwnd_ = accessible_hwnd->GetParent(); |
+ } |
} |
BrowserAccessibilityManagerWin::~BrowserAccessibilityManagerWin() { |
@@ -69,10 +71,17 @@ ui::AXTreeUpdate BrowserAccessibilityManagerWin::GetEmptyDocument() { |
return update; |
} |
+void BrowserAccessibilityManagerWin::SetAccessibleHWND( |
+ LegacyRenderWidgetHostHWND* accessible_hwnd) { |
+ accessible_hwnd_ = accessible_hwnd; |
+ accessible_hwnd_->set_browser_accessibility_manager(this); |
+ parent_hwnd_ = accessible_hwnd->GetParent(); |
+} |
+ |
void BrowserAccessibilityManagerWin::MaybeCallNotifyWinEvent(DWORD event, |
LONG child_id) { |
// Don't fire events if this view isn't hooked up to its parent. |
- if (!parent_iaccessible()) |
+ if (!parent_iaccessible() || !parent_hwnd()) |
return; |
// If on Win 7 and complete accessibility is enabled, use the fake child HWND |