зеркало из https://github.com/mozilla/gecko-dev.git
Prevent normal handling of oninput events if the event is caused by autocomplete updating the text field value. Bug 212686.
This commit is contained in:
Родитель
d627bea1c6
Коммит
858adb56f1
|
@ -83,7 +83,8 @@ nsFormFillController::nsFormFillController() :
|
|||
mMaxRows(0),
|
||||
mDisableAutoComplete(PR_FALSE),
|
||||
mCompleteDefaultIndex(PR_FALSE),
|
||||
mForceComplete(PR_FALSE)
|
||||
mForceComplete(PR_FALSE),
|
||||
mSuppressOnInput(PR_FALSE)
|
||||
{
|
||||
mController = do_CreateInstance("@mozilla.org/autocomplete/controller;1");
|
||||
|
||||
|
@ -377,7 +378,9 @@ nsFormFillController::GetTextValue(nsAString & aTextValue)
|
|||
NS_IMETHODIMP
|
||||
nsFormFillController::SetTextValue(const nsAString & aTextValue)
|
||||
{
|
||||
mSuppressOnInput = PR_TRUE;
|
||||
mFocusedInput->SetValue(aTextValue);
|
||||
mSuppressOnInput = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -592,6 +595,9 @@ nsFormFillController::Select(nsIDOMEvent* aEvent)
|
|||
NS_IMETHODIMP
|
||||
nsFormFillController::Input(nsIDOMEvent* aEvent)
|
||||
{
|
||||
if (mSuppressOnInput)
|
||||
return NS_OK;
|
||||
|
||||
return mController->HandleText();
|
||||
}
|
||||
|
||||
|
|
|
@ -120,6 +120,7 @@ protected:
|
|||
PRPackedBool mDisableAutoComplete;
|
||||
PRPackedBool mCompleteDefaultIndex;
|
||||
PRPackedBool mForceComplete;
|
||||
PRPackedBool mSuppressOnInput;
|
||||
};
|
||||
|
||||
#endif // __nsFormFillController__
|
||||
|
|
Загрузка…
Ссылка в новой задаче