summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp42
1 files changed, 34 insertions, 8 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp
index 5755fd5c7..a23e7e84b 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitCredential.cpp
@@ -37,15 +37,41 @@ struct _WebKitCredential {
CString password;
};
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_CREDENTIAL_PERSISTENCE_NONE, WebCore::CredentialPersistenceNone);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_CREDENTIAL_PERSISTENCE_FOR_SESSION, WebCore::CredentialPersistenceForSession);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_CREDENTIAL_PERSISTENCE_PERMANENT, WebCore::CredentialPersistencePermanent);
-
G_DEFINE_BOXED_TYPE(WebKitCredential, webkit_credential, webkit_credential_copy, webkit_credential_free)
+static inline WebKitCredentialPersistence toWebKitCredentialPersistence(WebCore::CredentialPersistence corePersistence)
+{
+ switch (corePersistence) {
+ case WebCore::CredentialPersistenceNone:
+ return WEBKIT_CREDENTIAL_PERSISTENCE_NONE;
+ case WebCore::CredentialPersistenceForSession:
+ return WEBKIT_CREDENTIAL_PERSISTENCE_FOR_SESSION;
+ case WebCore::CredentialPersistencePermanent:
+ return WEBKIT_CREDENTIAL_PERSISTENCE_PERMANENT;
+ default:
+ ASSERT_NOT_REACHED();
+ return WEBKIT_CREDENTIAL_PERSISTENCE_NONE;
+ }
+}
+
+static inline WebCore::CredentialPersistence toWebCoreCredentialPersistence(WebKitCredentialPersistence kitPersistence)
+{
+ switch (kitPersistence) {
+ case WEBKIT_CREDENTIAL_PERSISTENCE_NONE:
+ return WebCore::CredentialPersistenceNone;
+ case WEBKIT_CREDENTIAL_PERSISTENCE_FOR_SESSION:
+ return WebCore::CredentialPersistenceForSession;
+ case WEBKIT_CREDENTIAL_PERSISTENCE_PERMANENT:
+ return WebCore::CredentialPersistencePermanent;
+ default:
+ ASSERT_NOT_REACHED();
+ return WebCore::CredentialPersistenceNone;
+ }
+}
+
WebKitCredential* webkitCredentialCreate(const WebCore::Credential& coreCredential)
{
- WebKitCredential* credential = g_slice_new(WebKitCredential);
+ WebKitCredential* credential = static_cast<WebKitCredential*>(fastMalloc(sizeof(WebKitCredential)));
new (credential) WebKitCredential(coreCredential);
return credential;
}
@@ -73,7 +99,7 @@ WebKitCredential* webkit_credential_new(const gchar* username, const gchar* pass
g_return_val_if_fail(username, 0);
g_return_val_if_fail(password, 0);
- return webkitCredentialCreate(WebCore::Credential(String::fromUTF8(username), String::fromUTF8(password), static_cast<WebCore::CredentialPersistence>(persistence)));
+ return webkitCredentialCreate(WebCore::Credential(String::fromUTF8(username), String::fromUTF8(password), toWebCoreCredentialPersistence(persistence)));
}
/**
@@ -106,7 +132,7 @@ void webkit_credential_free(WebKitCredential* credential)
g_return_if_fail(credential);
credential->~WebKitCredential();
- g_slice_free(WebKitCredential, credential);
+ fastFree(credential);
}
/**
@@ -178,5 +204,5 @@ WebKitCredentialPersistence webkit_credential_get_persistence(WebKitCredential*
{
g_return_val_if_fail(credential, WEBKIT_CREDENTIAL_PERSISTENCE_NONE);
- return static_cast<WebKitCredentialPersistence>(credential->credential.persistence());
+ return toWebKitCredentialPersistence(credential->credential.persistence());
}