Index: Source/modules/webdatabase/SQLError.h |
diff --git a/Source/modules/webdatabase/SQLError.h b/Source/modules/webdatabase/SQLError.h |
index fe024b09ac6997039396393822529688d2ec430a..39094705028c08e4034562d890847335dcc3af7c 100644 |
--- a/Source/modules/webdatabase/SQLError.h |
+++ b/Source/modules/webdatabase/SQLError.h |
@@ -35,17 +35,41 @@ |
namespace WebCore { |
-class SQLError : public ThreadSafeRefCounted<SQLError>, public ScriptWrappable { |
+class SQLErrorData { |
public: |
- static PassRefPtr<SQLError> create(unsigned code, const String& message) { return adoptRef(new SQLError(code, message)); } |
- static PassRefPtr<SQLError> create(unsigned code, const char* message, int sqliteCode, const char* sqliteMessage) |
+ static PassOwnPtr<SQLErrorData> create(unsigned code, const String& message) |
+ { |
+ return adoptPtr(new SQLErrorData(code, message)); |
+ } |
+ |
+ static PassOwnPtr<SQLErrorData> create(unsigned code, const char* message, int sqliteCode, const char* sqliteMessage) |
{ |
return create(code, String::format("%s (%d %s)", message, sqliteCode, sqliteMessage)); |
} |
+ static PassOwnPtr<SQLErrorData> create(const SQLErrorData& data) |
+ { |
+ return create(data.code(), data.message()); |
+ } |
+ |
unsigned code() const { return m_code; } |
String message() const { return m_message.isolatedCopy(); } |
+private: |
+ SQLErrorData(unsigned code, const String& message) : m_code(code), m_message(message.isolatedCopy()) { } |
+ |
+ unsigned m_code; |
+ String m_message; |
+}; |
+ |
+class SQLError : public ThreadSafeRefCountedWillBeGarbageCollectedFinalized<SQLError>, public ScriptWrappable { |
+public: |
+ static PassRefPtrWillBeRawPtr<SQLError> create(const SQLErrorData& data) { return adoptRefWillBeNoop(new SQLError(data)); } |
+ void trace(Visitor*) { } |
+ |
+ unsigned code() const { return m_code; } |
+ String message() const { return m_message; } |
+ |
enum SQLErrorCode { |
UNKNOWN_ERR = 0, |
DATABASE_ERR = 1, |
@@ -62,7 +86,7 @@ public: |
static const char versionErrorMessage[]; |
private: |
- SQLError(unsigned code, const String& message) : m_code(code), m_message(message.isolatedCopy()) |
+ SQLError(const SQLErrorData& data) : m_code(data.code()), m_message(data.message()) |
haraken
2014/03/25 11:50:05
Add 'explicit'.
tkent
2014/03/25 22:07:13
Done.
|
{ |
ScriptWrappable::init(this); |
} |