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

Always rebuild CascadeLayerMap if active style sheets changed #33525

Merged
merged 1 commit into from Apr 7, 2022

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Apr 6, 2022

The existing implementation:

  • Resets a tree scope's style (include cascade layers) if the change
    type is ActiveSheetsChanged
  • Rebuilds a tree scope's cascade layers only if the changed sheets
    involve cascade layers

This results in a bug that we if modify a sheet that does not have
cascade layers, then the previous CascadeLayerMap is cleared but not
rebuilt, and as a result, all previously previously layered rules
break into the default layer.

This patch fixes it by rebuilding the CascadeLayerMap in that case.
Layer-related invalidations remain the same as before.

Fixed: 1313357
Change-Id: I702a6421416aea2634537b6d9650399b68e25f0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3572544
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#989813}

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 existing implementation:
- Resets a tree scope's style (include cascade layers) if the change
  type is ActiveSheetsChanged
- Rebuilds a tree scope's cascade layers only if the changed sheets
  involve cascade layers

This results in a bug that we if modify a sheet that does not have
cascade layers, then the previous CascadeLayerMap is cleared but not
rebuilt, and as a result, all previously previously layered rules
break into the default layer.

This patch fixes it by rebuilding the CascadeLayerMap in that case.
Layer-related invalidations remain the same as before.

Fixed: 1313357
Change-Id: I702a6421416aea2634537b6d9650399b68e25f0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3572544
Auto-Submit: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#989813}
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