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

Side by Side Diff: content/shell/renderer/test_runner/web_ax_object_proxy.h

Issue 1167703002: Move test runner to a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 6 months 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
(Empty)
1 // Copyright 2014 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 CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_AX_OBJECT_PROXY_H_
6 #define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_AX_OBJECT_PROXY_H_
7
8 #include <string>
9
10 #include "base/basictypes.h"
11 #include "gin/object_template_builder.h"
12 #include "gin/wrappable.h"
13 #include "third_party/WebKit/public/web/WebAXObject.h"
14 #include "v8/include/v8-util.h"
15 #include "v8/include/v8.h"
16
17 namespace blink {
18 class WebFrame;
19 }
20
21 namespace content {
22
23 class WebAXObjectProxy : public gin::Wrappable<WebAXObjectProxy> {
24 public:
25 class Factory {
26 public:
27 virtual ~Factory() { }
28 virtual v8::Local<v8::Object> GetOrCreate(
29 const blink::WebAXObject& object) = 0;
30 };
31
32 static gin::WrapperInfo kWrapperInfo;
33
34 WebAXObjectProxy(const blink::WebAXObject& object, Factory* factory);
35 ~WebAXObjectProxy() override;
36
37 // gin::Wrappable:
38 gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
39 v8::Isolate* isolate) override;
40
41 virtual v8::Local<v8::Object> GetChildAtIndex(unsigned index);
42 virtual bool IsRoot() const;
43 bool IsEqualToObject(const blink::WebAXObject& object);
44
45 void NotificationReceived(blink::WebFrame* frame,
46 const std::string& notification_name);
47 void Reset();
48
49 protected:
50 const blink::WebAXObject& accessibility_object() const {
51 return accessibility_object_;
52 }
53
54 Factory* factory() const { return factory_; }
55
56 private:
57 friend class WebAXObjectProxyBindings;
58
59 // Bound properties.
60 std::string Role();
61 std::string StringValue();
62 std::string Language();
63 int X();
64 int Y();
65 int Width();
66 int Height();
67 int IntValue();
68 int MinValue();
69 int MaxValue();
70 std::string ValueDescription();
71 int ChildrenCount();
72 int SelectionStart();
73 int SelectionEnd();
74 int SelectionStartLineNumber();
75 int SelectionEndLineNumber();
76 bool IsEnabled();
77 bool IsRequired();
78 bool IsFocused();
79 bool IsFocusable();
80 bool IsSelected();
81 bool IsSelectable();
82 bool IsMultiSelectable();
83 bool IsSelectedOptionActive();
84 bool IsExpanded();
85 bool IsChecked();
86 bool IsVisible();
87 bool IsOffScreen();
88 bool IsCollapsed();
89 bool HasPopup();
90 bool IsValid();
91 bool IsReadOnly();
92 unsigned int BackgroundColor();
93 unsigned int Color();
94 // For input elements of type color.
95 unsigned int ColorValue();
96 float FontSize();
97 std::string Orientation();
98 int PosInSet();
99 int SetSize();
100 int ClickPointX();
101 int ClickPointY();
102 int32_t RowCount();
103 int32_t RowHeadersCount();
104 int32_t ColumnCount();
105 int32_t ColumnHeadersCount();
106 bool IsClickable();
107 bool IsButtonStateMixed();
108
109 // Bound methods.
110 v8::Local<v8::Object> AriaControlsElementAtIndex(unsigned index);
111 v8::Local<v8::Object> AriaFlowToElementAtIndex(unsigned index);
112 v8::Local<v8::Object> AriaOwnsElementAtIndex(unsigned index);
113 std::string AllAttributes();
114 std::string AttributesOfChildren();
115 int LineForIndex(int index);
116 std::string BoundsForRange(int start, int end);
117 v8::Local<v8::Object> ChildAtIndex(int index);
118 v8::Local<v8::Object> ElementAtPoint(int x, int y);
119 v8::Local<v8::Object> TableHeader();
120 v8::Local<v8::Object> RowHeaderAtIndex(unsigned index);
121 v8::Local<v8::Object> ColumnHeaderAtIndex(unsigned index);
122 std::string RowIndexRange();
123 std::string ColumnIndexRange();
124 v8::Local<v8::Object> CellForColumnAndRow(int column, int row);
125 void SetSelectedTextRange(int selection_start, int length);
126 bool IsAttributeSettable(const std::string& attribute);
127 bool IsPressActionSupported();
128 bool IsIncrementActionSupported();
129 bool IsDecrementActionSupported();
130 v8::Local<v8::Object> ParentElement();
131 void Increment();
132 void Decrement();
133 void ShowMenu();
134 void Press();
135 bool IsEqual(v8::Local<v8::Object> proxy);
136 void SetNotificationListener(v8::Local<v8::Function> callback);
137 void UnsetNotificationListener();
138 void TakeFocus();
139 void ScrollToMakeVisible();
140 void ScrollToMakeVisibleWithSubFocus(int x, int y, int width, int height);
141 void ScrollToGlobalPoint(int x, int y);
142 int WordStart(int character_index);
143 int WordEnd(int character_index);
144 v8::Local<v8::Object> NextOnLine();
145 v8::Local<v8::Object> PreviousOnLine();
146
147 // DEPRECATED accessible name and description accessors
148 std::string DeprecatedTitle();
149 std::string DeprecatedDescription();
150 std::string DeprecatedHelpText();
151 v8::Local<v8::Object> DeprecatedTitleUIElement();
152
153 // NEW accessible name and description accessors
154 std::string Name();
155 std::string NameFrom();
156 int NameElementCount();
157 v8::Local<v8::Object> NameElementAtIndex(unsigned index);
158
159 blink::WebAXObject accessibility_object_;
160 Factory* factory_;
161
162 v8::Persistent<v8::Function> notification_callback_;
163
164 DISALLOW_COPY_AND_ASSIGN(WebAXObjectProxy);
165 };
166
167 class RootWebAXObjectProxy : public WebAXObjectProxy {
168 public:
169 RootWebAXObjectProxy(const blink::WebAXObject&, Factory*);
170
171 v8::Local<v8::Object> GetChildAtIndex(unsigned index) override;
172 bool IsRoot() const override;
173 };
174
175
176 // Provides simple lifetime management of the WebAXObjectProxy instances: all
177 // WebAXObjectProxys ever created from the controller are stored in a list and
178 // cleared explicitly.
179 class WebAXObjectProxyList : public WebAXObjectProxy::Factory {
180 public:
181 WebAXObjectProxyList();
182 ~WebAXObjectProxyList() override;
183
184 void Clear();
185 v8::Local<v8::Object> GetOrCreate(const blink::WebAXObject&) override;
186
187 private:
188 typedef v8::PersistentValueVector<v8::Object> ElementList;
189 ElementList elements_;
190 };
191
192 } // namespace content
193
194 #endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_AX_OBJECT_PROXY_H_
OLDNEW
« no previous file with comments | « content/shell/renderer/test_runner/text_input_controller.cc ('k') | content/shell/renderer/test_runner/web_ax_object_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698