Index: content/renderer/render_frame_impl.h |
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h |
index dfb30be774a402e688c1945afc455747f18de56a..11404f8248ba103b171c4c248cfb96b06a711e7b 100644 |
--- a/content/renderer/render_frame_impl.h |
+++ b/content/renderer/render_frame_impl.h |
@@ -14,6 +14,7 @@ |
#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/common/mojo/service_registry_impl.h" |
#include "content/public/common/javascript_message_type.h" |
#include "content/public/common/referrer.h" |
@@ -22,6 +23,7 @@ |
#include "content/renderer/render_frame_proxy.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" |
@@ -63,6 +65,7 @@ class MidiDispatcher; |
class NotificationProvider; |
class PepperPluginInstanceImpl; |
class PushMessagingDispatcher; |
+class RendererAccessibility; |
class RendererCdmManager; |
class RendererMediaPlayerManager; |
class RendererPpapiHost; |
@@ -146,6 +149,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); |
@@ -412,6 +431,7 @@ class CONTENT_EXPORT RenderFrameImpl |
private: |
friend class RenderFrameObserver; |
+ friend class RendererAccessibilityTest; |
FRIEND_TEST_ALL_PREFIXES(RendererAccessibilityTest, |
AccessibilityMessagesQueueWhileSwappedOut); |
FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, |
@@ -422,6 +442,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; |
@@ -469,6 +491,7 @@ class CONTENT_EXPORT RenderFrameImpl |
void OnReload(bool ignore_cache); |
void OnTextSurroundingSelectionRequest(size_t max_length); |
void OnAddStyleSheetByURL(const std::string& url); |
+ void OnSetAccessibilityMode(AccessibilityMode new_mode); |
#if defined(OS_MACOSX) |
void OnCopyToFindPboard(); |
#endif |
@@ -656,6 +679,13 @@ class CONTENT_EXPORT RenderFrameImpl |
// initialized. |
ScreenOrientationDispatcher* screen_orientation_dispatcher_; |
+ // 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); |