| Index: third_party/WebKit/Source/core/dom/AccessibleNodeList.h | 
| diff --git a/third_party/WebKit/Source/core/dom/AccessibleNodeList.h b/third_party/WebKit/Source/core/dom/AccessibleNodeList.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..130ede4698bd5dad76adeebd7f7d14da5c82fd8f | 
| --- /dev/null | 
| +++ b/third_party/WebKit/Source/core/dom/AccessibleNodeList.h | 
| @@ -0,0 +1,53 @@ | 
| +// 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. | 
| + | 
| +#ifndef AccessibleNodeList_h | 
| +#define AccessibleNodeList_h | 
| + | 
| +#include "core/CoreExport.h" | 
| +#include "platform/bindings/ScriptWrappable.h" | 
| + | 
| +namespace blink { | 
| + | 
| +class AccessibleNode; | 
| +enum class AOMRelationListProperty; | 
| +class ExceptionState; | 
| + | 
| +// Accessibility Object Model node list | 
| +// Explainer: https://github.com/WICG/aom/blob/master/explainer.md | 
| +// Spec: https://wicg.github.io/aom/spec/ | 
| +class CORE_EXPORT AccessibleNodeList | 
| +    : public GarbageCollectedFinalized<AccessibleNodeList>, | 
| +      public ScriptWrappable { | 
| +  DEFINE_WRAPPERTYPEINFO(); | 
| + | 
| + public: | 
| +  static AccessibleNodeList* Create(const HeapVector<Member<AccessibleNode>>&); | 
| + | 
| +  AccessibleNodeList(); | 
| +  virtual ~AccessibleNodeList(); | 
| + | 
| +  void AddOwner(AOMRelationListProperty, AccessibleNode*); | 
| +  void RemoveOwner(AOMRelationListProperty, AccessibleNode*); | 
| + | 
| +  AccessibleNode* item(unsigned offset) const; | 
| +  void add(AccessibleNode*, AccessibleNode* = nullptr); | 
| +  void remove(int index); | 
| +  bool AnonymousIndexedSetter(unsigned, AccessibleNode*, ExceptionState&); | 
| +  unsigned length() const; | 
| +  void setLength(unsigned); | 
| + | 
| +  DECLARE_VIRTUAL_TRACE(); | 
| + | 
| + private: | 
| +  void NotifyChanged(); | 
| + | 
| +  HeapVector<std::pair<AOMRelationListProperty, Member<AccessibleNode>>> | 
| +      owners_; | 
| +  HeapVector<Member<AccessibleNode>> nodes_; | 
| +}; | 
| + | 
| +}  // namespace blink | 
| + | 
| +#endif  // AccessibleNodeList_h | 
|  |