Index: content/browser/renderer_host/render_widget_host_impl.h |
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h |
index a26f6099e0a60f05add77f4f033d67a52dfb08e7..6f884b66f6761d088d1a6cfdbf31b2521ef66dd2 100644 |
--- a/content/browser/renderer_host/render_widget_host_impl.h |
+++ b/content/browser/renderer_host/render_widget_host_impl.h |
@@ -24,6 +24,7 @@ |
#include "base/timer/timer.h" |
#include "build/build_config.h" |
#include "cc/resources/shared_bitmap.h" |
+#include "content/browser/accessibility/browser_accessibility_manager.h" |
#include "content/browser/renderer_host/event_with_latency_info.h" |
#include "content/browser/renderer_host/input/input_ack_handler.h" |
#include "content/browser/renderer_host/input/input_router_client.h" |
@@ -77,7 +78,6 @@ |
#endif |
namespace content { |
-class BrowserAccessibilityManager; |
class InputRouter; |
class MockRenderWidgetHost; |
class RenderWidgetHostDelegate; |
@@ -95,7 +95,8 @@ |
public InputRouterClient, |
public InputAckHandler, |
public TouchEmulatorClient, |
- public IPC::Listener { |
+ public IPC::Listener, |
+ public BrowserAccessibilityDelegate { |
public: |
// routing_id can be MSG_ROUTING_NONE, in which case the next available |
// routing id is taken from the RenderProcessHost. |
@@ -140,6 +141,10 @@ |
virtual void LockBackingStore() OVERRIDE; |
virtual void UnlockBackingStore() OVERRIDE; |
#endif |
+ virtual void EnableFullAccessibilityMode() OVERRIDE; |
+ virtual bool IsFullAccessibilityModeForTesting() OVERRIDE; |
+ virtual void EnableTreeOnlyAccessibilityMode() OVERRIDE; |
+ virtual bool IsTreeOnlyAccessibilityModeForTesting() OVERRIDE; |
virtual void ForwardMouseEvent( |
const blink::WebMouseEvent& mouse_event) OVERRIDE; |
virtual void ForwardWheelEvent( |
@@ -169,6 +174,23 @@ |
virtual SkColorType PreferredReadbackFormat() OVERRIDE; |
+ // BrowserAccessibilityDelegate |
+ virtual void AccessibilitySetFocus(int acc_obj_id) OVERRIDE; |
+ virtual void AccessibilityDoDefaultAction(int acc_obj_id) OVERRIDE; |
+ virtual void AccessibilityShowMenu(int acc_obj_id) OVERRIDE; |
+ virtual void AccessibilityScrollToMakeVisible( |
+ int acc_obj_id, gfx::Rect subfocus) OVERRIDE; |
+ virtual void AccessibilityScrollToPoint( |
+ int acc_obj_id, gfx::Point point) OVERRIDE; |
+ virtual void AccessibilitySetTextSelection( |
+ int acc_obj_id, int start_offset, int end_offset) OVERRIDE; |
+ virtual bool AccessibilityViewHasFocus() const OVERRIDE; |
+ virtual gfx::Rect AccessibilityGetViewBounds() const OVERRIDE; |
+ virtual gfx::Point AccessibilityOriginInScreen(const gfx::Rect& bounds) |
+ const OVERRIDE; |
+ virtual void AccessibilityHitTest(const gfx::Point& point) OVERRIDE; |
+ virtual void AccessibilityFatalError() OVERRIDE; |
+ |
// Forces redraw in the renderer and when the update reaches the browser |
// grabs snapshot from the compositor. Returns PNG-encoded snapshot. |
void GetSnapshotFromBrowser( |
@@ -373,6 +395,30 @@ |
void SetEditCommandsForNextKeyEvent( |
const std::vector<EditCommand>& commands); |
+ // Gets the accessibility mode. |
+ AccessibilityMode accessibility_mode() const { |
+ return accessibility_mode_; |
+ } |
+ |
+ // Adds the given accessibility mode to the current accessibility mode bitmap. |
+ void AddAccessibilityMode(AccessibilityMode mode); |
+ |
+ // Removes the given accessibility mode from the current accessibility mode |
+ // bitmap, managing the bits that are shared with other modes such that a |
+ // bit will only be turned off when all modes that depend on it have been |
+ // removed. |
+ void RemoveAccessibilityMode(AccessibilityMode mode); |
+ |
+ // Resets the accessibility mode to the default setting in |
+ // BrowserStateAccessibilityImpl. |
+ void ResetAccessibilityMode(); |
+ |
+#if defined(OS_WIN) |
+ void SetParentNativeViewAccessible( |
+ gfx::NativeViewAccessible accessible_parent); |
+ gfx::NativeViewAccessible GetParentNativeViewAccessible() const; |
+#endif |
+ |
// Executes the edit command on the RenderView. |
void ExecuteEditCommand(const std::string& command, |
const std::string& value); |
@@ -473,17 +519,6 @@ |
void AddLatencyInfoComponentIds(ui::LatencyInfo* latency_info); |
InputRouter* input_router() { return input_router_.get(); } |
- |
- // Get the BrowserAccessibilityManager for the root of the frame tree, |
- BrowserAccessibilityManager* GetRootBrowserAccessibilityManager(); |
- |
- // Get the BrowserAccessibilityManager for the root of the frame tree, |
- // or create it if it doesn't already exist. |
- BrowserAccessibilityManager* GetOrCreateRootBrowserAccessibilityManager(); |
- |
-#if defined(OS_WIN) |
- gfx::NativeViewAccessible GetParentNativeViewAccessible(); |
-#endif |
protected: |
virtual RenderWidgetHostImpl* AsRenderWidgetHostImpl() OVERRIDE; |
@@ -674,6 +709,9 @@ |
int snapshot_id, |
scoped_refptr<base::RefCountedBytes> png_data); |
+ // Send a message to the renderer process to change the accessibility mode. |
+ void SetAccessibilityMode(AccessibilityMode AccessibilityMode); |
+ |
// Our delegate, which wants to know mainly about keyboard events. |
// It will remain non-NULL until DetachDelegate() is called. |
RenderWidgetHostDelegate* delegate_; |
@@ -744,6 +782,8 @@ |
bool waiting_for_screen_rects_ack_; |
gfx::Rect last_view_screen_rect_; |
gfx::Rect last_window_screen_rect_; |
+ |
+ AccessibilityMode accessibility_mode_; |
// Keyboard event listeners. |
std::vector<KeyPressEventCallback> key_press_event_callbacks_; |