<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>178265</bug_id>
          
          <creation_ts>2017-10-13 10:13:57 -0700</creation_ts>
          <short_desc>Allow modern decoding of URLs</short_desc>
          <delta_ts>2017-10-16 16:30:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1360057</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-13 10:13:57 -0700</bug_when>
    <thetext>Allow modern decoding of URLs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360058</commentid>
    <comment_count>1</comment_count>
      <attachid>323690</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-13 10:14:22 -0700</bug_when>
    <thetext>Created attachment 323690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360893</commentid>
    <comment_count>2</comment_count>
      <attachid>323690</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-16 12:27:16 -0700</bug_when>
    <thetext>Comment on attachment 323690
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=323690&amp;action=review

r=me with suggestion.

&gt; Source/WebCore/platform/URL.h:299
&gt; +std::optional&lt;URL&gt; URL::decode(Decoder&amp; decoder)

When you do this sort of things, could we rewrite the legacy decoder to use the modern one to avoid duplication?
e.g. 

template &lt;class Decoder&gt;
bool URL::decode(Decoder&amp; decoder, URL&amp; url)
{
    auto optionalURL = URL::decode(decoder);
    if (!optionalURL)
        return false;
    url = optionalURL.value();
    return true;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360906</commentid>
    <comment_count>3</comment_count>
      <attachid>323929</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-16 12:52:36 -0700</bug_when>
    <thetext>Created attachment 323929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361007</commentid>
    <comment_count>4</comment_count>
      <attachid>323929</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-16 16:29:40 -0700</bug_when>
    <thetext>Comment on attachment 323929
Patch

Clearing flags on attachment: 323929

Committed r223446: &lt;https://trac.webkit.org/changeset/223446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361008</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-16 16:29:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361009</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-16 16:30:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/35018342&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323690</attachid>
            <date>2017-10-13 10:14:22 -0700</date>
            <delta_ts>2017-10-16 12:52:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178265-20171013101421.patch</filename>
            <type>text/plain</type>
            <size>2490</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMzI4MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEwLTEzICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWxsb3cgbW9k
ZXJuIGRlY29kaW5nIG9mIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3ODI2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vVVJMLmg6CisgICAgICAgIChXZWJDb3JlOjpVUkw6OmRl
Y29kZSk6CisKIDIwMTctMTAtMTMgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUGVyZm9ybWFuY2U6IGRvIHBpeGVsIGNvbmZvcm1hbmNlIGFuZCB0ZXh0dXJpbmcg
aW4gYSBzaW5nbGUgc3RlcC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCShyZXZpc2lvbiAyMjMy
NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuaAkod29ya2luZyBjb3B5KQpAQCAt
MjA1LDYgKzIwNSw3IEBAIHB1YmxpYzoKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgVVJMJik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFVSTD4gZGVjb2RlKERlY29kZXImKTsKIAog
ICAgIFN0cmluZyBzZXJpYWxpemUoYm9vbCBvbWl0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Q7CiAK
QEAgLTI5NCw2ICsyOTUsNDMgQEAgYm9vbCBVUkw6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBV
UkwmIAogICAgIHJldHVybiB0cnVlOwogfQogCit0ZW1wbGF0ZSA8Y2xhc3MgRGVjb2Rlcj4KK3N0
ZDo6b3B0aW9uYWw8VVJMPiBVUkw6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIFVS
TCB1cmw7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9zdHJpbmcpKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGJvb2wgaXNWYWxpZDsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKGlzVmFsaWQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIHVybC5t
X2lzVmFsaWQgPSBpc1ZhbGlkOworICAgIGlmICghaXNWYWxpZCkKKyAgICAgICAgcmV0dXJuIFdU
Rk1vdmUodXJsKTsKKyAgICBib29sIHByb3RvY29sSXNJbkhUVFBGYW1pbHk7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShwcm90b2NvbElzSW5IVFRQRmFtaWx5KSkKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKyAgICB1cmwubV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gcHJvdG9jb2xJ
c0luSFRUUEZhbWlseTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3NjaGVtZUVuZCkp
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1
cmwubV91c2VyU3RhcnQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUodXJsLm1fdXNlckVuZCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9wYXNzd29yZEVuZCkpCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9ob3N0
RW5kKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHVybC5tX3BvcnRFbmQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodXJsLm1fcGF0aEFmdGVyTGFzdFNsYXNoKSkKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3BhdGhFbmQp
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
dXJsLm1fcXVlcnlFbmQpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIHJldHVy
biBXVEZNb3ZlKHVybCk7Cit9CisKIGJvb2wgb3BlcmF0b3I9PShjb25zdCBVUkwmLCBjb25zdCBV
UkwmKTsKIGJvb2wgb3BlcmF0b3I9PShjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmKTsKIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBTdHJpbmcmLCBjb25zdCBVUkwmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323929</attachid>
            <date>2017-10-16 12:52:36 -0700</date>
            <delta_ts>2017-10-16 16:29:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178265-20171016125236.patch</filename>
            <type>text/plain</type>
            <size>2920</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMzQyNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEwLTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWxsb3cgbW9k
ZXJuIGRlY29kaW5nIG9mIFVSTHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3ODI2NQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6Lgor
CisgICAgICAgICogcGxhdGZvcm0vVVJMLmg6CisgICAgICAgIChXZWJDb3JlOjpVUkw6OmRlY29k
ZSk6CisKIDIwMTctMTAtMTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZSBmcm9tIERvY3VtZW50
LmgKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5oCShyZXZpc2lvbiAyMjM0MjMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9VUkwuaAkod29ya2luZyBjb3B5KQpAQCAtMjA1LDYgKzIwNSw3IEBA
IHB1YmxpYzoKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNv
ZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRl
Y29kZShEZWNvZGVyJiwgVVJMJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBzdGQ6Om9wdGlvbmFsPFVSTD4gZGVjb2RlKERlY29kZXImKTsKIAogICAgIFN0cmluZyBzZXJp
YWxpemUoYm9vbCBvbWl0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Q7CiAKQEAgLTI2MSwzNyArMjYy
LDQ4IEBAIHZvaWQgVVJMOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHRlbXBsYXRl
IDxjbGFzcyBEZWNvZGVyPgogYm9vbCBVUkw6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBVUkwm
IHVybCkKIHsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3N0cmluZykpCisgICAgYXV0
byBvcHRpb25hbFVSTCA9IFVSTDo6ZGVjb2RlKGRlY29kZXIpOworICAgIGlmICghb3B0aW9uYWxV
UkwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB1cmwgPSBXVEZNb3ZlKCpvcHRpb25hbFVS
TCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3RlbXBsYXRlIDxjbGFzcyBEZWNvZGVyPgorc3Rk
OjpvcHRpb25hbDxVUkw+IFVSTDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgVVJM
IHVybDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3N0cmluZykpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgYm9vbCBpc1ZhbGlkOwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoaXNWYWxpZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICB1cmwubV9pc1ZhbGlkID0gaXNWYWxpZDsKICAgICBpZiAoIWlzVmFs
aWQpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gV1RGTW92ZSh1cmwpOwog
ICAgIGJvb2wgcHJvdG9jb2xJc0luSFRUUEZhbWlseTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHByb3RvY29sSXNJbkhUVFBGYW1pbHkpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgdXJsLm1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9
IHByb3RvY29sSXNJbkhUVFBGYW1pbHk7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9z
Y2hlbWVFbmQpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV91c2VyU3RhcnQpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSh1cmwubV91c2VyRW5kKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUodXJsLm1f
cGFzc3dvcmRFbmQpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9ob3N0RW5kKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUodXJsLm1fcG9ydEVuZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5t
X3BhdGhBZnRlckxhc3RTbGFzaCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHVybC5tX3BhdGhFbmQp
KQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZSh1cmwubV9xdWVyeUVuZCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAg
ICByZXR1cm4gV1RGTW92ZSh1cmwpOwogfQogCiBib29sIG9wZXJhdG9yPT0oY29uc3QgVVJMJiwg
Y29uc3QgVVJMJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>