mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
fixes bug 295544 "Expose more designMode options to web apps" r=brade sr=jst a=bsmedberg
This commit is contained in:
parent
9f2de2ac11
commit
800a1ddbc1
@ -3638,6 +3638,8 @@ static const struct MidasCommand gMidasCommandTable[] = {
|
||||
{ "useCSS", "cmd_setDocumentUseCSS", "", PR_FALSE, PR_TRUE },
|
||||
{ "readonly", "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 },
|
||||
|
@ -101,7 +101,9 @@ nsComposerController::RegisterEditorDocStateCommands(
|
||||
NS_REGISTER_FIRST_COMMAND(nsSetDocumentStateCommand, "cmd_setDocumentModified")
|
||||
NS_REGISTER_NEXT_COMMAND(nsSetDocumentStateCommand, "cmd_setDocumentUseCSS")
|
||||
NS_REGISTER_NEXT_COMMAND(nsSetDocumentStateCommand, "cmd_setDocumentReadOnly")
|
||||
NS_REGISTER_LAST_COMMAND(nsSetDocumentStateCommand, "cmd_insertBrOnReturn")
|
||||
NS_REGISTER_NEXT_COMMAND(nsSetDocumentStateCommand, "cmd_insertBrOnReturn")
|
||||
NS_REGISTER_NEXT_COMMAND(nsSetDocumentStateCommand, "cmd_enableObjectResizing")
|
||||
NS_REGISTER_LAST_COMMAND(nsSetDocumentStateCommand, "cmd_enableInlineTableEditing")
|
||||
|
||||
NS_REGISTER_ONE_COMMAND(nsSetDocumentOptionsCommand, "cmd_setDocumentOptions")
|
||||
|
||||
|
@ -44,6 +44,8 @@
|
||||
#include "nsIEditingSession.h"
|
||||
#include "nsIPlaintextEditor.h"
|
||||
#include "nsIHTMLEditor.h"
|
||||
#include "nsIHTMLObjectResizer.h"
|
||||
#include "nsIHTMLInlineTableEditor.h"
|
||||
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDocument.h"
|
||||
@ -303,6 +305,36 @@ nsSetDocumentStateCommand::DoCommandParams(const char *aCommandName,
|
||||
return htmleditor->SetReturnInParagraphCreatesNewParagraph(!insertBrOnReturn);
|
||||
}
|
||||
|
||||
if (!nsCRT::strcmp(aCommandName, "cmd_enableObjectResizing"))
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aParams);
|
||||
nsCOMPtr<nsIHTMLObjectResizer> resizer = do_QueryInterface(refCon);
|
||||
if (!resizer)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
PRBool enabled;
|
||||
nsresult rvOR = aParams->GetBooleanValue(STATE_ATTRIBUTE, &enabled);
|
||||
if (NS_FAILED(rvOR))
|
||||
return rvOR;
|
||||
|
||||
return resizer->SetObjectResizingEnabled(enabled);
|
||||
}
|
||||
|
||||
if (!nsCRT::strcmp(aCommandName, "cmd_enableInlineTableEditing"))
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aParams);
|
||||
nsCOMPtr<nsIHTMLInlineTableEditor> editor = do_QueryInterface(refCon);
|
||||
if (!editor)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
PRBool enabled;
|
||||
nsresult rvOR = aParams->GetBooleanValue(STATE_ATTRIBUTE, &enabled);
|
||||
if (NS_FAILED(rvOR))
|
||||
return rvOR;
|
||||
|
||||
return editor->SetInlineTableEditingEnabled(enabled);
|
||||
}
|
||||
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
@ -368,6 +400,30 @@ nsSetDocumentStateCommand::GetCommandStateParams(const char *aCommandName,
|
||||
return aParams->SetBooleanValue(STATE_ATTRIBUTE, !createPOnReturn);
|
||||
}
|
||||
|
||||
if (!nsCRT::strcmp(aCommandName, "cmd_enableObjectResizing"))
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aParams);
|
||||
nsCOMPtr<nsIHTMLObjectResizer> resizer = do_QueryInterface(refCon);
|
||||
if (!resizer)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
PRBool enabled;
|
||||
resizer->GetObjectResizingEnabled(&enabled);
|
||||
return aParams->SetBooleanValue(STATE_ATTRIBUTE, enabled);
|
||||
}
|
||||
|
||||
if (!nsCRT::strcmp(aCommandName, "cmd_enableInlineTableEditing"))
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aParams);
|
||||
nsCOMPtr<nsIHTMLInlineTableEditor> editor = do_QueryInterface(refCon);
|
||||
if (!editor)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
PRBool enabled;
|
||||
editor->GetInlineTableEditingEnabled(&enabled);
|
||||
return aParams->SetBooleanValue(STATE_ATTRIBUTE, enabled);
|
||||
}
|
||||
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user