https://bugs.webkit.org/show_bug.cgi?id=167201
Reviewed by Ryosuke Niwa.
Source/WebCore:
Removed the explicit setting of the Link Preload experimental feature,
as it is now on by default for testing.
No new tests as this just removes methods from settings.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:
Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences linkPreloadEnabled]):
(-[WebPreferences setLinkPreloadEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit/win:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::valueForKey):
(WebPreferences::setLinkPreloadEnabled):
(WebPreferences::linkPreloadEnabled):
* WebPreferences.h:
* Interfaces/IWebPreferencesPrivate.idl:
Source/WebKit2:
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetLinkPreloadEnabled):
(WKPreferencesGetLinkPreloadEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
Websites/webkit.org:
* experimental-features.html: Added Link Preload.
LayoutTests:
Removed code explicitly enabling Link preload from the tests, as it is now
turned on by default for testing. Corrected expectation files accordingly.
* http/tests/fetch/redirectmode-and-preload.html:
* http/tests/preload/delaying_onload_link_preload_after_discovery.html:
* http/tests/preload/delaying_onload_link_preload_after_discovery_image.html:
* http/tests/preload/download_resources-expected.txt:
* http/tests/preload/download_resources.html:
* http/tests/preload/download_resources_from_header_iframe.html:
* http/tests/preload/download_resources_from_invalid_headers.html:
* http/tests/preload/dynamic_adding_preload.html:
* http/tests/preload/dynamic_remove_preload_href-expected.txt:
* http/tests/preload/dynamic_remove_preload_href.html:
* http/tests/preload/not_delaying_window_onload_before_discovery.html:
* http/tests/preload/onerror_event-expected.txt:
* http/tests/preload/onerror_event.html:
* http/tests/preload/onload_event-expected.txt:
* http/tests/preload/onload_event.html:
* http/tests/preload/resources/download_resources_from_header.php:
* http/tests/preload/resources/invalid_resources_from_header.php:
* http/tests/preload/single_download_preload-expected.txt:
* http/tests/preload/single_download_preload.html:
* http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html:
* http/tests/security/cached-cross-origin-preloading-css-stylesheet.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ Removed code explicitly enabling Link preload from the tests, as it is now
+ turned on by default for testing. Corrected expectation files accordingly.
+
+ * http/tests/fetch/redirectmode-and-preload.html:
+ * http/tests/preload/delaying_onload_link_preload_after_discovery.html:
+ * http/tests/preload/delaying_onload_link_preload_after_discovery_image.html:
+ * http/tests/preload/download_resources-expected.txt:
+ * http/tests/preload/download_resources.html:
+ * http/tests/preload/download_resources_from_header_iframe.html:
+ * http/tests/preload/download_resources_from_invalid_headers.html:
+ * http/tests/preload/dynamic_adding_preload.html:
+ * http/tests/preload/dynamic_remove_preload_href-expected.txt:
+ * http/tests/preload/dynamic_remove_preload_href.html:
+ * http/tests/preload/not_delaying_window_onload_before_discovery.html:
+ * http/tests/preload/onerror_event-expected.txt:
+ * http/tests/preload/onerror_event.html:
+ * http/tests/preload/onload_event-expected.txt:
+ * http/tests/preload/onload_event.html:
+ * http/tests/preload/resources/download_resources_from_header.php:
+ * http/tests/preload/resources/invalid_resources_from_header.php:
+ * http/tests/preload/single_download_preload-expected.txt:
+ * http/tests/preload/single_download_preload.html:
+ * http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html:
+ * http/tests/security/cached-cross-origin-preloading-css-stylesheet.html:
+
2017-01-28 Antoine Quint <graouts@apple.com>
[Modern Media Controls] REGRESSION: Video stops playing after going into Full Screen in media documents
<meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
<script src="/js-test-resources/testharness.js"></script>
<script src="/js-test-resources/testharnessreport.js"></script>
- <script>
-if (window.internals)
- internals.settings.setLinkPreloadEnabled(true);
- </script>
<link rel=preload onload="startTests()" href="./resources/redirect-with-cache.php?enableCaching&url=http://localhost:8000/security/resources/allow-if-origin.php?allowCache&origin=http%3A%2F%2F127.0.0.1%3A8000&name=alert-fail.js&contentType=text/ascii">
</head>
<body>
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText()
testRunner.waitUntilDone();
<script>
window.addEventListener("load", function() {
shouldBeTrue("finishedScript");
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
setTimeout(function() { testRunner.notifyDone(); }, 0);
});
var scr = document.createElement("script");
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText()
testRunner.waitUntilDone();
<script>
window.addEventListener("load", function() {
shouldBeTrue("finishedImage");
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
testRunner.notifyDone();
});
var img = new Image();
-CONSOLE MESSAGE: line 15: <link rel=preload> must have a valid `as` value
+CONSOLE MESSAGE: line 11: <link rel=preload> must have a valid `as` value
PASS internals.isPreloaded('../resources/dummy.js'); is true
PASS internals.isPreloaded('../resources/dummy.css'); is true
PASS internals.isPreloaded('../resources/square.png'); is true
<!DOCTYPE html>
<html>
<head>
-<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
-</script>
<script src="/js-test-resources/js-test.js"></script>
<link rel=preload href="../resources/dummy.js" as=script>
<link rel=preload href="../resources/dummy.css" as=style>
shouldBeFalse("internals.isPreloaded('../resources/dummy.xml?badvalue');");
shouldBeTrue("internals.isPreloaded('../resources/dummy.xml');");
</script>
-<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
-</script>
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.dumpChildFramesAsText();
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.dumpChildFramesAsText();
<!DOCTYPE html>
<html>
<head>
-<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
-</script>
<script src="/js-test-resources/js-test.js"></script>
<body>
<script>
<script src="http://127.0.0.1:8000/resources/slow-script.pl?delay=100"></script>
<script>
shouldBeTrue("internals.isPreloaded('../resources/dummy.js');");
-
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
</script>
</body>
-CONSOLE MESSAGE: line 19: <link rel=preload> has an invalid `href` value
+CONSOLE MESSAGE: line 17: <link rel=preload> has an invalid `href` value
PASS downloadedImage is false
PASS successfullyParsed is true
<html>
<head>
<script>
- if (window.internals) {
- window.internals.settings.setLinkPreloadEnabled(true);
+ if (window.internals)
window.internals.settings.setResourceTimingEnabled(true);
- }
</script>
<script src="/js-test-resources/js-test.js"></script>
<body>
downloadedImage = true;
}
shouldBeFalse("downloadedImage");
- if (window.internals) {
- window.internals.settings.setLinkPreloadEnabled(false);
+ if (window.internals)
window.internals.settings.setResourceTimingEnabled(false);
- }
});
</script>
</body>
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText()
testRunner.waitUntilDone();
function test() {
shouldBeTrue("windowOnLoad");
if (finishedImage && finishedScript) {
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
if (window.testRunner)
testRunner.notifyDone();
}
-CONSOLE MESSAGE: line 29: <link rel=preload> must have a valid `as` value
+CONSOLE MESSAGE: line 27: <link rel=preload> must have a valid `as` value
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText()
testRunner.waitUntilDone();
shouldBeTrue("trackFailed");
shouldBeTrue("gibrishFailed");
shouldBeTrue("noTypeFailed");
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
if (window.testRunner)
testRunner.notifyDone();
};
-CONSOLE MESSAGE: line 35: <link rel=preload> must have a valid `as` value
-CONSOLE MESSAGE: line 36: <link rel=preload> must have a valid `as` value
+CONSOLE MESSAGE: line 33: <link rel=preload> must have a valid `as` value
+CONSOLE MESSAGE: line 34: <link rel=preload> must have a valid `as` value
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE html>
<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText()
testRunner.waitUntilDone();
shouldBeTrue("xsltErrored");
shouldBeTrue("noTypeLoaded");
shouldBeTrue("emptyTypeLoaded");
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
if (window.testRunner)
testRunner.notifyDone();
}
shouldBeFalse("internals.isPreloaded('../resources/dummy.xml?badvalue');");
shouldBeTrue("internals.isPreloaded('../resources/dummy.xml');");
</script>
-<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
-</script>
shouldBeFalse("internals.isPreloaded('#foobar');");
shouldBeFalse("internals.isPreloaded('../resources/Ahem.ttf');");
</script>
-<script>
- if (window.internals)
- window.internals.settings.setLinkPreloadEnabled(false);
-</script>
-CONSOLE MESSAGE: line 21: <link rel=preload> must have a valid `as` value
+CONSOLE MESSAGE: line 19: <link rel=preload> must have a valid `as` value
PASS Makes sure that preloaded resources are not downloaded again when used
<!DOCTYPE html>
<script>
- if (window.internals) {
- internals.settings.setLinkPreloadEnabled(true);
+ if (window.internals)
internals.settings.setResourceTimingEnabled(true);
- }
</script>
<script src="/js-test-resources/testharness.js"></script>
<script src="/js-test-resources/testharnessreport.js"></script>
// FIXME: XHR should trigger a single download, but it downloads 2 resources instead.
verifyDownloadNumber("http://127.0.0.1:8000/resources/dummy.xml", 2);
// FIXME: We should verify for video and audio as well, but they seem to (flakily?) trigger multiple partial requests.
- if (window.internals) {
- internals.settings.setLinkPreloadEnabled(false);
+ if (window.internals)
internals.settings.setResourceTimingEnabled(false);
- }
t.done();
}), 100);
}));
<!DOCTYPE html>
<script>
-if (window.internals)
- internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
<html>
<body>
<script>
-if (window.internals)
- internals.settings.setLinkPreloadEnabled(true);
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ Removed the explicit setting of the Link Preload experimental feature,
+ as it is now on by default for testing.
+
+ No new tests as this just removes methods from settings.
+
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::Backup::Backup):
+ (WebCore::InternalSettings::Backup::restoreTo):
+ * testing/InternalSettings.h:
+ * testing/InternalSettings.idl:
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Fix typo in error message
, m_forcedDisplayIsMonochromeAccessibilityValue(settings.forcedDisplayIsMonochromeAccessibilityValue())
, m_forcedPrefersReducedMotionAccessibilityValue(settings.forcedPrefersReducedMotionAccessibilityValue())
, m_resourceTimingEnabled(RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
- , m_linkPreloadEnabled(RuntimeEnabledFeatures::sharedFeatures().linkPreloadEnabled())
#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
, m_indexedDBWorkersEnabled(RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
#endif
Settings::setAllowsAnySSLCertificate(false);
RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(m_resourceTimingEnabled);
- RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(m_linkPreloadEnabled);
#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
RuntimeEnabledFeatures::sharedFeatures().setIndexedDBWorkersEnabled(m_indexedDBWorkersEnabled);
#endif
RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(enabled);
}
-void InternalSettings::setLinkPreloadEnabled(bool enabled)
-{
- RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(enabled);
-}
-
void InternalSettings::setIndexedDBWorkersEnabled(bool enabled)
{
#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
// RuntimeEnabledFeatures.
static void setResourceTimingEnabled(bool);
- static void setLinkPreloadEnabled(bool);
static void setIndexedDBWorkersEnabled(bool);
static void setCSSGridLayoutEnabled(bool);
static void setWebGL2Enabled(bool);
// Runtime enabled settings.
bool m_resourceTimingEnabled;
- bool m_linkPreloadEnabled;
bool m_indexedDBWorkersEnabled;
bool m_cssGridLayoutEnabled;
bool m_webGL2Enabled;
// RuntimeEnabledFeatures.
void setResourceTimingEnabled(boolean enabled);
- void setLinkPreloadEnabled(boolean enabled);
void setIndexedDBWorkersEnabled(boolean enabled);
void setCSSGridLayoutEnabled(boolean enabled);
void setWebGL2Enabled(boolean enabled);
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebView/WebPreferenceKeysPrivate.h:
+ * WebView/WebPreferences.mm:
+ (-[WebPreferences linkPreloadEnabled]):
+ (-[WebPreferences setLinkPreloadEnabled:]):
+ * WebView/WebPreferencesPrivate.h:
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]):
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Add User Timing Experimental Feature
#define WebKitSubtleCryptoEnabledPreferenceKey @"WebKitSubtleCryptoEnabled"
#define WebKitMediaStreamEnabledPreferenceKey @"WebKitMediaStreamEnabled"
#define WebKitPeerConnectionEnabledPreferenceKey @"WebKitPeerConnectionEnabled"
+#define WebKitLinkPreloadEnabledPreferenceKey @"WebKitLinkPreloadEnabled"
#if !TARGET_OS_IPHONE
// These are private both because callers should be using the cover methods and because the
[self _setBoolValue:flag forKey:WebKitPeerConnectionEnabledPreferenceKey];
}
+- (BOOL)linkPreloadEnabled
+{
+ return [self _boolValueForKey:WebKitLinkPreloadEnabledPreferenceKey];
+}
+
+- (void)setLinkPreloadEnabled:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitLinkPreloadEnabledPreferenceKey];
+}
+
- (void)setMetaRefreshEnabled:(BOOL)enabled
{
[self setHTTPEquivEnabled:enabled];
@property (nonatomic) BOOL allowsInlineMediaPlaybackAfterFullscreen;
@property (nonatomic) BOOL intersectionObserverEnabled;
@property (nonatomic) BOOL userTimingEnabled;
+@property (nonatomic) BOOL linkPreloadEnabled;
@end
RuntimeEnabledFeatures::sharedFeatures().setUserTimingEnabled(preferences.userTimingEnabled);
+ RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(preferences.linkPreloadEnabled);
+
NSTimeInterval timeout = [preferences incrementalRenderingSuppressionTimeoutInSeconds];
if (timeout > 0)
settings.setIncrementalRenderingSuppressionTimeoutInSeconds(timeout);
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ * WebPreferenceKeysPrivate.h:
+ * WebPreferences.cpp:
+ (WebPreferences::initializeDefaultSettings):
+ (WebPreferences::valueForKey):
+ (WebPreferences::setLinkPreloadEnabled):
+ (WebPreferences::linkPreloadEnabled):
+ * WebPreferences.h:
+ * Interfaces/IWebPreferencesPrivate.idl:
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Add User Timing Experimental Feature
HRESULT setWebAnimationsEnabled([in] BOOL enabled);
HRESULT userTimingEnabled([out, retval] BOOL*);
HRESULT setUserTimingEnabled([in] BOOL enabled);
+ HRESULT linkPreloadEnabled([out, retval] BOOL*);
+ HRESULT setLinkPreloadEnabled([in] BOOL enabled);
}
#define WebKitWebAnimationsEnabledPreferenceKey "WebKitWebAnimationsEnabled"
#define WebKitUserTimingEnabledPreferenceKey "WebKitUserTimingEnabled"
+
+#define WebKitLinkPreloadEnabledPreferenceKey "WebKitLinkPreloadEnabled"
CFDictionaryAddValue(defaults, CFSTR(WebKitUserTimingEnabledPreferenceKey), kCFBooleanFalse);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitLinkPreloadEnabledPreferenceKey), kCFBooleanFalse);
+
defaultSettings = defaults;
}
return S_OK;
}
+HRESULT WebPreferences::setLinkPreloadEnabled(BOOL enabled)
+{
+ setBoolValue(WebKitLinkPreloadEnabledPreferenceKey, enabled);
+ return S_OK;
+}
+
+HRESULT WebPreferences::linkPreloadEnabled(_Out_ BOOL* enabled)
+{
+ if (!enabled)
+ return E_POINTER;
+ *enabled = boolValueForKey(WebKitLinkPreloadEnabledPreferenceKey);
+ return S_OK;
+}
+
HRESULT WebPreferences::setApplicationId(BSTR applicationId)
{
m_applicationId = String(applicationId).createCFString();
virtual HRESULT STDMETHODCALLTYPE setWebAnimationsEnabled(BOOL);
virtual HRESULT STDMETHODCALLTYPE userTimingEnabled(_Out_ BOOL*);
virtual HRESULT STDMETHODCALLTYPE setUserTimingEnabled(BOOL);
+ virtual HRESULT STDMETHODCALLTYPE linkPreloadEnabled(_Out_ BOOL*);
+ virtual HRESULT STDMETHODCALLTYPE setLinkPreloadEnabled(BOOL);
// WebPreferences
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ * Shared/WebPreferencesDefinitions.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetLinkPreloadEnabled):
+ (WKPreferencesGetLinkPreloadEnabled):
+ * UIProcess/API/C/WKPreferencesRefPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Add User Timing Experimental Feature
macro(CSSGridLayoutEnabled, cssGridLayoutEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Grid", "CSS Grid Layout Module support") \
macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
macro(GamepadsEnabled, gamepadsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Gamepads", "Web Gamepad API support") \
+ macro(LinkPreloadEnabled, linkPreloadEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Link Preload", "Link preload support") \
macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
return toImpl(preferencesRef)->subtleCryptoEnabled();
}
+void WKPreferencesSetLinkPreloadEnabled(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setLinkPreloadEnabled(flag);
+}
+
+bool WKPreferencesGetLinkPreloadEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->linkPreloadEnabled();
+}
+
void WKPreferencesSetShouldSuppressKeyboardInputDuringProvisionalNavigation(WKPreferencesRef preferencesRef, bool flag)
{
toImpl(preferencesRef)->setShouldSuppressKeyboardInputDuringProvisionalNavigation(flag);
WK_EXPORT void WKPreferencesSetShouldSuppressKeyboardInputDuringProvisionalNavigation(WKPreferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetShouldSuppressKeyboardInputDuringProvisionalNavigation(WKPreferencesRef);
+// Defaults to false.
+WK_EXPORT void WKPreferencesSetLinkPreloadEnabled(WKPreferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetLinkPreloadEnabled(WKPreferencesRef);
+
#ifdef __cplusplus
}
#endif
// Experimental Features.
+ RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(store.getBoolValueForKey(WebPreferencesKey::linkPreloadEnabledKey()));
+
#if ENABLE(CSS_GRID_LAYOUT)
RuntimeEnabledFeatures::sharedFeatures().setCSSGridLayoutEnabled(store.getBoolValueForKey(WebPreferencesKey::cssGridLayoutEnabledKey()));
#endif
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ * DumpRenderTree/mac/DumpRenderTree.mm:
+ (resetWebPreferencesToConsistentValues):
+ * DumpRenderTree/win/DumpRenderTree.cpp:
+ (resetWebPreferencesToConsistentValues):
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Add User Timing Experimental Feature
[preferences setCSSGridLayoutEnabled:YES];
// FIXME: SpringTimingFunction
[preferences setGamepadsEnabled:YES];
+ [preferences setLinkPreloadEnabled:YES];
[preferences setModernMediaControlsEnabled:YES];
// FIXME: InputEvents
[preferences setSubtleCryptoEnabled:YES];
prefsPrivate4->setShadowDOMEnabled(TRUE);
prefsPrivate4->setCustomElementsEnabled(TRUE);
prefsPrivate4->setModernMediaControlsEnabled(FALSE);
+ prefsPrivate4->setLinkPreloadEnabled(TRUE);
setAlwaysAcceptCookies(false);
}
+2017-01-28 Yoav Weiss <yoav@yoav.ws>
+
+ Add Link Preload as an off-by-default experimental feature menu item.
+ https://bugs.webkit.org/show_bug.cgi?id=167201
+
+ Reviewed by Ryosuke Niwa.
+
+ * experimental-features.html: Added Link Preload.
+
2017-01-28 Joseph Pecoraro <pecoraro@apple.com>
Add User Timing Experimental Feature
return canvas.getContext("webgl2");
}
+function testLinkPreload() {
+ var link = document.createElement("link");
+ return link.relList.supports("preload");
+}
+
function testGamepad() {
return navigator.getGamepads;
}
<div class="test" id="Gamepad"><p>Gamepad API</p></div>
<div class="test" id="FormValidation"><p>HTML Form Validation</p></div>
<div class="test" id="InputEvents"><p>HTML Input Events</p></div>
+ <div class="test" id="LinkPreload"><p>Link Preload</p></div>
<div class="test" id="SubtleCrypto"><p>SubtleCrypto</p></div>
<div class="test" id="VariationFonts"><p>Variation Fonts</p></div>
<div class="test" id="UserTiming"><p>User Timing</p></div>