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

Unified Diff: chrome/browser/accessibility/accessibility_extension_api.cc

Issue 10694085: Refactor extension event distribution to use Values instead of JSON strings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and review changes. Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/accessibility/accessibility_extension_api.cc
diff --git a/chrome/browser/accessibility/accessibility_extension_api.cc b/chrome/browser/accessibility/accessibility_extension_api.cc
index e2c9fa9d661ca41c635c58fac827824ac30f51d3..9a2258a80cffabb4b43efe1bcebac2e7e788b59b 100644
--- a/chrome/browser/accessibility/accessibility_extension_api.cc
+++ b/chrome/browser/accessibility/accessibility_extension_api.cc
@@ -25,14 +25,13 @@ namespace keys = extension_accessibility_api_constants;
// Returns the AccessibilityControlInfo serialized into a JSON string,
// consisting of an array of a single object of type AccessibilityObject,
// as defined in the accessibility extension api's json schema.
-std::string ControlInfoToJsonString(const AccessibilityEventInfo* info) {
- ListValue args;
+ListValue* ControlInfoToEventArguments(const AccessibilityEventInfo* info) {
DictionaryValue* dict = new DictionaryValue();
info->SerializeToDict(dict);
- args.Append(dict);
- std::string json_args;
- base::JSONWriter::Write(&args, &json_args);
- return json_args;
+
+ ListValue* args = new ListValue();
+ args->Append(dict);
+ return args;
}
ExtensionAccessibilityEventRouter*
@@ -116,55 +115,55 @@ bool ExtensionAccessibilityEventRouter::IsAccessibilityEnabled() const {
void ExtensionAccessibilityEventRouter::OnWindowOpened(
const AccessibilityWindowInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnWindowOpened, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnWindowOpened, args);
}
void ExtensionAccessibilityEventRouter::OnWindowClosed(
const AccessibilityWindowInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnWindowClosed, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnWindowClosed, args);
}
void ExtensionAccessibilityEventRouter::OnControlFocused(
const AccessibilityControlInfo* info) {
last_focused_control_dict_.Clear();
info->SerializeToDict(&last_focused_control_dict_);
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnControlFocused, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnControlFocused, args);
}
void ExtensionAccessibilityEventRouter::OnControlAction(
const AccessibilityControlInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnControlAction, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnControlAction, args);
}
void ExtensionAccessibilityEventRouter::OnTextChanged(
const AccessibilityControlInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnTextChanged, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnTextChanged, args);
}
void ExtensionAccessibilityEventRouter::OnMenuOpened(
const AccessibilityMenuInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnMenuOpened, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnMenuOpened, args);
}
void ExtensionAccessibilityEventRouter::OnMenuClosed(
const AccessibilityMenuInfo* info) {
- std::string json_args = ControlInfoToJsonString(info);
- DispatchEvent(info->profile(), keys::kOnMenuClosed, json_args);
+ ListValue* args = ControlInfoToEventArguments(info);
+ DispatchEvent(info->profile(), keys::kOnMenuClosed, args);
}
void ExtensionAccessibilityEventRouter::DispatchEvent(
Profile* profile,
const char* event_name,
- const std::string& json_args) {
+ base::ListValue* event_args) {
if (enabled_ && profile && profile->GetExtensionEventRouter()) {
profile->GetExtensionEventRouter()->DispatchEventToRenderers(
- event_name, json_args, NULL, GURL(), extensions::EventFilteringInfo());
+ event_name, event_args, NULL, GURL(), extensions::EventFilteringInfo());
}
}

Powered by Google App Engine
This is Rietveld 408576698