Changeset 287049 in webkit
- Timestamp:
- Dec 14, 2021, 2:20:05 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm (modified) (4 diffs)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm (modified) (1 diff)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r287024 r287049 1 2021-12-14 Alex Christensen <achristensen@webkit.org> 2 3 Revert r284816 4 https://bugs.webkit.org/show_bug.cgi?id=234308 5 6 Reviewed by Eric Carlson. 7 8 * web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https-expected.txt: 9 1 10 2021-12-14 Andreu Botella <andreu@andreubotella.com> 2 11 -
trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-audio-tainting.https-expected.txt
r284816 r287049 1 1 2 2 3 PASS Verify CORS XHR of fetch() in a Service Worker 3 Harness Error (TIMEOUT), message = null 4 4 5 TIMEOUT Verify CORS XHR of fetch() in a Service Worker Test timed out 6 -
trunk/Source/WebCore/ChangeLog
r287048 r287049 1 2021-12-14 Alex Christensen <achristensen@webkit.org> 2 3 Revert r284816 4 https://bugs.webkit.org/show_bug.cgi?id=234308 5 <rdar://86294293> 6 7 Reviewed by Eric Carlson. 8 9 I made it so that resources without a Content-Length header wait until the whole resource finishes downloading 10 then we deliver it to CoreMedia to play with a known length. This works great, except it completely breaks 11 live streaming, which would just wait forever. Back to the status quo. We need to convince CoreMedia to accept 12 byte ranges with an unknown end to fix videos such as our test video when hosted by trac, which has no Content-Length at 13 https://trac.webkit.org/export/284633/webkit/trunk/Tools/TestWebKitAPI/Tests/WebKit/test.mp4 14 15 * platform/network/cocoa/RangeResponseGenerator.mm: 16 (WebCore::synthesizedResponseForRange): 17 (WebCore::RangeResponseGenerator::giveResponseToTaskIfBytesInRangeReceived): 18 1 19 2021-12-14 Gabriel Nava Marino <gnavamarino@apple.com> 2 20 -
trunk/Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm
r287021 r287049 73 73 } 74 74 75 static ResourceResponse synthesizedResponseForRange(const ResourceResponse& originalResponse, const ParsedRequestRange& parsedRequestRange, s ize_ttotalContentLength)75 static ResourceResponse synthesizedResponseForRange(const ResourceResponse& originalResponse, const ParsedRequestRange& parsedRequestRange, std::optional<size_t> totalContentLength) 76 76 { 77 77 ASSERT(isMainThread()); … … 79 79 auto end = parsedRequestRange.end; 80 80 81 auto newContentRange = makeString("bytes ", begin, "-", end, "/", totalContentLength);81 auto newContentRange = makeString("bytes ", begin, "-", end, "/", (totalContentLength ? makeString(*totalContentLength) : "*")); 82 82 auto newContentLength = makeString(end - begin + 1); 83 83 … … 106 106 { 107 107 ASSERT(isMainThread()); 108 109 // FIXME: We ought to be able to just make a range with a * after the / but AVFoundation doesn't accept such ranges.110 // Instead, we just wait until the load has completed, at which time we will know the content length from the buffer length.111 if (!expectedContentLength)112 return;113 108 114 109 auto bufferSize = data.buffer.size(); … … 151 146 switch (taskData->responseState) { 152 147 case Data::TaskData::ResponseState::NotSynthesizedYet: { 153 auto response = synthesizedResponseForRange(data.originalResponse, range, *expectedContentLength);148 auto response = synthesizedResponseForRange(data.originalResponse, range, expectedContentLength); 154 149 [task resource:nullptr receivedResponse:response completionHandler:[giveBytesToTask = WTFMove(giveBytesToTask), taskData = WeakPtr { taskData }, task = retainPtr(task)] (WebCore::ShouldContinuePolicyCheck shouldContinue) { 155 150 if (taskData) -
trunk/Source/WebKit/ChangeLog
r287040 r287049 1 2021-12-14 Alex Christensen <achristensen@webkit.org> 2 3 Revert r284816 4 https://bugs.webkit.org/show_bug.cgi?id=234308 5 6 Reviewed by Eric Carlson. 7 8 * UIProcess/Cocoa/PlaybackSessionManagerProxy.mm: 9 (WebKit::PlaybackSessionManagerProxy::seekableRangesVectorChanged): 10 1 11 2021-12-14 Alex Christensen <achristensen@webkit.org> 2 12 -
trunk/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm
r279043 r287049 424 424 for (const auto& range : ranges) { 425 425 ASSERT(isfinite(range.first)); 426 ASSERT(isfinite(range.second));427 426 ASSERT(range.second >= range.first); 428 427 timeRanges->add(range.first, range.second); -
trunk/Tools/ChangeLog
r287045 r287049 1 2021-12-14 Alex Christensen <achristensen@webkit.org> 2 3 Revert r284816 4 https://bugs.webkit.org/show_bug.cgi?id=234308 5 6 Reviewed by Eric Carlson. 7 8 * TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: 9 (TestWebKitAPI::TEST): 10 1 11 2021-12-13 Jonathan Bedard <jbedard@apple.com> 2 12 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm
r284816 r287049 182 182 respondToRequests(connection); 183 183 }); 184 runVideoTest(server.request(), " playing");184 runVideoTest(server.request(), "error"); 185 185 EXPECT_EQ(totalRequests, 2u); 186 186 }
Note:
See TracChangeset
for help on using the changeset viewer.