diff options
Diffstat (limited to 'views/accessibility/view_accessibility_wrapper.cc')
-rw-r--r-- | views/accessibility/view_accessibility_wrapper.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/views/accessibility/view_accessibility_wrapper.cc b/views/accessibility/view_accessibility_wrapper.cc index 7e7f5a6..989c90a 100644 --- a/views/accessibility/view_accessibility_wrapper.cc +++ b/views/accessibility/view_accessibility_wrapper.cc @@ -4,6 +4,8 @@ #include "views/accessibility/view_accessibility_wrapper.h" +#include "base/scoped_variant_win.h" + #include "views/accessibility/view_accessibility.h" //////////////////////////////////////////////////////////////////////////////// @@ -43,6 +45,18 @@ STDMETHODIMP ViewAccessibilityWrapper::CreateDefaultInstance(REFIID iid) { return E_NOINTERFACE; } +HRESULT ViewAccessibilityWrapper::Uninitialize() { + view_ = NULL; + if (accessibility_info_.get()) { + accessibility_info_->put_accValue( + ScopedVariant(kViewsUninitializeAccessibilityInstance), NULL); + ::CoDisconnectObject(accessibility_info_.get(), 0); + accessibility_info_ = NULL; + } + + return S_OK; +} + STDMETHODIMP ViewAccessibilityWrapper::GetInstance(REFIID iid, void** interface_ptr) { if (IID_IUnknown == iid || IID_IDispatch == iid || IID_IAccessible == iid) { |