New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 767634 link

Starred by 10 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 768363
issue 854624
issue 900727

Blocking:
issue 922437



Sign in to add a comment

Implement white-space:break-spaces value

Project Member Reported by jfernan...@igalia.com, Sep 21 2017

Issue description

The CSS Text 3 spec defines the a new value 'break-spaces' for the 'white-space' property

https://drafts.csswg.org/css-text-3/#white-property

Value: normal | pre | nowrap | pre-wrap | break-spaces | pre-line 

Chrome 62.0.3198.0  parses the 'break-space' value as invalid.

 
Summary: overflow-wrap doesn't accept the 'break-spaces' value (was: overflow-wrap doesn't accept 'break-spaces' value)
Labels: -Type-Bug Hotlist-Interop Update-Quarterly Type-Feature
Status: Available (was: Untriaged)
Summary: Implement overflow-wrap:break-spaces value (was: overflow-wrap doesn't accept the 'break-spaces' value)
Components: -Blink>CSS
Blockedon: 854624
Cc: kojii@chromium.org
Owner: jfernan...@igalia.com
Status: Started (was: Available)
The 'break-spaces' value can be used in combination with 'break-word'. In this case, we will allow breaking the line BEFORE the first white-space character after a word (due to the 'break-word' rule). 

I think this case was already discussed here:

https://github.com/w3c/csswg-drafts/issues/2003

It seems that Chrome doesn't respect the rule of looking for previous soft-braking opportunities before applying the 'break-word' ( bug #854624 ), so in order to correctly implement 'break-spaces' we need to fix that bug first.
Description: Show this description
Summary: Implement white-space:break-spaces value (was: Implement overflow-wrap:break-spaces value)
Cc: robertma@chromium.org
 Issue 863583  has been merged into this issue.
Blockedon: 900727
Blockedon: 768363
Cc: cbiesin...@chromium.org fantasai...@inkedblade.net
Javier -- since you were interested in fixing this one, can I interest you in bug 905315 as well? :)
Sure ! I was already on my plans.
Cc: -robertma@chromium.org

Comment 14 by jfernan...@igalia.com, Jan 16 (2 days ago)

Blocking: 922437
Project Member

Comment 15 by bugdroid1@chromium.org, Jan 16 (2 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a07642661ef7ff08c156e90394504a3a40afc9ea

commit a07642661ef7ff08c156e90394504a3a40afc9ea
Author: Javier Fernandez <jfernandez@igalia.com>
Date: Wed Jan 16 19:22:45 2019

[css-text] New value 'break-spaces' for the white-space property

Finally the CSS WG decided [1] to move back the 'break-spaces' value to
the 'white-space' property. This makes the parsing logic easier than
the previous approach of using the 'overflow-wrap' property.

This new value prevents the white-space sequence to collapse and gives
breaking opportunities after every preserved white-space.

https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces

Additionally, unlike 'pre-wrap', non-collapsible spaces or tabs at the
end of a line cannot be hung or visually collapsed, since we want them
to be preserved and broken.

[1] https://github.com/w3c/csswg-drafts/pull/2841

Bug: 767634
Change-Id: I55e888d4472de11c64c4b14e2710c6e3d1832e67
Reviewed-on: https://chromium-review.googlesource.com/c/1136543
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#623324}
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/build/scripts/core/style/templates/computed_style_base_constants.h.tmpl
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/css/css_properties.json5
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/css/css_value_keywords.json5
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/layout/line/breaking_context_inline_headers.h
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/style/computed_style.cc
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/core/style/computed_style.h
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/TestExpectations
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/W3CImportExpectations
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-004.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-005.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-006.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-007.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-008.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/pre-wrap-016.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-010.html
[modify] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-011.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-012.html
[add] https://crrev.com/a07642661ef7ff08c156e90394504a3a40afc9ea/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-013.html

Comment 16 by jfernan...@igalia.com, Jan 16 (2 days ago)

Status: Fixed (was: Started)
This issue is FIXED now.
Project Member

Comment 17 by bugdroid1@chromium.org, Jan 16 (2 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/10e9e80b72fd808dd68109206bed1e4f55008c5a

commit 10e9e80b72fd808dd68109206bed1e4f55008c5a
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Wed Jan 16 20:28:27 2019

Revert "[css-text] New value 'break-spaces' for the white-space property"

This reverts commit a07642661ef7ff08c156e90394504a3a40afc9ea.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 623324 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2EwNzY0MjY2MWVmN2ZmMDhjMTU2ZTkwMzk0NTA0YTNhNDBhZmM5ZWEM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.win/Win%20x64%20Builder/60550

Sample Failed Step: compile

Original change's description:
> [css-text] New value 'break-spaces' for the white-space property
> 
> Finally the CSS WG decided [1] to move back the 'break-spaces' value to
> the 'white-space' property. This makes the parsing logic easier than
> the previous approach of using the 'overflow-wrap' property.
> 
> This new value prevents the white-space sequence to collapse and gives
> breaking opportunities after every preserved white-space.
> 
> https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces
> 
> Additionally, unlike 'pre-wrap', non-collapsible spaces or tabs at the
> end of a line cannot be hung or visually collapsed, since we want them
> to be preserved and broken.
> 
> [1] https://github.com/w3c/csswg-drafts/pull/2841
> 
> Bug: 767634
> Change-Id: I55e888d4472de11c64c4b14e2710c6e3d1832e67
> Reviewed-on: https://chromium-review.googlesource.com/c/1136543
> Reviewed-by: Koji Ishii <kojii@chromium.org>
> Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
> Cr-Commit-Position: refs/heads/master@{#623324}

Change-Id: If430ec5653a3e50bc3711fa94f6b535589270b0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 767634
Reviewed-on: https://chromium-review.googlesource.com/c/1415914
Cr-Commit-Position: refs/heads/master@{#623339}
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/build/scripts/core/style/templates/computed_style_base_constants.h.tmpl
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/css/css_properties.json5
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/css/css_value_keywords.json5
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/css/parser/css_parser_fast_paths.cc
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/layout/line/breaking_context_inline_headers.h
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/style/computed_style.cc
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/core/style/computed_style.h
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/FlagExpectations/enable-blink-features=LayoutNG
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/TestExpectations
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/W3CImportExpectations
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-004.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-005.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-006.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-007.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/break-spaces-008.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/pre-wrap-016.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-010.html
[modify] https://crrev.com/10e9e80b72fd808dd68109206bed1e4f55008c5a/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-011.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-012.html
[delete] https://crrev.com/9c9827880c1e5f9d5db85192485bdc1a8ca75746/third_party/blink/web_tests/external/wpt/css/css-text/word-break/word-break-break-all-013.html

Comment 18 by jfernan...@igalia.com, Jan 16 (2 days ago)

Status: Started (was: Fixed)
Reopen the issue, since the patch fixing it has been reverted.

Sign in to add a comment