RESOLVED FIXED 185531
REGRESSION (async policy delegate): Revoking an object URL immediately after triggering download breaks file download
https://bugs.webkit.org/show_bug.cgi?id=185531
Summary REGRESSION (async policy delegate): Revoking an object URL immediately after ...
Chris Dumez
Reported 2018-05-10 15:34:16 PDT
Revoking an object URL immediately after triggering download breaks file download since asynchronous policy delegates.
Attachments
Patch (12.26 KB, patch)
2018-05-10 16:05 PDT, Chris Dumez
no flags
Patch (6.53 KB, patch)
2018-05-10 17:02 PDT, Chris Dumez
no flags
Patch (10.35 KB, patch)
2018-05-10 17:07 PDT, Chris Dumez
ews-watchlist: commit-queue-
Archive of layout-test-results from ews123 for ios-simulator-wk2 (25.83 MB, application/zip)
2018-05-10 18:36 PDT, EWS Watchlist
no flags
Patch (22.05 KB, patch)
2018-05-11 10:41 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2018-05-10 15:34:29 PDT
Chris Dumez
Comment 2 2018-05-10 16:05:10 PDT
EWS Watchlist
Comment 3 2018-05-10 16:07:41 PDT
Attachment 340141 [details] did not pass style-queue: ERROR: Source/WebCore/platform/network/BlobRegistry.cpp:54: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/WebCore/platform/network/BlobRegistry.cpp:60: More than one command on the same line in if [whitespace/parens] [4] ERROR: Source/WebCore/platform/network/BlobRegistry.cpp:61: This { should be at the end of the previous line [whitespace/braces] [4] Total errors found: 3 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
Geoffrey Garen
Comment 4 2018-05-10 16:45:54 PDT
Comment on attachment 340141 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=340141&action=review > Source/WebCore/platform/network/BlobRegistry.cpp:60 > + , m_counter([this](RefCounterEvent) { if (!m_counter.value()) lifeTimeExtensionExpired(); }) Does LifetimeExtension need to be an object with a special kind of counter, or can the LifetimeExtension class just use RefCounted and a destructor? The idea that holding a LifetimeExtension is not enough, and you also need to hold a token to its internal counter, is a bit surprising -- and it seems that the counter doesn't do anything except count down to zero and then delete the object.
Chris Dumez
Comment 5 2018-05-10 17:02:56 PDT
Chris Dumez
Comment 6 2018-05-10 17:07:19 PDT
EWS Watchlist
Comment 7 2018-05-10 18:36:52 PDT
Comment on attachment 340150 [details] Patch Attachment 340150 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/7645285 New failing tests: fast/dom/HTMLAnchorElement/anchor-file-blob-download-then-revoke.html
EWS Watchlist
Comment 8 2018-05-10 18:36:54 PDT
Created attachment 340156 [details] Archive of layout-test-results from ews123 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews123 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
Chris Dumez
Comment 9 2018-05-11 10:41:20 PDT
Geoffrey Garen
Comment 10 2018-05-11 11:55:19 PDT
Comment on attachment 340199 [details] Patch r=me
Geoffrey Garen
Comment 11 2018-05-11 11:55:36 PDT
This is nicer!
WebKit Commit Bot
Comment 12 2018-05-11 12:22:40 PDT
Comment on attachment 340199 [details] Patch Clearing flags on attachment: 340199 Committed r231714: <https://trac.webkit.org/changeset/231714>
WebKit Commit Bot
Comment 13 2018-05-11 12:22:42 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.