RESOLVED INVALID 77884
[Qt][WK2] Can't use TAB key to navigate on webpage links
https://bugs.webkit.org/show_bug.cgi?id=77884
Summary [Qt][WK2] Can't use TAB key to navigate on webpage links
Hugo Parente Lima
Reported 2012-02-06 11:03:49 PST
How to reproduce: Open MiniBrowser on desktop mode and try to change the focus pressing the Tab key, it must behave like QtTestBrowser.
Attachments
Patch (1.27 KB, patch)
2012-02-06 11:10 PST, Hugo Parente Lima
no flags
Patch (10.18 KB, patch)
2012-02-08 11:50 PST, Hugo Parente Lima
no flags
Patch (12.73 KB, patch)
2012-02-08 13:20 PST, Hugo Parente Lima
hausmann: review-
Hugo Parente Lima
Comment 1 2012-02-06 11:10:12 PST
Caio Marcelo de Oliveira Filho
Comment 2 2012-02-06 13:09:46 PST
Hugo, did you checked the LayoutTests after this? I think this might cause some LayoutTests to fail. The support for override preference that enabled/disable this is not done yet for WK2. So if the test use layoutTestController to change this preference, it won't work. Could you check that. Grepping for "WebKitTabToLinksPreferenceKey" might give you a hint.
Hugo Parente Lima
Comment 3 2012-02-06 13:41:36 PST
Good to know, I'll take a look.
Hugo Parente Lima
Comment 4 2012-02-06 13:43:02 PST
I just removed the "review?" flag until I check the issue with the layout tests.
Hugo Parente Lima
Comment 5 2012-02-08 11:50:07 PST
Hugo Parente Lima
Comment 6 2012-02-08 13:20:46 PST
Simon Hausmann
Comment 7 2012-02-09 00:27:49 PST
Comment on attachment 126141 [details] Patch Making the tab preference available to us in WK2 makes sense to me, but turning this into a WebCore::Setting sounds like something that should be dealt with in a separate change. I'm not sure the move to WC::Settings is actually worth it, but if it's done then I suppose it should replace the existing ChromeClient's keyboardUIMode(). Having both, a WC::Setting _and_ the virtual keyboardUIMode() would be wrong IMHO.
Hugo Parente Lima
Comment 8 2012-02-09 10:02:00 PST
(In reply to comment #7) > (From update of attachment 126141 [details]) > Making the tab preference available to us in WK2 makes sense to me, but turning this into a WebCore::Setting sounds like something that should be dealt with in a separate change. > > I'm not sure the move to WC::Settings is actually worth it, but if it's done then I suppose it should replace the existing ChromeClient's keyboardUIMode(). Having both, a WC::Setting _and_ the virtual keyboardUIMode() would be wrong IMHO. I don't know if it can fully replace the virtual keyboardUIMode() because this virtual returns a enum with 3 possible values, replacing it by the value stored on WC::Settings would mean remove the KeyboardAccessFull option from keyboardUIMode(). The tab preference is stored per webkit port on ChromeClient implementations, as WK2 have their own and unique ChromeClient implementation, ugly hacks like the ones used on other ports to check if the tab preference is on or off isn't possible, e.g. some ports just put a #ifdef and get the tab preference value directly from a DRT support class. KeyboardAccessFull seems to be used only on Mac ports, unfortunately my Objective-C skill didn't help me too much to understand why it exists.
Hugo Parente Lima
Comment 9 2012-02-09 13:30:54 PST
What do you think about WC::Settings storing the int value with the mask used by keyboard UI mode? This for sure should exclude the need of keyboardUIMode() virtual.
Jocelyn Turcotte
Comment 10 2014-02-03 03:20:01 PST
=== Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.
Note You need to log in before you can comment on or make changes to this bug.