Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Unified Diff: chrome/common/renderer_configuration_struct_traits.h

Issue 2582203003: Convert SetContentSettingRules to use mojo, part 1/2. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/renderer_configuration_struct_traits.h
diff --git a/chrome/common/renderer_configuration_struct_traits.h b/chrome/common/renderer_configuration_struct_traits.h
new file mode 100644
index 0000000000000000000000000000000000000000..f67436a1abc120e8e50767f680ad80e3d6df3891
--- /dev/null
+++ b/chrome/common/renderer_configuration_struct_traits.h
@@ -0,0 +1,56 @@
+// 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 CHROME_COMMON_RENDERER_CONFIGURATION_STRUCT_TRAITS_H_
+#define CHROME_COMMON_RENDERER_CONFIGURATION_STRUCT_TRAITS_H_
+
+#include <string>
+
+#include "chrome/common/renderer_configuration.mojom.h"
+#include "components/content_settings/core/common/content_settings.h"
+#include "mojo/public/cpp/bindings/enum_traits.h"
+#include "mojo/public/cpp/bindings/struct_traits.h"
+
+namespace mojo {
+
+template <>
+struct EnumTraits<chrome::mojom::ContentSetting, ContentSetting> {
+ static chrome::mojom::ContentSetting ToMojom(ContentSetting setting);
+
+ static bool FromMojom(chrome::mojom::ContentSetting setting,
+ ContentSetting* out);
+};
+
+template <>
+struct StructTraits<chrome::mojom::ContentSettingPatternSourceDataView,
+ ContentSettingPatternSource> {
+ static const std::string primary_pattern(
Sam McNally 2016/12/19 00:17:51 Inline simple accessors.
nigeltao1 2016/12/22 04:09:46 Done.
+ const ContentSettingPatternSource& r);
+ static const std::string secondary_pattern(
+ const ContentSettingPatternSource& r);
+ static ContentSetting setting(const ContentSettingPatternSource& r);
+ static const std::string& source(const ContentSettingPatternSource& r);
+ static bool incognito(const ContentSettingPatternSource& r);
+
+ static bool Read(chrome::mojom::ContentSettingPatternSourceDataView data,
+ ContentSettingPatternSource* out);
+};
+
+template <>
+struct StructTraits<chrome::mojom::RendererContentSettingRulesDataView,
+ RendererContentSettingRules> {
+ static const std::vector<ContentSettingPatternSource>& image_rules(
+ const RendererContentSettingRules& r);
+ static const std::vector<ContentSettingPatternSource>& script_rules(
+ const RendererContentSettingRules& r);
+ static const std::vector<ContentSettingPatternSource>& autoplay_rules(
+ const RendererContentSettingRules& r);
+
+ static bool Read(chrome::mojom::RendererContentSettingRulesDataView data,
+ RendererContentSettingRules* out);
+};
+
+} // namespace mojo
+
+#endif // CHROME_COMMON_RENDERER_CONFIGURATION_STRUCT_TRAITS_H_

Powered by Google App Engine
This is Rietveld 408576698