Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use nullopt when the non-hangable-run-end is not applicable #25648

Merged
merged 1 commit into from Sep 21, 2020

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Sep 21, 2020

The new trailing space logic refactoring, landed in r806928 and relanded
again in 807457, assigned the current offset as the non-hangable-run-end
when this is not applicable.

The root cause of this issue is that this offset must not exceed the
item s range-end, so that we clamp it to this range-end value. However,
since in some cases we use the original offset as the the
non-hangable-run-end, we may lead to a situation where the offset used
exceed the item's range end. This is precisely the DCHECK violation
described in the issue 1130288.

Since r808007 we have decided to use optional values for the
non-hangable-run-end, but we didn't update the implementation of the
PreviousBreakOpportunities and NextBreakOpportunities functions
accordingly.

Bug: 1130288
Change-Id: If5e5fb380320ca54f7a6d17d1c2bd020a643e12e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421728
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#809016}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

The new trailing space logic refactoring, landed in r806928 and relanded
again in 807457, assigned the current offset as the non-hangable-run-end
when this is not applicable.

The root cause of this issue is that this offset must not exceed the
item s range-end, so that we clamp it to this range-end value. However,
since in some cases we use the original offset as the the
non-hangable-run-end, we may lead to a situation where the offset used
exceed the item's range end. This is precisely the DCHECK violation
described in the issue 1130288.

Since r808007 we have decided to use optional values for the
non-hangable-run-end, but we didn't update the implementation of the
PreviousBreakOpportunities and NextBreakOpportunities functions
accordingly.

Bug: 1130288
Change-Id: If5e5fb380320ca54f7a6d17d1c2bd020a643e12e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421728
Reviewed-by: Koji Ishii <kojii@chromium.org>
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Cr-Commit-Position: refs/heads/master@{#809016}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants