Home | History | Annotate | Download | only in ash
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/ui/ash/brightness_controller_chromeos.h"
      6 
      7 #include "chromeos/dbus/dbus_thread_manager.h"
      8 #include "chromeos/dbus/power_manager_client.h"
      9 #include "content/public/browser/user_metrics.h"
     10 #include "ui/base/accelerators/accelerator.h"
     11 
     12 bool BrightnessController::HandleBrightnessDown(
     13     const ui::Accelerator& accelerator) {
     14   if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_DOWN)
     15     content::RecordAction(
     16         content::UserMetricsAction("Accel_BrightnessDown_F6"));
     17 
     18   chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
     19       DecreaseScreenBrightness(true);
     20   return true;
     21 }
     22 
     23 bool BrightnessController::HandleBrightnessUp(
     24     const ui::Accelerator& accelerator) {
     25   if (accelerator.key_code() == ui::VKEY_BRIGHTNESS_UP)
     26     content::RecordAction(content::UserMetricsAction("Accel_BrightnessUp_F7"));
     27 
     28   chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
     29       IncreaseScreenBrightness();
     30   return true;
     31 }
     32 
     33 void BrightnessController::SetBrightnessPercent(double percent, bool gradual) {
     34   chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
     35       SetScreenBrightnessPercent(percent, gradual);
     36 }
     37 
     38 void BrightnessController::GetBrightnessPercent(
     39     const base::Callback<void(double)>& callback) {
     40   chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->
     41       GetScreenBrightnessPercent(callback);
     42 }
     43