The base unittests were succeeding for the isolated tests, but failed when all tests were run because some tests run without a message loop.  The  observer_list_threadsafe allowed AddObserver to run with null message loops.  But, if you call Notify after doing so, then the notify call would attempt to use the registered "null" ptr to a message loop.
The base unittests were succeeding for the isolated
tests, but failed when all tests were run because
some tests run without a message loop.  The 
observer_list_threadsafe allowed AddObserver to run
with null message loops.  But, if you call Notify
after doing so, then the notify call would attempt
to use the registered "null" ptr to a message loop.

This crashed, of course.

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

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@4459 0039d316-1c4b-4281-b951-d872f2087c98

gavinp/chromium,gavinp/chromium,gavinp/chromium,adobe/chromium,gavinp/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,ropik/chromium,ropik/chromium,adobe/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,ropik/chromium,yitian134/chromium,gavinp/chromium,adobe/chromium,yitian134/chromium,yitian134/chromium,yitian134/chromium,adobe/chromium,adobe/chromium,ropik/chromium,gavinp/chromium,yitian134/chromium,Crystalnix/house-of-life-chromium,ropik/chromium,adobe/chromium,ropik/chromium,ropik/chromium,yitian134/chromium,yitian134/chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,Crystalnix/house-of-life-chromium,gavinp/chromium,ropik/chromium,ropik/chromium,adobe/chromium,adobe/chromium,gavinp/chromium,yitian134/chromium,adobe/chromium,adobe/chromium,adobe/chromium,Crystalnix/house-of-life-chromium,yitian134/chromium,gavinp/chromium,yitian134/chromium,gavinp/chromium,Crystalnix/house-of-life-chromium