Bug 13399 - Support document.getSelection()
Summary: Support document.getSelection()
Alias: None
Product: WebKit
Classification: Unclassified
Component: DOM (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Nobody
Keywords: EasyFix, InRadar
Depends on:
Reported: 2007-04-18 17:35 PDT by Justin Garcia
Modified: 2008-02-22 23:19 PST (History)
1 user (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Justin Garcia 2007-04-18 17:35:56 PDT
<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.
Comment 1 Justin Garcia 2008-01-29 20:18:46 PST
The original radar, <rdar://problem/3138411>, was accidently closed.  Opened:

<rdar://problem/5714333> Add document.getSelection() and document.selection
Comment 2 Justin Garcia 2008-02-21 16:34:49 PST
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.
Comment 3 Alexey Proskuryakov 2008-02-22 23:19:30 PST
Fixed by Justin in <http://trac.webkit.org/projects/webkit/changeset/30515>.