Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/AXObjectCacheBase.h |
| diff --git a/third_party/WebKit/Source/core/dom/AXObjectCacheBase.h b/third_party/WebKit/Source/core/dom/AXObjectCacheBase.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1a19db8f9d52ed280f3e74aa6c97529ef7739a0d |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/core/dom/AXObjectCacheBase.h |
| @@ -0,0 +1,39 @@ |
| +// 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 AXObjectCacheBase_h |
| +#define AXObjectCacheBase_h |
| + |
| +#include "core/CoreExport.h" |
| +#include "core/dom/AXObjectCache.h" |
| + |
| +namespace blink { |
| + |
| +class Node; |
| +class AXObjectImpl; |
| + |
| +// AXObjectCacheBase is a temporary class that sits between AXObjectCache and |
| +// AXObjectImpl and contains methods required by web/ that we don't want to be |
| +// available in the public API (AXObjectCache). |
| +// TODO(dmazzoni): Once all dependencies in web/ use this class instead of |
| +// AXObjectCacheImpl, refactor usages to use AXObjectCache instead (introducing |
| +// new public API methods or similar) and remove this class. |
| +class CORE_EXPORT AXObjectCacheBase : public AXObjectCache { |
| + WTF_MAKE_NONCOPYABLE(AXObjectCacheBase); |
| + |
| + public: |
| + virtual ~AXObjectCacheBase() {} |
| + |
| + virtual AXObjectImpl* Get(Node*) = 0; |
|
dmazzoni
2017/05/15 20:45:10
Just checking, but this will eventually only retur
sashab
2017/05/16 00:10:02
Yes :) Was going to put a TODO but it will happen
|
| + |
| + protected: |
| + AXObjectCacheBase() {} |
| +}; |
| + |
| +// This is the only subclass of AXObjectCache. |
| +DEFINE_TYPE_CASTS(AXObjectCacheBase, AXObjectCache, cache, true, true); |
| + |
| +} // namespace blink |
| + |
| +#endif |