blob: 04ea53f2b10dfc1588b2301f7fa59e55f20fd5d8 [file] [log] [blame]
[email protected]8ee65ba2011-04-12 20:53:231// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]c5c2a672010-10-01 23:28:042// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]ba1fa652011-06-25 05:16:225#ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_
6#define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_
[email protected]c5c2a672010-10-01 23:28:047#pragma once
8
[email protected]20bb0062010-10-06 21:24:379#include <oleacc.h>
10
[email protected]8ee65ba2011-04-12 20:53:2311#include "base/win/scoped_comptr.h"
[email protected]ba1fa652011-06-25 05:16:2212#include "content/browser/accessibility/browser_accessibility_manager.h"
[email protected]c5c2a672010-10-01 23:28:0413#include "webkit/glue/webaccessibility.h"
14
15class BrowserAccessibilityWin;
16struct ViewHostMsg_AccessibilityNotification_Params;
17
[email protected]f27e81c2010-10-07 05:20:2318using webkit_glue::WebAccessibility;
[email protected]c5c2a672010-10-01 23:28:0419
20// Manages a tree of BrowserAccessibilityWin objects.
21class BrowserAccessibilityManagerWin : public BrowserAccessibilityManager {
22 public:
[email protected]c5c2a672010-10-01 23:28:0423 virtual ~BrowserAccessibilityManagerWin();
24
[email protected]c5c2a672010-10-01 23:28:0425 // Get a the default IAccessible for the parent window, does not make a
26 // new reference.
27 IAccessible* GetParentWindowIAccessible();
28
[email protected]f27e81c2010-10-07 05:20:2329 // BrowserAccessibilityManager methods
[email protected]a527a022011-02-10 02:32:3630 virtual void NotifyAccessibilityEvent(int type, BrowserAccessibility* node);
[email protected]c5c2a672010-10-01 23:28:0431
32 private:
[email protected]f27e81c2010-10-07 05:20:2333 BrowserAccessibilityManagerWin(
34 HWND parent_window,
35 const WebAccessibility& src,
36 BrowserAccessibilityDelegate* delegate,
37 BrowserAccessibilityFactory* factory);
[email protected]c5c2a672010-10-01 23:28:0438
39 // A default IAccessible instance for the parent window.
[email protected]8ee65ba2011-04-12 20:53:2340 base::win::ScopedComPtr<IAccessible> window_iaccessible_;
[email protected]c5c2a672010-10-01 23:28:0441
[email protected]f27e81c2010-10-07 05:20:2342 // Give BrowserAccessibilityManager::Create access to our constructor.
43 friend class BrowserAccessibilityManager;
[email protected]c5c2a672010-10-01 23:28:0444
45 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManagerWin);
46};
47
[email protected]ba1fa652011-06-25 05:16:2248#endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_WIN_H_