chromium/storage/browser/quota/special_storage_policy.h

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

#ifndef STORAGE_BROWSER_QUOTA_SPECIAL_STORAGE_POLICY_H_
#define STORAGE_BROWSER_QUOTA_SPECIAL_STORAGE_POLICY_H_

#include "base/component_export.h"
#include "base/memory/ref_counted.h"
#include "base/observer_list.h"
#include "base/sequence_checker.h"

class GURL;

namespace url {
class Origin;
}

namespace storage {

// Special rights are granted to 'extensions' and 'applications'. The
// storage subsystems query this interface to determine which origins
// have these rights. Chrome provides an impl that is cognizant of what
// is currently installed in the extensions system.
// The IsSomething() methods must be thread-safe, however Observers should
// only be notified, added, and removed on the IO thead.
class COMPONENT_EXPORT(STORAGE_BROWSER) SpecialStoragePolicy
    : public base::RefCountedThreadSafe<SpecialStoragePolicy> {};

}  // namespace storage

#endif  // STORAGE_BROWSER_QUOTA_SPECIAL_STORAGE_POLICY_H_