summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-08 17:27:46 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-08 17:27:46 +0000
commitb4e05f2c9d52f1f5ebce1d50cdbcdfeb7e4ab8a1 (patch)
treeacde0b212fd31ffb97d6b1d753ecdc9e639d8e3d /chrome/browser/chromeos
parent5acca2efddcf230cc01cce9e5e1f179a1504e1aa (diff)
downloadchromium_src-b4e05f2c9d52f1f5ebce1d50cdbcdfeb7e4ab8a1.zip
chromium_src-b4e05f2c9d52f1f5ebce1d50cdbcdfeb7e4ab8a1.tar.gz
chromium_src-b4e05f2c9d52f1f5ebce1d50cdbcdfeb7e4ab8a1.tar.bz2
Use new touchpad api
BUG=chromium-os:4727,chromium-os:2863 TEST=Confirm that the UI only shows 2 settings (tap-to-click and sensitivity) Confirm that the settings work on both x86-generic and x86-dogfood builds. Review URL: http://codereview.chromium.org/3315016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58842 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r--chrome/browser/chromeos/cros/cros_library.cc16
-rw-r--r--chrome/browser/chromeos/cros/cros_library.h14
-rw-r--r--chrome/browser/chromeos/cros/cros_mock.cc36
-rw-r--r--chrome/browser/chromeos/cros/cros_mock.h12
-rw-r--r--chrome/browser/chromeos/cros/mock_synaptics_library.h25
-rw-r--r--chrome/browser/chromeos/cros/mock_touchpad_library.h25
-rw-r--r--chrome/browser/chromeos/cros/synaptics_library.cc65
-rw-r--r--chrome/browser/chromeos/cros/synaptics_library.h37
-rw-r--r--chrome/browser/chromeos/cros/touchpad_library.cc56
-rw-r--r--chrome/browser/chromeos/cros/touchpad_library.h30
-rw-r--r--chrome/browser/chromeos/dom_ui/system_options_handler.cc5
-rw-r--r--chrome/browser/chromeos/login/login_browsertest.cc6
-rw-r--r--chrome/browser/chromeos/options/system_page_view.cc55
-rw-r--r--chrome/browser/chromeos/preferences.cc26
14 files changed, 161 insertions, 247 deletions
diff --git a/chrome/browser/chromeos/cros/cros_library.cc b/chrome/browser/chromeos/cros/cros_library.cc
index acee452..8b783f6 100644
--- a/chrome/browser/chromeos/cros/cros_library.cc
+++ b/chrome/browser/chromeos/cros/cros_library.cc
@@ -15,9 +15,9 @@
#include "chrome/browser/chromeos/cros/power_library.h"
#include "chrome/browser/chromeos/cros/screen_lock_library.h"
#include "chrome/browser/chromeos/cros/speech_synthesis_library.h"
-#include "chrome/browser/chromeos/cros/synaptics_library.h"
#include "chrome/browser/chromeos/cros/syslogs_library.h"
#include "chrome/browser/chromeos/cros/system_library.h"
+#include "chrome/browser/chromeos/cros/touchpad_library.h"
#include "chrome/browser/chromeos/cros/update_library.h"
namespace chromeos {
@@ -80,10 +80,6 @@ SpeechSynthesisLibrary* CrosLibrary::GetSpeechSynthesisLibrary() {
return speech_synthesis_lib_.GetDefaultImpl(use_stub_impl_);
}
-SynapticsLibrary* CrosLibrary::GetSynapticsLibrary() {
- return synaptics_lib_.GetDefaultImpl(use_stub_impl_);
-}
-
SyslogsLibrary* CrosLibrary::GetSyslogsLibrary() {
return syslogs_lib_.GetDefaultImpl(use_stub_impl_);
}
@@ -92,6 +88,10 @@ SystemLibrary* CrosLibrary::GetSystemLibrary() {
return system_lib_.GetDefaultImpl(use_stub_impl_);
}
+TouchpadLibrary* CrosLibrary::GetTouchpadLibrary() {
+ return touchpad_lib_.GetDefaultImpl(use_stub_impl_);
+}
+
UpdateLibrary* CrosLibrary::GetUpdateLibrary() {
return update_lib_.GetDefaultImpl(use_stub_impl_);
}
@@ -184,9 +184,9 @@ void CrosLibrary::TestApi::SetSpeechSynthesisLibrary(
library_->speech_synthesis_lib_.SetImpl(library, own);
}
-void CrosLibrary::TestApi::SetSynapticsLibrary(
- SynapticsLibrary* library, bool own) {
- library_->synaptics_lib_.SetImpl(library, own);
+void CrosLibrary::TestApi::SetTouchpadLibrary(
+ TouchpadLibrary* library, bool own) {
+ library_->touchpad_lib_.SetImpl(library, own);
}
void CrosLibrary::TestApi::SetSyslogsLibrary(
diff --git a/chrome/browser/chromeos/cros/cros_library.h b/chrome/browser/chromeos/cros/cros_library.h
index 7b32930..d73b223 100644
--- a/chrome/browser/chromeos/cros/cros_library.h
+++ b/chrome/browser/chromeos/cros/cros_library.h
@@ -23,9 +23,9 @@ class NetworkLibrary;
class PowerLibrary;
class ScreenLockLibrary;
class SpeechSynthesisLibrary;
-class SynapticsLibrary;
class SyslogsLibrary;
class SystemLibrary;
+class TouchpadLibrary;
class UpdateLibrary;
// This class handles access to sub-parts of ChromeOS library. it provides
@@ -65,12 +65,12 @@ class CrosLibrary {
void SetScreenLockLibrary(ScreenLockLibrary* library, bool own);
// Setter for SpeechSynthesisLibrary.
void SetSpeechSynthesisLibrary(SpeechSynthesisLibrary* library, bool own);
- // Setter for SynapticsLibrary.
- void SetSynapticsLibrary(SynapticsLibrary* library, bool own);
// Setter for SyslogsLibrary.
void SetSyslogsLibrary(SyslogsLibrary* library, bool own);
// Setter for SystemLibrary.
void SetSystemLibrary(SystemLibrary* library, bool own);
+ // Setter for TouchpadLibrary.
+ void SetTouchpadLibrary(TouchpadLibrary* library, bool own);
// Setter for UpdateLibrary.
void SetUpdateLibrary(UpdateLibrary* library, bool own);
@@ -113,15 +113,15 @@ class CrosLibrary {
// This gets the singleton SpeechSynthesisLibrary.
SpeechSynthesisLibrary* GetSpeechSynthesisLibrary();
- // This gets the singleton SynapticsLibrary.
- SynapticsLibrary* GetSynapticsLibrary();
-
// This gets the singleton SyslogsLibrary.
SyslogsLibrary* GetSyslogsLibrary();
// This gets the singleton SystemLibrary.
SystemLibrary* GetSystemLibrary();
+ // This gets the singleton TouchpadLibrary.
+ TouchpadLibrary* GetTouchpadLibrary();
+
// This gets the singleton UpdateLibrary.
UpdateLibrary* GetUpdateLibrary();
@@ -192,9 +192,9 @@ class CrosLibrary {
Library<PowerLibrary> power_lib_;
Library<ScreenLockLibrary> screen_lock_lib_;
Library<SpeechSynthesisLibrary> speech_synthesis_lib_;
- Library<SynapticsLibrary> synaptics_lib_;
Library<SyslogsLibrary> syslogs_lib_;
Library<SystemLibrary> system_lib_;
+ Library<TouchpadLibrary> touchpad_lib_;
Library<UpdateLibrary> update_lib_;
// Stub implementations of the libraries should be used.
diff --git a/chrome/browser/chromeos/cros/cros_mock.cc b/chrome/browser/chromeos/cros/cros_mock.cc
index 74e3048..3f8400b 100644
--- a/chrome/browser/chromeos/cros/cros_mock.cc
+++ b/chrome/browser/chromeos/cros/cros_mock.cc
@@ -17,8 +17,8 @@
#include "chrome/browser/chromeos/cros/mock_power_library.h"
#include "chrome/browser/chromeos/cros/mock_screen_lock_library.h"
#include "chrome/browser/chromeos/cros/mock_speech_synthesis_library.h"
-#include "chrome/browser/chromeos/cros/mock_synaptics_library.h"
#include "chrome/browser/chromeos/cros/mock_system_library.h"
+#include "chrome/browser/chromeos/cros/mock_touchpad_library.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/login/wizard_screen.h"
#include "chrome/test/in_process_browser_test.h"
@@ -44,8 +44,8 @@ CrosMock::CrosMock()
mock_power_library_(NULL),
mock_screen_lock_library_(NULL),
mock_speech_synthesis_library_(NULL),
- mock_synaptics_library_(NULL),
- mock_system_library_(NULL) {}
+ mock_system_library_(NULL),
+ mock_touchpad_library_(NULL) {}
CrosMock::~CrosMock() {
}
@@ -59,7 +59,7 @@ void CrosMock::InitStatusAreaMocks() {
InitMockInputMethodLibrary();
InitMockNetworkLibrary();
InitMockPowerLibrary();
- InitMockSynapticsLibrary();
+ InitMockTouchpadLibrary();
InitMockSystemLibrary();
}
@@ -130,12 +130,12 @@ void CrosMock::InitMockSpeechSynthesisLibrary() {
test_api()->SetSpeechSynthesisLibrary(mock_speech_synthesis_library_, true);
}
-void CrosMock::InitMockSynapticsLibrary() {
+void CrosMock::InitMockTouchpadLibrary() {
InitMockLibraryLoader();
- if (mock_synaptics_library_)
+ if (mock_touchpad_library_)
return;
- mock_synaptics_library_ = new StrictMock<MockSynapticsLibrary>();
- test_api()->SetSynapticsLibrary(mock_synaptics_library_, true);
+ mock_touchpad_library_ = new StrictMock<MockTouchpadLibrary>();
+ test_api()->SetTouchpadLibrary(mock_touchpad_library_, true);
}
void CrosMock::InitMockSystemLibrary() {
@@ -175,20 +175,20 @@ MockSpeechSynthesisLibrary* CrosMock::mock_speech_synthesis_library() {
return mock_speech_synthesis_library_;
}
-MockSynapticsLibrary* CrosMock::mock_synaptics_library() {
- return mock_synaptics_library_;
-}
-
MockSystemLibrary* CrosMock::mock_system_library() {
return mock_system_library_;
}
+MockTouchpadLibrary* CrosMock::mock_touchpad_library() {
+ return mock_touchpad_library_;
+}
+
void CrosMock::SetStatusAreaMocksExpectations() {
SetKeyboardLibraryStatusAreaExpectations();
SetInputMethodLibraryStatusAreaExpectations();
SetNetworkLibraryStatusAreaExpectations();
SetPowerLibraryStatusAreaExpectations();
- SetSynapticsLibraryExpectations();
+ SetTouchpadLibraryExpectations();
SetSystemLibraryStatusAreaExpectations();
}
@@ -363,10 +363,10 @@ void CrosMock::SetSystemLibraryStatusAreaExpectations() {
.RetiresOnSaturation();
}
-void CrosMock::SetSynapticsLibraryExpectations() {
- EXPECT_CALL(*mock_synaptics_library_, SetBoolParameter(_, _))
+void CrosMock::SetTouchpadLibraryExpectations() {
+ EXPECT_CALL(*mock_touchpad_library_, SetSensitivity(_))
.Times(AnyNumber());
- EXPECT_CALL(*mock_synaptics_library_, SetRangeParameter(_, _))
+ EXPECT_CALL(*mock_touchpad_library_, SetTapToClick(_))
.Times(AnyNumber());
}
@@ -395,10 +395,10 @@ void CrosMock::TearDownMocks() {
test_api()->SetScreenLockLibrary(NULL, false);
if (mock_speech_synthesis_library_)
test_api()->SetSpeechSynthesisLibrary(NULL, false);
- if (mock_synaptics_library_)
- test_api()->SetSynapticsLibrary(NULL, false);
if (mock_system_library_)
test_api()->SetSystemLibrary(NULL, false);
+ if (mock_touchpad_library_)
+ test_api()->SetTouchpadLibrary(NULL, false);
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/cros/cros_mock.h b/chrome/browser/chromeos/cros/cros_mock.h
index 279de70..5770140 100644
--- a/chrome/browser/chromeos/cros/cros_mock.h
+++ b/chrome/browser/chromeos/cros/cros_mock.h
@@ -19,8 +19,8 @@ class MockNetworkLibrary;
class MockPowerLibrary;
class MockScreenLockLibrary;
class MockSpeechSynthesisLibrary;
-class MockSynapticsLibrary;
class MockSystemLibrary;
+class MockTouchpadLibrary;
// Class for initializing mocks for some parts of CrosLibrary. Once you mock
// part of CrosLibrary it will be considered as successfully loaded and
@@ -33,7 +33,7 @@ class CrosMock {
virtual ~CrosMock();
// This method sets up basic mocks that are used by status area items:
- // LibraryLoader, Language, Network, Power, Synaptics libraries.
+ // LibraryLoader, Language, Network, Power, Touchpad libraries.
// Add a call to this method at the beginning of your
// SetUpInProcessBrowserTestFixture.
void InitStatusAreaMocks();
@@ -50,7 +50,7 @@ class CrosMock {
void InitMockPowerLibrary();
void InitMockScreenLockLibrary();
void InitMockSpeechSynthesisLibrary();
- void InitMockSynapticsLibrary();
+ void InitMockTouchpadLibrary();
void InitMockSystemLibrary();
// Get mocks.
@@ -61,8 +61,8 @@ class CrosMock {
MockPowerLibrary* mock_power_library();
MockScreenLockLibrary* mock_screen_lock_library();
MockSpeechSynthesisLibrary* mock_speech_synthesis_library();
- MockSynapticsLibrary* mock_synaptics_library();
MockSystemLibrary* mock_system_library();
+ MockTouchpadLibrary* mock_touchpad_library();
// This method sets up corresponding expectations for basic mocks that
// are used by status area items.
@@ -79,8 +79,8 @@ class CrosMock {
void SetPowerLibraryStatusAreaExpectations();
void SetSpeechSynthesisLibraryExpectations();
void SetSystemLibraryStatusAreaExpectations();
- void SetSynapticsLibraryExpectations();
void SetSystemLibraryExpectations();
+ void SetTouchpadLibraryExpectations();
void TearDownMocks();
@@ -97,8 +97,8 @@ class CrosMock {
MockPowerLibrary* mock_power_library_;
MockScreenLockLibrary* mock_screen_lock_library_;
MockSpeechSynthesisLibrary* mock_speech_synthesis_library_;
- MockSynapticsLibrary* mock_synaptics_library_;
MockSystemLibrary* mock_system_library_;
+ MockTouchpadLibrary* mock_touchpad_library_;
ImePropertyList ime_properties_;
DISALLOW_COPY_AND_ASSIGN(CrosMock);
diff --git a/chrome/browser/chromeos/cros/mock_synaptics_library.h b/chrome/browser/chromeos/cros/mock_synaptics_library.h
deleted file mode 100644
index ba4e571..0000000
--- a/chrome/browser/chromeos/cros/mock_synaptics_library.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) 2010 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 CHROME_BROWSER_CHROMEOS_CROS_MOCK_SYNAPTICS_LIBRARY_H_
-#define CHROME_BROWSER_CHROMEOS_CROS_MOCK_SYNAPTICS_LIBRARY_H_
-#pragma once
-
-#include "chrome/browser/chromeos/cros/synaptics_library.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-namespace chromeos {
-
-class MockSynapticsLibrary : public SynapticsLibrary {
- public:
- MockSynapticsLibrary() {}
- virtual ~MockSynapticsLibrary() {}
- MOCK_METHOD2(SetBoolParameter, void(SynapticsParameter, bool));
- MOCK_METHOD2(SetRangeParameter, void(SynapticsParameter, int));
-};
-
-} // namespace chromeos
-
-#endif // CHROME_BROWSER_CHROMEOS_CROS_MOCK_SYNAPTICS_LIBRARY_H_
-
diff --git a/chrome/browser/chromeos/cros/mock_touchpad_library.h b/chrome/browser/chromeos/cros/mock_touchpad_library.h
new file mode 100644
index 0000000..8758784
--- /dev/null
+++ b/chrome/browser/chromeos/cros/mock_touchpad_library.h
@@ -0,0 +1,25 @@
+// Copyright (c) 2010 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 CHROME_BROWSER_CHROMEOS_CROS_MOCK_TOUCHPAD_LIBRARY_H_
+#define CHROME_BROWSER_CHROMEOS_CROS_MOCK_TOUCHPAD_LIBRARY_H_
+#pragma once
+
+#include "chrome/browser/chromeos/cros/touchpad_library.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace chromeos {
+
+class MockTouchpadLibrary : public TouchpadLibrary {
+ public:
+ MockTouchpadLibrary() {}
+ virtual ~MockTouchpadLibrary() {}
+ MOCK_METHOD1(SetSensitivity, void(int));
+ MOCK_METHOD1(SetTapToClick, void(bool));
+};
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_CROS_MOCK_TOUCHPAD_LIBRARY_H_
+
diff --git a/chrome/browser/chromeos/cros/synaptics_library.cc b/chrome/browser/chromeos/cros/synaptics_library.cc
deleted file mode 100644
index 25353ba..0000000
--- a/chrome/browser/chromeos/cros/synaptics_library.cc
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright (c) 2009 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 "chrome/browser/chromeos/cros/synaptics_library.h"
-
-#include "base/message_loop.h"
-#include "chrome/browser/chrome_thread.h"
-#include "chrome/browser/chromeos/cros/cros_library.h"
-
-namespace chromeos {
-
-class SynapticsLibraryImpl : public SynapticsLibrary {
- public:
- SynapticsLibraryImpl() {}
- virtual ~SynapticsLibraryImpl() {}
-
- void SetBoolParameter(SynapticsParameter param, bool value) {
- SetParameter(param, value ? 1 : 0);
- }
-
- void SetRangeParameter(SynapticsParameter param, int value) {
- if (value < 1)
- value = 1;
- if (value > 10)
- value = 10;
- SetParameter(param, value);
- }
-
- private:
- // This helper methods calls into the libcros library to set the parameter.
- // This call is run on the FILE thread.
- void SetParameter(SynapticsParameter param, int value) {
- if (CrosLibrary::Get()->EnsureLoaded()) {
- // This calls SetSynapticsParameter in the cros library which is
- // potentially time consuming. So we run this on the FILE thread.
- ChromeThread::PostTask(
- ChromeThread::FILE, FROM_HERE,
- NewRunnableFunction(&SetSynapticsParameter, param, value));
- }
- }
-
- DISALLOW_COPY_AND_ASSIGN(SynapticsLibraryImpl);
-};
-
-class SynapticsLibraryStubImpl : public SynapticsLibrary {
- public:
- SynapticsLibraryStubImpl() {}
- virtual ~SynapticsLibraryStubImpl() {}
- void SetBoolParameter(SynapticsParameter param, bool value) {}
- void SetRangeParameter(SynapticsParameter param, int value) {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(SynapticsLibraryStubImpl);
-};
-
-// static
-SynapticsLibrary* SynapticsLibrary::GetImpl(bool stub) {
- if (stub)
- return new SynapticsLibraryStubImpl();
- else
- return new SynapticsLibraryImpl();
-}
-
-} // namespace chromeos
diff --git a/chrome/browser/chromeos/cros/synaptics_library.h b/chrome/browser/chromeos/cros/synaptics_library.h
deleted file mode 100644
index 20203be..0000000
--- a/chrome/browser/chromeos/cros/synaptics_library.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (c) 2009 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 CHROME_BROWSER_CHROMEOS_CROS_SYNAPTICS_LIBRARY_H_
-#define CHROME_BROWSER_CHROMEOS_CROS_SYNAPTICS_LIBRARY_H_
-#pragma once
-
-#include "base/singleton.h"
-#include "cros/chromeos_synaptics.h"
-
-namespace chromeos {
-
-// This interface defines interaction with the ChromeOS synaptics library APIs.
-// Users can get an instance of this library class like this:
-// chromeos::CrosLibrary::Get()->GetSynapticsLibrary()
-// For a list of SynapticsPrameters, see chromeos_synaptics.h
-// in third_party/cros or /usr/include/cros
-class SynapticsLibrary {
- public:
- virtual ~SynapticsLibrary() {}
- // Sets a boolean parameter. The actual call will be run on the FILE thread.
- virtual void SetBoolParameter(SynapticsParameter param, bool value) = 0;
-
- // Sets a range parameter. The actual call will be run on the FILE thread.
- // Value should be between 1 and 10 inclusive.
- virtual void SetRangeParameter(SynapticsParameter param, int value) = 0;
-
- // Factory function, creates a new instance and returns ownership.
- // For normal usage, access the singleton via CrosLibrary::Get().
- static SynapticsLibrary* GetImpl(bool stub);
-};
-
-
-} // namespace chromeos
-
-#endif // CHROME_BROWSER_CHROMEOS_CROS_SYNAPTICS_LIBRARY_H_
diff --git a/chrome/browser/chromeos/cros/touchpad_library.cc b/chrome/browser/chromeos/cros/touchpad_library.cc
new file mode 100644
index 0000000..62294ea
--- /dev/null
+++ b/chrome/browser/chromeos/cros/touchpad_library.cc
@@ -0,0 +1,56 @@
+// Copyright (c) 2009 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 "chrome/browser/chromeos/cros/touchpad_library.h"
+
+#include "base/message_loop.h"
+#include "chrome/browser/chrome_thread.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
+
+namespace chromeos {
+
+class TouchpadLibraryImpl : public TouchpadLibrary {
+ public:
+ TouchpadLibraryImpl() {}
+ virtual ~TouchpadLibraryImpl() {}
+
+ void SetSensitivity(int value) {
+ if (CrosLibrary::Get()->EnsureLoaded()) {
+ ChromeThread::PostTask(
+ ChromeThread::FILE, FROM_HERE,
+ NewRunnableFunction(&SetTouchpadSensitivity, value));
+ }
+ }
+
+ void SetTapToClick(bool enabled) {
+ if (CrosLibrary::Get()->EnsureLoaded()) {
+ ChromeThread::PostTask(
+ ChromeThread::FILE, FROM_HERE,
+ NewRunnableFunction(&SetTouchpadTapToClick, enabled));
+ }
+ }
+
+ DISALLOW_COPY_AND_ASSIGN(TouchpadLibraryImpl);
+};
+
+class TouchpadLibraryStubImpl : public TouchpadLibrary {
+ public:
+ TouchpadLibraryStubImpl() {}
+ virtual ~TouchpadLibraryStubImpl() {}
+ void SetSensitivity(int value) {}
+ void SetTapToClick(bool enabled) {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(TouchpadLibraryStubImpl);
+};
+
+// static
+TouchpadLibrary* TouchpadLibrary::GetImpl(bool stub) {
+ if (stub)
+ return new TouchpadLibraryStubImpl();
+ else
+ return new TouchpadLibraryImpl();
+}
+
+} // namespace chromeos
diff --git a/chrome/browser/chromeos/cros/touchpad_library.h b/chrome/browser/chromeos/cros/touchpad_library.h
new file mode 100644
index 0000000..ab5ea39
--- /dev/null
+++ b/chrome/browser/chromeos/cros/touchpad_library.h
@@ -0,0 +1,30 @@
+// Copyright (c) 2009 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 CHROME_BROWSER_CHROMEOS_CROS_TOUCHPAD_LIBRARY_H_
+#define CHROME_BROWSER_CHROMEOS_CROS_TOUCHPAD_LIBRARY_H_
+#pragma once
+
+#include "cros/chromeos_touchpad.h"
+
+namespace chromeos {
+
+// This interface defines interaction with the ChromeOS synaptics library APIs.
+// Users can get an instance of this library class like this:
+// chromeos::CrosLibrary::Get()->GetTouchpadLibrary()
+class TouchpadLibrary {
+ public:
+ virtual ~TouchpadLibrary() {}
+ virtual void SetSensitivity(int value) = 0;
+ virtual void SetTapToClick(bool enabled) = 0;
+
+ // Factory function, creates a new instance and returns ownership.
+ // For normal usage, access the singleton via CrosLibrary::Get().
+ static TouchpadLibrary* GetImpl(bool stub);
+};
+
+
+} // namespace chromeos
+
+#endif // CHROME_BROWSER_CHROMEOS_CROS_TOUCHPAD_LIBRARY_H_
diff --git a/chrome/browser/chromeos/dom_ui/system_options_handler.cc b/chrome/browser/chromeos/dom_ui/system_options_handler.cc
index fd16921..d47c82c 100644
--- a/chrome/browser/chromeos/dom_ui/system_options_handler.cc
+++ b/chrome/browser/chromeos/dom_ui/system_options_handler.cc
@@ -45,13 +45,8 @@ void SystemOptionsHandler::GetLocalizedValues(
localized_strings->SetString("enable_tap_to_click",
l10n_util::GetStringUTF16(
IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION));
- localized_strings->SetString("enable_vert_edge_scroll",
- l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_VERT_EDGE_SCROLL_ENABLED_DESCRIPTION));
localized_strings->SetString("sensitivity",
l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION));
- localized_strings->SetString("speed_factor",
- l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SPEED_FACTOR_DESCRIPTION));
localized_strings->SetString("language",
l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_SECTION_TITLE_LANGUAGE));
diff --git a/chrome/browser/chromeos/login/login_browsertest.cc b/chrome/browser/chromeos/login/login_browsertest.cc
index 003261f..613d049 100644
--- a/chrome/browser/chromeos/login/login_browsertest.cc
+++ b/chrome/browser/chromeos/login/login_browsertest.cc
@@ -14,8 +14,8 @@
#include "chrome/browser/chromeos/cros/mock_network_library.h"
#include "chrome/browser/chromeos/cros/mock_power_library.h"
#include "chrome/browser/chromeos/cros/mock_screen_lock_library.h"
-#include "chrome/browser/chromeos/cros/mock_synaptics_library.h"
#include "chrome/browser/chromeos/cros/mock_system_library.h"
+#include "chrome/browser/chromeos/cros/mock_touchpad_library.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/in_process_browser_test.h"
#include "chrome/test/ui_test_utils.h"
@@ -53,7 +53,7 @@ class LoginTestBase : public InProcessBrowserTest {
EXPECT_CALL(mock_power_library_, battery_time_to_full())
.WillRepeatedly((Return(base::TimeDelta::FromMinutes(24))));
- testApi_->SetSynapticsLibrary(&mock_synaptics_library_, false);
+ testApi_->SetTouchpadLibrary(&mock_touchpad_library_, false);
testApi_->SetCryptohomeLibrary(&mock_cryptohome_library_, false);
testApi_->SetScreenLockLibrary(&mock_screen_lock_library_, false);
testApi_->SetSystemLibrary(&mock_system_library_, false);
@@ -67,7 +67,7 @@ class LoginTestBase : public InProcessBrowserTest {
NiceMock<MockNetworkLibrary> mock_network_library_;
NiceMock<MockPowerLibrary> mock_power_library_;
NiceMock<MockScreenLockLibrary> mock_screen_lock_library_;
- NiceMock<MockSynapticsLibrary> mock_synaptics_library_;
+ NiceMock<MockTouchpadLibrary> mock_touchpad_library_;
NiceMock<MockSystemLibrary> mock_system_library_;
ImePropertyList ime_properties_;
chromeos::CrosLibrary::TestApi* testApi_;
diff --git a/chrome/browser/chromeos/options/system_page_view.cc b/chrome/browser/chromeos/options/system_page_view.cc
index 805debe..81707ad 100644
--- a/chrome/browser/chromeos/options/system_page_view.cc
+++ b/chrome/browser/chromeos/options/system_page_view.cc
@@ -227,14 +227,10 @@ class TouchpadSection : public SettingsPageSection,
// Controls for this section:
views::Checkbox* enable_tap_to_click_checkbox_;
- views::Checkbox* enable_vert_edge_scroll_checkbox_;
- views::Slider* speed_factor_slider_;
views::Slider* sensitivity_slider_;
// Preferences for this section:
BooleanPrefMember tap_to_click_enabled_;
- BooleanPrefMember vert_edge_scroll_enabled_;
- IntegerPrefMember speed_factor_;
IntegerPrefMember sensitivity_;
DISALLOW_COPY_AND_ASSIGN(TouchpadSection);
@@ -243,8 +239,6 @@ class TouchpadSection : public SettingsPageSection,
TouchpadSection::TouchpadSection(Profile* profile)
: SettingsPageSection(profile, IDS_OPTIONS_SETTINGS_SECTION_TITLE_TOUCHPAD),
enable_tap_to_click_checkbox_(NULL),
- enable_vert_edge_scroll_checkbox_(NULL),
- speed_factor_slider_(NULL),
sensitivity_slider_(NULL) {
}
@@ -257,24 +251,11 @@ void TouchpadSection::ButtonPressed(
UserMetricsAction("Options_TapToClickCheckbox_Disable"),
profile()->GetPrefs());
tap_to_click_enabled_.SetValue(enabled);
- } else if (sender == enable_vert_edge_scroll_checkbox_) {
- bool enabled = enable_vert_edge_scroll_checkbox_->checked();
- UserMetricsRecordAction(enabled ?
- UserMetricsAction("Options_VertEdgeScrollCheckbox_Enable") :
- UserMetricsAction("Options_VertEdgeScrollCheckbox_Disable"),
- profile()->GetPrefs());
- vert_edge_scroll_enabled_.SetValue(enabled);
}
}
void TouchpadSection::SliderValueChanged(views::Slider* sender) {
- if (sender == speed_factor_slider_) {
- double value = speed_factor_slider_->value();
- UserMetricsRecordAction(
- UserMetricsAction("Options_SpeedFactorSlider_Changed"),
- profile()->GetPrefs());
- speed_factor_.SetValue(value);
- } else if (sender == sensitivity_slider_) {
+ if (sender == sensitivity_slider_) {
double value = sensitivity_slider_->value();
UserMetricsRecordAction(
UserMetricsAction("Options_SensitivitySlider_Changed"),
@@ -288,18 +269,8 @@ void TouchpadSection::InitContents(GridLayout* layout) {
IDS_OPTIONS_SETTINGS_TAP_TO_CLICK_ENABLED_DESCRIPTION));
enable_tap_to_click_checkbox_->set_listener(this);
enable_tap_to_click_checkbox_->SetMultiLine(true);
- enable_vert_edge_scroll_checkbox_ = new views::Checkbox(l10n_util::GetString(
- IDS_OPTIONS_SETTINGS_VERT_EDGE_SCROLL_ENABLED_DESCRIPTION));
- enable_vert_edge_scroll_checkbox_->set_listener(this);
- enable_vert_edge_scroll_checkbox_->SetMultiLine(true);
- // Create speed factor slider with values between 1 and 10 step 1
- speed_factor_slider_ = new views::Slider(1, 10, 1,
- static_cast<views::Slider::StyleFlags>(
- views::Slider::STYLE_DRAW_VALUE |
- views::Slider::STYLE_UPDATE_ON_RELEASE),
- this);
- // Create sensitivity slider with values between 1 and 10 step 1
- sensitivity_slider_ = new views::Slider(1, 10, 1,
+ // Create sensitivity slider with values between 1 and 5 step 1
+ sensitivity_slider_ = new views::Slider(1, 5, 1,
static_cast<views::Slider::StyleFlags>(
views::Slider::STYLE_DRAW_VALUE |
views::Slider::STYLE_UPDATE_ON_RELEASE),
@@ -310,25 +281,13 @@ void TouchpadSection::InitContents(GridLayout* layout) {
l10n_util::GetString(IDS_OPTIONS_SETTINGS_SENSITIVITY_DESCRIPTION)));
layout->AddView(sensitivity_slider_);
layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, double_column_view_set_id());
- layout->AddView(new views::Label(
- l10n_util::GetString(IDS_OPTIONS_SETTINGS_SPEED_FACTOR_DESCRIPTION)));
- layout->AddView(speed_factor_slider_);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
layout->StartRow(0, single_column_view_set_id());
layout->AddView(enable_tap_to_click_checkbox_);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, single_column_view_set_id());
- layout->AddView(enable_vert_edge_scroll_checkbox_);
layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing);
// Init member prefs so we can update the controls if prefs change.
tap_to_click_enabled_.Init(prefs::kTapToClickEnabled,
profile()->GetPrefs(), this);
- vert_edge_scroll_enabled_.Init(prefs::kVertEdgeScrollEnabled,
- profile()->GetPrefs(), this);
- speed_factor_.Init(prefs::kTouchpadSpeedFactor,
- profile()->GetPrefs(), this);
sensitivity_.Init(prefs::kTouchpadSensitivity,
profile()->GetPrefs(), this);
}
@@ -338,14 +297,6 @@ void TouchpadSection::NotifyPrefChanged(const std::string* pref_name) {
bool enabled = tap_to_click_enabled_.GetValue();
enable_tap_to_click_checkbox_->SetChecked(enabled);
}
- if (!pref_name || *pref_name == prefs::kVertEdgeScrollEnabled) {
- bool enabled = vert_edge_scroll_enabled_.GetValue();
- enable_vert_edge_scroll_checkbox_->SetChecked(enabled);
- }
- if (!pref_name || *pref_name == prefs::kTouchpadSpeedFactor) {
- double value = speed_factor_.GetValue();
- speed_factor_slider_->SetValue(value);
- }
if (!pref_name || *pref_name == prefs::kTouchpadSensitivity) {
double value = sensitivity_.GetValue();
sensitivity_slider_->SetValue(value);
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index 4f2dff1..9f90e2a 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -10,7 +10,7 @@
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/cros/keyboard_library.h"
#include "chrome/browser/chromeos/cros/input_method_library.h"
-#include "chrome/browser/chromeos/cros/synaptics_library.h"
+#include "chrome/browser/chromeos/cros/touchpad_library.h"
#include "chrome/browser/chromeos/input_method/input_method_util.h"
#include "chrome/browser/prefs/pref_member.h"
#include "chrome/browser/prefs/pref_service.h"
@@ -27,9 +27,7 @@ void Preferences::RegisterUserPrefs(PrefService* prefs) {
prefs->RegisterBooleanPref(prefs::kTapToClickEnabled, false);
prefs->RegisterBooleanPref(prefs::kLabsMediaplayerEnabled, false);
prefs->RegisterBooleanPref(prefs::kLabsAdvancedFilesystemEnabled, false);
- prefs->RegisterBooleanPref(prefs::kVertEdgeScrollEnabled, false);
- prefs->RegisterIntegerPref(prefs::kTouchpadSpeedFactor, 9);
- prefs->RegisterIntegerPref(prefs::kTouchpadSensitivity, 5);
+ prefs->RegisterIntegerPref(prefs::kTouchpadSensitivity, 3);
prefs->RegisterStringPref(prefs::kLanguageCurrentInputMethod, "");
prefs->RegisterStringPref(prefs::kLanguagePreviousInputMethod, "");
prefs->RegisterStringPref(prefs::kLanguageHotkeyNextEngineInMenu,
@@ -107,8 +105,6 @@ void Preferences::RegisterUserPrefs(PrefService* prefs) {
void Preferences::Init(PrefService* prefs) {
tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, this);
accessibility_enabled_.Init(prefs::kAccessibilityEnabled, prefs, this);
- vert_edge_scroll_enabled_.Init(prefs::kVertEdgeScrollEnabled, prefs, this);
- speed_factor_.Init(prefs::kTouchpadSpeedFactor, prefs, this);
sensitivity_.Init(prefs::kTouchpadSensitivity, prefs, this);
language_hotkey_next_engine_in_menu_.Init(
prefs::kLanguageHotkeyNextEngineInMenu, prefs, this);
@@ -182,24 +178,12 @@ void Preferences::Observe(NotificationType type,
void Preferences::NotifyPrefChanged(const std::string* pref_name) {
if (!pref_name || *pref_name == prefs::kTapToClickEnabled) {
- CrosLibrary::Get()->GetSynapticsLibrary()->SetBoolParameter(
- PARAM_BOOL_TAP_TO_CLICK,
+ CrosLibrary::Get()->GetTouchpadLibrary()->SetTapToClick(
tap_to_click_enabled_.GetValue());
}
- if (!pref_name || *pref_name == prefs::kVertEdgeScrollEnabled) {
- CrosLibrary::Get()->GetSynapticsLibrary()->SetBoolParameter(
- PARAM_BOOL_VERTICAL_EDGE_SCROLLING,
- vert_edge_scroll_enabled_.GetValue());
- }
- if (!pref_name || *pref_name == prefs::kTouchpadSpeedFactor) {
- CrosLibrary::Get()->GetSynapticsLibrary()->SetRangeParameter(
- PARAM_RANGE_SPEED_SENSITIVITY,
- speed_factor_.GetValue());
- }
if (!pref_name || *pref_name == prefs::kTouchpadSensitivity) {
- CrosLibrary::Get()->GetSynapticsLibrary()->SetRangeParameter(
- PARAM_RANGE_TOUCH_SENSITIVITY,
- sensitivity_.GetValue());
+ CrosLibrary::Get()->GetTouchpadLibrary()->SetSensitivity(
+ sensitivity_.GetValue());
}
// We don't handle prefs::kLanguageCurrentInputMethod and PreviousInputMethod