Problème de xulrunner 1.9
<editor />
Appliquer la même couleur aux editor qu'au textbox: editor { -moz-appearance: textfield; }
See: http://developer.mozilla.org/en/CSS/-moz-appearance
Bug avec le execCommand:
https://bugzilla.mozilla.org/show_bug.cgi?id=434998
editor.commandManager.doCommand("cmd_paragraphState", {}, editor.contentWindow);
See: http://hg.mozilla.org/mozilla-central/file/f197b51bbc29/editor/libeditor/base/nsEditorCommands.cpp
See: editor/composer/src/nsComposerController.cpp
UNLINK: Instead of document.execCommand('unlink', false, null);
do: editor.commandManager.doCommand('cmd_removeLinks', {}, editor.contentWindow);
LINK: instead of document.execCommand('createLink', false, href);
do:
var commandID = 'cmd_insertLinkNoUI';
var editor = this.getEditorNode();
var commandParams = Components.classes['@mozilla.org/embedcomp/command-params;1'].getService(Components.interfaces.nsICommandParams);
commandParams.setCStringValue("state_attribute", href);
editor.commandManager.doCommand(commandID, commandParams, editor.contentWindow);
Paragraph: instead of document.execCommand('formatblock', false, newState);
do:
var commandParams = Components.classes['@mozilla.org/embedcomp/command-params;1'].getService(Components.interfaces.nsICommandParams);
commandParams.setCStringValue("state_attribute", newState);
editor.commandManager.doCommand(commandID, commandParams, editor.contentWindow);
See: content/html/document/src/nsHTMLDocument.cpp:
static const struct MidasCommand gMidasCommandTable[] = {
{ "bold", "cmd_bold", "", PR_TRUE, PR_FALSE },
{ "italic", "cmd_italic", "", PR_TRUE, PR_FALSE },
{ "underline", "cmd_underline", "", PR_TRUE, PR_FALSE },
{ "strikethrough", "cmd_strikethrough", "", PR_TRUE, PR_FALSE },
{ "subscript", "cmd_subscript", "", PR_TRUE, PR_FALSE },
{ "superscript", "cmd_superscript", "", PR_TRUE, PR_FALSE },
{ "cut", "cmd_cut", "", PR_TRUE, PR_FALSE },
{ "copy", "cmd_copy", "", PR_TRUE, PR_FALSE },
{ "paste", "cmd_paste", "", PR_TRUE, PR_FALSE },
{ "delete", "cmd_delete", "", PR_TRUE, PR_FALSE },
{ "selectall", "cmd_selectAll", "", PR_TRUE, PR_FALSE },
{ "undo", "cmd_undo", "", PR_TRUE, PR_FALSE },
{ "redo", "cmd_redo", "", PR_TRUE, PR_FALSE },
{ "indent", "cmd_indent", "", PR_TRUE, PR_FALSE },
{ "outdent", "cmd_outdent", "", PR_TRUE, PR_FALSE },
{ "backcolor", "cmd_backgroundColor", "", PR_FALSE, PR_FALSE },
{ "forecolor", "cmd_fontColor", "", PR_FALSE, PR_FALSE },
{ "hilitecolor", "cmd_highlight", "", PR_FALSE, PR_FALSE },
{ "fontname", "cmd_fontFace", "", PR_FALSE, PR_FALSE },
{ "fontsize", "cmd_fontSize", "", PR_FALSE, PR_FALSE },
{ "increasefontsize", "cmd_increaseFont", "", PR_FALSE, PR_FALSE },
{ "decreasefontsize", "cmd_decreaseFont", "", PR_FALSE, PR_FALSE },
{ "inserthorizontalrule", "cmd_insertHR", "", PR_TRUE, PR_FALSE },
{ "createlink", "cmd_insertLinkNoUI", "", PR_FALSE, PR_FALSE },
{ "insertimage", "cmd_insertImageNoUI", "", PR_FALSE, PR_FALSE },
{ "inserthtml", "cmd_insertHTML", "", PR_FALSE, PR_FALSE },
{ "gethtml", "cmd_getContents", "", PR_FALSE, PR_FALSE },
{ "justifyleft", "cmd_align", "left", PR_TRUE, PR_FALSE },
{ "justifyright", "cmd_align", "right", PR_TRUE, PR_FALSE },
{ "justifycenter", "cmd_align", "center", PR_TRUE, PR_FALSE },
{ "justifyfull", "cmd_align", "justify", PR_TRUE, PR_FALSE },
{ "removeformat", "cmd_removeStyles", "", PR_TRUE, PR_FALSE },
{ "unlink", "cmd_removeLinks", "", PR_TRUE, PR_FALSE },
{ "insertorderedlist", "cmd_ol", "", PR_TRUE, PR_FALSE },
{ "insertunorderedlist", "cmd_ul", "", PR_TRUE, PR_FALSE },
{ "insertparagraph", "cmd_paragraphState", "p", PR_TRUE, PR_FALSE },
{ "formatblock", "cmd_paragraphState", "", PR_FALSE, PR_FALSE },
{ "heading", "cmd_paragraphState", "", PR_FALSE, PR_FALSE },
{ "styleWithCSS", "cmd_setDocumentUseCSS", "", PR_FALSE, PR_TRUE },
{ "contentReadOnly", "cmd_setDocumentReadOnly", "", PR_FALSE, PR_TRUE },
{ "insertBrOnReturn", "cmd_insertBrOnReturn", "", PR_FALSE, PR_TRUE },
{ "enableObjectResizing", "cmd_enableObjectResizing", "", PR_FALSE, PR_TRUE },
{ "enableInlineTableEditing", "cmd_enableInlineTableEditing", "", PR_FALSE, PR_TRUE },
#if 0
// no editor support to remove alignments right now
{ "justifynone", "cmd_align", "", PR_TRUE, PR_FALSE },
// the following will need special review before being turned on
{ "saveas", "cmd_saveAs", "", PR_TRUE, PR_FALSE },
{ "print", "cmd_print", "", PR_TRUE, PR_FALSE },
#endif
{ NULL, NULL, NULL, PR_FALSE, PR_FALSE }
};