Chromium Code Reviews| Index: Source/core/accessibility/AXObjectCache.cpp |
| diff --git a/Source/core/accessibility/AXObjectCache.cpp b/Source/core/accessibility/AXObjectCache.cpp |
| index a191a36d75e0a4508ae487eddf50a12f4e16c934..8042584f8643fa06389e61acee9ad732410b9f05 100644 |
| --- a/Source/core/accessibility/AXObjectCache.cpp |
| +++ b/Source/core/accessibility/AXObjectCache.cpp |
| @@ -57,6 +57,7 @@ |
| #include "core/accessibility/AXTableRow.h" |
| #include "core/dom/Document.h" |
| #include "core/frame/LocalFrame.h" |
| +#include "core/frame/Settings.h" |
| #include "core/html/HTMLAreaElement.h" |
| #include "core/html/HTMLImageElement.h" |
| #include "core/html/HTMLInputElement.h" |
| @@ -104,9 +105,6 @@ void AXComputedObjectAttributeCache::clear() |
| m_idMapping.clear(); |
| } |
| -bool AXObjectCache::gAccessibilityEnabled = false; |
| -bool AXObjectCache::gInlineTextBoxAccessibility = false; |
| - |
| AXObjectCache::AXObjectCache(Document& document) |
| : m_document(document) |
| , m_notificationPostTimer(this, &AXObjectCache::notificationPostTimerFired) |
| @@ -158,7 +156,7 @@ AXObject* AXObjectCache::focusedImageMapUIElement(HTMLAreaElement* areaElement) |
| AXObject* AXObjectCache::focusedUIElementForPage(const Page* page) |
| { |
| - if (!gAccessibilityEnabled) |
| + if (!page->settings().accessibilityEnabled()) |
| return 0; |
| // Cross-process accessibility is not yet implemented. |
| @@ -451,7 +449,7 @@ AXObject* AXObjectCache::getOrCreate(AbstractInlineTextBox* inlineTextBox) |
| AXObject* AXObjectCache::rootObject() |
| { |
| - if (!gAccessibilityEnabled) |
| + if (!accessibilityEnabled()) |
| return 0; |
| return getOrCreate(m_document.view()); |
| @@ -900,7 +898,7 @@ void AXObjectCache::recomputeIsIgnored(RenderObject* renderer) |
| void AXObjectCache::inlineTextBoxesUpdated(RenderObject* renderer) |
| { |
| - if (!gInlineTextBoxAccessibility) |
| + if (!inlineTextBoxAccessibilityEnabled()) |
| return; |
| // Only update if the accessibility object already exists and it's |
| @@ -913,6 +911,30 @@ void AXObjectCache::inlineTextBoxesUpdated(RenderObject* renderer) |
| } |
| } |
| +Settings* AXObjectCache::getSettings() |
| +{ |
| + if (m_settings) |
| + return m_settings; |
| + m_settings = m_document.settings(); |
| + return m_settings; |
|
abarth-chromium
2014/08/29 18:32:07
Why store a pointer to m_settings? You can just g
aboxhall
2014/08/29 20:35:16
Done.
|
| +} |
| + |
| +bool AXObjectCache::accessibilityEnabled() |
| +{ |
| + Settings* settings = getSettings(); |
| + if (!settings) |
| + return false; |
| + return settings->accessibilityEnabled(); |
| +} |
| + |
| +bool AXObjectCache::inlineTextBoxAccessibilityEnabled() |
| +{ |
| + Settings* settings = getSettings(); |
| + if (!settings) |
| + return false; |
| + return settings->inlineTextBoxAccessibilityEnabled(); |
| +} |
| + |
| const Element* AXObjectCache::rootAXEditableElement(const Node* node) |
| { |
| const Element* result = node->rootEditableElement(); |