1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
// Copyright (C) 2013 Canonical Ltd.
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
#include "oxide_web_preferences_observer.h"
20
#include "base/logging.h"
22
#include "oxide_web_preferences.h"
26
void WebPreferencesObserver::OnWebPreferencesDestruction() {
27
DCHECK(web_preferences_);
28
web_preferences_ = NULL;
29
WebPreferencesDestroyed();
32
WebPreferencesObserver::WebPreferencesObserver() :
33
web_preferences_(NULL) {}
35
void WebPreferencesObserver::Observe(WebPreferences* preferences) {
36
if (web_preferences_ == preferences) {
39
if (web_preferences_) {
40
web_preferences_->RemoveObserver(this);
42
web_preferences_ = preferences;
43
if (web_preferences_) {
44
web_preferences_->AddObserver(this);
48
WebPreferencesObserver::~WebPreferencesObserver() {
49
if (web_preferences_) {
50
web_preferences_->RemoveObserver(this);