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

Unified Diff: chrome/browser/ui/ash/volume_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: chrome/browser/ui/ash/volume_controller.cc
diff --git a/chrome/browser/ui/ash/volume_controller_chromeos.cc b/chrome/browser/ui/ash/volume_controller.cc
similarity index 77%
rename from chrome/browser/ui/ash/volume_controller_chromeos.cc
rename to chrome/browser/ui/ash/volume_controller.cc
index cc336c399b9a0724a5abeaa74857fe1ce9b366f2..e0184f291085007f6459271786eab5b360f4e0e4 100644
--- a/chrome/browser/ui/ash/volume_controller_chromeos.cc
+++ b/chrome/browser/ui/ash/volume_controller.cc
@@ -2,15 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/ui/ash/volume_controller_chromeos.h"
+#include "chrome/browser/ui/ash/volume_controller.h"
#include "base/command_line.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
+#include "chrome/browser/ui/ash/ash_util.h"
#include "chrome/grit/browser_resources.h"
#include "chromeos/audio/chromeos_sounds.h"
#include "chromeos/audio/cras_audio_handler.h"
#include "chromeos/chromeos_switches.h"
+#include "content/public/common/service_manager_connection.h"
#include "media/audio/sounds/sounds_manager.h"
+#include "services/service_manager/public/cpp/connector.h"
#include "ui/base/resource/resource_bundle.h"
namespace {
@@ -33,7 +36,16 @@ void PlayVolumeAdjustSound() {
} // namespace
-VolumeController::VolumeController() {
+VolumeController::VolumeController() : binding_(this) {
+ // Connect to the volume interface in the ash service.
+ service_manager::Connector* connector =
+ content::ServiceManagerConnection::GetForProcess()->GetConnector();
+ ash::mojom::VolumePtr volume_ptr;
+ connector->ConnectToInterface(ash_util::GetAshServiceName(), &volume_ptr);
+
+ // Register this object as the client interface implementation.
msw 2016/12/05 20:15:09 nit: "client interface implementation" doesn't see
James Cook 2016/12/06 19:23:57 Done.
+ volume_ptr->SetClient(binding_.CreateInterfacePtrAndBind());
+
ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
if (VolumeAdjustSoundEnabled()) {
media::SoundsManager::Get()->Initialize(
@@ -44,11 +56,6 @@ VolumeController::VolumeController() {
VolumeController::~VolumeController() {}
-void VolumeController::BindRequest(
- ash::mojom::VolumeControllerRequest request) {
- bindings_.AddBinding(this, std::move(request));
-}
-
void VolumeController::VolumeMute() {
chromeos::CrasAudioHandler::Get()->SetOutputMute(true);
}

Powered by Google App Engine
This is Rietveld 408576698