<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - WKWebView does not fully support custom NSURLProtocol"
   href="https://bugs.webkit.org/show_bug.cgi?id=138169#c9">Comment # 9</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - WKWebView does not fully support custom NSURLProtocol"
   href="https://bugs.webkit.org/show_bug.cgi?id=138169">bug 138169</a>
              from <span class="vcard"><a class="email" href="mailto:stefan&#64;arentz.ca" title="Stefan Arentz &lt;stefan&#64;arentz.ca&gt;"> <span class="fn">Stefan Arentz</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=138169#c5">comment #5</a>)
<span class="quote">&gt; (In reply to <a href="show_bug.cgi?id=138169#c4">comment #4</a>)
&gt; &gt; Are there any plans on implementing this functionality? I'd really love to
&gt; &gt; use WKWebView, but this limitation forces me to keep using the UIWebView.
&gt; 
&gt; We are investigating it, but it would really help us to understand more
&gt; about why you were using this functionality. What type of loads did you need
&gt; to intercept?</span >

Some things we would like to do with WKWebView that are currently impossible due to no ability to intercept and modify loading behaviour:

* HTTPS Everywhere - Detect HTTP loads of resources in a whitelist, modify them to become HTTPS loads
* Content blocking - Block resources, both top level and resource loads
* Better control over headers - Ability to look and modify headers, both incoming and outgoing
* Implement custom content caching and content preloading - Need the ability to take over a resource load and provide our own response
* Better control of cookies. Currently there is no way to control cookie policy in WKWebView, this is trivial to imlement if we can control network requests

Giving developers access to the URL loading system opens the door to work around many WKWebView limitations. The WKWebView APIs are extremely shallow, not giving us enough room to customize. But a lot of requests that developers have can be solved if access to networking/request loading is available.

(We are building a browser, Firefox for iOS, but many of our wishes are pretty common and have valid use cases in 'normal' WKWebView usage too)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>