| Index: third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js | 
| diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js b/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js | 
| index bcba6bfc81cdbbcc28000844640f7bc3c24415dd..891b2520a198a4fd3ccde9e4973ef933a2a63d53 100644 | 
| --- a/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js | 
| +++ b/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/general.js | 
| @@ -152,6 +152,56 @@ promise_test(() => { | 
| .then(thisValue => assert_equals(thisValue, theSink, 'abort should be called as a method')); | 
| }, 'WritableStream should call underlying sink methods as methods'); | 
|  | 
| +promise_test(t => { | 
| +  function functionWithOverloads() {} | 
| +  functionWithOverloads.apply = () => assert_unreached('apply() should not be called'); | 
| +  functionWithOverloads.call = () => assert_unreached('call() should not be called'); | 
| +  const underlyingSink = { | 
| +    start: functionWithOverloads, | 
| +    write: functionWithOverloads, | 
| +    close: functionWithOverloads, | 
| +    abort: functionWithOverloads | 
| +  }; | 
| +  // Test start(), write(), close(). | 
| +  const ws1 = new WritableStream(underlyingSink); | 
| +  const writer1 = ws1.getWriter(); | 
| +  writer1.write('a'); | 
| +  writer1.close(); | 
| + | 
| +  // Test abort(). | 
| +  const ws2 = new WritableStream(underlyingSink); | 
| +  const writer2 = ws2.getWriter(); | 
| +  writer2.abort(); | 
| + | 
| +  // Test PromiseInvokeOrFallbackOrNoop. | 
| +  const ws3 = new WritableStream({ | 
| +    start: functionWithOverloads, | 
| +    write: functionWithOverloads, | 
| +    close: functionWithOverloads | 
| +  }); | 
| +  const writer3 = ws3.getWriter(); | 
| +  writer3.abort(); | 
| + | 
| +  return writer1.closed | 
| +      .then(() => promise_rejects(t, new TypeError(), writer2.closed, 'writer2.closed should be rejected')) | 
| +      .then(() => promise_rejects(t, new TypeError(), writer3.closed, 'writer3.closed should be rejected')); | 
| +}, 'methods should not not have .apply() or .call() called'); | 
| + | 
| +promise_test(() => { | 
| +  const strategy = { | 
| +    size() { | 
| +      if (this !== undefined) { | 
| +        throw new Error('size called as a method'); | 
| +      } | 
| +      return 1; | 
| +    } | 
| +  }; | 
| + | 
| +  const ws = new WritableStream({}, strategy); | 
| +  const writer = ws.getWriter(); | 
| +  return writer.write('a'); | 
| +}, 'WritableStream\'s strategy.size should not be called as a method'); | 
| + | 
| promise_test(() => { | 
| const ws = new WritableStream(); | 
| const writer1 = ws.getWriter(); | 
|  |