WebKit Bugzilla
Attachment 340096 Details for
Bug 184758
: Runtime feature flag for Server-Timing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-184758-20180510115806.patch (text/plain), 39.64 KB, created by
cvazac
on 2018-05-10 09:58:07 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
cvazac
Created:
2018-05-10 09:58:07 PDT
Size:
39.64 KB
patch
obsolete
>Subversion Revision: 231642 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index b23ee699daeaa92549f6d2f62b6bc4efa737c30a..974bb12ef50f9a05da7224b56fced1a5a925a7cc 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,21 @@ >+2018-05-10 Charles Vazac <cvazac@gmail.com> >+ >+ Runtime feature flag for Server-Timing >+ https://bugs.webkit.org/show_bug.cgi?id=184758 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Source/WebCore/CMakeLists.txt: Added reference to PerformanceServerTiming.idl. >+ * Source/WebCore/DerivedSources.make: Added reference to PerformanceServerTiming.idl. >+ * Source/WebCore/Sources.txt: Added reference to PerformanceServerTiming.cpp and JSPerformanceServerTiming.cpp. >+ * Source/WebCore/WebCore.xcodeproj/project.pbxproj: Added references to PerformanceServerTiming.cpp, PerformanceServerTiming.h, and PerformanceServerTiming.idl. >+ * Source/WebCore/bindings/js/WebCoreBuiltinNames.h: Added PerformanceServerTiming. >+ * Source/WebCore/page/PerformanceResourceTiming.h: Added serverTiming member. >+ * Source/WebCore/page/PerformanceResourceTiming.idl: Added serverTiming attribute. >+ * Source/WebCore/page/PerformanceServerTiming.cpp: Added. >+ * Source/WebCore/page/PerformanceServerTiming.h: Added. >+ * Source/WebCore/page/PerformanceServerTiming.idl: Added. >+ > 2018-05-10 Zalan Bujtas <zalan@apple.com> > > [LFC] Implement height computation for non-replaced inflow elements. >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 90ca7af004f6cde3f5acc81490d1e2893f71aac9..2bbfe0034dc38b2ef7461e4537d276751123b43b 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2018-05-10 Charles Vazac <cvazac@gmail.com> >+ >+ Runtime feature flag for Server-Timing >+ https://bugs.webkit.org/show_bug.cgi?id=184758 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Shared/WebPreferences.yaml: Added ServerTimingEnabled. >+ * UIProcess/API/C/WKPreferences.cpp: >+ (WKPreferencesGetServerTimingEnabled): >+ * UIProcess/API/C/WKPreferencesRefPrivate.h: WK_EXPORT for WKPreferencesSetServerTimingEnabled. >+ * WebProcess/Storage/WebSWContextManagerConnection.cpp: Call setServerTimingEnabled. >+ > 2018-05-09 Carlos Garcia Campos <cgarcia@igalia.com> > > WebDriver: implement advance user interactions >diff --git a/Source/WebKitLegacy/ChangeLog b/Source/WebKitLegacy/ChangeLog >index 2279487c7b7c9df5ba0f1e10dd39ea992fa9f1f4..b82be92c8f456f85e57600f580bf8fa4dbe92e2d 100644 >--- a/Source/WebKitLegacy/ChangeLog >+++ b/Source/WebKitLegacy/ChangeLog >@@ -1,3 +1,26 @@ >+2018-05-10 Charles Vazac <cvazac@gmail.com> >+ >+ Runtime feature flag for Server-Timing >+ https://bugs.webkit.org/show_bug.cgi?id=184758 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * mac/WebView/WebPreferenceKeysPrivate.h: Added server-timing preference. >+ * mac/WebView/WebPreferences.mm: >+ (WebKit::WebPreferences::serverTimingEnabled): >+ (WebKit::WebPreferences::setServerTimingEnabled): >+ * mac/WebView/WebPreferencesPrivate.h: >+ (WebKit::WebPreferences::setServerTimingEnabled): >+ (WebKit::WebPreferences::serverTimingEnabled): >+ * mac/WebView/WebView.mm: Set runtime enabled feature based on preference. >+ * win/Interfaces/IWebPreferencesPrivate.idl: define serverTimingEnabled and setServerTimingEnabled. >+ * win/WebPreferenceKeysPrivate.h: Added server-timing preference. >+ * win/WebPreferences.cpp: Initialize server-timing as false and define setter and getter. >+ (WebKit::WebPreferences::serverTimingEnabled): >+ (WebKit::WebPreferences::setServerTimingEnabled): >+ * win/WebPreferences.h: Define serverTimingEnabled and setServerTimingEnabled. >+ * win/WebView.cpp: Set runtime enabled feature based on preference. >+ > 2018-05-02 Keith Rollin <krollin@apple.com> > > Add facility for tracking times and results of page and resource loading >diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt >index 264414e49a7c15e7cc733ecf7ec954f5123d454f..5deaeec97188c68584b1ed0f2cf1dcadb81ef8fa 100644 >--- a/Source/WebCore/CMakeLists.txt >+++ b/Source/WebCore/CMakeLists.txt >@@ -819,6 +819,7 @@ set(WebCore_NON_SVG_IDL_FILES > page/PerformanceObserverEntryList.idl > page/PerformanceNavigation.idl > page/PerformanceResourceTiming.idl >+ page/PerformanceServerTiming.idl > page/PerformanceTiming.idl > page/RemoteDOMWindow.idl > page/Screen.idl >diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make >index b660e322817f18bfe17bce67bdff01e5cc05d9ce..262e0c7cbb1d4682423ca187b9ef2abbf309084b 100644 >--- a/Source/WebCore/DerivedSources.make >+++ b/Source/WebCore/DerivedSources.make >@@ -783,6 +783,7 @@ JS_BINDING_IDLS = \ > $(WebCore)/page/PerformanceObserverCallback.idl \ > $(WebCore)/page/PerformanceObserverEntryList.idl \ > $(WebCore)/page/PerformanceResourceTiming.idl \ >+ $(WebCore)/page/PerformanceServerTiming.idl \ > $(WebCore)/page/PerformanceTiming.idl \ > $(WebCore)/page/RemoteDOMWindow.idl \ > $(WebCore)/page/Screen.idl \ >diff --git a/Source/WebCore/Sources.txt b/Source/WebCore/Sources.txt >index 5d544ee3384ae86cbc69dea70e71e801ff26482b..c7045af86c02d93897b8eb88121d9090fd8ca033 100644 >--- a/Source/WebCore/Sources.txt >+++ b/Source/WebCore/Sources.txt >@@ -1392,6 +1392,7 @@ page/PerformanceNavigation.cpp > page/PerformanceObserver.cpp > page/PerformanceObserverEntryList.cpp > page/PerformanceResourceTiming.cpp >+page/PerformanceServerTiming.cpp > page/PerformanceTiming.cpp > page/PerformanceUserTiming.cpp > page/PointerLockController.cpp >@@ -2809,6 +2810,7 @@ JSPerformanceObserver.cpp > JSPerformanceObserverCallback.cpp > JSPerformanceObserverEntryList.cpp > JSPerformanceResourceTiming.cpp >+JSPerformanceServerTiming.cpp > JSPerformanceTiming.cpp > JSPeriodicWave.cpp > JSPlaybackDirection.cpp >diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >index c33895e9b94b15cd9da17c075a0bf65b977df722..e5bb1b8c63209663bf55d1aecbf4de3ed852948e 100644 >--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj >+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj >@@ -6383,6 +6383,9 @@ > 26F756B41B3B68F20005DD79 /* ImmutableNFANodeBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImmutableNFANodeBuilder.h; sourceTree = "<group>"; }; > 26F9A83618A046AC00AEB88A /* ViewportConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ViewportConfiguration.cpp; sourceTree = "<group>"; }; > 26F9A83718A046AC00AEB88A /* ViewportConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewportConfiguration.h; sourceTree = "<group>"; }; >+ 28DB9BC52020EA0400E54A07 /* PerformanceServerTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceServerTiming.cpp; sourceTree = "<group>"; }; >+ 28DB9BC62020EA0400E54A07 /* PerformanceServerTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerformanceServerTiming.h; sourceTree = "<group>"; }; >+ 28DB9BC72020EA0400E54A07 /* PerformanceServerTiming.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceServerTiming.idl; sourceTree = "<group>"; }; > 2914E3051CAB5A440049966F /* AccessibilityAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityAttachment.cpp; sourceTree = "<group>"; }; > 2914E3061CAB5A440049966F /* AccessibilityAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityAttachment.h; sourceTree = "<group>"; }; > 2917B55E1473496C0052C9D0 /* LayerFlushScheduler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LayerFlushScheduler.cpp; sourceTree = "<group>"; }; >@@ -19315,6 +19318,9 @@ > 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */, > 86512EDC154A2AEF00A90426 /* PerformanceResourceTiming.h */, > 86512EDD154A2AEF00A90426 /* PerformanceResourceTiming.idl */, >+ 28DB9BC52020EA0400E54A07 /* PerformanceServerTiming.cpp */, >+ 28DB9BC62020EA0400E54A07 /* PerformanceServerTiming.h */, >+ 28DB9BC72020EA0400E54A07 /* PerformanceServerTiming.idl */, > 0F43C85C189E10CF00019AE2 /* PerformanceTiming.cpp */, > 8AF4E55911DC5A63000ED3DE /* PerformanceTiming.h */, > 8AF4E55A11DC5A63000ED3DE /* PerformanceTiming.idl */, >diff --git a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >index 150192ff78fbeda234ce0ca877eaa238508ce733..e9bf55c922ef51b094c483db39ebe994153707b2 100644 >--- a/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >+++ b/Source/WebCore/bindings/js/WebCoreBuiltinNames.h >@@ -118,6 +118,7 @@ namespace WebCore { > macro(PerformanceObserver) \ > macro(PerformanceObserverEntryList) \ > macro(PerformanceResourceTiming) \ >+ macro(PerformanceServerTiming) \ > macro(PublicKeyCredential) \ > macro(RTCDTMFSender) \ > macro(RTCDTMFToneChangeEvent) \ >diff --git a/Source/WebCore/page/PerformanceResourceTiming.h b/Source/WebCore/page/PerformanceResourceTiming.h >index f994d9e2ffdd1d84b72fe693d20cc56a18c4834d..bbb3f349b6d7bb7da27772d59428324ce393d9b8 100644 >--- a/Source/WebCore/page/PerformanceResourceTiming.h >+++ b/Source/WebCore/page/PerformanceResourceTiming.h >@@ -39,6 +39,7 @@ > > namespace WebCore { > >+class PerformanceServerTiming; > class ResourceTiming; > > class PerformanceResourceTiming final : public PerformanceEntry { >@@ -60,6 +61,7 @@ public: > double requestStart() const; > double responseStart() const; > double responseEnd() const; >+ const Vector<Ref<PerformanceServerTiming>>& serverTiming() const { return m_serverTiming; } > > private: > PerformanceResourceTiming(MonotonicTime timeOrigin, ResourceTiming&&); >@@ -72,6 +74,7 @@ private: > LoadTiming m_loadTiming; > NetworkLoadMetrics m_networkLoadMetrics; > bool m_shouldReportDetails; >+ Vector<Ref<PerformanceServerTiming>> m_serverTiming; > }; > > } // namespace WebCore >diff --git a/Source/WebCore/page/PerformanceResourceTiming.idl b/Source/WebCore/page/PerformanceResourceTiming.idl >index 8a62d5c7dd04344648c1c8cec36f1dc0510f5ddb..bbd800a42841a01891dd753f59ad32d1a4994c19 100644 >--- a/Source/WebCore/page/PerformanceResourceTiming.idl >+++ b/Source/WebCore/page/PerformanceResourceTiming.idl >@@ -51,6 +51,7 @@ typedef double DOMHighResTimeStamp; > readonly attribute DOMHighResTimeStamp requestStart; > readonly attribute DOMHighResTimeStamp responseStart; > readonly attribute DOMHighResTimeStamp responseEnd; >+ [EnabledAtRuntime=ServerTiming] readonly attribute FrozenArray<PerformanceServerTiming> serverTiming; > > serializer = { inherit, attribute }; > }; >diff --git a/Source/WebCore/page/PerformanceServerTiming.cpp b/Source/WebCore/page/PerformanceServerTiming.cpp >new file mode 100644 >index 0000000000000000000000000000000000000000..484087699eb20555e7551dbc52ab44537b4670e4 >--- /dev/null >+++ b/Source/WebCore/page/PerformanceServerTiming.cpp >@@ -0,0 +1,46 @@ >+/* >+ * Copyright 2017 The Chromium Authors. All rights reserved. >+ * Copyright (C) 2018 Akamai Technologies Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT >+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR >+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT >+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT >+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, >+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY >+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#include "config.h" >+#include "PerformanceServerTiming.h" >+ >+namespace WebCore { >+ >+Ref<PerformanceServerTiming> PerformanceServerTiming::create(String&& name, double duration, String&& description) >+{ >+ return adoptRef(*new PerformanceServerTiming(WTFMove(name), duration, WTFMove(description))); >+} >+ >+PerformanceServerTiming::PerformanceServerTiming(String&& name, double duration, String&& description) >+ : m_name(WTFMove(name)) >+ , m_duration(duration) >+ , m_description(WTFMove(description)) >+{ >+} >+ >+PerformanceServerTiming::~PerformanceServerTiming() = default; >+ >+} // namespace WebCore >diff --git a/Source/WebCore/page/PerformanceServerTiming.h b/Source/WebCore/page/PerformanceServerTiming.h >new file mode 100644 >index 0000000000000000000000000000000000000000..fba992220cb3dc74e6d33c3c18a84748f2960815 >--- /dev/null >+++ b/Source/WebCore/page/PerformanceServerTiming.h >@@ -0,0 +1,50 @@ >+/* >+ * Copyright 2017 The Chromium Authors. All rights reserved. >+ * Copyright (C) 2018 Akamai Technologies Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT >+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR >+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT >+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT >+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, >+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY >+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+#pragma once >+ >+#include <wtf/RefCounted.h> >+#include <wtf/text/WTFString.h> >+ >+namespace WebCore { >+ >+class PerformanceServerTiming : public RefCounted<PerformanceServerTiming> { >+public: >+ static Ref<PerformanceServerTiming> create(String&& name, double duration, String&& description); >+ ~PerformanceServerTiming(); >+ >+ const String& name() const { return m_name; } >+ double duration() const { return m_duration; } >+ const String& description() const { return m_description; } >+ >+private: >+ PerformanceServerTiming(String&& name, double duration, String&& description); >+ String m_name; >+ double m_duration; >+ String m_description; >+}; >+ >+} // namespace WebCore >diff --git a/Source/WebCore/page/PerformanceServerTiming.idl b/Source/WebCore/page/PerformanceServerTiming.idl >new file mode 100644 >index 0000000000000000000000000000000000000000..e4cefec07075c0821e548825c175d59fe7d75178 >--- /dev/null >+++ b/Source/WebCore/page/PerformanceServerTiming.idl >@@ -0,0 +1,40 @@ >+/* >+ * Copyright 2017 The Chromium Authors. All rights reserved. >+ * Copyright (C) 2018 Akamai Technologies Inc. All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions >+ * are met: >+ * 1. Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * 2. Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * >+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT >+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR >+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT >+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, >+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT >+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, >+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY >+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE >+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+// https://w3c.github.io/server-timing/#dom-performanceservertiming >+ >+typedef double DOMHighResTimeStamp; >+ >+[ >+ Exposed=(Window,Worker), >+ ImplementationLacksVTable, >+ EnabledAtRuntime=ServerTiming >+] interface PerformanceServerTiming { >+ readonly attribute DOMString name; >+ readonly attribute DOMHighResTimeStamp duration; >+ readonly attribute DOMString description; >+ serializer = {attribute}; >+}; >diff --git a/Source/WebCore/page/RuntimeEnabledFeatures.h b/Source/WebCore/page/RuntimeEnabledFeatures.h >index f692e57fd027a245b847bce70569aea020a87691..d7611254d68e3830b9cba45dc35c73361389e631 100644 >--- a/Source/WebCore/page/RuntimeEnabledFeatures.h >+++ b/Source/WebCore/page/RuntimeEnabledFeatures.h >@@ -259,6 +259,9 @@ public: > void setStorageAccessPromptsEnabled(bool isEnabled) { m_promptForStorageAccessAPIEnabled = isEnabled; } > bool storageAccessPromptsEnabled() const { return m_promptForStorageAccessAPIEnabled; } > >+ void setServerTimingEnabled(bool isEnabled) { m_isServerTimingEnabled = isEnabled; } >+ bool serverTimingEnabled() const { return m_isServerTimingEnabled; } >+ > WEBCORE_EXPORT static RuntimeEnabledFeatures& sharedFeatures(); > > private: >@@ -394,11 +397,13 @@ private: > bool m_isRestrictedHTTPResponseAccess { true }; > > bool m_fromOriginResponseHeaderEnabled { false }; >- >+ > bool m_isWebGLCompressedTextureASTCSupportEnabled { false }; > > bool m_promptForStorageAccessAPIEnabled { false }; > >+ bool m_isServerTimingEnabled { false }; >+ > friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>; > }; > >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index cc6b49895ea83f5140297bcb1ff2daa6f4dd1cc5..b54dc1357d04bce3ee08d81c3d444f79cda707f7 100644 >--- a/Source/WebKit/Shared/WebPreferences.yaml >+++ b/Source/WebKit/Shared/WebPreferences.yaml >@@ -1274,3 +1274,12 @@ StorageAccessPromptsEnabled: > humanReadableDescription: "Prompt the user when Storage Access API calls are made" > category: experimental > webcoreBinding: RuntimeEnabledFeatures >+ >+ServerTimingEnabled: >+ type: bool >+ defaultValue: false >+ humanReadableName: "Server Timing" >+ humanReadableDescription: "Enable Server Timing API" >+ category: experimental >+ webcoreBinding: RuntimeEnabledFeatures >+ webcoreName: serverTimingEnabled >diff --git a/Source/WebKit/UIProcess/API/C/WKPreferences.cpp b/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >index 80a1e5caaeed884d22b6b1bca4c1dca55e8b925f..20d5f1263420c04ff930099da0d44cc5becf47d0 100644 >--- a/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >+++ b/Source/WebKit/UIProcess/API/C/WKPreferences.cpp >@@ -1993,3 +1993,13 @@ bool WKPreferencesGetRestrictedHTTPResponseAccess(WKPreferencesRef preferencesRe > { > return toImpl(preferencesRef)->restrictedHTTPResponseAccess(); > } >+ >+void WKPreferencesSetServerTimingEnabled(WKPreferencesRef preferencesRef, bool flag) >+{ >+ toImpl(preferencesRef)->setServerTimingEnabled(flag); >+} >+ >+bool WKPreferencesGetServerTimingEnabled(WKPreferencesRef preferencesRef) >+{ >+ return toImpl(preferencesRef)->serverTimingEnabled(); >+} >diff --git a/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h b/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h >index 809b31891b2c501a013e6ae8937c1c787843e9c4..142ba2220db9f1cdf5ca2163af22743491ddb06f 100644 >--- a/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h >+++ b/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h >@@ -561,6 +561,10 @@ WK_EXPORT bool WKPreferencesGetShouldAllowUserInstalledFonts(WKPreferencesRef); > WK_EXPORT void WKPreferencesSetAllowCrossOriginSubresourcesToAskForCredentials(WKPreferencesRef, bool flag); > WK_EXPORT bool WKPreferencesGetAllowCrossOriginSubresourcesToAskForCredentials(WKPreferencesRef); > >+// Defaults to false. >+WK_EXPORT void WKPreferencesSetServerTimingEnabled(WKPreferencesRef, bool flag); >+WK_EXPORT bool WKPreferencesGetServerTimingEnabled(WKPreferencesRef); >+ > #ifdef __cplusplus > } > #endif >diff --git a/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp b/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp >index 1c42d0ba6020aefa6d8a9fdbf3298823a8989d45..259824cb825a73688efe6760d8000c8ae9b29a7a 100644 >--- a/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp >+++ b/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp >@@ -129,6 +129,7 @@ void WebSWContextManagerConnection::updatePreferencesStore(const WebPreferencesS > RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::resourceTimingEnabledKey())); > RuntimeEnabledFeatures::sharedFeatures().setFetchAPIKeepAliveEnabled(store.getBoolValueForKey(WebPreferencesKey::fetchAPIKeepAliveEnabledKey())); > RuntimeEnabledFeatures::sharedFeatures().setRestrictedHTTPResponseAccess(store.getBoolValueForKey(WebPreferencesKey::restrictedHTTPResponseAccessKey())); >+ RuntimeEnabledFeatures::sharedFeatures().setServerTimingEnabled(store.getBoolValueForKey(WebPreferencesKey::serverTimingEnabledKey())); > > m_storageBlockingPolicy = static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())); > } >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h b/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >index 71185d2b21db676fff3fae573e56dad0a34f8456..ed7466dbd11feebba85212a33004a9d36abc2cf3 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h >@@ -258,3 +258,4 @@ > #define WebKitInspectorAdditionsEnabledPreferenceKey @"WebKitInspectorAdditionsEnabled" > #define WebKitAccessibilityObjectModelEnabledPreferenceKey @"WebKitAccessibilityObjectModelEnabled" > #define WebKitMediaCapabilitiesEnabledPreferenceKey @"WebKitMediaCapabilitiesEnabled" >+#define WebKitServerTimingEnabledPreferenceKey @"WebKitServerTimingEnabled" >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferences.mm b/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >index a16022a4a29f1b28eceb94043b9e0a3f71a36244..5ec00af91edc3859b760b39dab9193ce9caadf55 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferences.mm >@@ -684,6 +684,7 @@ public: > @NO, WebKitAccessibilityObjectModelEnabledPreferenceKey, > @NO, WebKitMediaCapabilitiesEnabledPreferenceKey, > @NO, WebKitFetchAPIKeepAliveEnabledPreferenceKey, >+ @NO, WebKitServerTimingEnabledPreferenceKey, > nil]; > > #if !PLATFORM(IOS) >@@ -3322,6 +3323,16 @@ static NSString *classIBCreatorID = nil; > [self _setBoolValue:flag forKey:WebKitMediaCapabilitiesEnabledPreferenceKey]; > } > >+- (BOOL)serverTimingEnabled >+{ >+ return [self _boolValueForKey:WebKitServerTimingEnabledPreferenceKey]; >+} >+ >+- (void)setServerTimingEnabled:(BOOL)flag >+{ >+ [self _setBoolValue:flag forKey:WebKitServerTimingEnabledPreferenceKey]; >+} >+ > @end > > @implementation WebPreferences (WebInternal) >diff --git a/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h b/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >index c90ce4636ceb4fe833292fafd8bb9262d3987dab..0918aaacf8801360500fd167406d9009c401bc7c 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >+++ b/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h >@@ -579,6 +579,9 @@ extern NSString *WebPreferencesCacheModelChangedInternalNotification WEBKIT_DEPR > - (void)setIsSecureContextAttributeEnabled:(BOOL)flag; > - (BOOL)isSecureContextAttributeEnabled; > >+- (void)setServerTimingEnabled:(BOOL)flag; >+- (BOOL)serverTimingEnabled; >+ > @property (nonatomic) BOOL visualViewportEnabled; > @property (nonatomic) BOOL visualViewportAPIEnabled; > @property (nonatomic) BOOL largeImageAsyncDecodingEnabled; >diff --git a/Source/WebKitLegacy/mac/WebView/WebView.mm b/Source/WebKitLegacy/mac/WebView/WebView.mm >index 335641de237ccfe0ed0eb6c57cd59755ea6ea48e..5ef304266065ed54eb061a0cf52b28ba80ac970d 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebView.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebView.mm >@@ -3162,6 +3162,8 @@ static bool needsSelfRetainWhileLoadingQuirk() > > settings.setLargeImageAsyncDecodingEnabled([preferences largeImageAsyncDecodingEnabled]); > settings.setAnimatedImageAsyncDecodingEnabled([preferences animatedImageAsyncDecodingEnabled]); >+ >+ RuntimeEnabledFeatures::sharedFeatures().setServerTimingEnabled([preferences serverTimingEnabled]); > } > > static inline IMP getMethod(id o, SEL s) >diff --git a/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl b/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl >index f33b4715792b159b70d4e98c75b73a51746c752f..734f8bea5248dd22d46ff6b492b5f3f57c69c771 100644 >--- a/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl >+++ b/Source/WebKitLegacy/win/Interfaces/IWebPreferencesPrivate.idl >@@ -227,6 +227,8 @@ interface IWebPreferencesPrivate6 : IWebPreferencesPrivate5 > HRESULT setSpatialNavigationEnabled([in] BOOL enabled); > HRESULT menuItemElementEnabled([out, retval] BOOL* enabled); > HRESULT setMenuItemElementEnabled([in] BOOL enabled); >+ HRESULT serverTimingEnabled([out, retval] BOOL* enabled); >+ HRESULT setServerTimingEnabled([in] BOOL enabled); > } > > [uuid(9A49D1DE-53DD-11E8-95E6-003EE1C28AB6)] >diff --git a/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h b/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h >index 872b647e5f9e2f46fe684c705c1c063994c22087..08e847397f2e2f71ac12f6e107d73fa0a8c743c8 100644 >--- a/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h >+++ b/Source/WebKitLegacy/win/WebPreferenceKeysPrivate.h >@@ -203,3 +203,5 @@ > #define WebKitInspectorAdditionsEnabledPreferenceKey "WebKitInspectorAdditionsEnabled" > > #define WebKitVisualViewportAPIEnabledPreferenceKey "WebKitVisualViewportAPIEnabled" >+ >+#define WebKitServerTimingEnabledPreferenceKey "WebKitServerTimingEnabled" >diff --git a/Source/WebKitLegacy/win/WebPreferences.cpp b/Source/WebKitLegacy/win/WebPreferences.cpp >index a2f05c721e6ca117c3d44930e32bd8645332124a..1f407032b85a9198d8129c18b7e007c0a8f8641d 100644 >--- a/Source/WebKitLegacy/win/WebPreferences.cpp >+++ b/Source/WebKitLegacy/win/WebPreferences.cpp >@@ -2231,3 +2231,17 @@ HRESULT WebPreferences::resourceTimingEnabled(_Out_ BOOL* enabled) > *enabled = boolValueForKey(WebKitResourceTimingEnabledPreferenceKey); > return S_OK; > } >+ >+HRESULT WebPreferences::serverTimingEnabled(_Out_ BOOL* enabled) >+{ >+ if (!enabled) >+ return E_POINTER; >+ *enabled = boolValueForKey(WebKitServerTimingEnabledPreferenceKey); >+ return S_OK; >+} >+ >+HRESULT WebPreferences::setServerTimingEnabled(BOOL enabled) >+{ >+ setBoolValue(WebKitServerTimingEnabledPreferenceKey, enabled); >+ return S_OK; >+} >diff --git a/Source/WebKitLegacy/win/WebPreferences.h b/Source/WebKitLegacy/win/WebPreferences.h >index 9d93ff2814674aceb947d0394dac5b78d1711f44..370a55c914026d765084f2319e448f9125cba407 100644 >--- a/Source/WebKitLegacy/win/WebPreferences.h >+++ b/Source/WebKitLegacy/win/WebPreferences.h >@@ -275,6 +275,8 @@ public: > virtual HRESULT STDMETHODCALLTYPE setSpatialNavigationEnabled(BOOL); > virtual HRESULT STDMETHODCALLTYPE menuItemElementEnabled(_Out_ BOOL*); > virtual HRESULT STDMETHODCALLTYPE setMenuItemElementEnabled(BOOL); >+ virtual HRESULT STDMETHODCALLTYPE serverTimingEnabled(_Out_ BOOL*); >+ virtual HRESULT STDMETHODCALLTYPE setServerTimingEnabled(BOOL); > > // IWebPreferencesPrivate7 > virtual HRESULT STDMETHODCALLTYPE crossOriginOptionsSupportEnabled(_Out_ BOOL*); >diff --git a/Source/WebKitLegacy/win/WebView.cpp b/Source/WebKitLegacy/win/WebView.cpp >index 64de9ee752c5a386b160e2550db5b2f28e1d675f..15c5c360570995bbd347fb11c01a4449cce9c049 100644 >--- a/Source/WebKitLegacy/win/WebView.cpp >+++ b/Source/WebKitLegacy/win/WebView.cpp >@@ -5578,6 +5578,11 @@ HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification) > return hr; > settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags(javaScriptRuntimeFlags)); > >+ hr = prefsPrivate->serverTimingEnabled(&enabled); >+ if (FAILED(hr)) >+ return hr; >+ RuntimeEnabledFeatures::sharedFeatures().setServerTimingEnabled(!!enabled); >+ > return S_OK; > } > >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index d29b9828afa9a404ce2be99269e5d201cc5f58ff..4d4cd06ef0044e4396bc58463b66af31cadefad0 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,13 @@ >+2018-05-10 Charles Vazac <cvazac@gmail.com> >+ >+ Runtime feature flag for Server-Timing >+ https://bugs.webkit.org/show_bug.cgi?id=184758 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: added ENABLE_SERVER_TIMING. >+ * DumpRenderTree/win/DumpRenderTree.cpp: enable Server Timing >+ > 2018-05-10 Carlos Garcia Campos <cgarcia@igalia.com> > > [GTK] Add support for settings cookies policy and storage type in MiniBrowser >diff --git a/Tools/DumpRenderTree/mac/DumpRenderTree.mm b/Tools/DumpRenderTree/mac/DumpRenderTree.mm >index 73d578654461f90d280aa61edac8b8a29f27102a..42353656924c25f1c397490432ca3387901ede1c 100644 >--- a/Tools/DumpRenderTree/mac/DumpRenderTree.mm >+++ b/Tools/DumpRenderTree/mac/DumpRenderTree.mm >@@ -863,6 +863,7 @@ static void enableExperimentalFeatures(WebPreferences* preferences) > [preferences setVisualViewportAPIEnabled:YES]; > [preferences setColorFilterEnabled:YES]; > [preferences setCrossOriginOptionsSupportEnabled:YES]; >+ [preferences setServerTimingEnabled:YES]; > } > > // Called before each test. >diff --git a/Tools/DumpRenderTree/win/DumpRenderTree.cpp b/Tools/DumpRenderTree/win/DumpRenderTree.cpp >index 2038d639c407bfcd32b8365cbc81090d2edeb753..9bf7264336db799599a2a49595d5e147953b76eb 100644 >--- a/Tools/DumpRenderTree/win/DumpRenderTree.cpp >+++ b/Tools/DumpRenderTree/win/DumpRenderTree.cpp >@@ -786,6 +786,7 @@ static void enableExperimentalFeatures(IWebPreferences* preferences) > // FIXME: SubtleCrypto > prefsPrivate->setVisualViewportAPIEnabled(TRUE); > prefsPrivate->setWebAnimationsEnabled(TRUE); >+ prefsPrivate->setServerTimingEnabled(TRUE); > // FIXME: WebGL2 > // FIXME: WebRTC > prefsPrivate->setCrossOriginOptionsSupportEnabled(TRUE); >diff --git a/Tools/WebKitTestRunner/TestController.cpp b/Tools/WebKitTestRunner/TestController.cpp >index 68c49c841302dfc9bb1809b79294b6b1fb81d597..3fcfe63f319531fb2055632d6710783080ccaed5 100644 >--- a/Tools/WebKitTestRunner/TestController.cpp >+++ b/Tools/WebKitTestRunner/TestController.cpp >@@ -771,6 +771,8 @@ void TestController::resetPreferencesToConsistentValues(const TestOptions& optio > > WKPreferencesSetRestrictedHTTPResponseAccess(preferences, true); > >+ WKPreferencesSetServerTimingEnabled(preferences, true); >+ > platformResetPreferencesToConsistentValues(); > } > >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 1da4521785c36dd2e60117a8de87c2be6f950d02..b8f65fbb7c3bf83117aea860b092d788dc164b96 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,17 @@ >+2018-05-10 Charles Vazac <cvazac@gmail.com> >+ >+ Runtime feature flag for Server-Timing >+ https://bugs.webkit.org/show_bug.cgi?id=184758 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * imported/w3c/resources/import-expectations.json: Import server-timing tests. >+ * imported/w3c/web-platform-tests/server-timing/resource_timing_idl.html: Added. >+ * imported/w3c/web-platform-tests/server-timing/resource_timing_idl-expected.txt: Added. >+ * platform/ios-wk1/TestExpectations: Skip service-worker test. >+ * platform/mac-wk1/TestExpectations: Skip service-worker test. >+ * platform/win/TestExpectations: Skip service-worker test. >+ > 2018-05-10 Yacine Bandou <yacine.bandou_ext@softathome.com> > > [wpe] update the TestExpectations for encrypted-media after some fixes >diff --git a/LayoutTests/imported/w3c/resources/import-expectations.json b/LayoutTests/imported/w3c/resources/import-expectations.json >index 054ff2f77f28a59608a852b35904267b6de0bad5..56fe4f68beadcd08e9f69fea60081e01b37deddc 100644 >--- a/LayoutTests/imported/w3c/resources/import-expectations.json >+++ b/LayoutTests/imported/w3c/resources/import-expectations.json >@@ -290,7 +290,7 @@ > "web-platform-tests/selection": "skip", > "web-platform-tests/selectors": "skip", > "web-platform-tests/selectors-api": "skip", >- "web-platform-tests/server-timing": "skip", >+ "web-platform-tests/server-timing": "import", > "web-platform-tests/service-workers/cache-storage": "import", > "web-platform-tests/service-workers/service-worker": "import", > "web-platform-tests/service-workers/tools": "import", >diff --git a/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..c2c15e0b8a0e54a623bcb4fdca1f4cef72eeb240 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl-expected.txt >@@ -0,0 +1,3 @@ >+ >+PASS Untitled >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl.html b/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl.html >new file mode 100644 >index 0000000000000000000000000000000000000000..d2c3c9274eab862e8962019a7cc7c39d27804b16 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/server-timing/resource_timing_idl.html >@@ -0,0 +1,14 @@ >+<!DOCTYPE html> >+<head> >+ <meta charset='utf-8' /> >+ <script src="/resources/testharness.js"></script> >+ <script src='/resources/testharnessreport.js'></script> >+ <script> >+ setup({explicit_done: true}) >+ window.addEventListener('load', function(){ >+ assert_not_equals(typeof performance.getEntriesByType('resource')[0].serverTiming, 'undefined', >+ 'An instance of `PerformanceResourceTiming` should have a `serverTiming` attribute.') >+ done() >+ }) >+ </script> >+</head> >diff --git a/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..c2c15e0b8a0e54a623bcb4fdca1f4cef72eeb240 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl-expected.txt >@@ -0,0 +1,3 @@ >+ >+PASS Untitled >+ >diff --git a/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl.html b/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl.html >new file mode 100644 >index 0000000000000000000000000000000000000000..1c1be8995b33102926254790f0abfdc972fcf46e >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/server-timing/service_worker_idl.html >@@ -0,0 +1,18 @@ >+<!DOCTYPE html> >+<head> >+ <meta charset='utf-8' /> >+ <script src="/resources/testharness.js"></script> >+ <script src='/resources/testharnessreport.js'></script> >+ <script> >+ (async () => { >+ const scope = 'does/not/exist' >+ >+ let registration = await navigator.serviceWorker.getRegistration(scope) >+ if (registration) >+ await registration.unregister() >+ registration = await navigator.serviceWorker.register('./sw.js', {scope}) >+ >+ fetch_tests_from_worker(registration.installing) >+ })() >+ </script> >+</head> >diff --git a/LayoutTests/imported/w3c/web-platform-tests/server-timing/sw.js b/LayoutTests/imported/w3c/web-platform-tests/server-timing/sw.js >new file mode 100644 >index 0000000000000000000000000000000000000000..f593c9fab0dee344a4fc8619be36870555c57a91 >--- /dev/null >+++ b/LayoutTests/imported/w3c/web-platform-tests/server-timing/sw.js >@@ -0,0 +1,12 @@ >+importScripts('/resources/testharness.js') >+ >+promise_test(async (test) => { >+ return fetch('./sw.js').then(function(response) { >+ setTimeout(() => { >+ assert_not_equals(typeof performance.getEntriesByName(response.url)[0].serverTiming, >+ 'undefined', >+ 'An instance of `PerformanceResourceTiming` should have a `serverTiming` attribute in the Service Worker context.') >+ done() >+ }, 100) >+ }) >+}) >diff --git a/LayoutTests/platform/ios-wk1/TestExpectations b/LayoutTests/platform/ios-wk1/TestExpectations >index 0b4a3ca75dfaf633dfe69ce6900ff3221244d253..ea68a1092eb380a3ed7ab3926cac7db17ae0ec24 100644 >--- a/LayoutTests/platform/ios-wk1/TestExpectations >+++ b/LayoutTests/platform/ios-wk1/TestExpectations >@@ -9,6 +9,7 @@ editing/input/focus-change-with-marked-text.html [ Pass ] > > # No service worker implementation for WK1 > imported/w3c/web-platform-tests/service-workers [ Skip ] >+imported/w3c/web-platform-tests/server-timing/service_worker_idl.html [ Skip ] > http/wpt/service-workers [ Skip ] > http/wpt/cache-storage [ Skip ] > http/tests/cache-storage [ Skip ] >diff --git a/LayoutTests/platform/mac-wk1/TestExpectations b/LayoutTests/platform/mac-wk1/TestExpectations >index df0f144c9b130c01a16dd411d159c014aff942a1..275d9104af9d610c23c7e4ac662a7dce1c971f00 100644 >--- a/LayoutTests/platform/mac-wk1/TestExpectations >+++ b/LayoutTests/platform/mac-wk1/TestExpectations >@@ -149,6 +149,7 @@ imported/w3c/web-platform-tests/streams/readable-byte-streams/detached-buffers.s > http/tests/appcache/main-resource-redirect-with-sw.html [ Skip ] > http/tests/cookies/same-site/fetch-in-cross-origin-service-worker.html [ Skip ] > http/tests/cookies/same-site/fetch-in-same-origin-service-worker.html [ Skip ] >+imported/w3c/web-platform-tests/server-timing/service_worker_idl.html [ Skip ] > > # Skip WebRTC for now in WK1 > imported/w3c/web-platform-tests/webrtc [ Skip ] >diff --git a/LayoutTests/platform/win/TestExpectations b/LayoutTests/platform/win/TestExpectations >index d83d77df329d385416223a7ce21248cad6492abd..b3615b252657612752265901dd7429e560d299e9 100644 >--- a/LayoutTests/platform/win/TestExpectations >+++ b/LayoutTests/platform/win/TestExpectations >@@ -3797,6 +3797,7 @@ imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-service-worke > imported/w3c/web-platform-tests/fetch/api/policies/referrer-origin-when-cross-origin-service-worker.https.html [ Skip ] > imported/w3c/web-platform-tests/fetch/api/policies/referrer-unsafe-url-service-worker.https.html [ Skip ] > imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html [ Skip ] >+imported/w3c/web-platform-tests/server-timing/service_worker_idl.html [ Skip ] > imported/w3c/web-platform-tests/service-workers [ Skip ] > http/tests/cache-storage [ Skip ] > http/wpt/cache-storage [ Skip ]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 184758
:
338263
|
338990
|
338996
|
339381
|
339383
|
339389
|
339725
|
339726
|
339732
|
339816
|
339818
|
339866
|
339880
|
339890
|
339891
|
339893
|
339908
|
339965
|
339970
|
339975
|
340025
|
340095
| 340096