146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file.
446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/history/core/test/history_client_fake_bookmarks.h"
646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace history {
846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)HistoryClientFakeBookmarks::HistoryClientFakeBookmarks() {
1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)HistoryClientFakeBookmarks::~HistoryClientFakeBookmarks() {
1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void HistoryClientFakeBookmarks::ClearAllBookmarks() {
1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  bookmarks_.clear();
1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void HistoryClientFakeBookmarks::AddBookmark(const GURL& url) {
2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  AddBookmarkWithTitle(url, base::string16());
2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void HistoryClientFakeBookmarks::AddBookmarkWithTitle(
2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    const GURL& url,
2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    const base::string16& title) {
2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  bookmarks_.insert(std::make_pair(url, title));
2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void HistoryClientFakeBookmarks::DelBookmark(const GURL& url) {
3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  bookmarks_.erase(url);
3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)bool HistoryClientFakeBookmarks::IsBookmarked(const GURL& url) {
3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  return bookmarks_.find(url) != bookmarks_.end();
3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)void HistoryClientFakeBookmarks::GetBookmarks(
3846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    std::vector<URLAndTitle>* bookmarks) {
3946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  bookmarks->reserve(bookmarks->size() + bookmarks_.size());
4046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  typedef std::map<GURL, base::string16>::const_iterator iterator;
4146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  for (iterator i = bookmarks_.begin(); i != bookmarks_.end(); ++i) {
4246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    URLAndTitle urlAndTitle = {i->first, i->second};
4346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)    bookmarks->push_back(urlAndTitle);
4446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)  }
4546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}
4646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)
4746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}  // namespace history
48