summaryrefslogtreecommitdiffstats
path: root/WebCore/html/Blob.h
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-08-24 07:50:47 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-08-24 07:50:47 -0700
commitc570a147a94b126d4172c30914f53dea17b4c8f5 (patch)
tree99c11741887d21f65d67c5bbdab58b7ba2a5d4d5 /WebCore/html/Blob.h
parentc952714bc6809a5ad081baaf9fcc04107b92ea3f (diff)
parent6c65f16005b91786c2b7c0791b9ea1dd684d57f4 (diff)
downloadexternal_webkit-c570a147a94b126d4172c30914f53dea17b4c8f5.zip
external_webkit-c570a147a94b126d4172c30914f53dea17b4c8f5.tar.gz
external_webkit-c570a147a94b126d4172c30914f53dea17b4c8f5.tar.bz2
Merge changes I2e7e2317,Ie6ccde3a,I3e89f231,Id06ff339,I268dfe7d,Icaf70d9f,Ie234f1a0,Iff5c7aaa,I69b75bf0,Ifbf384f4
* changes: Merge WebKit at r65615 : Update WebKit revision number Merge WebKit at r65615 : Ignore http/tests/appcache/origin-quota.html Merge WebKit at r65615 : Android-specific results for Geolocation tests. Merge WebKit at r65615 : Fix GraphicsContext and ImageBuffer. Merge WebKit at r65615 : processingUserGesture() is now static. Merge WebKit at r65615 : UTF8String() becomes utf8(). Merge WebKit at r65615 : Fix include paths for string headers. Merge WebKit at r65615 : Fix Makefiles. Merge WebKit at r65615 : Fix conflicts. Merge WebKit at r65615 : Initial merge by git.
Diffstat (limited to 'WebCore/html/Blob.h')
-rw-r--r--WebCore/html/Blob.h36
1 files changed, 27 insertions, 9 deletions
diff --git a/WebCore/html/Blob.h b/WebCore/html/Blob.h
index 7afc7a0..374a401 100644
--- a/WebCore/html/Blob.h
+++ b/WebCore/html/Blob.h
@@ -32,39 +32,45 @@
#define Blob_h
#include "BlobItem.h"
+#include "KURL.h"
#include "PlatformString.h"
+#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
namespace WebCore {
+class BlobData;
class ScriptExecutionContext;
class Blob : public RefCounted<Blob> {
public:
+ // FIXME: To be removed when we switch to using BlobData.
static PassRefPtr<Blob> create(ScriptExecutionContext* scriptExecutionContext, const String& type, const BlobItemList& items)
{
return adoptRef(new Blob(scriptExecutionContext, type, items));
}
- // FIXME: Deprecated method. This is called only from
- // bindings/v8/SerializedScriptValue.cpp and the usage in it will become invalid once
- // BlobBuilder is introduced.
- static PassRefPtr<Blob> create(ScriptExecutionContext* scriptExecutionContext, const String& path)
+ // For deserialization.
+ static PassRefPtr<Blob> create(ScriptExecutionContext* scriptExecutionContext, const KURL& srcURL, const String& type, long long size)
{
- return adoptRef(new Blob(scriptExecutionContext, path));
+ return adoptRef(new Blob(scriptExecutionContext, srcURL, type, size));
}
- virtual ~Blob() { }
+ virtual ~Blob();
+ void contextDestroyed();
+
+ const KURL& url() const { return m_url; }
unsigned long long size() const;
const String& type() const { return m_type; }
virtual bool isFile() const { return false; }
- // FIXME: Deprecated method.
+ // FIXME: To be removed when we switch to using BlobData.
const String& path() const;
+ // FIXME: To be removed when we switch to using BlobData.
const BlobItemList& items() const { return m_items; }
#if ENABLE(BLOB)
@@ -72,14 +78,26 @@ public:
#endif
protected:
+ // FIXME: To be removed when we switch to using BlobData.
Blob(ScriptExecutionContext*, const String& type, const BlobItemList&);
Blob(ScriptExecutionContext*, const PassRefPtr<BlobItem>&);
-
- // FIXME: Deprecated constructor. See also the comment for Blob::create(path).
Blob(ScriptExecutionContext*, const String& path);
+ Blob(ScriptExecutionContext*, PassOwnPtr<BlobData>, long long size);
+
+ // For deserialization.
+ Blob(ScriptExecutionContext*, const KURL& srcURL, const String& type, long long size);
+
+ // FIXME: To be removed when we switch to using BlobData.
BlobItemList m_items;
+
+ // This is an internal URL referring to the blob data associated with this object.
+ // It is only used by FileReader to read the blob data via loading from the blob URL resource.
+ KURL m_url;
+
+ ScriptExecutionContext* m_scriptExecutionContext;
String m_type;
+ long long m_size;
};
} // namespace WebCore