Summary: | Element::classAttributeChanged should use characters8/16 to find first non-whitespace | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Michael Saboff <msaboff> | ||||
Component: | DOM | Assignee: | Michael Saboff <msaboff> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | benjamin, cmarcelo, webkit.review.bot | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Attachments: |
|
Description
Michael Saboff
2012-09-11 16:24:28 PDT
Created attachment 163489 [details]
Patch
Comment on attachment 163489 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=163489&action=review Looks like a good idea to me. > Source/WebCore/dom/Element.cpp:765 > for (i = 0; i < length; ++i) { > if (isNotHTMLSpace(characters[i])) > break; > } If perf is important, this could become a do {} while() since we know length > 0. Add ASSERT(length) if you do that change. > Source/WebCore/dom/Element.cpp:773 > + bool hasClass = !!length && (newClassString.is8Bit() ? classStringHasClassName(newClassString.characters8(), length) : classStringHasClassName(newClassString.characters16(), length)); I am not a fan of this long line. I would change classStringHasClassName(AtomicString*) to call a classStringHasClassNameImpl<>(CharacterType, length). That way the function can stay just as clean. Committed r128363: <http://trac.webkit.org/changeset/128363> |