Changeset 166793 in webkit
- Timestamp:
- Apr 4, 2014, 11:07:44 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r166789 r166793 1 2014-04-04 Alexey Proskuryakov <ap@apple.com> 2 3 REGRESSION (r166615): Pressing return doesn’t submit search term at bing.com 4 https://bugs.webkit.org/show_bug.cgi?id=131212 5 <rdar://problem/16521788> 6 7 Reviewed by Dan Bernstein. 8 9 * fast/forms/submit-while-you-submit-expected.txt: Added. 10 * fast/forms/submit-while-you-submit.html: Added. 11 1 12 2014-04-04 Brent Fulgham <bfulgham@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r166791 r166793 1 2014-04-04 Alexey Proskuryakov <ap@apple.com> 2 3 REGRESSION (r166615): Pressing return doesn’t submit search term at bing.com 4 https://bugs.webkit.org/show_bug.cgi?id=131212 5 <rdar://problem/16521788> 6 7 Reviewed by Dan Bernstein. 8 9 Test: fast/forms/submit-while-you-submit.html 10 11 Turns out that m_shouldSubmit can actually be modified in a code path where we can't 12 directly return the result. I'm not sure if the current behavior is entirely correct 13 (we have open bugs about submitting forms multiple times), but let's restore it to 14 pre-r166615 state. 15 16 * html/HTMLFormElement.cpp: 17 (WebCore::HTMLFormElement::HTMLFormElement): 18 (WebCore::HTMLFormElement::prepareForSubmission): 19 (WebCore::HTMLFormElement::submit): 20 * html/HTMLFormElement.h: 21 1 22 2014-04-04 Martin Hock <mhock@apple.com> 2 23 -
trunk/Source/WebCore/html/HTMLFormElement.cpp
r166684 r166793 58 58 , m_wasUserSubmitted(false) 59 59 , m_isSubmittingOrPreparingForSubmission(false) 60 , m_shouldSubmit(false) 60 61 , m_isInResetFunction(false) 61 62 , m_wasDemoted(false) … … 267 268 268 269 m_isSubmittingOrPreparingForSubmission = true; 269 boolshouldSubmit = false;270 m_shouldSubmit = false; 270 271 271 272 // Interactive validation must be done before dispatching the submit event. … … 280 281 frame->loader().client().dispatchWillSendSubmitEvent(formState.release()); 281 282 283 // Event handling can result in m_shouldSubmit becoming true, regardless of dispatchEvent() return value. 282 284 if (dispatchEvent(Event::create(eventNames().submitEvent, true, true))) 283 shouldSubmit = true;285 m_shouldSubmit = true; 284 286 285 287 m_isSubmittingOrPreparingForSubmission = false; 286 288 287 if ( shouldSubmit)289 if (m_shouldSubmit) 288 290 submit(event, true, true, NotSubmittedByJavaScript); 289 291 } … … 323 325 return; 324 326 325 if (m_isSubmittingOrPreparingForSubmission) 326 return; 327 if (m_isSubmittingOrPreparingForSubmission) { 328 m_shouldSubmit = true; 329 return; 330 } 327 331 328 332 m_isSubmittingOrPreparingForSubmission = true; … … 354 358 firstSuccessfulSubmitButton->setActivatedSubmit(false); 355 359 360 m_shouldSubmit = false; 356 361 m_isSubmittingOrPreparingForSubmission = false; 357 362 } -
trunk/Source/WebCore/html/HTMLFormElement.h
r166615 r166793 82 82 void removeImgElement(HTMLImageElement*); 83 83 84 void prepareForSubmission(Event*); // FIXME: This function doesn't only prepare, it sometimes calls su mbit() itself.84 void prepareForSubmission(Event*); // FIXME: This function doesn't only prepare, it sometimes calls submit() itself. 85 85 void submit(); 86 86 void submitFromJavaScript(); … … 173 173 bool m_wasUserSubmitted; 174 174 bool m_isSubmittingOrPreparingForSubmission; 175 bool m_shouldSubmit; 175 176 176 177 bool m_isInResetFunction;
Note:
See TracChangeset
for help on using the changeset viewer.