| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/ui/idle_app_name_notification_view.h" | 5 #include "chrome/browser/chromeos/ui/idle_app_name_notification_view.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
| 10 #include "ash/shell_delegate.h" | 10 #include "ash/shell_delegate.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 125 |
| 126 // Set a timer which will trigger to remove the message after the given | 126 // Set a timer which will trigger to remove the message after the given |
| 127 // time. | 127 // time. |
| 128 hide_timer_.Start( | 128 hide_timer_.Start( |
| 129 FROM_HERE, | 129 FROM_HERE, |
| 130 base::TimeDelta::FromMilliseconds(message_visibility_time_in_ms), | 130 base::TimeDelta::FromMilliseconds(message_visibility_time_in_ms), |
| 131 this, | 131 this, |
| 132 &IdleAppNameNotificationDelegateView::RemoveMessage); | 132 &IdleAppNameNotificationDelegateView::RemoveMessage); |
| 133 } | 133 } |
| 134 | 134 |
| 135 virtual ~IdleAppNameNotificationDelegateView() { | 135 ~IdleAppNameNotificationDelegateView() override { |
| 136 // The widget is already closing, but the other cleanup items need to be | 136 // The widget is already closing, but the other cleanup items need to be |
| 137 // performed. | 137 // performed. |
| 138 widget_closed_ = true; | 138 widget_closed_ = true; |
| 139 Close(); | 139 Close(); |
| 140 } | 140 } |
| 141 | 141 |
| 142 // Close the widget immediately. This can be called from the owner or from | 142 // Close the widget immediately. This can be called from the owner or from |
| 143 // this class. | 143 // this class. |
| 144 void Close() { | 144 void Close() { |
| 145 // Stop the timer (if it was running). | 145 // Stop the timer (if it was running). |
| (...skipping 15 matching lines...) Expand all Loading... |
| 161 void RemoveMessage() { | 161 void RemoveMessage() { |
| 162 aura::Window* widget_view = GetWidget()->GetNativeView(); | 162 aura::Window* widget_view = GetWidget()->GetNativeView(); |
| 163 ui::Layer* layer = widget_view->layer(); | 163 ui::Layer* layer = widget_view->layer(); |
| 164 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator()); | 164 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator()); |
| 165 settings.AddObserver(this); | 165 settings.AddObserver(this); |
| 166 gfx::Rect rect = widget_view->bounds(); | 166 gfx::Rect rect = widget_view->bounds(); |
| 167 rect.set_y(-GetPreferredSize().height()); | 167 rect.set_y(-GetPreferredSize().height()); |
| 168 layer->SetBounds(rect); | 168 layer->SetBounds(rect); |
| 169 } | 169 } |
| 170 | 170 |
| 171 virtual void OnPaint(gfx::Canvas* canvas) override { | 171 void OnPaint(gfx::Canvas* canvas) override { |
| 172 SkPaint paint; | 172 SkPaint paint; |
| 173 paint.setStyle(SkPaint::kFill_Style); | 173 paint.setStyle(SkPaint::kFill_Style); |
| 174 paint.setColor(kWindowBackgroundColor); | 174 paint.setColor(kWindowBackgroundColor); |
| 175 canvas->DrawRoundRect(GetLocalBounds(), kWindowCornerRadius, paint); | 175 canvas->DrawRoundRect(GetLocalBounds(), kWindowCornerRadius, paint); |
| 176 views::WidgetDelegateView::OnPaint(canvas); | 176 views::WidgetDelegateView::OnPaint(canvas); |
| 177 } | 177 } |
| 178 | 178 |
| 179 virtual void GetAccessibleState(ui::AXViewState* state) override { | 179 void GetAccessibleState(ui::AXViewState* state) override { |
| 180 state->name = spoken_text_; | 180 state->name = spoken_text_; |
| 181 state->role = ui::AX_ROLE_ALERT; | 181 state->role = ui::AX_ROLE_ALERT; |
| 182 } | 182 } |
| 183 | 183 |
| 184 // ImplicitAnimationObserver overrides | 184 // ImplicitAnimationObserver overrides |
| 185 virtual void OnImplicitAnimationsCompleted() override { | 185 void OnImplicitAnimationsCompleted() override { Close(); } |
| 186 Close(); | |
| 187 } | |
| 188 | 186 |
| 189 private: | 187 private: |
| 190 // Adds the label to the view, using |text| with a |font| and a |text_color|. | 188 // Adds the label to the view, using |text| with a |font| and a |text_color|. |
| 191 void AddLabel(const base::string16& text, | 189 void AddLabel(const base::string16& text, |
| 192 const gfx::FontList& font, | 190 const gfx::FontList& font, |
| 193 SkColor text_color) { | 191 SkColor text_color) { |
| 194 views::Label* label = new views::Label; | 192 views::Label* label = new views::Label; |
| 195 label->SetText(text); | 193 label->SetText(text); |
| 196 label->SetHorizontalAlignment(gfx::ALIGN_CENTER); | 194 label->SetHorizontalAlignment(gfx::ALIGN_CENTER); |
| 197 label->SetFontList(font); | 195 label->SetFontList(font); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 | 265 |
| 268 view_ = new IdleAppNameNotificationDelegateView( | 266 view_ = new IdleAppNameNotificationDelegateView( |
| 269 this, | 267 this, |
| 270 app_name, | 268 app_name, |
| 271 error, | 269 error, |
| 272 message_visibility_time_in_ms + animation_time_ms); | 270 message_visibility_time_in_ms + animation_time_ms); |
| 273 CreateAndShowWidgetWithContent(view_, view_, animation_time_ms); | 271 CreateAndShowWidgetWithContent(view_, view_, animation_time_ms); |
| 274 } | 272 } |
| 275 | 273 |
| 276 } // namespace chromeos | 274 } // namespace chromeos |
| OLD | NEW |