Remove PlatformFile from profile_browsertest
[chromium-blink-merge.git] / content / browser / accessibility / browser_accessibility_gtk.h
blobc8895e358d1c745dd34cf77878b16c51661c7887
1 // Copyright (c) 2012 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.
5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_
6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_
8 #include <atk/atk.h>
10 #include "base/compiler_specific.h"
11 #include "content/browser/accessibility/browser_accessibility.h"
13 namespace content {
15 class BrowserAccessibilityGtk;
16 class BrowserAccessibilityManagerGtk;
18 G_BEGIN_DECLS
20 #define BROWSER_ACCESSIBILITY_TYPE (browser_accessibility_get_type())
21 #define BROWSER_ACCESSIBILITY(obj) \
22 (G_TYPE_CHECK_INSTANCE_CAST( \
23 (obj), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtk))
24 #define BROWSER_ACCESSIBILITY_CLASS(klass) \
25 (G_TYPE_CHECK_CLASS_CAST( \
26 (klass), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtkClass))
27 #define IS_BROWSER_ACCESSIBILITY(obj) \
28 (G_TYPE_CHECK_INSTANCE_TYPE((obj), BROWSER_ACCESSIBILITY_TYPE))
29 #define IS_BROWSER_ACCESSIBILITY_CLASS(klass) \
30 (G_TYPE_CHECK_CLASS_TYPE((klass), BROWSER_ACCESSIBILITY_TYPE))
31 #define BROWSER_ACCESSIBILITY_GET_CLASS(obj) \
32 (G_TYPE_INSTANCE_GET_CLASS( \
33 (obj), BROWSER_ACCESSIBILITY_TYPE, BrowserAccessibilityAtkClass))
35 typedef struct _BrowserAccessibilityAtk BrowserAccessibilityAtk;
36 typedef struct _BrowserAccessibilityAtkClass BrowserAccessibilityAtkClass;
38 struct _BrowserAccessibilityAtk {
39 AtkObject parent;
40 BrowserAccessibilityGtk* m_object;
43 struct _BrowserAccessibilityAtkClass {
44 AtkObjectClass parent_class;
47 GType browser_accessibility_get_type (void) G_GNUC_CONST;
49 BrowserAccessibilityAtk* browser_accessibility_new(
50 BrowserAccessibilityGtk* object);
52 BrowserAccessibilityGtk* browser_accessibility_get_object(
53 BrowserAccessibilityAtk* atk_object);
55 void browser_accessibility_detach (BrowserAccessibilityAtk* atk_object);
57 AtkObject* browser_accessibility_get_focused_element(
58 BrowserAccessibilityAtk* atk_object);
60 G_END_DECLS
62 class BrowserAccessibilityGtk : public BrowserAccessibility {
63 public:
64 BrowserAccessibilityGtk();
66 virtual ~BrowserAccessibilityGtk();
68 AtkObject* GetAtkObject() const;
70 AtkRole atk_role() { return atk_role_; }
72 // BrowserAccessibility methods.
73 virtual void PreInitialize() OVERRIDE;
74 virtual bool IsNative() const OVERRIDE;
76 private:
77 virtual void InitRoleAndState();
79 // Give BrowserAccessibility::Create access to our constructor.
80 friend class BrowserAccessibility;
82 AtkObject* atk_object_;
83 AtkRole atk_role_;
84 int interface_mask_;
86 private:
87 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityGtk);
90 } // namespace content
92 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_GTK_H_