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

Side by Side Diff: chrome/browser/ui/views/infobars/before_translate_infobar.h

Issue 7796010: Attempt at fixing crash in menus shown from infobars. Here's what the (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 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 #ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_ 6 #define CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
7 #pragma once 7 #pragma once
8 8
9 #include "chrome/browser/translate/languages_menu_model.h" 9 #include "chrome/browser/translate/languages_menu_model.h"
10 #include "chrome/browser/translate/options_menu_model.h" 10 #include "chrome/browser/translate/options_menu_model.h"
11 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h" 11 #include "chrome/browser/ui/views/infobars/translate_infobar_base.h"
12 #include "views/controls/menu/view_menu_delegate.h" 12 #include "views/controls/menu/view_menu_delegate.h"
13 13
14 class TranslateInfoBarDelegate; 14 class TranslateInfoBarDelegate;
15 namespace views { 15 namespace views {
16 class MenuButton; 16 class MenuButton;
17 class MenuRunner; 17 class MenuRunner;
18 } 18 }
19 19
20 class BeforeTranslateInfoBar : public TranslateInfoBarBase, 20 class BeforeTranslateInfoBar : public TranslateInfoBarBase,
21 public views::ViewMenuDelegate { 21 public views::ViewMenuDelegate {
22 public: 22 public:
23 BeforeTranslateInfoBar(TabContentsWrapper* owner, 23 BeforeTranslateInfoBar(TabContentsWrapper* owner,
24 TranslateInfoBarDelegate* delegate); 24 TranslateInfoBarDelegate* delegate);
25 25
26 private: 26 private:
27 virtual ~BeforeTranslateInfoBar(); 27 virtual ~BeforeTranslateInfoBar();
28 28
29 // TranslateInfoBarBase: 29 // TranslateInfoBarBase:
30 virtual void Layout(); 30 virtual void Layout() OVERRIDE;
31 virtual void ButtonPressed(views::Button* sender, const views::Event& event); 31 virtual void ButtonPressed(views::Button* sender,
32 virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); 32 const views::Event& event) OVERRIDE;
33 virtual int ContentMinimumWidth() const; 33 virtual void ViewHierarchyChanged(bool is_add,
34 virtual void OriginalLanguageChanged(); 34 View* parent,
35 View* child) OVERRIDE;
36 virtual int ContentMinimumWidth() const OVERRIDE;
37 virtual void OriginalLanguageChanged() OVERRIDE;
38 virtual void CancelMenu() OVERRIDE;
35 39
36 // views::ViewMenuDelegate: 40 // views::ViewMenuDelegate:
37 virtual void RunMenu(View* source, const gfx::Point& pt); 41 virtual void RunMenu(View* source, const gfx::Point& pt) OVERRIDE;
38 42
39 // The text displayed in the infobar is something like: 43 // The text displayed in the infobar is something like:
40 // "The page is in <lang>. Would you like to translate it?" 44 // "The page is in <lang>. Would you like to translate it?"
41 // ...where <lang> is a combobox. So the text is split in 2 chunks, each 45 // ...where <lang> is a combobox. So the text is split in 2 chunks, each
42 // displayed in one of the labels below. 46 // displayed in one of the labels below.
43 views::Label* label_1_; 47 views::Label* label_1_;
44 views::Label* label_2_; 48 views::Label* label_2_;
45 49
46 views::MenuButton* language_menu_button_; 50 views::MenuButton* language_menu_button_;
47 views::TextButton* accept_button_; 51 views::TextButton* accept_button_;
48 views::TextButton* deny_button_; 52 views::TextButton* deny_button_;
49 views::TextButton* never_translate_button_; 53 views::TextButton* never_translate_button_;
50 views::TextButton* always_translate_button_; 54 views::TextButton* always_translate_button_;
51 views::MenuButton* options_menu_button_; 55 views::MenuButton* options_menu_button_;
52 56
53 LanguagesMenuModel languages_menu_model_; 57 LanguagesMenuModel languages_menu_model_;
54 OptionsMenuModel options_menu_model_; 58 OptionsMenuModel options_menu_model_;
55 59
56 scoped_ptr<views::MenuRunner> menu_runner_; 60 scoped_ptr<views::MenuRunner> menu_runner_;
57 61
58 DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar); 62 DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar);
59 }; 63 };
60 64
61 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_ 65 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698