Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Issue 1046853002: Implement 'tabstop' as an HTML attribute (Closed)

Created:
5 years, 8 months ago by kochi
Modified:
5 years, 8 months ago
Reviewers:
tkent, hayato
CC:
blink-reviews, blink-reviews-html_chromium.org, sof, eae+blinkwatch, blink-reviews-dom_chromium.org, dglazkov+blink, rwlbuis
Target Ref:
refs/remotes/origin/master
Project:
blink
Visibility:
Public.

Description

Implement 'tabstop' as an HTML attribute r190640 introduced 'tabStop' as an property for Element DOM objects. This CL implements 'tabstop' as an HTML attribute for HTML elements. The property and attribute is reflected for both direction. The basic rule is, unless HTML "tabstop" attribute is there (if tabStop property is set via script, it is reflected in HTML attribute, so there is), tabStop reflects what tabindex for the element means. This is guarded by |tabStopAttribute| runtime features and only usable when experimental web platform features flag is enabled. Design doc: https://docs.google.com/a/chromium.org/document/d/1k93Ez6yNSyWQDtGjdJJqTBPmljk9l2WS3JTe5OHHB50/edit BUG=380445 TEST=fast/dom/shadow/tabstop-property.html Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=192821

Patch Set 1 #

Patch Set 2 : Guard tabstop attribute to be enabled via about:flags #

Total comments: 6

Patch Set 3 : add invlid value case #

Total comments: 14

Patch Set 4 : style nit for layout test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+141 lines, -34 lines) Patch
M LayoutTests/fast/dom/shadow/focusable-elements-with-tabstop.html View 1 chunk +2 lines, -1 line 0 comments Download
M LayoutTests/fast/dom/shadow/focusable-elements-with-tabstop-expected.txt View 1 chunk +1 line, -1 line 0 comments Download
M LayoutTests/fast/dom/shadow/tabstop-property.html View 1 2 3 1 chunk +68 lines, -20 lines 0 comments Download
M LayoutTests/fast/dom/shadow/tabstop-property-expected.txt View 1 2 1 chunk +26 lines, -4 lines 0 comments Download
M Source/core/dom/Element.h View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M Source/core/dom/Element.cpp View 1 2 3 3 chunks +39 lines, -3 lines 0 comments Download
M Source/core/dom/ElementRareData.h View 1 2 3 1 chunk +0 lines, -3 lines 0 comments Download
M Source/core/html/HTMLAttributeNames.in View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/HTMLElement.cpp View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 13 (4 generated)
kochi
PTAL
5 years, 8 months ago (2015-03-30 10:39:46 UTC) #2
hayato
I'm not familiar with how attributes can be implemented. I'll try to take a look ...
5 years, 8 months ago (2015-03-31 05:02:20 UTC) #3
kochi
tkent-san, Could you review?
5 years, 8 months ago (2015-03-31 05:57:49 UTC) #5
tkent
https://codereview.chromium.org/1046853002/diff/20001/Source/core/dom/Element.cpp File Source/core/dom/Element.cpp (right): https://codereview.chromium.org/1046853002/diff/20001/Source/core/dom/Element.cpp#newcode218 Source/core/dom/Element.cpp:218: if (!hasAttribute(tabstopAttr)) hasAttribute -> fastHasAttribute https://codereview.chromium.org/1046853002/diff/20001/Source/core/dom/Element.cpp#newcode226 Source/core/dom/Element.cpp:226: if (!hasAttribute(tabstopAttr)) ...
5 years, 8 months ago (2015-03-31 06:16:33 UTC) #6
kochi
Thanks for the review! https://codereview.chromium.org/1046853002/diff/20001/Source/core/dom/Element.cpp File Source/core/dom/Element.cpp (right): https://codereview.chromium.org/1046853002/diff/20001/Source/core/dom/Element.cpp#newcode218 Source/core/dom/Element.cpp:218: if (!hasAttribute(tabstopAttr)) On 2015/03/31 06:16:32, ...
5 years, 8 months ago (2015-03-31 08:04:24 UTC) #7
tkent
lgtm https://codereview.chromium.org/1046853002/diff/40001/LayoutTests/fast/dom/shadow/tabstop-property.html File LayoutTests/fast/dom/shadow/tabstop-property.html (right): https://codereview.chromium.org/1046853002/diff/40001/LayoutTests/fast/dom/shadow/tabstop-property.html#newcode39 LayoutTests/fast/dom/shadow/tabstop-property.html:39: shouldBe("div.hasAttribute('tabstop')", "false"); nit: shouldBeFalse() https://codereview.chromium.org/1046853002/diff/40001/LayoutTests/fast/dom/shadow/tabstop-property.html#newcode46 LayoutTests/fast/dom/shadow/tabstop-property.html:46: shouldBe("div.hasAttribute('tabstop')", "false"); ...
5 years, 8 months ago (2015-03-31 08:11:18 UTC) #8
kochi
https://codereview.chromium.org/1046853002/diff/40001/LayoutTests/fast/dom/shadow/tabstop-property.html File LayoutTests/fast/dom/shadow/tabstop-property.html (right): https://codereview.chromium.org/1046853002/diff/40001/LayoutTests/fast/dom/shadow/tabstop-property.html#newcode39 LayoutTests/fast/dom/shadow/tabstop-property.html:39: shouldBe("div.hasAttribute('tabstop')", "false"); On 2015/03/31 08:11:18, tkent wrote: > nit: ...
5 years, 8 months ago (2015-03-31 08:46:08 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1046853002/60001
5 years, 8 months ago (2015-03-31 09:13:40 UTC) #12
commit-bot: I haz the power
5 years, 8 months ago (2015-03-31 10:18:00 UTC) #13
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=192821

Powered by Google App Engine
This is Rietveld 408576698