WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 66027
Bug 95178
Support CSS3 Keyboard control
https://bugs.webkit.org/show_bug.cgi?id=95178
Summary
Support CSS3 Keyboard control
Binyamin
Reported
2012-08-28 01:09:33 PDT
Add support for CSS3 Keyboard control
http://dev.w3.org/csswg/css3-ui/#keyboard
, the new properties: nav-index, nav-up, nav-right, nav-down, nav-left, ime-mode.
Attachments
add the feature of css3 keyboard navigation
(27.66 KB, patch)
2013-04-21 19:09 PDT
,
Sangho Kim
no flags
Details
Formatted Diff
Diff
add change log and license
(30.86 KB, patch)
2013-04-22 22:53 PDT
,
Sangho Kim
rniwa
: review-
eflews.bot
: commit-queue-
Details
Formatted Diff
Diff
css3 keyboard navigation patch
(36.75 KB, patch)
2013-05-01 22:30 PDT
,
Sangho Kim
kling
: review-
eflews.bot
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Alexey Proskuryakov
Comment 1
2012-08-28 09:34:35 PDT
Do you want any of these features specifically? Having a use case would go a long way towards establishing importance of a feature.
Binyamin
Comment 2
2012-08-28 11:23:42 PDT
(In reply to
comment #1
) @Alexey, I think it would be grate to have support for all those features.
Sangho Kim
Comment 3
2013-04-21 19:09:21 PDT
Created
attachment 198982
[details]
add the feature of css3 keyboard navigation I attached the patch which has the feature of CSS3 keyboard navigation. Please review...
Philippe Normand
Comment 4
2013-04-22 00:21:39 PDT
Comment on
attachment 198982
[details]
add the feature of css3 keyboard navigation View in context:
https://bugs.webkit.org/attachment.cgi?id=198982&action=review
ChangeLog is missing. Also, can the new files be explicitely put under LGPL2 or BSD license? And don't forget to set the r flag to '?'
> Source/WebKit2/Shared/WebPreferencesStore.h:-39 > -#if PLATFORM(GTK)
Unrelated change?
Sangho Kim
Comment 5
2013-04-22 22:53:35 PDT
Created
attachment 199152
[details]
add change log and license I add the change log and license. Do I have to do another?
WebKit Commit Bot
Comment 6
2013-04-22 22:56:01 PDT
Attachment 199152
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Target.pri', u'Source/WebCore/css/CSSComputedStyleDeclaration.cpp', u'Source/WebCore/css/CSSGrammar.y.in', u'Source/WebCore/css/CSSParser.cpp', u'Source/WebCore/css/CSSPrimitiveValue.cpp', u'Source/WebCore/css/CSSPrimitiveValue.h', u'Source/WebCore/css/CSSProperty.cpp', u'Source/WebCore/css/CSSPropertyNames.in', u'Source/WebCore/css/CSSValueKeywords.in', u'Source/WebCore/css/StyleResolver.cpp', u'Source/WebCore/dom/Element.h', u'Source/WebCore/page/EventHandler.cpp', u'Source/WebCore/page/FocusController.cpp', u'Source/WebCore/rendering/style/RenderStyle.cpp', u'Source/WebCore/rendering/style/RenderStyle.h', u'Source/WebCore/rendering/style/StyleNavData.cpp', u'Source/WebCore/rendering/style/StyleNavData.h', u'Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp', u'Source/WebCore/rendering/style/StyleRareNonInheritedData.h', u'Source/WebKit2/Shared/WebPreferencesStore.h']" exit_code: 1 ChangeLog:12: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:13: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:14: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:15: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:16: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:17: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:18: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:19: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:20: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:21: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:22: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:23: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:24: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:25: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:26: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:27: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:28: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:29: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:30: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] ChangeLog:31: Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5] Source/WebCore/css/CSSPrimitiveValue.h:137: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 21 in 21 files If any of these errors are false positives, please file a bug against check-webkit-style.
EFL EWS Bot
Comment 7
2013-04-22 22:59:24 PDT
Comment on
attachment 199152
[details]
add change log and license
Attachment 199152
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/16639
Build Bot
Comment 8
2013-04-22 23:21:11 PDT
Comment on
attachment 199152
[details]
add change log and license
Attachment 199152
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/16640
Alexey Proskuryakov
Comment 9
2013-04-22 23:30:32 PDT
What regression tests do you have for this feature? It will require a substantial number of tests.
Ryosuke Niwa
Comment 10
2013-04-22 23:30:41 PDT
Has this feature been announced on webkit-dev yet? (See
http://www.webkit.org/coding/adding-features.html
)
Build Bot
Comment 11
2013-04-22 23:34:31 PDT
Comment on
attachment 199152
[details]
add change log and license
Attachment 199152
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/110757
Ryosuke Niwa
Comment 12
2013-04-22 23:39:58 PDT
Comment on
attachment 199152
[details]
add change log and license View in context:
https://bugs.webkit.org/attachment.cgi?id=199152&action=review
Thank you for the patch but this patch needs tests. Every new feature or bug fix needs to come up with a layout test whenever possible. See
http://www.webkit.org/coding/contributing.html
There is a lot of stylistic and naming issues as I've pointed out below.
> ChangeLog:6 > + Reviewed by .
Please don't remove NOBODY (OOPS!). (You used webkit-patch upload or prepare-ChangeLog in Tools/Scripts, right?)
>> ChangeLog:12 >> + * Source/WebCore/Target.pri > > Need whitespace between colon and description [changelog/filechangedescriptionwhitespace] [5]
You're missing a colon after the file name.
> Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2109 > + const StyleNavIndex* nav = style->getNavIndex();
Please don't use abbreviations like nav. Spell out navigation.
> Source/WebCore/css/CSSParser.cpp:2953 > + if ((num > 2) || (value->unit != CSSPrimitiveValue::CSS_PARSER_HEXCOLOR && value->unit != CSSPrimitiveValue::CSS_ELEMENT_ID))
No need to wrap inner conditions with parentheses. Why are you comparing the unit to CSS_PARSER_HEXCOLOR and CSS_ELEMENT_ID? That doesn't make much sense.
> Source/WebCore/rendering/style/RenderStyle.cpp:1703 > +const StyleNavData* RenderStyle::getNav(int propId)
this name is too terse. Please give more descriptive name. Also, we don't prefix a function with "get" unless it has an out argument.
> Source/WebCore/rendering/style/StyleNavData.cpp:27 > +StyleNavData::StyleNavData()
Please don't use abbreviations like Nav. Also, StyleNavData is a very vague name. Please consider giving it a more descriptive name.
> Source/WebCore/rendering/style/StyleNavData.cpp:29 > + : m_id("") > + , m_target("")
Please use emptyString instead or let the default constructor run.
Ryosuke Niwa
Comment 13
2013-04-22 23:41:21 PDT
http://www.webkit.org/coding/coding-style.html
is our style guideline. Please have a look at it.
Gyuyoung Kim
Comment 14
2013-04-24 22:29:46 PDT
Comment on
attachment 199152
[details]
add change log and license View in context:
https://bugs.webkit.org/attachment.cgi?id=199152&action=review
> ChangeLog:8 > + Add support for CSS3 Keyboard control
http://dev.w3.org/csswg/css3-ui/#keyboard
.
I'm wondering if you notify webkit-dev of this feature. According to webkit policy, new feature should be notified to webkit-dev first.
> Source/WebCore/GNUmakefile.list.am:4722 > + Source/WebCore/rendering/style/StyleNavData.cpp \
I think this file needs to be added to CMake files as well in order to support EFL, blackberry and wince ports. Besides it looks you need to add this file to xcode for Mac.
> Source/WebCore/rendering/style/StyleNavData.cpp:2 > + * Copyright (C) 2013 Sangho Kim (
thomas.kim@lge.com
)
If contributor belongs to company, contributor has added a company copyright generally.
> Source/WebKit2/Shared/WebPreferencesStore.h:39 > +#if PLATFORM(GTK) || PLATFORM(QT)
There is no WK2 ChangeLog update for this file. As Ryosuke said, please use Tools/Script/prepare-ChangeLog.
Sangho Kim
Comment 15
2013-05-01 22:30:58 PDT
Created
attachment 200300
[details]
css3 keyboard navigation patch I changed some code as reference your reviews.
WebKit Commit Bot
Comment 16
2013-05-01 22:33:30 PDT
Attachment 200300
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/CMakeLists.txt', u'Source/WebCore/ChangeLog', u'Source/WebCore/GNUmakefile.list.am', u'Source/WebCore/Target.pri', u'Source/WebCore/css/CSSComputedStyleDeclaration.cpp', u'Source/WebCore/css/CSSGrammar.y.in', u'Source/WebCore/css/CSSParser.cpp', u'Source/WebCore/css/CSSPrimitiveValue.cpp', u'Source/WebCore/css/CSSPrimitiveValue.h', u'Source/WebCore/css/CSSProperty.cpp', u'Source/WebCore/css/CSSPropertyNames.in', u'Source/WebCore/css/CSSValueKeywords.in', u'Source/WebCore/css/StyleResolver.cpp', u'Source/WebCore/dom/Element.h', u'Source/WebCore/page/EventHandler.cpp', u'Source/WebCore/page/FocusController.cpp', u'Source/WebCore/rendering/style/RenderStyle.cpp', u'Source/WebCore/rendering/style/RenderStyle.h', u'Source/WebCore/rendering/style/StyleNavDirection.cpp', u'Source/WebCore/rendering/style/StyleNavDirection.h', u'Source/WebCore/rendering/style/StyleNavIndex.cpp', u'Source/WebCore/rendering/style/StyleNavIndex.h', u'Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp', u'Source/WebCore/rendering/style/StyleRareNonInheritedData.h', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/Shared/WebPreferencesStore.h']" exit_code: 1 Source/WebCore/css/CSSPrimitiveValue.h:137: enum members should use InterCaps with an initial capital letter. [readability/enum_casing] [4] Total errors found: 1 in 25 files If any of these errors are false positives, please file a bug against check-webkit-style.
EFL EWS Bot
Comment 17
2013-05-01 22:37:16 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch
Attachment 200300
[details]
did not pass efl-ews (efl): Output:
http://webkit-queues.appspot.com/results/384040
EFL EWS Bot
Comment 18
2013-05-01 22:39:02 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch
Attachment 200300
[details]
did not pass efl-wk2-ews (efl-wk2): Output:
http://webkit-queues.appspot.com/results/268060
Build Bot
Comment 19
2013-05-01 22:58:36 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch
Attachment 200300
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/393032
Build Bot
Comment 20
2013-05-01 22:59:53 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch
Attachment 200300
[details]
did not pass win-ews (win): Output:
http://webkit-queues.appspot.com/results/268064
Build Bot
Comment 21
2013-05-01 23:09:19 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch
Attachment 200300
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/333116
James Craig
Comment 22
2013-05-02 14:09:24 PDT
We should not support any of the nav properties. nav-index, nav-up, nav-right, nav-down, and nav-left are all features at risk and we should let them remain at risk until they are removed from this version of the specification. The main thing nav-index is lacking is a context. This could potentially be solved with an additional property, potentially: nav-context: ignore | relative | absolute; Yet, as specified, nav-index has all the same serious negative implications of positive integer values of tabindex, where each node has to know about the layout order of every other node in the document. If you're only specifying nav index on first level branches, this is fine, but there is no good way to use this on leaf nodes, and it has severe consequences for breaking index order of keyboard navigation. Another problem this does not solve is the potential for infinite navigation loops with circular references using any of the nav-* properties. The specification should define that circular references are illegal, and it should also define recovery behavior when a rendering engine encounters circular navigation loops. I mentioned both of these problems to Tantek at last years TPAC. I can't recall whether I sent a formal note to the list, but I will send a follow-up objection now. The ime-mode property also seems problematic but I'm not yet familiar enough with this part of the proposal to officially object. Why should a web page get to disable my Pinyin character window? The example given it would not allow extended set characters to be entered into a form, but it seems this would be better solved by either 1) simple form validation, or 2) regex accept patterns in HTML input. Allowing CSS to disable IMEs seems like overkill for this problem.
Alexey Proskuryakov
Comment 23
2013-05-02 14:27:47 PDT
Bug 21279
tracks ime-mode, and I also had objections against it.
James Craig
Comment 24
2013-05-02 16:36:16 PDT
Sent objections to www-style:
http://lists.w3.org/Archives/Public/www-style/2013May/0076.html
James Craig
Comment 25
2013-05-03 12:19:34 PDT
David Baron says, "The group resolved a few weeks ago to drop them from level 3"
http://lists.w3.org/Archives/Public/www-style/2013Apr/0428.html
Any objections to closing this as "RESOLVED INVALID"?
Andreas Kling
Comment 26
2013-05-05 12:57:08 PDT
Comment on
attachment 200300
[details]
css3 keyboard navigation patch View in context:
https://bugs.webkit.org/attachment.cgi?id=200300&action=review
It sounds like we shouldn't be implementing this at all. Regardless, r- because this should be behind an ENABLE-flag, and new features should be announced on webkit-dev.
> Source/WebCore/rendering/style/StyleRareNonInheritedData.h:206 > + DataRef<StyleNavDirection> m_navUp; > + DataRef<StyleNavDirection> m_navDown; > + DataRef<StyleNavDirection> m_navLeft; > + DataRef<StyleNavDirection> m_navRight; > + DataRef<StyleNavIndex> m_navIndex;
I don't like the idea of growing StyleRareNonInheritedData by 5 whole pointers for a single feature that's not used on the web yet. Can we make group this stuff under a single pointer here?
Philippe Normand
Comment 27
2013-06-24 02:21:15 PDT
Likely a duplicate of
bug 66027
.
James Craig
Comment 28
2013-06-24 09:31:47 PDT
*** This bug has been marked as a duplicate of
bug 66027
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug