Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(379)

Issue 234633004: Update <use> trees when the referenced element is changed. (Closed)

Created:
6 years, 8 months ago by esprehn
Modified:
4 years, 10 months ago
Reviewers:
pdr., f(malita)
CC:
blink-reviews, krit, ed+blinkwatch_opera.com, f(malita), gyuyoung.kim_webkit.org, kouhei+svg_chromium.org, rwlbuis, Stephen Chennney
Visibility:
Public.

Description

Update <use> trees when the referenced element is changed. While trying to make <use> shadow tree creation always async I stumbled on this bug where removing the element that the <use> references would not clean up the ShadowRoot so if you removed the shape it was copying, or swapped it with a new one, the <use> would continue to render the original shape. I also removed a synchronous render tree update whenever the instance trees were invalidated. This synchronous update doesn't make any sense in the modern world and it meant that if you had a complex shape you were referencing with a <use> and then mutated 5 attributes on it we would do 5 synchronous style updates! For reference the synchronous style code traces back 4 years to here: http://trac.webkit.org/changeset/58960 R=pdr@chromium.org,fmalita@chromium.org BUG=380592

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -3 lines) Patch
A LayoutTests/svg/dynamic-updates/SVGUseElement-target-changed.html View 1 chunk +32 lines, -0 lines 0 comments Download
A LayoutTests/svg/dynamic-updates/SVGUseElement-target-changed-expected.txt View 1 chunk +12 lines, -0 lines 0 comments Download
M Source/core/svg/SVGElementInstance.cpp View 2 chunks +1 line, -3 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
esprehn
6 years, 8 months ago (2014-04-11 08:57:24 UTC) #1
f(malita)
lgtm
6 years, 8 months ago (2014-04-11 13:49:40 UTC) #2
pdr.
We've been slowly unwinding these inDocument checks from SVGUseElement and I think this is another ...
6 years, 8 months ago (2014-04-11 13:54:24 UTC) #3
esprehn
On 2014/04/11 at 13:54:24, pdr wrote: > We've been slowly unwinding these inDocument checks from ...
6 years, 8 months ago (2014-04-11 16:13:43 UTC) #4
fs
This fix now has a crbug to go with it - crbug.com/380592
6 years, 6 months ago (2014-06-04 12:47:51 UTC) #5
esprehn
Someone should fix this someday. :)
4 years, 10 months ago (2016-02-10 00:24:51 UTC) #6
pdr.
On 2016/02/10 at 00:24:51, esprehn wrote: > Someone should fix this someday. :) Is this ...
4 years, 10 months ago (2016-02-10 00:43:58 UTC) #7
esprehn
On 2016/02/10 at 00:43:58, pdr wrote: > On 2016/02/10 at 00:24:51, esprehn wrote: > > ...
4 years, 10 months ago (2016-02-10 01:04:18 UTC) #8
pdr.
On 2016/02/10 at 01:04:18, esprehn wrote: > On 2016/02/10 at 00:43:58, pdr wrote: > > ...
4 years, 10 months ago (2016-02-10 05:15:22 UTC) #9
fs
4 years, 10 months ago (2016-02-10 11:43:39 UTC) #10
Message was sent while issue was closed.
On 2016/02/10 at 05:15:22, pdr wrote:
> On 2016/02/10 at 01:04:18, esprehn wrote:
> > On 2016/02/10 at 00:43:58, pdr wrote:
> > > On 2016/02/10 at 00:24:51, esprehn wrote:
> > > > Someone should fix this someday. :)
> > > 
> > > Is this still a bug? SVGElementInstance no longer exists.
> > 
> > I think the bug is around when to re-stamp the shadow dom not about the
<use> instance tree.
> 
> I got this in https://codereview.chromium.org/1498323002

And before that, https://codereview.chromium.org/1087653004 fixed an issue
similar to this with a somewhat similar fix (the removal of the inDocument()
check.)

Powered by Google App Engine
This is Rietveld 408576698