chromium/components/subresource_filter/tools/rule_parser/rule_options.h

// Copyright 2018 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_SUBRESOURCE_FILTER_TOOLS_RULE_PARSER_RULE_OPTIONS_H_
#define COMPONENTS_SUBRESOURCE_FILTER_TOOLS_RULE_PARSER_RULE_OPTIONS_H_

#include <limits>

#include "components/url_pattern_index/proto/rules.pb.h"
#include "components/url_pattern_index/url_pattern_index.h"

namespace subresource_filter {

// A type used for representing bitmask with ElementType's and ActivationType's.
TypeMask;

static constexpr uint32_t kActivationTypesShift =;
static constexpr uint32_t kActivationTypesBits =;

static_assert;
static_assert;
static_assert;

// The functions used to calculate masks for individual types.
inline constexpr TypeMask type_mask_for(
    url_pattern_index::proto::ElementType type) {}
inline constexpr TypeMask type_mask_for(
    url_pattern_index::proto::ActivationType type) {}

static constexpr TypeMask kAllElementTypes =;
static constexpr TypeMask kAllActivationTypes =;

static constexpr TypeMask kDefaultElementTypes =;

// A list of items mapping element type options to their names.
const struct {} kElementTypes[] =;

// A mapping from deprecated element type names to active element types.
const struct {} kDeprecatedElementTypes[] =;

// A list of items mapping activation type options to their names.
const struct {} kActivationTypes[] =;

}  // namespace subresource_filter

#endif  // COMPONENTS_SUBRESOURCE_FILTER_TOOLS_RULE_PARSER_RULE_OPTIONS_H_