Index: chrome/browser/ui/gtk/website_settings/permission_selector.cc |
diff --git a/chrome/browser/ui/gtk/website_settings/permission_selector.cc b/chrome/browser/ui/gtk/website_settings/permission_selector.cc |
deleted file mode 100644 |
index 56d02200e8ee6628ddf25de42f21c2d66fd0efc7..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/gtk/website_settings/permission_selector.cc |
+++ /dev/null |
@@ -1,162 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/ui/gtk/website_settings/permission_selector.h" |
- |
-#include "base/compiler_specific.h" |
-#include "base/i18n/rtl.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "chrome/browser/ui/gtk/gtk_theme_service.h" |
-#include "chrome/browser/ui/gtk/gtk_util.h" |
-#include "chrome/browser/ui/gtk/menu_gtk.h" |
-#include "chrome/browser/ui/website_settings/website_settings_ui.h" |
-#include "grit/generated_resources.h" |
-#include "grit/theme_resources.h" |
-#include "ui/base/gtk/gtk_hig_constants.h" |
-#include "ui/base/l10n/l10n_util.h" |
-#include "ui/base/models/menu_model.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/gfx/image/image.h" |
- |
-namespace { |
- |
-ContentSetting CommandIdToContentSetting(int command_id) { |
- switch (command_id) { |
- case PermissionMenuModel::COMMAND_SET_TO_DEFAULT: |
- return CONTENT_SETTING_DEFAULT; |
- case PermissionMenuModel::COMMAND_SET_TO_ALLOW: |
- return CONTENT_SETTING_ALLOW; |
- case PermissionMenuModel::COMMAND_SET_TO_BLOCK: |
- return CONTENT_SETTING_BLOCK; |
- default: |
- NOTREACHED(); |
- return CONTENT_SETTING_DEFAULT; |
- } |
-} |
- |
-} // namespace |
- |
-PermissionSelector::PermissionSelector(GtkThemeService* theme_service, |
- const GURL& url, |
- ContentSettingsType type, |
- ContentSetting setting, |
- ContentSetting default_setting, |
- content_settings::SettingSource source) |
- : widget_(NULL), |
- menu_button_(NULL), |
- icon_(NULL), |
- type_(type), |
- default_setting_(default_setting), |
- setting_(setting) { |
- DCHECK_NE(default_setting, CONTENT_SETTING_DEFAULT); |
- |
- // Create permission info box. |
- const int kChildSpacing = 4; |
- widget_ = gtk_hbox_new(FALSE, kChildSpacing); |
- |
- // Add permission type icon. |
- ContentSetting effective_setting = setting; |
- if (effective_setting == CONTENT_SETTING_DEFAULT) |
- effective_setting = default_setting; |
- GdkPixbuf* pixbuf = WebsiteSettingsUI::GetPermissionIcon( |
- type, effective_setting).ToGdkPixbuf(); |
- icon_ = gtk_image_new_from_pixbuf(pixbuf); |
- gtk_box_pack_start(GTK_BOX(widget_), icon_, FALSE, FALSE, 0); |
- |
- // Add a label for the permission type. |
- GtkWidget* label = theme_service->BuildLabel(l10n_util::GetStringFUTF8( |
- IDS_WEBSITE_SETTINGS_PERMISSION_TYPE, |
- WebsiteSettingsUI::PermissionTypeToUIString(type)), |
- ui::kGdkBlack); |
- gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD_CHAR); |
- |
- gtk_box_pack_start(GTK_BOX(widget_), label, FALSE, FALSE, 0); |
- |
- // Add the menu button. |
- menu_button_ = theme_service->BuildChromeButton(); |
- GtkWidget* button_hbox = gtk_hbox_new(FALSE, 0); |
- gtk_container_add(GTK_CONTAINER(menu_button_), button_hbox); |
- |
- GtkWidget* button_label = theme_service->BuildLabel( |
- base::UTF16ToUTF8(WebsiteSettingsUI::PermissionActionToUIString( |
- setting, default_setting, source)), |
- ui::kGdkBlack); |
- gtk_box_pack_start(GTK_BOX(button_hbox), button_label, FALSE, FALSE, |
- ui::kControlSpacing); |
- |
- bool user_setting = source == content_settings::SETTING_SOURCE_USER; |
- gtk_widget_set_sensitive(GTK_WIDGET(menu_button_), user_setting); |
- if (user_setting) { |
- GtkWidget* arrow = NULL; |
- // We don't handle theme changes, which is a bug but they are very unlikely |
- // to occur while a bubble is grabbing input. |
- if (theme_service->UsingNativeTheme()) { |
- arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE); |
- } else { |
- ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
- arrow = gtk_image_new_from_pixbuf( |
- rb.GetNativeImageNamed(IDR_APP_DROPARROW).ToGdkPixbuf()); |
- } |
- gtk_box_pack_start(GTK_BOX(button_hbox), arrow, FALSE, FALSE, 0); |
- } |
- gtk_button_set_relief(GTK_BUTTON(menu_button_), GTK_RELIEF_NONE); |
- gtk_box_pack_start(GTK_BOX(widget_), menu_button_, FALSE, FALSE, 0); |
- |
- menu_model_.reset(new PermissionMenuModel(this, url, type, default_setting, |
- setting)); |
- MenuGtk::Delegate* delegate = new MenuGtk::Delegate(); |
- menu_.reset(new MenuGtk(delegate, menu_model_.get())); |
- g_signal_connect(menu_button_, "button-press-event", |
- G_CALLBACK(OnMenuButtonPressEventThunk), this); |
-} |
- |
-PermissionSelector::~PermissionSelector() { |
-} |
- |
-void PermissionSelector::AddObserver(PermissionSelectorObserver* observer) { |
- observer_list_.AddObserver(observer); |
-} |
- |
-ContentSetting PermissionSelector::GetSetting() const { |
- return setting_; |
-} |
- |
-ContentSettingsType PermissionSelector::GetType() const { |
- return type_; |
-} |
- |
-gboolean PermissionSelector::OnMenuButtonPressEvent(GtkWidget* button, |
- GdkEventButton* event) { |
- if (event->button != 1) |
- return FALSE; |
- menu_->PopupForWidget(button, event->button, event->time); |
- return TRUE; |
-} |
- |
-void PermissionSelector::ExecuteCommand(int command_id) { |
- setting_ = CommandIdToContentSetting(command_id); |
- |
- // Change the permission icon to reflect the selected setting. |
- ContentSetting effective_setting = setting_; |
- if (effective_setting == CONTENT_SETTING_DEFAULT) |
- effective_setting = default_setting_; |
- GdkPixbuf* pixbuf = WebsiteSettingsUI::GetPermissionIcon( |
- type_, effective_setting).ToGdkPixbuf(); |
- gtk_image_set_from_pixbuf(GTK_IMAGE(icon_), pixbuf); |
- |
- // Change the text of the menu button to reflect the selected setting. |
- gtk_button_set_label(GTK_BUTTON(menu_button_), base::UTF16ToUTF8( |
- WebsiteSettingsUI::PermissionActionToUIString( |
- setting_, |
- default_setting_, |
- content_settings::SETTING_SOURCE_USER)).c_str()); |
- |
- FOR_EACH_OBSERVER(PermissionSelectorObserver, |
- observer_list_, |
- OnPermissionChanged(this)); |
-} |
- |
-bool PermissionSelector::IsCommandIdChecked(int command_id) { |
- return setting_ == CommandIdToContentSetting(command_id); |
-} |