[Webkit-unassigned] [Bug 106817] [CSS Regions] Selecting text inside + outside regions does not work properly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jul 16 03:09:25 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=106817





--- Comment #21 from Javier Fernandez <jfernandez at igalia.com>  2013-07-16 03:09:43 PST ---
(In reply to comment #20)
> (From update of attachment 206470 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=206470&action=review
> 
> > Source/WebCore/dom/Range.cpp:1070
> > +        if (!renderer || (startRenderer && (renderer->flowThreadContainingBlock() != startRenderer->flowThreadContainingBlock())))
> 
> 1. It might be worth storing the startRenderer->flowThreadContainingBlock on the stack before entering the loop.
> 2. What if the start node has no renderer? Should we better wait until the first node with a renderer and use that as the reference flow thread?
> 3. What happens with objects that have display:none? It looks like "!renderer" will change the behavior for that case.

Yes,  I'm aware of those issues and next version of the patch won't touch the Range class, as it's causing several regressions. 

The current approach would be based on multi-range selection, which, even more complex and challenging, I think it's the right approach.  

> 
> > Source/WebCore/editing/FrameSelection.cpp:257
> > +    if (!atSameFlowThread(base, newExtent))
> 
> Should we better patch FrameSelection::setSelection instead? Looks like other functions call that one and might bypass your check.

Umm, yes, it seems a better place to put the check, indeed. But I have to check out the fields modified in setNonDirectionalSelectionIfNeeded, since perhaps they should be kept untouched.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list