<?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>222471</bug_id>
          
          <creation_ts>2021-02-26 06:58:08 -0800</creation_ts>
          <short_desc>[WPE][GTK] Bogus Response.{status,ok} for successful fetch() requests to a custom URI scheme handler</short_desc>
          <delta_ts>2021-11-03 01:29:36 -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>WPE WebKit</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203273</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrian Perez">aperez</reporter>
          <assigned_to name="Adrian Perez">aperez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733741</commentid>
    <comment_count>0</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-02-26 06:58:08 -0800</bug_when>
    <thetext>Steps to reproduce:

 1. Use webkit_web_context_register_uri_scheme(), e.g. &quot;myscheme&quot;,
    make the callback always finish requests with a valid GInputStream
    (for example, return the &quot;Hello world&quot; string for any requested URI).

 2. Load a page that contains this:

      fetch(&quot;myscheme:/someresource&quot;, {mode: &quot;no-cors&quot;})
          .then(response =&gt; {
              console.log(&quot;Status:&quot;, response.ok, response.status)
              response.text().then(text =&gt; {
                  console.log(&quot;Text:&quot;, text);
              });
          })
          .catch(console.error);

Expected outcome
----------------

 * The response is considered successful.
 * The logged output contains:

    Status: true 200
    Text: Hello, world

Actual outcome
--------------

 * The response is NOT considered successful, yet the
 * The logged output contains:
   Status: false 0
   Text: Hello, world</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733743</commentid>
    <comment_count>1</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-02-26 07:00:23 -0800</bug_when>
    <thetext>This is somewhat related to bug #203273 but much, much smaller in
scope, and I think setting the status to “200 OK” when an URI scheme
request is finished with a valid “GInputStreams” should not be
controversial, so let&apos;s tackle this small annoyance first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733776</commentid>
    <comment_count>2</comment_count>
      <attachid>421653</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-02-26 08:45:48 -0800</bug_when>
    <thetext>Created attachment 421653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733777</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-02-26 08:47:00 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734151</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-26 23:24:35 -0800</bug_when>
    <thetext>Committed r273618: &lt;https://commits.webkit.org/r273618&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421653.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811145</commentid>
    <comment_count>5</comment_count>
      <attachid>421653</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-02 09:12:22 -0700</bug_when>
    <thetext>Comment on attachment 421653
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        No new tests needed.

This should be easy to add a unit test for, especially if you care about not regressing this functionality in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811412</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-11-03 01:29:36 -0700</bug_when>
    <thetext>We have recently added api to set the response, including api tests for checking the status and message.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421653</attachid>
            <date>2021-02-26 08:45:48 -0800</date>
            <delta_ts>2021-02-26 23:24:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222471-20210226184547.patch</filename>
            <type>text/plain</type>
            <size>1975</size>
            <attacher name="Adrian Perez">aperez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc2ZDI3MTVkOTFiYmE3MWI3
N2RmNDdkN2U1YWYyZDQxMmFkMzJlZTAuLmI1MDAyZWYzZmQ4M2U4YmUwNzY3Y2NmYTk4NWIxMTc1
N2RjM2I0NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDItMjYgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
IEJvZ3VzIFJlc3BvbnNlLntzdGF0dXMsb2t9IGZvciBzdWNjZXNzZnVsIGZldGNoKCkgcmVxdWVz
dHMgdG8gYSBjdXN0b20gVVJJIHNjaGVtZSBoYW5kbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI0NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgbmVlZGVkLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwOgorICAgICAg
ICAod2Via2l0VVJJU2NoZW1lUmVxdWVzdFJlYWRDYWxsYmFjayk6IE1hcmsgcmVzcG9uc2UgYXMg
aGF2aW5nIHN0YXR1cyAiMjAwIE9LIiB3aGVuCisgICAgICAgIHdlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZmluaXNoKCkgZ2V0cyBwYXNzZWQgYSBHSW5wdXRTdHJlYW0uCisKIDIwMjEtMDItMjYg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjI2OTgyNCk6IG1hY0NhdGFseXN0IFdLV2ViVmlldyBzaG93cyBjaHVua3Mgb2Ygb3Ro
ZXIgdGlsZXMgaW4gdGhlIG1pZGRsZSBvZiBjb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCmlu
ZGV4IDY3ZWM4MjNjMjZhMzdiNTRlMjFlOWUxMjE5ZjVlYWI4OGNkZWVhMjcuLjZhMGQ1OWMxMDI4
OWUxYjgwY2EyYTE1NWU0NmU3ZGQ5ODlmNWU5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwCkBA
IC0xODAsNiArMTgwLDggQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJU2NoZW1lUmVxdWVzdFJlYWRD
YWxsYmFjayhHSW5wdXRTdHJlYW0qIGlucHV0U3RyZWFtLCBHQXN5bmMKICAgICBpZiAoIXByaXYt
PmJ5dGVzUmVhZCkgewogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHByaXYtPnRh
c2stPnJlcXVlc3QoKS51cmwoKSwgZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShwcml2LT5j
b250ZW50VHlwZS5kYXRhKCkpLCBwcml2LT5zdHJlYW1MZW5ndGgsIGVtcHR5U3RyaW5nKCkpOwog
ICAgICAgICByZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdOYW1lKGV4dHJhY3RDaGFyc2V0RnJvbU1l
ZGlhVHlwZShwcml2LT5jb250ZW50VHlwZS5kYXRhKCkpKTsKKyAgICAgICAgcmVzcG9uc2Uuc2V0
SFRUUFN0YXR1c0NvZGUoMjAwKTsKKyAgICAgICAgcmVzcG9uc2Uuc2V0SFRUUFN0YXR1c1RleHQo
Ik9LIl9zKTsKICAgICAgICAgaWYgKHJlc3BvbnNlLm1pbWVUeXBlKCkuaXNFbXB0eSgpKQogICAg
ICAgICAgICAgcmVzcG9uc2Uuc2V0TWltZVR5cGUoTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVG
b3JQYXRoKHJlc3BvbnNlLnVybCgpLnBhdGgoKS50b1N0cmluZygpKSk7CiAgICAgICAgIHByaXYt
PnRhc2stPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>