| // Copyright 2016 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 CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ |
| #define CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ |
| |
| #include "content/common/content_export.h" |
| #include "ui/accessibility/ax_node.h" |
| #include "ui/accessibility/ax_tree_data.h" |
| #include "ui/accessibility/ax_tree_source.h" |
| |
| namespace content { |
| |
| // This interface exposes the accessibility tree for one RenderFrame. |
| class CONTENT_EXPORT RenderAccessibility { |
| public: |
| virtual int GenerateAXID() = 0; |
| |
| // These APIs allow a page with a single EMBED element to graft an |
| // accessibility tree for the plugin content, implemented as a |
| // PluginAXTreeSource, into the page's accessibility tree. |
| virtual void SetPluginTreeSource(PluginAXTreeSource* source) = 0; |
| virtual void OnPluginRootNodeUpdated() = 0; |
| virtual void ShowPluginContextMenu() = 0; |
| |
| protected: |
| ~RenderAccessibility() {} |
| |
| private: |
| // This interface should only be implemented inside content. |
| friend class RenderAccessibilityImpl; |
| RenderAccessibility() {} |
| }; |
| |
| } // namespace content |
| |
| #endif // CONTENT_PUBLIC_RENDERER_RENDER_ACCESSIBILITY_H_ |