#include "components/bookmarks/browser/bookmark_node_data.h"
#include <algorithm>
#include <string>
#include "base/containers/span.h"
#include "base/logging.h"
#include "base/memory/raw_ptr.h"
#include "base/numerics/safe_conversions.h"
#include "base/pickle.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "components/bookmarks/browser/bookmark_utils.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"
namespace bookmarks {
#if !BUILDFLAG(IS_APPLE)
namespace {
constexpr size_t kMaxVectorPreallocateSize = …;
}
const char BookmarkNodeData::kClipboardFormatString[] = …;
#endif
BookmarkNodeData::Element::Element() : … { … }
BookmarkNodeData::Element::Element(const BookmarkNode* node)
: … { … }
BookmarkNodeData::Element::Element(const Element& other) = default;
BookmarkNodeData::Element::~Element() { … }
#if !BUILDFLAG(IS_APPLE)
void BookmarkNodeData::Element::WriteToPickle(base::Pickle* pickle) const { … }
bool BookmarkNodeData::Element::ReadFromPickle(base::PickleIterator* iterator) { … }
#endif
BookmarkNodeData::BookmarkNodeData() { … }
BookmarkNodeData::BookmarkNodeData(const BookmarkNodeData& other) = default;
BookmarkNodeData::BookmarkNodeData(const BookmarkNode* node) { … }
BookmarkNodeData::BookmarkNodeData(
const std::vector<raw_ptr<const BookmarkNode, VectorExperimental>>& nodes) { … }
BookmarkNodeData::~BookmarkNodeData() { … }
#if !BUILDFLAG(IS_APPLE)
bool BookmarkNodeData::ClipboardContainsBookmarks() { … }
#endif
bool BookmarkNodeData::ReadFromVector(
const std::vector<raw_ptr<const BookmarkNode, VectorExperimental>>& nodes) { … }
bool BookmarkNodeData::ReadFromTuple(const GURL& url,
const std::u16string& title) { … }
#if !BUILDFLAG(IS_APPLE)
void BookmarkNodeData::WriteToClipboard(bool is_off_the_record) { … }
bool BookmarkNodeData::ReadFromClipboard(ui::ClipboardBuffer buffer) { … }
void BookmarkNodeData::WriteToPickle(const base::FilePath& profile_path,
base::Pickle* pickle) const { … }
bool BookmarkNodeData::ReadFromPickle(base::Pickle* pickle) { … }
#endif
std::vector<raw_ptr<const BookmarkNode, VectorExperimental>>
BookmarkNodeData::GetNodes(BookmarkModel* model,
const base::FilePath& profile_path) const { … }
const BookmarkNode* BookmarkNodeData::GetFirstNode(
BookmarkModel* model,
const base::FilePath& profile_path) const { … }
void BookmarkNodeData::Clear() { … }
void BookmarkNodeData::SetOriginatingProfilePath(
const base::FilePath& profile_path) { … }
bool BookmarkNodeData::IsFromProfilePath(
const base::FilePath& profile_path) const { … }
}