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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLMeterElement.cpp

Issue 1844223002: Literal AtomicString construction can rely on strlen optimization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 void HTMLMeterElement::didElementStateChange() 187 void HTMLMeterElement::didElementStateChange()
188 { 188 {
189 updateValueAppearance(valueRatio() * 100); 189 updateValueAppearance(valueRatio() * 100);
190 } 190 }
191 191
192 void HTMLMeterElement::didAddUserAgentShadowRoot(ShadowRoot& root) 192 void HTMLMeterElement::didAddUserAgentShadowRoot(ShadowRoot& root)
193 { 193 {
194 ASSERT(!m_value); 194 ASSERT(!m_value);
195 195
196 RefPtrWillBeRawPtr<HTMLDivElement> inner = HTMLDivElement::create(document() ); 196 RefPtrWillBeRawPtr<HTMLDivElement> inner = HTMLDivElement::create(document() );
197 inner->setShadowPseudoId(AtomicString("-webkit-meter-inner-element", AtomicS tring::ConstructFromLiteral)); 197 inner->setShadowPseudoId(AtomicString("-webkit-meter-inner-element"));
198 root.appendChild(inner); 198 root.appendChild(inner);
199 199
200 RefPtrWillBeRawPtr<HTMLDivElement> bar = HTMLDivElement::create(document()); 200 RefPtrWillBeRawPtr<HTMLDivElement> bar = HTMLDivElement::create(document());
201 bar->setShadowPseudoId(AtomicString("-webkit-meter-bar", AtomicString::Const ructFromLiteral)); 201 bar->setShadowPseudoId(AtomicString("-webkit-meter-bar"));
202 202
203 m_value = HTMLDivElement::create(document()); 203 m_value = HTMLDivElement::create(document());
204 updateValueAppearance(0); 204 updateValueAppearance(0);
205 bar->appendChild(m_value); 205 bar->appendChild(m_value);
206 206
207 inner->appendChild(bar); 207 inner->appendChild(bar);
208 } 208 }
209 209
210 void HTMLMeterElement::updateValueAppearance(double percentage) 210 void HTMLMeterElement::updateValueAppearance(double percentage)
211 { 211 {
212 DEFINE_STATIC_LOCAL(AtomicString, optimumPseudoId, ("-webkit-meter-optimum-v alue", AtomicString::ConstructFromLiteral)); 212 DEFINE_STATIC_LOCAL(AtomicString, optimumPseudoId, ("-webkit-meter-optimum-v alue"));
213 DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudoId, ("-webkit-meter-subopt imum-value", AtomicString::ConstructFromLiteral)); 213 DEFINE_STATIC_LOCAL(AtomicString, suboptimumPseudoId, ("-webkit-meter-subopt imum-value"));
214 DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudoId, ("-webkit-meter-even -less-good-value", AtomicString::ConstructFromLiteral)); 214 DEFINE_STATIC_LOCAL(AtomicString, evenLessGoodPseudoId, ("-webkit-meter-even -less-good-value"));
215 215
216 m_value->setInlineStyleProperty(CSSPropertyWidth, percentage, CSSPrimitiveVa lue::UnitType::Percentage); 216 m_value->setInlineStyleProperty(CSSPropertyWidth, percentage, CSSPrimitiveVa lue::UnitType::Percentage);
217 switch (getGaugeRegion()) { 217 switch (getGaugeRegion()) {
218 case GaugeRegionOptimum: 218 case GaugeRegionOptimum:
219 m_value->setShadowPseudoId(optimumPseudoId); 219 m_value->setShadowPseudoId(optimumPseudoId);
220 break; 220 break;
221 case GaugeRegionSuboptimal: 221 case GaugeRegionSuboptimal:
222 m_value->setShadowPseudoId(suboptimumPseudoId); 222 m_value->setShadowPseudoId(suboptimumPseudoId);
223 break; 223 break;
224 case GaugeRegionEvenLessGood: 224 case GaugeRegionEvenLessGood:
225 m_value->setShadowPseudoId(evenLessGoodPseudoId); 225 m_value->setShadowPseudoId(evenLessGoodPseudoId);
226 break; 226 break;
227 } 227 }
228 } 228 }
229 229
230 DEFINE_TRACE(HTMLMeterElement) 230 DEFINE_TRACE(HTMLMeterElement)
231 { 231 {
232 visitor->trace(m_value); 232 visitor->trace(m_value);
233 LabelableElement::trace(visitor); 233 LabelableElement::trace(visitor);
234 } 234 }
235 235
236 } // namespace blink 236 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698