static void encodeElement(Encoder& encoder, const FormDataElement& element) { encoder.encodeUInt32(element.m_type); switch (element.m_type) { case FormDataElement::data: encoder.encodeBytes(reinterpret_cast<const uint8_t*>(element.m_data.data()), element.m_data.size()); return; case FormDataElement::encodedFile: encoder.encodeString(element.m_filename); encoder.encodeString(element.m_generatedFilename); encoder.encodeBool(element.m_shouldGenerateFile); #if ENABLE(BLOB) encoder.encodeInt64(element.m_fileStart); encoder.encodeInt64(element.m_fileLength); encoder.encodeDouble(element.m_expectedFileModificationTime); #else encoder.encodeInt64(0); encoder.encodeInt64(0); encoder.encodeDouble(invalidFileTime()); #endif return; #if ENABLE(BLOB) case FormDataElement::encodedBlob: encoder.encodeString(element.m_url.string()); return; #endif } ASSERT_NOT_REACHED(); }
static void encodeElement(Encoder& encoder, const FormDataElement& element) { encoder.encodeUInt32(static_cast<uint32_t>(element.m_type)); switch (element.m_type) { case FormDataElement::Type::Data: encoder.encodeBytes(reinterpret_cast<const uint8_t*>(element.m_data.data()), element.m_data.size()); return; case FormDataElement::Type::EncodedFile: encoder.encodeString(element.m_filename); encoder.encodeString(element.m_generatedFilename); encoder.encodeBool(element.m_shouldGenerateFile); encoder.encodeInt64(element.m_fileStart); encoder.encodeInt64(element.m_fileLength); encoder.encodeDouble(element.m_expectedFileModificationTime); return; case FormDataElement::Type::EncodedBlob: encoder.encodeString(element.m_url.string()); return; } ASSERT_NOT_REACHED(); }