commit dbcc1c1c53cc18c12ee083b6f1619fe15384682e
parent 6d4b13a89069bf57d5e58c11929a27673f64d66b
Author: Edgar Chen <echen@mozilla.com>
Date: Wed, 19 Nov 2025 21:24:44 +0000
Bug 2000705 - Use default member initializers for DataTransfer data members; r=dom-core,smaug
Differential Revision: https://phabricator.services.mozilla.com/D272946
Diffstat:
2 files changed, 11 insertions(+), 34 deletions(-)
diff --git a/dom/events/DataTransfer.cpp b/dom/events/DataTransfer.cpp
@@ -117,17 +117,10 @@ DataTransfer::DataTransfer(
nsISupports* aParent, EventMessage aEventMessage, bool aIsExternal,
mozilla::Maybe<nsIClipboard::ClipboardType> aClipboardType)
: mParent(aParent),
- mDropEffect(nsIDragService::DRAGDROP_ACTION_NONE),
- mEffectAllowed(nsIDragService::DRAGDROP_ACTION_UNINITIALIZED),
mEventMessage(aEventMessage),
- mCursorState(false),
mMode(ModeForEvent(aEventMessage)),
mIsExternal(aIsExternal),
- mUserCancelled(false),
- mIsCrossDomainSubFrameDrop(false),
- mClipboardType(aClipboardType),
- mDragImageX(0),
- mDragImageY(0) {
+ mClipboardType(aClipboardType) {
mItems = new DataTransferItemList(this);
// For external usage, cache the data from the native clipboard or drag.
@@ -148,16 +141,9 @@ DataTransfer::DataTransfer(nsISupports* aParent, EventMessage aEventMessage,
nsITransferable* aTransferable)
: mParent(aParent),
mTransferable(aTransferable),
- mDropEffect(nsIDragService::DRAGDROP_ACTION_NONE),
- mEffectAllowed(nsIDragService::DRAGDROP_ACTION_UNINITIALIZED),
mEventMessage(aEventMessage),
- mCursorState(false),
mMode(ModeForEvent(aEventMessage)),
- mIsExternal(true),
- mUserCancelled(false),
- mIsCrossDomainSubFrameDrop(false),
- mDragImageX(0),
- mDragImageY(0) {
+ mIsExternal(true) {
mItems = new DataTransferItemList(this);
// XXX Currently, we cannot make DataTransfer grabs mTransferable for long
@@ -181,16 +167,8 @@ DataTransfer::DataTransfer(nsISupports* aParent, EventMessage aEventMessage,
DataTransfer::DataTransfer(nsISupports* aParent, EventMessage aEventMessage,
const nsAString& aString)
: mParent(aParent),
- mDropEffect(nsIDragService::DRAGDROP_ACTION_NONE),
- mEffectAllowed(nsIDragService::DRAGDROP_ACTION_UNINITIALIZED),
mEventMessage(aEventMessage),
- mCursorState(false),
- mMode(ModeForEvent(aEventMessage)),
- mIsExternal(false),
- mUserCancelled(false),
- mIsCrossDomainSubFrameDrop(false),
- mDragImageX(0),
- mDragImageY(0) {
+ mMode(ModeForEvent(aEventMessage)) {
mItems = new DataTransferItemList(this);
nsCOMPtr<nsIPrincipal> sysPrincipal = nsContentUtils::GetSystemPrincipal();
@@ -212,7 +190,6 @@ DataTransfer::DataTransfer(
DataTransferItemList* aItems, Element* aDragImage, uint32_t aDragImageX,
uint32_t aDragImageY, bool aShowFailAnimation)
: mParent(aParent),
- mDropEffect(nsIDragService::DRAGDROP_ACTION_NONE),
mEffectAllowed(aEffectAllowed),
mEventMessage(aEventMessage),
mCursorState(aCursorState),
diff --git a/dom/events/DataTransfer.h b/dom/events/DataTransfer.h
@@ -502,29 +502,29 @@ class DataTransfer final : public nsISupports, public nsWrapperCache {
nsCOMPtr<nsITransferable> mTransferable;
// the drop effect and effect allowed
- uint32_t mDropEffect;
- uint32_t mEffectAllowed;
+ uint32_t mDropEffect = nsIDragService::DRAGDROP_ACTION_NONE;
+ uint32_t mEffectAllowed = nsIDragService::DRAGDROP_ACTION_UNINITIALIZED;
// the event message this data transfer is for. This will correspond to an
// event->mMessage value.
EventMessage mEventMessage;
// Indicates the behavior of the cursor during drag operations
- bool mCursorState;
+ bool mCursorState = false;
// The current "Drag Data Store Mode" which the DataTransfer is in.
Mode mMode;
// true for drags started without a data transfer, for example, those from
// another application.
- bool mIsExternal;
+ bool mIsExternal = false;
// true if the user cancelled the drag. Used only for the dragend event.
- bool mUserCancelled;
+ bool mUserCancelled = false;
// true if this is a cross-domain drop from a subframe where access to the
// data should be prevented
- bool mIsCrossDomainSubFrameDrop;
+ bool mIsCrossDomainSubFrameDrop = false;
// Indicates which clipboard type to use for clipboard operations. Ignored for
// drag and drop.
@@ -543,8 +543,8 @@ class DataTransfer final : public nsISupports, public nsWrapperCache {
// the custom drag image and coordinates within the image. If mDragImage is
// null, the default image is created from the drag target.
nsCOMPtr<mozilla::dom::Element> mDragImage;
- uint32_t mDragImageX;
- uint32_t mDragImageY;
+ uint32_t mDragImageX = 0;
+ uint32_t mDragImageY = 0;
// Whether to animate the drag back to its starting point if it fails.
// Not supported everywhere.