зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1260651 part.32 Rename EditTxn to mozilla::EditTransactionBase r=mccr8
This patch also renames NS_DECL_EDITTXN to NS_DECL_EDIT_TRANSACTION_BASE. MozReview-Commit-ID: 29TQbKBBEhD --HG-- rename : editor/libeditor/EditTxn.cpp => editor/libeditor/EditTransactionBase.cpp rename : editor/libeditor/EditTxn.h => editor/libeditor/EditTransactionBase.h
This commit is contained in:
Родитель
fb4c83aca3
Коммит
5fb3db78b5
|
@ -17,7 +17,7 @@ using namespace dom;
|
|||
ChangeAttributeTransaction::ChangeAttributeTransaction(Element& aElement,
|
||||
nsIAtom& aAttribute,
|
||||
const nsAString* aValue)
|
||||
: EditTxn()
|
||||
: EditTransactionBase()
|
||||
, mElement(&aElement)
|
||||
, mAttribute(&aAttribute)
|
||||
, mValue(aValue ? *aValue : EmptyString())
|
||||
|
@ -31,13 +31,14 @@ ChangeAttributeTransaction::~ChangeAttributeTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(ChangeAttributeTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(ChangeAttributeTransaction,
|
||||
EditTransactionBase,
|
||||
mElement)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(ChangeAttributeTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(ChangeAttributeTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(ChangeAttributeTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(ChangeAttributeTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ChangeAttributeTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
ChangeAttributeTransaction::DoTransaction()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef ChangeAttributeTransaction_h
|
||||
#define ChangeAttributeTransaction_h
|
||||
|
||||
#include "EditTxn.h" // base class
|
||||
#include "EditTransactionBase.h" // base class
|
||||
#include "mozilla/Attributes.h" // override
|
||||
#include "nsCOMPtr.h" // nsCOMPtr members
|
||||
#include "nsCycleCollectionParticipant.h" // NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED
|
||||
|
@ -25,7 +25,7 @@ class Element;
|
|||
* A transaction that changes an attribute of a content node. This transaction
|
||||
* covers add, remove, and change attribute.
|
||||
*/
|
||||
class ChangeAttributeTransaction final : public EditTxn
|
||||
class ChangeAttributeTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -38,9 +38,10 @@ public:
|
|||
const nsAString* aValue);
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(ChangeAttributeTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(ChangeAttributeTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -24,13 +24,14 @@ using namespace dom;
|
|||
|
||||
#define kNullCh (char16_t('\0'))
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(ChangeStyleTransaction, EditTxn, mElement)
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(ChangeStyleTransaction, EditTransactionBase,
|
||||
mElement)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ChangeStyleTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(ChangeStyleTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(ChangeStyleTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(ChangeStyleTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(ChangeStyleTransaction, EditTransactionBase)
|
||||
|
||||
ChangeStyleTransaction::~ChangeStyleTransaction()
|
||||
{
|
||||
|
@ -122,7 +123,7 @@ ChangeStyleTransaction::ChangeStyleTransaction(Element& aElement,
|
|||
nsIAtom& aProperty,
|
||||
const nsAString& aValue,
|
||||
EChangeType aChangeType)
|
||||
: EditTxn()
|
||||
: EditTransactionBase()
|
||||
, mElement(&aElement)
|
||||
, mProperty(&aProperty)
|
||||
, mValue(aValue)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef ChangeStyleTransaction_h
|
||||
#define ChangeStyleTransaction_h
|
||||
|
||||
#include "EditTxn.h" // base class
|
||||
#include "EditTransactionBase.h" // base class
|
||||
#include "nsCOMPtr.h" // nsCOMPtr members
|
||||
#include "nsCycleCollectionParticipant.h" // various macros
|
||||
#include "nsString.h" // nsString members
|
||||
|
@ -24,14 +24,15 @@ class Element;
|
|||
* A transaction that changes the value of a CSS inline style of a content
|
||||
* node. This transaction covers add, remove, and change a property's value.
|
||||
*/
|
||||
class ChangeStyleTransaction final : public EditTxn
|
||||
class ChangeStyleTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(ChangeStyleTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(ChangeStyleTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ CompositionTransaction::~CompositionTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(CompositionTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(CompositionTransaction, EditTransactionBase,
|
||||
mTextNode)
|
||||
// mRangeList can't lead to cycles
|
||||
|
||||
|
@ -48,10 +48,10 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CompositionTransaction)
|
|||
if (aIID.Equals(NS_GET_IID(CompositionTransaction))) {
|
||||
foundInterface = static_cast<nsITransaction*>(this);
|
||||
} else
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(CompositionTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(CompositionTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(CompositionTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(CompositionTransaction, EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
CompositionTransaction::DoTransaction()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef CompositionTransaction_h
|
||||
#define CompositionTransaction_h
|
||||
|
||||
#include "EditTxn.h" // base class
|
||||
#include "EditTransactionBase.h" // base class
|
||||
#include "nsCycleCollectionParticipant.h" // various macros
|
||||
#include "nsString.h" // mStringToInsert
|
||||
|
||||
|
@ -30,7 +30,7 @@ class Text;
|
|||
* composition string, modifying the composition string or its IME selection
|
||||
* ranges and commit or cancel the composition.
|
||||
*/
|
||||
class CompositionTransaction final : public EditTxn
|
||||
class CompositionTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IMETEXTTXN_IID)
|
||||
|
@ -51,11 +51,12 @@ public:
|
|||
const nsAString& aString,
|
||||
nsEditor& aEditor);
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(CompositionTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(CompositionTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD Merge(nsITransaction* aTransaction, bool* aDidMerge) override;
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ CreateElementTransaction::CreateElementTransaction(nsEditor& aEditor,
|
|||
nsIAtom& aTag,
|
||||
nsINode& aParent,
|
||||
int32_t aOffsetInParent)
|
||||
: EditTxn()
|
||||
: EditTransactionBase()
|
||||
, mEditor(&aEditor)
|
||||
, mTag(&aTag)
|
||||
, mParent(&aParent)
|
||||
|
@ -48,15 +48,16 @@ CreateElementTransaction::~CreateElementTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(CreateElementTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(CreateElementTransaction,
|
||||
EditTransactionBase,
|
||||
mParent,
|
||||
mNewNode,
|
||||
mRefNode)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(CreateElementTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(CreateElementTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(CreateElementTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(CreateElementTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(CreateElementTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef CreateElementTransaction_h
|
||||
#define CreateElementTransaction_h
|
||||
|
||||
#include "EditTxn.h"
|
||||
#include "EditTransactionBase.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsISupportsImpl.h"
|
||||
|
@ -25,7 +25,7 @@ namespace dom {
|
|||
class Element;
|
||||
} // namespace dom
|
||||
|
||||
class CreateElementTransaction final : public EditTxn
|
||||
class CreateElementTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -44,9 +44,10 @@ public:
|
|||
int32_t aOffsetInParent);
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(CreateElementTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(CreateElementTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -22,15 +22,15 @@ DeleteNodeTransaction::~DeleteNodeTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(DeleteNodeTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(DeleteNodeTransaction, EditTransactionBase,
|
||||
mNode,
|
||||
mParent,
|
||||
mRefNode)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(DeleteNodeTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(DeleteNodeTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(DeleteNodeTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(DeleteNodeTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DeleteNodeTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
nsresult
|
||||
DeleteNodeTransaction::Init(nsEditor* aEditor,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef DeleteNodeTransaction_h
|
||||
#define DeleteNodeTransaction_h
|
||||
|
||||
#include "EditTxn.h"
|
||||
#include "EditTransactionBase.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsIContent.h"
|
||||
|
@ -22,7 +22,7 @@ namespace mozilla {
|
|||
/**
|
||||
* A transaction that deletes a single element
|
||||
*/
|
||||
class DeleteNodeTransaction final : public EditTxn
|
||||
class DeleteNodeTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -35,9 +35,10 @@ public:
|
|||
DeleteNodeTransaction();
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DeleteNodeTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DeleteNodeTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#define DeleteRangeTransaction_h
|
||||
|
||||
#include "EditAggregateTransaction.h"
|
||||
#include "EditTxn.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsID.h"
|
||||
#include "nsIEditor.h"
|
||||
|
@ -42,7 +41,7 @@ public:
|
|||
EditAggregateTransaction)
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override;
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -34,11 +34,11 @@ DeleteTextTransaction::DeleteTextTransaction(
|
|||
"Trying to delete more characters than in node");
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(DeleteTextTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(DeleteTextTransaction, EditTransactionBase,
|
||||
mCharData)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DeleteTextTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
nsresult
|
||||
DeleteTextTransaction::Init()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef DeleteTextTransaction_h
|
||||
#define DeleteTextTransaction_h
|
||||
|
||||
#include "EditTxn.h"
|
||||
#include "EditTransactionBase.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsGenericDOMDataNode.h"
|
||||
|
@ -22,7 +22,7 @@ namespace mozilla {
|
|||
/**
|
||||
* A transaction that removes text from a content node.
|
||||
*/
|
||||
class DeleteTextTransaction final : public EditTxn
|
||||
class DeleteTextTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -41,10 +41,11 @@ public:
|
|||
|
||||
nsresult Init();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DeleteTextTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DeleteTextTransaction,
|
||||
EditTransactionBase)
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override;
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
uint32_t GetOffset() { return mOffset; }
|
||||
|
||||
|
|
|
@ -21,13 +21,14 @@ EditAggregateTransaction::~EditAggregateTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(EditAggregateTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(EditAggregateTransaction,
|
||||
EditTransactionBase,
|
||||
mChildren)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(EditAggregateTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(EditAggregateTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(EditAggregateTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(EditAggregateTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(EditAggregateTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
EditAggregateTransaction::DoTransaction()
|
||||
|
@ -109,13 +110,13 @@ EditAggregateTransaction::GetTxnDescription(nsAString& aString)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
EditAggregateTransaction::AppendChild(EditTxn* aTransaction)
|
||||
EditAggregateTransaction::AppendChild(EditTransactionBase* aTransaction)
|
||||
{
|
||||
if (!aTransaction) {
|
||||
return NS_ERROR_NULL_POINTER;
|
||||
}
|
||||
|
||||
RefPtr<EditTxn> *slot = mChildren.AppendElement();
|
||||
RefPtr<EditTransactionBase>* slot = mChildren.AppendElement();
|
||||
if (!slot) {
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef EditAggregateTransaction_h
|
||||
#define EditAggregateTransaction_h
|
||||
|
||||
#include "EditTxn.h"
|
||||
#include "EditTransactionBase.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsIAtom.h"
|
||||
|
@ -22,15 +22,16 @@ namespace mozilla {
|
|||
* base class for all document editing transactions that require aggregation.
|
||||
* provides a list of child transactions.
|
||||
*/
|
||||
class EditAggregateTransaction : public EditTxn
|
||||
class EditAggregateTransaction : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
EditAggregateTransaction();
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(EditAggregateTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(EditAggregateTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
NS_IMETHOD Merge(nsITransaction* aTransaction, bool* aDidMerge) override;
|
||||
|
@ -38,7 +39,7 @@ public:
|
|||
/**
|
||||
* Append a transaction to this aggregate.
|
||||
*/
|
||||
NS_IMETHOD AppendChild(EditTxn* aTxn);
|
||||
NS_IMETHOD AppendChild(EditTransactionBase* aTransaction);
|
||||
|
||||
/**
|
||||
* Get the name assigned to this transaction.
|
||||
|
@ -48,7 +49,7 @@ public:
|
|||
protected:
|
||||
virtual ~EditAggregateTransaction();
|
||||
|
||||
nsTArray<RefPtr<EditTxn>> mChildren;
|
||||
nsTArray<RefPtr<EditTransactionBase>> mChildren;
|
||||
nsCOMPtr<nsIAtom> mName;
|
||||
};
|
||||
|
||||
|
|
|
@ -3,38 +3,41 @@
|
|||
* 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 "EditTxn.h"
|
||||
#include "EditTransactionBase.h"
|
||||
#include "nsError.h"
|
||||
#include "nsISupportsBase.h"
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(EditTxn)
|
||||
namespace mozilla {
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_0(EditTxn)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(EditTxn)
|
||||
NS_IMPL_CYCLE_COLLECTION_CLASS(EditTransactionBase)
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_UNLINK_0(EditTransactionBase)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(EditTransactionBase)
|
||||
// We don't have anything to traverse, but some of our subclasses do.
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(EditTxn)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(EditTransactionBase)
|
||||
NS_INTERFACE_MAP_ENTRY(nsITransaction)
|
||||
NS_INTERFACE_MAP_ENTRY(nsPIEditorTransaction)
|
||||
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsITransaction)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(EditTxn)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(EditTxn, LastRelease())
|
||||
NS_IMPL_CYCLE_COLLECTING_ADDREF(EditTransactionBase)
|
||||
NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(EditTransactionBase,
|
||||
LastRelease())
|
||||
|
||||
EditTxn::~EditTxn()
|
||||
EditTransactionBase::~EditTransactionBase()
|
||||
{
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
EditTxn::RedoTransaction(void)
|
||||
EditTransactionBase::RedoTransaction()
|
||||
{
|
||||
return DoTransaction();
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
EditTxn::GetIsTransient(bool *aIsTransient)
|
||||
EditTransactionBase::GetIsTransient(bool* aIsTransient)
|
||||
{
|
||||
*aIsTransient = false;
|
||||
|
||||
|
@ -42,9 +45,11 @@ EditTxn::GetIsTransient(bool *aIsTransient)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
EditTxn::Merge(nsITransaction *aTransaction, bool *aDidMerge)
|
||||
EditTransactionBase::Merge(nsITransaction* aTransaction, bool* aDidMerge)
|
||||
{
|
||||
*aDidMerge = false;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
} // namespace mozilla
|
|
@ -3,8 +3,8 @@
|
|||
* 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/. */
|
||||
|
||||
#ifndef EditTxn_h__
|
||||
#define EditTxn_h__
|
||||
#ifndef EditTransactionBase_h
|
||||
#define EditTransactionBase_h
|
||||
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsISupportsImpl.h"
|
||||
|
@ -12,29 +12,33 @@
|
|||
#include "nsPIEditorTransaction.h"
|
||||
#include "nscore.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
/**
|
||||
* Base class for all document editing transactions.
|
||||
*/
|
||||
class EditTxn : public nsITransaction,
|
||||
public nsPIEditorTransaction
|
||||
class EditTransactionBase : public nsITransaction
|
||||
, public nsPIEditorTransaction
|
||||
{
|
||||
public:
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(EditTxn, nsITransaction)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_AMBIGUOUS(EditTransactionBase, nsITransaction)
|
||||
|
||||
virtual void LastRelease() {}
|
||||
|
||||
NS_IMETHOD RedoTransaction(void) override;
|
||||
NS_IMETHOD GetIsTransient(bool *aIsTransient) override;
|
||||
NS_IMETHOD Merge(nsITransaction *aTransaction, bool *aDidMerge) override;
|
||||
NS_IMETHOD GetIsTransient(bool* aIsTransient) override;
|
||||
NS_IMETHOD Merge(nsITransaction* aTransaction, bool* aDidMerge) override;
|
||||
|
||||
protected:
|
||||
virtual ~EditTxn();
|
||||
virtual ~EditTransactionBase();
|
||||
};
|
||||
|
||||
#define NS_DECL_EDITTXN \
|
||||
} // namespace mozilla
|
||||
|
||||
#define NS_DECL_EDITTRANSACTIONBASE \
|
||||
NS_IMETHOD DoTransaction() override; \
|
||||
NS_IMETHOD UndoTransaction() override; \
|
||||
NS_IMETHOD GetTxnDescription(nsAString& aTxnDescription) override;
|
||||
NS_IMETHOD GetTxnDescription(nsAString& aTransactionDescription) override;
|
||||
|
||||
#endif
|
||||
#endif // #ifndef EditTransactionBase_h
|
|
@ -35,14 +35,14 @@ InsertNodeTransaction::~InsertNodeTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(InsertNodeTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(InsertNodeTransaction, EditTransactionBase,
|
||||
mNode,
|
||||
mParent)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(InsertNodeTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(InsertNodeTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(InsertNodeTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(InsertNodeTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(InsertNodeTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
InsertNodeTransaction::DoTransaction()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef InsertNodeTransaction_h
|
||||
#define InsertNodeTransaction_h
|
||||
|
||||
#include "EditTxn.h" // for EditTxn, NS_DECL_EDITTXN
|
||||
#include "EditTransactionBase.h" // for EditTransactionBase, etc
|
||||
#include "nsCOMPtr.h" // for nsCOMPtr
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsIContent.h" // for nsIContent
|
||||
|
@ -19,7 +19,7 @@ namespace mozilla {
|
|||
/**
|
||||
* A transaction that inserts a single element
|
||||
*/
|
||||
class InsertNodeTransaction final : public EditTxn
|
||||
class InsertNodeTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -32,9 +32,10 @@ public:
|
|||
nsEditor& aEditor);
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(InsertNodeTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(InsertNodeTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
protected:
|
||||
virtual ~InsertNodeTransaction();
|
||||
|
|
|
@ -32,16 +32,16 @@ InsertTextTransaction::~InsertTextTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(InsertTextTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(InsertTextTransaction, EditTransactionBase,
|
||||
mTextNode)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(InsertTextTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(InsertTextTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(InsertTextTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(InsertTextTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(InsertTextTransaction)
|
||||
if (aIID.Equals(NS_GET_IID(InsertTextTransaction))) {
|
||||
foundInterface = static_cast<nsITransaction*>(this);
|
||||
} else
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef InsertTextTransaction_h
|
||||
#define InsertTextTransaction_h
|
||||
|
||||
#include "EditTxn.h" // base class
|
||||
#include "EditTransactionBase.h" // base class
|
||||
#include "nsCycleCollectionParticipant.h" // various macros
|
||||
#include "nsID.h" // NS_DECLARE_STATIC_IID_ACCESSOR
|
||||
#include "nsISupportsImpl.h" // NS_DECL_ISUPPORTS_INHERITED
|
||||
|
@ -29,7 +29,7 @@ class Text;
|
|||
/**
|
||||
* A transaction that inserts text into a content node.
|
||||
*/
|
||||
class InsertTextTransaction final : public EditTxn
|
||||
class InsertTextTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
NS_DECLARE_STATIC_IID_ACCESSOR(NS_INSERTTEXTTXN_IID)
|
||||
|
@ -44,9 +44,10 @@ public:
|
|||
const nsAString& aString, nsEditor& aEditor);
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(InsertTextTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(InsertTextTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD Merge(nsITransaction* aTransaction, bool* aDidMerge) override;
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "nsIContent.h" // for nsIContent
|
||||
#include "nsIDOMCharacterData.h" // for nsIDOMCharacterData
|
||||
#include "nsIEditor.h" // for nsEditor::IsModifiableNode
|
||||
#include "nsISupportsImpl.h" // for EditTxn::QueryInterface, etc
|
||||
#include "nsISupportsImpl.h" // for QueryInterface, etc
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
|
@ -27,13 +27,13 @@ JoinNodeTransaction::JoinNodeTransaction(nsEditor& aEditor,
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(JoinNodeTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(JoinNodeTransaction, EditTransactionBase,
|
||||
mLeftNode,
|
||||
mRightNode,
|
||||
mParent)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(JoinNodeTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
nsresult
|
||||
JoinNodeTransaction::CheckValidity()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef JoinNodeTransaction_h
|
||||
#define JoinNodeTransaction_h
|
||||
|
||||
#include "EditTxn.h" // for EditTxn, NS_DECL_EDITTXN
|
||||
#include "EditTransactionBase.h" // for EditTransactionBase, etc
|
||||
#include "nsCOMPtr.h" // for nsCOMPtr
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsID.h" // for REFNSIID
|
||||
|
@ -23,7 +23,7 @@ namespace mozilla {
|
|||
* children of E2. After DoTransaction() and RedoTransaction(), E1 is removed
|
||||
* from the content tree and E2 remains.
|
||||
*/
|
||||
class JoinNodeTransaction final : public EditTxn
|
||||
class JoinNodeTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -39,10 +39,11 @@ public:
|
|||
*/
|
||||
nsresult CheckValidity();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(JoinNodeTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(JoinNodeTransaction,
|
||||
EditTransactionBase)
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override;
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
protected:
|
||||
nsEditor& mEditor;
|
||||
|
|
|
@ -125,13 +125,14 @@ PlaceholderTransaction::Merge(nsITransaction* aTransaction,
|
|||
nsCOMPtr<nsPIEditorTransaction> pTxn = do_QueryInterface(aTransaction);
|
||||
NS_ENSURE_TRUE(pTxn, NS_OK); // it's foreign so just bail!
|
||||
|
||||
EditTxn *editTxn = (EditTxn*)aTransaction; //XXX: hack, not safe! need nsIEditTransaction!
|
||||
// XXX: hack, not safe! need nsIEditTransaction!
|
||||
EditTransactionBase* editTransactionBase = (EditTransactionBase*)aTransaction;
|
||||
// determine if this incoming txn is a placeholder txn
|
||||
nsCOMPtr<nsIAbsorbingTransaction> plcTxn = do_QueryObject(editTxn);
|
||||
nsCOMPtr<nsIAbsorbingTransaction> absorbingTransaction =
|
||||
do_QueryObject(editTransactionBase);
|
||||
|
||||
// we are absorbing all txn's if mAbsorb is lit.
|
||||
if (mAbsorb)
|
||||
{
|
||||
// We are absorbing all transactions if mAbsorb is lit.
|
||||
if (mAbsorb) {
|
||||
RefPtr<CompositionTransaction> otherTransaction =
|
||||
do_QueryObject(aTransaction);
|
||||
if (otherTransaction) {
|
||||
|
@ -140,7 +141,7 @@ PlaceholderTransaction::Merge(nsITransaction* aTransaction,
|
|||
if (!mCompositionTransaction) {
|
||||
// this is the first IME txn in the placeholder
|
||||
mCompositionTransaction = otherTransaction;
|
||||
AppendChild(editTxn);
|
||||
AppendChild(editTransactionBase);
|
||||
} else {
|
||||
bool didMerge;
|
||||
mCompositionTransaction->Merge(otherTransaction, &didMerge);
|
||||
|
@ -149,42 +150,37 @@ PlaceholderTransaction::Merge(nsITransaction* aTransaction,
|
|||
// not absorb further IME txns. So just stack this one after it
|
||||
// and remember it as a candidate for further merges.
|
||||
mCompositionTransaction = otherTransaction;
|
||||
AppendChild(editTxn);
|
||||
AppendChild(editTransactionBase);
|
||||
}
|
||||
}
|
||||
} else if (!plcTxn) {
|
||||
} else if (!absorbingTransaction) {
|
||||
// See bug 171243: just drop incoming placeholders on the floor.
|
||||
// Their children will be swallowed by this preexisting one.
|
||||
AppendChild(editTxn);
|
||||
AppendChild(editTransactionBase);
|
||||
}
|
||||
*aDidMerge = true;
|
||||
// RememberEndingSelection();
|
||||
// efficiency hack: no need to remember selection here, as we haven't yet
|
||||
// finished the initial batch and we know we will be told when the batch ends.
|
||||
// we can remeber the selection then.
|
||||
}
|
||||
else
|
||||
{ // merge typing or IME or deletion transactions if the selection matches
|
||||
} else {
|
||||
// merge typing or IME or deletion transactions if the selection matches
|
||||
if (((mName.get() == nsGkAtoms::TypingTxnName) ||
|
||||
(mName.get() == nsGkAtoms::IMETxnName) ||
|
||||
(mName.get() == nsGkAtoms::DeleteTxnName))
|
||||
&& !mCommitted )
|
||||
{
|
||||
nsCOMPtr<nsIAbsorbingTransaction> plcTxn = do_QueryObject(editTxn);
|
||||
if (plcTxn) {
|
||||
&& !mCommitted) {
|
||||
if (absorbingTransaction) {
|
||||
nsCOMPtr<nsIAtom> atom;
|
||||
plcTxn->GetTxnName(getter_AddRefs(atom));
|
||||
if (atom && (atom == mName))
|
||||
{
|
||||
absorbingTransaction->GetTxnName(getter_AddRefs(atom));
|
||||
if (atom && atom == mName) {
|
||||
// check if start selection of next placeholder matches
|
||||
// end selection of this placeholder
|
||||
bool isSame;
|
||||
plcTxn->StartSelectionEquals(&mEndSel, &isSame);
|
||||
if (isSame)
|
||||
{
|
||||
absorbingTransaction->StartSelectionEquals(&mEndSel, &isSame);
|
||||
if (isSame) {
|
||||
mAbsorb = true; // we need to start absorbing again
|
||||
plcTxn->ForwardEndBatchTo(this);
|
||||
// AppendChild(editTxn);
|
||||
absorbingTransaction->ForwardEndBatchTo(this);
|
||||
// AppendChild(editTransactionBase);
|
||||
// see bug 171243: we don't need to merge placeholders
|
||||
// into placeholders. We just reactivate merging in the pre-existing
|
||||
// placeholder and drop the new one on the floor. The EndPlaceHolderBatch()
|
||||
|
|
|
@ -39,7 +39,7 @@ public:
|
|||
EditAggregateTransaction)
|
||||
// ------------ EditAggregateTransaction -----------------------
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
NS_IMETHOD Merge(nsITransaction* aTransaction, bool* aDidMerge) override;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef SetDocumentTitleTransaction_h
|
||||
#define SetDocumentTitleTransaction_h
|
||||
|
||||
#include "EditTxn.h" // for EditTxn, NS_DECL_EDITTXN
|
||||
#include "EditTransactionBase.h" // for EditTransactionBase, etc
|
||||
#include "nsString.h" // for nsString
|
||||
#include "nscore.h" // for NS_IMETHOD, nsAString, etc
|
||||
|
||||
|
@ -19,7 +19,7 @@ namespace mozilla {
|
|||
* which is a text node under the <title> tag in a page's <head> section
|
||||
* provides default concrete behavior for all nsITransaction methods.
|
||||
*/
|
||||
class SetDocumentTitleTransaction final : public EditTxn
|
||||
class SetDocumentTitleTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@ private:
|
|||
nsresult SetDomTitle(const nsAString& aTitle);
|
||||
|
||||
public:
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
NS_IMETHOD GetIsTransient(bool *aIsTransient) override;
|
||||
|
|
|
@ -29,14 +29,14 @@ SplitNodeTransaction::~SplitNodeTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(SplitNodeTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(SplitNodeTransaction, EditTransactionBase,
|
||||
mParent,
|
||||
mNewLeftNode)
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(SplitNodeTransaction, EditTxn)
|
||||
NS_IMPL_RELEASE_INHERITED(SplitNodeTransaction, EditTxn)
|
||||
NS_IMPL_ADDREF_INHERITED(SplitNodeTransaction, EditTransactionBase)
|
||||
NS_IMPL_RELEASE_INHERITED(SplitNodeTransaction, EditTransactionBase)
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(SplitNodeTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
SplitNodeTransaction::DoTransaction()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef SplitNodeTransaction_h
|
||||
#define SplitNodeTransaction_h
|
||||
|
||||
#include "EditTxn.h" // for EditTxn, NS_DECL_EDITTXN
|
||||
#include "EditTransactionBase.h" // for EditTxn, etc
|
||||
#include "nsCOMPtr.h" // for nsCOMPtr
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsISupportsImpl.h" // for NS_DECL_ISUPPORTS_INHERITED
|
||||
|
@ -22,7 +22,7 @@ namespace mozilla {
|
|||
* A transaction that splits a node into two identical nodes, with the children
|
||||
* divided between the new nodes.
|
||||
*/
|
||||
class SplitNodeTransaction final : public EditTxn
|
||||
class SplitNodeTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -35,9 +35,10 @@ public:
|
|||
SplitNodeTransaction(nsEditor& aEditor, nsIContent& aNode, int32_t aOffset);
|
||||
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(SplitNodeTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(SplitNodeTransaction,
|
||||
EditTransactionBase)
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
NS_IMETHOD RedoTransaction() override;
|
||||
|
||||
|
|
|
@ -55,11 +55,12 @@ AddStyleSheetTransaction::AddStyleSheetTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(AddStyleSheetTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(AddStyleSheetTransaction,
|
||||
EditTransactionBase,
|
||||
mSheet)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(AddStyleSheetTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
AddStyleSheetTransaction::Init(nsIEditor* aEditor,
|
||||
|
@ -108,11 +109,12 @@ RemoveStyleSheetTransaction::RemoveStyleSheetTransaction()
|
|||
{
|
||||
}
|
||||
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(RemoveStyleSheetTransaction, EditTxn,
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(RemoveStyleSheetTransaction,
|
||||
EditTransactionBase,
|
||||
mSheet)
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(RemoveStyleSheetTransaction)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTxn)
|
||||
NS_INTERFACE_MAP_END_INHERITING(EditTransactionBase)
|
||||
|
||||
NS_IMETHODIMP
|
||||
RemoveStyleSheetTransaction::Init(nsIEditor* aEditor,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#ifndef StylesheetTransactions_h
|
||||
#define StylesheetTransactions_h
|
||||
|
||||
#include "EditTxn.h" // for EditTxn, NS_DECL_EDITTXN
|
||||
#include "EditTransactionBase.h" // for EditTransactionBase, etc
|
||||
#include "mozilla/StyleSheetHandle.h" // for mozilla::StyleSheetHandle
|
||||
#include "nsCycleCollectionParticipant.h"
|
||||
#include "nsID.h" // for REFNSIID
|
||||
|
@ -16,7 +16,7 @@ class nsIEditor;
|
|||
|
||||
namespace mozilla {
|
||||
|
||||
class AddStyleSheetTransaction final : public EditTxn
|
||||
class AddStyleSheetTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -28,10 +28,11 @@ public:
|
|||
|
||||
AddStyleSheetTransaction();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(AddStyleSheetTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(AddStyleSheetTransaction,
|
||||
EditTransactionBase)
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override;
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
protected:
|
||||
// The editor that created this transaction.
|
||||
|
@ -41,7 +42,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
class RemoveStyleSheetTransaction final : public EditTxn
|
||||
class RemoveStyleSheetTransaction final : public EditTransactionBase
|
||||
{
|
||||
public:
|
||||
/**
|
||||
|
@ -53,10 +54,11 @@ public:
|
|||
|
||||
RemoveStyleSheetTransaction();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(RemoveStyleSheetTransaction, EditTxn)
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(RemoveStyleSheetTransaction,
|
||||
EditTransactionBase)
|
||||
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr) override;
|
||||
|
||||
NS_DECL_EDITTXN
|
||||
NS_DECL_EDITTRANSACTIONBASE
|
||||
|
||||
protected:
|
||||
// The editor that created this transaction.
|
||||
|
|
|
@ -23,7 +23,7 @@ UNIFIED_SOURCES += [
|
|||
'DeleteTextTransaction.cpp',
|
||||
'EditAggregateTransaction.cpp',
|
||||
'EditorUtils.cpp',
|
||||
'EditTxn.cpp',
|
||||
'EditTransactionBase.cpp',
|
||||
'HTMLEditUtils.cpp',
|
||||
'InsertNodeTransaction.cpp',
|
||||
'InsertTextTransaction.cpp',
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include "DeleteTextTransaction.h" // for DeleteTextTransaction
|
||||
#include "EditAggregateTransaction.h" // for EditAggregateTransaction
|
||||
#include "EditorUtils.h" // for AutoRules, etc
|
||||
#include "EditTxn.h" // for EditTxn
|
||||
#include "EditTransactionBase.h" // for EditTransactionBase
|
||||
#include "InsertNodeTransaction.h" // for InsertNodeTransaction
|
||||
#include "InsertTextTransaction.h" // for InsertTextTransaction
|
||||
#include "JoinNodeTransaction.h" // for JoinNodeTransaction
|
||||
|
@ -2408,7 +2408,7 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
Text& aTextNode,
|
||||
int32_t aOffset, bool aSuppressIME)
|
||||
{
|
||||
RefPtr<EditTxn> txn;
|
||||
RefPtr<EditTransactionBase> transaction;
|
||||
bool isIMETransaction = false;
|
||||
int32_t replacedOffset = 0;
|
||||
int32_t replacedLength = 0;
|
||||
|
@ -2436,7 +2436,7 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
textRange.mStartOffset, textRange.Length());
|
||||
}
|
||||
|
||||
txn = CreateTxnForComposition(aStringToInsert);
|
||||
transaction = CreateTxnForComposition(aStringToInsert);
|
||||
isIMETransaction = true;
|
||||
// All characters of the composition string will be replaced with
|
||||
// aStringToInsert. So, we need to emulate to remove the composition
|
||||
|
@ -2445,7 +2445,7 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
replacedLength = mIMETextLength;
|
||||
mIMETextLength = aStringToInsert.Length();
|
||||
} else {
|
||||
txn = CreateTxnForInsertText(aStringToInsert, aTextNode, aOffset);
|
||||
transaction = CreateTxnForInsertText(aStringToInsert, aTextNode, aOffset);
|
||||
}
|
||||
|
||||
// Let listeners know what's up
|
||||
|
@ -2458,7 +2458,7 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
// XXX We may not need these view batches anymore. This is handled at a
|
||||
// higher level now I believe.
|
||||
BeginUpdateViewBatch();
|
||||
nsresult res = DoTransaction(txn);
|
||||
nsresult rv = DoTransaction(transaction);
|
||||
EndUpdateViewBatch();
|
||||
|
||||
if (replacedLength) {
|
||||
|
@ -2472,7 +2472,7 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
for (auto& listener : mActionListeners) {
|
||||
listener->DidInsertText(
|
||||
static_cast<nsIDOMCharacterData*>(aTextNode.AsDOMNode()),
|
||||
aOffset, aStringToInsert, res);
|
||||
aOffset, aStringToInsert, rv);
|
||||
}
|
||||
|
||||
// Added some cruft here for bug 43366. Layout was crashing because we left
|
||||
|
@ -2490,11 +2490,11 @@ nsEditor::InsertTextIntoTextNodeImpl(const nsAString& aStringToInsert,
|
|||
if (!len) {
|
||||
DeleteNode(mIMETextNode);
|
||||
mIMETextNode = nullptr;
|
||||
static_cast<CompositionTransaction*>(txn.get())->MarkFixed();
|
||||
static_cast<CompositionTransaction*>(transaction.get())->MarkFixed();
|
||||
}
|
||||
}
|
||||
|
||||
return res;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "nsHTMLCSSUtils.h"
|
||||
|
||||
#include "ChangeStyleTransaction.h"
|
||||
#include "EditTxn.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/css/Declaration.h"
|
||||
|
|
Загрузка…
Ссылка в новой задаче