CachedResourceRequest.h [plain text]
#ifndef CachedResourceRequest_h
#define CachedResourceRequest_h
#include "DocumentLoader.h"
#include "Element.h"
#include "ResourceLoadPriority.h"
#include "ResourceLoaderOptions.h"
#include "ResourceRequest.h"
#include <wtf/RefPtr.h>
#include <wtf/text/AtomicString.h>
namespace WebCore {
class Document;
class CachedResourceRequest {
public:
enum DeferOption { NoDefer, DeferredByClient };
explicit CachedResourceRequest(const ResourceRequest&, const String& charset = String(), Optional<ResourceLoadPriority> = Nullopt);
CachedResourceRequest(const ResourceRequest&, const ResourceLoaderOptions&);
CachedResourceRequest(const ResourceRequest&, Optional<ResourceLoadPriority>);
~CachedResourceRequest();
ResourceRequest& mutableResourceRequest() { return m_resourceRequest; }
const ResourceRequest& resourceRequest() const { return m_resourceRequest; }
const String& charset() const { return m_charset; }
void setCharset(const String& charset) { m_charset = charset; }
const ResourceLoaderOptions& options() const { return m_options; }
void setOptions(const ResourceLoaderOptions& options) { m_options = options; }
const Optional<ResourceLoadPriority>& priority() const { return m_priority; }
bool forPreload() const { return m_forPreload; }
void setForPreload(bool forPreload) { m_forPreload = forPreload; }
DeferOption defer() const { return m_defer; }
void setDefer(DeferOption defer) { m_defer = defer; }
void setInitiator(PassRefPtr<Element>);
void setInitiator(const AtomicString& name);
const AtomicString& initiatorName() const;
void setInitiator(DocumentLoader&);
DocumentLoader* initiatingDocumentLoader() const { return m_initiatingDocumentLoader.get(); }
private:
ResourceRequest m_resourceRequest;
String m_charset;
ResourceLoaderOptions m_options;
Optional<ResourceLoadPriority> m_priority;
bool m_forPreload;
DeferOption m_defer;
RefPtr<Element> m_initiatorElement;
AtomicString m_initiatorName;
RefPtr<DocumentLoader> m_initiatingDocumentLoader;
};
}
#endif