summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-21 19:53:26 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-21 19:53:26 +0000
commitfa4f91688f50803b510b21d0040deac6cd4f73a1 (patch)
treeb3a8c5758993411b32b7470af7f384ace82ff425
parent0ccc3f7ce460094544cf8383f828a1811e1a58bf (diff)
downloadchromium_src-fa4f91688f50803b510b21d0040deac6cd4f73a1.zip
chromium_src-fa4f91688f50803b510b21d0040deac6cd4f73a1.tar.gz
chromium_src-fa4f91688f50803b510b21d0040deac6cd4f73a1.tar.bz2
Create content API for BrowserAccessibilityState
BUG=98716 TEST=none TBR=sky Review URL: http://codereview.chromium.org/9421030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122856 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/DEPS1
-rw-r--r--chrome/browser/chrome_browser_application_mac.mm4
-rw-r--r--chrome/browser/chromeos/accessibility/accessibility_util.cc2
-rw-r--r--chrome/browser/ui/views/frame/browser_frame_win.cc4
-rw-r--r--chrome/browser/ui/views/toolbar_view.cc2
-rw-r--r--content/browser/accessibility/browser_accessibility_state_impl.cc (renamed from content/browser/accessibility/browser_accessibility_state.cc)36
-rw-r--r--content/browser/accessibility/browser_accessibility_state_impl.h (renamed from content/browser/accessibility/browser_accessibility_state.h)40
-rw-r--r--content/browser/renderer_host/render_widget_host.cc2
-rw-r--r--content/browser/renderer_host/render_widget_host_view_win.cc2
-rw-r--r--content/content_browser.gypi5
-rw-r--r--content/public/browser/browser_accessibility_state.h31
11 files changed, 81 insertions, 48 deletions
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index e1284b9..47c5e7d 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -33,7 +33,6 @@ include_rules = [
# DO NOT ADD ANY MORE ITEMS TO THE LIST BELOW!
"+content/browser/accessibility/browser_accessibility.h",
"+content/browser/accessibility/browser_accessibility_manager.h",
- "+content/browser/accessibility/browser_accessibility_state.h",
"+content/browser/browser_url_handler.h",
"+content/browser/cert_store.h",
"+content/browser/disposition_utils.h",
diff --git a/chrome/browser/chrome_browser_application_mac.mm b/chrome/browser/chrome_browser_application_mac.mm
index 3ddba2c..e04c277 100644
--- a/chrome/browser/chrome_browser_application_mac.mm
+++ b/chrome/browser/chrome_browser_application_mac.mm
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -15,8 +15,8 @@
#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
#import "chrome/common/mac/objc_method_swizzle.h"
#import "chrome/common/mac/objc_zombie.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
#include "content/browser/renderer_host/render_view_host.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/web_contents.h"
// The implementation of NSExceptions break various assumptions in the
diff --git a/chrome/browser/chromeos/accessibility/accessibility_util.cc b/chrome/browser/chromeos/accessibility/accessibility_util.cc
index 597a682..1286ada 100644
--- a/chrome/browser/chromeos/accessibility/accessibility_util.cc
+++ b/chrome/browser/chromeos/accessibility/accessibility_util.cc
@@ -18,8 +18,8 @@
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/pref_names.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
#include "content/browser/renderer_host/render_view_host.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "grit/browser_resources.h"
diff --git a/chrome/browser/ui/views/frame/browser_frame_win.cc b/chrome/browser/ui/views/frame/browser_frame_win.cc
index bb7c7d1..a791241 100644
--- a/chrome/browser/ui/views/frame/browser_frame_win.cc
+++ b/chrome/browser/ui/views/frame/browser_frame_win.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -11,7 +11,7 @@
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "grit/theme_resources.h"
#include "ui/base/theme_provider.h"
#include "ui/gfx/font.h"
diff --git a/chrome/browser/ui/views/toolbar_view.cc b/chrome/browser/ui/views/toolbar_view.cc
index cf6a53c..bff7697 100644
--- a/chrome/browser/ui/views/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar_view.cc
@@ -22,7 +22,7 @@
#include "chrome/browser/upgrade_detector.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/user_metrics.h"
#include "grit/chromium_strings.h"
diff --git a/content/browser/accessibility/browser_accessibility_state.cc b/content/browser/accessibility/browser_accessibility_state_impl.cc
index bb277b7..08c0775 100644
--- a/content/browser/accessibility/browser_accessibility_state.cc
+++ b/content/browser/accessibility/browser_accessibility_state_impl.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/browser/accessibility/browser_accessibility_state.h"
+#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#include "base/memory/singleton.h"
#include "base/metrics/histogram.h"
@@ -11,37 +11,43 @@
// Update the accessibility histogram 45 seconds after initialization.
static const int kAccessibilityHistogramDelaySecs = 45;
-BrowserAccessibilityState::BrowserAccessibilityState()
- : accessibility_enabled_(false) {
+// static
+BrowserAccessibilityState* BrowserAccessibilityState::GetInstance() {
+ return BrowserAccessibilityStateImpl::GetInstance();
+}
+
+// static
+BrowserAccessibilityStateImpl* BrowserAccessibilityStateImpl::GetInstance() {
+ return Singleton<BrowserAccessibilityStateImpl>::get();
+}
+
+BrowserAccessibilityStateImpl::BrowserAccessibilityStateImpl()
+ : BrowserAccessibilityState(),
+ accessibility_enabled_(false) {
update_histogram_timer_.Start(
FROM_HERE,
base::TimeDelta::FromSeconds(kAccessibilityHistogramDelaySecs),
this,
- &BrowserAccessibilityState::UpdateHistogram);
-}
-
-BrowserAccessibilityState::~BrowserAccessibilityState() {
+ &BrowserAccessibilityStateImpl::UpdateHistogram);
}
-// static
-BrowserAccessibilityState* BrowserAccessibilityState::GetInstance() {
- return Singleton<BrowserAccessibilityState>::get();
+BrowserAccessibilityStateImpl::~BrowserAccessibilityStateImpl() {
}
-void BrowserAccessibilityState::OnScreenReaderDetected() {
+void BrowserAccessibilityStateImpl::OnScreenReaderDetected() {
accessibility_enabled_ = true;
}
-void BrowserAccessibilityState::OnAccessibilityEnabledManually() {
+void BrowserAccessibilityStateImpl::OnAccessibilityEnabledManually() {
// We may want to do something different with this later.
accessibility_enabled_ = true;
}
-bool BrowserAccessibilityState::IsAccessibleBrowser() {
+bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() {
return accessibility_enabled_;
}
-void BrowserAccessibilityState::UpdateHistogram() {
+void BrowserAccessibilityStateImpl::UpdateHistogram() {
UMA_HISTOGRAM_ENUMERATION("Accessibility.State",
accessibility_enabled_ ? 1 : 0,
2);
diff --git a/content/browser/accessibility/browser_accessibility_state.h b/content/browser/accessibility/browser_accessibility_state_impl.h
index c0e2048..413f639 100644
--- a/content/browser/accessibility/browser_accessibility_state.h
+++ b/content/browser/accessibility/browser_accessibility_state_impl.h
@@ -1,14 +1,14 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_H_
-#define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_H_
+#ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_IMPL_H_
+#define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_IMPL_H_
#pragma once
#include "base/basictypes.h"
#include "base/timer.h"
-#include "content/common/content_export.h"
+#include "content/public/browser/browser_accessibility_state.h"
template <typename T> struct DefaultSingletonTraits;
@@ -29,37 +29,33 @@ template <typename T> struct DefaultSingletonTraits;
// when VoiceOver is launched and unset when VoiceOver is closed. This is an
// improvement over reading defaults preference values (which has no callback
// mechanism).
-class CONTENT_EXPORT BrowserAccessibilityState {
+class CONTENT_EXPORT BrowserAccessibilityStateImpl
+ : public BrowserAccessibilityState {
public:
- // Returns the singleton instance.
- static BrowserAccessibilityState* GetInstance();
+ virtual ~BrowserAccessibilityStateImpl();
- ~BrowserAccessibilityState();
+ static BrowserAccessibilityStateImpl* GetInstance();
- // Called when accessibility is enabled manually (via command-line flag).
- void OnAccessibilityEnabledManually();
-
- // Called when screen reader client is detected.
- void OnScreenReaderDetected();
-
- // Returns true if the browser should be customized for accessibility.
- bool IsAccessibleBrowser();
+ virtual void OnAccessibilityEnabledManually() OVERRIDE;
+ virtual void OnScreenReaderDetected() OVERRIDE;
+ virtual bool IsAccessibleBrowser() OVERRIDE;
// Called a short while after startup to allow time for the accessibility
// state to be determined. Updates a histogram with the current state.
void UpdateHistogram();
- private:
- BrowserAccessibilityState();
- friend struct DefaultSingletonTraits<BrowserAccessibilityState>;
+ protected:
+ BrowserAccessibilityStateImpl();
+
+ friend struct DefaultSingletonTraits<BrowserAccessibilityStateImpl>;
// Set to true when full accessibility features should be enabled.
bool accessibility_enabled_;
// Timer to update the histogram a short while after startup.
- base::OneShotTimer<BrowserAccessibilityState> update_histogram_timer_;
+ base::OneShotTimer<BrowserAccessibilityStateImpl> update_histogram_timer_;
- DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityState);
+ DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityStateImpl);
};
-#endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_H_
+#endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_STATE_IMPL_H_
diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc
index d99a0a8..ed0851b 100644
--- a/content/browser/renderer_host/render_widget_host.cc
+++ b/content/browser/renderer_host/render_widget_host.cc
@@ -13,7 +13,6 @@
#include "base/metrics/histogram.h"
#include "base/string_number_conversions.h"
#include "base/utf_string_conversions.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
#include "content/browser/gpu/gpu_process_host.h"
#include "content/browser/gpu/gpu_process_host_ui_shim.h"
#include "content/browser/gpu/gpu_surface_tracker.h"
@@ -25,6 +24,7 @@
#include "content/common/gpu/gpu_messages.h"
#include "content/common/view_messages.h"
#include "content/port/browser/render_widget_host_view_port.h"
+#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/native_web_keyboard_event.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
diff --git a/content/browser/renderer_host/render_widget_host_view_win.cc b/content/browser/renderer_host/render_widget_host_view_win.cc
index 74e7d71..0a08050 100644
--- a/content/browser/renderer_host/render_widget_host_view_win.cc
+++ b/content/browser/renderer_host/render_widget_host_view_win.cc
@@ -19,7 +19,7 @@
#include "base/win/win_util.h"
#include "base/win/windows_version.h"
#include "base/win/wrapped_window_proc.h"
-#include "content/browser/accessibility/browser_accessibility_state.h"
+#include "content/browser/accessibility/browser_accessibility_state_impl.h"
#include "content/browser/accessibility/browser_accessibility_win.h"
#include "content/browser/gpu/gpu_process_host.h"
#include "content/browser/gpu/gpu_process_host_ui_shim.h"
diff --git a/content/content_browser.gypi b/content/content_browser.gypi
index 37a09bb..5f3fa38 100644
--- a/content/content_browser.gypi
+++ b/content/content_browser.gypi
@@ -28,6 +28,7 @@
'sources': [
'port/browser/render_widget_host_view_port.h',
'public/browser/access_token_store.h',
+ 'public/browser/browser_accessibility_state.h',
'public/browser/browser_child_process_host.h',
'public/browser/browser_child_process_host_delegate.cc',
'public/browser/browser_child_process_host_delegate.h',
@@ -138,8 +139,8 @@
'browser/accessibility/browser_accessibility_manager_mac.mm',
'browser/accessibility/browser_accessibility_manager_win.cc',
'browser/accessibility/browser_accessibility_manager_win.h',
- 'browser/accessibility/browser_accessibility_state.cc',
- 'browser/accessibility/browser_accessibility_state.h',
+ 'browser/accessibility/browser_accessibility_state_impl.cc',
+ 'browser/accessibility/browser_accessibility_state_impl.h',
'browser/accessibility/browser_accessibility_win.cc',
'browser/accessibility/browser_accessibility_win.h',
'browser/appcache/appcache_dispatcher_host.cc',
diff --git a/content/public/browser/browser_accessibility_state.h b/content/public/browser/browser_accessibility_state.h
new file mode 100644
index 0000000..9860146
--- /dev/null
+++ b/content/public/browser/browser_accessibility_state.h
@@ -0,0 +1,31 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_PUBLIC_BROWSER_BROWSER_ACCESSIBILITY_STATE_H_
+#define CONTENT_PUBLIC_BROWSER_BROWSER_ACCESSIBILITY_STATE_H_
+#pragma once
+
+#include "content/common/content_export.h"
+
+// The BrowserAccessibilityState class is used to determine if the browser
+// should be customized for users with assistive technology, such as screen
+// readers.
+class CONTENT_EXPORT BrowserAccessibilityState {
+ public:
+ virtual ~BrowserAccessibilityState() { }
+
+ // Returns the singleton instance.
+ static BrowserAccessibilityState* GetInstance();
+
+ // Called when accessibility is enabled manually (via command-line flag).
+ virtual void OnAccessibilityEnabledManually() = 0;
+
+ // Called when screen reader client is detected.
+ virtual void OnScreenReaderDetected() = 0;
+
+ // Returns true if the browser should be customized for accessibility.
+ virtual bool IsAccessibleBrowser() = 0;
+};
+
+#endif // CONTENT_PUBLIC_BROWSER_BROWSER_ACCESSIBILITY_STATE_H_