Chromium Code Reviews| Index: chrome/browser/sessions/session_restore_observer.cc |
| diff --git a/chrome/browser/sessions/session_restore_observer.cc b/chrome/browser/sessions/session_restore_observer.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a9b85b8a2f036d313402ac039bfa3a1b9e5468b6 |
| --- /dev/null |
| +++ b/chrome/browser/sessions/session_restore_observer.cc |
| @@ -0,0 +1,33 @@ |
| +// Copyright 2017 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/sessions/session_restore_observer.h" |
| + |
| +#include <algorithm> |
| + |
| +#include "base/logging.h" |
| + |
| +// static |
| +base::ObserverList<SessionRestoreObserver>& |
| +SessionRestoreObserver::observers() { |
| + if (!observers_) |
| + observers_ = new base::ObserverList<SessionRestoreObserver>(); |
| + return *observers_; |
| +} |
| + |
| +// static |
| +void SessionRestoreObserver::AddObserver(SessionRestoreObserver* observer) { |
| + DCHECK(!observers().HasObserver(observer)) << "Duplicate registration"; |
|
sky
2017/06/26 15:34:10
There is no need for this DCHECK, it's in Observer
ducbui
2017/06/26 19:59:26
Done.
|
| + observers().AddObserver(observer); |
| +} |
| + |
| +// static |
| +void SessionRestoreObserver::RemoveObserver(SessionRestoreObserver* observer) { |
| + DCHECK(observers().HasObserver(observer)); |
|
sky
2017/06/26 15:34:11
Remove DCHECK.
ducbui
2017/06/26 19:59:26
Done.
|
| + observers().RemoveObserver(observer); |
| +} |
| + |
| +// static |
| +base::ObserverList<SessionRestoreObserver>* SessionRestoreObserver::observers_ = |
| + nullptr; |