base work for bug 42553, r=danm

This commit is contained in:
saari%netscape.com 2000-06-20 00:45:47 +00:00
Родитель 83c1e4462f
Коммит 40e6755254
4 изменённых файлов: 54 добавлений и 0 удалений

Просмотреть файл

@ -282,6 +282,7 @@ nsDOMEvent::PreventDefault()
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::GetView(nsIDOMAbstractView** aView)
{
@ -939,6 +940,7 @@ nsDOMEvent::InitEvent(const nsString& aEventTypeArg, PRBool aCanBubbleArg, PRBoo
NS_ENSURE_SUCCESS(SetEventType(aEventTypeArg), NS_ERROR_FAILURE);
mEvent->flags |= aCanBubbleArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_BUBBLE;
mEvent->flags |= aCancelableArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_CANCEL;
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_NONE;
return NS_OK;
}
@ -963,6 +965,7 @@ nsDOMEvent::InitKeyEvent(const nsString& aTypeArg, PRBool aCanBubbleArg, PRBool
NS_ENSURE_SUCCESS(SetEventType(aTypeArg), NS_ERROR_FAILURE);
mEvent->flags |= aCanBubbleArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_BUBBLE;
mEvent->flags |= aCancelableArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_CANCEL;
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_NONE;
return NS_OK;
}
@ -1006,6 +1009,28 @@ nsDOMEvent::IsDispatchStopped(PRBool* aIsDispatchStopped)
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::IsHandled(PRBool* aIsHandled)
{
if (mEvent->internalAppFlags | NS_APP_EVENT_FLAG_HANDLED) {
*aIsHandled = PR_TRUE;
} else {
*aIsHandled = PR_FALSE;
}
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::SetHandled(PRBool aHandled)
{
if(aHandled)
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_HANDLED;
else
mEvent->internalAppFlags &= ~NS_APP_EVENT_FLAG_HANDLED;
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::GetInternalNSEvent(nsEvent** aNSEvent)
{

Просмотреть файл

@ -146,6 +146,8 @@ public:
NS_IMETHOD SetCurrentTarget(nsIDOMEventTarget* aCurrentTarget);
NS_IMETHOD IsDispatchStopped(PRBool* aIsDispatchStopped);
NS_IMETHOD GetInternalNSEvent(nsEvent** aNSEvent);
NS_IMETHOD IsHandled(PRBool* aHandled);
NS_IMETHOD SetHandled(PRBool aHandled);
// nsIPrivateTextEvent interface
NS_IMETHOD GetText(nsString& aText);

Просмотреть файл

@ -282,6 +282,7 @@ nsDOMEvent::PreventDefault()
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::GetView(nsIDOMAbstractView** aView)
{
@ -939,6 +940,7 @@ nsDOMEvent::InitEvent(const nsString& aEventTypeArg, PRBool aCanBubbleArg, PRBoo
NS_ENSURE_SUCCESS(SetEventType(aEventTypeArg), NS_ERROR_FAILURE);
mEvent->flags |= aCanBubbleArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_BUBBLE;
mEvent->flags |= aCancelableArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_CANCEL;
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_NONE;
return NS_OK;
}
@ -963,6 +965,7 @@ nsDOMEvent::InitKeyEvent(const nsString& aTypeArg, PRBool aCanBubbleArg, PRBool
NS_ENSURE_SUCCESS(SetEventType(aTypeArg), NS_ERROR_FAILURE);
mEvent->flags |= aCanBubbleArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_BUBBLE;
mEvent->flags |= aCancelableArg ? NS_EVENT_FLAG_NONE : NS_EVENT_FLAG_CANT_CANCEL;
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_NONE;
return NS_OK;
}
@ -1006,6 +1009,28 @@ nsDOMEvent::IsDispatchStopped(PRBool* aIsDispatchStopped)
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::IsHandled(PRBool* aIsHandled)
{
if (mEvent->internalAppFlags | NS_APP_EVENT_FLAG_HANDLED) {
*aIsHandled = PR_TRUE;
} else {
*aIsHandled = PR_FALSE;
}
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::SetHandled(PRBool aHandled)
{
if(aHandled)
mEvent->internalAppFlags |= NS_APP_EVENT_FLAG_HANDLED;
else
mEvent->internalAppFlags &= ~NS_APP_EVENT_FLAG_HANDLED;
return NS_OK;
}
NS_IMETHODIMP
nsDOMEvent::GetInternalNSEvent(nsEvent** aNSEvent)
{

Просмотреть файл

@ -146,6 +146,8 @@ public:
NS_IMETHOD SetCurrentTarget(nsIDOMEventTarget* aCurrentTarget);
NS_IMETHOD IsDispatchStopped(PRBool* aIsDispatchStopped);
NS_IMETHOD GetInternalNSEvent(nsEvent** aNSEvent);
NS_IMETHOD IsHandled(PRBool* aHandled);
NS_IMETHOD SetHandled(PRBool aHandled);
// nsIPrivateTextEvent interface
NS_IMETHOD GetText(nsString& aText);