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

Side by Side Diff: content/browser/accessibility/browser_accessibility_event.cc

Issue 1925473002: Add verbose logging for native accessibility events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@load_complete
Patch Set: address all feedback Created 4 years, 7 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 2016 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 #include "content/browser/accessibility/browser_accessibility_event.h"
6
7 #include <string>
8
9 #include "base/strings/string_util.h"
10 #include "content/browser/accessibility/browser_accessibility.h"
11 #include "content/browser/accessibility/browser_accessibility_manager.h"
12
13 namespace content {
14
15 namespace {
16 std::string ReplaceNewlines(std::string str) {
17 std::string result;
18 base::ReplaceChars(str, "\n", "\\n", &result);
19 return result;
20 }
21 } // namespace
22
23 // static
24 bool BrowserAccessibilityEvent::FailedToSend(Result result) {
25 switch (result) {
26 case Sent:
27 case NotNeededOnThisPlatform:
28 case DiscardedBecauseUserNavigatingAway:
29 case DiscardedBecauseLiveRegionBusy:
30 return false;
31 case FailedBecauseNoWindow:
32 case FailedBecauseNoFocus:
33 case FailedBecauseFrameIsDetached:
34 return true;
35 }
36
37 NOTREACHED();
38 return true;
39 }
40
41 #if !defined(OS_WIN)
42 // static
43 BrowserAccessibilityEvent* BrowserAccessibilityEvent::Create(
44 Source source,
45 ui::AXEvent event_type,
46 const BrowserAccessibility* target) {
47 return new BrowserAccessibilityEvent(source, event_type, target);
48 }
49 #endif // !defined(OS_WIN)
50
51 BrowserAccessibilityEvent::BrowserAccessibilityEvent(
52 Source source,
53 ui::AXEvent event_type,
54 const BrowserAccessibility* target)
55 : source_(source),
56 event_type_(event_type),
57 target_(target),
58 original_target_(target) {
59 DCHECK(target_);
60 }
61
62 BrowserAccessibilityEvent::~BrowserAccessibilityEvent() {
63 }
64
65 BrowserAccessibilityEvent::Result BrowserAccessibilityEvent::Fire() {
66 delete this;
67 return NotNeededOnThisPlatform;
68 }
69
70 std::string BrowserAccessibilityEvent::GetEventNameStr() {
71 return ui::ToString(event_type_);
72 }
73
74 void BrowserAccessibilityEvent::VerboseLog(Result result) {
75 std::string event_name = GetEventNameStr();
76
77 const char* result_str = nullptr;
78 switch (result) {
79 case Sent:
80 result_str = "Sent";
81 break;
82 case NotNeededOnThisPlatform:
83 result_str = "NotNeededOnThisPlatform";
84 break;
85 case DiscardedBecauseUserNavigatingAway:
86 result_str = "DiscardedBecauseUserNavigatingAway";
87 break;
88 case DiscardedBecauseLiveRegionBusy:
89 result_str = "DiscardedBecauseLiveRegionBusy";
90 break;
91 case FailedBecauseNoWindow:
92 result_str = "FailedBecauseNoWindow";
93 break;
94 case FailedBecauseNoFocus:
95 result_str = "FailedBecauseNoFocus";
96 break;
97 case FailedBecauseFrameIsDetached:
98 result_str = "FailedBecauseFrameIsDetached";
99 break;
100 }
101
102 const char* success_str = (result == Sent ? "+" : "-");
103
104 const char* source_str = nullptr;
105 switch (source_) {
106 case FromBlink:
107 source_str = "FromBlink";
108 break;
109 case FromChildFrameLoading:
110 source_str = "FromChildFrameLoading";
111 break;
112 case FromFindInPageResult:
113 source_str = "FromFindInPageResult";
114 break;
115 case FromRenderFrameHost:
116 source_str = "FromRenderFrameHost";
117 break;
118 case FromScroll:
119 source_str = "FromScroll";
120 break;
121 case FromTreeChange:
122 source_str = "FromTreeChange";
123 break;
124 case FromWindowFocusChange:
125 source_str = "FromWindowFocusChange";
126 break;
127 }
128
129 std::string original_target_str;
130 if (original_target_ != target_) {
131 original_target_str = " originalTarget=[["
132 + ReplaceNewlines(original_target_->GetData().ToString()) + "]]";
133 }
134
135 VLOG(1) << "Accessibility event"
136 << " " << success_str
137 << " " << event_name
138 << " result=" << result_str
139 << " source=" << source_str
140 << " unique_id=" << target_->unique_id()
141 << " target=[["
142 << ReplaceNewlines(target_->GetData().ToString()) << "]]"
143 << original_target_str;
144 }
145
146 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698