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

Side by Side Diff: content/content_tests.gypi

Issue 17366006: Factor out content shell and tests into a standalone gyp (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated OWNERS to include a rule for the new file Created 7 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
tfarina 2013/06/23 00:51:11 better to make this a content_tests.gyp. I also fa
mnaganov (inactive) 2013/07/01 09:17:51 See my previous reply.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'targets': [ 6 'targets': [
7 { 7 {
8 'target_name': 'test_support_content', 8 'target_name': 'test_support_content',
9 'type': 'static_library', 9 'type': 'static_library',
10 'defines!': ['CONTENT_IMPLEMENTATION'], 10 'defines!': ['CONTENT_IMPLEMENTATION'],
11 'dependencies': [ 11 'dependencies': [
12 '../media/media.gyp:media', 12 '../media/media.gyp:media',
13 '../net/net.gyp:net_test_support', 13 '../net/net.gyp:net_test_support',
14 '../skia/skia.gyp:skia', 14 '../skia/skia.gyp:skia',
15 '../testing/gmock.gyp:gmock', 15 '../testing/gmock.gyp:gmock',
16 '../testing/gtest.gyp:gtest', 16 '../testing/gtest.gyp:gtest',
17 '../ui/ui.gyp:ui_test_support', 17 '../ui/ui.gyp:ui_test_support',
18 '../url/url.gyp:url_lib', 18 '../url/url.gyp:url_lib',
19 'content_app', 19 'content.gyp:content_app',
20 'content_browser', 20 'content.gyp:content_browser',
21 'content_common', 21 'content.gyp:content_common',
22 ], 22 ],
23 'include_dirs': [ 23 'include_dirs': [
24 '..', 24 '..',
25 ], 25 ],
26 'sources': [ 26 'sources': [
27 'public/test/browser_test_base.cc', 27 'public/test/browser_test_base.cc',
28 'public/test/browser_test_base.h', 28 'public/test/browser_test_base.h',
29 'public/test/browser_test.h', 29 'public/test/browser_test.h',
30 'public/test/browser_test_utils.cc', 30 'public/test/browser_test_utils.cc',
31 'public/test/browser_test_utils.h', 31 'public/test/browser_test_utils.h',
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 ['include', '^public/test/test_content_client_initializer\\.cc$'], 154 ['include', '^public/test/test_content_client_initializer\\.cc$'],
155 ['include', '^public/test/test_notification_tracker\\.cc$'], 155 ['include', '^public/test/test_notification_tracker\\.cc$'],
156 ['include', '^public/test/test_utils\\.cc$'], 156 ['include', '^public/test/test_utils\\.cc$'],
157 ['include', '^public/test/unittest_test_suite\\.cc$'], 157 ['include', '^public/test/unittest_test_suite\\.cc$'],
158 ['include', '^test/content_test_suite\\.cc$'], 158 ['include', '^test/content_test_suite\\.cc$'],
159 ['include', '^test/test_content_browser_client\\.cc$'], 159 ['include', '^test/test_content_browser_client\\.cc$'],
160 ['include', '^test/test_content_client\\.cc$'], 160 ['include', '^test/test_content_client\\.cc$'],
161 ], 161 ],
162 }, { # OS != "ios" 162 }, { # OS != "ios"
163 'dependencies': [ 163 'dependencies': [
164 'content_child', 164 'content.gyp:content_child',
165 'content_ppapi_plugin', 165 'content.gyp:content_ppapi_plugin',
166 'content_utility', 166 'content.gyp:content_utility',
167 'content_worker', 167 'content.gyp:content_worker',
168 '../ppapi/ppapi_internal.gyp:ppapi_host', 168 '../ppapi/ppapi_internal.gyp:ppapi_host',
169 '../ppapi/ppapi_internal.gyp:ppapi_proxy', 169 '../ppapi/ppapi_internal.gyp:ppapi_proxy',
170 '../ppapi/ppapi_internal.gyp:ppapi_shared', 170 '../ppapi/ppapi_internal.gyp:ppapi_shared',
171 '../ppapi/ppapi_internal.gyp:ppapi_unittest_shared', 171 '../ppapi/ppapi_internal.gyp:ppapi_unittest_shared',
172 '../third_party/WebKit/public/blink.gyp:blink', 172 '../third_party/WebKit/public/blink.gyp:blink',
173 '../third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpR enderTree.gyp:TestRunner', 173 '../third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpR enderTree.gyp:TestRunner',
174 '../ui/surface/surface.gyp:surface', 174 '../ui/surface/surface.gyp:surface',
175 '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu', 175 '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
176 '../webkit/renderer/compositor_bindings/compositor_bindings.gyp:webk it_compositor_support', 176 '../webkit/renderer/compositor_bindings/compositor_bindings.gyp:webk it_compositor_support',
177 '../webkit/support/webkit_support.gyp:webkit_support_common', 177 '../webkit/support/webkit_support.gyp:webkit_support_common',
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 'test_support_content_jni_headers', 238 'test_support_content_jni_headers',
239 ], 239 ],
240 }], 240 }],
241 ], 241 ],
242 }, 242 },
243 { 243 {
244 'target_name': 'content_unittests', 244 'target_name': 'content_unittests',
245 'type': '<(gtest_target_type)', 245 'type': '<(gtest_target_type)',
246 'defines!': ['CONTENT_IMPLEMENTATION'], 246 'defines!': ['CONTENT_IMPLEMENTATION'],
247 'dependencies': [ 247 'dependencies': [
248 'content_browser', 248 'content.gyp:content_browser',
249 'content_common', 249 'content.gyp:content_common',
250 'test_support_content', 250 'test_support_content',
251 'browser/speech/proto/speech_proto.gyp:speech_proto', 251 'browser/speech/proto/speech_proto.gyp:speech_proto',
252 '../base/base.gyp:test_support_base', 252 '../base/base.gyp:test_support_base',
253 '../crypto/crypto.gyp:crypto', 253 '../crypto/crypto.gyp:crypto',
254 '../media/media.gyp:media_test_support', 254 '../media/media.gyp:media_test_support',
255 '../net/net.gyp:net_test_support', 255 '../net/net.gyp:net_test_support',
256 '../skia/skia.gyp:skia', 256 '../skia/skia.gyp:skia',
257 '../sql/sql.gyp:sql', 257 '../sql/sql.gyp:sql',
258 '../testing/gmock.gyp:gmock', 258 '../testing/gmock.gyp:gmock',
259 '../testing/gtest.gyp:gtest', 259 '../testing/gtest.gyp:gtest',
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 # iOS only needs a small portion of content; exclude all the 553 # iOS only needs a small portion of content; exclude all the
554 # implementation, and re-include what is used. 554 # implementation, and re-include what is used.
555 ['exclude', '\\.(cc|mm)$'], 555 ['exclude', '\\.(cc|mm)$'],
556 ['include', '_ios\\.(cc|mm)$'], 556 ['include', '_ios\\.(cc|mm)$'],
557 ['include', '^browser/notification_service_impl_unittest\\.cc$'], 557 ['include', '^browser/notification_service_impl_unittest\\.cc$'],
558 ['include', '^browser/web_contents/navigation_entry_impl_unittest\\. cc$'], 558 ['include', '^browser/web_contents/navigation_entry_impl_unittest\\. cc$'],
559 ['include', '^test/run_all_unittests\\.cc$'], 559 ['include', '^test/run_all_unittests\\.cc$'],
560 ], 560 ],
561 }, { # OS != "ios" 561 }, { # OS != "ios"
562 'dependencies': [ 562 'dependencies': [
563 'content_browser', 563 'content.gyp:content_browser',
564 'content_child', 564 'content.gyp:content_child',
565 'content_gpu', 565 'content.gyp:content_gpu',
566 'content_plugin', 566 'content.gyp:content_plugin',
567 'content_renderer', 567 'content.gyp:content_renderer',
568 'content_resources.gyp:content_resources', 568 'content_resources.gyp:content_resources',
569 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations', 569 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dyn amic_annotations',
570 '../gpu/gpu.gyp:gpu', 570 '../gpu/gpu.gyp:gpu',
571 '../gpu/gpu.gyp:gpu_unittest_utils', 571 '../gpu/gpu.gyp:gpu_unittest_utils',
572 '../ipc/ipc.gyp:test_support_ipc', 572 '../ipc/ipc.gyp:test_support_ipc',
573 '../jingle/jingle.gyp:jingle_glue_test_util', 573 '../jingle/jingle.gyp:jingle_glue_test_util',
574 '../media/media.gyp:shared_memory_support', 574 '../media/media.gyp:shared_memory_support',
575 '../third_party/WebKit/public/blink.gyp:blink', 575 '../third_party/WebKit/public/blink.gyp:blink',
576 '../third_party/icu/icu.gyp:icui18n', 576 '../third_party/icu/icu.gyp:icui18n',
577 '../third_party/icu/icu.gyp:icuuc', 577 '../third_party/icu/icu.gyp:icuuc',
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 }, 728 },
729 ], 729 ],
730 'conditions': [ 730 'conditions': [
731 ['OS!="ios"', { 731 ['OS!="ios"', {
732 'targets': [ 732 'targets': [
733 { 733 {
734 'target_name': 'content_browsertests', 734 'target_name': 'content_browsertests',
735 'type': '<(gtest_target_type)', 735 'type': '<(gtest_target_type)',
736 'defines!': ['CONTENT_IMPLEMENTATION'], 736 'defines!': ['CONTENT_IMPLEMENTATION'],
737 'dependencies': [ 737 'dependencies': [
738 'content_common', 738 'content.gyp:content_common',
739 'content_gpu', 739 'content.gyp:content_gpu',
740 'content_plugin', 740 'content.gyp:content_plugin',
741 'content_renderer', 741 'content.gyp:content_renderer',
742 'content_shell_lib', 742 'content_shell_lib',
743 'content_shell_pak', 743 'content_shell_pak',
744 'test_support_content', 744 'test_support_content',
745 '../base/base.gyp:test_support_base', 745 '../base/base.gyp:test_support_base',
746 '../gpu/gpu.gyp:gpu', 746 '../gpu/gpu.gyp:gpu',
747 '../ipc/ipc.gyp:test_support_ipc', 747 '../ipc/ipc.gyp:test_support_ipc',
748 '../net/net.gyp:net_test_support', 748 '../net/net.gyp:net_test_support',
749 '../ppapi/ppapi_internal.gyp:ppapi_host', 749 '../ppapi/ppapi_internal.gyp:ppapi_host',
750 '../ppapi/ppapi_internal.gyp:ppapi_ipc', 750 '../ppapi/ppapi_internal.gyp:ppapi_ipc',
751 '../ppapi/ppapi_internal.gyp:ppapi_proxy', 751 '../ppapi/ppapi_internal.gyp:ppapi_proxy',
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 ['exclude', '^browser/speech/'], 977 ['exclude', '^browser/speech/'],
978 ] 978 ]
979 }], 979 }],
980 ], 980 ],
981 }, 981 },
982 { 982 {
983 'target_name': 'content_gl_tests', 983 'target_name': 'content_gl_tests',
984 'type': '<(gtest_target_type)', 984 'type': '<(gtest_target_type)',
985 'defines!': ['CONTENT_IMPLEMENTATION'], 985 'defines!': ['CONTENT_IMPLEMENTATION'],
986 'dependencies': [ 986 'dependencies': [
987 'content_common', 987 'content.gyp:content_common',
988 'test_support_content', 988 'test_support_content',
989 '../base/base.gyp:test_support_base', 989 '../base/base.gyp:test_support_base',
990 '../testing/gtest.gyp:gtest', 990 '../testing/gtest.gyp:gtest',
991 '../ui/ui.gyp:ui', 991 '../ui/ui.gyp:ui',
992 '../ui/gl/gl.gyp:gl', 992 '../ui/gl/gl.gyp:gl',
993 '../third_party/WebKit/public/blink.gyp:blink', 993 '../third_party/WebKit/public/blink.gyp:blink',
994 ], 994 ],
995 'include_dirs': [ 995 'include_dirs': [
996 '..', 996 '..',
997 ], 997 ],
998 'sources': [ 998 'sources': [
999 'common/gpu/client/gl_helper_unittests.cc', 999 'common/gpu/client/gl_helper_unittests.cc',
1000 ], 1000 ],
1001 }, 1001 },
1002 { 1002 {
1003 'target_name': 'content_gl_benchmark', 1003 'target_name': 'content_gl_benchmark',
1004 'type': '<(gtest_target_type)', 1004 'type': '<(gtest_target_type)',
1005 'defines!': ['CONTENT_IMPLEMENTATION'], 1005 'defines!': ['CONTENT_IMPLEMENTATION'],
1006 'dependencies': [ 1006 'dependencies': [
1007 'content_common', 1007 'content.gyp:content_common',
1008 'test_support_content', 1008 'test_support_content',
1009 '../base/base.gyp:test_support_base', 1009 '../base/base.gyp:test_support_base',
1010 '../testing/gtest.gyp:gtest', 1010 '../testing/gtest.gyp:gtest',
1011 '../ui/ui.gyp:ui', 1011 '../ui/ui.gyp:ui',
1012 '../ui/gl/gl.gyp:gl', 1012 '../ui/gl/gl.gyp:gl',
1013 '../third_party/WebKit/public/blink.gyp:blink', 1013 '../third_party/WebKit/public/blink.gyp:blink',
1014 ], 1014 ],
1015 'include_dirs': [ 1015 'include_dirs': [
1016 '..', 1016 '..',
1017 ], 1017 ],
1018 'sources': [ 1018 'sources': [
1019 'common/gpu/client/gl_helper_benchmark.cc', 1019 'common/gpu/client/gl_helper_benchmark.cc',
1020 ], 1020 ],
1021 }, 1021 },
1022 ], 1022 ],
1023 }], 1023 }],
1024 ['chromeos==1 or OS=="win" or OS=="android"', { 1024 ['chromeos==1 or OS=="win" or OS=="android"', {
1025 'targets': [ 1025 'targets': [
1026 { 1026 {
1027 'target_name': 'video_decode_accelerator_unittest', 1027 'target_name': 'video_decode_accelerator_unittest',
1028 'type': '<(gtest_target_type)', 1028 'type': '<(gtest_target_type)',
1029 'dependencies': [ 1029 'dependencies': [
1030 'content', 1030 'content.gyp:content',
1031 '../base/base.gyp:base', 1031 '../base/base.gyp:base',
1032 '../testing/gtest.gyp:gtest', 1032 '../testing/gtest.gyp:gtest',
1033 '../media/media.gyp:media', 1033 '../media/media.gyp:media',
1034 '../ui/gl/gl.gyp:gl', 1034 '../ui/gl/gl.gyp:gl',
1035 '../ui/ui.gyp:ui', 1035 '../ui/ui.gyp:ui',
1036 ], 1036 ],
1037 'include_dirs': [ 1037 'include_dirs': [
1038 '<(DEPTH)/third_party/khronos', 1038 '<(DEPTH)/third_party/khronos',
1039 ], 1039 ],
1040 'sources': [ 1040 'sources': [
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1089 'msvs_disabled_warnings': [ 4267, ], 1089 'msvs_disabled_warnings': [ 4267, ],
1090 }, 1090 },
1091 ] 1091 ]
1092 }], 1092 }],
1093 ['chromeos == 1 or OS == "linux"', { 1093 ['chromeos == 1 or OS == "linux"', {
1094 'targets': [ 1094 'targets': [
1095 { 1095 {
1096 'target_name': 'h264_parser_unittest', 1096 'target_name': 'h264_parser_unittest',
1097 'type': 'executable', 1097 'type': 'executable',
1098 'dependencies': [ 1098 'dependencies': [
1099 'content_common', 1099 'content.gyp:content_common',
1100 '../base/base.gyp:base', 1100 '../base/base.gyp:base',
1101 '../testing/gtest.gyp:gtest', 1101 '../testing/gtest.gyp:gtest',
1102 ], 1102 ],
1103 'sources': [ 1103 'sources': [
1104 'common/gpu/media/h264_bit_reader_unittest.cc', 1104 'common/gpu/media/h264_bit_reader_unittest.cc',
1105 'common/gpu/media/h264_parser_unittest.cc', 1105 'common/gpu/media/h264_parser_unittest.cc',
1106 ], 1106 ],
1107 'conditions': [ 1107 'conditions': [
1108 ['linux_use_tcmalloc==1', { 1108 ['linux_use_tcmalloc==1', {
1109 'dependencies': [ 1109 'dependencies': [
1110 '../base/allocator/allocator.gyp:allocator', 1110 '../base/allocator/allocator.gyp:allocator',
1111 ], 1111 ],
1112 }], 1112 }],
1113 ], 1113 ],
1114 } 1114 }
1115 ], 1115 ],
1116 }], 1116 }],
1117 # Special target to wrap a gtest_target_type==shared_library 1117 # Special target to wrap a gtest_target_type==shared_library
1118 # content_unittests into an android apk for execution. 1118 # content_unittests into an android apk for execution.
1119 # See base.gyp for TODO(jrg)s about this strategy. 1119 # See base.gyp for TODO(jrg)s about this strategy.
1120 ['OS == "android" and gtest_target_type == "shared_library"', { 1120 ['OS == "android" and gtest_target_type == "shared_library"', {
1121 'targets': [ 1121 'targets': [
1122 { 1122 {
1123 'target_name': 'content_unittests_apk', 1123 'target_name': 'content_unittests_apk',
1124 'type': 'none', 1124 'type': 'none',
1125 'dependencies': [ 1125 'dependencies': [
1126 'content_java', 1126 'content.gyp:content_java',
1127 'content_unittests', 1127 'content_unittests',
1128 ], 1128 ],
1129 'variables': { 1129 'variables': {
1130 'test_suite_name': 'content_unittests', 1130 'test_suite_name': 'content_unittests',
1131 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)content_u nittests<(SHARED_LIB_SUFFIX)', 1131 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)content_u nittests<(SHARED_LIB_SUFFIX)',
1132 }, 1132 },
1133 'includes': [ '../build/apk_test.gypi' ], 1133 'includes': [ '../build/apk_test.gypi' ],
1134 }, 1134 },
1135 { 1135 {
1136 'target_name': 'content_browsertests_apk', 1136 'target_name': 'content_browsertests_apk',
1137 'type': 'none', 1137 'type': 'none',
1138 'dependencies': [ 1138 'dependencies': [
1139 'content.gyp:content_java',
1139 'content_browsertests', 1140 'content_browsertests',
1140 'content_java',
1141 'content_java_test_support', 1141 'content_java_test_support',
1142 'content_shell_java', 1142 'content_shell_java',
1143 ], 1143 ],
1144 'variables': { 1144 'variables': {
1145 'apk_name': 'content_browsertests', 1145 'apk_name': 'content_browsertests',
1146 'java_in_dir': 'shell/android/browsertests_apk', 1146 'java_in_dir': 'shell/android/browsertests_apk',
1147 'resource_dir': 'shell/android/browsertests_apk/res', 1147 'resource_dir': 'shell/android/browsertests_apk/res',
1148 'native_lib_target': 'libcontent_browsertests', 1148 'native_lib_target': 'libcontent_browsertests',
1149 'additional_input_paths': ['<(PRODUCT_DIR)/content_shell/assets/cont ent_shell.pak'], 1149 'additional_input_paths': ['<(PRODUCT_DIR)/content_shell/assets/cont ent_shell.pak'],
1150 'asset_location': '<(ant_build_out)/content_shell/assets', 1150 'asset_location': '<(ant_build_out)/content_shell/assets',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 'jni_gen_package': 'content/public/test', 1182 'jni_gen_package': 'content/public/test',
1183 }, 1183 },
1184 'includes': [ '../build/jni_generator.gypi' ], 1184 'includes': [ '../build/jni_generator.gypi' ],
1185 }, 1185 },
1186 { 1186 {
1187 'target_name': 'content_java_test_support', 1187 'target_name': 'content_java_test_support',
1188 'type': 'none', 1188 'type': 'none',
1189 'dependencies': [ 1189 'dependencies': [
1190 '../base/base.gyp:base', 1190 '../base/base.gyp:base',
1191 '../base/base.gyp:base_java_test_support', 1191 '../base/base.gyp:base_java_test_support',
1192 'content_common', 1192 'content.gyp:content_common',
1193 'content_java', 1193 'content.gyp:content_java',
1194 ], 1194 ],
1195 'variables': { 1195 'variables': {
1196 'java_in_dir': '../content/public/test/android/javatests', 1196 'java_in_dir': '../content/public/test/android/javatests',
1197 }, 1197 },
1198 'includes': [ '../build/java.gypi' ], 1198 'includes': [ '../build/java.gypi' ],
1199 }, 1199 },
1200 { 1200 {
1201 'target_name': 'content_shell_test_apk', 1201 'target_name': 'content_shell_test_apk',
1202 'type': 'none', 1202 'type': 'none',
1203 'dependencies': [ 1203 'dependencies': [
1204 'content_java', 1204 'content.gyp:content_java',
1205 'content_java_test_support', 1205 'content_java_test_support',
1206 'content_shell_apk_java', 1206 'content_shell_apk_java',
1207 '../base/base.gyp:base_java', 1207 '../base/base.gyp:base_java',
1208 '../base/base.gyp:base_javatests', 1208 '../base/base.gyp:base_javatests',
1209 '../base/base.gyp:base_java_test_support', 1209 '../base/base.gyp:base_java_test_support',
1210 '../media/media.gyp:media_java', 1210 '../media/media.gyp:media_java',
1211 '../media/media.gyp:media_test_support', 1211 '../media/media.gyp:media_test_support',
1212 '../net/net.gyp:net_java', 1212 '../net/net.gyp:net_java',
1213 '../net/net.gyp:net_javatests', 1213 '../net/net.gyp:net_javatests',
1214 '../tools/android/forwarder2/forwarder.gyp:forwarder2', 1214 '../tools/android/forwarder2/forwarder.gyp:forwarder2',
1215 ], 1215 ],
1216 'variables': { 1216 'variables': {
1217 'apk_name': 'ContentShellTest', 1217 'apk_name': 'ContentShellTest',
1218 'java_in_dir': 'shell/android/javatests', 1218 'java_in_dir': 'shell/android/javatests',
1219 'resource_dir': 'shell/android/shell_apk/res', 1219 'resource_dir': 'shell/android/shell_apk/res',
1220 'additional_src_dirs': ['public/android/javatests/',], 1220 'additional_src_dirs': ['public/android/javatests/',],
1221 'is_test_apk': 1, 1221 'is_test_apk': 1,
1222 }, 1222 },
1223 'includes': [ '../build/java_apk.gypi' ], 1223 'includes': [ '../build/java_apk.gypi' ],
1224 }, 1224 },
1225 ], 1225 ],
1226 }], 1226 }],
1227 ], 1227 ],
1228 } 1228 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698