Index: content/renderer/render_frame_impl.h |
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h |
index af42b7bc86e5d1619ec33a97ba657ead9de8506d..d34ae25ef67787853efc0598dbfceb21d24ed872 100644 |
--- a/content/renderer/render_frame_impl.h |
+++ b/content/renderer/render_frame_impl.h |
@@ -14,12 +14,14 @@ |
#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/process/process_handle.h" |
+#include "content/common/accessibility_mode_enums.h" |
#include "content/public/common/javascript_message_type.h" |
#include "content/public/common/referrer.h" |
#include "content/public/renderer/render_frame.h" |
#include "content/renderer/media/webmediaplayer_delegate.h" |
#include "content/renderer/renderer_webcookiejar_impl.h" |
#include "ipc/ipc_message.h" |
+#include "third_party/WebKit/public/web/WebAXObject.h" |
#include "third_party/WebKit/public/web/WebDataSource.h" |
#include "third_party/WebKit/public/web/WebFrameClient.h" |
#include "third_party/WebKit/public/web/WebHistoryCommitType.h" |
@@ -56,6 +58,7 @@ class ChildFrameCompositingHelper; |
class MediaStreamClient; |
class NotificationProvider; |
class PepperPluginInstanceImpl; |
+class RendererAccessibility; |
class RendererPpapiHost; |
class RenderFrameObserver; |
class RenderViewImpl; |
@@ -123,6 +126,22 @@ class CONTENT_EXPORT RenderFrameImpl |
virtual void didStopLoading(); |
virtual void didChangeLoadProgress(double load_progress); |
+ AccessibilityMode accessibility_mode() { |
+ return accessibility_mode_; |
+ } |
+ |
+ RendererAccessibility* renderer_accessibility() { |
+ return renderer_accessibility_; |
+ } |
+ |
+ void HandleWebAccessibilityEvent(const blink::WebAXObject& obj, |
+ blink::WebAXEvent event); |
+ |
+ // TODO(dmazzoni): the only reason this is here is to plumb it through to |
+ // RendererAccessibility. It should be part of RenderFrameObserver, once |
+ // blink has a separate accessibility tree per frame. |
+ void FocusedNodeChanged(const blink::WebNode& node); |
+ |
#if defined(ENABLE_PLUGINS) |
// Notification that a PPAPI plugin has been created. |
void PepperPluginCreated(RendererPpapiHost* host); |
@@ -384,9 +403,11 @@ class CONTENT_EXPORT RenderFrameImpl |
private: |
friend class RenderFrameObserver; |
+ friend class RendererAccessibilityTest; |
+ friend class RenderViewImplTest; |
FRIEND_TEST_ALL_PREFIXES(RendererAccessibilityTest, |
AccessibilityMessagesQueueWhileSwappedOut); |
- FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, |
+ FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, |
ShouldUpdateSelectionTextFromContextMenuParams); |
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
OnExtendSelectionAndDelete); |
@@ -394,6 +415,8 @@ class CONTENT_EXPORT RenderFrameImpl |
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, SendSwapOutACK); |
FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
SetEditableSelectionAndComposition); |
+ FRIEND_TEST_ALL_PREFIXES(RenderViewImplTest, |
+ OnSetAccessibilityMode); |
typedef std::map<GURL, double> HostZoomLevels; |
@@ -442,6 +465,7 @@ class CONTENT_EXPORT RenderFrameImpl |
const std::vector<blink::WebCompositionUnderline>& underlines); |
void OnExtendSelectionAndDelete(int before, int after); |
void OnReload(bool ignore_cache); |
+ void OnSetAccessibilityMode(AccessibilityMode new_mode); |
#if defined(OS_MACOSX) |
void OnCopyToFindPboard(); |
#endif |
@@ -579,6 +603,13 @@ class CONTENT_EXPORT RenderFrameImpl |
MediaStreamClient* media_stream_client_; |
blink::WebUserMediaClient* web_user_media_client_; |
+ // The current accessibility mode. |
+ AccessibilityMode accessibility_mode_; |
+ |
+ // Only valid if |accessibility_mode_| is anything other than |
+ // AccessibilityModeOff. |
+ RendererAccessibility* renderer_accessibility_; |
+ |
base::WeakPtrFactory<RenderFrameImpl> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl); |