| Index: chrome/browser/importer/profile_writer.h
|
| diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/profile_writer.h
|
| index 4a88db7e6d7e32a13d5280319391f6da83f15d14..2e2830b460c7a9251c9ff35525e2063572bf41d0 100644
|
| --- a/chrome/browser/importer/profile_writer.h
|
| +++ b/chrome/browser/importer/profile_writer.h
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/string16.h"
|
| #include "base/time.h"
|
| #include "build/build_config.h"
|
| #include "chrome/browser/history/history_types.h"
|
| @@ -31,21 +32,6 @@ struct IE7PasswordInfo;
|
| // This object must be invoked on UI thread.
|
| class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
|
| public:
|
| - // Used to identify how the bookmarks are added.
|
| - enum BookmarkOptions {
|
| - // Indicates the bookmark should only be added if unique. Uniqueness is done
|
| - // by title, url and path. That is, if this is passed to AddBookmarks, the
|
| - // bookmark is added only if there is no other URL with the same url, path
|
| - // and title.
|
| - ADD_IF_UNIQUE = 1 << 0,
|
| -
|
| - // Indicates the bookmarks should be added to the bookmark bar.
|
| - IMPORT_TO_BOOKMARK_BAR = 1 << 1,
|
| -
|
| - // Indicates the bookmark bar is not shown.
|
| - BOOKMARK_BAR_DISABLED = 1 << 2
|
| - };
|
| -
|
| struct BookmarkEntry {
|
| BookmarkEntry();
|
| ~BookmarkEntry();
|
| @@ -78,21 +64,26 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
|
|
|
| virtual void AddHomepage(const GURL& homepage);
|
|
|
| - // Adds the bookmarks to the BookmarkModel.
|
| - // |options| is a bitmask of BookmarkOptions and dictates how and
|
| - // which bookmarks are added. If the bitmask contains IMPORT_TO_BOOKMARK_BAR,
|
| - // then any entries with a value of true for in_toolbar are added to
|
| - // the bookmark bar. If the bitmask does not contain IMPORT_TO_BOOKMARK_BAR
|
| - // then the folder name the bookmarks are added to is uniqued based on
|
| - // |first_folder_name|. For example, if |first_folder_name| is 'foo'
|
| - // and a folder with the name 'foo' already exists in the other
|
| - // bookmarks folder, then the folder name 'foo 2' is used.
|
| - // If |options| contains ADD_IF_UNIQUE, then the bookmark is added only
|
| - // if another bookmarks does not exist with the same title, path and
|
| - // url.
|
| - virtual void AddBookmarks(const std::vector<BookmarkEntry>& bookmark,
|
| - const string16& first_folder_name,
|
| - int options);
|
| + // Adds the |bookmarks| to the bookmark model.
|
| + //
|
| + // (a) If the bookmarks bar is empty:
|
| + // (i) If |bookmarks| includes at least one bookmark that was originally
|
| + // located in a toolbar, all such bookmarks are imported directly to
|
| + // the toolbar; any other bookmarks are imported to a subfolder in
|
| + // the toolbar.
|
| + // (i) If |bookmarks| includes no bookmarks that were originally located
|
| + // in a toolbar, all bookmarks are imported directly to the toolbar.
|
| + // (b) If the bookmarks bar is not empty, all bookmarks are imported to a
|
| + // subfolder in the toolbar.
|
| + //
|
| + // In either case, if a subfolder is created, the name will be the value of
|
| + // |top_level_folder_name|, unless a folder with this name already exists.
|
| + // If a folder with this name already exists, then the name is uniquified.
|
| + // For example, if |first_folder_name| is 'Imported from IE' and a folder with
|
| + // the name 'Imported from IE' already exists in the bookmarks toolbar, then
|
| + // we will instead create a subfolder named 'Imported from IE (1)'.
|
| + virtual void AddBookmarks(const std::vector<BookmarkEntry>& bookmarks,
|
| + const string16& top_level_folder_name);
|
|
|
| virtual void AddFavicons(
|
| const std::vector<history::ImportedFaviconUsage>& favicons);
|
| @@ -107,33 +98,16 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
|
| // If unique_on_host_and_path a TemplateURL is only added if there is not an
|
| // existing TemplateURL that has a replaceable search url with the same
|
| // host+path combination.
|
| -
|
| virtual void AddKeywords(const std::vector<TemplateURL*>& template_urls,
|
| int default_keyword_index,
|
| bool unique_on_host_and_path);
|
|
|
| - // Shows the bookmarks toolbar.
|
| - void ShowBookmarkBar();
|
| -
|
| protected:
|
| friend class base::RefCountedThreadSafe<ProfileWriter>;
|
|
|
| virtual ~ProfileWriter();
|
|
|
| private:
|
| - // Generates a unique folder name. If folder_name is not unique, then this
|
| - // repeatedly tests for '|folder_name| + (i)' until a unique name is found.
|
| - string16 GenerateUniqueFolderName(BookmarkModel* model,
|
| - const string16& folder_name);
|
| -
|
| - // Returns true if a bookmark exists with the same url, title and path
|
| - // as |entry|. |first_folder_name| is the name to use for the first
|
| - // path entry if |import_to_bookmark_bar| is true.
|
| - bool DoesBookmarkExist(BookmarkModel* model,
|
| - const BookmarkEntry& entry,
|
| - const string16& first_folder_name,
|
| - bool import_to_bookmark_bar);
|
| -
|
| Profile* const profile_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ProfileWriter);
|
|
|