/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include"nsCOMPtr.h"// for nsCOMPtr #include"nsISupportsImpl.h"// for NS_DECL_ISUPPORTS #include"nsIWeakReferenceUtils.h"// for nsWeakPtr #include"nsWeakReference.h"// for nsSupportsWeakReference, etc #include"nscore.h"// for nsresult
#ifndef __gen_nsIWebProgressListener_h__ # include "nsIWebProgressListener.h" #endif
#ifndef __gen_nsIEditingSession_h__ # include "nsIEditingSession.h"// for NS_DECL_NSIEDITINGSESSION, etc #endif
#include"nsString.h"// for nsCString
class mozIDOMWindowProxy; class nsBaseCommandController; class nsIDOMWindow; class nsISupports; class nsITimer; class nsIChannel; class nsIControllers; class nsIDocShell; class nsIWebProgress; class nsIPIDOMWindowOuter; class nsIPIDOMWindowInner;
namespace mozilla { class ComposerCommandsUpdater; class HTMLEditor;
} // namespace mozilla
class nsEditingSession final : public nsIEditingSession, public nsIWebProgressListener, public nsSupportsWeakReference { public:
nsEditingSession();
/** * Set the editor on the controller(s) for this window
*/
nsresult SetEditorOnControllers(nsPIDOMWindowOuter& aWindow,
mozilla::HTMLEditor* aEditor);
/** * Setup editor and related support objects
*/
MOZ_CAN_RUN_SCRIPT nsresult SetupEditorOnWindow(nsPIDOMWindowOuter& aWindow);
/** * Disable scripts in aDocShell.
*/
nsresult DisableJS(nsPIDOMWindowInner* aWindow);
/** * Restore JS (enable/disable) according to the state it * was before the last call to DisableJS.
*/
nsresult RestoreJS(nsPIDOMWindowInner* aWindow);
protected: bool mDoneSetup; // have we prepared for editing yet?
// Used to prevent double creation of editor because nsIWebProgressListener // receives a STATE_STOP notification before the STATE_START // for our document, so we wait for the STATE_START, then STATE_STOP // before creating an editor bool mCanCreateEditor;
// True if scripts were enabled before the editor turned scripts // off, otherwise false. bool mScriptsEnabled;
bool mProgressListenerRegistered;
// The image animation mode before it was turned off.
uint16_t mImageAnimationMode;
// THE REMAINING MEMBER VARIABLES WILL BECOME A SET WHEN WE EDIT // MORE THAN ONE EDITOR PER EDITING SESSION
RefPtr<mozilla::ComposerCommandsUpdater> mComposerCommandsUpdater;
// Save the editor type so we can create the editor after loading uri
nsCString mEditorType;
uint32_t mEditorFlags;
uint32_t mEditorStatus;
uint32_t mBaseCommandControllerId;
uint32_t mDocStateControllerId;
uint32_t mHTMLCommandControllerId;
// Make sure the docshell we use is safe
nsWeakPtr mDocShell;
// See if we can reuse an existing editor
nsWeakPtr mExistingEditor;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.