blob: 7956e5e26f402dd69f470eced95d2fbef1225161 [file] [log] [blame]
// Copyright 2017 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_OPTIMIZATION_GUIDE_OPTIMIZATION_GUIDE_SERVICE_OBSERVER_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_OPTIMIZATION_GUIDE_SERVICE_OBSERVER_H_
namespace optimization_guide {
struct HintsComponentInfo;
// Interface for objects that wish to be notified of changes in the Optimization
// Guide Service.
//
// All calls will be made on the UI thread.
class OptimizationGuideServiceObserver {
public:
// Called when a new hints component is available for processing. While this
// is called on the UI thread, it is recommended that processing of the new
// component via ProcessHintsComponent() occur on a background thread.
virtual void OnHintsComponentAvailable(const HintsComponentInfo& info) = 0;
protected:
virtual ~OptimizationGuideServiceObserver() {}
};
} // namespace optimization_guide
#endif // COMPONENTS_OPTIMIZATION_GUIDE_OPTIMIZATION_GUIDE_SERVICE_OBSERVER_H_