| Index: Source/WebCore/loader/DocumentLoader.cpp
|
| diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp
|
| index 44e265c0529d9a3ea241c9bccb2e0ae22f91f5d7..b11064d9272bd67fbd042c4d9207eebdc327390b 100644
|
| --- a/Source/WebCore/loader/DocumentLoader.cpp
|
| +++ b/Source/WebCore/loader/DocumentLoader.cpp
|
| @@ -35,6 +35,7 @@
|
| #include "CachedPage.h"
|
| #include "CachedResourceLoader.h"
|
| #include "DOMWindow.h"
|
| +#include "DataUriResource.h"
|
| #include "Document.h"
|
| #include "DocumentParser.h"
|
| #include "DocumentWriter.h"
|
| @@ -60,6 +61,7 @@
|
| #include "SubresourceLoader.h"
|
| #include "TextResourceDecoder.h"
|
| #include "WebCoreMemoryInstrumentation.h"
|
| +#include <public/Platform.h>
|
| #include <wtf/Assertions.h>
|
| #include <wtf/MemoryInstrumentationHashMap.h>
|
| #include <wtf/MemoryInstrumentationHashSet.h>
|
| @@ -979,6 +981,21 @@ bool DocumentLoader::scheduleArchiveLoad(ResourceLoader* loader, const ResourceR
|
| return m_archive;
|
| }
|
|
|
| +bool DocumentLoader::scheduleDataUriLoad(ResourceLoader* loader, const ResourceRequest& request)
|
| +{
|
| + if (request.url().protocolIsData()) {
|
| + String mimetype, charset;
|
| + Vector<char> data;
|
| + if (ResourceHandle::parseDataUrl(request.url(), mimetype, charset, data) && !data.isEmpty()) {
|
| + RefPtr<DataUriResource> resource = DataUriResource::create(SharedBuffer::adoptVector(data), request.url(), mimetype, charset, ResourceResponse(request.url(), mimetype, data.size(), charset, String()));
|
| + m_pendingSubstituteResources.set(loader, resource);
|
| + deliverSubstituteResourcesAfterDelay();
|
| + return true;
|
| + }
|
| + }
|
| + return false;
|
| +}
|
| +
|
| void DocumentLoader::setTitle(const StringWithDirection& title)
|
| {
|
| if (m_pageTitle == title)
|
|
|