mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-04 11:26:09 +00:00
Make file input frames correctly store their value in the content node even if
the whole presentation is coming down. Bug 287120, r=sicking, sr=jst, a=brendan
This commit is contained in:
parent
90feadd1d3
commit
969eb028e7
@ -119,11 +119,19 @@ void
|
|||||||
nsFileControlFrame::PreDestroy(nsPresContext* aPresContext)
|
nsFileControlFrame::PreDestroy(nsPresContext* aPresContext)
|
||||||
{
|
{
|
||||||
// Toss the value into the control from the anonymous content, which is about
|
// Toss the value into the control from the anonymous content, which is about
|
||||||
// to get lost.
|
// to get lost. Note that if the page is being torn down then the anonymous
|
||||||
|
// content may no longer have access to its frame. But _we_ can access that
|
||||||
|
// frame. So if it's there, get the value from the frame
|
||||||
if (mTextContent) {
|
if (mTextContent) {
|
||||||
nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(mTextContent);
|
|
||||||
nsAutoString value;
|
nsAutoString value;
|
||||||
input->GetValue(value);
|
if (mTextFrame) {
|
||||||
|
// Second arg doesn't really matter here...
|
||||||
|
mTextFrame->GetValue(value, PR_TRUE);
|
||||||
|
} else {
|
||||||
|
// Get from the content
|
||||||
|
nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(mTextContent);
|
||||||
|
input->GetValue(value);
|
||||||
|
}
|
||||||
|
|
||||||
// Have it take the value, just like when input type=text goes away
|
// Have it take the value, just like when input type=text goes away
|
||||||
nsCOMPtr<nsITextControlElement> fileInput = do_QueryInterface(mContent);
|
nsCOMPtr<nsITextControlElement> fileInput = do_QueryInterface(mContent);
|
||||||
|
Loading…
Reference in New Issue
Block a user