17. The method of claim 13 , wherein determining whether it is necessary to reflow the editing surface comprises determining whether the processing of the user input by the editing surface caused the text within the editing surface as rendered by the web browser on the page to exceed the size of the editing surface.
13. A method for providing a transitory editing surface in a word processing program executing within a web browser, the method comprising: detecting a placement of an insertion pointer by a user within a paragraph of text of a document being edited in the word processing program; upon detecting the placement of the insertion pointer, determining a character position of the placement of the insertion pointer within the text; determining a current position and size of the paragraph as displayed within a page in a window generated by the web browser; creating an editing surface on the page at the position and of the size of the paragraph as displayed within the page, the editing surface created by adding a Hypertext Markup Language (HTML) element to the page to be rendered by the web browser; copying the text to the editing surface; making the paragraph as displayed within the page invisible; positioning a cursor in the editing surface at the character position of the insertion pointer; detecting user input within the window; upon detecting the user input, determining whether the editing surface will process the user input; upon determining that the editing surface will process the user input, passing the user input to the editing surface for processing, determining whether it is necessary to reflow the editing surface, and upon determining that it is necessary to reflow the editing surface, performing a reflow operation of the editing surface; and upon determining that the editing surface will not process the user input, updating the paragraph in the page with the text from the editing surface, making the paragraph as displayed within the page visible, destroying the editing surface, and passing the user input to the word processing program for processing.