mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1449631 part 8. Remove nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: 5wQ2LYrjUxf
This commit is contained in:
parent
adbcff27c1
commit
14f26fccf6
@ -307,11 +307,10 @@ Attr::RemoveChildNode(nsIContent* aKid, bool aNotify)
|
||||
{
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
Attr::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = true;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
virtual void SetNodeValueInternal(const nsAString& aNodeValue,
|
||||
ErrorResult& aError) override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
// nsIAttribute interface
|
||||
void SetMap(nsDOMAttributeMap *aMap) override;
|
||||
|
@ -3229,7 +3229,7 @@ Element::CheckHandleEventForLinksPrecondition(EventChainVisitor& aVisitor,
|
||||
return IsLink(aURI);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
Element::GetEventTargetParentForLinks(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
// Optimisation: return early if this event doesn't interest us.
|
||||
@ -3241,17 +3241,15 @@ Element::GetEventTargetParentForLinks(EventChainPreVisitor& aVisitor)
|
||||
case eBlur:
|
||||
break;
|
||||
default:
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
// Make sure we meet the preconditions before continuing
|
||||
nsCOMPtr<nsIURI> absURI;
|
||||
if (!CheckHandleEventForLinksPrecondition(aVisitor, getter_AddRefs(absURI))) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
// We do the status bar updates in GetEventTargetParent so that the status bar
|
||||
// gets updated even if the event is consumed before we have a chance to set
|
||||
// it.
|
||||
@ -3276,19 +3274,18 @@ Element::GetEventTargetParentForLinks(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mEventStatus = nsEventStatus_eConsumeNoDefault;
|
||||
MOZ_FALLTHROUGH;
|
||||
case eBlur:
|
||||
rv = LeaveLink(aVisitor.mPresContext);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
aVisitor.mEvent->mFlags.mMultipleActionsPrevented = true;
|
||||
{
|
||||
nsresult rv = LeaveLink(aVisitor.mPresContext);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
aVisitor.mEvent->mFlags.mMultipleActionsPrevented = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// switch not in sync with the optimization switch earlier in this function
|
||||
NS_NOTREACHED("switch statements not in sync");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -1919,7 +1919,7 @@ protected:
|
||||
/**
|
||||
* Handle status bar updates before they can be cancelled.
|
||||
*/
|
||||
nsresult GetEventTargetParentForLinks(EventChainPreVisitor& aVisitor);
|
||||
void GetEventTargetParentForLinks(EventChainPreVisitor& aVisitor);
|
||||
|
||||
/**
|
||||
* Handle default actions for link event if the event isn't consumed yet.
|
||||
|
@ -895,7 +895,7 @@ FindChromeAccessOnlySubtreeOwner(EventTarget* aTarget)
|
||||
return node.forget();
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
//FIXME! Document how this event retargeting works, Bug 329124.
|
||||
@ -975,7 +975,7 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.SetParentTarget(nullptr, false);
|
||||
// Event should not propagate to non-anon content.
|
||||
aVisitor.mCanHandle = isAnonForEvents;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1079,7 +1079,7 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// being false, but in Shadow DOM case mTarget really should
|
||||
// point to a node in Shadow DOM.
|
||||
aVisitor.mEvent->mTarget = aVisitor.mTargetInKnownToBeHandledScope;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
// Part of step 5. Retargeting target has happened already higher
|
||||
@ -1123,7 +1123,7 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// being false, but in Shadow DOM case mTarget really should
|
||||
// point to a node in Shadow DOM.
|
||||
aVisitor.mEvent->mTarget = aVisitor.mTargetInKnownToBeHandledScope;
|
||||
return NS_OK;
|
||||
return;
|
||||
} else {
|
||||
// Step 11.6
|
||||
aVisitor.mRetargetedRelatedTarget = retargetedRelatedTarget;
|
||||
@ -1137,8 +1137,6 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// Inform that we're about to exit the current scope.
|
||||
aVisitor.mRelatedTargetRetargetedInCurrentScope = false;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -434,7 +434,7 @@ ShadowRoot::RemoveFromIdTable(Element* aElement, nsAtom* aId)
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
ShadowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = true;
|
||||
@ -456,7 +456,7 @@ ShadowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
? win->GetParentTarget() : nullptr;
|
||||
|
||||
aVisitor.SetParentTarget(parentTarget, true);
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -467,8 +467,6 @@ ShadowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
if (content && content->GetBindingParent() == shadowHost) {
|
||||
aVisitor.mEventTargetAtParent = shadowHost;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
ShadowRoot::SlotAssignment
|
||||
|
@ -188,7 +188,7 @@ public:
|
||||
|
||||
void SetIsComposedDocParticipant(bool aIsComposedDocParticipant);
|
||||
|
||||
nsresult GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
protected:
|
||||
// FIXME(emilio): This will need to become more fine-grained.
|
||||
|
@ -7465,7 +7465,7 @@ nsDocument::GetExistingListenerManager() const
|
||||
return mListenerManager;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsDocument::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (mDocGroup && aVisitor.mEvent->mMessage != eVoidEvent &&
|
||||
@ -7484,7 +7484,6 @@ nsDocument::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.SetParentTarget(
|
||||
window ? window->GetTargetForEventTargetChain() : nullptr, false);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
already_AddRefed<Event>
|
||||
|
@ -211,9 +211,8 @@ public:
|
||||
using mozilla::dom::DocumentOrShadowRoot::GetElementsByTagNameNS;
|
||||
using mozilla::dom::DocumentOrShadowRoot::GetElementsByClassName;
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
virtual mozilla::EventListenerManager*
|
||||
GetOrCreateListenerManager() override;
|
||||
virtual mozilla::EventListenerManager*
|
||||
|
@ -52,15 +52,15 @@ public:
|
||||
virtual void UnbindFromTree(bool aDeep, bool aNullParent) override;
|
||||
virtual EventStates IntrinsicState() const override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(EventChainPreVisitor& aVisitor) override
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override
|
||||
{
|
||||
MOZ_ASSERT(IsInNativeAnonymousSubtree());
|
||||
if (aVisitor.mEvent->mMessage == eLoad ||
|
||||
aVisitor.mEvent->mMessage == eLoadError) {
|
||||
// Don't propagate the events to the parent.
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -1947,7 +1947,7 @@ nsGlobalWindowInner::GetTargetForDOMEvent()
|
||||
return GetOuterWindowInternal();
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsGlobalWindowInner::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
EventMessage msg = aVisitor.mEvent->mMessage;
|
||||
@ -1986,8 +1986,6 @@ nsGlobalWindowInner::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mEvent->HasDragEventMessage())) {
|
||||
mAddActiveEventFuzzTime = false;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -340,6 +340,8 @@ public:
|
||||
mozilla::dom::CallerType aCallerType,
|
||||
mozilla::ErrorResult& aRv) override;
|
||||
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
nsresult PostHandleEvent(mozilla::EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
// nsPIDOMWindow
|
||||
|
@ -2337,7 +2337,7 @@ nsGlobalWindowOuter::GetTargetForEventTargetChain()
|
||||
return GetCurrentInnerWindowInternal();
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsGlobalWindowOuter::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
MOZ_CRASH("The outer window should not be part of an event path");
|
||||
|
@ -297,6 +297,8 @@ public:
|
||||
mozilla::dom::CallerType aCallerType,
|
||||
mozilla::ErrorResult& aRv) override;
|
||||
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
nsresult PostHandleEvent(mozilla::EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
// nsPIDOMWindow
|
||||
|
@ -771,8 +771,7 @@ public:
|
||||
already_AddRefed<mozilla::URLExtraData>
|
||||
GetURLDataForStyleAttr(nsIPrincipal* aSubjectPrincipal = nullptr) const;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
bool IsPurple() const
|
||||
{
|
||||
|
@ -1087,14 +1087,6 @@ nsINode::AddSystemEventListener(const nsAString& aType,
|
||||
aWantsUntrusted);
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsINode::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
MOZ_ASSERT_UNREACHABLE("GetEventTargetParent is only here so that we can "
|
||||
"use the NS_DECL_NSIDOMTARGET macro");
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
void
|
||||
nsINode::GetBoxQuads(const BoxQuadOptions& aOptions,
|
||||
nsTArray<RefPtr<DOMQuad> >& aResult,
|
||||
|
@ -257,7 +257,7 @@ nsInProcessTabChildGlobal::GetOwnerContent()
|
||||
return mOwner;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mForceContentDispatch = true;
|
||||
@ -278,7 +278,7 @@ nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
|
||||
if (mPreventEventsEscaping) {
|
||||
aVisitor.SetParentTarget(nullptr, false);
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
if (mIsBrowserFrame &&
|
||||
@ -293,8 +293,6 @@ nsInProcessTabChildGlobal::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
} else {
|
||||
aVisitor.SetParentTarget(mOwner, false);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -89,8 +89,7 @@ public:
|
||||
JS::Handle<JSObject *> aCpows,
|
||||
nsIPrincipal* aPrincipal) override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
virtual nsIPrincipal* GetPrincipal() override { return mPrincipal; }
|
||||
void LoadFrameScript(const nsAString& aURL, bool aRunInGlobalScope);
|
||||
|
@ -151,7 +151,7 @@ nsWindowRoot::GetExistingListenerManager() const
|
||||
return mListenerManager;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsWindowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = true;
|
||||
@ -159,7 +159,6 @@ nsWindowRoot::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// To keep mWindow alive
|
||||
aVisitor.mItemData = static_cast<nsISupports *>(mWindow);
|
||||
aVisitor.SetParentTarget(mParent, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -42,6 +42,8 @@ public:
|
||||
mozilla::dom::CallerType aCallerType,
|
||||
mozilla::ErrorResult& aRv) override;
|
||||
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
nsresult PostHandleEvent(mozilla::EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
// nsPIWindowRoot
|
||||
|
@ -277,12 +277,11 @@ DOMEventTargetHelper::DispatchTrustedEvent(nsIDOMEvent* event)
|
||||
return rv.StealNSResult();
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
DOMEventTargetHelper::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(nullptr, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -84,6 +84,8 @@ public:
|
||||
bool DispatchEvent(dom::Event& aEvent, dom::CallerType aCallerType,
|
||||
ErrorResult& aRv) override;
|
||||
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
nsresult PostHandleEvent(EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
NS_DECLARE_STATIC_IID_ACCESSOR(NS_DOMEVENTTARGETHELPER_IID)
|
||||
|
@ -422,7 +422,7 @@ void
|
||||
EventTargetChainItem::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.Reset();
|
||||
Unused << mTarget->GetEventTargetParent(aVisitor);
|
||||
mTarget->GetEventTargetParent(aVisitor);
|
||||
SetForceContentDispatch(aVisitor.mForceContentDispatch);
|
||||
SetWantsWillHandleEvent(aVisitor.mWantsWillHandleEvent);
|
||||
SetMayHaveListenerManager(aVisitor.mMayHaveListenerManager);
|
||||
|
@ -20,6 +20,7 @@ namespace mozilla {
|
||||
class AsyncEventDispatcher;
|
||||
class ErrorResult;
|
||||
class EventChainPostVisitor;
|
||||
class EventChainPreVisitor;
|
||||
class EventChainVisitor;
|
||||
class EventListenerManager;
|
||||
|
||||
@ -185,6 +186,23 @@ public:
|
||||
|
||||
virtual bool IsApzAware() const;
|
||||
|
||||
/**
|
||||
* Called before the capture phase of the event flow.
|
||||
* This is used to create the event target chain and implementations
|
||||
* should set the necessary members of EventChainPreVisitor.
|
||||
* At least aVisitor.mCanHandle must be set,
|
||||
* usually also aVisitor.mParentTarget if mCanHandle is true.
|
||||
* mCanHandle says that this object can handle the aVisitor.mEvent event and
|
||||
* the mParentTarget is the possible parent object for the event target chain.
|
||||
* @see EventDispatcher.h for more documentation about aVisitor.
|
||||
*
|
||||
* @param aVisitor the visitor object which is used to create the
|
||||
* event target chain for event dispatching.
|
||||
*
|
||||
* @note Only EventDispatcher should call this method.
|
||||
*/
|
||||
virtual void GetEventTargetParent(EventChainPreVisitor& aVisitor) = 0;
|
||||
|
||||
/**
|
||||
* Called before the capture phase of the event flow and after event target
|
||||
* chain creation. This is used to handle things that must be executed before
|
||||
|
@ -219,10 +219,10 @@ HTMLAnchorElement::IsHTMLFocusable(bool aWithMouse,
|
||||
return false;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLAnchorElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
return GetEventTargetParentForAnchors(aVisitor);
|
||||
GetEventTargetParentForAnchors(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -54,8 +54,7 @@ public:
|
||||
bool aNullParent = true) override;
|
||||
virtual bool IsHTMLFocusable(bool aWithMouse, bool *aIsFocusable, int32_t *aTabIndex) override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
virtual bool IsLink(nsIURI** aURI) const override;
|
||||
|
@ -53,10 +53,10 @@ HTMLAreaElement::GetTarget(DOMString& aValue)
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLAreaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
return GetEventTargetParentForAnchors(aVisitor);
|
||||
GetEventTargetParentForAnchors(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -39,8 +39,7 @@ public:
|
||||
|
||||
virtual int32_t TabIndexDefault() override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(EventChainPostVisitor& aVisitor) override;
|
||||
virtual bool IsLink(nsIURI** aURI) const override;
|
||||
virtual void GetLinkTarget(nsAString& aTarget) override;
|
||||
|
@ -183,12 +183,12 @@ HTMLButtonElement::IsDisabledForEvents(EventMessage aMessage)
|
||||
return IsElementDisabledForEvents(aMessage, formFrame);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLButtonElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = false;
|
||||
if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
// Track whether we're in the outermost Dispatch invocation that will
|
||||
@ -212,7 +212,7 @@ HTMLButtonElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
}
|
||||
}
|
||||
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -50,9 +50,8 @@ public:
|
||||
|
||||
virtual void FieldSetDisabledChanged(bool aNotify) override;
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
|
@ -607,14 +607,16 @@ HTMLCanvasElement::CopyInnerTo(Element* aDest,
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult HTMLCanvasElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
void
|
||||
HTMLCanvasElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->mClass == eMouseEventClass) {
|
||||
WidgetMouseEventBase* evt = (WidgetMouseEventBase*)aVisitor.mEvent;
|
||||
if (mCurrentContext) {
|
||||
nsIFrame *frame = GetPrimaryFrame();
|
||||
if (!frame)
|
||||
return NS_OK;
|
||||
if (!frame) {
|
||||
return;
|
||||
}
|
||||
nsPoint ptInRoot = nsLayoutUtils::GetEventCoordinatesRelativeTo(evt, frame);
|
||||
nsRect paddingRect = frame->GetContentRectRelativeToSelf();
|
||||
Point hitpoint;
|
||||
@ -625,7 +627,7 @@ nsresult HTMLCanvasElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mCanHandle = true;
|
||||
}
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsChangeHint
|
||||
|
@ -299,8 +299,7 @@ public:
|
||||
nsresult CopyInnerTo(mozilla::dom::Element* aDest,
|
||||
bool aPreallocateChildren);
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
/*
|
||||
* Helpers called by various users of Canvas
|
||||
|
@ -55,16 +55,16 @@ HTMLFieldSetElement::IsDisabledForEvents(EventMessage aMessage)
|
||||
}
|
||||
|
||||
// nsIContent
|
||||
nsresult
|
||||
void
|
||||
HTMLFieldSetElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
// Do not process any DOM events if the element is disabled.
|
||||
aVisitor.mCanHandle = false;
|
||||
if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
return nsGenericHTMLFormElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLFormElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -33,8 +33,7 @@ public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
// nsIContent
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
const nsAttrValue* aValue,
|
||||
const nsAttrValue* aOldValue,
|
||||
|
@ -439,7 +439,7 @@ HTMLFormElement::UnbindFromTree(bool aDeep, bool aNullParent)
|
||||
ForgetCurrentSubmission();
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mWantsWillHandleEvent = true;
|
||||
@ -448,7 +448,7 @@ HTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
if (msg == eFormSubmit) {
|
||||
if (mGeneratingSubmit) {
|
||||
aVisitor.mCanHandle = false;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
mGeneratingSubmit = true;
|
||||
|
||||
@ -459,12 +459,12 @@ HTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
} else if (msg == eFormReset) {
|
||||
if (mGeneratingReset) {
|
||||
aVisitor.mCanHandle = false;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
mGeneratingReset = true;
|
||||
}
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -93,8 +93,7 @@ public:
|
||||
const nsAString& aValue,
|
||||
nsIPrincipal* aMaybeScriptedPrincipal,
|
||||
nsAttrValue& aResult) override;
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
void WillHandleEvent(EventChainPostVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
@ -500,7 +500,7 @@ HTMLImageElement::AfterMaybeChangeAttr(int32_t aNamespaceID, nsAtom* aName,
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLImageElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
// We handle image element with attribute ismap in its corresponding frame
|
||||
@ -510,7 +510,7 @@ HTMLImageElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
if (mouseEvent && mouseEvent->IsLeftClickEvent() && IsMap()) {
|
||||
mouseEvent->mFlags.mMultipleActionsPrevented = true;
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -65,8 +65,7 @@ public:
|
||||
NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override;
|
||||
virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
bool IsHTMLFocusable(bool aWithMouse, bool *aIsFocusable, int32_t *aTabIndex) override;
|
||||
|
||||
|
@ -3536,13 +3536,13 @@ HTMLInputElement::IsDisabledForEvents(EventMessage aMessage)
|
||||
return IsElementDisabledForEvents(aMessage, GetPrimaryFrame());
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLInputElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
// Do not process any DOM events if the element is disabled
|
||||
aVisitor.mCanHandle = false;
|
||||
if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
// Initialize the editor if needed.
|
||||
@ -3554,7 +3554,8 @@ HTMLInputElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
|
||||
//FIXME Allow submission etc. also when there is no prescontext, Bug 329509.
|
||||
if (!aVisitor.mPresContext) {
|
||||
return nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
return;
|
||||
}
|
||||
//
|
||||
// Web pages expect the value of a radio button or checkbox to be set
|
||||
@ -3761,7 +3762,7 @@ HTMLInputElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
}
|
||||
}
|
||||
|
||||
nsresult rv = nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
|
||||
// We do this after calling the base class' GetEventTargetParent so that
|
||||
// nsIContent::GetEventTargetParent doesn't reset any change we make to
|
||||
@ -3819,8 +3820,6 @@ HTMLInputElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mCanHandle = false;
|
||||
}
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -202,8 +202,7 @@ public:
|
||||
NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override;
|
||||
virtual nsMapRuleToAttributesFunc GetAttributeMappingFunction() const override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PreHandleEvent(EventChainVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
@ -350,10 +350,10 @@ HTMLLinkElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
aOldValue, aSubjectPrincipal, aNotify);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLLinkElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
return GetEventTargetParentForAnchors(aVisitor);
|
||||
GetEventTargetParentForAnchors(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -37,9 +37,8 @@ public:
|
||||
void LinkAdded();
|
||||
void LinkRemoved();
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
|
@ -4213,11 +4213,12 @@ HTMLMediaElement::OutputMediaStream::~OutputMediaStream()
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLMediaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (!this->Controls() || !aVisitor.mEvent->mFlags.mIsTrusted) {
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
return;
|
||||
}
|
||||
|
||||
HTMLInputElement* el = nullptr;
|
||||
@ -4239,7 +4240,7 @@ HTMLMediaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
case eMouseDown:
|
||||
case eMouseUp:
|
||||
aVisitor.mCanHandle = false;
|
||||
return NS_OK;
|
||||
return;
|
||||
|
||||
// The *move events however are only comsumed when the range input is being
|
||||
// dragged.
|
||||
@ -4258,12 +4259,14 @@ HTMLMediaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
}
|
||||
if (el && el->IsDraggingRange()) {
|
||||
aVisitor.mCanHandle = false;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
return;
|
||||
|
||||
default:
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,9 +143,8 @@ public:
|
||||
IsAnyOfHTMLElements(nsGkAtoms::video,
|
||||
nsGkAtoms::audio))
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
virtual bool ParseAttribute(int32_t aNamespaceID,
|
||||
nsAtom* aAttribute,
|
||||
|
@ -236,7 +236,7 @@ HTMLMenuItemElement::SetChecked(bool aChecked)
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLMenuItemElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->mMessage == eMouseClick) {
|
||||
@ -269,7 +269,7 @@ HTMLMenuItemElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mItemFlags |= mType;
|
||||
}
|
||||
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -32,8 +32,7 @@ public:
|
||||
NS_INLINE_DECL_REFCOUNTING_INHERITED(HTMLMenuItemElement,
|
||||
nsGenericHTMLElement)
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
|
@ -40,25 +40,25 @@ HTMLOptGroupElement::~HTMLOptGroupElement()
|
||||
NS_IMPL_ELEMENT_CLONE(HTMLOptGroupElement)
|
||||
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLOptGroupElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = false;
|
||||
// Do not process any DOM events if the element is disabled
|
||||
// XXXsmaug This is not the right thing to do. But what is?
|
||||
if (IsDisabled()) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
if (nsIFrame* frame = GetPrimaryFrame()) {
|
||||
// FIXME(emilio): This poking at the style of the frame is broken unless we
|
||||
// flush before every event handling, which we don't really want to.
|
||||
if (frame->StyleUserInterface()->mUserInput == StyleUserInput::None) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
Element*
|
||||
|
@ -34,8 +34,7 @@ public:
|
||||
virtual void RemoveChildNode(nsIContent* aKid, bool aNotify) override;
|
||||
|
||||
// nsIContent
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
virtual nsresult Clone(mozilla::dom::NodeInfo* aNodeInfo, nsINode** aResult,
|
||||
bool aPreallocateChildren) const override;
|
||||
|
@ -1344,15 +1344,15 @@ HTMLSelectElement::IsDisabledForEvents(EventMessage aMessage)
|
||||
return IsElementDisabledForEvents(aMessage, formFrame);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLSelectElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = false;
|
||||
if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
return nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -285,8 +285,7 @@ public:
|
||||
virtual JSObject* WrapNode(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
// nsIContent
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
||||
|
@ -511,19 +511,19 @@ HTMLTextAreaElement::IsDisabledForEvents(EventMessage aMessage)
|
||||
return IsElementDisabledForEvents(aMessage, formFrame);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
HTMLTextAreaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mCanHandle = false;
|
||||
if (IsDisabledForEvents(aVisitor.mEvent->mMessage)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't dispatch a second select event if we are already handling
|
||||
// one.
|
||||
if (aVisitor.mEvent->mMessage == eFormSelect) {
|
||||
if (mHandlingSelect) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
mHandlingSelect = true;
|
||||
}
|
||||
@ -546,7 +546,7 @@ HTMLTextAreaElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
aVisitor.mWantsPreHandleEvent = true;
|
||||
}
|
||||
|
||||
return nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLFormElementWithState::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -132,8 +132,7 @@ public:
|
||||
int32_t aModType) const override;
|
||||
NS_IMETHOD_(bool) IsAttributeMapped(const nsAtom* aAttribute) const override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PreHandleEvent(EventChainVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
|
@ -546,17 +546,16 @@ nsGenericHTMLElement::CheckHandleEventForAnchorsPreconditions(
|
||||
IsHTMLElement(nsGkAtoms::area);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsGenericHTMLElement::GetEventTargetParentForAnchors(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
nsresult rv = nsGenericHTMLElementBase::GetEventTargetParent(aVisitor);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
nsGenericHTMLElementBase::GetEventTargetParent(aVisitor);
|
||||
|
||||
if (!CheckHandleEventForAnchorsPreconditions(aVisitor)) {
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
return GetEventTargetParentForLinks(aVisitor);
|
||||
GetEventTargetParentForLinks(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
@ -1932,7 +1931,7 @@ nsGenericHTMLFormElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
aNotify);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsGenericHTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->IsTrusted() && (aVisitor.mEvent->mMessage == eFocus ||
|
||||
@ -1941,7 +1940,7 @@ nsGenericHTMLFormElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// PreHandleEvent to prevent it breaks event target chain creation.
|
||||
aVisitor.mWantsPreHandleEvent = true;
|
||||
}
|
||||
return nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
nsGenericHTMLElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -301,8 +301,7 @@ public:
|
||||
*/
|
||||
bool CheckHandleEventForAnchorsPreconditions(
|
||||
mozilla::EventChainVisitor& aVisitor);
|
||||
nsresult GetEventTargetParentForAnchors(
|
||||
mozilla::EventChainPreVisitor& aVisitor);
|
||||
void GetEventTargetParentForAnchors(mozilla::EventChainPreVisitor& aVisitor);
|
||||
nsresult PostHandleEventForAnchors(mozilla::EventChainPostVisitor& aVisitor);
|
||||
bool IsHTMLLink(nsIURI** aURI) const;
|
||||
|
||||
@ -1037,8 +1036,7 @@ public:
|
||||
virtual IMEState GetDesiredIMEState() override;
|
||||
virtual mozilla::EventStates IntrinsicState() const override;
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PreHandleEvent(
|
||||
mozilla::EventChainVisitor& aVisitor) override;
|
||||
|
||||
|
@ -781,14 +781,13 @@ IDBFileHandle::Run()
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
IDBFileHandle::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
AssertIsOnOwningThread();
|
||||
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(mMutableFile, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
@ -246,9 +246,8 @@ public:
|
||||
NS_DECL_NSIRUNNABLE
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(IDBFileHandle, DOMEventTargetHelper)
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
// WrapperCache
|
||||
virtual JSObject*
|
||||
|
@ -107,14 +107,13 @@ NS_INTERFACE_MAP_END_INHERITING(DOMRequest)
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(IDBFileRequest, DOMRequest,
|
||||
mFileHandle)
|
||||
|
||||
nsresult
|
||||
void
|
||||
IDBFileRequest::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
AssertIsOnOwningThread();
|
||||
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(mFileHandle, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// virtual
|
||||
|
@ -91,9 +91,8 @@ public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(IDBFileRequest, DOMRequest)
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
// nsWrapperCache
|
||||
virtual JSObject*
|
||||
|
@ -404,14 +404,13 @@ NS_INTERFACE_MAP_END_INHERITING(IDBWrapperCache)
|
||||
NS_IMPL_ADDREF_INHERITED(IDBRequest, IDBWrapperCache)
|
||||
NS_IMPL_RELEASE_INHERITED(IDBRequest, IDBWrapperCache)
|
||||
|
||||
nsresult
|
||||
void
|
||||
IDBRequest::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
AssertIsOnOwningThread();
|
||||
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(mTransaction, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
class IDBOpenDBRequest::WorkerHolder final
|
||||
|
@ -83,9 +83,8 @@ public:
|
||||
static uint64_t
|
||||
NextSerialNumber();
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
void
|
||||
GetSource(Nullable<OwningIDBObjectStoreOrIDBIndexOrIDBCursor>& aSource) const;
|
||||
|
@ -1043,14 +1043,13 @@ IDBTransaction::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
|
||||
return IDBTransactionBinding::Wrap(aCx, this, aGivenProto);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
IDBTransaction::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
AssertIsOnOwningThread();
|
||||
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(mDatabase, false);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
@ -317,9 +317,8 @@ public:
|
||||
virtual JSObject*
|
||||
WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
// nsIDOMEventTarget
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
// EventTarget
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
private:
|
||||
IDBTransaction(IDBDatabase* aDatabase,
|
||||
|
@ -13,7 +13,6 @@
|
||||
using mozilla::dom::Nullable;
|
||||
|
||||
namespace mozilla {
|
||||
class EventChainPreVisitor;
|
||||
class EventListenerManager;
|
||||
namespace dom {
|
||||
class EventTarget;
|
||||
@ -36,7 +35,6 @@ class nsPresContext;
|
||||
[ptr] native nsEventStatusPtr(nsEventStatus);
|
||||
[ptr] native JSContextPtr(JSContext);
|
||||
[ref] native EventChainPostVisitorRef(mozilla::EventChainPostVisitor);
|
||||
[ref] native EventChainPreVisitorRef(mozilla::EventChainPreVisitor);
|
||||
[ptr] native EventListenerManagerPtr(mozilla::EventListenerManager);
|
||||
[ptr] native EventTargetPtr(mozilla::dom::EventTarget);
|
||||
|
||||
@ -137,21 +135,4 @@ interface nsIDOMEventTarget : nsISupports
|
||||
}
|
||||
%}
|
||||
|
||||
/**
|
||||
* Called before the capture phase of the event flow.
|
||||
* This is used to create the event target chain and implementations
|
||||
* should set the necessary members of EventChainPreVisitor.
|
||||
* At least aVisitor.mCanHandle must be set,
|
||||
* usually also aVisitor.mParentTarget if mCanHandle is PR_TRUE.
|
||||
* First one tells that this object can handle the aVisitor.mEvent event and
|
||||
* the latter one is the possible parent object for the event target chain.
|
||||
* @see EventDispatcher.h for more documentation about aVisitor.
|
||||
*
|
||||
* @param aVisitor the visitor object which is used to create the
|
||||
* event target chain for event dispatching.
|
||||
*
|
||||
* @note Only EventDispatcher should call this method.
|
||||
*/
|
||||
[noscript, nostdcall]
|
||||
void GetEventTargetParent(in EventChainPreVisitorRef aVisitor);
|
||||
};
|
||||
|
@ -109,11 +109,10 @@ public:
|
||||
NS_FORWARD_SAFE_NSIMESSAGESENDER(mMessageManager)
|
||||
NS_DECL_NSICONTENTFRAMEMESSAGEMANAGER
|
||||
|
||||
nsresult
|
||||
void
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override
|
||||
{
|
||||
aVisitor.mForceContentDispatch = true;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
virtual nsIPrincipal* GetPrincipal() override;
|
||||
|
@ -906,13 +906,12 @@ nsMathMLElement::MapMathMLAttributesInto(const nsMappedAttributes* aAttributes,
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsMathMLElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
nsresult rv = Element::GetEventTargetParent(aVisitor);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
Element::GetEventTargetParent(aVisitor);
|
||||
|
||||
return GetEventTargetParentForLinks(aVisitor);
|
||||
GetEventTargetParentForLinks(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -70,8 +70,7 @@ public:
|
||||
static void MapMathMLAttributesInto(const nsMappedAttributes* aAttributes,
|
||||
mozilla::GenericSpecifiedValues* aGenericData);
|
||||
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
mozilla::EventChainPostVisitor& aVisitor) override;
|
||||
nsresult Clone(mozilla::dom::NodeInfo* aNodeInfo, nsINode** aResult,
|
||||
|
@ -81,13 +81,12 @@ SVGAElement::ElementHasHref() const
|
||||
//----------------------------------------------------------------------
|
||||
// nsINode methods
|
||||
|
||||
nsresult
|
||||
void
|
||||
SVGAElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
nsresult rv = Element::GetEventTargetParent(aVisitor);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
Element::GetEventTargetParent(aVisitor);
|
||||
|
||||
return GetEventTargetParentForLinks(aVisitor);
|
||||
GetEventTargetParentForLinks(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -36,8 +36,7 @@ public:
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
// nsINode interface methods
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PostHandleEvent(
|
||||
EventChainPostVisitor& aVisitor) override;
|
||||
virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult,
|
||||
|
@ -558,7 +558,7 @@ SVGSVGElement::GetAnimatedTransformList(uint32_t aFlags)
|
||||
return SVGGraphicsElement::GetAnimatedTransformList(aFlags);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
SVGSVGElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
if (aVisitor.mEvent->mMessage == eSVGLoad) {
|
||||
@ -570,7 +570,7 @@ SVGSVGElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
AnimationNeedsResample();
|
||||
}
|
||||
}
|
||||
return SVGSVGElementBase::GetEventTargetParent(aVisitor);
|
||||
SVGSVGElementBase::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -103,8 +103,7 @@ public:
|
||||
void SetCurrentScaleTranslate(float s, float x, float y);
|
||||
|
||||
// nsIContent interface
|
||||
virtual nsresult GetEventTargetParent(
|
||||
EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
virtual bool IsEventAttributeNameInternal(nsAtom* aName) override;
|
||||
|
||||
// nsINode methods:
|
||||
|
@ -187,7 +187,7 @@ SharedWorker::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
|
||||
return SharedWorkerBinding::Wrap(aCx, this, aGivenProto);
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
SharedWorker::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
@ -204,8 +204,8 @@ SharedWorker::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
|
||||
aVisitor.mCanHandle = false;
|
||||
aVisitor.SetParentTarget(nullptr, false);
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
|
||||
return DOMEventTargetHelper::GetEventTargetParent(aVisitor);
|
||||
DOMEventTargetHelper::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
@ -77,8 +77,7 @@ public:
|
||||
virtual JSObject*
|
||||
WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
|
||||
|
||||
virtual nsresult
|
||||
GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(EventChainPreVisitor& aVisitor) override;
|
||||
|
||||
WorkerPrivate*
|
||||
GetWorkerPrivate() const
|
||||
|
@ -1333,7 +1333,7 @@ nsXULElement::DispatchXULCommand(const EventChainVisitor& aVisitor,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
void
|
||||
nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
{
|
||||
aVisitor.mForceContentDispatch = true; //FIXME! Bug 329119
|
||||
@ -1341,7 +1341,7 @@ nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// Don't propagate these events from native anonymous scrollbar.
|
||||
aVisitor.mCanHandle = true;
|
||||
aVisitor.SetParentTarget(nullptr, false);
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
if (aVisitor.mEvent->mMessage == eXULCommand &&
|
||||
aVisitor.mEvent->mClass == eInputEventClass &&
|
||||
@ -1364,11 +1364,11 @@ nsXULElement::GetEventTargetParent(EventChainPreVisitor& aVisitor)
|
||||
// target chain creation
|
||||
aVisitor.mWantsPreHandleEvent = true;
|
||||
aVisitor.mItemFlags |= NS_DISPATCH_XUL_COMMAND;
|
||||
return NS_OK;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
return nsStyledElement::GetEventTargetParent(aVisitor);
|
||||
nsStyledElement::GetEventTargetParent(aVisitor);
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -353,8 +353,7 @@ public:
|
||||
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(nsXULElement, nsStyledElement)
|
||||
|
||||
// nsINode
|
||||
virtual nsresult GetEventTargetParent(
|
||||
mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
void GetEventTargetParent(mozilla::EventChainPreVisitor& aVisitor) override;
|
||||
virtual nsresult PreHandleEvent(
|
||||
mozilla::EventChainVisitor& aVisitor) override;
|
||||
// nsIContent
|
||||
|
Loading…
Reference in New Issue
Block a user