Fix bug in ObserverListThreadsafe::RemoveObserver

Like ObserverList, ObserverListThreadSafe::RemoveObserver should do
nothing if the observer isn't in the list.  Instead, it causes weird
bugs if the list has 0 or 1 existing elements.

Add comments clarifying semantics of AddObserver/RemoveObserver.

Change AddObserver to do nothing in release mode if it tries to add an existing observer.

BUG=84922
TEST=


Review URL: http://codereview.chromium.org/7024037

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87944 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 631739f16f16c09b1a08d219c5bcb0c776dddb42
3 files changed
tree: aec8d04795d8949c4910acec964f1c23cd00eee8
  1. base/
  2. build/
  3. ipc/
  4. testing/
  5. third_party/