| Index: chrome/browser/chromeos/brightness_bubble.cc
|
| diff --git a/chrome/browser/chromeos/brightness_bubble.cc b/chrome/browser/chromeos/brightness_bubble.cc
|
| index 7c149aacde2b3e23cb1fcf20960756688df41a0c..c4ba9a72fc6609b5c0c3aace9bbf262200563b80 100644
|
| --- a/chrome/browser/chromeos/brightness_bubble.cc
|
| +++ b/chrome/browser/chromeos/brightness_bubble.cc
|
| @@ -7,22 +7,64 @@
|
| #include "base/memory/singleton.h"
|
| #include "grit/theme_resources.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| +#include "views/widget/widget.h"
|
|
|
| namespace chromeos {
|
|
|
| -BrightnessBubble::BrightnessBubble()
|
| - : SettingLevelBubble(
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_BRIGHTNESS_BUBBLE_ICON),
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_BRIGHTNESS_BUBBLE_ICON),
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_BRIGHTNESS_BUBBLE_ICON)) {
|
| -}
|
| -
|
| // static
|
| BrightnessBubble* BrightnessBubble::GetInstance() {
|
| return Singleton<BrightnessBubble>::get();
|
| }
|
|
|
| +void BrightnessBubble::OnWidgetClosing(views::Widget* widget) {
|
| + // Bubble faded out.
|
| + if (widget_ == widget)
|
| + widget_ = NULL;
|
| +}
|
| +
|
| +void BrightnessBubble::ShowBubble(double percent, bool enabled) {
|
| + MaybeCreateWidget(percent, enabled);
|
| + SettingLevelBubble::ShowBubble(widget_, percent, enabled);
|
| +}
|
| +
|
| +void BrightnessBubble::UpdateWithoutShowingBubble(double percent,
|
| + bool enabled) {
|
| + MaybeCreateWidget(percent, enabled);
|
| + static_cast<SettingLevelBubble*>(widget_->widget_delegate())
|
| + ->UpdateWithoutShowingBubble(percent, enabled);
|
| +}
|
| +
|
| +void BrightnessBubble::HideBubble() {
|
| + if (widget_) {
|
| + widget_->RemoveObserver(this);
|
| + widget_->Close();
|
| + widget_ = NULL;
|
| + }
|
| +}
|
| +
|
| +BrightnessBubble::BrightnessBubble()
|
| + : widget_(NULL) {}
|
| +
|
| +BrightnessBubble::~BrightnessBubble() {
|
| + if (widget_) {
|
| + widget_->RemoveObserver(this);
|
| + widget_ = NULL;
|
| + }
|
| +}
|
| +
|
| +void BrightnessBubble::MaybeCreateWidget(double percent, bool enabled) {
|
| + if (!widget_) {
|
| + widget_ = SettingLevelBubble::CreateBubble(
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_BRIGHTNESS_BUBBLE_ICON),
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_BRIGHTNESS_BUBBLE_ICON),
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_BRIGHTNESS_BUBBLE_ICON),
|
| + percent,
|
| + enabled);
|
| + widget_->AddObserver(this);
|
| + }
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|