RESOLVED FIXED 193046
Unable to enter text in https://eat.fi
https://bugs.webkit.org/show_bug.cgi?id=193046
Summary Unable to enter text in https://eat.fi
Alberto Garcia
Reported 2018-12-28 02:05:23 PST
I reproduced this with the MiniBrowser using WebKitGTK+ 2.22.5. 1) Open https://eat.fi/ 2) When the page is loaded look for an input box that says "Hae kaupunki tai ravintola" ("Search city or restaurant") 3) Click on the input box with the mouse in order to set the focus. Expected outcome: the input box is focused and you can type some text. Actual outcome: the form is submitted automatically before you can type anything. This works fine in Chromium and Firefox.
Attachments
Patch (21.38 KB, patch)
2019-07-22 07:19 PDT, Carlos Garcia Campos
no flags
Patch (22.25 KB, patch)
2019-07-31 01:31 PDT, Carlos Garcia Campos
rniwa: review+
Patch for landing (22.77 KB, patch)
2019-08-27 02:03 PDT, Carlos Garcia Campos
no flags
Adrian Perez
Comment 1 2019-04-25 14:52:36 PDT
This is still happening in 2.24.1 :-⅜
Lionir
Comment 2 2019-05-17 13:25:19 PDT
Thought I'd add, if you tab to the search bar and type in it, it works. So it's likely how we grab focus on the search bar which causes the problem?
Carlos Garcia Campos
Comment 3 2019-07-22 07:07:25 PDT
This is not GTK specific, it happens in Safari too.
Carlos Garcia Campos
Comment 4 2019-07-22 07:19:31 PDT
Michael Catanzaro
Comment 5 2019-07-22 12:46:35 PDT
Nice!
Carlos Garcia Campos
Comment 6 2019-07-29 02:08:30 PDT
Ping reviewers
Darin Adler
Comment 7 2019-07-29 10:07:18 PDT
The failure in this test on iOS seems like it might be a real regression: imported/blink/fast/forms/label/label-contains-other-interactive-content.html Has anyone looked at it yet?
Carlos Garcia Campos
Comment 8 2019-07-30 06:08:44 PDT
Well, it's a new test, so it's not actually a regression, I would say. But I don't know iOS to understand why it's only failing there.
Darin Adler
Comment 9 2019-07-30 14:19:02 PDT
We will need an iOS expert to help with that maybe.
Carlos Garcia Campos
Comment 10 2019-07-31 01:19:26 PDT
Could it be that clickElement() doesn't work for some reason in iOS WTR? I see other tests using clickElement listed in ios-wk2/TestExpectations, but without a bug number nor more details. I think we can just skip this test in iOS for now.
Carlos Garcia Campos
Comment 11 2019-07-31 01:23:50 PDT
That's it, mouseDown(), mouseUp() and mouseMoveTo() are not implemented in iOS EventSender.
Carlos Garcia Campos
Comment 12 2019-07-31 01:31:40 PDT
Carlos Garcia Campos
Comment 13 2019-08-01 08:32:00 PDT
New test failure is unrelated to this, it's the same partch as before, just with the test skipped in iOS.
Ryosuke Niwa
Comment 14 2019-08-21 17:26:34 PDT
Comment on attachment 375219 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=375219&action=review r=me with the following comments addressed. > Source/WebCore/html/HTMLEmbedElement.h:46 > + bool isInteractiveContent() const final { return true; } Please add this to HTMLAppletElement as well. > Source/WebCore/html/HTMLIFrameElement.h:56 > + bool isInteractiveContent() const final { return true; } And to HTMLFrameElement. > Source/WebCore/html/HTMLLabelElement.cpp:123 > + for (const auto* it = &node; it && it != this; it = it->parentOrShadowHostNode()) { Use parentElement() or parentElementInComposedTree(). It's suspicious that the specification doesn't use the composed tree for the purpose of determining this. It's probably a specification bug.
Carlos Garcia Campos
Comment 15 2019-08-27 02:02:45 PDT
(In reply to Ryosuke Niwa from comment #14) > Comment on attachment 375219 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=375219&action=review > > r=me with the following comments addressed. Thanks for the review. > > Source/WebCore/html/HTMLEmbedElement.h:46 > > + bool isInteractiveContent() const final { return true; } > > Please add this to HTMLAppletElement as well. Ok. > > Source/WebCore/html/HTMLIFrameElement.h:56 > > + bool isInteractiveContent() const final { return true; } > > And to HTMLFrameElement. Why? The spec only mentions iframe. > > Source/WebCore/html/HTMLLabelElement.cpp:123 > > + for (const auto* it = &node; it && it != this; it = it->parentOrShadowHostNode()) { > > Use parentElement() or parentElementInComposedTree(). > It's suspicious that the specification doesn't use the composed tree for the > purpose of determining this. > It's probably a specification bug. Ok, I'll use parentElementInComposedTree()
Carlos Garcia Campos
Comment 16 2019-08-27 02:03:28 PDT
Created attachment 377331 [details] Patch for landing
Carlos Garcia Campos
Comment 17 2019-08-28 03:23:03 PDT
Radar WebKit Bug Importer
Comment 18 2019-08-28 03:24:21 PDT
Ryosuke Niwa
Comment 19 2019-08-28 08:00:17 PDT
(In reply to Carlos Garcia Campos from comment #15) > (In reply to Ryosuke Niwa from comment #14) > > Comment on attachment 375219 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=375219&action=review > > > > r=me with the following comments addressed. > > Thanks for the review. > > > > Source/WebCore/html/HTMLIFrameElement.h:56 > > > + bool isInteractiveContent() const final { return true; } > > > > And to HTMLFrameElement. > > Why? The spec only mentions iframe. That's probably just a bug in the spec itself but whatever. It doesn't matter for now.
Note You need to log in before you can comment on or make changes to this bug.