#include "components/power_bookmarks/core/power_bookmark_service.h"
#include "base/feature_list.h"
#include "base/ranges/algorithm.h"
#include "base/task/sequenced_task_runner.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/power_bookmarks/common/power.h"
#include "components/power_bookmarks/common/power_overview.h"
#include "components/power_bookmarks/common/search_params.h"
#include "components/power_bookmarks/core/power_bookmark_data_provider.h"
#include "components/power_bookmarks/core/power_bookmark_features.h"
#include "components/power_bookmarks/core/power_bookmark_utils.h"
#include "components/power_bookmarks/core/proto/power_bookmark_meta.pb.h"
#include "components/power_bookmarks/storage/power_bookmark_backend.h"
#include "components/sync/model/proxy_data_type_controller_delegate.h"
#include "components/sync/protocol/power_bookmark_specifics.pb.h"
BookmarkModel;
BookmarkNode;
namespace power_bookmarks {
PowerBookmarkService::PowerBookmarkService(
BookmarkModel* model,
const base::FilePath& database_dir,
scoped_refptr<base::SequencedTaskRunner> frontend_task_runner,
scoped_refptr<base::SequencedTaskRunner> backend_task_runner)
: … { … }
PowerBookmarkService::~PowerBookmarkService() { … }
std::unique_ptr<syncer::DataTypeControllerDelegate>
PowerBookmarkService::CreateSyncControllerDelegate() { … }
void PowerBookmarkService::GetPowersForURL(
const GURL& url,
const sync_pb::PowerBookmarkSpecifics::PowerType& power_type,
PowersCallback callback) { … }
void PowerBookmarkService::GetPowerOverviewsForType(
const sync_pb::PowerBookmarkSpecifics::PowerType& power_type,
PowerOverviewsCallback callback) { … }
void PowerBookmarkService::SearchPowers(const SearchParams& search_params,
PowersCallback callback) { … }
void PowerBookmarkService::SearchPowerOverviews(
const SearchParams& search_params,
PowerOverviewsCallback callback) { … }
void PowerBookmarkService::CreatePower(std::unique_ptr<Power> power,
SuccessCallback callback) { … }
void PowerBookmarkService::UpdatePower(std::unique_ptr<Power> power,
SuccessCallback callback) { … }
void PowerBookmarkService::DeletePower(const base::Uuid& guid,
SuccessCallback callback) { … }
void PowerBookmarkService::DeletePowersForURL(
const GURL& url,
const sync_pb::PowerBookmarkSpecifics::PowerType& power_type,
SuccessCallback callback) { … }
void PowerBookmarkService::AddObserver(PowerBookmarkObserver* observer) { … }
void PowerBookmarkService::RemoveObserver(PowerBookmarkObserver* observer) { … }
void PowerBookmarkService::AddDataProvider(
PowerBookmarkDataProvider* data_provider) { … }
void PowerBookmarkService::RemoveDataProvider(
PowerBookmarkDataProvider* data_provider) { … }
void PowerBookmarkService::BookmarkNodeAdded(const BookmarkNode* parent,
size_t index,
bool newly_added) { … }
void PowerBookmarkService::OnPowersChanged() { … }
}