RESOLVED FIXED 129586
Find results on simple lines are not marked correctly
https://bugs.webkit.org/show_bug.cgi?id=129586
Summary Find results on simple lines are not marked correctly
Antti Koivisto
Reported 2014-03-02 17:01:37 PST
Some cases end up being O(n^2)
Attachments
patch (21.41 KB, patch)
2014-03-03 08:50 PST, Antti Koivisto
no flags
rebased (21.43 KB, patch)
2014-03-03 09:38 PST, Antti Koivisto
kling: review+
Antti Koivisto
Comment 1 2014-03-03 08:50:18 PST
Antti Koivisto
Comment 2 2014-03-03 08:50:53 PST
Antti Koivisto
Comment 3 2014-03-03 09:38:41 PST
Andreas Kling
Comment 4 2014-03-03 09:48:34 PST
Comment on attachment 225662 [details] rebased View in context: https://bugs.webkit.org/attachment.cgi?id=225662&action=review r=me > Source/WebCore/editing/TextIterator.cpp:544 > - while (runEnd < str.length() && (deprecatedIsCollapsibleWhitespace(str[runEnd]) || str[runEnd] == '\t')) > + while (runEnd < end && (deprecatedIsCollapsibleWhitespace(str[runEnd]) || str[runEnd] == '\t')) It irks me that we are calling operator[] on WTF::String in a loop instead of at least just operating on the StringImpl, but this is hardly time||place for that kinda cleanup. > Source/WebCore/editing/TextIterator.cpp:1304 > - if (!renderer->firstTextBox() && text.length() > 0) > + if (!renderer->hasRenderedText() && text.length() > 0) We should make the fat linebox getters assert that we are not in simple linebox mode. (Or better yet, abstract away the ability to call them in the wrong context by encapsulating lines.)
Antti Koivisto
Comment 5 2014-03-03 13:06:08 PST
Note You need to log in before you can comment on or make changes to this bug.