Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2179)

Unified Diff: content/renderer/render_frame_impl.h

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix more compile errors Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698