| Index: chrome/browser/chromeos/volume_bubble.cc
|
| diff --git a/chrome/browser/chromeos/volume_bubble.cc b/chrome/browser/chromeos/volume_bubble.cc
|
| index d5c8c9726c81f385343448fe4e5e88477c56596e..18b3a10860677a8dec2b73a093a04bc9ad6e1ced 100644
|
| --- a/chrome/browser/chromeos/volume_bubble.cc
|
| +++ b/chrome/browser/chromeos/volume_bubble.cc
|
| @@ -7,17 +7,37 @@
|
| #include "base/memory/singleton.h"
|
| #include "grit/theme_resources.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| +#include "views/widget/widget.h"
|
|
|
| namespace chromeos {
|
|
|
| -VolumeBubble::VolumeBubble()
|
| - : SettingLevelBubble(
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_VOLUME_BUBBLE_UP_ICON),
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_VOLUME_BUBBLE_DOWN_ICON),
|
| - ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| - IDR_VOLUME_BUBBLE_MUTE_ICON)) {
|
| +views::Widget* VolumeBubble::widget_ = NULL;
|
| +
|
| +VolumeBubble::VolumeBubble() {}
|
| +
|
| +void VolumeBubble::ShowBubble(double percent, bool enabled) {
|
| + if (!widget_) {
|
| + widget_= SettingLevelBubble::ConstructSettingLevelBubble(
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_VOLUME_BUBBLE_UP_ICON),
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_VOLUME_BUBBLE_DOWN_ICON),
|
| + ResourceBundle::GetSharedInstance().GetBitmapNamed(
|
| + IDR_VOLUME_BUBBLE_MUTE_ICON),
|
| + percent,
|
| + enabled);
|
| + } else {
|
| + static_cast<SettingLevelBubble*>(widget_->widget_delegate())
|
| + ->UpdateSettingLevelInternal(percent, enabled);
|
| + }
|
| + widget_->Show();
|
| + static_cast<SettingLevelBubble*>(widget_->widget_delegate())
|
| + ->StartHideTimer();
|
| +}
|
| +
|
| +void VolumeBubble::HideBubble() {
|
| + if (widget_)
|
| + widget_->Close();
|
| }
|
|
|
| // static
|
|
|