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

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp

Issue 2372823002: Fix a case where the accessible bounding box of an inline text box was wrong. (Closed)
Patch Set: Created 4 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: third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp
diff --git a/third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp b/third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp
index 925239303cc7af3fd96b5d803a2d546031efdd27..a4df66a74ebafb2be5b03d0cf854d6445318577c 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp
+++ b/third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp
@@ -66,11 +66,13 @@ void AXInlineTextBox::getRelativeBounds(AXObject** outContainer, FloatRect& outB
outBoundsInContainer = FloatRect();
outContainerTransform.setIdentity();
- if (!m_inlineTextBox)
+ if (!m_inlineTextBox || !parentObject() || !parentObject()->getLayoutObject())
chrishtr 2016/09/26 23:42:51 Why are these conditionals needed?
dmazzoni 2016/09/27 16:07:47 In general, accessibility objects outlive layout o
return;
*outContainer = parentObject();
outBoundsInContainer = FloatRect(m_inlineTextBox->localBounds());
+ LayoutObject* parentLayoutObject = parentObject()->getLayoutObject();
+ outBoundsInContainer.moveBy(-parentLayoutObject->localBoundingBoxRectForAccessibility().location());
}
bool AXInlineTextBox::computeAccessibilityIsIgnored(IgnoredReasons* ignoredReasons) const

Powered by Google App Engine
This is Rietveld 408576698