blob: 47bc1fbbc8eaea3340336190e6213f5614fd5606 [file] [log] [blame]
// Copyright 2018 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 CHROME_BROWSER_RESOURCE_COORDINATOR_LOCAL_SITE_CHARACTERISTICS_NOOP_DATA_WRITER_H_
#define CHROME_BROWSER_RESOURCE_COORDINATOR_LOCAL_SITE_CHARACTERISTICS_NOOP_DATA_WRITER_H_
#include "base/macros.h"
#include "chrome/browser/resource_coordinator/site_characteristics_data_writer.h"
namespace resource_coordinator {
// Specialization of a SiteCharacteristicsDataWriter that doesn't record
// anyting.
class LocalSiteCharacteristicsNoopDataWriter
: public SiteCharacteristicsDataWriter {
public:
LocalSiteCharacteristicsNoopDataWriter();
~LocalSiteCharacteristicsNoopDataWriter() override;
// SiteCharacteristicsDataWriter:
void NotifySiteLoaded() override;
void NotifySiteUnloaded() override;
void NotifySiteVisibilityChanged(TabVisibility visibility) override;
void NotifyUpdatesFaviconInBackground() override;
void NotifyUpdatesTitleInBackground() override;
void NotifyUsesAudioInBackground() override;
void NotifyUsesNotificationsInBackground() override;
void NotifyLoadTimePerformanceMeasurement(
base::TimeDelta load_duration,
base::TimeDelta cpu_usage_estimate,
uint64_t private_footprint_kb_estimate) override;
private:
DISALLOW_COPY_AND_ASSIGN(LocalSiteCharacteristicsNoopDataWriter);
};
} // namespace resource_coordinator
#endif // CHROME_BROWSER_RESOURCE_COORDINATOR_LOCAL_SITE_CHARACTERISTICS_NOOP_DATA_WRITER_H_