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

Unified Diff: chrome/browser/notifications/notification_exceptions_table_model.cc

Issue 7994009: notifications: Remove NotificationExceptionsTableModel as it's no longer used. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 3 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/notifications/notification_exceptions_table_model.cc
diff --git a/chrome/browser/notifications/notification_exceptions_table_model.cc b/chrome/browser/notifications/notification_exceptions_table_model.cc
deleted file mode 100644
index f147af579778b94e164aaa2a38a0586636d1abd6..0000000000000000000000000000000000000000
--- a/chrome/browser/notifications/notification_exceptions_table_model.cc
+++ /dev/null
@@ -1,144 +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/notifications/notification_exceptions_table_model.h"
-
-#include <algorithm>
-#include <string>
-
-#include "base/auto_reset.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/content_settings/host_content_settings_map.h"
-#include "chrome/common/chrome_notification_types.h"
-#include "chrome/common/content_settings.h"
-#include "chrome/common/content_settings_pattern.h"
-#include "chrome/common/content_settings_types.h"
-#include "chrome/common/url_constants.h"
-#include "content/common/notification_service.h"
-#include "grit/generated_resources.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/models/table_model_observer.h"
-
-struct NotificationExceptionsTableModel::Entry {
- Entry(const ContentSettingsPattern& origin, ContentSetting setting);
- bool operator<(const Entry& b) const;
-
- ContentSettingsPattern origin;
- ContentSetting setting;
-};
-
-NotificationExceptionsTableModel::NotificationExceptionsTableModel(
- DesktopNotificationService* service)
- : service_(service),
- updates_disabled_(false),
- observer_(NULL) {
- registrar_.Add(this,
- chrome::NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED,
- Source<DesktopNotificationService>(service));
- LoadEntries();
-}
-
-NotificationExceptionsTableModel::~NotificationExceptionsTableModel() {}
-
-bool NotificationExceptionsTableModel::CanRemoveRows(
- const Rows& rows) const {
- return !rows.empty();
-}
-
-void NotificationExceptionsTableModel::RemoveRows(const Rows& rows) {
- AutoReset<bool> tmp(&updates_disabled_, true);
- // This is O(n^2) in rows.size(). Since n is small, that's ok.
- for (Rows::const_reverse_iterator i(rows.rbegin()); i != rows.rend(); ++i) {
- size_t row = *i;
- Entry* entry = &entries_[row];
- DCHECK(entry->setting == CONTENT_SETTING_ALLOW ||
- entry->setting == CONTENT_SETTING_BLOCK);
- service_->ClearSetting(entry->origin);
- entries_.erase(entries_.begin() + row); // Note: |entry| is now garbage.
- if (observer_)
- observer_->OnItemsRemoved(row, 1);
- }
-}
-
-void NotificationExceptionsTableModel::RemoveAll() {
- AutoReset<bool> tmp(&updates_disabled_, true);
- entries_.clear();
- service_->ResetAllOrigins();
- if (observer_)
- observer_->OnModelChanged();
-}
-
-int NotificationExceptionsTableModel::RowCount() {
- return static_cast<int>(entries_.size());
-}
-
-string16 NotificationExceptionsTableModel::GetText(int row,
- int column_id) {
- const Entry& entry = entries_[row];
- if (column_id == IDS_EXCEPTIONS_HOSTNAME_HEADER) {
- return UTF8ToUTF16(entry.origin.ToString());
- }
-
- if (column_id == IDS_EXCEPTIONS_ACTION_HEADER) {
- switch (entry.setting) {
- case CONTENT_SETTING_ALLOW:
- return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_ALLOW_BUTTON);
- case CONTENT_SETTING_BLOCK:
- return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_BLOCK_BUTTON);
- default:
- break;
- }
- }
-
- NOTREACHED();
- return string16();
-}
-
-void NotificationExceptionsTableModel::SetObserver(
- ui::TableModelObserver* observer) {
- observer_ = observer;
-}
-
-void NotificationExceptionsTableModel::Observe(
- int type,
- const NotificationSource& source,
- const NotificationDetails& details) {
- if (!updates_disabled_) {
- DCHECK_EQ(type, chrome::NOTIFICATION_DESKTOP_NOTIFICATION_SETTINGS_CHANGED);
- DCHECK_EQ(Source<DesktopNotificationService>(source).ptr(), service_);
- entries_.clear();
- LoadEntries();
-
- if (observer_)
- observer_->OnModelChanged();
- }
-}
-
-void NotificationExceptionsTableModel::LoadEntries() {
- HostContentSettingsMap::SettingsForOneType settings;
- service_->GetNotificationsSettings(&settings);
-
- entries_.reserve(settings.size());
- for (HostContentSettingsMap::SettingsForOneType::const_iterator i =
- settings.begin();
- i != settings.end();
- ++i) {
- const HostContentSettingsMap::PatternSettingSourceTuple& tuple(*i);
- entries_.push_back(Entry(tuple.a, tuple.c));
- }
- std::sort(entries_.begin(), entries_.end());
-}
-
-NotificationExceptionsTableModel::Entry::Entry(
- const ContentSettingsPattern& in_origin,
- ContentSetting in_setting)
- : origin(in_origin),
- setting(in_setting) {
-}
-
-bool NotificationExceptionsTableModel::Entry::operator<(
- const NotificationExceptionsTableModel::Entry& b) const {
- DCHECK_NE(origin, b.origin);
- return origin.ToString() < b.origin.ToString();
-}

Powered by Google App Engine
This is Rietveld 408576698