| Index: Source/modules/accessibility/AXNodeObject.cpp
|
| diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp
|
| index 2c79418780600d03ca686cadf8e37ec36e2a7183..09a67204883ad64fbf114a0ff9ef30f86ad2aed1 100644
|
| --- a/Source/modules/accessibility/AXNodeObject.cpp
|
| +++ b/Source/modules/accessibility/AXNodeObject.cpp
|
| @@ -70,9 +70,9 @@ AXNodeObject::AXNodeObject(Node* node, AXObjectCacheImpl* axObjectCache)
|
| {
|
| }
|
|
|
| -PassRefPtr<AXNodeObject> AXNodeObject::create(Node* node, AXObjectCacheImpl* axObjectCache)
|
| +PassRefPtrWillBeRawPtr<AXNodeObject> AXNodeObject::create(Node* node, AXObjectCacheImpl* axObjectCache)
|
| {
|
| - return adoptRef(new AXNodeObject(node, axObjectCache));
|
| + return adoptRefWillBeNoop(new AXNodeObject(node, axObjectCache));
|
| }
|
|
|
| AXNodeObject::~AXNodeObject()
|
| @@ -754,7 +754,7 @@ void AXNodeObject::detach()
|
| {
|
| clearChildren();
|
| AXObject::detach();
|
| - m_node = 0;
|
| + m_node = nullptr;
|
| }
|
|
|
| bool AXNodeObject::isAnchor() const
|
| @@ -1588,10 +1588,10 @@ String AXNodeObject::deprecatedTextUnderElement(TextUnderElementMode mode) const
|
| continue;
|
|
|
| if (child->isAXNodeObject()) {
|
| - Vector<AccessibilityText> textOrder;
|
| + WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText>> textOrder;
|
| toAXNodeObject(child)->alternativeText(textOrder);
|
| if (textOrder.size() > 0) {
|
| - builder.append(textOrder[0].text);
|
| + builder.append(textOrder[0]->text());
|
| if (mode == TextUnderElementAny)
|
| break;
|
| continue;
|
| @@ -1803,7 +1803,7 @@ String AXNodeObject::computedName() const
|
| // New AX name calculation.
|
| //
|
|
|
| -String AXNodeObject::textAlternative(bool recursive, bool inAriaLabelledByTraversal, HashSet<AXObject*>& visited, AXNameFrom* nameFrom, Vector<AXObject*>* nameObjects)
|
| +String AXNodeObject::textAlternative(bool recursive, bool inAriaLabelledByTraversal, WillBeHeapHashSet<RawPtrWillBeMember<AXObject>>& visited, AXNameFrom* nameFrom, WillBeHeapVector<RawPtrWillBeMember<AXObject>>* nameObjects)
|
| {
|
| bool alreadyVisited = visited.contains(this);
|
| visited.add(this);
|
| @@ -1826,7 +1826,7 @@ String AXNodeObject::textAlternative(bool recursive, bool inAriaLabelledByTraver
|
| ariaLabeledByElements(elements);
|
| StringBuilder accumulatedText;
|
| for (const auto& element : elements) {
|
| - RefPtr<AXObject> axElement = axObjectCache()->getOrCreate(element);
|
| + RefPtrWillBeRawPtr<AXObject> axElement = axObjectCache()->getOrCreate(element);
|
| if (axElement) {
|
| if (nameObjects)
|
| nameObjects->append(axElement.get());
|
| @@ -2340,12 +2340,12 @@ String AXNodeObject::alternativeTextForWebArea() const
|
| return String();
|
| }
|
|
|
| -void AXNodeObject::alternativeText(Vector<AccessibilityText>& textOrder) const
|
| +void AXNodeObject::alternativeText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText>>& textOrder) const
|
| {
|
| if (isWebArea()) {
|
| String webAreaText = alternativeTextForWebArea();
|
| if (!webAreaText.isEmpty())
|
| - textOrder.append(AccessibilityText(webAreaText, AlternativeText));
|
| + textOrder.append(AccessibilityText::create(webAreaText, AlternativeText));
|
| return;
|
| }
|
|
|
| @@ -2353,18 +2353,18 @@ void AXNodeObject::alternativeText(Vector<AccessibilityText>& textOrder) const
|
|
|
| const AtomicString& ariaLabel = getAttribute(aria_labelAttr);
|
| if (!ariaLabel.isEmpty())
|
| - textOrder.append(AccessibilityText(ariaLabel, AlternativeText));
|
| + textOrder.append(AccessibilityText::create(ariaLabel, AlternativeText));
|
|
|
| if (isImage() || isInputImage() || isNativeImage() || isCanvas()) {
|
| // Images should use alt as long as the attribute is present, even if empty.
|
| // Otherwise, it should fallback to other methods, like the title attribute.
|
| const AtomicString& alt = getAttribute(altAttr);
|
| if (!alt.isNull())
|
| - textOrder.append(AccessibilityText(alt, AlternativeText));
|
| + textOrder.append(AccessibilityText::create(alt, AlternativeText));
|
| }
|
| }
|
|
|
| -void AXNodeObject::ariaLabeledByText(Vector<AccessibilityText>& textOrder) const
|
| +void AXNodeObject::ariaLabeledByText(WillBeHeapVector<OwnPtrWillBeMember<AccessibilityText>>& textOrder) const
|
| {
|
| String ariaLabeledBy = ariaLabeledByAttribute();
|
| if (!ariaLabeledBy.isEmpty()) {
|
| @@ -2372,10 +2372,16 @@ void AXNodeObject::ariaLabeledByText(Vector<AccessibilityText>& textOrder) const
|
| ariaLabeledByElements(elements);
|
|
|
| for (const auto& element : elements) {
|
| - RefPtr<AXObject> axElement = axObjectCache()->getOrCreate(element);
|
| - textOrder.append(AccessibilityText(ariaLabeledBy, AlternativeText, axElement));
|
| + RefPtrWillBeRawPtr<AXObject> axElement = axObjectCache()->getOrCreate(element);
|
| + textOrder.append(AccessibilityText::create(ariaLabeledBy, AlternativeText, axElement));
|
| }
|
| }
|
| }
|
|
|
| +DEFINE_TRACE(AXNodeObject)
|
| +{
|
| + visitor->trace(m_node);
|
| + AXObject::trace(visitor);
|
| +}
|
| +
|
| } // namespace blink
|
|
|