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

Issue 603679 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Regression: "Video source" on WebRTC peer2peer page is displayed as "V" and "ideo source"

Project Member Reported by srcv@chromium.org, Apr 14 2016

Issue description

Chrome Version: 51.0.2704.0 / 8172.1.10 dev

What steps will reproduce the problem?
1. Browse to https://test.webrtc.org/manual/peer2peer/
2. Observe "GetUserMedia" section

What is the expected output?
"Video source" should be displayed as correctly as "Video source" without any breakings

What do you see instead?
"Video source" is displayed as "V" on one line and "ideo source" on next line : https://screenshot.googleplex.com/Ximm78e9fgH.png

Note: This issue is not seen in 51.0.2701.0 / 8165.0.0 dev build
https://screenshot.googleplex.com/R3D6Wsu7D9Y.png



 
Labels: OS-Linux OS-Mac OS-Windows
Bisect info -

You are probably looking for a change made after 385692 (known good), but no later than 385695 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/3960b8b282030a4f91059cf25d6b01c8beab57b8..a5f963e751f3287d9741d24e1b87ba076b667371

Suspecting https://chromium.googlesource.com/chromium/src/+/d12b58ef0005d24dff2047f566f5ff5a5f2e45fb 

Comment 2 by srcv@chromium.org, Apr 14 2016

Labels: -Type-Bug Type-Bug-Regression
Cc: jansson@chromium.org
Components: -Blink>WebRTC Blink>Layout
Labels: M-51
Owner: kojii@chromium.org
Status: Assigned (was: Untriaged)
kojii@, can you take a look? The source code for https://test.webrtc.org/manual/peer2peer/ is available at https://github.com/webrtc/testrtc/tree/master/src/manual/peer2peer

Comment 4 by kojii@chromium.org, Apr 16 2016

Confirmed, minimized case attached.
break-word-float-100-603679.htm
176 bytes View Download
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 22 2016

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

commit a4e4eb3b4334905bc874dea2264b450f029fb605
Author: kojii <kojii@chromium.org>
Date: Fri Apr 22 01:23:25 2016

Fix line wrappiing when break-word/break-all and float with 100% width

This patch changes the line breaker to rewindToMidWordBreak() after it
computes fitBelowFloats().

rewindToMidWordBreak() uses LineWidth::availableWidth(), which
fitBelowFloats() may change if floats fill the whole line and the start
of the line is pushed down below the floats.

BUG= 603679 

Review URL: https://codereview.chromium.org/1900393002

Cr-Commit-Position: refs/heads/master@{#388996}

[add] https://crrev.com/a4e4eb3b4334905bc874dea2264b450f029fb605/third_party/WebKit/LayoutTests/fast/css3-text/css3-word-break/word-break-all-wrap-with-100percent-floats.html
[modify] https://crrev.com/a4e4eb3b4334905bc874dea2264b450f029fb605/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Comment 6 by kojii@chromium.org, Apr 22 2016

Status: Fixed (was: Assigned)
Looks like the fix (r388996) narrowly missed yesterday's canary cut (r388964). 

srnarayanan@ - can you verify this with Monday's canary, and if it looks good, please request an M51 merge. Thanks!
Labels: Merge-Request-51
Verified the fix in M51 Canary 52.0.2717.0 in Mac, Windows.
"Video source" is displayed correctly, without breaks in https://test.webrtc.org/manual/peer2peer/ 

Requesting a merge to M51 
Apologies for the typo in the above comment - I meant *M52 Canary 52.0.2717.0

Comment 10 by tin...@google.com, Apr 26 2016

Labels: -Merge-Request-51 Merge-Approved-51 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M51 (branch: 2704)
Please merge your change before 5:00 PM PST today to M51 branch 2704, so we can take it for this week beta. Thank you.
Project Member

Comment 12 by bugdroid1@chromium.org, Apr 27 2016

Labels: -merge-approved-51 merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e583672da5cd5b223702b74e65c823a66c629f6c

commit e583672da5cd5b223702b74e65c823a66c629f6c
Author: Koji Ishii <kojii@chromium.org>
Date: Wed Apr 27 01:05:41 2016

Fix line wrappiing when break-word/break-all and float with 100% width

This patch changes the line breaker to rewindToMidWordBreak() after it
computes fitBelowFloats().

rewindToMidWordBreak() uses LineWidth::availableWidth(), which
fitBelowFloats() may change if floats fill the whole line and the start
of the line is pushed down below the floats.

BUG= 603679 

Review URL: https://codereview.chromium.org/1900393002

Cr-Commit-Position: refs/heads/master@{#388996}
(cherry picked from commit a4e4eb3b4334905bc874dea2264b450f029fb605)

Review URL: https://codereview.chromium.org/1920293003 .

Cr-Commit-Position: refs/branch-heads/2704@{#261}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[add] https://crrev.com/e583672da5cd5b223702b74e65c823a66c629f6c/third_party/WebKit/LayoutTests/fast/css3-text/css3-word-break/word-break-all-wrap-with-100percent-floats.html
[modify] https://crrev.com/e583672da5cd5b223702b74e65c823a66c629f6c/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Comment 13 by ajha@chromium.org, May 4 2016

Labels: TE-Verified-51.0.2704.36 TE-Verified-M51
Verified the merged on the latest M-51(51.0.2704.36) on Windows-7, Mac OS 10.11.4 and Linux Ubuntu 14.04. This is working as intended. Attached is the screenshot of the same.
603679.png
124 KB View Download
Status: Verified (was: Fixed)
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 5 2016

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

commit d24d249700deef0ed63bf12ebb6af3b28f8225fb
Author: kojii <kojii@chromium.org>
Date: Tue Jul 05 23:24:00 2016

Prevent to measure the whole word when break-all

This patch applies the same heuristic fix as break-word to break-all.

Since the switch to the complex path, r385693 fixed the performance and
correctness issue of break-word and break-all in common cases. However,
it also introduced a performance regression when a word is really long,
such as minimized JS.

This can be fixed by taking over the ShapeResult to the next lines as
Gecko does, but it will require larger overhaul of the line breaker and
need more time to bake.

As an interim fix, r387974 introduced a heuristic fix for break-word.
This patch applies the same heuristic to break-all.

This patch also revealed that the fix for  crbug.com/603679  was not
correct. MidWordBreak must be recomputed when floats pushed the line
down and available width changed. This patch includes the fix.

BUG= 622810 ,  603679 

Review-Url: https://codereview.chromium.org/2077313002
Cr-Commit-Position: refs/heads/master@{#403830}

[modify] https://crrev.com/d24d249700deef0ed63bf12ebb6af3b28f8225fb/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 8 2016

Labels: merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b6b39703c17c81d31c03ed8d6b4ee9991a246d3

commit 8b6b39703c17c81d31c03ed8d6b4ee9991a246d3
Author: Koji Ishii <kojii@chromium.org>
Date: Fri Jul 08 07:08:17 2016

Prevent to measure the whole word when break-all

This patch applies the same heuristic fix as break-word to break-all.

Since the switch to the complex path, r385693 fixed the performance and
correctness issue of break-word and break-all in common cases. However,
it also introduced a performance regression when a word is really long,
such as minimized JS.

This can be fixed by taking over the ShapeResult to the next lines as
Gecko does, but it will require larger overhaul of the line breaker and
need more time to bake.

As an interim fix, r387974 introduced a heuristic fix for break-word.
This patch applies the same heuristic to break-all.

This patch also revealed that the fix for  crbug.com/603679  was not
correct. MidWordBreak must be recomputed when floats pushed the line
down and available width changed. This patch includes the fix.

BUG= 622810 ,  603679 

Review-Url: https://codereview.chromium.org/2077313002
Cr-Commit-Position: refs/heads/master@{#403830}
(cherry picked from commit d24d249700deef0ed63bf12ebb6af3b28f8225fb)

Review URL: https://codereview.chromium.org/2127393002 .

Cr-Commit-Position: refs/branch-heads/2785@{#55}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/8b6b39703c17c81d31c03ed8d6b4ee9991a246d3/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jul 11 2016

Labels: merge-merged-2743
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15a2ac4a185a2ab90a7381791ea10b403bcebf62

commit 15a2ac4a185a2ab90a7381791ea10b403bcebf62
Author: Koji Ishii <kojii@chromium.org>
Date: Mon Jul 11 12:49:07 2016

Prevent to measure the whole word when break-all

This patch applies the same heuristic fix as break-word to break-all.

Since the switch to the complex path, r385693 fixed the performance and
correctness issue of break-word and break-all in common cases. However,
it also introduced a performance regression when a word is really long,
such as minimized JS.

This can be fixed by taking over the ShapeResult to the next lines as
Gecko does, but it will require larger overhaul of the line breaker and
need more time to bake.

As an interim fix, r387974 introduced a heuristic fix for break-word.
This patch applies the same heuristic to break-all.

This patch also revealed that the fix for  crbug.com/603679  was not
correct. MidWordBreak must be recomputed when floats pushed the line
down and available width changed. This patch includes the fix.

BUG= 622810 ,  603679 

Review-Url: https://codereview.chromium.org/2077313002
Cr-Commit-Position: refs/heads/master@{#403830}
(cherry picked from commit d24d249700deef0ed63bf12ebb6af3b28f8225fb)

Review URL: https://codereview.chromium.org/2136013002 .

Cr-Commit-Position: refs/branch-heads/2743@{#607}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[modify] https://crrev.com/15a2ac4a185a2ab90a7381791ea10b403bcebf62/third_party/WebKit/Source/core/layout/line/BreakingContextInlineHeaders.h

Labels: TE-Verified-M53 TE-Verified-53.0.2785.14
Tested the issue on Windows 7, Mac 10.11.5, Ubuntu 14.04 using 53.0.2785.14. Observed that 'Video source' displayed correctly without any breaking.
Please find attached screenshot.

Marking it as TE-Verified-M53.
603679.png
94.5 KB View Download
Labels: TE-Verified-M52 TE-Verified-52.0.2743.75
Tested the issue on Windows 7, Mac 10.11.5, Ubuntu 14.04 using 52.0.2743.75. Observed that 'Video source' displayed correctly without any breaking.
Please find attached screenshot.

Marking it as TE-Verified-M52.
603679_M52.png
113 KB View Download

Sign in to add a comment