Commit Graph

3 Commits

Author SHA1 Message Date
Ehsan Akhgari
ce353a11c2 Bug 997805 - Correctly restore the placeholder text after the editor object is re-attached to a text control as a result of a reframe; r=bzbarsky
Recomputing the placeholder visibility does not require the placeholder div
itself to be present, as the only information required for that is the current
value of the text control which is present either way.  This patch fixes
nsTextEditorState::ValueWasChanged and nsTextEditorState::UpdatePlaceholderVisibility
to that effect.

But the real fix is in nsTextEditorState::UpdatePlaceholderText, where after
setting the placeholder text on the anonymous div, we redo the placeholder
visibility computation.  Since this function can be called from
HTMLTextAreaElement::CreatePlaceholderNode during frame construction, the
GetValue function may return the wrong value since the editor has not properly
been set up yet, resulting in this bug.  And this function call is useless
anyway, because changing the placeholder text does not really affect the
result of the visibility computation, so there is no need to do this work
in the first place.
2014-04-25 16:40:44 -04:00
Wes Kocher
5fb9a7146e Backed out changeset 669fdba2ceef (bug 997805) for reftest bustage on a CLOSED TREE 2014-04-25 15:12:22 -07:00
Ehsan Akhgari
baf2940c9a Bug 997805 - Correctly restore the placeholder text after the editor object is re-attached to a text control as a result of a reframe; r=bzbarsky
Recomputing the placeholder visibility does not require the placeholder div
itself to be present, as the only information required for that is the current
value of the text control which is present either way.  This patch fixes
nsTextEditorState::ValueWasChanged and nsTextEditorState::UpdatePlaceholderVisibility
to that effect.

But the real fix is in nsTextEditorState::UpdatePlaceholderText, where after
setting the placeholder text on the anonymous div, we redo the placeholder
visibility computation.  Since this function can be called from
HTMLTextAreaElement::CreatePlaceholderNode during frame construction, the
GetValue function may return the wrong value since the editor has not properly
been set up yet, resulting in this bug.  And this function call is useless
anyway, because changing the placeholder text does not really affect the
result of the visibility computation, so there is no need to do this work
in the first place.
2014-04-25 16:40:44 -04:00