mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 10:45:42 +00:00
Bug 1507313 part 3: Convert PresShell::mDelayedEvents into an array of UniquePtr (rather than nsAutoPtr). r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D11947 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
d7065b05db
commit
9626dd9523
@ -6962,10 +6962,8 @@ PresShell::HandleEvent(nsIFrame* aFrame,
|
||||
if (aEvent->mMessage == eKeyDown) {
|
||||
mNoDelayedKeyEvents = true;
|
||||
} else if (!mNoDelayedKeyEvents) {
|
||||
DelayedEvent* event = new DelayedKeyEvent(aEvent->AsKeyboardEvent());
|
||||
if (!mDelayedEvents.AppendElement(event)) {
|
||||
delete event;
|
||||
}
|
||||
auto event = MakeUnique<DelayedKeyEvent>(aEvent->AsKeyboardEvent());
|
||||
mDelayedEvents.AppendElement(std::move(event));
|
||||
}
|
||||
aEvent->mFlags.mIsSuppressedOrDelayed = true;
|
||||
return NS_OK;
|
||||
@ -7184,10 +7182,8 @@ PresShell::HandleEvent(nsIFrame* aFrame,
|
||||
// contextmenu is triggered after right mouseup on Windows and right
|
||||
// mousedown on other platforms.
|
||||
aEvent->mMessage == eContextMenu)) {
|
||||
DelayedEvent* event = new DelayedMouseEvent(aEvent->AsMouseEvent());
|
||||
if (!mDelayedEvents.AppendElement(event)) {
|
||||
delete event;
|
||||
}
|
||||
auto event = MakeUnique<DelayedMouseEvent>(aEvent->AsMouseEvent());
|
||||
mDelayedEvents.AppendElement(std::move(event));
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
@ -8724,7 +8720,7 @@ PresShell::FireOrClearDelayedEvents(bool aFireEvents)
|
||||
nsCOMPtr<nsIDocument> doc = mDocument;
|
||||
while (!mIsDestroying && mDelayedEvents.Length() &&
|
||||
!doc->EventHandlingSuppressed()) {
|
||||
nsAutoPtr<DelayedEvent> ev(mDelayedEvents[0].forget());
|
||||
UniquePtr<DelayedEvent> ev = std::move(mDelayedEvents[0]);
|
||||
mDelayedEvents.RemoveElementAt(0);
|
||||
if (ev->IsKeyPressEvent() && mIsLastKeyDownCanceled) {
|
||||
continue;
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/ServoStyleSet.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsContentUtils.h" // For AddScriptBlocker().
|
||||
#include "nsCRT.h"
|
||||
#include "nsIObserver.h"
|
||||
@ -785,7 +784,7 @@ private:
|
||||
// we finish reflowing mCurrentReflowRoot.
|
||||
nsTHashtable<nsPtrHashKey<nsIFrame> > mFramesToDirty;
|
||||
|
||||
nsTArray<nsAutoPtr<DelayedEvent> > mDelayedEvents;
|
||||
nsTArray<UniquePtr<DelayedEvent>> mDelayedEvents;
|
||||
private:
|
||||
nsRevocableEventPtr<nsSynthMouseMoveEvent> mSynthMouseMoveEvent;
|
||||
nsCOMPtr<nsIContent> mLastAnchorScrolledTo;
|
||||
|
Loading…
Reference in New Issue
Block a user