chromium/third_party/blink/renderer/core/css/resolver/cascade_filter.h

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

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_RESOLVER_CASCADE_FILTER_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_RESOLVER_CASCADE_FILTER_H_

#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/properties/css_property.h"

namespace blink {

// Reject properties with the given flags set or unset.
//
// For example, the following applies only inherited properties that don't apply
// to ::first-letter:
//
//  CascadeFilter filter;
//  filter = filter.Add(CSSProperty::kInherited, false);
//  filter = filter.Add(CSSProperty::kValidForFirstLetter, true);
//  filter.Reject(GetCSSPropertyColor());     // -> false
//  filter.Reject(GetCSSPropertyDirection()); // -> true
//  filter.Reject(GetCSSPropertyTop());       // -> true
//
class CORE_EXPORT CascadeFilter {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_RESOLVER_CASCADE_FILTER_H_