Gtk build fix for "Finish off the FormData implementation" - https://bugs.webkit...
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Sep 2017 20:03:43 +0000 (20:03 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Sep 2017 20:03:43 +0000 (20:03 +0000)
* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
* fileapi/Blob.h:
* fileapi/File.cpp:
(WebCore::File::File):

    Replace copy constructor with a tagged constructor.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221936 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/fileapi/Blob.cpp
Source/WebCore/fileapi/Blob.h
Source/WebCore/fileapi/File.cpp

index 92cbe80..7efa8af 100644 (file)
@@ -1,3 +1,15 @@
+2017-09-12  Sam Weinig  <sam@webkit.org>
+
+        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  <dino@apple.com>
 
         [WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
index 8cc2e80..ef28d57 100644 (file)
@@ -79,14 +79,6 @@ Blob::Blob()
     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 @@ Blob::Blob(Vector<uint8_t>&& data, const String& contentType)
     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)
index 023b9d3..9f42423 100644 (file)
@@ -98,10 +98,12 @@ public:
 
 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);
 
index dbc74d3..3eb2884 100644 (file)
@@ -86,14 +86,14 @@ File::File(Vector<BlobPartVariant>&& blobPartVariants, const String& filename, c
 }
 
 File::File(const Blob& blob, const String& name)
-    : Blob(blob)
+    : Blob(referencingExistingBlobConstructor, blob)
     , m_name(name)
 {
     ASSERT(!blob.isFile());
 }
 
 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())