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 { ...@@ -39,8 +39,9 @@ class AccessibilityIpcErrorBrowserTest : public ContentBrowserTest {
DISALLOW_COPY_AND_ASSIGN(AccessibilityIpcErrorBrowserTest); DISALLOW_COPY_AND_ASSIGN(AccessibilityIpcErrorBrowserTest);
}; };
// http://crbug.com/870661
IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest, IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
ResetBrowserAccessibilityManager) { DISABLED_ResetBrowserAccessibilityManager) {
// Create a data url and load it. // Create a data url and load it.
const char url_str[] = const char url_str[] =
"data:text/html," "data:text/html,"
...@@ -130,14 +131,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest, ...@@ -130,14 +131,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
EXPECT_EQ(ax::mojom::Role::kButton, button->data().role); EXPECT_EQ(ax::mojom::Role::kButton, button->data().role);
} }
#if defined(OS_ANDROID) // http://crbug.com/870661
// http://crbug.com/542704
#define MAYBE_MultipleBadAccessibilityIPCsKillsRenderer DISABLED_MultipleBadAccessibilityIPCsKillsRenderer
#else
#define MAYBE_MultipleBadAccessibilityIPCsKillsRenderer MultipleBadAccessibilityIPCsKillsRenderer
#endif
IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest, IN_PROC_BROWSER_TEST_F(AccessibilityIpcErrorBrowserTest,
MAYBE_MultipleBadAccessibilityIPCsKillsRenderer) { DISABLED_MultipleBadAccessibilityIPCsKillsRenderer) {
// Create a data url and load it. // Create a data url and load it.
const char url_str[] = const char url_str[] =
"data:text/html," "data:text/html,"
......
...@@ -362,12 +362,19 @@ void BrowserAccessibilityManager::OnAccessibilityEvents( ...@@ -362,12 +362,19 @@ void BrowserAccessibilityManager::OnAccessibilityEvents(
// Process all changes to the accessibility tree first. // Process all changes to the accessibility tree first.
for (uint32_t index = 0; index < details.updates.size(); ++index) { for (uint32_t index = 0; index < details.updates.size(); ++index) {
if (!tree_->Unserialize(details.updates[index])) { if (!tree_->Unserialize(details.updates[index])) {
if (delegate_) { static auto* ax_tree_error = base::debug::AllocateCrashKeyString(
LOG(ERROR) << tree_->error(); "ax_tree_error", base::debug::CrashKeySize::Size32);
delegate_->AccessibilityFatalError(); static auto* ax_tree_update = base::debug::AllocateCrashKeyString(
} else { "ax_tree_update", base::debug::CrashKeySize::Size64);
CHECK(false) << tree_->error(); // 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; return;
} }
} }
......
...@@ -511,7 +511,7 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) { ...@@ -511,7 +511,7 @@ TEST(BrowserAccessibilityManagerTest, TestMoveChildUp) {
ASSERT_EQ(0, CountedBrowserAccessibility::global_obj_count_); 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(BrowserAccessibilityManagerTest, DISABLED_TestFatalError) {
// Test that BrowserAccessibilityManager raises a fatal error // Test that BrowserAccessibilityManager raises a fatal error
// (which will crash the renderer) if the same id is used in // (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