Open
Bug 256773
Opened 21 years ago
Updated 5 years ago
Gecko should support highlighting of multiple ranges that are not the selection (multiple styleable selections)
Categories
(Core :: DOM: Selection, enhancement, P5)
Core
DOM: Selection
Tracking
()
NEW
People
(Reporter: dbaron, Unassigned)
References
Details
Gecko should support highlighting of multiple DOM ranges that are not the
selection. This is needed for things that want to highlight terms without
manipulating the page's DOM, e.g., the Find toolbar in Firefox (currently branch
only, ugh!) or the Google toolbar extension.
I'm not exactly sure about the details here, but we may want some sort of API
for associating style with ranges.
Note that this bug is different from bug 73373, which is about having multiple
selections. However, both may depend on common infrastructure work.
Reporter | ||
Updated•21 years ago
|
Priority: -- → P1
If we fixed this, then selection could use it and a lot of special-purpose
selection drawing code could go away.
One obvious approach would be to have a new CSS selector :-moz-range(blah) and
be able to give a range the name "blah"; anything in the range matches the
selector. One problem with that is that *:-moz-range(blah) doesn't match text
nodes, and in fact our code assumes in various places that text nodes are not
individually stylable. We'd have to be very careful about performance impact if
we tried to relax that assumption. But I think we could pull it off if we had an
extension to CSS syntax that matched text nodes and didn't violate any standards.
I think the basic code changes with that approach would have to be:
-- changes to the bounds of named ranges would have to trigger reframes of the
content over which the bounds changed
-- constructing frames for text nodes would have to split frames at named range
boundaries
-- frame construction would have to very efficiently identify the named ranges
applying to content and hand them to the style system at style resolution time
-- we'd have to make sure we resolve style for text nodes when named ranges apply
That'd be a pretty big project.
Comment 2•21 years ago
|
||
::-moz-range(blah) could work like ::-moz-selection, presumably.
QA Contact: ian
Comment 3•19 years ago
|
||
I intend to fix bug 263683 by doing something like this bug but simpler: add a new selection type, much like how inline spellchecking is done. This doesn't require any of the crazy style system wizardry in comment #1. I suppose one could provide an API for this if needed.
A lot of what I wrote in comment #1 was bogus. We already support many selection types; making that indefinitely extensible shouldn't be hard.
pkasting: for your needs, feel free to go ahead and add one more selection type. When that's done, you might have some ideas for how to make it truly extensible :-).
Updated•19 years ago
|
QA Contact: ian
Comment 6•17 years ago
|
||
It seems to me this is "-- an API for extensible selection types" in list of the items to work on post-1.9.1, that was discussed in the layout meeting at the summit: http://groups.google.com/group/mozilla.dev.tech.layout/browse_thread/thread/3421bf91696f4b08#
Updated•17 years ago
|
Reporter | ||
Updated•16 years ago
|
Summary: Gecko should support highlighting of multiple ranges that are not the selection → Gecko should support highlighting of multiple ranges that are not the selection (multiple styleable selections)
Updated•16 years ago
|
Assignee: selection → nobody
QA Contact: selection
Comment 7•5 years ago
|
||
Bulk-downgrade of unassigned, >=5 years untouched DOM/Storage bugs' priority.
If you have reason to believe this is wrong (especially for the severity), please write a comment and ni :jstutte.
Severity: normal → S4
Priority: -- → P5
Comment 8•5 years ago
|
||
Highlighting non-selection ranges on a page would be pretty useful and impactful - at the very least for find results, like the initial comment suggests. Also, for implementing things like the text editor component of IDEs, which have non-selection highlights as well.
... but here I'm not sure enough of the statement above to change the severity myself, so let others chime in or do it.
Severity: S4 → S3
Priority: P5 → --
Updated•5 years ago
|
Severity: S3 → S4
Priority: -- → P5
You need to log in
before you can comment on or make changes to this bug.
Description
•