RESOLVED DUPLICATE of bug 135454 137634
[EFL] Fix popup non-occurrence condition.
https://bugs.webkit.org/show_bug.cgi?id=137634
Summary [EFL] Fix popup non-occurrence condition.
KwangHyuk
Reported 2014-10-11 03:12:11 PDT
In the Webkit EFL, After the focus is out of drop-down list popup without any item selection, popup just disappears. but for the next time, drop-down list doesn't appear again.
Attachments
Patch (1.09 KB, patch)
2014-10-11 03:40 PDT, KwangHyuk
no flags
Patch (1.74 KB, patch)
2014-10-11 03:46 PDT, KwangHyuk
no flags
Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 (1.17 MB, application/zip)
2014-10-11 05:14 PDT, Build Bot
no flags
Patch (1.74 KB, patch)
2014-10-11 07:07 PDT, KwangHyuk
no flags
Patch (1.61 KB, patch)
2014-10-30 09:12 PDT, KwangHyuk
no flags
Patch (1.67 KB, patch)
2015-05-28 11:09 PDT, KwangHyuk
no flags
KwangHyuk
Comment 1 2014-10-11 03:40:57 PDT
KwangHyuk
Comment 2 2014-10-11 03:46:37 PDT
Build Bot
Comment 3 2014-10-11 05:14:14 PDT
Comment on attachment 239670 [details] Patch Attachment 239670 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5425612898435072 New failing tests: editing/unsupported-content/list-type-before.html editing/unsupported-content/table-type-before.html editing/unsupported-content/list-delete-003.html editing/unsupported-content/list-delete-001.html editing/unsupported-content/list-type-after.html editing/unsupported-content/table-delete-002.html editing/unsupported-content/table-type-after.html
Build Bot
Comment 4 2014-10-11 05:14:17 PDT
Created attachment 239672 [details] Archive of layout-test-results from webkit-ews-10 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-10 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
KwangHyuk
Comment 5 2014-10-11 07:07:02 PDT
Gyuyoung Kim
Comment 6 2014-10-26 23:43:49 PDT
Comment on attachment 239677 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=239677&action=review > Source/WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.cpp:126 > +#if PLATFORM(EFL) I think we can move this to WebPopupMenuEfl.cpp instead.
KwangHyuk
Comment 7 2014-10-30 08:56:42 PDT
(In reply to comment #6) > Comment on attachment 239677 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=239677&action=review > > > Source/WebKit2/WebProcess/WebCoreSupport/WebPopupMenu.cpp:126 > > +#if PLATFORM(EFL) > > I think we can move this to WebPopupMenuEfl.cpp instead. I have checked it and reach any conclusion. This doesn't look possible without modifying WebPopupMenu since WebPopupMenu is created using static create api and its own constructor is private member. So, I am checking whether it's ok if I modify this ? void RenderMenuList::hidePopup() { #if !PLATFORM(IOS) if (m_popup) m_popup->hide(); // call popupDidHide() in here ? #endif }
KwangHyuk
Comment 8 2014-10-30 09:12:43 PDT
Gyuyoung Kim
Comment 9 2014-10-30 18:13:08 PDT
Comment on attachment 240676 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=240676&action=review > Source/WebCore/ChangeLog:12 > + Therefore, popupDidHide() is called in the RenderMenuList:dePopup() method dePopup -> hidePopup > Source/WebCore/rendering/RenderMenuList.cpp:399 > + popupDidHide(); This function call can influence on Mac and GTK port as well as EFL port. So I think it would be good to add a test case to test this change.
Gyuyoung Kim
Comment 10 2015-02-03 07:39:56 PST
Comment on attachment 240676 [details] Patch Cleared review? from attachment 240676 [details] so that this bug does not appear in http://webkit.org/pending-review. If you would like this patch reviewed, please attach it to a new bug or this bug again.
KwangHyuk
Comment 11 2015-05-28 11:09:32 PDT
KwangHyuk
Comment 12 2015-05-28 11:18:55 PDT
For Webkit GTK, popup is just blocked until user choose any item and it just returned from the showPopup routine. Therefore, popupDidHide() is just called as soon as any item on the menu or out side area of menu is clicked via m_client->valueChangedForPopupMenu() in WebPopupMenuProxyGtk::showPopupMenu(). As a result, reset of m_popupIsvisible is guaranteed. But for the Webkit EFL, elm_menu is activated from UIProcess, but it's not blocked until user's selection. So, the working flow of each port are different from each other.
Ryuan Choi
Comment 13 2015-05-28 14:47:42 PDT
(In reply to comment #12) > For Webkit GTK, popup is just blocked until user choose any item and it just > returned from the showPopup routine. > Therefore, popupDidHide() is just called as soon as any item on the menu or > out side area of menu is clicked via m_client->valueChangedForPopupMenu() in > WebPopupMenuProxyGtk::showPopupMenu(). > As a result, reset of m_popupIsvisible is guaranteed. > > But for the Webkit EFL, elm_menu is activated from UIProcess, but it's not > blocked until user's selection. > So, the working flow of each port are different from each other. Could you test whether your issues are fine with below bug ? https://bugs.webkit.org/show_bug.cgi?id=135454 I think that this is duplicated bug(but different approach)
KwangHyuk
Comment 14 2015-05-29 05:49:10 PDT
(In reply to comment #13) > (In reply to comment #12) > > For Webkit GTK, popup is just blocked until user choose any item and it just > > returned from the showPopup routine. > > Therefore, popupDidHide() is just called as soon as any item on the menu or > > out side area of menu is clicked via m_client->valueChangedForPopupMenu() in > > WebPopupMenuProxyGtk::showPopupMenu(). > > As a result, reset of m_popupIsvisible is guaranteed. > > > > But for the Webkit EFL, elm_menu is activated from UIProcess, but it's not > > blocked until user's selection. > > So, the working flow of each port are different from each other. > > Could you test whether your issues are fine with below bug ? > https://bugs.webkit.org/show_bug.cgi?id=135454 > > I think that this is duplicated bug(but different approach) It fixed this issue. Why don't you get reviewer's review ? :)
Gyuyoung Kim
Comment 15 2015-05-31 20:06:25 PDT
Comment on attachment 253851 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=253851&action=review > Source/WebCore/ChangeLog:3 > + [EFL] Fix popup non-occurrence condition. It looks this patch is not only for EFL port. Doesn't this influence on GTK port too ? If so, please add [GTK] or [Win] prefix and so on. > Source/WebCore/ChangeLog:15 > + No new tests, no behavior change (OOPS!). I think this patch may change behavior...
Gyuyoung Kim
Comment 16 2015-05-31 21:17:11 PDT
(In reply to comment #13) > (In reply to comment #12) > > For Webkit GTK, popup is just blocked until user choose any item and it just > > returned from the showPopup routine. > > Therefore, popupDidHide() is just called as soon as any item on the menu or > > out side area of menu is clicked via m_client->valueChangedForPopupMenu() in > > WebPopupMenuProxyGtk::showPopupMenu(). > > As a result, reset of m_popupIsvisible is guaranteed. > > > > But for the Webkit EFL, elm_menu is activated from UIProcess, but it's not > > blocked until user's selection. > > So, the working flow of each port are different from each other. > > Could you test whether your issues are fine with below bug ? > https://bugs.webkit.org/show_bug.cgi?id=135454 > > I think that this is duplicated bug(but different approach) Hyuki, it looks the patch of Bug 135454 looks better fix for EFL port. What do you think about it ?
KwangHyuk
Comment 17 2015-05-31 21:19:33 PDT
(In reply to comment #16) > (In reply to comment #13) > > (In reply to comment #12) > > > For Webkit GTK, popup is just blocked until user choose any item and it just > > > returned from the showPopup routine. > > > Therefore, popupDidHide() is just called as soon as any item on the menu or > > > out side area of menu is clicked via m_client->valueChangedForPopupMenu() in > > > WebPopupMenuProxyGtk::showPopupMenu(). > > > As a result, reset of m_popupIsvisible is guaranteed. > > > > > > But for the Webkit EFL, elm_menu is activated from UIProcess, but it's not > > > blocked until user's selection. > > > So, the working flow of each port are different from each other. > > > > Could you test whether your issues are fine with below bug ? > > https://bugs.webkit.org/show_bug.cgi?id=135454 > > > > I think that this is duplicated bug(but different approach) > > Hyuki, it looks the patch of Bug 135454 looks better fix for EFL port. What > do you think about it ? Agree with you. :)
KwangHyuk
Comment 18 2015-05-31 21:19:57 PDT
*** This bug has been marked as a duplicate of bug 135454 ***
Note You need to log in before you can comment on or make changes to this bug.