diff options
author | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-18 12:30:45 +0000 |
---|---|---|
committer | mkwst@chromium.org <mkwst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-18 12:30:45 +0000 |
commit | 39d842cd75fbdbaf30e93cd9beff983cd3acb348 (patch) | |
tree | c78c63822d24adc90384b98b7cbe0c2e0d18a0ed /content/renderer/render_frame_impl.h | |
parent | f98bb7f5ef1e6ce518b021826256beb9ac58335e (diff) | |
download | chromium_src-39d842cd75fbdbaf30e93cd9beff983cd3acb348.zip chromium_src-39d842cd75fbdbaf30e93cd9beff983cd3acb348.tar.gz chromium_src-39d842cd75fbdbaf30e93cd9beff983cd3acb348.tar.bz2 |
Revert of Revert of Migrate accessibility from RenderView to RenderFrame. (https://codereview.chromium.org/407493002/)
Reason for revert:
Reverting the revert. This didn't break the tree; it's still broken without the patch. :(
Sorry for the noise!
Original issue's description:
> Revert of Migrate accessibility from RenderView to RenderFrame. (https://codereview.chromium.org/273423004/)
>
> Reason for revert:
> Speculative revert to fix XP bots.
>
> XP bots started crashing http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/32011 and http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%282%29/builds/34677
>
> This CL is the most suspicious in the range. If it doesn't fix the bots, I'll unrevert it.
>
> Original issue's description:
> > Migrate accessibility from RenderView to RenderFrame and RVH to RFH.
> >
> > In preparation for out-of-process iframes, move almost all accessibility
> > functionality from RenderView to RenderFrame, and from RVHI and RWHI
> > to RFHI.
> >
> > In addition, the accessibility mode is moved to WebContents, and changing
> > the mode triggers changing it on all frames.
> >
> > BUG=368298
> > R=jam@chromium.org, kenrb@chromium.org, nick@chromium.org
> >
> > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=283994
>
> TBR=dmazzoni@chromium.org
> NOTRY=true
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284032
TBR=creis@chromium.org,nick@chromium.org,nasko@chromium.org,jam@chromium.org,dtseng@chromium.org,jschuh@chromium.org,tsepez@chromium.org,kenrb@chromium.org,dmazzoni@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/407493004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284065 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_frame_impl.h')
-rw-r--r-- | content/renderer/render_frame_impl.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index e9e8270..3cd7082 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" @@ -65,6 +67,7 @@ class MidiDispatcher; class NotificationProvider; class PepperPluginInstanceImpl; class PushMessagingDispatcher; +class RendererAccessibility; class RendererCdmManager; class RendererMediaPlayerManager; class RendererPpapiHost; @@ -148,6 +151,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); @@ -419,6 +438,7 @@ class CONTENT_EXPORT RenderFrameImpl private: friend class RenderFrameObserver; + friend class RendererAccessibilityTest; FRIEND_TEST_ALL_PREFIXES(RendererAccessibilityTest, AccessibilityMessagesQueueWhileSwappedOut); FRIEND_TEST_ALL_PREFIXES(RenderFrameImplTest, @@ -429,6 +449,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; @@ -476,6 +498,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 @@ -664,6 +687,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); |