| Index: components/content_settings/core/common/content_settings_struct_traits.h
|
| diff --git a/components/content_settings/core/common/content_settings_struct_traits.h b/components/content_settings/core/common/content_settings_struct_traits.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..10c78efeafd5152271019e57a6742e9adc1332be
|
| --- /dev/null
|
| +++ b/components/content_settings/core/common/content_settings_struct_traits.h
|
| @@ -0,0 +1,142 @@
|
| +// Copyright 2016 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_CONTENT_SETTINGS_CORE_COMMON_CONTENT_SETTINGS_STRUCT_TRAITS_H
|
| +#define COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_CONTENT_SETTINGS_STRUCT_TRAITS_H
|
| +
|
| +#include <string>
|
| +
|
| +#include "components/content_settings/core/common/content_settings.h"
|
| +#include "components/content_settings/core/common/content_settings.mojom.h"
|
| +#include "mojo/public/cpp/bindings/enum_traits.h"
|
| +#include "mojo/public/cpp/bindings/struct_traits.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +template <>
|
| +struct StructTraits<content_settings::mojom::PatternPartsDataView,
|
| + ContentSettingsPattern::PatternParts> {
|
| + static const std::string& scheme(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.scheme;
|
| + }
|
| +
|
| + static bool is_scheme_wildcard(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.is_scheme_wildcard;
|
| + }
|
| +
|
| + static const std::string& host(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.host;
|
| + }
|
| +
|
| + static bool has_domain_wildcard(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.has_domain_wildcard;
|
| + }
|
| +
|
| + static const std::string& port(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.port;
|
| + }
|
| +
|
| + static bool is_port_wildcard(const ContentSettingsPattern::PatternParts& r) {
|
| + return r.is_port_wildcard;
|
| + }
|
| +
|
| + static const std::string& path(
|
| + const ContentSettingsPattern::PatternParts& r) {
|
| + return r.path;
|
| + }
|
| +
|
| + static bool is_path_wildcard(const ContentSettingsPattern::PatternParts& r) {
|
| + return r.is_path_wildcard;
|
| + }
|
| +
|
| + static bool Read(content_settings::mojom::PatternPartsDataView data,
|
| + ContentSettingsPattern::PatternParts* out);
|
| +};
|
| +
|
| +template <>
|
| +struct StructTraits<content_settings::mojom::ContentSettingsPatternDataView,
|
| + ContentSettingsPattern> {
|
| + static const ContentSettingsPattern::PatternParts& parts(
|
| + const ContentSettingsPattern& r) {
|
| + return r.parts_;
|
| + }
|
| +
|
| + static bool is_valid(const ContentSettingsPattern& r) { return r.is_valid_; }
|
| +
|
| + static bool Read(content_settings::mojom::ContentSettingsPatternDataView data,
|
| + ContentSettingsPattern* out);
|
| +};
|
| +
|
| +template <>
|
| +struct EnumTraits<content_settings::mojom::ContentSetting, ContentSetting> {
|
| + static content_settings::mojom::ContentSetting ToMojom(
|
| + ContentSetting setting);
|
| +
|
| + static bool FromMojom(content_settings::mojom::ContentSetting setting,
|
| + ContentSetting* out);
|
| +};
|
| +
|
| +template <>
|
| +struct StructTraits<
|
| + content_settings::mojom::ContentSettingPatternSourceDataView,
|
| + ContentSettingPatternSource> {
|
| + static const ContentSettingsPattern& primary_pattern(
|
| + const ContentSettingPatternSource& r) {
|
| + return r.primary_pattern;
|
| + }
|
| +
|
| + static const ContentSettingsPattern& secondary_pattern(
|
| + const ContentSettingPatternSource& r) {
|
| + return r.secondary_pattern;
|
| + }
|
| +
|
| + static ContentSetting setting(const ContentSettingPatternSource& r) {
|
| + return r.setting;
|
| + }
|
| +
|
| + static const std::string& source(const ContentSettingPatternSource& r) {
|
| + return r.source;
|
| + }
|
| +
|
| + static bool incognito(const ContentSettingPatternSource& r) {
|
| + return r.incognito;
|
| + }
|
| +
|
| + static bool Read(
|
| + content_settings::mojom::ContentSettingPatternSourceDataView data,
|
| + ContentSettingPatternSource* out);
|
| +};
|
| +
|
| +template <>
|
| +struct StructTraits<
|
| + content_settings::mojom::RendererContentSettingRulesDataView,
|
| + RendererContentSettingRules> {
|
| + static const std::vector<ContentSettingPatternSource>& image_rules(
|
| + const RendererContentSettingRules& r) {
|
| + return r.image_rules;
|
| + }
|
| +
|
| + static const std::vector<ContentSettingPatternSource>& script_rules(
|
| + const RendererContentSettingRules& r) {
|
| + return r.script_rules;
|
| + }
|
| +
|
| + static const std::vector<ContentSettingPatternSource>& autoplay_rules(
|
| + const RendererContentSettingRules& r) {
|
| + return r.autoplay_rules;
|
| + }
|
| +
|
| + static bool Read(
|
| + content_settings::mojom::RendererContentSettingRulesDataView data,
|
| + RendererContentSettingRules* out);
|
| +};
|
| +
|
| +} // namespace mojo
|
| +
|
| +#endif // COMPONENTS_CONTENT_SETTINGS_CORE_COMMON_CONTENT_SETTINGS_STRUCT_TRAITS_H
|
|
|