Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: chrome/browser/ui/views/infobars/translate_infobar_base.cc

Issue 6989001: Misc. infobar stuff: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/views/infobars/translate_infobar_base.h" 5 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h"
6 6
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/browser/translate/translate_infobar_delegate.h" 8 #include "chrome/browser/translate/translate_infobar_delegate.h"
9 #include "chrome/browser/ui/views/infobars/after_translate_infobar.h" 9 #include "chrome/browser/ui/views/infobars/after_translate_infobar.h"
10 #include "chrome/browser/ui/views/infobars/before_translate_infobar.h" 10 #include "chrome/browser/ui/views/infobars/before_translate_infobar.h"
11 #include "chrome/browser/ui/views/infobars/infobar_button_border.h" 11 #include "chrome/browser/ui/views/infobars/infobar_button_border.h"
12 #include "chrome/browser/ui/views/infobars/translate_message_infobar.h" 12 #include "chrome/browser/ui/views/infobars/translate_message_infobar.h"
13 #include "grit/theme_resources.h" 13 #include "grit/theme_resources.h"
14 #include "ui/base/animation/slide_animation.h" 14 #include "ui/base/animation/slide_animation.h"
15 #include "ui/base/resource/resource_bundle.h" 15 #include "ui/base/resource/resource_bundle.h"
16 #include "ui/gfx/canvas_skia.h" 16 #include "ui/gfx/canvas_skia.h"
17 #include "views/controls/button/menu_button.h" 17 #include "views/controls/button/menu_button.h"
18 #include "views/controls/label.h" 18 #include "views/controls/label.h"
19 19
20 // TranslateInfoBarDelegate --------------------------------------------------- 20 // TranslateInfoBarDelegate ---------------------------------------------------
21 21
22 InfoBar* TranslateInfoBarDelegate::CreateInfoBar() { 22 InfoBar* TranslateInfoBarDelegate::CreateInfoBar(TabContentsWrapper* owner) {
23 TranslateInfoBarBase* infobar = NULL; 23 TranslateInfoBarBase* infobar = NULL;
24 switch (type_) { 24 switch (type_) {
25 case BEFORE_TRANSLATE: 25 case BEFORE_TRANSLATE:
26 infobar = new BeforeTranslateInfoBar(this); 26 infobar = new BeforeTranslateInfoBar(owner, this);
27 break; 27 break;
28 case AFTER_TRANSLATE: 28 case AFTER_TRANSLATE:
29 infobar = new AfterTranslateInfoBar(this); 29 infobar = new AfterTranslateInfoBar(owner, this);
30 break; 30 break;
31 case TRANSLATING: 31 case TRANSLATING:
32 case TRANSLATION_ERROR: 32 case TRANSLATION_ERROR:
33 infobar = new TranslateMessageInfoBar(this); 33 infobar = new TranslateMessageInfoBar(owner, this);
34 break; 34 break;
35 default: 35 default:
36 NOTREACHED(); 36 NOTREACHED();
37 } 37 }
38 infobar_view_ = infobar; 38 infobar_view_ = infobar;
39 return infobar; 39 return infobar;
40 } 40 }
41 41
42 // TranslateInfoBarBase ------------------------------------------------------- 42 // TranslateInfoBarBase -------------------------------------------------------
43 43
44 // static 44 // static
45 const int TranslateInfoBarBase::kButtonInLabelSpacing = 5; 45 const int TranslateInfoBarBase::kButtonInLabelSpacing = 5;
46 46
47 TranslateInfoBarBase::TranslateInfoBarBase(TranslateInfoBarDelegate* delegate) 47 TranslateInfoBarBase::TranslateInfoBarBase(TabContentsWrapper* owner,
48 : InfoBarView(delegate), 48 TranslateInfoBarDelegate* delegate)
49 : InfoBarView(owner, delegate),
49 error_background_(InfoBarDelegate::WARNING_TYPE) { 50 error_background_(InfoBarDelegate::WARNING_TYPE) {
50 } 51 }
51 52
52 TranslateInfoBarBase::~TranslateInfoBarBase() { 53 TranslateInfoBarBase::~TranslateInfoBarBase() {
53 } 54 }
54 55
55 void TranslateInfoBarBase::ViewHierarchyChanged(bool is_add, 56 void TranslateInfoBarBase::ViewHierarchyChanged(bool is_add,
56 View* parent, 57 View* parent,
57 View* child) { 58 View* child) {
58 if (is_add && (child == this) && (background_color_animation_ == NULL)) { 59 if (is_add && (child == this) && (background_color_animation_ == NULL)) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 void TranslateInfoBarBase::FadeBackground(gfx::Canvas* canvas, 126 void TranslateInfoBarBase::FadeBackground(gfx::Canvas* canvas,
126 double animation_value, 127 double animation_value,
127 const views::Background& background) { 128 const views::Background& background) {
128 // Draw the background into an offscreen buffer with alpha value per animation 129 // Draw the background into an offscreen buffer with alpha value per animation
129 // value, then blend it back into the current canvas. 130 // value, then blend it back into the current canvas.
130 canvas->SaveLayerAlpha(static_cast<int>(animation_value * 255)); 131 canvas->SaveLayerAlpha(static_cast<int>(animation_value * 255));
131 canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); 132 canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode);
132 background.Paint(canvas, this); 133 background.Paint(canvas, this);
133 canvas->Restore(); 134 canvas->Restore();
134 } 135 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698