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

Unified Diff: chrome/browser/ui/views/options/content_settings_window_view.cc

Issue 6670011: Options: Remove the GTK and Views native options code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/options/content_settings_window_view.cc
diff --git a/chrome/browser/ui/views/options/content_settings_window_view.cc b/chrome/browser/ui/views/options/content_settings_window_view.cc
deleted file mode 100644
index 30916cf2a42fcf1f4190a2a7c75ec4e6bbb63fdd..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/views/options/content_settings_window_view.cc
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright (c) 2011 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/views/options/content_settings_window_view.h"
-
-#include "base/stl_util-inl.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/views/options/advanced_page_view.h"
-#include "chrome/browser/ui/views/options/content_filter_page_view.h"
-#include "chrome/browser/ui/views/options/cookie_filter_page_view.h"
-#include "chrome/browser/ui/views/options/general_page_view.h"
-#include "chrome/browser/ui/views/options/plugin_filter_page_view.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/pref_names.h"
-#include "grit/chromium_strings.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "views/controls/label.h"
-#include "views/widget/root_view.h"
-#include "views/window/dialog_delegate.h"
-#include "views/window/window.h"
-
-static ContentSettingsWindowView* instance_ = NULL;
-// Content setting dialog bounds padding.
-const int kDialogPadding = 7;
-
-namespace browser {
-
-// Declared in browser_dialogs.h so others don't have to depend on our header.
-void ShowContentSettingsWindow(gfx::NativeWindow parent_window,
- ContentSettingsType content_type,
- Profile* profile) {
- DCHECK(profile);
- // If there's already an existing options window, activate it and switch to
- // the specified page.
- // TODO(beng): note this is not multi-simultaneous-profile-safe. When we care
- // about this case this will have to be fixed.
- if (!instance_) {
- instance_ = new ContentSettingsWindowView(profile);
- views::Window::CreateChromeWindow(parent_window, gfx::Rect(), instance_);
- }
- instance_->ShowContentSettingsTab(content_type);
-}
-
-} // namespace browser
-
-ContentSettingsWindowView::ContentSettingsWindowView(Profile* profile)
- // Always show preferences for the original profile. Most state when off
- // the record comes from the original profile, but we explicitly use
- // the original profile to avoid potential problems.
- : profile_(profile->GetOriginalProfile()),
- label_(NULL),
- listbox_(NULL),
- current_page_(0) {
- // We don't need to observe changes in this value.
- last_selected_page_.Init(prefs::kContentSettingsWindowLastTabIndex,
- profile->GetPrefs(), NULL);
-}
-
-ContentSettingsWindowView::~ContentSettingsWindowView() {
- STLDeleteElements(&pages_);
-}
-
-void ContentSettingsWindowView::ShowContentSettingsTab(
- ContentSettingsType page) {
- // This will show invisible windows and bring visible windows to the front.
- window()->Show();
-
- if (page == CONTENT_SETTINGS_TYPE_DEFAULT) {
- // Remember the last visited page from local state.
- page = static_cast<ContentSettingsType>(last_selected_page_.GetValue());
- if (page == CONTENT_SETTINGS_TYPE_DEFAULT)
- page = CONTENT_SETTINGS_TYPE_COOKIES;
- }
- // If the page number is out of bounds, reset to the first tab.
- if (page < 0 || page >= listbox_->GetRowCount())
- page = CONTENT_SETTINGS_TYPE_COOKIES;
-
- listbox_->SelectRow(static_cast<int>(page));
- ShowSettingsPage(listbox_->SelectedRow());
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// ContentSettingsWindowView, views::DialogDelegate implementation:
-
-std::wstring ContentSettingsWindowView::GetWindowTitle() const {
- return UTF16ToWide(l10n_util::GetStringUTF16(IDS_CONTENT_SETTINGS_TITLE));
-}
-
-void ContentSettingsWindowView::WindowClosing() {
- instance_ = NULL;
-}
-
-bool ContentSettingsWindowView::Cancel() {
- return GetCurrentContentSettingsTabView()->CanClose();
-}
-
-views::View* ContentSettingsWindowView::GetContentsView() {
- return this;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// ContentSettingsWindowView, views::Listbox::Listener implementation:
-
-void ContentSettingsWindowView::ListboxSelectionChanged(
- views::Listbox* sender) {
- DCHECK_EQ(listbox_, sender);
- ShowSettingsPage(listbox_->SelectedRow());
- last_selected_page_.SetValue(current_page_);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// ContentSettingsWindowView, views::View overrides:
-
-void ContentSettingsWindowView::Layout() {
- int listbox_width = views::Window::GetLocalizedContentsWidth(
- IDS_CONTENT_SETTINGS_DIALOG_LISTBOX_WIDTH_CHARS);
- label_->SetBounds(kDialogPadding,
- kDialogPadding,
- listbox_width,
- label_->GetPreferredSize().height());
-
- listbox_->SetBounds(kDialogPadding,
- 2 * kDialogPadding + label_->height(),
- listbox_width,
- height() - (3 * kDialogPadding) - label_->height());
-
- if (pages_[current_page_]->parent()) {
- pages_[current_page_]->SetBounds(
- 2 * kDialogPadding + listbox_width,
- 2 * kDialogPadding + label_->height(),
- width() - (3 * kDialogPadding) - listbox_width,
- height() - (2 * kDialogPadding));
- }
-}
-
-gfx::Size ContentSettingsWindowView::GetPreferredSize() {
- return gfx::Size(views::Window::GetLocalizedContentsSize(
- IDS_CONTENT_SETTINGS_DIALOG_WIDTH_CHARS,
- IDS_CONTENT_SETTINGS_DIALOG_HEIGHT_LINES));
-}
-
-void ContentSettingsWindowView::ViewHierarchyChanged(bool is_add,
- views::View* parent,
- views::View* child) {
- // Can't init before we're inserted into a Container, because we require a
- // HWND to parent native child controls to.
- if (is_add && child == this)
- Init();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// ContentSettingsWindowView, private:
-
-void ContentSettingsWindowView::Init() {
- // Make sure we don't leak memory by calling this twice.
- DCHECK(!listbox_);
-
- label_ = new views::Label(
- l10n_util::GetStringUTF16(IDS_CONTENT_SETTINGS_FEATURES_LABEL));
- label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
- AddChildView(label_);
-
- pages_.push_back(new CookieFilterPageView(profile_));
- pages_.push_back(
- new ContentFilterPageView(profile_, CONTENT_SETTINGS_TYPE_IMAGES));
- pages_.push_back(
- new ContentFilterPageView(profile_, CONTENT_SETTINGS_TYPE_JAVASCRIPT));
- pages_.push_back(new PluginFilterPageView(profile_));
- pages_.push_back(
- new ContentFilterPageView(profile_, CONTENT_SETTINGS_TYPE_POPUPS));
- pages_.push_back(
- new ContentFilterPageView(profile_, CONTENT_SETTINGS_TYPE_GEOLOCATION));
- pages_.push_back(
- new ContentFilterPageView(profile_, CONTENT_SETTINGS_TYPE_NOTIFICATIONS));
- for (size_t i = 0; i < pages_.size(); ++i) {
- pages_[i]->set_parent_owned(false);
- }
- DCHECK_EQ(static_cast<int>(pages_.size()), CONTENT_SETTINGS_NUM_TYPES);
-
- std::vector<string16> strings;
- strings.push_back(l10n_util::GetStringUTF16(IDS_COOKIES_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_IMAGES_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_JAVASCRIPT_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_PLUGIN_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_POPUP_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_GEOLOCATION_TAB_LABEL));
- strings.push_back(l10n_util::GetStringUTF16(IDS_NOTIFICATIONS_TAB_LABEL));
- listbox_ = new views::Listbox(strings, this);
- AddChildView(listbox_);
- CHECK_EQ(strings.size(), pages_.size());
-}
-
-void ContentSettingsWindowView::ShowSettingsPage(int page) {
- if (pages_[current_page_]->parent())
- RemoveChildView(pages_[current_page_]);
- current_page_ = page;
- AddChildView(pages_[current_page_]);
- Layout();
- SchedulePaint();
-}
-
-const OptionsPageView*
- ContentSettingsWindowView::GetCurrentContentSettingsTabView() const {
- return static_cast<OptionsPageView*>(pages_[current_page_]);
-}

Powered by Google App Engine
This is Rietveld 408576698