| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ | 5 #ifndef COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ |
| 6 #define COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ | 6 #define COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "ppapi/c/pp_instance.h" | 11 #include "ppapi/c/pp_instance.h" |
| 12 #include "ppapi/c/private/ppb_pdf.h" | 12 #include "ppapi/c/private/ppb_pdf.h" |
| 13 #include "ui/accessibility/ax_node.h" | 13 #include "ui/accessibility/ax_node.h" |
| 14 #include "ui/accessibility/ax_tree.h" | 14 #include "ui/accessibility/ax_tree.h" |
| 15 #include "ui/accessibility/ax_tree_source.h" | 15 #include "ui/accessibility/ax_tree_source.h" |
| 16 #include "ui/gfx/geometry/rect_f.h" | 16 #include "ui/gfx/geometry/rect_f.h" |
| 17 #include "ui/gfx/geometry/vector2d_f.h" | 17 #include "ui/gfx/geometry/vector2d_f.h" |
| 18 | 18 |
| 19 namespace content { | 19 namespace content { |
| 20 class RenderAccessibility; | 20 class RenderAccessibility; |
| 21 class RenderView; | 21 class RenderFrame; |
| 22 class RendererPpapiHost; |
| 22 } | 23 } |
| 23 | 24 |
| 24 namespace pdf { | 25 namespace pdf { |
| 25 | 26 |
| 26 class PdfAccessibilityTree | 27 class PdfAccessibilityTree |
| 27 : public ui::AXTreeSource<const ui::AXNode*, | 28 : public ui::AXTreeSource<const ui::AXNode*, |
| 28 ui::AXNodeData, | 29 ui::AXNodeData, |
| 29 ui::AXTreeData> { | 30 ui::AXTreeData> { |
| 30 public: | 31 public: |
| 31 explicit PdfAccessibilityTree(content::RenderView* render_view); | 32 PdfAccessibilityTree(content::RendererPpapiHost* host, |
| 33 PP_Instance instance); |
| 32 ~PdfAccessibilityTree() override; | 34 ~PdfAccessibilityTree() override; |
| 33 | 35 |
| 34 void SetAccessibilityViewportInfo( | 36 void SetAccessibilityViewportInfo( |
| 35 const PP_PrivateAccessibilityViewportInfo& viewport_info); | 37 const PP_PrivateAccessibilityViewportInfo& viewport_info); |
| 36 void SetAccessibilityDocInfo( | 38 void SetAccessibilityDocInfo( |
| 37 const PP_PrivateAccessibilityDocInfo& doc_info); | 39 const PP_PrivateAccessibilityDocInfo& doc_info); |
| 38 void SetAccessibilityPageInfo( | 40 void SetAccessibilityPageInfo( |
| 39 const PP_PrivateAccessibilityPageInfo& page_info, | 41 const PP_PrivateAccessibilityPageInfo& page_info, |
| 40 const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs, | 42 const std::vector<PP_PrivateAccessibilityTextRunInfo>& text_runs, |
| 41 const std::vector<PP_PrivateAccessibilityCharInfo>& chars); | 43 const std::vector<PP_PrivateAccessibilityCharInfo>& chars); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 66 const std::vector<PP_PrivateAccessibilityCharInfo>& chars, | 68 const std::vector<PP_PrivateAccessibilityCharInfo>& chars, |
| 67 int char_index); | 69 int char_index); |
| 68 std::vector<int32_t> GetTextRunCharOffsets( | 70 std::vector<int32_t> GetTextRunCharOffsets( |
| 69 const PP_PrivateAccessibilityTextRunInfo& text_run, | 71 const PP_PrivateAccessibilityTextRunInfo& text_run, |
| 70 const std::vector<PP_PrivateAccessibilityCharInfo>& chars, | 72 const std::vector<PP_PrivateAccessibilityCharInfo>& chars, |
| 71 int char_index); | 73 int char_index); |
| 72 gfx::Vector2dF ToVector2dF(const PP_Point& p); | 74 gfx::Vector2dF ToVector2dF(const PP_Point& p); |
| 73 gfx::RectF ToRectF(const PP_Rect& r); | 75 gfx::RectF ToRectF(const PP_Rect& r); |
| 74 ui::AXNodeData* CreateNode(ui::AXRole role); | 76 ui::AXNodeData* CreateNode(ui::AXRole role); |
| 75 float GetDeviceScaleFactor() const; | 77 float GetDeviceScaleFactor() const; |
| 78 content::RenderAccessibility* GetRenderAccessibility(); |
| 76 | 79 |
| 77 ui::AXTree tree_; | 80 ui::AXTree tree_; |
| 78 content::RenderView* render_view_; | 81 content::RendererPpapiHost* host_; |
| 79 content::RenderAccessibility* render_accessibility_; | 82 PP_Instance instance_; |
| 80 double zoom_; | 83 double zoom_; |
| 81 gfx::Vector2dF scroll_; | 84 gfx::Vector2dF scroll_; |
| 82 gfx::Vector2dF offset_; | 85 gfx::Vector2dF offset_; |
| 83 PP_PrivateAccessibilityDocInfo doc_info_; | 86 PP_PrivateAccessibilityDocInfo doc_info_; |
| 84 ui::AXNodeData* doc_node_; | 87 ui::AXNodeData* doc_node_; |
| 85 std::vector<std::unique_ptr<ui::AXNodeData>> nodes_; | 88 std::vector<std::unique_ptr<ui::AXNodeData>> nodes_; |
| 86 }; | 89 }; |
| 87 | 90 |
| 88 } // namespace pdf; | 91 } // namespace pdf; |
| 89 | 92 |
| 90 #endif // COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ | 93 #endif // COMPONENTS_PDF_RENDERER_PDF_ACCESSIBILITY_TREE_H_ |
| OLD | NEW |