| Index: chrome/browser/bookmark_storage.h
|
| ===================================================================
|
| --- chrome/browser/bookmark_storage.h (revision 1903)
|
| +++ chrome/browser/bookmark_storage.h (working copy)
|
| @@ -1,98 +0,0 @@
|
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_BOOKMARK_STORAGE_H_
|
| -#define CHROME_BROWSER_BOOKMARK_STORAGE_H_
|
| -
|
| -#include "base/ref_counted.h"
|
| -#include "base/task.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -
|
| -class BookmarkBarModel;
|
| -class Profile;
|
| -class Value;
|
| -
|
| -// BookmarkStorage handles reading/write the bookmark bar model. The
|
| -// BookmarkBarModel uses the BookmarkStorage to load bookmarks from
|
| -// disk, as well as notifying the BookmarkStorage every time the model
|
| -// changes.
|
| -//
|
| -// Internally BookmarkStorage uses BookmarkCodec to do the actual read/write.
|
| -
|
| -class BookmarkStorage : public base::RefCountedThreadSafe<BookmarkStorage> {
|
| - friend class BookmarkStorageBackend;
|
| -
|
| - public:
|
| - // Creates a BookmarkStorage for the specified model
|
| - BookmarkStorage(Profile* profile, BookmarkBarModel* model);
|
| -
|
| - // Loads the bookmarks into the model, notifying the model when done. If
|
| - // load_from_history is true, the bookmarks are loaded from the file written
|
| - // by history (StarredURLDatabase).
|
| - void LoadBookmarks(bool load_from_history);
|
| -
|
| - // Schedules saving the bookmark bar model to disk.
|
| - void ScheduleSave();
|
| -
|
| - // Notification the bookmark bar model is going to be deleted. If there is
|
| - // a pending save, it is saved immediately.
|
| - void BookmarkModelDeleted();
|
| -
|
| - private:
|
| - // Callback from backend with the results of the bookmark file.
|
| - void LoadedBookmarks(Value* root_value,
|
| - bool bookmark_file_exists,
|
| - bool loaded_from_history);
|
| -
|
| - // Schedules a save on the backend thread.
|
| - void SaveNow();
|
| -
|
| - // Returns the thread the backend is run on.
|
| - base::Thread* backend_thread() const { return backend_thread_; }
|
| -
|
| - // The model. The model is NULL once BookmarkModelDeleted has been invoked.
|
| - BookmarkBarModel* model_;
|
| -
|
| - // Used to delay saves.
|
| - ScopedRunnableMethodFactory<BookmarkStorage> save_factory_;
|
| -
|
| - // The backend handles actual reading/writing to disk.
|
| - scoped_refptr<BookmarkStorageBackend> backend_;
|
| -
|
| - // Thread read/writing is run on. This comes from the profile, and is null
|
| - // during testing.
|
| - base::Thread* backend_thread_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BookmarkStorage);
|
| -};
|
| -
|
| -// Used to save the bookmarks on the file thread.
|
| -class BookmarkStorageBackend :
|
| - public base::RefCountedThreadSafe<BookmarkStorageBackend> {
|
| - public:
|
| - explicit BookmarkStorageBackend(const std::wstring& path,
|
| - const std::wstring& tmp_histor_path);
|
| -
|
| - // Writes the specified value to disk. This takes ownership of |value| and
|
| - // deletes it when done.
|
| - void Write(Value* value);
|
| -
|
| - // Reads the bookmarks from kBookmarksFileName. Notifies |service| with
|
| - // the results on the specified MessageLoop.
|
| - void Read(scoped_refptr<BookmarkStorage> service,
|
| - MessageLoop* message_loop,
|
| - bool load_from_history);
|
| -
|
| - private:
|
| - // Path we read/write to.
|
| - const std::wstring path_;
|
| -
|
| - // Path bookmarks are read from if asked to load from history file.
|
| - const std::wstring tmp_history_path_;
|
| -
|
| - DISALLOW_EVIL_CONSTRUCTORS(BookmarkStorageBackend);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_BOOKMARK_STORAGE_H_
|
| -
|
|
|