// Copyright 2014 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 COMPONENTS_ENHANCED_BOOKMARKS_METADATA_ACCESSOR_H_ #define COMPONENTS_ENHANCED_BOOKMARKS_METADATA_ACCESSOR_H_ #include <set> #include <string> #include <vector> class BookmarkModel; class BookmarkNode; class GURL; // The functions in this file store and retrieve structured data encoded in the // bookmark metadata. This information suplements the data in the bookmark with // images and descriptions related to the url. namespace enhanced_bookmarks { typedef std::vector<const BookmarkNode*> NodeVector; typedef std::set<const BookmarkNode*> NodeSet; // The keys used to store the data in the bookmarks metadata dictionary. extern const char* kPageDataKey; extern const char* kImageDataKey; extern const char* kIdDataKey; extern const char* kNoteKey; // Returns the remoteId for a bookmark. If the bookmark doesn't have one already // this function will create and set one. std::string RemoteIdFromBookmark(BookmarkModel* bookmark_model, const BookmarkNode* node); // Sets the description of a bookmark. void SetDescriptionForBookmark(BookmarkModel* bookmark_model, const BookmarkNode* node, const std::string& description); // Returns the description of a bookmark. std::string DescriptionFromBookmark(const BookmarkNode* node); // Sets the URL of an image representative of the page. // Expects the URL to be valid and not empty. // Returns true if the metainfo is successfully populated. bool SetOriginalImageForBookmark(BookmarkModel* bookmark_model, const BookmarkNode* node, const GURL& url, int width, int height); // Returns the url and dimensions of the original scraped image. // Returns true if the out variables are populated, false otherwise. bool OriginalImageFromBookmark(const BookmarkNode* node, GURL* url, int* width, int* height); // Returns the url and dimensions of the server provided thumbnail image. // Returns true if the out variables are populated, false otherwise. bool ThumbnailImageFromBookmark(const BookmarkNode* node, GURL* url, int* width, int* height); // Returns a brief server provided synopsis of the bookmarked page. // Returns the empty string if the snippet could not be extracted. std::string SnippetFromBookmark(const BookmarkNode* node); // Used for testing, simulates the process that creates the thumnails. Will // remove existing entries for empty urls or set them if the url is not empty. // expects valid or empty urls. Returns true if the metainfo is successfully // populated. bool SetAllImagesForBookmark(BookmarkModel* bookmark_model, const BookmarkNode* node, const GURL& image_url, int image_width, int image_height, const GURL& thumbnail_url, int thumbnail_width, int thumbnail_height); } // namespace enhanced_bookmarks #endif // COMPONENTS_ENHANCED_BOOKMARKS_METADATA_ACCESSOR_H_