Diff
Modified: trunk/Source/WebCore/ChangeLog (221935 => 221936)
--- trunk/Source/WebCore/ChangeLog 2017-09-12 19:46:41 UTC (rev 221935)
+++ trunk/Source/WebCore/ChangeLog 2017-09-12 20:03:43 UTC (rev 221936)
@@ -1,3 +1,15 @@
+2017-09-12 Sam Weinig <[email protected]>
+
+ Gtk build fix for "Finish off the FormData implementation" - https://bugs.webkit.org/show_bug.cgi?id=176659
+
+ * fileapi/Blob.cpp:
+ (WebCore::Blob::Blob):
+ * fileapi/Blob.h:
+ * fileapi/File.cpp:
+ (WebCore::File::File):
+
+ Replace copy constructor with a tagged constructor.
+
2017-09-12 Dean Jackson <[email protected]>
[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
Modified: trunk/Source/WebCore/fileapi/Blob.cpp (221935 => 221936)
--- trunk/Source/WebCore/fileapi/Blob.cpp 2017-09-12 19:46:41 UTC (rev 221935)
+++ trunk/Source/WebCore/fileapi/Blob.cpp 2017-09-12 20:03:43 UTC (rev 221936)
@@ -79,14 +79,6 @@
ThreadableBlobRegistry::registerBlobURL(m_internalURL, { }, { });
}
-Blob::Blob(const Blob& blob)
- : m_internalURL(BlobURL::createInternalURL())
- , m_type(blob.type())
- , m_size(blob.size())
-{
- ThreadableBlobRegistry::registerBlobURL(m_internalURL, { BlobPart(blob.url()) } , m_type);
-}
-
Blob::Blob(Vector<BlobPartVariant>&& blobPartVariants, const BlobPropertyBag& propertyBag)
: m_internalURL(BlobURL::createInternalURL())
, m_type(normalizedContentType(propertyBag.type))
@@ -114,6 +106,14 @@
ThreadableBlobRegistry::registerBlobURL(m_internalURL, WTFMove(blobParts), contentType);
}
+Blob::Blob(ReferencingExistingBlobConstructor, const Blob& blob)
+ : m_internalURL(BlobURL::createInternalURL())
+ , m_type(blob.type())
+ , m_size(blob.size())
+{
+ ThreadableBlobRegistry::registerBlobURL(m_internalURL, { BlobPart(blob.url()) } , m_type);
+}
+
Blob::Blob(DeserializationContructor, const URL& srcURL, const String& type, long long size, const String& fileBackedPath)
: m_type(normalizedContentType(type))
, m_size(size)
Modified: trunk/Source/WebCore/fileapi/Blob.h (221935 => 221936)
--- trunk/Source/WebCore/fileapi/Blob.h 2017-09-12 19:46:41 UTC (rev 221935)
+++ trunk/Source/WebCore/fileapi/Blob.h 2017-09-12 20:03:43 UTC (rev 221936)
@@ -98,10 +98,12 @@
protected:
Blob();
- Blob(const Blob&);
Blob(Vector<BlobPartVariant>&&, const BlobPropertyBag&);
Blob(Vector<uint8_t>&&, const String& contentType);
+ enum ReferencingExistingBlobConstructor { referencingExistingBlobConstructor };
+ Blob(ReferencingExistingBlobConstructor, const Blob&);
+
enum UninitializedContructor { uninitializedContructor };
Blob(UninitializedContructor);
Modified: trunk/Source/WebCore/fileapi/File.cpp (221935 => 221936)
--- trunk/Source/WebCore/fileapi/File.cpp 2017-09-12 19:46:41 UTC (rev 221935)
+++ trunk/Source/WebCore/fileapi/File.cpp 2017-09-12 20:03:43 UTC (rev 221936)
@@ -86,7 +86,7 @@
}
File::File(const Blob& blob, const String& name)
- : Blob(blob)
+ : Blob(referencingExistingBlobConstructor, blob)
, m_name(name)
{
ASSERT(!blob.isFile());
@@ -93,7 +93,7 @@
}
File::File(const File& file, const String& name)
- : Blob(file)
+ : Blob(referencingExistingBlobConstructor, file)
, m_path(file.path())
, m_relativePath(file.relativePath())
, m_name(!name.isNull() ? name : file.name())