blob: cac3ce10348be05b0af975bee97a9d4094b541c4 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/accessibility/AXVirtualObject.h"
#include "modules/accessibility/AXObjectCacheImpl.h"
namespace blink {
AXVirtualObject::AXVirtualObject(AXObjectCacheImpl& axObjectCache,
AccessibleNode* accessible_node)
: AXObject(axObjectCache), accessible_node_(accessible_node) {
LOG(ERROR) << "AXVirtualObject ctor";
}
AXVirtualObject::~AXVirtualObject() {}
void AXVirtualObject::Detach() {
AXObject::Detach();
accessible_node_ = nullptr;
}
bool AXVirtualObject::ComputeAccessibilityIsIgnored(
IgnoredReasons* ignoredReasons) const {
return AccessibilityIsIgnoredByDefault(ignoredReasons);
}
void AXVirtualObject::AddChildren() {
if (!accessible_node_)
return;
for (const auto& child : accessible_node_->GetChildren())
children_.push_back(AxObjectCache().GetOrCreate(child));
}
const AtomicString& AXVirtualObject::GetAOMPropertyOrARIAAttribute(
AOMStringProperty property) const {
if (!accessible_node_)
return g_null_atom;
return accessible_node_->GetProperty(property);
}
DEFINE_TRACE(AXVirtualObject) {
visitor->Trace(accessible_node_);
AXObject::Trace(visitor);
}
} // namespace blink