diff options
author | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-10 02:16:05 +0000 |
---|---|---|
committer | evan@chromium.org <evan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-10 02:16:05 +0000 |
commit | 8c4a580917a5f379b4a9e67145ed78a347151181 (patch) | |
tree | 4660d34698629c72ba45dba260d4c970864f6c49 /chrome/browser/bookmarks/bookmark_model.cc | |
parent | 60142d98de42fad6bc63b37b063d565a3ab85f0b (diff) | |
download | chromium_src-8c4a580917a5f379b4a9e67145ed78a347151181.zip chromium_src-8c4a580917a5f379b4a9e67145ed78a347151181.tar.gz chromium_src-8c4a580917a5f379b4a9e67145ed78a347151181.tar.bz2 |
Bring a bunch more headers into the non-Windows build:
- history
- autocomplete
- bookmarks
These were all reviewed separately but turned out to be interdependent. :~(
Review URL: http://codereview.chromium.org/21170
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9444 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_model.cc')
-rw-r--r-- | chrome/browser/bookmarks/bookmark_model.cc | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc index 4280808..cb53639 100644 --- a/chrome/browser/bookmarks/bookmark_model.cc +++ b/chrome/browser/bookmarks/bookmark_model.cc @@ -5,6 +5,7 @@ #include "chrome/browser/bookmarks/bookmark_model.h" #include "base/gfx/png_decoder.h" +#include "build/build_config.h" #include "chrome/browser/bookmarks/bookmark_utils.h" #include "chrome/browser/bookmarks/bookmark_storage.h" #include "chrome/browser/profile.h" @@ -61,13 +62,15 @@ void BookmarkNode::Reset(const history::StarredEntry& entry) { BookmarkModel::BookmarkModel(Profile* profile) : profile_(profile), loaded_(false), -#pragma warning(suppress: 4355) // Okay to pass "this" here. - root_(this, GURL()), + ALLOW_THIS_IN_INITIALIZER_LIST(root_(this, GURL())), bookmark_bar_node_(NULL), other_node_(NULL), observers_(ObserverList<BookmarkModelObserver>::NOTIFY_EXISTING_ONLY), - waiting_for_history_load_(false), - loaded_signal_(CreateEvent(NULL, TRUE, FALSE, NULL)) { + waiting_for_history_load_(false) +#if defined(OS_WIN) + , loaded_signal_(CreateEvent(NULL, TRUE, FALSE, NULL)) +#endif +{ // Create the bookmark bar and other bookmarks folders. These always exist. CreateBookmarkNode(); CreateOtherBookmarksNode(); @@ -437,8 +440,12 @@ void BookmarkModel::DoneLoading() { loaded_ = true; +#if defined(OS_WIN) if (loaded_signal_.Get()) SetEvent(loaded_signal_.Get()); +#else + NOTIMPLEMENTED(); +#endif // Notify our direct observers. @@ -467,10 +474,15 @@ void BookmarkModel::RemoveAndDeleteNode(BookmarkNode* delete_me) { // allow duplicates we need to remove any entries that are still bookmarked. for (std::set<GURL>::iterator i = details.changed_urls.begin(); i != details.changed_urls.end(); ){ - if (IsBookmarkedNoLock(*i)) - i = details.changed_urls.erase(i); - else + if (IsBookmarkedNoLock(*i)) { + // When we erase the iterator pointing at the erasee is + // invalidated, so using i++ here within the "erase" call is + // important as it advances the iterator before passing the + // old value through to erase. + details.changed_urls.erase(i++); + } else { ++i; + } } } @@ -522,8 +534,12 @@ BookmarkNode* BookmarkModel::AddNode(BookmarkNode* parent, } void BookmarkModel::BlockTillLoaded() { +#if defined(OS_WIN) if (loaded_signal_.Get()) WaitForSingleObject(loaded_signal_.Get(), INFINITE); +#else + NOTIMPLEMENTED(); +#endif } BookmarkNode* BookmarkModel::GetNodeByID(BookmarkNode* node, int id) { |