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

Side by Side Diff: chrome/browser/gtk/options/content_settings_window_gtk.cc

Issue 650180: Initial Geolocation location bar icons. (Closed)
Patch Set: Addresses Peter and Brett's comments. Created 10 years, 9 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/gtk/options/content_settings_window_gtk.h" 5 #include "chrome/browser/gtk/options/content_settings_window_gtk.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/command_line.h"
10 #include "base/message_loop.h" 11 #include "base/message_loop.h"
11 #include "chrome/browser/browser.h" 12 #include "chrome/browser/browser.h"
12 #include "chrome/browser/browser_list.h" 13 #include "chrome/browser/browser_list.h"
13 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
14 #include "chrome/browser/gtk/accessible_widget_helper_gtk.h" 15 #include "chrome/browser/gtk/accessible_widget_helper_gtk.h"
15 #include "chrome/browser/gtk/browser_window_gtk.h" 16 #include "chrome/browser/gtk/browser_window_gtk.h"
16 #include "chrome/browser/gtk/gtk_util.h" 17 #include "chrome/browser/gtk/gtk_util.h"
17 #include "chrome/browser/pref_service.h" 18 #include "chrome/browser/pref_service.h"
18 #include "chrome/browser/profile.h" 19 #include "chrome/browser/profile.h"
20 #include "chrome/common/chrome_switches.h"
19 #include "chrome/common/content_settings_types.h" 21 #include "chrome/common/content_settings_types.h"
20 #include "chrome/common/notification_service.h" 22 #include "chrome/common/notification_service.h"
21 #include "chrome/common/pref_names.h" 23 #include "chrome/common/pref_names.h"
22 #include "grit/chromium_strings.h" 24 #include "grit/chromium_strings.h"
23 #include "grit/generated_resources.h" 25 #include "grit/generated_resources.h"
24 #include "grit/locale_settings.h" 26 #include "grit/locale_settings.h"
25 27
26 namespace { 28 namespace {
27 29
28 // The singleton options window object. 30 // The singleton options window object.
(...skipping 22 matching lines...) Expand all
51 settings_window->ShowContentSettingsTab(page); 53 settings_window->ShowContentSettingsTab(page);
52 } 54 }
53 55
54 ContentSettingsWindowGtk::ContentSettingsWindowGtk(GtkWindow* parent, 56 ContentSettingsWindowGtk::ContentSettingsWindowGtk(GtkWindow* parent,
55 Profile* profile) 57 Profile* profile)
56 : profile_(profile), 58 : profile_(profile),
57 cookie_page_(profile), 59 cookie_page_(profile),
58 image_page_(profile, CONTENT_SETTINGS_TYPE_IMAGES), 60 image_page_(profile, CONTENT_SETTINGS_TYPE_IMAGES),
59 javascript_page_(profile, CONTENT_SETTINGS_TYPE_JAVASCRIPT), 61 javascript_page_(profile, CONTENT_SETTINGS_TYPE_JAVASCRIPT),
60 plugin_page_(profile, CONTENT_SETTINGS_TYPE_PLUGINS), 62 plugin_page_(profile, CONTENT_SETTINGS_TYPE_PLUGINS),
61 popup_page_(profile, CONTENT_SETTINGS_TYPE_POPUPS) { 63 popup_page_(profile, CONTENT_SETTINGS_TYPE_POPUPS),
64 geolocation_page_(profile) {
62 // We don't need to observe changes in this value. 65 // We don't need to observe changes in this value.
63 last_selected_page_.Init(prefs::kContentSettingsWindowLastTabIndex, 66 last_selected_page_.Init(prefs::kContentSettingsWindowLastTabIndex,
64 profile->GetPrefs(), NULL); 67 profile->GetPrefs(), NULL);
65 68
66 std::string dialog_name = l10n_util::GetStringUTF8( 69 std::string dialog_name = l10n_util::GetStringUTF8(
67 IDS_CONTENT_SETTINGS_TITLE); 70 IDS_CONTENT_SETTINGS_TITLE);
68 dialog_ = gtk_dialog_new_with_buttons( 71 dialog_ = gtk_dialog_new_with_buttons(
69 dialog_name.c_str(), 72 dialog_name.c_str(),
70 parent, 73 parent,
71 static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR), 74 static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 GTK_NOTEBOOK(notebook_), 108 GTK_NOTEBOOK(notebook_),
106 plugin_page_.get_page_widget(), 109 plugin_page_.get_page_widget(),
107 gtk_label_new( 110 gtk_label_new(
108 l10n_util::GetStringUTF8(IDS_PLUGIN_TAB_LABEL).c_str())); 111 l10n_util::GetStringUTF8(IDS_PLUGIN_TAB_LABEL).c_str()));
109 gtk_notebook_append_page( 112 gtk_notebook_append_page(
110 GTK_NOTEBOOK(notebook_), 113 GTK_NOTEBOOK(notebook_),
111 popup_page_.get_page_widget(), 114 popup_page_.get_page_widget(),
112 gtk_label_new( 115 gtk_label_new(
113 l10n_util::GetStringUTF8(IDS_POPUP_TAB_LABEL).c_str())); 116 l10n_util::GetStringUTF8(IDS_POPUP_TAB_LABEL).c_str()));
114 117
118 int num_pages = CONTENT_SETTINGS_NUM_TYPES - 1;
119 if (CommandLine::ForCurrentProcess()->HasSwitch(
120 switches::kEnableGeolocation)) {
121 gtk_notebook_append_page(
122 GTK_NOTEBOOK(notebook_),
123 geolocation_page_.get_page_widget(),
124 gtk_label_new(
125 l10n_util::GetStringUTF8(IDS_GEOLOCATION_TAB_LABEL).c_str()));
126 ++num_pages;
127 }
128
115 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), notebook_); 129 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), notebook_);
116 130
117 DCHECK_EQ(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook_)), 131 DCHECK_EQ(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook_)),
118 CONTENT_SETTINGS_NUM_TYPES); 132 num_pages);
119 133
120 // Need to show the notebook before connecting switch-page signal, otherwise 134 // Need to show the notebook before connecting switch-page signal, otherwise
121 // we'll immediately get a signal switching to page 0 and overwrite our 135 // we'll immediately get a signal switching to page 0 and overwrite our
122 // last_selected_page_ value. 136 // last_selected_page_ value.
123 gtk_widget_show_all(dialog_); 137 gtk_widget_show_all(dialog_);
124 138
125 g_signal_connect(notebook_, "switch-page", G_CALLBACK(OnSwitchPage), this); 139 g_signal_connect(notebook_, "switch-page", G_CALLBACK(OnSwitchPage), this);
126 140
127 // We only have one button and don't do any special handling, so just hook it 141 // We only have one button and don't do any special handling, so just hook it
128 // directly to gtk_widget_destroy. 142 // directly to gtk_widget_destroy.
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 window->last_selected_page_.SetValue(index); 185 window->last_selected_page_.SetValue(index);
172 } 186 }
173 187
174 // static 188 // static
175 void ContentSettingsWindowGtk::OnWindowDestroy( 189 void ContentSettingsWindowGtk::OnWindowDestroy(
176 GtkWidget* widget, 190 GtkWidget* widget,
177 ContentSettingsWindowGtk* window) { 191 ContentSettingsWindowGtk* window) {
178 settings_window = NULL; 192 settings_window = NULL;
179 MessageLoop::current()->DeleteSoon(FROM_HERE, window); 193 MessageLoop::current()->DeleteSoon(FROM_HERE, window);
180 } 194 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/options/content_settings_window_gtk.h ('k') | chrome/browser/gtk/options/geolocation_filter_page_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698