1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ 6 #define CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ 7 #pragma once 8 9 #include <oleacc.h> 10 11 #include "base/win/scoped_comptr.h" 12 #include "chrome/browser/accessibility/browser_accessibility_manager.h" 13 #include "webkit/glue/webaccessibility.h" 14 15 class BrowserAccessibilityWin; 16 struct ViewHostMsg_AccessibilityNotification_Params; 17 18 using webkit_glue::WebAccessibility; 19 20 // Manages a tree of BrowserAccessibilityWin objects. 21 class BrowserAccessibilityManagerWin : public BrowserAccessibilityManager { 22 public: 23 virtual ~BrowserAccessibilityManagerWin(); 24 25 // Get a the default IAccessible for the parent window, does not make a 26 // new reference. 27 IAccessible* GetParentWindowIAccessible(); 28 29 // BrowserAccessibilityManager methods 30 virtual void NotifyAccessibilityEvent(int type, BrowserAccessibility* node); 31 32 private: 33 BrowserAccessibilityManagerWin( 34 HWND parent_window, 35 const WebAccessibility& src, 36 BrowserAccessibilityDelegate* delegate, 37 BrowserAccessibilityFactory* factory); 38 39 // A default IAccessible instance for the parent window. 40 base::win::ScopedComPtr<IAccessible> window_iaccessible_; 41 42 // Give BrowserAccessibilityManager::Create access to our constructor. 43 friend class BrowserAccessibilityManager; 44 45 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerWin); 46 }; 47 48 #endif // CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_ 49