Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / credentialmanager / PlatformCredential.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef PlatformCredential_h
6 #define PlatformCredential_h
7
8 #include "platform/heap/Handle.h"
9 #include "platform/weborigin/KURL.h"
10 #include "wtf/text/WTFString.h"
11
12 namespace blink {
13
14 class PLATFORM_EXPORT PlatformCredential : public GarbageCollectedFinalized<PlatformCredential> {
15     WTF_MAKE_NONCOPYABLE(PlatformCredential);
16 public:
17     static PlatformCredential* create(const String& id, const String& name, const KURL& avatarURL);
18     virtual ~PlatformCredential();
19
20     const String& id() const { return m_id; }
21     const String& name() const { return m_name; }
22     const KURL& avatarURL() const { return m_avatarURL; }
23
24     virtual bool isLocal() { return false; }
25     virtual bool isFederated() { return false; }
26
27     virtual void trace(Visitor*) { }
28
29 protected:
30     PlatformCredential(const String& id, const String& name, const KURL& avatarURL);
31
32 private:
33     String m_id;
34     String m_name;
35     KURL m_avatarURL;
36 };
37
38 } // namespace blink
39
40 #endif // PlatformCredential_h