<!DOCTYPE html>
<html>
<title>Service Workers: fetch(request)</title>
    <head>
        <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#service-worker-global-scope-fetch">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>

    </head>
    <body>

<!--

`self.fetch(request)` method must run these steps:

1.  Let `request` be a [request][1] represented by `request`.
2.  Set [`client`][2] of `request` to the [JavaScript global
    environment][3] represented by `self` object.
3.  Let `promise` be a newly-created [promise][4].
4.  Return `promise.`
5.  Run the following steps asynchronously:
    1.  Let `response` be the result of running [fetch algorithm][5] with
        `request` as its argument.
    2.  If `response` is a [network error][6], then:
        1.  Reject `promise` with a new [DOMException][7] whose name is
            "[NetworkError][8]".
    3.  Else,
        1.  Resolve `promise` with a new [Response][9] object associated
            with `response`.



[1]: http://goo.gl/ucOuXl
[2]: http://goo.gl/Oxj4xQ
[3]: http://goo.gl/ifwwCC
[4]: http://goo.gl/3TobQS
[5]: http://goo.gl/fGMifs
[6]: http://goo.gl/jprjjc
[7]: http://goo.gl/A0U8qC
[8]: http://goo.gl/lud5HB
[9]: http://goo.gl/Deazjv

-->



    <script>
        test(function() {
            // not_implemented();
        }, "There are no tests for section fetch(request) so far.");
    </script>

    </body>
</html>

