⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formdata.h

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 H
字号:
/* * Copyright (C) 2004, 2006, 2008 Apple Inc. All rights reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */#ifndef FormData_h#define FormData_h#include "PlatformString.h"#include <wtf/RefCounted.h>#include <wtf/Vector.h>namespace WebCore {class ChromeClient;class FormDataElement {public:    FormDataElement() : m_type(data) { }    FormDataElement(const Vector<char>& array) : m_type(data), m_data(array) { }    FormDataElement(const String& filename, bool shouldGenerateFile) : m_type(encodedFile), m_filename(filename), m_shouldGenerateFile(shouldGenerateFile) { }    enum { data, encodedFile } m_type;    Vector<char> m_data;    String m_filename;    String m_generatedFilename;    bool m_shouldGenerateFile;};inline bool operator==(const FormDataElement& a, const FormDataElement& b){    if (&a == &b)        return true;        if (a.m_type != b.m_type)        return false;    if (a.m_data != b.m_data)        return false;    if (a.m_filename != b.m_filename)        return false;    return true;} inline bool operator!=(const FormDataElement& a, const FormDataElement& b){    return !(a == b);} class FormData : public RefCounted<FormData> {public:    static PassRefPtr<FormData> create();    static PassRefPtr<FormData> create(const void*, size_t);    static PassRefPtr<FormData> create(const CString&);    static PassRefPtr<FormData> create(const Vector<char>&);    PassRefPtr<FormData> copy() const;    PassRefPtr<FormData> deepCopy() const;    ~FormData();        void appendData(const void* data, size_t);    void appendFile(const String& filename, bool shouldGenerateFile = false);    void flatten(Vector<char>&) const; // omits files    String flattenToString() const; // omits files    bool isEmpty() const { return m_elements.isEmpty(); }    const Vector<FormDataElement>& elements() const { return m_elements; }    void generateFiles(ChromeClient*);    void removeGeneratedFilesIfNeeded();    bool alwaysStream() const { return m_alwaysStream; }    void setAlwaysStream(bool alwaysStream) { m_alwaysStream = alwaysStream; }private:    FormData();    FormData(const FormData&);         Vector<FormDataElement> m_elements;    bool m_hasGeneratedFiles;    bool m_alwaysStream;};inline bool operator==(const FormData& a, const FormData& b){    return a.elements() == b.elements();}inline bool operator!=(const FormData& a, const FormData& b){    return a.elements() != b.elements();}} // namespace WebCore#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -