RESOLVED FIXED 38131
REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
https://bugs.webkit.org/show_bug.cgi?id=38131
Summary REGRESSION (r57292): 1.5% page load speed regression from visited link inform...
Maciej Stachowiak
Reported 2010-04-26 11:18:22 PDT
REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
Attachments
Patch (11.87 KB, patch)
2010-04-26 15:14 PDT, Maciej Stachowiak
darin: review+
Maciej Stachowiak
Comment 1 2010-04-26 15:11:47 PDT
Maciej Stachowiak
Comment 2 2010-04-26 15:14:00 PDT
Darin Adler
Comment 3 2010-04-26 15:23:25 PDT
Comment on attachment 54339 [details] Patch > Index: WebCore/css/CSSMutableStyleDeclaration.cpp > =================================================================== > --- WebCore/css/CSSMutableStyleDeclaration.cpp (revision 58222) > +++ WebCore/css/CSSMutableStyleDeclaration.cpp (working copy) > @@ -629,7 +629,7 @@ void CSSMutableStyleDeclaration::setLeng > > unsigned CSSMutableStyleDeclaration::length() const > { > - return m_properties.size(); > + return mutableLength(); > } > > String CSSMutableStyleDeclaration::item(unsigned i) const > Index: WebCore/css/CSSMutableStyleDeclaration.h > =================================================================== > --- WebCore/css/CSSMutableStyleDeclaration.h (revision 58222) > +++ WebCore/css/CSSMutableStyleDeclaration.h (working copy) > @@ -89,6 +89,8 @@ public: > virtual void setCssText(const String&, ExceptionCode&); > > virtual unsigned length() const; > + unsigned mutableLength() const { return m_properties.size(); } In person, I suggested another way of doing this optimization that is better. Make the length function in the base class non-virtual, and have it be an inline that calls a virtual. Then this class can override length. This pattern is used for EventListener::isAttribute, Node::localName, Node::namespaceURI, Node::prefix, Node::computedStyle, ScriptExecutionContext::url, ScriptExecutionContext::completeURL, and HTMLElement::form. This eliminates the unpleasant "mutableLength()" name. r=me if you change that
Maciej Stachowiak
Comment 4 2010-04-26 17:10:18 PDT
Note You need to log in before you can comment on or make changes to this bug.