Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / browser / accessibility / browser_accessibility_state_impl.h
index 3098341..2a1b1c6 100644 (file)
@@ -42,6 +42,7 @@ class CONTENT_EXPORT BrowserAccessibilityStateImpl
 
   virtual void EnableAccessibility() OVERRIDE;
   virtual void DisableAccessibility() OVERRIDE;
+  virtual void ResetAccessibilityMode() OVERRIDE;
   virtual void OnScreenReaderDetected() OVERRIDE;
   virtual bool IsAccessibleBrowser() OVERRIDE;
   virtual void AddHistogramCallback(base::Closure callback) OVERRIDE;
@@ -49,12 +50,23 @@ class CONTENT_EXPORT BrowserAccessibilityStateImpl
   virtual void UpdateHistogramsForTesting() OVERRIDE;
 
   AccessibilityMode accessibility_mode() const { return accessibility_mode_; };
-  void SetAccessibilityMode(AccessibilityMode mode);
+
+  // Adds the given accessibility mode to the current accessibility mode bitmap.
+  void AddAccessibilityMode(AccessibilityMode mode);
+
+  // Removes the given accessibility mode from the current accessibility mode
+  // bitmap, managing the bits that are shared with other modes such that a
+  // bit will only be turned off when all modes that depend on it have been
+  // removed.
+  void RemoveAccessibilityMode(AccessibilityMode mode);
 
  private:
   friend class base::RefCountedThreadSafe<BrowserAccessibilityStateImpl>;
   friend struct DefaultSingletonTraits<BrowserAccessibilityStateImpl>;
 
+  // Resets accessibility_mode_ to the default value.
+  void ResetAccessibilityModeValue();
+
   // Called a short while after startup to allow time for the accessibility
   // state to be determined. Updates histograms with the current state.
   void UpdateHistograms();
@@ -64,6 +76,10 @@ class CONTENT_EXPORT BrowserAccessibilityStateImpl
 
   void UpdatePlatformSpecificHistograms();
 
+  // Updates the accessibility mode of all render widgets, including swapped out
+  // ones. |add| specifies whether the mode should be added or removed.
+  void AddOrRemoveFromRenderWidgets(AccessibilityMode mode, bool add);
+
   AccessibilityMode accessibility_mode_;
 
   std::vector<base::Closure> histogram_callbacks_;