Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 292487

Summary: [Text] ModificationListener not working in Firefox 3.0
Product: [RT] RAP Reporter: Tim Whittington <Tim.Whittington>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: 1.3 M3   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Tim Whittington CLA 2009-10-15 21:10:26 EDT
User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.0.14) Gecko/2009082706 Firefox/3.0.14
Build Identifier: 1.3M2

In Firefox 3.0 only, modification of the value of a Text control in the UI does not fire ModificationListener events.

This is probably also the cause of #284356, where the current value of a Text control is not propogated to the server when a dialog is submitted.

Reproducible: Always
Comment 1 Ivan Furnadjiev CLA 2009-10-19 05:47:12 EDT
The reason for this bug and bug 284356 is the same - the low level dom event for the text filed is not fired under FF 3.0.x (tested with FF 3.0.14 under Windows Vista) when the text filed is clicked!!! for the first time. Clicking somewhere else (after the text field is clicked for the first time) in the application and back click on the text filed make it works... at least for me. If the text filed is focused by the Tab - everything is working fine. Tim, can you confirm this? This bug is reproducible with the Controls Demo -> Text tab with selected Modify Listener. Bug 284356 is reproducible with Dialog Tab -> Login Dialog.
Comment 2 Tim Whittington CLA 2009-10-20 04:41:47 EDT
I can confirm that tabbing in/out of the text field and focusing in/out of the text field with the mouse both fix the problem.
Comment 3 Ivan Furnadjiev CLA 2009-10-20 06:02:03 EDT
Using style.position property of the HTML input element leads to initially missing "input" DOM events in FF 3.0.x. The solution is to set the top padding instead in TextField.js#_centerFieldVertically().