Bug 164705

Summary: REGRESSION (204441): newsplex.com map does not load
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: DOMAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, darin, dbates, esprehn+autocc, kangil.han, rniwa, sam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 160682    
Attachments:
Description Flags
Patch none

Description Chris Dumez 2016-11-13 18:53:02 PST
newsplex.com map does not load after r204441. It loads fine in Firefox and Chrome.
Comment 1 Chris Dumez 2016-11-13 18:53:20 PST
<rdar://problem/28753438>
Comment 2 Chris Dumez 2016-11-13 19:31:19 PST
Created attachment 294687 [details]
Patch
Comment 3 Darin Adler 2016-11-13 22:46:30 PST
Comment on attachment 294687 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=294687&action=review

> Source/WebCore/dom/TagCollection.h:46
> +    AtomicString m_qualifiedName;

I think it is confusing to call these strings "qualified names" and also call the data structure QualifiedName the same thing. We should figure out what our terminology is.

> Source/WebCore/dom/TagCollection.h:86
> +    return m_qualifiedName == element.tagQName().toString();

We should find a way to do this comparison without allocating a string each time.

> Source/WebCore/dom/TagCollection.h:100
> +        return m_loweredQualifiedName == element.tagQName().toString();
> +    return m_qualifiedName == element.tagQName().toString();

Ditto.
Comment 4 Chris Dumez 2016-11-13 22:49:20 PST
Comment on attachment 294687 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=294687&action=review

>> Source/WebCore/dom/TagCollection.h:46
>> +    AtomicString m_qualifiedName;
> 
> I think it is confusing to call these strings "qualified names" and also call the data structure QualifiedName the same thing. We should figure out what our terminology is.

I following the naming in the specification. It is a qualified name stored as a String rather than a QualifiedName type.

>> Source/WebCore/dom/TagCollection.h:86
>> +    return m_qualifiedName == element.tagQName().toString();
> 
> We should find a way to do this comparison without allocating a string each time.

In the common case, there is no prefix and therefore it will return the localName. It will not allocate a new String, only cause some refcounting churn.
Comment 5 WebKit Commit Bot 2016-11-13 23:10:01 PST
Comment on attachment 294687 [details]
Patch

Clearing flags on attachment: 294687

Committed r208674: <http://trac.webkit.org/changeset/208674>
Comment 6 WebKit Commit Bot 2016-11-13 23:10:06 PST
All reviewed patches have been landed.  Closing bug.