[scriptable, uuid(274cd32e-3675-47e1-9d8a-fc6504ded9ce)]
interface nsIEditingSession : nsISupports

Constants

  Error codes when we fail to create an editor
  is placed in attribute editorStatus
const long eEditorOK = 0

          
const long eEditorCreationInProgress = 1

          
const long eEditorErrorCantEditMimeType = 2

          
const long eEditorErrorFileNotFound = 3

          
const long eEditorErrorCantEditFramesets = 8

          
const long eEditorErrorUnknown = 9

Attributes

  Status after editor creation and document loading
  Value is one of the above error codes
readonly attribute unsigned long editorStatus

Methods

 Removes all the editor's controllers/listeners etc and makes the window
 uneditable.
void detachFromWindow(in nsIDOMWindow aWindow)
 Disable scripts and plugins in aWindow.
void disableJSAndPlugins(in nsIDOMWindow aWindow)
  Get the editor for this window. May return null
nsIEditor getEditorForWindow(in nsIDOMWindow window)
  Make this window editable
  @param aWindow nsIDOMWindow, the window the embedder needs to make editable
  @param aEditorType string, "html" "htmlsimple" "text" "textsimple"
  @param aMakeWholeDocumentEditable if PR_TRUE make the whole document in
                                    aWindow editable, otherwise it's the
                                    embedder who should make the document
                                    (or part of it) editable.
  @param aInteractive if PR_FALSE turn off scripting and plugins
void makeWindowEditable(in nsIDOMWindow window, in string aEditorType, in boolean doAfterUriLoad, in boolean aMakeWholeDocumentEditable, in boolean aInteractive)
 Undos detachFromWindow(), reattaches this editing session/editor
 to the window.
void reattachToWindow(in nsIDOMWindow aWindow)
 Restore JS and plugins (enable/disable them) according to the state they
 were before the last call to disableJSAndPlugins.
void restoreJSAndPlugins(in nsIDOMWindow aWindow)

          
void setEditorOnControllers(in nsIDOMWindow aWindow, in nsIEditor aEditor)
 
  Setup editor and related support objects
void setupEditorOnWindow(in nsIDOMWindow window)
 
   Destroy editor and related support objects
void tearDownEditorOnWindow(in nsIDOMWindow window)
  Test whether a specific window has had its editable flag set; it may have an editor
  now, or will get one after the uri load.
  
  Use this, passing the content root window, to test if we've set up editing
  for this content.
boolean windowIsEditable(in nsIDOMWindow window)