| Index: third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| index 617e4aa073d2c1297a17e637871cd45cac1a592b..eef1ab9155016de6964f5f42b110a52dfede5086 100644
|
| --- a/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp
|
| @@ -67,6 +67,7 @@
|
| #include "core/layout/LayoutListMarker.h"
|
| #include "core/layout/LayoutMenuList.h"
|
| #include "core/layout/LayoutTextControl.h"
|
| +#include "core/layout/LayoutTextFragment.h"
|
| #include "core/layout/LayoutView.h"
|
| #include "core/layout/api/LayoutAPIShim.h"
|
| #include "core/layout/api/LayoutViewItem.h"
|
| @@ -126,6 +127,13 @@ static inline LayoutObject* firstChildConsideringContinuation(
|
| LayoutObject* layoutObject) {
|
| LayoutObject* firstChild = layoutObject->slowFirstChild();
|
|
|
| + // CSS first-letter pseudo element is handled as continuation. Returning it
|
| + // will result in duplicated elements.
|
| + if (firstChild && firstChild->isText() &&
|
| + toLayoutText(firstChild)->isTextFragment() &&
|
| + toLayoutTextFragment(firstChild)->firstLetterPseudoElement())
|
| + return nullptr;
|
| +
|
| if (!firstChild && isInlineWithContinuation(layoutObject))
|
| firstChild = firstChildInContinuation(toLayoutInline(*layoutObject));
|
|
|
|
|