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

Unified Diff: chrome/browser/gtk/translate/before_translate_infobar_gtk.cc

Issue 4767001: Make TabContents own its infobar delegates.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/gtk/translate/before_translate_infobar_gtk.cc
===================================================================
--- chrome/browser/gtk/translate/before_translate_infobar_gtk.cc (revision 65711)
+++ chrome/browser/gtk/translate/before_translate_infobar_gtk.cc (working copy)
@@ -31,9 +31,10 @@
gtk_box_pack_start(GTK_BOX(hbox),
CreateLabel(UTF16ToUTF8(text.substr(0, offset))),
FALSE, FALSE, 0);
+ TranslateInfoBarDelegate* delegate = GetDelegate();
GtkWidget* combobox =
- CreateLanguageCombobox(GetDelegate()->original_language_index(),
- GetDelegate()->target_language_index());
+ CreateLanguageCombobox(delegate->original_language_index(),
+ delegate->target_language_index());
g_signal_connect(combobox, "changed",
G_CALLBACK(&OnLanguageModifiedThunk), this);
gtk_box_pack_start(GTK_BOX(hbox), combobox, FALSE, FALSE, 0);
@@ -51,7 +52,6 @@
g_signal_connect(button, "clicked",G_CALLBACK(&OnDenyPressedThunk), this);
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
- TranslateInfoBarDelegate* delegate = GetDelegate();
if (delegate->ShouldShowNeverTranslateButton()) {
std::string label =
l10n_util::GetStringFUTF8(IDS_TRANSLATE_INFOBAR_NEVER_TRANSLATE,
@@ -76,6 +76,9 @@
}
void BeforeTranslateInfoBar::OnLanguageModified(GtkWidget* sender) {
+ if (!delegate())
+ return;
+
int index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender));
if (index == GetDelegate()->original_language_index())
return;
@@ -84,18 +87,22 @@
}
void BeforeTranslateInfoBar::OnAcceptPressed(GtkWidget* sender) {
- GetDelegate()->Translate();
+ if (delegate())
+ GetDelegate()->Translate();
}
void BeforeTranslateInfoBar::OnDenyPressed(GtkWidget* sender) {
- GetDelegate()->TranslationDeclined();
+ if (delegate())
+ GetDelegate()->TranslationDeclined();
RemoveInfoBar();
}
void BeforeTranslateInfoBar::OnNeverTranslatePressed(GtkWidget* sender) {
- GetDelegate()->NeverTranslatePageLanguage();
+ if (delegate())
+ GetDelegate()->NeverTranslatePageLanguage();
}
void BeforeTranslateInfoBar::OnAlwaysTranslatePressed(GtkWidget* sender) {
- GetDelegate()->AlwaysTranslatePageLanguage();
+ if (delegate())
+ GetDelegate()->AlwaysTranslatePageLanguage();
}

Powered by Google App Engine
This is Rietveld 408576698