RESOLVED FIXED 175482
Implement quota limitation for keepalive Fetch requests
https://bugs.webkit.org/show_bug.cgi?id=175482
Summary Implement quota limitation for keepalive Fetch requests
Chris Dumez
Reported 2017-08-11 10:00:06 PDT
Implement quota limitation for keepalive Fetch requests as per: - https://fetch.spec.whatwg.org/#http-network-or-cache-fetch (Step 9)
Attachments
WIP Patch (60.58 KB, patch)
2017-08-11 11:27 PDT, Chris Dumez
no flags
WIP Patch (62.22 KB, patch)
2017-08-11 11:41 PDT, Chris Dumez
no flags
WIP Patch (62.26 KB, patch)
2017-08-11 12:57 PDT, Chris Dumez
no flags
Patch (82.79 KB, patch)
2017-08-11 13:23 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews101 for mac-elcapitan (1.11 MB, application/zip)
2017-08-11 14:28 PDT, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (1.09 MB, application/zip)
2017-08-11 14:42 PDT, Build Bot
no flags
Patch (91.62 KB, patch)
2017-08-11 14:52 PDT, Chris Dumez
no flags
Patch (93.96 KB, patch)
2017-08-11 15:39 PDT, Chris Dumez
no flags
Patch (93.45 KB, patch)
2017-08-11 16:52 PDT, Chris Dumez
no flags
Patch (94.20 KB, patch)
2017-08-11 18:47 PDT, Chris Dumez
no flags
Patch (87.84 KB, patch)
2017-08-11 18:49 PDT, Chris Dumez
no flags
Patch (98.75 KB, patch)
2017-08-14 10:51 PDT, Chris Dumez
no flags
Patch (100.30 KB, patch)
2017-08-14 12:17 PDT, Chris Dumez
no flags
Patch (144.16 KB, patch)
2017-08-14 14:01 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews100 for mac-elcapitan (990.68 KB, application/zip)
2017-08-14 15:15 PDT, Build Bot
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (1.07 MB, application/zip)
2017-08-14 15:21 PDT, Build Bot
no flags
Archive of layout-test-results from ews115 for mac-elcapitan (1.77 MB, application/zip)
2017-08-14 15:29 PDT, Build Bot
no flags
Patch (83.05 KB, patch)
2017-08-14 18:37 PDT, Chris Dumez
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (1.37 MB, application/zip)
2017-08-14 21:49 PDT, Build Bot
no flags
Patch (83.33 KB, patch)
2017-08-15 10:16 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2017-08-11 11:27:14 PDT
Created attachment 317939 [details] WIP Patch
Build Bot
Comment 2 2017-08-11 11:29:55 PDT
Attachment 317939 [details] did not pass style-queue: ERROR: Source/WebCore/loader/cache/CachedResourceLoader.cpp:844: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Total errors found: 1 in 31 files If any of these errors are false positives, please file a bug against check-webkit-style.
Chris Dumez
Comment 3 2017-08-11 11:41:06 PDT
Created attachment 317941 [details] WIP Patch
Chris Dumez
Comment 4 2017-08-11 12:57:04 PDT
Created attachment 317951 [details] WIP Patch
Chris Dumez
Comment 5 2017-08-11 13:23:55 PDT
Build Bot
Comment 6 2017-08-11 14:28:51 PDT
Comment on attachment 317955 [details] Patch Attachment 317955 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/4297646 New failing tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html imported/w3c/web-platform-tests/fetch/http-cache/cc-request.html inspector/worker/resources-in-worker.html imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html imported/w3c/web-platform-tests/fetch/api/request/request-cache-only-if-cached.html
Build Bot
Comment 7 2017-08-11 14:28:52 PDT
Created attachment 317961 [details] Archive of layout-test-results from ews101 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 8 2017-08-11 14:42:03 PDT
Comment on attachment 317955 [details] Patch Attachment 317955 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/4297675 New failing tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.html inspector/worker/resources-in-worker.html imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker.html
Build Bot
Comment 9 2017-08-11 14:42:04 PDT
Created attachment 317965 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Chris Dumez
Comment 10 2017-08-11 14:52:08 PDT
Chris Dumez
Comment 11 2017-08-11 15:39:40 PDT
Sam Weinig
Comment 12 2017-08-11 16:32:26 PDT
Comment on attachment 317971 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=317971&action=review > Source/WebCore/loader/DocumentThreadableLoader.cpp:455 > + ResourceError error; > + m_resource = m_document.cachedResourceLoader().requestRawResource(WTFMove(newRequest), &error); Rather than out parameters, what do you think about adding a ResourceErrorOr<> class?
Chris Dumez
Comment 13 2017-08-11 16:35:46 PDT
(In reply to Sam Weinig from comment #12) > Comment on attachment 317971 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=317971&action=review > > > Source/WebCore/loader/DocumentThreadableLoader.cpp:455 > > + ResourceError error; > > + m_resource = m_document.cachedResourceLoader().requestRawResource(WTFMove(newRequest), &error); > > Rather than out parameters, what do you think about adding a > ResourceErrorOr<> class? I tried to keep the refactoring as minimal as possible in this patch to limit size but I do agree that it'd be nice if we used a better design. I don't know that this deserves a new class though? I was personally considering WTF::Expected<CachedResourceHandle<CachedResource>>, ResourceError>.
Sam Weinig
Comment 14 2017-08-11 16:46:15 PDT
(In reply to Chris Dumez from comment #13) > (In reply to Sam Weinig from comment #12) > > Comment on attachment 317971 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=317971&action=review > > > > > Source/WebCore/loader/DocumentThreadableLoader.cpp:455 > > > + ResourceError error; > > > + m_resource = m_document.cachedResourceLoader().requestRawResource(WTFMove(newRequest), &error); > > > > Rather than out parameters, what do you think about adding a > > ResourceErrorOr<> class? > > I tried to keep the refactoring as minimal as possible in this patch to > limit size but I do agree that it'd be nice if we used a better design. I > don't know that this deserves a new class though? I was personally > considering WTF::Expected<CachedResourceHandle<CachedResource>>, > ResourceError>. That would be cool too.
Chris Dumez
Comment 15 2017-08-11 16:50:03 PDT
(In reply to Sam Weinig from comment #14) > (In reply to Chris Dumez from comment #13) > > (In reply to Sam Weinig from comment #12) > > > Comment on attachment 317971 [details] > > > Patch > > > > > > View in context: > > > https://bugs.webkit.org/attachment.cgi?id=317971&action=review > > > > > > > Source/WebCore/loader/DocumentThreadableLoader.cpp:455 > > > > + ResourceError error; > > > > + m_resource = m_document.cachedResourceLoader().requestRawResource(WTFMove(newRequest), &error); > > > > > > Rather than out parameters, what do you think about adding a > > > ResourceErrorOr<> class? > > > > I tried to keep the refactoring as minimal as possible in this patch to > > limit size but I do agree that it'd be nice if we used a better design. I > > don't know that this deserves a new class though? I was personally > > considering WTF::Expected<CachedResourceHandle<CachedResource>>, > > ResourceError>. > > That would be cool too. Will do this refactoring in a follow-up. I think it will look better indeed.
Chris Dumez
Comment 16 2017-08-11 16:52:58 PDT
youenn fablet
Comment 17 2017-08-11 16:55:31 PDT
Comment on attachment 317971 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=317971&action=review > Source/WebCore/ChangeLog:11 > + This partly works for Beacon was well, meaning that no Beacon with a body s/was/as. > Source/WebCore/Modules/fetch/FetchBodyOwner.h:91 > + void didFail(const ResourceError&) final; Should probably be a ResourceError&& although in practice, ResourceError might not allow us today to move some of its internals like its description. > Source/WebCore/loader/cache/CachedResourceLoader.cpp:184 > +CachedResourceHandle<CachedImage> CachedResourceLoader::requestImage(CachedResourceRequest&& request, ResourceError* error) Couldn't we try passing the error through CachedResourceHandle? > Source/WebCore/loader/cache/CachedResourceLoader.cpp:831 > + if (resource->options().keepAlive && !m_keepaliveRequestTracker.canLoadRequest(*resource)) { I am not sure we should do that there. This is probably fine in practice for fetch but in the future this assumption might be broken. Why not doing it in CachedResource::load() instead? > Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:27 > +#include "KeepaliveRequestTracker.h" Not sure what is the rule but KeepAlive would read better than Keepalive to me. > Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:31 > +const uint64_t maxInflightKeepaliveBytes { 65536 }; // 64 kibibytes as per Fetch specification. s/kibi/kilo/ > Source/WebCore/platform/network/FormData.cpp:143 > + auto* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(m_url); I am not sure this actually works to go through blobRegistry. Do we have tests for that case (blob+keepalive)? To get the size of the blob, we should probably get the actual Blob and read its size directly. Unfortunately, this is only known at FetchRequest level so there would be a need to pass it all through CachedResourceLoader.
youenn fablet
Comment 18 2017-08-11 16:57:13 PDT
cdumez, before committing, can you check the blob+keepalive first?
youenn fablet
Comment 19 2017-08-11 16:58:28 PDT
In the meantime, I'll stop the cq.
Chris Dumez
Comment 20 2017-08-11 18:11:36 PDT
Comment on attachment 317971 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=317971&action=review >> Source/WebCore/ChangeLog:11 >> + This partly works for Beacon was well, meaning that no Beacon with a body > > s/was/as. Ok. >> Source/WebCore/Modules/fetch/FetchBodyOwner.h:91 >> + void didFail(const ResourceError&) final; > > Should probably be a ResourceError&& although in practice, ResourceError might not allow us today to move some of its internals like its description. None of the clients actually want to take ownership of the ResourceError. Also, in requestResource(), there is one instance we we return an error from the resource. This would force me to copy the error in this case if I used a ResourceError&&. >> Source/WebCore/loader/cache/CachedResourceLoader.cpp:184 >> +CachedResourceHandle<CachedImage> CachedResourceLoader::requestImage(CachedResourceRequest&& request, ResourceError* error) > > Couldn't we try passing the error through CachedResourceHandle? I don't know that I would like this design. I think of a CachedResourceHandle similarly as a RefPtr, it is ref counting for resources. I'd rather use WTF::Expected as discussed with Sam earlier. I already filed a bug about refactoring this in a follow-up to minimize the size of this patch. >> Source/WebCore/loader/cache/CachedResourceLoader.cpp:831 >> + if (resource->options().keepAlive && !m_keepaliveRequestTracker.canLoadRequest(*resource)) { > > I am not sure we should do that there. > This is probably fine in practice for fetch but in the future this assumption might be broken. > Why not doing it in CachedResource::load() instead? Hmm. I can probably do this in CachedResource::load(). I'll try it out and see how it looks. >> Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:27 >> +#include "KeepaliveRequestTracker.h" > > Not sure what is the rule but KeepAlive would read better than Keepalive to me. I am not sure what the rule is either so I went with the casing that is used in the fetch spec and in the IDL. >> Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:31 >> +const uint64_t maxInflightKeepaliveBytes { 65536 }; // 64 kibibytes as per Fetch specification. > > s/kibi/kilo/ Why? The spec says "64 kibibytes". >> Source/WebCore/platform/network/FormData.cpp:143 >> + auto* blobData = static_cast<BlobRegistryImpl&>(blobRegistry()).getBlobDataFromURL(m_url); > > I am not sure this actually works to go through blobRegistry. > Do we have tests for that case (blob+keepalive)? > > To get the size of the blob, we should probably get the actual Blob and read its size directly. > Unfortunately, this is only known at FetchRequest level so there would be a need to pass it all through CachedResourceLoader. I tried a blob like new Blob(["123"]) and it seemed to work but I'll confirm.
Chris Dumez
Comment 21 2017-08-11 18:33:54 PDT
(In reply to youenn fablet from comment #18) > cdumez, before committing, can you check the blob+keepalive first? It does appear you're right and Blob size is not properly computed. I thought I tested this earlier.. Will look into this.
Chris Dumez
Comment 22 2017-08-11 18:42:15 PDT
(In reply to Chris Dumez from comment #21) > (In reply to youenn fablet from comment #18) > > cdumez, before committing, can you check the blob+keepalive first? > > It does appear you're right and Blob size is not properly computed. I > thought I tested this earlier.. Will look into this. ThreadableBlobRegistry::blobSize(m_url) seems to work.
Chris Dumez
Comment 23 2017-08-11 18:47:04 PDT
Chris Dumez
Comment 24 2017-08-11 18:49:27 PDT
Chris Dumez
Comment 25 2017-08-11 18:51:28 PDT
Comment on attachment 317985 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=317985&action=review > Source/WebCore/loader/cache/CachedResource.cpp:262 > + if (m_options.keepAlive) { Moved the logic to CachedResource::load() as suggested. > Source/WebCore/platform/network/FormData.cpp:142 > + return blobRegistry().blobSize(m_url); Now using this to retrieve the blob size, which seems to work. > LayoutTests/http/wpt/beacon/beacon-quota.html:10 > + return new Blob(["*".repeat(payloadSize)]); Updated this test to use a Blob for better coverage.
youenn fablet
Comment 26 2017-08-11 19:21:39 PDT
Comment on attachment 317985 [details] Patch LGTM. View in context: https://bugs.webkit.org/attachment.cgi?id=317985&action=review > Source/WebCore/loader/cache/KeepaliveRequestTracker.cpp:87 > + m_inflightKeepaliveBytes -= resource.resourceRequest().httpBody()->lengthInBytes(); I wonder whether we should not have m_inflightKeepaliveRequests be a map<request, size_t> resource.resourceRequest() could be modified throughout the load and become null for instance. Or the blob registry may change and lengthInBytes be changed inadvertently. I also wonder whether we should ensure that m_inflightKeepaliveBytes is greater than resource.resourceRequest().httpBody()->lengthInBytes()
WebKit Commit Bot
Comment 27 2017-08-11 19:51:16 PDT
Comment on attachment 317985 [details] Patch Clearing flags on attachment: 317985 Committed r220622: <http://trac.webkit.org/changeset/220622>
WebKit Commit Bot
Comment 28 2017-08-11 19:51:18 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 29 2017-08-11 19:52:23 PDT
youenn fablet
Comment 30 2017-08-12 13:32:40 PDT
> I wonder whether we should not have m_inflightKeepaliveRequests be a > map<request, size_t> > resource.resourceRequest() could be modified throughout the load and become > null for instance. > Or the blob registry may change and lengthInBytes be changed inadvertently. Maybe something like: - create blob1 of 60ko - fetch(keepalive+blob1) on a script taking some time to answer - GC the blob so that the blob URL is no longer in the registry - wait for fetch to complete - create blob2 of 60ko - fetch(keepalive+blob2) and check that it does not reject
youenn fablet
Comment 31 2017-08-12 14:07:11 PDT
> Maybe something like: > - create blob1 of 60ko > - fetch(keepalive+blob1) on a script taking some time to answer > - GC the blob so that the blob URL is no longer in the registry > - wait for fetch to complete > - create blob2 of 60ko > - fetch(keepalive+blob2) and check that it does not reject Ah no, won't work
Chris Dumez
Comment 32 2017-08-12 14:09:29 PDT
(In reply to youenn fablet from comment #31) > > Maybe something like: > > - create blob1 of 60ko > > - fetch(keepalive+blob1) on a script taking some time to answer > > - GC the blob so that the blob URL is no longer in the registry > > - wait for fetch to complete > > - create blob2 of 60ko > > - fetch(keepalive+blob2) and check that it does not reject > > Ah no, won't work Also note that FormData is caching is size so something would also need to invalidate the cached size for this to be an issue.
youenn fablet
Comment 33 2017-08-12 15:21:03 PDT
> Also note that FormData is caching is size so something would also need to > invalidate the cached size for this to be an issue. I wonder whether this is a good thing given that the cached size may be out of sync with its actual size. It seems safer to have KeepaliveRequestTracker cache this value.
Chris Dumez
Comment 34 2017-08-12 16:20:08 PDT
(In reply to youenn fablet from comment #33) > > Also note that FormData is caching is size so something would also need to > > invalidate the cached size for this to be an issue. > > I wonder whether this is a good thing given that the cached size may be out > of sync with its actual size. It seems safer to have KeepaliveRequestTracker > cache this value. No, operations that would impact the size should invalidate the cached size. Also, I would not expect the request of a CachedResource to change.
youenn fablet
Comment 35 2017-08-12 18:14:00 PDT
> No, operations that would impact the size should invalidate the cached size. AFAIK, FormData is not aware of any change done to the blob registry. When a blob gets destroyed, how will FormData know to set its cached size to zero? If the same FormData is used in two different loads, that could end up be a problem. A small code change to fetch request cloning could make this real. > Also, I would not expect the request of a CachedResource to change. CachedResource has a public non-const accessor to the request right now. Not sure this is a good thing but hey... Any part of the code can actually nullify the body of the CachedResource request. I don't think this is the case right now, but I could see that done in some redirection/error cases for instance. If so, the current code could run into a null pointer dereference.
youenn fablet
Comment 36 2017-08-12 18:17:36 PDT
Comment on attachment 317985 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=317985&action=review > Source/WebCore/platform/network/FormData.cpp:137 > + if (getFileSize(m_shouldGenerateFile ? m_generatedFilename : m_filename, fileSize)) As a side note, is it ok to read the file size from WebProcess with regards to sandboxing?
Ryan Haddad
Comment 37 2017-08-14 08:29:34 PDT
(In reply to WebKit Commit Bot from comment #27) > Comment on attachment 317985 [details] > Patch > > Clearing flags on attachment: 317985 > > Committed r220622: <http://trac.webkit.org/changeset/220622> This change caused 38 LayoutTest crashes and 11 failures on iOS: https://build.webkit.org/builders/Apple%20iOS%2010%20Simulator%20Release%20WK2%20%28Tests%29/builds/3578
Chris Dumez
Comment 38 2017-08-14 09:20:10 PDT
(In reply to Ryan Haddad from comment #37) > (In reply to WebKit Commit Bot from comment #27) > > Comment on attachment 317985 [details] > > Patch > > > > Clearing flags on attachment: 317985 > > > > Committed r220622: <http://trac.webkit.org/changeset/220622> > This change caused 38 LayoutTest crashes and 11 failures on iOS: > > https://build.webkit.org/builders/ > Apple%20iOS%2010%20Simulator%20Release%20WK2%20%28Tests%29/builds/3578 Follow-up for iOS landed in https://trac.webkit.org/changeset/220696/webkit.
Chris Dumez
Comment 39 2017-08-14 10:42:14 PDT
Chris Dumez
Comment 40 2017-08-14 10:42:56 PDT
Rolled out in <http://trac.webkit.org/changeset/220707> due to iOS failures.
Chris Dumez
Comment 41 2017-08-14 10:51:37 PDT
Chris Dumez
Comment 42 2017-08-14 12:17:33 PDT
Chris Dumez
Comment 43 2017-08-14 14:01:44 PDT
Build Bot
Comment 44 2017-08-14 15:15:25 PDT
Comment on attachment 318058 [details] Patch Attachment 318058 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/4313931 New failing tests: http/tests/navigation/page-cache-xhr.html imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm
Build Bot
Comment 45 2017-08-14 15:15:27 PDT
Created attachment 318065 [details] Archive of layout-test-results from ews100 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 46 2017-08-14 15:21:18 PDT
Comment on attachment 318058 [details] Patch Attachment 318058 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/4313947 New failing tests: http/tests/navigation/page-cache-xhr.html
Build Bot
Comment 47 2017-08-14 15:21:20 PDT
Created attachment 318068 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 48 2017-08-14 15:29:10 PDT
Comment on attachment 318058 [details] Patch Attachment 318058 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/4313948 New failing tests: http/tests/navigation/page-cache-xhr.html imported/w3c/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm
Build Bot
Comment 49 2017-08-14 15:29:12 PDT
Created attachment 318073 [details] Archive of layout-test-results from ews115 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Chris Dumez
Comment 50 2017-08-14 18:37:58 PDT
Build Bot
Comment 51 2017-08-14 21:49:30 PDT
Comment on attachment 318097 [details] Patch Attachment 318097 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/4315715 New failing tests: imported/w3c/web-platform-tests/cors/response-headers.htm imported/w3c/web-platform-tests/cors/redirect-userinfo.htm imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-worker.html imported/w3c/web-platform-tests/fetch/api/request/request-bad-port.html imported/w3c/web-platform-tests/eventsource/interfaces.html fast/history/pagehide-remove-iframe-crash.html imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-error-state.htm imported/w3c/web-platform-tests/eventsource/eventsource-constructor-non-same-origin.htm imported/w3c/web-platform-tests/XMLHttpRequest/timeout-cors-async.htm imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.html imported/w3c/web-platform-tests/XMLHttpRequest/event-error.sub.html imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin.html imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies.any.worker.html imported/w3c/web-platform-tests/cors/late-upload-events.htm
Build Bot
Comment 52 2017-08-14 21:49:31 PDT
Created attachment 318110 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Chris Dumez
Comment 53 2017-08-15 10:16:20 PDT
WebKit Commit Bot
Comment 54 2017-08-15 12:35:15 PDT
Comment on attachment 318131 [details] Patch Clearing flags on attachment: 318131 Committed r220751: <http://trac.webkit.org/changeset/220751>
WebKit Commit Bot
Comment 55 2017-08-15 12:35:17 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.