Commit 8cca7c63 authored by Dominic Mazzoni's avatar Dominic Mazzoni Committed by Commit Bot

Add crash logging for accessibility unserialization error

TBR=dtseng@chromium.org

Bug: 870661
Change-Id: If82429da90259c3af73c4fa424d3bba5e6a09a00
Reviewed-on: https://chromium-review.googlesource.com/1174862Reviewed-by: default avatarDominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583175}
parent 53f90379
......@@ -39,8 +39,9 @@ class AccessibilityIpcErrorBrowserTest : public ContentBrowserTest {
DISALLOW_COPY_AND_ASSIGN(AccessibilityIpcErrorBrowserTest);
};
// http://crbug.com/870661
IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
ResetBrowserAccessibilityManager) {
DISABLED_ResetBrowserAccessibilityManager) {
// Create a data url and load it.
const char url_str[] =
"data:text/html,"
......@@ -130,14 +131,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
EXPECT_EQ(ax::mojom::Role::kButton, button->data().role);
}
#if defined(OS_ANDROID)
// http://crbug.com/542704
#define MAYBE_MultipleBadAccessibilityIPCsKillsRenderer DISABLED_MultipleBadAccessibilityIPCsKillsRenderer
#else
#define MAYBE_MultipleBadAccessibilityIPCsKillsRenderer MultipleBadAccessibilityIPCsKillsRenderer
#endif
// http://crbug.com/870661
IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
MAYBE_MultipleBadAccessibilityIPCsKillsRenderer) {
DISABLED_MultipleBadAccessibilityIPCsKillsRenderer) {
// Create a data url and load it.
const char url_str[] =
"data:text/html,"
......
......@@ -362,12 +362,19 @@ void BrowserAccessibilityManager::OnAccessibilityEvents(
// Process all changes to the accessibility tree first.
for (uint32_t index = 0; index < details.updates.size(); ++index) {
if (!tree_->Unserialize(details.updates[index])) {
if (delegate_) {
LOG(ERROR) << tree_->error();
delegate_->AccessibilityFatalError();
} else {
CHECK(false) << tree_->error();
}
static auto* ax_tree_error = base::debug::AllocateCrashKeyString(
"ax_tree_error", base::debug::CrashKeySize::Size32);
static auto* ax_tree_update = base::debug::AllocateCrashKeyString(
"ax_tree_update", base::debug::CrashKeySize::Size64);
// Temporarily log some additional crash keys so we can try to
// figure out why we're getting bad accessibility trees here.
// http://crbug.com/870661
// Be sure to re-enable BrowserAccessibilityManagerTest.TestFatalError
// when done.
base::debug::SetCrashKeyString(ax_tree_error, tree_->error());
base::debug::SetCrashKeyString(ax_tree_update,
details.updates[index].ToString());
LOG(FATAL) << tree_->error();
return;
}
}
......
......@@ -511,7 +511,7 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) {
ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_);
}
// Temporarily disabled due to bug http://crbug.com/765490
// Temporarily disabled due to bug http://crbug.com/870661
TEST(BrowserAccessibilityManagerTest, DISABLED_TestFatalError) {
// Test that BrowserAccessibilityManager raises a fatal error
// (which will crash the renderer) if the same id is used in
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment