| Index: components/content_settings/core/common/content_settings_struct_traits.cc
|
| diff --git a/components/content_settings/core/common/content_settings_struct_traits.cc b/components/content_settings/core/common/content_settings_struct_traits.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..11ad9c92ed692ac7f238c913be659ed3179d0763
|
| --- /dev/null
|
| +++ b/components/content_settings/core/common/content_settings_struct_traits.cc
|
| @@ -0,0 +1,104 @@
|
| +// 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.
|
| +
|
| +#include "components/content_settings/core/common/content_settings_struct_traits.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +// static
|
| +bool StructTraits<content_settings::mojom::PatternPartsDataView,
|
| + ContentSettingsPattern::PatternParts>::
|
| + Read(content_settings::mojom::PatternPartsDataView data,
|
| + ContentSettingsPattern::PatternParts* out) {
|
| + out->is_scheme_wildcard = data.is_scheme_wildcard();
|
| + out->has_domain_wildcard = data.has_domain_wildcard();
|
| + out->is_port_wildcard = data.is_port_wildcard();
|
| + out->is_path_wildcard = data.is_path_wildcard();
|
| + return data.ReadScheme(&out->scheme) && data.ReadHost(&out->host) &&
|
| + data.ReadPort(&out->port) && data.ReadPath(&out->path);
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<content_settings::mojom::ContentSettingsPatternDataView,
|
| + ContentSettingsPattern>::
|
| + Read(content_settings::mojom::ContentSettingsPatternDataView data,
|
| + ContentSettingsPattern* out) {
|
| + out->is_valid_ = data.is_valid();
|
| + return data.ReadParts(&out->parts_);
|
| +}
|
| +
|
| +// static
|
| +content_settings::mojom::ContentSetting
|
| +EnumTraits<content_settings::mojom::ContentSetting, ContentSetting>::ToMojom(
|
| + ContentSetting setting) {
|
| + switch (setting) {
|
| + case CONTENT_SETTING_DEFAULT:
|
| + return content_settings::mojom::ContentSetting::DEFAULT;
|
| + case CONTENT_SETTING_ALLOW:
|
| + return content_settings::mojom::ContentSetting::ALLOW;
|
| + case CONTENT_SETTING_BLOCK:
|
| + return content_settings::mojom::ContentSetting::BLOCK;
|
| + case CONTENT_SETTING_ASK:
|
| + return content_settings::mojom::ContentSetting::ASK;
|
| + case CONTENT_SETTING_SESSION_ONLY:
|
| + return content_settings::mojom::ContentSetting::SESSION_ONLY;
|
| + case CONTENT_SETTING_DETECT_IMPORTANT_CONTENT:
|
| + return content_settings::mojom::ContentSetting::DETECT_IMPORTANT_CONTENT;
|
| + case CONTENT_SETTING_NUM_SETTINGS:
|
| + // CONTENT_SETTING_NUM_SETTINGS is a dummy enum value.
|
| + break;
|
| + }
|
| + NOTREACHED();
|
| + return content_settings::mojom::ContentSetting::DEFAULT;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<content_settings::mojom::ContentSetting, ContentSetting>::
|
| + FromMojom(content_settings::mojom::ContentSetting setting,
|
| + ContentSetting* out) {
|
| + switch (setting) {
|
| + case content_settings::mojom::ContentSetting::DEFAULT:
|
| + *out = CONTENT_SETTING_DEFAULT;
|
| + return true;
|
| + case content_settings::mojom::ContentSetting::ALLOW:
|
| + *out = CONTENT_SETTING_ALLOW;
|
| + return true;
|
| + case content_settings::mojom::ContentSetting::BLOCK:
|
| + *out = CONTENT_SETTING_BLOCK;
|
| + return true;
|
| + case content_settings::mojom::ContentSetting::ASK:
|
| + *out = CONTENT_SETTING_ASK;
|
| + return true;
|
| + case content_settings::mojom::ContentSetting::SESSION_ONLY:
|
| + *out = CONTENT_SETTING_SESSION_ONLY;
|
| + return true;
|
| + case content_settings::mojom::ContentSetting::DETECT_IMPORTANT_CONTENT:
|
| + *out = CONTENT_SETTING_DETECT_IMPORTANT_CONTENT;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<content_settings::mojom::ContentSettingPatternSourceDataView,
|
| + ContentSettingPatternSource>::
|
| + Read(content_settings::mojom::ContentSettingPatternSourceDataView data,
|
| + ContentSettingPatternSource* out) {
|
| + out->incognito = data.incognito();
|
| + return data.ReadPrimaryPattern(&out->primary_pattern) &&
|
| + data.ReadSecondaryPattern(&out->secondary_pattern) &&
|
| + data.ReadSetting(&out->setting) && data.ReadSource(&out->source);
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
| + RendererContentSettingRules>::
|
| + Read(content_settings::mojom::RendererContentSettingRulesDataView data,
|
| + RendererContentSettingRules* out) {
|
| + return data.ReadImageRules(&out->image_rules) &&
|
| + data.ReadScriptRules(&out->script_rules) &&
|
| + data.ReadAutoplayRules(&out->autoplay_rules);
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|