The owner of the editor can now initialize the editor,
set up its own listeners if it wants to, then the editor will set up it's own
backstop listeners as part of PostCreate().
The backstop key listener now ignores ENTER for single line text controls.
Ugly to have to do it here, it would be better if the owner could just swallow the key event.
(and fix type in obsolete text editor);
Partial work toward 11390, use style rather than embedded PRE for wrapping
(unfinished, currently ifdefed out).
Added some comments of the form "// XXX: ERROR_HANDLING <explanation>"
wherever I saw a potential error but wasn't 100% sure of the intention of the code.
Fixed a few bugs along the way.
a mime type and a flag argument. Also fix the following bugs:
9746: get rid of bogus empty <style> in head.
8143: save wrap column in editor shell in case it's set before the
editor is created.
9470, 9488: allow explicit specification of formatted output.
nsIHTMLEditor, nsITextEditor, and nsIEditorShell and enabled
the "Start Log" and "End Log" menu items in the editor test bed.
* Modified makefiles for Unix and Win32 to turn on Editor API Logging.
* Added action argument to the DeleteSelection() method in nsIEditorShell.
* Modified nsJSTxnLog to use nsJSEditorLog when writing it's output.
features like set paragraph style, set list type, indent, etc. I'm sure there's holes in my
implementation that these high level features will make obvious.
2. I've factored a lot of utility methods from several modules into nsEditor as public static methods.
This makes them easily accessable to all, and will help Joe and I remove redundant methods.
3. I changed the HTML tags to lower case, and made all string compares case-insensitive. No, this
isn't quite the right thing to do, but we don't have atoms from layout yet. The Right Thing is for us
to reuse those atoms.
nsI*Editor::OutputText(nsString& aOutputString);
nsI*Editor::OutputHTML(nsString& aOutputString);
These methods always returns back a Unicode version of whatever is in the content model. It is the
responsibility of the caller then to call whatever converter is required to convert to the appropriate
charset.
Added:
nsI*Editor::OutputText(nsIOutputStream* aOutputStream, nsString* aCharsetOverride = nsnull)
nsI*Editor::OutputHTML(nsIOutputStream* aOutputStream, nsString* aCharsetOverride = nsnull)
These methods output the the current content model to aOutputStream. The document is encoded using the
document defined charset or if the user passes in a non-null value for aCharsetOverride then this
encoding overrides the encoding used by the document.
1. fix for bug 5796, crash on exit. This was a bad, bad memory smudge on my part, easily fixed by doing the right ref counting in the
right places.
2. some preliminary code for M6 block transformations has leaked into this checkin. It's safer than trying to re-code the fix above into
a fresh tree. Unless you're making calls to do block transformations, you won't see any difference.