tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mdom/events/DataTransfer.cpp | 29+++--------------------------
Mdom/events/DataTransfer.h | 16++++++++--------
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.