Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1633)

Unified Diff: ash/common/accelerators/accelerator_controller.cc

Issue 2552483002: mash: Have chrome set itself as a controller interface for changing volume (Closed)
Patch Set: rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/common/accelerators/accelerator_controller.cc
diff --git a/ash/common/accelerators/accelerator_controller.cc b/ash/common/accelerators/accelerator_controller.cc
index 3a19e4feb0f4a2c1642444f0886686c708863d1b..efd199fc233cc5e415625b50c5e3d08d0555da02 100644
--- a/ash/common/accelerators/accelerator_controller.cc
+++ b/ash/common/accelerators/accelerator_controller.cc
@@ -4,6 +4,8 @@
#include "ash/common/accelerators/accelerator_controller.h"
+#include <utility>
+
#include "ash/common/accelerators/accelerator_commands.h"
#include "ash/common/accelerators/accelerator_controller_delegate.h"
#include "ash/common/accelerators/debug_commands.h"
@@ -35,8 +37,6 @@
#include "ash/public/interfaces/new_window.mojom.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/user_metrics.h"
-#include "content/public/common/service_names.mojom.h"
-#include "services/service_manager/public/cpp/connector.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/accelerators/accelerator_manager.h"
#include "ui/keyboard/keyboard_controller.h"
@@ -508,31 +508,31 @@ void HandleToggleSpokenFeedback() {
A11Y_NOTIFICATION_SHOW);
}
-void HandleVolumeDown(mojom::VolumeController* volume_controller,
+void HandleVolumeDown(mojom::VolumeClient* volume_client,
const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_VOLUME_DOWN)
base::RecordAction(UserMetricsAction("Accel_VolumeDown_F9"));
- if (volume_controller)
- volume_controller->VolumeDown();
+ if (volume_client)
+ volume_client->VolumeDown();
}
-void HandleVolumeMute(mojom::VolumeController* volume_controller,
+void HandleVolumeMute(mojom::VolumeClient* volume_client,
const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_VOLUME_MUTE)
base::RecordAction(UserMetricsAction("Accel_VolumeMute_F8"));
- if (volume_controller)
- volume_controller->VolumeMute();
+ if (volume_client)
+ volume_client->VolumeMute();
}
-void HandleVolumeUp(mojom::VolumeController* volume_controller,
+void HandleVolumeUp(mojom::VolumeClient* volume_client,
const ui::Accelerator& accelerator) {
if (accelerator.key_code() == ui::VKEY_VOLUME_UP)
base::RecordAction(UserMetricsAction("Accel_VolumeUp_F10"));
- if (volume_controller)
- volume_controller->VolumeUp();
+ if (volume_client)
+ volume_client->VolumeUp();
}
#endif // defined(OS_CHROMEOS)
@@ -684,6 +684,14 @@ bool AcceleratorController::CanHandleAccelerators() const {
return true;
}
+void AcceleratorController::BindRequest(mojom::VolumeRequest request) {
+ bindings_.AddBinding(this, std::move(request));
+}
+
+void AcceleratorController::SetClient(mojom::VolumeClientPtr client) {
+ volume_client_ = std::move(client);
+}
+
///////////////////////////////////////////////////////////////////////////////
// AcceleratorController, private:
@@ -1095,13 +1103,13 @@ void AcceleratorController::PerformAction(AcceleratorAction action,
WmShell::Get()->system_tray_notifier()->NotifyRequestToggleWifi();
break;
case VOLUME_DOWN:
- HandleVolumeDown(GetVolumeController(), accelerator);
+ HandleVolumeDown(volume_client_.get(), accelerator);
break;
case VOLUME_MUTE:
- HandleVolumeMute(GetVolumeController(), accelerator);
+ HandleVolumeMute(volume_client_.get(), accelerator);
break;
case VOLUME_UP:
- HandleVolumeUp(GetVolumeController(), accelerator);
+ HandleVolumeUp(volume_client_.get(), accelerator);
break;
#else
case DUMMY_FOR_RESERVED:
@@ -1164,19 +1172,4 @@ AcceleratorController::GetAcceleratorProcessingRestriction(int action) {
return RESTRICTION_NONE;
}
-mojom::VolumeController* AcceleratorController::GetVolumeController() {
- if (!volume_controller_ && WmShell::Get()->delegate()->GetShellConnector()) {
- WmShell::Get()->delegate()->GetShellConnector()->ConnectToInterface(
- content::mojom::kBrowserServiceName, &volume_controller_);
- volume_controller_.set_connection_error_handler(
- base::Bind(&AcceleratorController::OnVolumeControllerConnectionError,
- base::Unretained(this)));
- }
- return volume_controller_.get();
-}
-
-void AcceleratorController::OnVolumeControllerConnectionError() {
- volume_controller_.reset();
-}
-
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698