WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Maciej Stachowiak
Comment 1
2010-04-26 15:11:47 PDT
<
rdar://problem/7859794
>
Maciej Stachowiak
Comment 2
2010-04-26 15:14:00 PDT
Created
attachment 54339
[details]
Patch
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
Committed
r58273
: <
http://trac.webkit.org/changeset/58273
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug