WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
160461
Use memoize pattern for the menclose notation attribute
https://bugs.webkit.org/show_bug.cgi?id=160461
Summary
Use memoize pattern for the menclose notation attribute
Frédéric Wang (:fredw)
Reported
2016-08-02 13:09:22 PDT
Currently, MathMLMencloseElement::parseAttribute parse the "notation" attribute each time it is changed. We should follow what is done for other MathML element classes and store m_notationFlags in an Optional<unsigned short> where null means that the attribute is dirty and must be parsed again.
Attachments
Patch
(8.12 KB, patch)
2016-08-03 00:35 PDT
,
Frédéric Wang (:fredw)
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Frédéric Wang (:fredw)
Comment 1
2016-08-03 00:35:07 PDT
Created
attachment 285206
[details]
Patch
Darin Adler
Comment 2
2016-08-05 23:29:14 PDT
Comment on
attachment 285206
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=285206&action=review
> Source/WebCore/mathml/MathMLMencloseElement.cpp:66 > + String(value).split(' ', notationsList);
Should write: value.string().split(' ', notationsList); Also kind of sad to allocate a vector and then allocate lots of memory just to examine substrings of the passed in string, which could be done much more efficiently. WebKit project should come up with a better way to do this without allocating all the strings. Do we really want to split only on actual spaces and not other kinds of HTML spaces? Do we have test cases covering that?
Darin Adler
Comment 3
2016-08-05 23:29:45 PDT
Comment on
attachment 285206
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=285206&action=review
> Source/WebCore/mathml/MathMLMencloseElement.h:64 > + Optional<unsigned short> m_notationFlags;
Maybe uint16_t instead?
Frédéric Wang (:fredw)
Comment 4
2016-08-21 03:07:25 PDT
(In reply to
comment #2
)
> Should write: > > value.string().split(' ', notationsList); > > Also kind of sad to allocate a vector and then allocate lots of memory just > to examine substrings of the passed in string, which could be done much more > efficiently. WebKit project should come up with a better way to do this > without allocating all the strings. > > Do we really want to split only on actual spaces and not other kinds of HTML > spaces? Do we have test cases covering that?
I've been preserving the code of the person who has implemented menclose but indeed we could parse the list more efficiently by skipping whitespace and checking substrings. Not sure whether that should be done in that bug. Also, I think any MathML whitespace should be accepted (which unfortunately is defined differently than in HTML space see
http://lists.w3.org/Archives/Public/www-math/2016Aug/0000.html
).
Frédéric Wang (:fredw)
Comment 5
2016-08-22 09:19:57 PDT
Committed
r204721
: <
http://trac.webkit.org/changeset/204721
>
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