chromium/components/commerce/core/shopping_bookmark_model_observer.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_COMMERCE_CORE_SHOPPING_BOOKMARK_MODEL_OBSERVER_H_
#define COMPONENTS_COMMERCE_CORE_SHOPPING_BOOKMARK_MODEL_OBSERVER_H_

#include <map>
#include <set>

#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "base/uuid.h"
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
#include "components/bookmarks/browser/bookmark_model.h"

class GURL;

namespace bookmarks {
class BookmarkNode;
}  // namespace bookmarks

namespace commerce {

class ShoppingService;
class SubscriptionsManager;

// A utility class that watches for changes in bookmark URLs. In the case that
// the bookmark was a shopping item, the meta should be removed since we can't
// guarantee the URL still points to the product.
//
// TODO(crbug.com/40834968): We can probably update the data rather than delete
// it once
//                privacy-preserving fetch from optimization guide becomes
//                available.
class ShoppingBookmarkModelObserver
    : public bookmarks::BaseBookmarkModelObserver {};

}  // namespace commerce

#endif  // COMPONENTS_COMMERCE_CORE_SHOPPING_BOOKMARK_MODEL_OBSERVER_H_