-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Update data for when href (not xlink:href) can be used in SVG #6603
Conversation
The basic support for null-namespace However, the initial implementation has a bug where it preferes |
Hey @foolip, this PR has been in draft status for some time. What needs to happen to get this into a reviewable state? Any help needed here? |
Thanks for the details, @myakura! Going to update the Safari data, I found that it was actually already there, added in #5255. Since the changes I've made are correct, I'm just going to leave it like this instead of trying to track down every last detail. I'll edit the description to say what this does now. |
Test case used for <image href>: ```svg <svg width="400" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <image xlink:href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" x="0" height="200" width="200"/> <image href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" x="200" height="200" width="200"/> </svg> ``` Test case used for <use href>: ```svg <svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <circle id="myCircle" cx="5" cy="5" r="4" stroke="black"/> <use xlink:href="#myCircle" x="10" fill="green"/> <use href="#myCircle" x="20" fill="green"/> </svg> ``` Based on these tests, the change was narrowed down to Chrome 50, and this commit pinpointed: https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411 At the time, SVGURIReference was used in these C++ classes: https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGAElement.h#32 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGCursorElement.h#35 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGFEImageElement.h#35 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGPatternElement.h#40 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGTextPathElement.h#46 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGUseElement.h#37 The following classes are the same, but for these there's no BCD entry for the namespaceless href attribute, so they're not updated: https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGFilterElement.h#42 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGGradientElement.h#44 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGImageElement.h#36 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGMPathElement.h#34 https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGScriptElement.h#38 Data is mirror for Chromium browsers expect Edge, which is mostly set to "12" already and where it's null would require additional testing.
@ddbeck this is now ready for review. |
(I've temporarily relaxed the branch protection rules to merge this, since the older workflows satisfied.) |
…icture * upstream/master: (1123 commits) Remove Chromium 89 from String.at / Array.at / TypedArray.at (mdn#8869) Add worker_support info for CacheStorage (mdn#8783) Remove several needless "Enabled by default" notes (mdn#8899) Add HTML global attribute nonce (mdn#8764) api.Navigator.vibrate - Firefox for Android doesn't vibrate (mdn#7172) Mark MediaSource's onsourceclose as not supported in Firefox (mdn#8881) Update Florian's ownership (mdn#8893) Mention fix for Chrome's broken PDF loading (mdn#8867) Fill out Chrome data for html.elements.source.{sizes,srcset} (mdn#8889) Weekly data release for 2021-01-28 Add text-decoration-thickness for Opera 73+ (mdn#8872) Update :is and :where pseudo-classes for Chrome (mdn#7375) Add note re Safari <9 partial srcset/sizes support (mdn#7353) Update data for when href (not xlink:href) can be used in SVG (mdn#6603) Add top-level await (mdn#8807) TouchList: Add Safari Desktop and Safari iOS versions (mdn#8848) Update Firefox versions to account for Firefox 85 release (mdn#8864) Fix page_action.show_matches support for Android (mdn#8844) Update Safari support for devicechange_event (mdn#8863) Add HTTPS-only to privacy.network (mdn#8830) ...
Test case used for
<image href>
:Test case used for
<use href>
:Based on these tests, the change was narrowed down to Chrome 50, and
this commit pinpointed:
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411
At the time, SVGURIReference was used in these C++ classes:
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGAElement.h#32
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGCursorElement.h#35
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGFEImageElement.h#35
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGPatternElement.h#40
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGTextPathElement.h#46
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGUseElement.h#37
The following classes are the same, but for these there's no BCD entry
for the namespaceless href attribute, so they're not updated:
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGFilterElement.h#42
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGGradientElement.h#44
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGImageElement.h#36
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGMPathElement.h#34
https://chromium.googlesource.com/chromium/src/+/2f0b655515af2df03d41d4f894e0dd59d5cb6411/third_party/WebKit/Source/core/svg/SVGScriptElement.h#38
Data is mirror for Chromium browsers expect Edge, which is mostly set to
"12" already and where it's null would require additional testing.