WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
213254
Rename TextEncoding::encode() to TextEncoding::encodeWithNormalization()
https://bugs.webkit.org/show_bug.cgi?id=213254
Summary
Rename TextEncoding::encode() to TextEncoding::encodeWithNormalization()
Tetsuharu Ohzeki [UTC+9]
Reported
2020-06-16 09:42:53 PDT
I'm planning to add variants of TextEncoding::encode() which does not normalize in
bug 213253
. To prepare it, I rename the exist implementation to TextEncoding::encodeWithNormalization() to clarify what it do and separate a impact range because TextEncoding::encode() is marked as `WEBCORE_EXPORT`.
Attachments
Patch
(18.18 KB, patch)
2020-06-16 09:46 PDT
,
Tetsuharu Ohzeki [UTC+9]
ap
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Tetsuharu Ohzeki [UTC+9]
Comment 1
2020-06-16 09:46:37 PDT
Created
attachment 402015
[details]
Patch
Alexey Proskuryakov
Comment 2
2020-06-17 18:14:10 PDT
Comment on
attachment 402015
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=402015&action=review
> Source/WebCore/ChangeLog:9 > + I'm planning to add a variant of `TextEncoding::encode()` which does not > + normalize to fix
bug 213253
.
I don't think that this is necessary. Once we perform normalization on ingress (macOS file names, keyboard input etc.), TextEncoding::encode() won't need to normalize ever. There isn't a need for a separate code path.
Tetsuharu Ohzeki [UTC+9]
Comment 3
2020-06-17 18:36:41 PDT
Comment on
attachment 402015
[details]
Patch (In reply to Alexey Proskuryakov from
comment #2
)
> Comment on
attachment 402015
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=402015&action=review
> > > Source/WebCore/ChangeLog:9 > > + I'm planning to add a variant of `TextEncoding::encode()` which does not > > + normalize to fix
bug 213253
. > > I don't think that this is necessary. Once we perform normalization on > ingress (macOS file names, keyboard input etc.), TextEncoding::encode() > won't need to normalize ever. There isn't a need for a separate code path.
The exist `TextEncoding::encode()` do normalization in it and it is widely used in evenrywhere in WebKit.
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/platform/text/TextEncoding.cpp#L77
To fix
bug 213253
, we need construcing `Blob` object on JavaScript without unicode normalization. I also had a plan to add the function which does not do unicode nomalization as `TextEncoding::encodeWithoutNormalization()` but I thought it's better to rename the exist implementation and I create this separated patch.
Alexey Proskuryakov
Comment 4
2020-06-18 09:25:42 PDT
Comment on
attachment 402015
[details]
Patch Blobs are not an exception here, they can't have normalization disabled before we disable it in TextEncoding::encode() entirely.
Huáng Jùnliàng
Comment 5
2020-06-19 15:26:01 PDT
I want to add some real world cases here. Babel REPL wraps babel sources into a blob and send it to the WebWorker. This issue causes semantic changes to the sources and error is thrown.
https://github.com/babel/website/issues/2254
The blob wrapping is done in a WebPack plugin called worker-loader
https://github.com/webpack-contrib/worker-loader/blob/3500f14083b5ca2bb953b2919ec1ffc7bc373b2b/src/workers/InlineWorker.js#L28
so besides Babel REPL, users of worker-loader is also affected by this issue.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug