Bug 13399
| Summary: | Support document.getSelection() | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Justin Garcia <justin.garcia> |
| Component: | DOM | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | ap |
| Priority: | P2 | Keywords: | EasyFix, InRadar |
| Version: | 523.x (Safari 3) | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
Justin Garcia
<rdar://problem/3138411> MASTER: document.getSelection() and document.selection
window.getSelection() is the most common way to access the selection object, followed by document.getSelection() followed by document.selection. All three return a selection object, that supports various methods/properties depending on what browser the user is running. We support window.getSelection(), but it would probably be a good idea for us to add document.getSelection() and document.selection, for compatibility.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Justin Garcia
The original radar, <rdar://problem/3138411>, was accidently closed. Opened:
<rdar://problem/5714333> Add document.getSelection() and document.selection
Justin Garcia
I don't think we want to add support for document.selection. This is an IE specific extention and their selection object is too different than Safari's or FF's. In a few of the dupes of <rdar://problem/3138411> I see code like this:
<a href="javascript:bm=document.selection?document.selection.createRange().text:document.getSelection();void(pmentry=window.open('http://jens.apple.com/pm/index.php?m=bookmarklet&p=new&title='+escape(document.title)+'&url='+escape(window.location.href)+'&body='+escape(bm),'pmentry','width=700,height=520,toolbar=0,status=1,location=0,scrollbars=1,menubar=1,resizable=1'))">pMachineBM</a>
If we added support for document.selection we'd fall into the IE specific code path, which has us calling more IE specific extentions that neither Safari nor FF supports (selection.createRange() for example returns a TextRange object, not a DOM Range object, which has all sorts of IE specific extentions). Perhaps at a later time if we extend DOM Range to support more methods we can implement document.selection.
I think that for now, supporting code that works in FF is good enough.
Alexey Proskuryakov
Fixed by Justin in <http://trac.webkit.org/projects/webkit/changeset/30515>.