OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 } | 51 } |
52 | 52 |
53 void HTMLKeygenElement::didAddUserAgentShadowRoot(ShadowRoot* root) | 53 void HTMLKeygenElement::didAddUserAgentShadowRoot(ShadowRoot* root) |
54 { | 54 { |
55 DEFINE_STATIC_LOCAL(AtomicString, keygenSelectPseudoId, ("-webkit-keygen-sel
ect", AtomicString::ConstructFromLiteral)); | 55 DEFINE_STATIC_LOCAL(AtomicString, keygenSelectPseudoId, ("-webkit-keygen-sel
ect", AtomicString::ConstructFromLiteral)); |
56 | 56 |
57 Vector<String> keys; | 57 Vector<String> keys; |
58 getSupportedKeySizes(keys); | 58 getSupportedKeySizes(keys); |
59 | 59 |
60 // Create a select element with one option element for each key size. | 60 // Create a select element with one option element for each key size. |
61 RefPtr<HTMLSelectElement> select = HTMLSelectElement::create(document()); | 61 RefPtr<HTMLSelectElement> select = HTMLSelectElement::create(&document()); |
62 select->setPart(keygenSelectPseudoId); | 62 select->setPart(keygenSelectPseudoId); |
63 for (size_t i = 0; i < keys.size(); ++i) { | 63 for (size_t i = 0; i < keys.size(); ++i) { |
64 RefPtr<HTMLOptionElement> option = HTMLOptionElement::create(document())
; | 64 RefPtr<HTMLOptionElement> option = HTMLOptionElement::create(&document()
); |
65 option->appendChild(Text::create(document(), keys[i])); | 65 option->appendChild(Text::create(&document(), keys[i])); |
66 select->appendChild(option); | 66 select->appendChild(option); |
67 } | 67 } |
68 | 68 |
69 root->appendChild(select); | 69 root->appendChild(select); |
70 } | 70 } |
71 | 71 |
72 void HTMLKeygenElement::parseAttribute(const QualifiedName& name, const AtomicSt
ring& value) | 72 void HTMLKeygenElement::parseAttribute(const QualifiedName& name, const AtomicSt
ring& value) |
73 { | 73 { |
74 // Reflect disabled attribute on the shadow select element | 74 // Reflect disabled attribute on the shadow select element |
75 if (name == disabledAttr) | 75 if (name == disabledAttr) |
76 shadowSelect()->setAttribute(name, value); | 76 shadowSelect()->setAttribute(name, value); |
77 | 77 |
78 HTMLFormControlElement::parseAttribute(name, value); | 78 HTMLFormControlElement::parseAttribute(name, value); |
79 } | 79 } |
80 | 80 |
81 bool HTMLKeygenElement::appendFormData(FormDataList& encoding, bool) | 81 bool HTMLKeygenElement::appendFormData(FormDataList& encoding, bool) |
82 { | 82 { |
83 // Only RSA is supported at this time. | 83 // Only RSA is supported at this time. |
84 const AtomicString& keyType = fastGetAttribute(keytypeAttr); | 84 const AtomicString& keyType = fastGetAttribute(keytypeAttr); |
85 if (!keyType.isNull() && !equalIgnoringCase(keyType, "rsa")) | 85 if (!keyType.isNull() && !equalIgnoringCase(keyType, "rsa")) |
86 return false; | 86 return false; |
87 String value = signedPublicKeyAndChallengeString(shadowSelect()->selectedInd
ex(), fastGetAttribute(challengeAttr), document()->baseURL()); | 87 String value = signedPublicKeyAndChallengeString(shadowSelect()->selectedInd
ex(), fastGetAttribute(challengeAttr), document().baseURL()); |
88 if (value.isNull()) | 88 if (value.isNull()) |
89 return false; | 89 return false; |
90 encoding.appendData(name(), value.utf8()); | 90 encoding.appendData(name(), value.utf8()); |
91 return true; | 91 return true; |
92 } | 92 } |
93 | 93 |
94 const AtomicString& HTMLKeygenElement::formControlType() const | 94 const AtomicString& HTMLKeygenElement::formControlType() const |
95 { | 95 { |
96 DEFINE_STATIC_LOCAL(const AtomicString, keygen, ("keygen", AtomicString::Con
structFromLiteral)); | 96 DEFINE_STATIC_LOCAL(const AtomicString, keygen, ("keygen", AtomicString::Con
structFromLiteral)); |
97 return keygen; | 97 return keygen; |
98 } | 98 } |
99 | 99 |
100 void HTMLKeygenElement::reset() | 100 void HTMLKeygenElement::reset() |
101 { | 101 { |
102 shadowSelect()->reset(); | 102 shadowSelect()->reset(); |
103 } | 103 } |
104 | 104 |
105 HTMLSelectElement* HTMLKeygenElement::shadowSelect() const | 105 HTMLSelectElement* HTMLKeygenElement::shadowSelect() const |
106 { | 106 { |
107 ShadowRoot* root = userAgentShadowRoot(); | 107 ShadowRoot* root = userAgentShadowRoot(); |
108 return root ? toHTMLSelectElement(root->firstChild()) : 0; | 108 return root ? toHTMLSelectElement(root->firstChild()) : 0; |
109 } | 109 } |
110 | 110 |
111 } // namespace | 111 } // namespace |
OLD | NEW |