Closed Bug 646845 Opened 14 years ago Closed 13 years ago

The value set for textarea via javascript gets reset inside Jquery Dialog.

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla8

People

(Reporter: bharadwaj.sjes, Assigned: ehsan.akhgari)

References

Details

(Keywords: regression, testcase)

Attachments

(2 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16 Build Identifier: Firefox 4.0 The value set for textarea via javascript gets reset inside Jquery Dialog. This behavior is seen in firefox 4.0. The same javascript code works fine in all other browsers. Reproducible: Always Steps to Reproduce: 1.create a simple html page containing some text and buttons or hyper-link. 2.Onclick of button or hyper-link bind it to jquery click event and pass some text to display in textarea inside a dialog. 3.Add textarea to diplay the text, a button and also add close event in dialog. 4.Now set value insiide textarea via javascript. 5.Browser displays empty value inside text area. Actual Results: Value inside Textarea set inside dialog becomes empty string, and not the value set from java script. Expected Results: Value inside Textarea set inside dialog should display same string as set from java script.
Not a security bug.
Group: core-security
Can you attach a reduced Testcase showing your Issue? https://bugzilla.mozilla.org/attachment.cgi?bugid=646845&action=enter Did it work in Fx 3.6? What is the last Beta of Fx 4 it worked okay?
Keywords: testcase-wanted
Version: unspecified → 4.0 Branch
I'm having this same problem in Firefox 5.
Attached file Test Case
This is a test case for the issue described in this ticket. To reproduce the issue click on the purple button. A JQuery dialog will open. Enter in some text and click okay. Click on the purple button again. This time enter in some additional text and click cancel. Click on the purple button again and you will see that the text you entered when you clicked cancel is still there. It should not be there.
Confirmed the Behavior of Comment 4 Testcase against Mozilla/5.0 (Windows NT 5.1; rv:8.0a1) Gecko/20110711 Firefox/8.0a1 ID:20110711030829 Google Chrome 14/Opera Next is as expected. Last good nightly: 2010-06-05 First bad nightly: 2010-06-06 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b219912edfec&tochange=ac1ed3f6b2e7 => Bug 567701/Bug 534785?
Product: Firefox → Core
QA Contact: general → general
Version: 4.0 Branch → Trunk
Ehsan, could you take a look?
Assignee: nobody → ehsan
Blocks: 567701, 534785
Status: UNCONFIRMED → NEW
Ever confirmed: true
Here's what's happening here. When the textarea gets a new frame, we add a script runner for PrepareEditorEvent, and *before* that script runner is called, the textarea loses its frame again, which makes the PrepareEditorEvent::Run method called later a no-op, so we lose the editor's current value along the run. I think I have a fix for this at hand, but I really want to get a minimized testcase for this, but I really don't know how to create reframes like that (i.e., reframing the creating a frame for the textarea, destroying it and creating it once again while under the same script blocker).
Attached patch Patch (v1)Splinter Review
This is the fix. Ideas about how to create a minimized testcase for this are appreciated!
Attachment #546614 - Flags: review?(bzbarsky)
OS: Windows 7 → All
Hardware: x86 → All
Comment on attachment 546614 [details] [diff] [review] Patch (v1) r=me
Attachment #546614 - Flags: review?(bzbarsky) → review+
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
No longer blocks: 567701
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: