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

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: Change comment and remove change to views 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;
18 } 17 }
19 18
20 class BeforeTranslateInfoBar : public TranslateInfoBarBase, 19 class BeforeTranslateInfoBar : public TranslateInfoBarBase,
21 public views::ViewMenuDelegate { 20 public views::ViewMenuDelegate {
22 public: 21 public:
23 BeforeTranslateInfoBar(TabContentsWrapper* owner, 22 BeforeTranslateInfoBar(TabContentsWrapper* owner,
24 TranslateInfoBarDelegate* delegate); 23 TranslateInfoBarDelegate* delegate);
25 24
26 private: 25 private:
27 virtual ~BeforeTranslateInfoBar(); 26 virtual ~BeforeTranslateInfoBar();
28 27
29 // TranslateInfoBarBase: 28 // TranslateInfoBarBase:
30 virtual void Layout(); 29 virtual void Layout() OVERRIDE;
31 virtual void ButtonPressed(views::Button* sender, const views::Event& event); 30 virtual void ButtonPressed(views::Button* sender,
32 virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child); 31 const views::Event& event) OVERRIDE;
33 virtual int ContentMinimumWidth() const; 32 virtual void ViewHierarchyChanged(bool is_add,
34 virtual void OriginalLanguageChanged(); 33 View* parent,
34 View* child) OVERRIDE;
35 virtual int ContentMinimumWidth() const OVERRIDE;
36 virtual void OriginalLanguageChanged() OVERRIDE;
35 37
36 // views::ViewMenuDelegate: 38 // views::ViewMenuDelegate:
37 virtual void RunMenu(View* source, const gfx::Point& pt); 39 virtual void RunMenu(View* source, const gfx::Point& pt) OVERRIDE;
38 40
39 // The text displayed in the infobar is something like: 41 // The text displayed in the infobar is something like:
40 // "The page is in <lang>. Would you like to translate it?" 42 // "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 43 // ...where <lang> is a combobox. So the text is split in 2 chunks, each
42 // displayed in one of the labels below. 44 // displayed in one of the labels below.
43 views::Label* label_1_; 45 views::Label* label_1_;
44 views::Label* label_2_; 46 views::Label* label_2_;
45 47
46 views::MenuButton* language_menu_button_; 48 views::MenuButton* language_menu_button_;
47 views::TextButton* accept_button_; 49 views::TextButton* accept_button_;
48 views::TextButton* deny_button_; 50 views::TextButton* deny_button_;
49 views::TextButton* never_translate_button_; 51 views::TextButton* never_translate_button_;
50 views::TextButton* always_translate_button_; 52 views::TextButton* always_translate_button_;
51 views::MenuButton* options_menu_button_; 53 views::MenuButton* options_menu_button_;
52 54
53 LanguagesMenuModel languages_menu_model_; 55 LanguagesMenuModel languages_menu_model_;
54 OptionsMenuModel options_menu_model_; 56 OptionsMenuModel options_menu_model_;
55 57
56 scoped_ptr<views::MenuRunner> menu_runner_;
57
58 DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar); 58 DISALLOW_COPY_AND_ASSIGN(BeforeTranslateInfoBar);
59 }; 59 };
60 60
61 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_ 61 #endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_BEFORE_TRANSLATE_INFOBAR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698