WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
193416
Only run the node comparison code in FrameSelection::respondToNodeModification() for range selections
https://bugs.webkit.org/show_bug.cgi?id=193416
Summary
Only run the node comparison code in FrameSelection::respondToNodeModificatio...
Simon Fraser (smfr)
Reported
2019-01-14 16:19:35 PST
Only run the node comparison code in FrameSelection::respondToNodeModification() for range selections
Attachments
Patch
(3.04 KB, patch)
2019-01-14 16:22 PST
,
Simon Fraser (smfr)
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Simon Fraser (smfr)
Comment 1
2019-01-14 16:22:42 PST
Created
attachment 359095
[details]
Patch
Simon Fraser (smfr)
Comment 2
2019-01-14 16:23:59 PST
I measured this as a ~1.5% improvement on Speedometer2.
Radar WebKit Bug Importer
Comment 3
2019-01-14 16:52:30 PST
<
rdar://problem/47270794
>
Wenson Hsieh
Comment 4
2019-01-14 17:16:22 PST
Comment on
attachment 359095
[details]
Patch Nice!
Wenson Hsieh
Comment 5
2019-01-14 17:25:03 PST
Comment on
attachment 359095
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=359095&action=review
> Source/WebCore/editing/FrameSelection.cpp:545 > + if (compareResult == Range::NODE_BEFORE_AND_AFTER || compareResult == Range::NODE_INSIDE) {
Doesn't this mean that we set clearRenderTreeSelection to true if either the selection completely encompasses node, or node completely encompasses the selection? It seems like in the latter case, we can enter this if statement even with a caret selection. We should double check that we either never get here with a caret selection, or that if we get here with a caret selection, we didn't need to clear the render tree selection in the first place.
Wenson Hsieh
Comment 6
2019-01-14 19:09:02 PST
(In reply to Wenson Hsieh from
comment #5
)
> Comment on
attachment 359095
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=359095&action=review
> > > Source/WebCore/editing/FrameSelection.cpp:545 > > + if (compareResult == Range::NODE_BEFORE_AND_AFTER || compareResult == Range::NODE_INSIDE) { > > Doesn't this mean that we set clearRenderTreeSelection to true if either the > selection completely encompasses node, or node completely encompasses the > selection? It seems like in the latter case, we can enter this if statement > even with a caret selection. > > We should double check that we either never get here with a caret selection, > or that if we get here with a caret selection, we didn't need to clear the > render tree selection in the first place.
From a hallway conversation with Ryosuke, it looks like we don't need to clear the render tree selection here because the node that encompasses the selection is going away anyways, so it doesn't look like this change should break anything.
WebKit Commit Bot
Comment 7
2019-01-14 19:31:47 PST
Comment on
attachment 359095
[details]
Patch Clearing flags on attachment: 359095 Committed
r239971
: <
https://trac.webkit.org/changeset/239971
>
WebKit Commit Bot
Comment 8
2019-01-14 19:31:49 PST
All reviewed patches have been landed. Closing bug.
Saam Barati
Comment 9
2019-01-15 14:48:52 PST
Looks like a 1% speedometer2 progression!
Saam Barati
Comment 10
2019-01-15 14:49:20 PST
(In reply to Simon Fraser (smfr) from
comment #2
)
> I measured this as a ~1.5% improvement on Speedometer2.
I see you've already measured this :) The bots agree
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