| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/speech/speech_recognition_bubble.h" | 5 #include "chrome/browser/speech/speech_recognition_bubble.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "content/public/browser/web_contents.h" | 10 #include "content/public/browser/web_contents.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 void SpeechRecognitionBubbleBase::SetWarmUpMode() { | 170 void SpeechRecognitionBubbleBase::SetWarmUpMode() { |
| 171 weak_factory_.InvalidateWeakPtrs(); | 171 weak_factory_.InvalidateWeakPtrs(); |
| 172 display_mode_ = DISPLAY_MODE_WARM_UP; | 172 display_mode_ = DISPLAY_MODE_WARM_UP; |
| 173 animation_step_ = 0; | 173 animation_step_ = 0; |
| 174 DoWarmingUpAnimationStep(); | 174 DoWarmingUpAnimationStep(); |
| 175 UpdateLayout(); | 175 UpdateLayout(); |
| 176 } | 176 } |
| 177 | 177 |
| 178 void SpeechRecognitionBubbleBase::DoWarmingUpAnimationStep() { | 178 void SpeechRecognitionBubbleBase::DoWarmingUpAnimationStep() { |
| 179 SetImage(g_images.Get().warm_up()[animation_step_]); | 179 SetImage(g_images.Get().warm_up()[animation_step_]); |
| 180 MessageLoop::current()->PostDelayedTask( | 180 base::MessageLoop::current()->PostDelayedTask( |
| 181 FROM_HERE, | 181 FROM_HERE, |
| 182 base::Bind(&SpeechRecognitionBubbleBase::DoWarmingUpAnimationStep, | 182 base::Bind(&SpeechRecognitionBubbleBase::DoWarmingUpAnimationStep, |
| 183 weak_factory_.GetWeakPtr()), | 183 weak_factory_.GetWeakPtr()), |
| 184 base::TimeDelta::FromMilliseconds( | 184 base::TimeDelta::FromMilliseconds( |
| 185 animation_step_ == 0 ? kWarmingUpAnimationStartMs | 185 animation_step_ == 0 ? kWarmingUpAnimationStartMs |
| 186 : kWarmingUpAnimationStepMs)); | 186 : kWarmingUpAnimationStepMs)); |
| 187 if (++animation_step_ >= static_cast<int>(g_images.Get().warm_up().size())) | 187 if (++animation_step_ >= static_cast<int>(g_images.Get().warm_up().size())) |
| 188 animation_step_ = 1; // Frame 0 is skipped during the animation. | 188 animation_step_ = 1; // Frame 0 is skipped during the animation. |
| 189 } | 189 } |
| 190 | 190 |
| 191 void SpeechRecognitionBubbleBase::SetRecordingMode() { | 191 void SpeechRecognitionBubbleBase::SetRecordingMode() { |
| 192 weak_factory_.InvalidateWeakPtrs(); | 192 weak_factory_.InvalidateWeakPtrs(); |
| 193 display_mode_ = DISPLAY_MODE_RECORDING; | 193 display_mode_ = DISPLAY_MODE_RECORDING; |
| 194 SetInputVolume(0, 0); | 194 SetInputVolume(0, 0); |
| 195 UpdateLayout(); | 195 UpdateLayout(); |
| 196 } | 196 } |
| 197 | 197 |
| 198 void SpeechRecognitionBubbleBase::SetRecognizingMode() { | 198 void SpeechRecognitionBubbleBase::SetRecognizingMode() { |
| 199 display_mode_ = DISPLAY_MODE_RECOGNIZING; | 199 display_mode_ = DISPLAY_MODE_RECOGNIZING; |
| 200 animation_step_ = 0; | 200 animation_step_ = 0; |
| 201 DoRecognizingAnimationStep(); | 201 DoRecognizingAnimationStep(); |
| 202 UpdateLayout(); | 202 UpdateLayout(); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void SpeechRecognitionBubbleBase::DoRecognizingAnimationStep() { | 205 void SpeechRecognitionBubbleBase::DoRecognizingAnimationStep() { |
| 206 SetImage(g_images.Get().spinner()[animation_step_]); | 206 SetImage(g_images.Get().spinner()[animation_step_]); |
| 207 if (++animation_step_ >= static_cast<int>(g_images.Get().spinner().size())) | 207 if (++animation_step_ >= static_cast<int>(g_images.Get().spinner().size())) |
| 208 animation_step_ = 0; | 208 animation_step_ = 0; |
| 209 MessageLoop::current()->PostDelayedTask( | 209 base::MessageLoop::current()->PostDelayedTask( |
| 210 FROM_HERE, | 210 FROM_HERE, |
| 211 base::Bind(&SpeechRecognitionBubbleBase::DoRecognizingAnimationStep, | 211 base::Bind(&SpeechRecognitionBubbleBase::DoRecognizingAnimationStep, |
| 212 weak_factory_.GetWeakPtr()), | 212 weak_factory_.GetWeakPtr()), |
| 213 base::TimeDelta::FromMilliseconds(kRecognizingAnimationStepMs)); | 213 base::TimeDelta::FromMilliseconds(kRecognizingAnimationStepMs)); |
| 214 } | 214 } |
| 215 | 215 |
| 216 void SpeechRecognitionBubbleBase::SetMessage(const string16& text) { | 216 void SpeechRecognitionBubbleBase::SetMessage(const string16& text) { |
| 217 weak_factory_.InvalidateWeakPtrs(); | 217 weak_factory_.InvalidateWeakPtrs(); |
| 218 message_text_ = text; | 218 message_text_ = text; |
| 219 display_mode_ = DISPLAY_MODE_MESSAGE; | 219 display_mode_ = DISPLAY_MODE_MESSAGE; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 } | 269 } |
| 270 | 270 |
| 271 void SpeechRecognitionBubbleBase::SetImage(const gfx::ImageSkia& image) { | 271 void SpeechRecognitionBubbleBase::SetImage(const gfx::ImageSkia& image) { |
| 272 icon_image_ = image; | 272 icon_image_ = image; |
| 273 UpdateImage(); | 273 UpdateImage(); |
| 274 } | 274 } |
| 275 | 275 |
| 276 gfx::ImageSkia SpeechRecognitionBubbleBase::icon_image() { | 276 gfx::ImageSkia SpeechRecognitionBubbleBase::icon_image() { |
| 277 return icon_image_; | 277 return icon_image_; |
| 278 } | 278 } |
| OLD | NEW |