| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ |
| 6 #define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback_forward.h" | 10 #include "base/callback_forward.h" |
| 11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
| 12 #include "content/common/content_export.h" | 12 #include "content/common/content_export.h" |
| 13 #include "content/public/common/console_message_level.h" | 13 #include "content/public/common/console_message_level.h" |
| 14 #include "content/public/common/file_chooser_params.h" | 14 #include "content/public/common/file_chooser_params.h" |
| 15 #include "ipc/ipc_listener.h" | 15 #include "ipc/ipc_listener.h" |
| 16 #include "ipc/ipc_sender.h" | 16 #include "ipc/ipc_sender.h" |
| 17 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h" | 17 #include "third_party/WebKit/public/platform/WebPageVisibilityState.h" |
| 18 #include "ui/accessibility/ax_enums.h" |
| 18 #include "ui/gfx/geometry/rect.h" | 19 #include "ui/gfx/geometry/rect.h" |
| 19 #include "ui/gfx/native_widget_types.h" | 20 #include "ui/gfx/native_widget_types.h" |
| 20 #include "url/gurl.h" | 21 #include "url/gurl.h" |
| 21 #include "url/origin.h" | 22 #include "url/origin.h" |
| 22 | 23 |
| 23 namespace base { | 24 namespace base { |
| 24 class Value; | 25 class Value; |
| 25 } | 26 } |
| 26 | 27 |
| 27 namespace shell { | 28 namespace shell { |
| 28 class InterfaceRegistry; | 29 class InterfaceRegistry; |
| 29 class InterfaceProvider; | 30 class InterfaceProvider; |
| 30 } | 31 } |
| 31 | 32 |
| 33 namespace ui { |
| 34 struct AXActionData; |
| 35 } |
| 36 |
| 32 namespace content { | 37 namespace content { |
| 33 class AssociatedInterfaceProvider; | 38 class AssociatedInterfaceProvider; |
| 34 class AssociatedInterfaceRegistry; | 39 class AssociatedInterfaceRegistry; |
| 35 class RenderProcessHost; | 40 class RenderProcessHost; |
| 36 class RenderViewHost; | 41 class RenderViewHost; |
| 37 class RenderWidgetHostView; | 42 class RenderWidgetHostView; |
| 38 class SiteInstance; | 43 class SiteInstance; |
| 39 struct FileChooserFileInfo; | 44 struct FileChooserFileInfo; |
| 40 | 45 |
| 41 // The interface provides a communication conduit with a frame in the renderer. | 46 // The interface provides a communication conduit with a frame in the renderer. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 | 141 |
| 137 // ONLY FOR TESTS: Same as above but without restrictions. Optionally, adds a | 142 // ONLY FOR TESTS: Same as above but without restrictions. Optionally, adds a |
| 138 // fake UserGestureIndicator around execution. (crbug.com/408426) | 143 // fake UserGestureIndicator around execution. (crbug.com/408426) |
| 139 virtual void ExecuteJavaScriptForTests(const base::string16& javascript) = 0; | 144 virtual void ExecuteJavaScriptForTests(const base::string16& javascript) = 0; |
| 140 virtual void ExecuteJavaScriptForTests( | 145 virtual void ExecuteJavaScriptForTests( |
| 141 const base::string16& javascript, | 146 const base::string16& javascript, |
| 142 const JavaScriptResultCallback& callback) = 0; | 147 const JavaScriptResultCallback& callback) = 0; |
| 143 virtual void ExecuteJavaScriptWithUserGestureForTests( | 148 virtual void ExecuteJavaScriptWithUserGestureForTests( |
| 144 const base::string16& javascript) = 0; | 149 const base::string16& javascript) = 0; |
| 145 | 150 |
| 146 // Accessibility actions - these send a message to the RenderFrame | 151 // Send a message to the RenderFrame to trigger an action on an |
| 147 // to trigger an action on an accessibility object. | 152 // accessibility object. |
| 148 virtual void AccessibilitySetFocus(int acc_obj_id) = 0; | 153 virtual void AccessibilityPerformAction(ui::AXAction action, |
| 149 virtual void AccessibilityDoDefaultAction(int acc_obj_id) = 0; | 154 const ui::AXActionData& data) = 0; |
| 150 virtual void AccessibilityScrollToMakeVisible( | |
| 151 int acc_obj_id, const gfx::Rect& subfocus) = 0; | |
| 152 virtual void AccessibilityShowContextMenu(int acc_obj_id) = 0; | |
| 153 virtual void AccessibilitySetSelection(int anchor_object_id, | |
| 154 int anchor_offset, | |
| 155 int focus_object_id, | |
| 156 int focus_offset) = 0; | |
| 157 | 155 |
| 158 // This is called when the user has committed to the given find in page | 156 // This is called when the user has committed to the given find in page |
| 159 // request (e.g. by pressing enter or by clicking on the next / previous | 157 // request (e.g. by pressing enter or by clicking on the next / previous |
| 160 // result buttons). It triggers sending a native accessibility event on | 158 // result buttons). It triggers sending a native accessibility event on |
| 161 // the result object on the page, navigating assistive technology to that | 159 // the result object on the page, navigating assistive technology to that |
| 162 // result. | 160 // result. |
| 163 virtual void ActivateFindInPageResultForAccessibility(int request_id) = 0; | 161 virtual void ActivateFindInPageResultForAccessibility(int request_id) = 0; |
| 164 | 162 |
| 165 // Roundtrips through the renderer and compositor pipeline to ensure that any | 163 // Roundtrips through the renderer and compositor pipeline to ensure that any |
| 166 // changes to the contents resulting from operations executed prior to this | 164 // changes to the contents resulting from operations executed prior to this |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 | 224 |
| 227 private: | 225 private: |
| 228 // This interface should only be implemented inside content. | 226 // This interface should only be implemented inside content. |
| 229 friend class RenderFrameHostImpl; | 227 friend class RenderFrameHostImpl; |
| 230 RenderFrameHost() {} | 228 RenderFrameHost() {} |
| 231 }; | 229 }; |
| 232 | 230 |
| 233 } // namespace content | 231 } // namespace content |
| 234 | 232 |
| 235 #endif // CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ | 233 #endif // CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ |
| OLD | NEW |