Adds support for BlockTillLoaded to Linux.
Review URL: http://codereview.chromium.org/39298
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11300 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc
index bedbac39..34e179f 100644
--- a/chrome/browser/bookmarks/bookmark_model.cc
+++ b/chrome/browser/bookmarks/bookmark_model.cc
@@ -95,10 +95,8 @@
bookmark_bar_node_(NULL),
other_node_(NULL),
observers_(ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY),
- waiting_for_history_load_(false)
-#if defined(OS_WIN)
- , loaded_signal_(CreateEvent(NULL, TRUE, FALSE, NULL))
-#endif
+ waiting_for_history_load_(false),
+ loaded_signal_(TRUE, FALSE)
{
// Create the bookmark bar and other bookmarks folders. These always exist.
CreateBookmarkNode();
@@ -489,13 +487,7 @@
loaded_ = true;
-#if defined(OS_WIN)
- if (loaded_signal_.Get())
- SetEvent(loaded_signal_.Get());
-#else
- NOTIMPLEMENTED();
-#endif
-
+ loaded_signal_.Signal();
// Notify our direct observers.
FOR_EACH_OBSERVER(BookmarkModelObserver, observers_, Loaded(this));
@@ -583,12 +575,7 @@
}
void BookmarkModel::BlockTillLoaded() {
-#if defined(OS_WIN)
- if (loaded_signal_.Get())
- WaitForSingleObject(loaded_signal_.Get(), INFINITE);
-#else
- NOTIMPLEMENTED();
-#endif
+ loaded_signal_.Wait();
}
BookmarkNode* BookmarkModel::GetNodeByID(BookmarkNode* node, int id) {