In particular: * It doesn't use the same base64 decoding options. * It looks like it's not case-insensitive. It should probably reuse code from DataURLDecoder.cpp or invoke that directly.
I guess this is about: https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WebCore/page/Page.cpp#2181-2209 And to use https://searchfox.org/wubkat/source/Source/WebCore/platform/network/DataURLDecoder.cpp
<rdar://problem/108116260>
Anne, this part is surprising too. https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WebCore/platform/network/DataURLDecoder.cpp#93-94 There is https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WTF/wtf/URL.cpp#370-386 used by decode https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WebCore/platform/network/DataURLDecoder.cpp#197-203 but which seems to be used only in this case https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp#652-666 The other decode is used at two places https://searchfox.org/wubkat/source/Source/WebCore/loader/ResourceLoader.cpp#297 https://searchfox.org/wubkat/source/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp#343 And there is also https://searchfox.org/wubkat/rev/82caf34be7c823fc4fddd90cc167a6315bffebfd/Source/WTF/wtf/URL.cpp#1083-1101