diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp
index 9a347fed32e..16d6b93b54b 100644
--- a/mozilla/content/html/document/src/nsHTMLDocument.cpp
+++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp
@@ -4184,7 +4184,7 @@ static struct MidasCommand gMidasCommandTable[] = {
{ "increasefontsize", "cmd_increaseFont", "", PR_FALSE },
{ "decreasefontsize", "cmd_decreaseFont", "", PR_FALSE },
{ "fontsize", "cmd_fontSize", "", PR_FALSE },
- { "inserthorizontalrule", "cmd_hline", "", PR_TRUE },
+ { "inserthorizontalrule", "cmd_insertHR", "", PR_TRUE },
{ "createlink", "cmd_insertLinkNoUI", "", PR_FALSE },
{ "insertimage", "cmd_insertImageNoUI", "", PR_FALSE },
{ "justifyleft", "cmd_align", "left", PR_TRUE },
diff --git a/mozilla/editor/composer/src/nsComposerCommands.cpp b/mozilla/editor/composer/src/nsComposerCommands.cpp
index 53679fda5e5..c95587bdc00 100644
--- a/mozilla/editor/composer/src/nsComposerCommands.cpp
+++ b/mozilla/editor/composer/src/nsComposerCommands.cpp
@@ -1315,6 +1315,22 @@ nsInsertTagCommand::IsCommandEnabled(const char * aCommandName,
NS_IMETHODIMP
nsInsertTagCommand::DoCommand(const char *aCmdName, nsISupports *refCon)
{
+ if (0 == nsCRT::strcmp(mTagName, "hr"))
+ {
+ nsCOMPtr editor = do_QueryInterface(refCon);
+ if (!editor)
+ return NS_ERROR_NOT_IMPLEMENTED;
+
+ nsCOMPtr domElem;
+ nsresult rv;
+ rv = editor->CreateElementWithDefaults(NS_ConvertASCIItoUCS2(mTagName),
+ getter_AddRefs(domElem));
+ if (NS_FAILED(rv))
+ return rv;
+
+ return editor->InsertElementAtSelection(domElem, PR_TRUE);
+ }
+
return NS_ERROR_NOT_IMPLEMENTED;
}
@@ -1323,9 +1339,14 @@ nsInsertTagCommand::DoCommandParams(const char *aCommandName,
nsICommandParams *aParams,
nsISupports *refCon)
{
- NS_ENSURE_ARG_POINTER(aParams);
NS_ENSURE_ARG_POINTER(refCon);
+ // inserting an hr shouldn't have an parameters, just call DoCommand for that
+ if (0 == nsCRT::strcmp(mTagName, "hr"))
+ return DoCommand(aCommandName, refCon);
+
+ NS_ENSURE_ARG_POINTER(aParams);
+
nsCOMPtr editor = do_QueryInterface(refCon);
if (!editor)
return NS_ERROR_NOT_IMPLEMENTED;
diff --git a/mozilla/editor/composer/src/nsComposerController.cpp b/mozilla/editor/composer/src/nsComposerController.cpp
index de9311239ab..1317ab2a531 100644
--- a/mozilla/editor/composer/src/nsComposerController.cpp
+++ b/mozilla/editor/composer/src/nsComposerController.cpp
@@ -163,6 +163,7 @@ nsComposerController::RegisterHTMLEditorCommands(
NS_REGISTER_ONE_COMMAND(nsInsertHTMLCommand, "cmd_insertHTML");
NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertLinkNoUI", "a");
NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertImageNoUI", "img");
+ NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertHR", "hr");
return NS_OK;
}