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

Issue 643716 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Change of content style pointing to a SVG URL with multiple entities does not cause a repaint

Project Member Reported by da...@google.com, Sep 2 2016

Issue description

Chrome Version       : 52.0.2743.116 (Official Build) (64-bit)
URLs (if applicable) : https://codebin.googleplex.com/#/gkf7fw9pypq
Other browsers tested:
     Chrome Canary: FAIL 55.0.2847.0 (Official Build) canary (64-bit)

What steps will reproduce the problem?
(1) Open said URL. Click the "Click me" button.

What is the expected result?
The icon displayed should change from a broken square (Fullscreen) to a triangle (Restore)

What happens instead?
The icon displayed does not change.

Please provide any additional information below. Attach a screenshot if
possible.
Opening DevTools and toggling the "content" style makes the icon update correctly.

 
Components: Blink>Layout
The class is getting updated on the span; but it doesn't look like the layout is getting dirtied.
Project Member

Comment 2 by sheriffbot@chromium.org, Sep 3 2016

Labels: Hotlist-Google

Comment 3 by e...@chromium.org, Sep 8 2016

Components: -Blink>Layout Blink>SVG Blink>Image
Looks like fragments are ignored for image urls. Over th the svg & image teams for further triage.
Labels: -Restrict-View-Google OS-All Pri-2 Type-Bug
Status: Available (was: Unconfirmed)
Anyone on the team know what might be causing this? Could be a straight up invalidation bug too.
Owner: schenney@chromium.org
The example uses Google internal links. I'll try to sanitize it, as the problem is not inherently Google specific.

Comment 6 by f...@opera.com, Sep 8 2016

Possibly because StyleImage operator== only compares .data() (which is the ImageResource - which will be the same regardless of the fragment identifier.)

Comment 7 by f...@opera.com, Sep 8 2016

Does the following match the issue? (Loaded from HTTP, because file: have some special-cases when it comes to loading.)
content-svgurl-fragment-update.html
329 bytes View Download
sprites.svg
276 bytes Download

Comment 8 by da...@google.com, Sep 8 2016

The effect appears the same to me.
Probably the same, but I see what you mean by needing to load from http. It doesn't repro loading from file.

Here's the original report code, with internal google URL refs switched to local.
cr643716.html
1.4 KB View Download
icons.svg
501 bytes Download
Owner: ----

Comment 11 by pdr@chromium.org, Sep 26 2016

Labels: allpublic
Even though the url in the OP is not public, this bug has no nonpublic information so we can remove a restrict-view label.

Comment 12 by f...@opera.com, Jan 20 2017

 Issue 683065  has been merged into this issue.

Comment 13 by f...@opera.com, Nov 16 2017

 Issue 785998  has been merged into this issue.
 Issue 873656  has been merged into this issue.
Cc: f...@opera.com
 Issue 880205  has been merged into this issue.
Project Member

Comment 16 by bugdroid1@chromium.org, Sep 6

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

commit 8468d5775293357816e12d37e26dcf02d5dd04e5
Author: Fredrik Söderquist <fs@opera.com>
Date: Thu Sep 06 10:17:34 2018

Rework StyleImage equality determination

StyleFetchedImage and StyleFetchedImageSet needs to take the URL into
consideration because it can contain a fragment that will require the
image to change.

Bug:  643716 
Change-Id: If87d3583df0fcb37f872c1423a88f4bd33e8c38f
Reviewed-on: https://chromium-review.googlesource.com/1207390
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#589128}
[add] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/WebKit/LayoutTests/http/tests/images/image-fragment-id-invalidation-expected.html
[add] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/WebKit/LayoutTests/http/tests/images/image-fragment-id-invalidation.html
[add] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/WebKit/LayoutTests/http/tests/images/resources/sprites.svg
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_fetched_image.cc
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_fetched_image.h
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_fetched_image_set.cc
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_fetched_image_set.h
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_generated_image.cc
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_generated_image.h
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_image.h
[modify] https://crrev.com/8468d5775293357816e12d37e26dcf02d5dd04e5/third_party/blink/renderer/core/style/style_pending_image.h

Owner: f...@opera.com
Status: Fixed (was: Available)

Sign in to add a comment