Commit 2e25df2a authored by rsesek@chromium.org's avatar rsesek@chromium.org

[Gtk] Hook up the "Remove" button in the collected cookies dialog.

BUG=168996
TEST=Go to google.com, click on the lock icon, click on "Show cookies", and remove site data from the Allowed pane.

Review URL: https://codereview.chromium.org/128343002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243684 0039d316-1c4b-4281-b951-d872f2087c98
parent 3cb7cc95
......@@ -266,6 +266,12 @@ GtkWidget* CollectedCookiesGtk::CreateAllowedPane() {
G_CALLBACK(OnBlockAllowedButtonClickedThunk), this);
gtk_container_add(GTK_CONTAINER(button_box), block_allowed_cookie_button_);
delete_allowed_cookie_button_ = gtk_button_new_with_label(
l10n_util::GetStringUTF8(IDS_COOKIES_REMOVE_LABEL).c_str());
g_signal_connect(delete_allowed_cookie_button_, "clicked",
G_CALLBACK(OnDeleteAllowedButtonClickedThunk), this);
gtk_container_add(GTK_CONTAINER(button_box), delete_allowed_cookie_button_);
// Wrap the vbox inside an hbox so that we can specify padding along the
// horizontal axis.
GtkWidget* box = gtk_hbox_new(FALSE, 0);
......@@ -437,6 +443,9 @@ void CollectedCookiesGtk::EnableControls() {
allowed_cookies_tree_adapter_.get());
gtk_widget_set_sensitive(block_allowed_cookie_button_,
enable_for_allowed_cookies);
gtk_widget_set_sensitive(
delete_allowed_cookie_button_,
gtk_tree_selection_count_selected_rows(allowed_selection_) > 0);
bool enable_for_blocked_cookies =
SelectionContainsHostNode(blocked_selection_,
......@@ -509,6 +518,20 @@ void CollectedCookiesGtk::OnBlockAllowedButtonClicked(GtkWidget* button) {
CONTENT_SETTING_BLOCK);
}
void CollectedCookiesGtk::OnDeleteAllowedButtonClicked(GtkWidget* button) {
GtkTreeModel* model;
GList* paths = gtk_tree_selection_get_selected_rows(
allowed_selection_, &model);
for (GList* item = paths; item; item = item->next) {
GtkTreeIter iter;
gtk_tree_model_get_iter(
model, &iter, reinterpret_cast<GtkTreePath*>(item->data));
CookieTreeNode* node = static_cast<CookieTreeNode*>(
allowed_cookies_tree_adapter_->GetNode(&iter));
allowed_cookies_tree_model_->DeleteCookieNode(node);
}
}
void CollectedCookiesGtk::OnAllowBlockedButtonClicked(GtkWidget* button) {
AddExceptions(blocked_selection_, blocked_cookies_tree_adapter_.get(),
CONTENT_SETTING_ALLOW);
......
......@@ -73,6 +73,7 @@ class CollectedCookiesGtk : public gtk_tree::TreeAdapter::Delegate,
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void, OnTreeViewSelectionChange);
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void, OnClose);
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void, OnBlockAllowedButtonClicked);
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void, OnDeleteAllowedButtonClicked);
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void, OnAllowBlockedButtonClicked);
CHROMEGTK_CALLBACK_0(CollectedCookiesGtk, void,
OnForSessionBlockedButtonClicked);
......@@ -91,6 +92,7 @@ class CollectedCookiesGtk : public gtk_tree::TreeAdapter::Delegate,
GtkWidget* blocked_description_label_;
GtkWidget* block_allowed_cookie_button_;
GtkWidget* delete_allowed_cookie_button_;
GtkWidget* allow_blocked_cookie_button_;
GtkWidget* for_session_blocked_cookie_button_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment