// Copyright 2018 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.

#ifndef BASE_OBSERVER_LIST_TYPES_H_
#define BASE_OBSERVER_LIST_TYPES_H_

#include "base/base_export.h"
#include "base/macros.h"
#include "base/memory/weak_ptr.h"

namespace base {
namespace internal {
class CheckedObserverAdapter;
}

// A CheckedObserver serves as a base class for an observer interface designed
// to be used with base::ObserverList. It helps detect potential use-after-free
// issues that can occur when observers fail to remove themselves from an
// observer list upon destruction.
//
// A CheckedObserver will CHECK() if an ObserverList iteration is attempted over
// a destroyed Observer.
//
// Note that a CheckedObserver subclass must be deleted on the same thread as
// the ObserverList(s) it is added to. This is DCHECK()ed via WeakPtr.
class BASE_EXPORT CheckedObserver {
 public:
  CheckedObserver();

 protected:
  virtual ~CheckedObserver();

  // Returns whether |this| is in any ObserverList. Subclasses can CHECK() this
  // in their destructor to obtain a nicer stacktrace.
  bool IsInObserverList() const;

 private:
  friend class internal::CheckedObserverAdapter;

  // Must be mutable to allow ObserverList<const Foo>.
  mutable WeakPtrFactory<CheckedObserver> factory_;

  DISALLOW_COPY_AND_ASSIGN(CheckedObserver);
};

}  // namespace base

#endif  // BASE_OBSERVER_LIST_TYPES_H_
