Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Side by Side Diff: webkit/api/src/WebAccessibilityObject.cpp

Issue 343060: Remove WebCore dependencies from accessibility_ui_element. (Closed)
Patch Set: Actually added WebAccessibilityRole. Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 11 matching lines...) Expand all
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #include "config.h" 31 #include "config.h"
32 #include "AccessibilityObject.h"
32 #include "WebAccessibilityObject.h" 33 #include "WebAccessibilityObject.h"
33 34 #include "WebString.h"
34 #include "AccessibilityObject.h"
35 35
36 using namespace WebCore; 36 using namespace WebCore;
37 37
38 namespace WebKit { 38 namespace WebKit {
39 39
40 class WebAccessibilityObjectPrivate : public WebCore::AccessibilityObject { 40 class WebAccessibilityObjectPrivate : public WebCore::AccessibilityObject {
41 }; 41 };
42 42
43 void WebAccessibilityObject::reset() 43 void WebAccessibilityObject::reset()
44 { 44 {
45 assign(0); 45 assign(0);
46 } 46 }
47 47
48 void WebAccessibilityObject::assign(const WebKit::WebAccessibilityObject& other) 48 void WebAccessibilityObject::assign(const WebKit::WebAccessibilityObject& other)
49 { 49 {
50 WebAccessibilityObjectPrivate* p = const_cast<WebAccessibilityObjectPrivate*>(other.m_private); 50 WebAccessibilityObjectPrivate* p = const_cast<WebAccessibilityObjectPrivate*>(other.m_private);
51 if (p) 51 if (p)
52 p->ref(); 52 p->ref();
53 assign(p); 53 assign(p);
54 } 54 }
55 55
56 WebString WebAccessibilityObject::accessibilityDescription() const
57 {
58 if (!m_private)
59 return WebString();
60
61 m_private->updateBackingStore();
62 return m_private->accessibilityDescription();
63 }
64
65 WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const
66 {
67 if (!m_private)
68 return WebAccessibilityObject();
69
70 m_private->updateBackingStore();
71 if (m_private->children().size() <= index)
72 return WebAccessibilityObject();
73
74 return m_private->children()[index];
75 }
76
77 unsigned WebAccessibilityObject::childCount() const
78 {
79 if (!m_private)
80 return 0;
81
82 m_private->updateBackingStore();
83 return m_private->children().size();
84 }
85
86 bool WebAccessibilityObject::isEnabled() const
87 {
88 if (!m_private)
89 return 0;
90
91 m_private->updateBackingStore();
92 return m_private->isEnabled();
93 }
94
95 WebAccessibilityRole WebAccessibilityObject::roleValue() const
96 {
97 m_private->updateBackingStore();
98 return static_cast<WebAccessibilityRole>(m_private->roleValue());
99 }
100
101 WebString WebAccessibilityObject::title() const
102 {
103 if (!m_private)
104 return WebString();
105
106 m_private->updateBackingStore();
107 return m_private->title();
108 }
109
56 WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object) 110 WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
57 : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef())) 111 : m_private(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef()))
58 { 112 {
59 } 113 }
60 114
61 WebAccessibilityObject& WebAccessibilityObject::operator=(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object) 115 WebAccessibilityObject& WebAccessibilityObject::operator=(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
62 { 116 {
63 assign(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef())); 117 assign(static_cast<WebAccessibilityObjectPrivate*>(object.releaseRef()));
64 return *this; 118 return *this;
65 } 119 }
66 120
67 WebAccessibilityObject::operator WTF::PassRefPtr<WebCore::AccessibilityObject>() const 121 WebAccessibilityObject::operator WTF::PassRefPtr<WebCore::AccessibilityObject>() const
68 { 122 {
69 return PassRefPtr<WebCore::AccessibilityObject>(const_cast<WebAccessibilityObjectPrivate*>(m_private)); 123 return PassRefPtr<WebCore::AccessibilityObject>(const_cast<WebAccessibilityObjectPrivate*>(m_private));
70 } 124 }
71 125
72 void WebAccessibilityObject::assign(WebAccessibilityObjectPrivate* p) 126 void WebAccessibilityObject::assign(WebAccessibilityObjectPrivate* p)
73 { 127 {
74 // p is already ref'd for us by the caller 128 // p is already ref'd for us by the caller
75 if (m_private) 129 if (m_private)
76 m_private->deref(); 130 m_private->deref();
77 m_private = p; 131 m_private = p;
78 } 132 }
79 133
80 } // namespace WebKit 134 } // namespace WebKit
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698