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

Issue 2146643002: [Cronet] Integrate CrNet functionality into Cronet on iOS. (Closed)

Created:
4 years, 5 months ago by mef
Modified:
4 years, 2 months ago
CC:
chromium-reviews, blundell+watchlist_chromium.org, cbentzel+watch_chromium.org, sdefresne+watchlist_chromium.org, droger+watchlist_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Cronet] Integrate CrNet functionality into Cronet on iOS. - Add NSURLSession handling to match CrNet. - Add GetGlobalMetricsDeltas to match Android API. - Add tests for new functionality. BUG=654177 Committed: https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2 Cr-Commit-Position: refs/heads/master@{#426609}

Patch Set 1 #

Patch Set 2 : Added [un]registerHttpProtocolHandler. #

Patch Set 3 : Share Cronet between Http and Bidirectional Stream tests. #

Patch Set 4 : Define CronetEngine and CronetEngineBuilder interfaces. #

Patch Set 5 : Cleanup comments. #

Patch Set 6 : typos. #

Patch Set 7 : Sync #

Patch Set 8 : Add GetGlobalMetricsDeltas method. #

Patch Set 9 : Added prototype CronetEngine.swift #

Patch Set 10 : CronetEngineBuilder -> CronetEngineConfiguration. #

Patch Set 11 : Remove prototype CronetEngine from this CL. #

Total comments: 18

Patch Set 12 : Sync #

Patch Set 13 : Address Andrei's comments. #

Total comments: 10

Patch Set 14 : Address Andrei's comments, factor out CronetTestSupport. #

Patch Set 15 : Sync #

Patch Set 16 : Bypass gn check for CronetTestSupport header. #

Patch Set 17 : Add setUserAgent:partial: and EmbeddedTestServer. #

Patch Set 18 : CronetTestFramework work in progress. #

Patch Set 19 : Sync #

Patch Set 20 : Tests pass, need more cleanup. #

Patch Set 21 : Sync #

Patch Set 22 : Sync #

Patch Set 23 : Add Localizable.strings for Accept-Language and more http tests. #

Patch Set 24 : Separate BUILD.gn for cronet_test. #

Patch Set 25 : Sync and self-review. #

Patch Set 26 : Simplify TestServer. #

Total comments: 28

Patch Set 27 : Address Andrei's comments. #

Patch Set 28 : Fix gn header dependencies warnings. #

Total comments: 1

Patch Set 29 : Remove cronet_test_bundle_data target and use data bundled with net_test_support. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+522 lines, -146 lines) Patch
M components/cronet/ios/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +73 lines, -35 lines 0 comments Download
M components/cronet/ios/Cronet.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 4 chunks +54 lines, -3 lines 0 comments Download
M components/cronet/ios/Cronet.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 7 chunks +162 lines, -3 lines 0 comments Download
A components/cronet/ios/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +4 lines, -0 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/am.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ar.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/bg.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/bn.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ca.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/cs.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/da.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/de.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/el.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/en-GB.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/en.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/es-419.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/es.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/et.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/fa.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/fi.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/fil.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/fr.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/gu.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/he.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/hi.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/hr.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/hu.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/id.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/it.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ja.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/kn.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ko.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/lt.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/lv.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ml.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/mr.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ms.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/nb.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/nl.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/pl.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/pt-BR.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/pt-PT.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/pt.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ro.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ru.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/sk.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/sl.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/sr.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/sv.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/sw.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/ta.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/te.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/th.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/tr.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/uk.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/vi.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/zh-Hans.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/zh-Hant.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/Localization/zh.lproj/Localizable.strings View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
A + components/cronet/ios/Resources/README View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 0 chunks +-1 lines, --1 lines 0 comments Download
M components/cronet/ios/cronet_environment.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 8 chunks +19 lines, -3 lines 0 comments Download
M components/cronet/ios/cronet_environment.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 8 chunks +53 lines, -12 lines 0 comments Download
A components/cronet/ios/test/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 chunk +31 lines, -0 lines 0 comments Download
M components/cronet/ios/test/cronet_bidirectional_stream_test.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 3 chunks +34 lines, -42 lines 0 comments Download
A + components/cronet/ios/test/cronet_http_test.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 8 chunks +58 lines, -99 lines 0 comments Download
M components/cronet/ios/test/quic_test_server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 chunks +5 lines, -5 lines 0 comments Download
A components/cronet/ios/test/test_server.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +22 lines, -0 lines 0 comments Download
A components/cronet/ios/test/test_server.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +63 lines, -0 lines 0 comments Download

Messages

Total messages: 50 (32 generated)
mef
FYI, WIP.
4 years, 5 months ago (2016-07-13 20:40:10 UTC) #2
mef
Hi Andrei, PTAL when you have a chance. I think it is in a reasonably ...
4 years, 4 months ago (2016-08-08 20:59:16 UTC) #9
kapishnikov
https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/BUILD.gn File components/cronet/ios/BUILD.gn (right): https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/BUILD.gn#newcode87 components/cronet/ios/BUILD.gn:87: "cronet_c_for_grpc.h", "cronet_c_for_grpc.h" & "Cronet.h" are included in source_set("cronet_sources"). Should ...
4 years, 4 months ago (2016-08-10 17:47:41 UTC) #10
mef
https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/BUILD.gn File components/cronet/ios/BUILD.gn (right): https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/BUILD.gn#newcode87 components/cronet/ios/BUILD.gn:87: "cronet_c_for_grpc.h", On 2016/08/10 17:47:40, kapishnikov wrote: > "cronet_c_for_grpc.h" & ...
4 years, 4 months ago (2016-08-11 21:22:16 UTC) #12
kapishnikov
https://codereview.chromium.org/2146643002/diff/240001/components/cronet/ios/Cronet.h File components/cronet/ios/Cronet.h (right): https://codereview.chromium.org/2146643002/diff/240001/components/cronet/ios/Cronet.h#newcode42 components/cronet/ios/Cronet.h:42: + (void)setRequestFilterBlock:(RequestFilterBlock)block; We should mention in the doc whether ...
4 years, 4 months ago (2016-08-12 17:19:31 UTC) #16
mef
Thanks, PTAL. https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/Cronet.mm File components/cronet/ios/Cronet.mm (right): https://codereview.chromium.org/2146643002/diff/200001/components/cronet/ios/Cronet.mm#newcode33 components/cronet/ios/Cronet.mm:33: std::unique_ptr<net::CertVerifier> gMockCertVerifierForTesting; On 2016/08/10 17:47:41, kapishnikov wrote: ...
4 years, 3 months ago (2016-08-26 14:58:07 UTC) #17
mef
Andrei, PTAL. I've removed CronetTestSupport as we need TestCertVerifier and HostMappingRules in Cronet.framework to support ...
4 years, 2 months ago (2016-10-18 14:14:28 UTC) #31
kapishnikov
https://codereview.chromium.org/2146643002/diff/500001/components/cronet/ios/Cronet.h File components/cronet/ios/Cronet.h (right): https://codereview.chromium.org/2146643002/diff/500001/components/cronet/ios/Cronet.h#newcode29 components/cronet/ios/Cronet.h:29: // |userAgent| is expected to be the user agent ...
4 years, 2 months ago (2016-10-19 18:28:53 UTC) #36
sdefresne
What do you want me to review?
4 years, 2 months ago (2016-10-19 19:06:14 UTC) #37
mef
Andrei: PTAL Sylivain: Could you OWNER-approve use of //ios/net in Cronet.mm and //ios/web in cronet_enviornment.cc ...
4 years, 2 months ago (2016-10-19 20:12:59 UTC) #38
kapishnikov
The change looks good. We can address the open issues in a follow up CL. ...
4 years, 2 months ago (2016-10-19 21:12:29 UTC) #39
sdefresne
I won't have time to review today. Can you ping me if I have not ...
4 years, 2 months ago (2016-10-19 22:02:43 UTC) #40
mef
On 2016/10/19 22:02:43, sdefresne wrote: > I won't have time to review today. Can you ...
4 years, 2 months ago (2016-10-19 22:23:03 UTC) #41
sdefresne
> Sylvain: Could you OWNER-approve use of //ios/net in Cronet.mm and //ios/web in > cronet_enviornment.cc ...
4 years, 2 months ago (2016-10-20 19:00:43 UTC) #42
mef
On 2016/10/20 19:00:43, sdefresne wrote: > > Sylvain: Could you OWNER-approve use of //ios/net in ...
4 years, 2 months ago (2016-10-20 19:30:08 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2146643002/560001
4 years, 2 months ago (2016-10-20 20:30:52 UTC) #46
commit-bot: I haz the power
Committed patchset #29 (id:560001)
4 years, 2 months ago (2016-10-20 21:48:39 UTC) #48
commit-bot: I haz the power
4 years, 2 months ago (2016-10-21 13:23:13 UTC) #50
Message was sent while issue was closed.
Patchset 29 (id:??) landed as
https://crrev.com/254963db8e5f58c0d1279cf29bb1f7d48043cad2
Cr-Commit-Position: refs/heads/master@{#426609}

Powered by Google App Engine
This is Rietveld 408576698