Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / exported / WebCredential.cpp
index 7f01394..e08d1ae 100644 (file)
@@ -6,14 +6,37 @@
 #include "public/platform/WebCredential.h"
 
 #include "platform/credentialmanager/PlatformCredential.h"
+#include "public/platform/WebFederatedCredential.h"
+#include "public/platform/WebLocalCredential.h"
 
 namespace blink {
 
+WebCredential WebCredential::create(PlatformCredential* credential)
+{
+    if (credential->isLocal()) {
+        WebLocalCredential local(credential);
+        return local;
+    }
+
+    if (credential->isFederated()) {
+        WebFederatedCredential federated(credential);
+        return federated;
+    }
+
+    ASSERT_NOT_REACHED();
+    return WebCredential(credential);
+}
+
 WebCredential::WebCredential(const WebString& id, const WebString& name, const WebURL& avatarURL)
     : m_platformCredential(PlatformCredential::create(id, name, avatarURL))
 {
 }
 
+WebCredential::WebCredential(const WebCredential& other)
+{
+    assign(other);
+}
+
 void WebCredential::assign(const WebCredential& other)
 {
     m_platformCredential = other.m_platformCredential;
@@ -50,4 +73,14 @@ WebURL WebCredential::avatarURL() const
     return m_platformCredential->avatarURL();
 }
 
+bool WebCredential::isLocalCredential() const
+{
+    return m_platformCredential->isLocal();
+}
+
+bool WebCredential::isFederatedCredential() const
+{
+    return m_platformCredential->isFederated();
+}
+
 } // namespace blink