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) {