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

Unified Diff: content/common/accessibility_messages.h

Issue 625443002: Reset accessibility if it gets out of sync. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove log Created 6 years, 3 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: content/common/accessibility_messages.h
diff --git a/content/common/accessibility_messages.h b/content/common/accessibility_messages.h
index 02af80708cce2f135c17b19427b939521a71fab6..f5ef3c50f8d3c822bacb7bdc57485e600e67087e 100644
--- a/content/common/accessibility_messages.h
+++ b/content/common/accessibility_messages.h
@@ -131,16 +131,30 @@ IPC_MESSAGE_ROUTED1(AccessibilityMsg_HitTest,
// message was processed and it can send addition events.
IPC_MESSAGE_ROUTED0(AccessibilityMsg_Events_ACK)
-// Kill the renderer because we got a fatal error in the accessibility tree.
+// Tell the renderer to reset and send a new accessibility tree from
+// scratch because the browser is out of sync. This should be rare, and
+// if we need reset the same renderer too many times we just kill it.
+// After sending a reset, the browser ignores incoming accessibility IPCs
+// until it receives one with is_reset=true. Conversely, it ignores IPCs
+// with is_reset=true if it was not expecting a reset.
+IPC_MESSAGE_ROUTED0(AccessibilityMsg_Reset)
+
+// Kill the renderer because we got a fatal error in the accessibility tree
+// and we've already reset too many times.
IPC_MESSAGE_ROUTED0(AccessibilityMsg_FatalError)
// Messages sent from the renderer to the browser.
// Sent to notify the browser about renderer accessibility events.
// The browser responds with a AccessibilityMsg_Events_ACK.
-IPC_MESSAGE_ROUTED1(
+// The second parameter, is_reset, is set if this IPC was sent in response
+// to a reset request from the browser. When the browser requests a reset,
+// it ignores incoming IPCs until it sees one with is_reset=true. Any other
+// time, it ignores IPCs with is_reset=true.
+IPC_MESSAGE_ROUTED2(
AccessibilityHostMsg_Events,
- std::vector<AccessibilityHostMsg_EventParams>)
+ std::vector<AccessibilityHostMsg_EventParams> /* events */,
+ bool /* is_reset */)
Tom Sepez 2014/10/02 16:50:49 Are you sure you want a bool instead of a reset se
dmazzoni 2014/10/02 21:51:13 I was debating this. I went ahead and gave it a ra
// Sent to update the browser of the location of accessibility objects.
IPC_MESSAGE_ROUTED1(

Powered by Google App Engine
This is Rietveld 408576698