Index: chrome/browser/tab_contents/tab_contents.cc |
=================================================================== |
--- chrome/browser/tab_contents/tab_contents.cc (revision 46908) |
+++ chrome/browser/tab_contents/tab_contents.cc (working copy) |
@@ -291,7 +291,8 @@ |
is_showing_before_unload_dialog_(false), |
renderer_preferences_(), |
opener_dom_ui_type_(DOMUIFactory::kNoDOMUI), |
- language_state_(&controller_) { |
+ language_state_(&controller_), |
+ requested_accessibility_tree_(false) { |
ClearBlockedContentSettings(); |
renderer_preferences_util::UpdateFromSystemSettings( |
&renderer_preferences_, profile); |
@@ -349,6 +350,10 @@ |
// Set-up the showing of the omnibox search infobar if applicable. |
if (OmniboxSearchHint::IsEnabled(profile)) |
omnibox_search_hint_.reset(new OmniboxSearchHint(this)); |
+ |
+ renderer_accessible_ = |
+ CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableRendererAccessibility); |
} |
TabContents::~TabContents() { |
@@ -2127,6 +2132,10 @@ |
void TabContents::DocumentLoadedInFrame() { |
controller_.DocumentLoadedInFrame(); |
+ if (renderer_accessible_ && !requested_accessibility_tree_) { |
+ render_view_host()->RequestAccessibilityTree(); |
+ requested_accessibility_tree_ = true; |
+ } |
} |
void TabContents::OnContentBlocked(ContentSettingsType type) { |
@@ -2296,6 +2305,8 @@ |
const ViewHostMsg_FrameNavigate_Params& params) { |
int extra_invalidate_flags = 0; |
+ requested_accessibility_tree_ = false; |
+ |
if (PageTransition::IsMainFrame(params.transition)) { |
bool was_bookmark_bar_visible = ShouldShowBookmarkBar(); |
bool was_extension_shelf_visible = IsExtensionShelfAlwaysVisible(); |