Index: chrome/browser/extensions/test_extension_prefs.cc |
=================================================================== |
--- chrome/browser/extensions/test_extension_prefs.cc (revision 77440) |
+++ chrome/browser/extensions/test_extension_prefs.cc (working copy) |
@@ -9,6 +9,7 @@ |
#include "base/message_loop_proxy.h" |
#include "base/scoped_ptr.h" |
#include "base/values.h" |
+#include "base/synchronization/waitable_event.h" |
#include "chrome/browser/extensions/extension_pref_store.h" |
#include "chrome/browser/extensions/extension_pref_value_map.h" |
#include "chrome/browser/extensions/extension_prefs.h" |
@@ -18,6 +19,7 @@ |
#include "chrome/common/extensions/extension.h" |
#include "chrome/common/extensions/extension_constants.h" |
#include "chrome/common/json_pref_store.h" |
+#include "chrome/test/signaling_task.h" |
#include "content/browser/browser_thread.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -65,10 +67,11 @@ |
// The PrefService writes its persistent file on the file thread, so we |
// need to wait for any pending I/O to complete before creating a new |
// PrefService. |
- MessageLoop file_loop; |
- BrowserThread file_thread(BrowserThread::FILE, &file_loop); |
+ base::WaitableEvent io_finished(false, false); |
pref_service_->SavePersistentPrefs(); |
- file_loop.RunAllPending(); |
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
+ new SignalingTask(&io_finished)); |
+ EXPECT_TRUE(io_finished.Wait()); |
asargent_no_longer_on_chrome
2011/03/09 20:53:17
Nice, this looks much better.
|
} |
extension_pref_value_map_.reset(new ExtensionPrefValueMap); |