Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Side by Side Diff: Source/core/html/HTMLKeygenElement.cpp

Issue 59463007: Have Element::ensureUserAgentShadowRoot() return a reference (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add extra assertion Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/html/HTMLKeygenElement.h ('k') | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 using namespace HTMLNames; 43 using namespace HTMLNames;
44 44
45 HTMLKeygenElement::HTMLKeygenElement(const QualifiedName& tagName, Document& doc ument, HTMLFormElement* form) 45 HTMLKeygenElement::HTMLKeygenElement(const QualifiedName& tagName, Document& doc ument, HTMLFormElement* form)
46 : HTMLFormControlElementWithState(tagName, document, form) 46 : HTMLFormControlElementWithState(tagName, document, form)
47 { 47 {
48 ASSERT(hasTagName(keygenTag)); 48 ASSERT(hasTagName(keygenTag));
49 ScriptWrappable::init(this); 49 ScriptWrappable::init(this);
50 ensureUserAgentShadowRoot(); 50 ensureUserAgentShadowRoot();
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(locale(), keys); 58 getSupportedKeySizes(locale(), 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 }
(...skipping 27 matching lines...) Expand all
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 bool HTMLKeygenElement::isInteractiveContent() const 111 bool HTMLKeygenElement::isInteractiveContent() const
112 { 112 {
113 return true; 113 return true;
114 } 114 }
115 115
116 } // namespace 116 } // namespace
OLDNEW
« no previous file with comments | « Source/core/html/HTMLKeygenElement.h ('k') | Source/core/html/HTMLMediaElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698