- From: Tim Down <timdown@gmail.com>
- Date: Fri, 18 Mar 2011 09:45:04 +0000
On 18 March 2011 00:43, Aryeh Gregor <Simetrical+w3c at gmail.com> wrote: > On Thu, Mar 17, 2011 at 6:45 PM, Tim Down <timdown at gmail.com> wrote: >> I'm interested in this stuff and am very grateful for your work. I've >> been writing a document.execCommand() replacement for my Rangy library >> (http://code.google.com/p/rangy/), so this is all extremely relevant >> for me. > > In the course of writing the spec, I'm also writing an implementation > in JavaScript to make sure it's sane and produces expected results. > I'm not making any effort to have it work in browsers other than the > most recent -- getting it to work in IE < 9 might be a significant > hassle -- but in a few months it should be a quite complete > execCommand() implementation, maybe suitable for use in a JavaScript > library if someone wants to make it work in old browsers. > > I'm doing something similar for the DOM Range tests I'm writing. ?For > instance, I've written JavaScript implementations of deleteContents(), > cloneContents(), and extractContents() to match my spec text, which in > turn closely matches browsers. ?You can take a look here: > > https://bitbucket.org/ms2ger/dom-range/src/tip/test/ > > If you're writing your library based on the W3C's DOM Level 2 Range > spec, you might not want to. ?The DOM Range spec at html5.org might be > a better reference, if it defines the functionality you're looking > for: > > http://html5.org/specs/dom-range.html > > It should be much easier to implement, since it's written > algorithmically in the style of HTML5 (my implementations just follow > the spec line-by-line). ?It also has more features and more closely > matches how browsers actually work, and it defines Selection too. > > All of my spec-related code (tests, implementations, etc.) is in the > public domain. The core stuff for my library (DOM Range and Selection for all browsers, including IE < 9) is already done. The Range part follows the DOM Level 2 Range spec (apart from the parts about the effect of DOM mutation on existing Ranges, which I didn't implement), since your new algorithm-based spec didn't exist at the time (August-October 2010). The Selection part imitates what I considered the most useful common ground between Mozilla and WebKit Selection objects with only a little influence from the Selection section in the HTML5 spec (which is where it was at the time) since it had a number of issues that I discovered and raised bugs for while writing the selection code (backwards selections, extend(), toString()). I have been following your progress fairly carefully and am aware of the extra features in your spec, some of which may have originated from my requests. There is a lot of useful stuff in your code, spec and tests that I intend to look at to verify and likely improve my code. Thanks for all your work. Tim Tim
Received on Friday, 18 March 2011 02:45:04 UTC