| 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 |