<div>Are there Apple or third-party products that heavily rely on the current implementation of RemoveFormatCommand?</div><div>If not, I want to completely re-implement RemoveFormat to match the behavior of other browsers.</div>

<meta charset="utf-8"><div><br></div><div><a href="http://msdn.microsoft.com/en-us/library/aa220275(office.11).aspx">In MSDN</a>, RemoveFormat is described as:</div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

Removes the font and character formatting from the current selection.</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

The following code removes all formatting from the selected text.</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<br></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

ActiveDocument.execCommand &quot;removeformat</blockquote><div><br></div><div><a href="https://developer.mozilla.org/en/rich-text_editing_in_mozilla">In MDC</a>, it&#39;s described as:</div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

Removes all formatting from the current selection.</blockquote><div><br></div><div>However, <a href="http://trac.webkit.org/browser/trunk/WebCore/editing/RemoveFormatCommand.cpp#L49">our current implementation</a> deletes all selected contents and type them back in,</div>

<div>losing all sorts of elements such as input, img, hyper links, tables, lists, and etc...</div><div><br></div><div>There are two options to resolve this problem:</div><div><ol><li>Store all elements deleted and their positions and insert (restore) them back.</li>

<li>Remove format more gracefully by walking through the DOM and removing stylesheets and presentational elements.</li></ol></div><div>I want to re-implement RemoveFormat because I don&#39;t think option 1 really is an option.</div>

<div><br></div><div>Best Regards,<br clear="all">Ryosuke Niwa<br><br>
</div>