| Index: views/controls/button/text_button.cc | 
| =================================================================== | 
| --- views/controls/button/text_button.cc	(revision 88686) | 
| +++ views/controls/button/text_button.cc	(working copy) | 
| @@ -653,13 +653,7 @@ | 
| void TextButton::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) { | 
| TextButtonBase::PaintButton(canvas, mode); | 
|  | 
| -  SkBitmap icon = icon_; | 
| -  if (show_multiple_icon_states_) { | 
| -    if (has_hover_icon_ && (state() == BS_HOT)) | 
| -      icon = icon_hover_; | 
| -    else if (has_pushed_icon_ && (state() == BS_PUSHED)) | 
| -      icon = icon_pushed_; | 
| -  } | 
| +  const SkBitmap& icon = GetImageToPaint(); | 
|  | 
| if (icon.width() > 0) { | 
| gfx::Rect text_bounds = GetTextBounds(); | 
| @@ -702,14 +696,7 @@ | 
| gfx::Rect TextButton::GetTextBounds() const { | 
| int extra_width = 0; | 
|  | 
| -  SkBitmap icon = icon_; | 
| -  if (show_multiple_icon_states_) { | 
| -    if (has_hover_icon_ && (state() == BS_HOT)) | 
| -      icon = icon_hover_; | 
| -    else if (has_pushed_icon_ && (state() == BS_PUSHED)) | 
| -      icon = icon_pushed_; | 
| -  } | 
| - | 
| +  const SkBitmap& icon = GetImageToPaint(); | 
| if (icon.width() > 0) | 
| extra_width = icon.width() + (text_.empty() ? 0 : icon_text_spacing_); | 
|  | 
| @@ -727,4 +714,14 @@ | 
| return bounds; | 
| } | 
|  | 
| +const SkBitmap& TextButton::GetImageToPaint() const { | 
| +  if (show_multiple_icon_states_) { | 
| +    if (has_hover_icon_ && (state() == BS_HOT)) | 
| +      return icon_hover_; | 
| +    if (has_pushed_icon_ && (state() == BS_PUSHED)) | 
| +      return icon_pushed_; | 
| +  } | 
| +  return icon_; | 
| +} | 
| + | 
| }  // namespace views | 
|  |