Closed
Bug 50092
Opened 25 years ago
Closed 23 years ago
onfocus event in Textarea tag partially fails.
Categories
(Core :: Layout, defect, P3)
Tracking
()
Future
People
(Reporter: nasiruddin.shaikh, Assigned: dcone)
References
()
Details
(Whiteboard: suntrak-n6)
Attachments
(1 file, 1 obsolete file)
onfocussing the textarea, the alert message is displayed 4 times rather than
once.
This bug has been marked "future" because the original netscape engineer working
on this is over-burdened. If you feel this is an error, that you or another
known resource will be working on this bug,or if it blocks your work in some way
-- please attach your concern to the bug for reconsideration.
Target Milestone: --- → Future
Reporter | ||
Updated•24 years ago
|
Whiteboard: suntrak-n6
Comment 4•24 years ago
|
||
Reassigning QA Contact for all open and unverified bugs previously under Lorca's
care to Gerardo as per phone conversation this morning.
QA Contact: lorca → gerardok
Comment 5•24 years ago
|
||
I only see one copy of the alert on linux build 2001-02-12-08. Is this still a
problem on Solaris?
Comment 7•24 years ago
|
||
Tested Mozilla build 2001040604 on PC Win2000, only one copy of alert message
displayed.
Tested Netscape6.01A on Solaris Sparc 2.8, xpinstall 03-26-2001, nroot, full
package, non-default location, the alert message kept displaying by clicking
"OK" each time.
SPAM. HTML Element component deprecated, changing component to Layout. See bug
88132 for details.
Component: HTML Element → Layout
Comment 10•23 years ago
|
||
We are working on this bug now, together with bug 49986 and 50047 at the same
time, I believe these 3 bugs are similar.
Comment 11•23 years ago
|
||
In fact, the Alert window popups without stop(instead of popuping 4 times
only),
The popup of first time is normal, it starts up the event loop from GDK event
to gtkHandleEvent, then EventStateManager->PostHandleEvent, then
HandleDomEvent, then the js fire up the popup, if user clicks OK to destroy the
alert window, browser window get a NS_ACTIVATE event in PreHandleevent(),
browser window search its focuselement and focusdocument, and tell the textarea
to handle it's dom event again, so a new popup window popups again, then the
loop continues without end. I made a patch, it added two functions in
nsIEventStateManager.h and nsEventStateManager.h, they set and get the flag
whether current EventStatemanager is on activating. When the browser window get
NS_ACTIVATE in PreHandleEvent, it sets the EventStateManager of textarea to
TRUE, sendFocusBlur will not fire HandleDomEvent while this flag is true.
This patch includes the fix for bug 122311, and this patch can also fix bug
49986 and bug 50047
Please see the function stack while abnormal is occurring:
main(argc = 1, argv = 0xffbfeedc)
main1(argc = 1, argv = 0xffbfeedc, nativeApp = (nil))
nsAppShellService::Run(this = 0x832c8)
nsAppShell::Run(this = 0x91790)
gtk_main(0x135dc0, 0x226748, 0x0, 0x0, 0x0, 0x0)
g_main_run(0x219dd8, 0x219dd8, 0x1, 0x0, 0x0, 0x0)
g_main_iterate(0x1, 0x1, 0x19, 0xfdea4648, 0xfea0d1b4, 0x5)
g_main_dispatch(0xffbfea08, 0xa24d8, 0x1, 0x0, 0xfe8965b4, 0x2)
gdk_event_dispatch(0x0, 0xffbfea08, 0x0, 0x3, 0xfee31b84, 0xffbfe970)
handle_gdk_event(event = 0x22b488, data = (nil))
gtk_main_do_event(0x22b488, 0x0, 0xfe4b07d0, 0xfe63a000, 0x0, 0x0)
gtk_widget_event(0xe8f88, 0x22b488, 0xfffffffc, 0xf, 0x9, 0xf00031)
gtk_signal_emit(0xe8f88, 0x1f, 0x22b488, 0xffbfe6a0, 0x0, 0x0)
gtk_signal_real_emit(0xe8f88, 0x1f, 0xffbfe320, 0x0, 0x0, 0xffbfe338)
gtk_marshal_BOOL__POINTER(0xe8f88, 0xfecaef98, 0x0, 0xffbfe320, 0x0,
0xffbfe2f0)
gtk_window_focus_in_event(0xe8f88, 0x22b488, 0x0, 0x0, 0xfe8965b4, 0x2)
gtk_widget_event(0xe8ff0, 0xffbfe17c, 0x0, 0x3, 0xfee31b84, 0xc54a0)
gtk_signal_emit(0xe8ff0, 0x1f, 0xffbfe17c, 0xffbfe108, 0x0, 0x0)
gtk_signal_real_emit(0xe8ff0, 0x1f, 0xffbfdd88, 0x0, 0x0, 0xffbfdda0)
gtk_handlers_run(0xc2550, 0xffbfdcf4, 0xe8ff0, 0xffbfdd88, 0x0,0xf00031)
gtk_marshal_BOOL__POINTER(0xe8ff0, 0xfdef00c0, 0x19a088, 0xffbfdd88,0x0, 0x0)
handle_mozarea_focus_in(aWidget = 0xe8ff0, aGdkFocusEvent = 0xffbfe17c,aData =
0x19a088)
nsWindow::HandleMozAreaFocusIn(this = 0x19a088)
nsWindow::DispatchSetFocusEvent(this = 0x19a088)
nsWidget::DispatchFocus(this = 0x19a088, aEvent = STRUCT)
nsWidget::DispatchWindowEvent(this = 0x19a088, event = 0xffbfda74)
nsWidget::DispatchEvent(this = 0x19a088, aEvent = 0xffbfda74, aStatus =
nsEventStatus_eIgnore)
nsWebShellWindow::HandleEvent(aEvent = 0xffbfda74)
GlobalWindowImpl::Focus(0xdbd18, 0x1, 0xfe033fba, 0xffffffff, 0x0,0xb6848)
nsWindow::SetFocus(this = 0x2616e0, aRaise = 1)
nsWindow::DispatchSetFocusEvent(this = 0x2616e0)
nsWindow::DispatchActivateEvent(this = 0x2616e0)
nsWidget::DispatchFocus(this = 0x2616e0, aEvent = STRUCT)
nsWidget::DispatchWindowEvent(this = 0x2616e0, event = 0xffbfd3dc)
nsWidget::DispatchEvent(this = 0x2616e0, aEvent = 0xffbfd3dc, aStatus =
nsEventStatus_eIgnore)
HandleEvent(aEvent = 0xffbfd3dc)
nsViewManager::DispatchEvent(this = 0x2615d8, aEvent = 0xffbfd3dc,aStatus =
0xffbfd1c0)
nsView::HandleEvent(this = 0x22e158, event = 0xffbfd3dc, aEventFlags = 0,
aStatus = 0xffbfd1c0, aForceHandle = 1, aHandled = 1)
PresShell::HandleEvent(0x261aa8, 0x22e158, 0xffbfd3dc, 0xffbfd1c0,
0x1,0xffbfd0d8)
PresShell::HandleEventInternal(0x261aa8, 0xffbfd3dc, 0x22e158, 0x1,0xffbfd1c0,
0xff00)
nsEventStateManager::PreHandleEvent(0x3e47b0, 0x22dea8, 0xffbfd3dc,0x48ef8c,
0xffbfd1c0, 0x22e158)
nsHTMLTextAreaElement::SetFocus(0x72e250, 0x755b88, 0xffbfcc00, 0x2,0xffbfce94,
0xffbfd351)
nsEventStateManager::SetContentState(0x6ff1f0, 0x72e250, 0x2,0xffbfc84c,
0xffbfce94, 0x98ec8)
nsEventStateManager::SendFocusBlur(0x6ff1f0, 0x755b88, 0x72e250, 0x0,0x1, 0x0)
nsHTMLTextAreaElement::HandleDOMEvent(0x72e250, 0x755b88, 0xffbfc218,0x0, 0x1,
0xffbfc240)
nsGenericElement::HandleDOMEvent(0xfc1d9468, 0x755b88, 0xffbfc218, 0x0,0x1,
0xffbfc240)
nsEventListenerManager::HandleEvent(0x72e318, 0x755b88, 0xffbfc218,0xffbfbf10,
0x9151c8, 0x1)
nsEventListenerManager::HandleEventSubType(0x72e318, 0x737138,0x8ee838,
0x9151c8, 0x1, 0x7)
nsJSEventListener::HandleEvent(0xfceca1e8, 0x8ee838, 0x0, 0x0, 0x1,0x0)
nsJSContext::CallEventHandler(0x5b91a0, 0x93d4d0, 0x3adeb0, 0x1,0xffbfb214,
0xffbfb0a4)
JS_CallFunctionValue(cx = 0x5b1048, obj = 0x93d4d0, fval = 3858096,argc = 1U,
argv = 0xffbfb214, rval = 0xffbfad14)
js_InternalInvoke(cx = 0x5b1048, obj = 0x93d4d0, fval = 3858096, flags = 0,
argc = 1U, argv = 0xffbfb214, rval = 0xffbfad14)
js_Invoke(cx = 0x5b1048, argc = 1U, flags = 2U)
js_Interpret(cx = 0x5b1048, result = 0xffbfaad8)
js_Invoke(cx = 0x5b1048, argc = 1U, flags = 0)
XPC_WN_CallMethod(cx = 0x5b1048, obj = 0x3634d8, argc = 1U, argv = 0x8ee8c8, vp
= 0xffbfa684)
XPCWrappedNative::CallMethod(ccx = CLASS, mode = CALL_METHOD)
XPTC_InvokeByIndex(0x5b90bc, 0x3e, 0x1, 0xffbfa3b8, 0x1, 0xffbfa2f4)
GlobalWindowImpl::Alert(0x5b90b8, 0x8d4158, 0xffbfa3b8, 0x0,
0xff064168, 0x0)
nsPrompt::Alert(this = 0x169c78, dialogTitle = (nil), text = 0xffbf9ecc)
nsPromptService::Alert(this = 0x16f2f0, parent = 0xdbd1c, dialogTitle =
0x6ffca0, text = 0xffbf9ecc)
Comment 12•23 years ago
|
||
I checked auto-detect to determine the content type, but why bugzilla regard it
as a binary file, I reattach it as plain text format.
Updated•23 years ago
|
Attachment #67715 -
Attachment is obsolete: true
Comment 13•23 years ago
|
||
Comment on attachment 67717 [details] [diff] [review]
viewable patch for bug 50092, bug 50047, bug 49986, bug 122311
That's what the "patch" checkbox is for.. :)
Attachment #67717 -
Attachment is patch: true
Comment 15•23 years ago
|
||
Hi Bryner,
I tested this patch for bug 120209, it does not work for it. but it seems
something similiar. perhaps I can do something for bug 120209.
JayYan
Comment 16•23 years ago
|
||
I don't think this is necessarily the correct fix. It may be desirable to fire
onfocus handler when an activate is received -- testing with IE, it fires the
onfocus handler again if you deactivate and reactivate the window, in
practically every case except for this one where onfocus displays a dialog.
Comment 17•23 years ago
|
||
yes, bryner, you are right. it breaks some feature, look for better way.
--Jay
Comment 18•23 years ago
|
||
*** This bug has been marked as a duplicate of 49986 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•