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

Issue 1287243003: Don't require a valid reference scope for a <use> shadow tree update (Closed)

Created:
5 years, 4 months ago by fs
Modified:
5 years, 4 months ago
Reviewers:
pdr.
CC:
blink-reviews, krit, kouhei+svg_chromium.org, fs, f(malita), gyuyoung2, Stephen Chennney, pdr+svgwatchlist_chromium.org, rwlbuis
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Don't require a valid reference scope for a <use> shadow tree update When determining if a URL-string was pointing to an internal or external resource, the null-string was considered external because it does not start w/ '#' and Document::completeURL will explicitly return a null KURL in that case. The latter means that the comparison against the document URL will fail - i.e. the "URL" will be considered to be external. Due to this, no attempt to rebuild the shadow-tree will be made, leaving it in an inconsistent state. Fix by dropping the check for a valid referenceScope in scheduleShadowTreeRecreation (in favor of the check in buildPendingResource). This also fixes the case where a local reference is replaced by an invalid remote reference (like one lacking a fragment identifier). This would previously fail to update because it too had a null "reference" scope. Also convert callers of SVGURIReference::isExternalURIReference to call isStructurallyExternal instead. This lends a bit of consistency to the definition of "local" used in SVGUseElement. It also means that the null 'href' case is considered to be a local reference (which has no practical consequence, but makes the handling of null be similar to the handling of the empty string - with the exception of base URL handling.) BUG=516051 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200537

Patch Set 1 #

Patch Set 2 : Drop referenceScope check from scheduleShadowTreeRecreation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+40 lines, -6 lines) Patch
A LayoutTests/svg/custom/use-href-attr-removal-crash.html View 1 chunk +19 lines, -0 lines 0 comments Download
A + LayoutTests/svg/custom/use-href-attr-removal-crash-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
A LayoutTests/svg/custom/use-href-change-local-to-invalid-remote.html View 1 1 chunk +16 lines, -0 lines 0 comments Download
A + LayoutTests/svg/custom/use-href-change-local-to-invalid-remote-expected.html View 1 0 chunks +-1 lines, --1 lines 0 comments Download
M Source/core/svg/SVGUseElement.cpp View 1 4 chunks +7 lines, -8 lines 0 comments Download

Messages

Total messages: 14 (6 generated)
fs
5 years, 4 months ago (2015-08-13 21:38:53 UTC) #2
pdr.
On 2015/08/13 at 21:38:53, fs wrote: > Awesome change description. Would have taken a while ...
5 years, 4 months ago (2015-08-14 05:44:15 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287243003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287243003/20001
5 years, 4 months ago (2015-08-14 05:44:21 UTC) #5
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/93151)
5 years, 4 months ago (2015-08-14 08:16:37 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287243003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287243003/20001
5 years, 4 months ago (2015-08-14 08:58:59 UTC) #9
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/93205)
5 years, 4 months ago (2015-08-14 11:26:13 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1287243003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1287243003/20001
5 years, 4 months ago (2015-08-14 11:29:39 UTC) #13
commit-bot: I haz the power
5 years, 4 months ago (2015-08-14 12:32:57 UTC) #14
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=200537

Powered by Google App Engine
This is Rietveld 408576698