Bug 175569

Summary: Add the PerformanceServerTiming Interface which makes Server-Timing header timing values available to JavaScript running in the browser.
Product: WebKit Reporter: cvazac
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, cdumez, commit-queue, dbates, don.olmstead, ews-watchlist, ggaren, japhet, joepeck, rniwa, simon.fraser, webkit-bug-importer, yoav, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 184758    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews201 for win-future
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews114 for mac-sierra
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews106 for mac-sierra-wk2
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Patch
none
Patch
none
Archive of layout-test-results from ews113 for mac-sierra
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from ews102 for mac-sierra
none
Archive of layout-test-results from ews104 for mac-sierra-wk2
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Archive of layout-test-results from ews116 for mac-sierra
none
Patch
none
Archive of layout-test-results from ews115 for mac-sierra
none
Patch
none
Patch
none
Archive of layout-test-results from ews107 for mac-sierra-wk2
none
Archive of layout-test-results from ews124 for ios-simulator-wk2
none
Patch none

cvazac
Reported 2017-08-15 07:31:59 PDT
Parse Server-Timing response headers and make the metric name(s), value(s), and description(s) available on the `serverTiming` property of `PerformanceNavigationTiming` and `PerformanceResourceTiming` entries on the global performance timeline and to PerformanceObservers. Spec found here: https://w3c.github.io/server-timing/ Landed as "experimental feature" in Chrome: https://www.chromestatus.com/features/5695708376072192
Attachments
Patch (50.77 KB, patch)
2018-02-12 10:23 PST, cvazac
no flags
Patch (52.36 KB, patch)
2018-02-12 12:46 PST, cvazac
no flags
Patch (158.66 KB, patch)
2018-02-12 13:28 PST, cvazac
no flags
Patch (158.67 KB, patch)
2018-02-12 13:43 PST, cvazac
no flags
Patch (158.66 KB, patch)
2018-02-12 18:51 PST, cvazac
no flags
Patch (158.94 KB, patch)
2018-02-12 19:02 PST, cvazac
no flags
Patch (158.66 KB, patch)
2018-02-12 20:20 PST, cvazac
no flags
Patch (159.23 KB, patch)
2018-02-13 07:07 PST, cvazac
no flags
Patch (159.26 KB, patch)
2018-02-13 07:18 PST, cvazac
no flags
Patch (158.39 KB, patch)
2018-02-14 09:00 PST, cvazac
no flags
Patch (158.64 KB, patch)
2018-02-14 10:52 PST, cvazac
no flags
Patch (158.31 KB, patch)
2018-02-15 08:27 PST, cvazac
no flags
Patch (157.89 KB, patch)
2018-02-15 14:17 PST, cvazac
no flags
Patch (157.97 KB, patch)
2018-02-15 14:24 PST, cvazac
no flags
Archive of layout-test-results from ews201 for win-future (11.46 MB, application/zip)
2018-02-15 16:29 PST, EWS Watchlist
no flags
Patch (158.41 KB, patch)
2018-03-27 08:18 PDT, cvazac
no flags
Patch (158.88 KB, patch)
2018-03-27 14:17 PDT, cvazac
no flags
Patch (154.56 KB, patch)
2018-04-02 15:29 PDT, cvazac
no flags
Patch (169.48 KB, patch)
2018-04-02 18:57 PDT, cvazac
no flags
Archive of layout-test-results from ews114 for mac-sierra (2.96 MB, application/zip)
2018-04-02 20:49 PDT, EWS Watchlist
no flags
Patch (183.27 KB, patch)
2018-04-03 19:50 PDT, cvazac
no flags
Patch (183.49 KB, patch)
2018-04-06 12:33 PDT, cvazac
no flags
Patch (182.83 KB, patch)
2018-04-06 12:58 PDT, cvazac
no flags
Patch (184.17 KB, patch)
2018-04-09 08:43 PDT, cvazac
no flags
Patch (184.71 KB, patch)
2018-04-09 09:30 PDT, cvazac
no flags
Patch (184.70 KB, patch)
2018-04-09 09:50 PDT, cvazac
no flags
Archive of layout-test-results from ews106 for mac-sierra-wk2 (2.72 MB, application/zip)
2018-04-09 11:20 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (2.21 MB, application/zip)
2018-04-09 11:27 PDT, EWS Watchlist
no flags
Patch (185.53 KB, patch)
2018-04-09 14:52 PDT, cvazac
no flags
Patch (185.53 KB, patch)
2018-04-10 06:48 PDT, cvazac
no flags
Archive of layout-test-results from ews113 for mac-sierra (2.95 MB, application/zip)
2018-04-10 08:32 PDT, EWS Watchlist
no flags
Patch (185.53 KB, patch)
2018-04-10 08:41 PDT, cvazac
no flags
Patch (185.53 KB, patch)
2018-04-10 10:59 PDT, cvazac
no flags
Patch (185.53 KB, patch)
2018-04-10 11:47 PDT, cvazac
no flags
Patch (185.82 KB, patch)
2018-04-10 20:04 PDT, cvazac
no flags
Patch (228.94 KB, patch)
2018-04-18 10:59 PDT, cvazac
no flags
Archive of layout-test-results from ews102 for mac-sierra (2.23 MB, application/zip)
2018-04-18 12:28 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews104 for mac-sierra-wk2 (2.95 MB, application/zip)
2018-04-18 12:29 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews126 for ios-simulator-wk2 (2.43 MB, application/zip)
2018-04-18 12:49 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews116 for mac-sierra (3.14 MB, application/zip)
2018-04-18 12:58 PDT, EWS Watchlist
no flags
Patch (183.43 KB, patch)
2018-05-11 12:52 PDT, cvazac
no flags
Archive of layout-test-results from ews115 for mac-sierra (3.13 MB, application/zip)
2018-05-11 15:05 PDT, EWS Watchlist
no flags
Patch (196.07 KB, patch)
2018-05-14 07:15 PDT, cvazac
no flags
Patch (198.86 KB, patch)
2018-05-14 12:19 PDT, cvazac
no flags
Archive of layout-test-results from ews107 for mac-sierra-wk2 (3.03 MB, application/zip)
2018-05-14 13:45 PDT, EWS Watchlist
no flags
Archive of layout-test-results from ews124 for ios-simulator-wk2 (2.20 MB, application/zip)
2018-05-14 14:14 PDT, EWS Watchlist
no flags
Patch (199.16 KB, patch)
2018-05-15 08:00 PDT, cvazac
no flags
cvazac
Comment 1 2018-02-12 10:23:33 PST
EWS Watchlist
Comment 2 2018-02-12 10:26:32 PST
Attachment 333605 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:8: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] Total errors found: 1 in 23 files If any of these errors are false positives, please file a bug against check-webkit-style.
cvazac
Comment 3 2018-02-12 12:46:33 PST
cvazac
Comment 4 2018-02-12 13:28:51 PST
EWS Watchlist
Comment 5 2018-02-12 13:33:28 PST
Attachment 333624 [details] did not pass style-queue: ERROR: Source/WebCore/ChangeLog:8: Line contains tab character. [whitespace/tab] [5] Total errors found: 1 in 202 files If any of these errors are false positives, please file a bug against check-webkit-style.
cvazac
Comment 6 2018-02-12 13:43:29 PST
cvazac
Comment 7 2018-02-12 18:51:59 PST
cvazac
Comment 8 2018-02-12 19:02:28 PST
cvazac
Comment 9 2018-02-12 20:20:55 PST
cvazac
Comment 10 2018-02-13 07:07:22 PST
cvazac
Comment 11 2018-02-13 07:18:19 PST
cvazac
Comment 12 2018-02-14 09:00:42 PST
cvazac
Comment 13 2018-02-14 10:52:57 PST
cvazac
Comment 14 2018-02-15 08:27:20 PST
cvazac
Comment 15 2018-02-15 14:17:19 PST
cvazac
Comment 16 2018-02-15 14:24:07 PST
EWS Watchlist
Comment 17 2018-02-15 16:29:43 PST
Comment on attachment 333945 [details] Patch Attachment 333945 [details] did not pass win-ews (win): Output: http://webkit-queues.webkit.org/results/6524626 New failing tests: http/tests/preload/onerror_event.html
EWS Watchlist
Comment 18 2018-02-15 16:29:53 PST
Created attachment 333966 [details] Archive of layout-test-results from ews201 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews201 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
cvazac
Comment 19 2018-03-27 08:18:18 PDT
cvazac
Comment 20 2018-03-27 14:17:30 PDT
cvazac
Comment 21 2018-03-29 08:05:45 PDT
Bots are finally green! Can I get a review for this, please? :)
Alex Christensen
Comment 22 2018-03-29 11:00:41 PDT
Comment on attachment 336619 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336619&action=review Cool! > Source/WebCore/loader/ParsedServerTiming.h:14 > + * * Neither the name of Google Inc. nor the names of its I think you have the wrong copyright header. Google isn't mentioned in the copyright of this file. > Source/WebCore/loader/ParsedServerTiming.h:39 > +class ParsedServerTiming { ServerTimingParser? > Source/WebCore/loader/ParsedServerTiming.h:41 > + static std::unique_ptr<Vector<std::unique_ptr<ServerTiming>>> parseServerTiming(const String&); This should be Vector<ServerTiming> or std::optional<Vector<ServerTiming>> if it can fail. > Source/WebCore/loader/ResourceTiming.cpp:113 > + serverTiming.append(adoptRef(new PerformanceServerTiming(entry->name(), entry->duration(), entry->description()))); adoptRef(*new ...) Replace Vector<RefPtr<...>> with Vector<Ref<...>> when possible so we know it can't be null. > Source/WebCore/loader/ServerTiming.cpp:49 > +std::unique_ptr<ServerTiming> ServerTiming::isolatedCopy() const > +{ > + return std::make_unique<ServerTiming>(*this); > +} This should call .isolatedCopy on each string. > Source/WebCore/loader/ServerTiming.h:36 > + : m_name(name) { } indent > Source/WebCore/loader/ServerTiming.h:38 > + : m_name(other.m_name), m_duration(other.m_duration), m_description(other.m_description) { } ditto > Source/WebCore/loader/ServerTiming.h:44 > + std::unique_ptr<ServerTiming> isolatedCopy() const; ServerTiming. unique_ptr unnecessary here. > Source/WebCore/page/PerformanceResourceTiming.cpp:84 > + resourceTiming.populateServerTiming(m_serverTiming); m_serverTiming(resourceTiming.serverTiming()); or something like that. Return-by-reference is confusing. It leaves it unclear if m_serverTiming was expected to be empty before or not. > LayoutTests/imported/w3c/web-platform-tests/server-timing/cross_origin.html:1 > +<!DOCTYPE html> These tests need a ChangeLog and a -expected.txt file so we can see what passes.
Alex Christensen
Comment 23 2018-03-29 11:16:50 PDT
Comment on attachment 336619 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=336619&action=review > Source/WebCore/loader/ParsedServerTiming.cpp:68 > + entries->append(std::make_unique<ServerTiming>(entry)); This should become entries.append(WTFMove(entry));
youenn fablet
Comment 24 2018-03-29 11:33:30 PDT
Comment on attachment 336619 [details] Patch Some additional points. View in context: https://bugs.webkit.org/attachment.cgi?id=336619&action=review > Source/WebCore/loader/HTTPHeaderField.h:88 > + static bool isCommentText(UChar); I would keep the namespace RTFC7230 and define functions we want to expose there. The other functions would remain declared only in the cpp file. > Source/WebCore/loader/HeaderFieldTokenizer.cpp:2 > + * Copyright 2017 The Chromium Authors. All rights reserved. Is this class coming from Chromium? > Source/WebCore/loader/HeaderFieldTokenizer.h:35 > +class HeaderFieldTokenizer final { No need for final here. > Source/WebCore/loader/HeaderFieldTokenizer.h:38 > + HeaderFieldTokenizer(const String& header_field); explicit. > Source/WebCore/loader/HeaderFieldTokenizer.h:45 > + bool consumeToken(String& output); Why not returning directly a String or an optional<String> if we need to disambiguate error cases? I wonder whether it should not be returning something like optional<StringView> to reduce the memory allocation. > Source/WebCore/loader/ResourceTiming.cpp:109 > +void ResourceTiming::populateServerTiming(Vector<RefPtr<PerformanceServerTiming>>& serverTiming) Instead of passing an out parameter, can we directly return a Vector<Ref<>>? For improved efficiency, you could then write it as wtf::map(*m_serverTiming) [] (auto&& item) { return adoptRef(*new ...)l }; If serverTiming is already full of entries, that might be fine. Or we could use the reserveCapacity/uncheckedAppend pattern. > Source/WebCore/loader/ResourceTiming.cpp:122 > + serverTiming->append(entry->isolatedCopy()); We probably have a CrossThreadCopier that will do that for you. > Source/WebCore/loader/ResourceTiming.h:78 > + std::unique_ptr<Vector<std::unique_ptr<ServerTiming>>> m_serverTiming; Can we just have a Vector<ServerTiming>? > Source/WebCore/loader/ServerTiming.cpp:37 > + } We could early return here. > Source/WebCore/loader/ServerTiming.h:32 > +class ServerTiming { How about making it a struct instead? > Source/WebCore/page/PerformanceServerTiming.h:36 > + PerformanceServerTiming(const String& name, double duration, const String& description); We usually make the constructor private and add a static create method. We also usually pass String&& as in parameters. > Source/WebCore/page/PerformanceServerTiming.h:39 > + String name() const { return m_name; } can be a const String&, ditto below.
youenn fablet
Comment 25 2018-03-29 12:49:22 PDT
By the way, is there any implication in leaking such header value information to third party origins? Is the plan to rely on Timing-Allow-Origin?
cvazac
Comment 26 2018-04-02 15:29:07 PDT
cvazac
Comment 27 2018-04-02 15:29:49 PDT
I'm not quite ready for another review yet, a few more things to address.
cvazac
Comment 28 2018-04-02 15:30:46 PDT
(In reply to youenn fablet from comment #25) > By the way, is there any implication in leaking such header value > information to third party origins? Is the plan to rely on > Timing-Allow-Origin? Yes, exactly. Parsing server timing headers is gated by `m_allowTimingDetails`
cvazac
Comment 29 2018-04-02 18:57:34 PDT
EWS Watchlist
Comment 30 2018-04-02 20:49:06 PDT
Comment on attachment 337052 [details] Patch Attachment 337052 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/7187299 New failing tests: imported/w3c/web-platform-tests/server-timing/test_server_timing.html imported/w3c/web-platform-tests/server-timing/cross_origin.html imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html
EWS Watchlist
Comment 31 2018-04-02 20:49:07 PDT
Created attachment 337057 [details] Archive of layout-test-results from ews114 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews114 Port: mac-sierra Platform: Mac OS X 10.12.6
cvazac
Comment 32 2018-04-03 19:50:31 PDT
youenn fablet
Comment 33 2018-04-04 16:56:27 PDT
Comment on attachment 337139 [details] Patch Looks almost ready. Some comments below. View in context: https://bugs.webkit.org/attachment.cgi?id=337139&action=review > Source/WebCore/loader/HeaderFieldTokenizer.h:46 > + bool consumeTokenOrQuotedString(String& output); Since these are public, it would probably be more consistent to have these returning std::optional<String> or maybe just a String and String::isNull would be the error case. > Source/WebCore/loader/ResourceTiming.cpp:106 > + m_serverTiming = ServerTimingParser::parseServerTiming(response.httpHeaderField(HTTPHeaderName::ServerTiming)); To be noted that we are currently tightening our security model and reducing exposure of HTTP response headers in WebProcess to the minimum. When going from NetworkProcess to WebProcess, we will in a near future, filter response headers that are not absolutely needed (see bug 184310). We will probably need to implement something similar to m_allowTimingDetails in NetworkProcess when sending the resource response. > Source/WebCore/loader/ResourceTiming.cpp:113 > + serverTiming.append(PerformanceServerTiming::create(WTFMove(entry.name), entry.duration, WTFMove(entry.description))); You can probably use WTF::map here so that uncheckedAppend/reserveInitialCapacity are used behind the scenes. > Source/WebCore/loader/ResourceTiming.cpp:122 > + serverTiming.append(entry.isolatedCopy()); You can probably make use of CrossThreadCopy instead. > Source/WebCore/loader/ResourceTiming.h:62 > + ResourceTiming(const URL& url, const String& initiator, const LoadTiming& loadTiming, const NetworkLoadMetrics& networkLoadMetrics, bool allowTimingDetails, Vector<ServerTiming> serverTiming) Should be && > Source/WebCore/loader/ResourceTiming.h:68 > + , m_serverTiming(serverTiming) WTFMove(serverTiming) > Source/WebCore/loader/ServerTiming.cpp:51 > + return ServerTiming(this->name.isolatedCopy(), this->duration, this->description.isolatedCopy()); Is "this->" needed? You should also probably copy the other fields, something like: ServerTiming { name.isolatedCopy(), duration, description.isolatedCopy(), durationSet, descriptionSet }; > Source/WebCore/loader/ServerTiming.h:48 > + : name(name) Use WTFMove here and below. > Source/WebCore/loader/ServerTimingParser.cpp:56 > + if (tokenizer.consume('=')) { So we can have just a parameter name without value and this is valid, right? > Source/WebCore/loader/ServerTimingParser.cpp:57 > + tokenizer.consumeTokenOrQuotedString(value); We should probably check whether parsing was fine? > Source/WebCore/loader/ServerTimingParser.h:34 > +class ServerTimingParser { Do we need that class? parseServerTiming as a free function seems fine. > Source/WebCore/loader/WorkerThreadableLoader.h:33 > +#include "NetworkLoadMetrics.h" Why is it needed? > Source/WebCore/page/PerformanceResourceTiming.h:37 > +#include "PerformanceServerTiming.h" If possible, we usually forward reference declarations instead of including header files here. This can probably be done close to line 42. > Source/WebCore/page/PerformanceServerTiming.h:37 > + virtual ~PerformanceServerTiming(); It probably does not need to be virtual. You might then need in PerformanceServerTiming.idl to add ImplementationLacksVTable keyword.
cvazac
Comment 34 2018-04-06 12:33:42 PDT
youenn fablet
Comment 35 2018-04-06 12:44:16 PDT
Comment on attachment 337383 [details] Patch I was going to say r+, patch is not applying though. Some comments below. View in context: https://bugs.webkit.org/attachment.cgi?id=337383&action=review > Source/WebCore/loader/ServerTimingParser.cpp:41 > + if (!headerValue.isNull()) { We should early return here. > Source/WebCore/loader/ServerTimingParser.cpp:59 > + value = tokenizer.consumeTokenOrQuotedString(); If value is null here, is it fine skipping it/adding the entry or should we raise some kind of error? > Source/WebCore/loader/ServerTimingParser.h:36 > +Vector<ServerTiming> parseServerTiming(const String&); It would probably be good to add some unit tests for this method. See Tools/TestWebKitAPI/Tests/ for examples. > Source/WebCore/page/mac/WheelEventDeltaFilterMac.h:31 > +#include <wtf/MonotonicTime.h> Probably not needed/unrelated?
cvazac
Comment 36 2018-04-06 12:58:26 PDT
cvazac
Comment 37 2018-04-09 08:43:22 PDT
cvazac
Comment 38 2018-04-09 09:30:20 PDT
cvazac
Comment 39 2018-04-09 09:50:55 PDT
EWS Watchlist
Comment 40 2018-04-09 11:20:00 PDT
Comment on attachment 337505 [details] Patch Attachment 337505 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/7254958 New failing tests: imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html imported/w3c/web-platform-tests/server-timing/cross_origin.html
EWS Watchlist
Comment 41 2018-04-09 11:20:02 PDT
Created attachment 337512 [details] Archive of layout-test-results from ews106 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 42 2018-04-09 11:27:42 PDT
Comment on attachment 337505 [details] Patch Attachment 337505 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/7254923 New failing tests: imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html imported/w3c/web-platform-tests/server-timing/cross_origin.html
EWS Watchlist
Comment 43 2018-04-09 11:27:43 PDT
Created attachment 337513 [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.13.4
cvazac
Comment 44 2018-04-09 14:52:02 PDT
cvazac
Comment 45 2018-04-10 06:48:42 PDT
EWS Watchlist
Comment 46 2018-04-10 08:32:51 PDT
Comment on attachment 337602 [details] Patch Attachment 337602 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/7268089 New failing tests: imported/w3c/web-platform-tests/workers/name-property.html
EWS Watchlist
Comment 47 2018-04-10 08:32:53 PDT
Created attachment 337606 [details] Archive of layout-test-results from ews113 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-sierra Platform: Mac OS X 10.12.6
cvazac
Comment 48 2018-04-10 08:41:55 PDT
cvazac
Comment 49 2018-04-10 10:59:43 PDT
cvazac
Comment 50 2018-04-10 11:47:16 PDT
youenn fablet
Comment 51 2018-04-10 13:58:39 PDT
Comment on attachment 337624 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=337624&action=review > Source/WebCore/loader/ResourceTiming.h:30 > +#include "PerformanceServerTiming.h" Can you try forward-declare PerformanceServerTiming? > Source/WebCore/loader/ResourceTiming.h:62 > + ResourceTiming(const URL& url, const String& initiator, const LoadTiming& loadTiming, const NetworkLoadMetrics& networkLoadMetrics, bool allowTimingDetails, Vector<ServerTiming>&& serverTiming) If you can forward declare PerformanceServerTiming, could you also check whether we can easily change this constructor to take r-values for each meaningful field (provided it is used only/mainly for ResourceTiming::isolatedCopy).
cvazac
Comment 52 2018-04-10 20:04:49 PDT
youenn fablet
Comment 53 2018-04-10 20:43:38 PDT
Comment on attachment 337670 [details] Patch r=me. As a side note, LoadTiming has an isolatedCopy method but it seems it does not have anything to isolate. The isolatedCopy seems equivalent to a copy constructor.
Ryosuke Niwa
Comment 54 2018-04-10 22:44:09 PDT
Comment on attachment 337670 [details] Patch r-. This feature needs to be guarded behind a runtime flag.
cvazac
Comment 55 2018-04-18 10:59:19 PDT
youenn fablet
Comment 56 2018-04-18 11:10:58 PDT
This starts to become a big patch. I would recommend introducing the runtime flag in a separate patch.
cvazac
Comment 57 2018-04-18 11:48:54 PDT
(In reply to youenn fablet from comment #56) > This starts to become a big patch. > I would recommend introducing the runtime flag in a separate patch. Ok, can/should I just delete the latest patch? Or shall I submit a new one with the changes revered?
EWS Watchlist
Comment 58 2018-04-18 12:28:05 PDT
Comment on attachment 338227 [details] Patch Attachment 338227 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/7360357 New failing tests: imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html imported/w3c/web-platform-tests/server-timing/cross_origin.html
EWS Watchlist
Comment 59 2018-04-18 12:28:07 PDT
Created attachment 338241 [details] Archive of layout-test-results from ews102 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-sierra Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 60 2018-04-18 12:29:20 PDT
Comment on attachment 338227 [details] Patch Attachment 338227 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/7360324 New failing tests: imported/w3c/web-platform-tests/server-timing/cross_origin.html imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html
EWS Watchlist
Comment 61 2018-04-18 12:29:21 PDT
Created attachment 338242 [details] Archive of layout-test-results from ews104 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews104 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 62 2018-04-18 12:49:50 PDT
Comment on attachment 338227 [details] Patch Attachment 338227 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/7360435 New failing tests: imported/w3c/web-platform-tests/server-timing/cross_origin.html imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html
EWS Watchlist
Comment 63 2018-04-18 12:49:52 PDT
Created attachment 338246 [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.13.4
EWS Watchlist
Comment 64 2018-04-18 12:58:30 PDT
Comment on attachment 338227 [details] Patch Attachment 338227 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/7360520 New failing tests: imported/w3c/web-platform-tests/server-timing/cross_origin.html imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.html
EWS Watchlist
Comment 65 2018-04-18 12:58:32 PDT
Created attachment 338248 [details] Archive of layout-test-results from ews116 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews116 Port: mac-sierra Platform: Mac OS X 10.12.6
youenn fablet
Comment 66 2018-04-18 13:00:29 PDT
(In reply to cvazac from comment #57) > (In reply to youenn fablet from comment #56) > > This starts to become a big patch. > > I would recommend introducing the runtime flag in a separate patch. > > Ok, can/should I just delete the latest patch? Or shall I submit a new one > with the changes revered? I would make the runtime flag patch blocking this particular bug. When the runtime flag patch lands, it should be a small refresh to your previous patch here.
cvazac
Comment 67 2018-04-23 09:20:12 PDT
cvazac
Comment 68 2018-05-11 12:52:09 PDT
EWS Watchlist
Comment 69 2018-05-11 15:05:09 PDT
Comment on attachment 340213 [details] Patch Attachment 340213 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/7654639 New failing tests: imported/w3c/web-platform-tests/server-timing/server_timing_header-parsing.https.html imported/w3c/web-platform-tests/server-timing/resource_timing_idl.https.html imported/w3c/web-platform-tests/server-timing/navigation_timing_idl.html imported/w3c/web-platform-tests/server-timing/test_server_timing.https.html imported/w3c/web-platform-tests/server-timing/navigation_timing_idl.https.html
EWS Watchlist
Comment 70 2018-05-11 15:05:10 PDT
Created attachment 340226 [details] Archive of layout-test-results from ews115 for mac-sierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-sierra Platform: Mac OS X 10.12.6
cvazac
Comment 71 2018-05-14 07:15:44 PDT
youenn fablet
Comment 72 2018-05-14 09:00:50 PDT
Comment on attachment 340311 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=340311&action=review > Source/WebCore/loader/ResourceTiming.cpp:79 > , m_allowTimingDetails(passesTimingAllowCheck(response, securityOrigin)) Do we have some tests that combine ServerTiming and Timing-Allow-Origin?
cvazac
Comment 73 2018-05-14 10:58:17 PDT
(In reply to youenn fablet from comment #72) > Comment on attachment 340311 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=340311&action=review > > > Source/WebCore/loader/ResourceTiming.cpp:79 > > , m_allowTimingDetails(passesTimingAllowCheck(response, securityOrigin)) > > Do we have some tests that combine ServerTiming and Timing-Allow-Origin? Adding one here: https://github.com/w3c/web-platform-tests/pull/10991
cvazac
Comment 74 2018-05-14 12:19:39 PDT
EWS Watchlist
Comment 75 2018-05-14 13:45:24 PDT
Comment on attachment 340339 [details] Patch Attachment 340339 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/7680672 New failing tests: imported/w3c/web-platform-tests/server-timing/service_worker_idl.html
EWS Watchlist
Comment 76 2018-05-14 13:45:26 PDT
Created attachment 340351 [details] Archive of layout-test-results from ews107 for mac-sierra-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-sierra-wk2 Platform: Mac OS X 10.12.6
EWS Watchlist
Comment 77 2018-05-14 14:14:25 PDT
Comment on attachment 340339 [details] Patch Attachment 340339 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/7680705 New failing tests: imported/w3c/web-platform-tests/server-timing/service_worker_idl.html
EWS Watchlist
Comment 78 2018-05-14 14:14:27 PDT
Created attachment 340356 [details] Archive of layout-test-results from ews124 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
cvazac
Comment 79 2018-05-15 08:00:11 PDT
WebKit Commit Bot
Comment 80 2018-05-15 12:24:36 PDT
Comment on attachment 340410 [details] Patch Clearing flags on attachment: 340410 Committed r231813: <https://trac.webkit.org/changeset/231813>
WebKit Commit Bot
Comment 81 2018-05-15 12:24:39 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 82 2018-05-15 12:26:34 PDT
Simon Fraser (smfr)
Comment 83 2018-11-29 13:43:47 PST
This added ServerTimingParser.h/cpp at the top level of the WebCore Xcode project. Please fix.
Joseph Pecoraro
Comment 84 2018-11-29 13:57:29 PST
(In reply to Simon Fraser (smfr) from comment #83) > This added ServerTimingParser.h/cpp at the top level of the WebCore Xcode > project. Please fix. I'll take care of this.
Note You need to log in before you can comment on or make changes to this bug.