Changeset 211341 in webkit


Ignore:
Timestamp:
Jan 28, 2017 2:53:54 PM (7 years ago)
Author:
yoav@yoav.ws
Message:

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.

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:
Location:
trunk
Files:
46 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r211339 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Removed code explicitly enabling Link preload from the tests, as it is now
     9        turned on by default for testing. Corrected expectation files accordingly.
     10
     11        * http/tests/fetch/redirectmode-and-preload.html:
     12        * http/tests/preload/delaying_onload_link_preload_after_discovery.html:
     13        * http/tests/preload/delaying_onload_link_preload_after_discovery_image.html:
     14        * http/tests/preload/download_resources-expected.txt:
     15        * http/tests/preload/download_resources.html:
     16        * http/tests/preload/download_resources_from_header_iframe.html:
     17        * http/tests/preload/download_resources_from_invalid_headers.html:
     18        * http/tests/preload/dynamic_adding_preload.html:
     19        * http/tests/preload/dynamic_remove_preload_href-expected.txt:
     20        * http/tests/preload/dynamic_remove_preload_href.html:
     21        * http/tests/preload/not_delaying_window_onload_before_discovery.html:
     22        * http/tests/preload/onerror_event-expected.txt:
     23        * http/tests/preload/onerror_event.html:
     24        * http/tests/preload/onload_event-expected.txt:
     25        * http/tests/preload/onload_event.html:
     26        * http/tests/preload/resources/download_resources_from_header.php:
     27        * http/tests/preload/resources/invalid_resources_from_header.php:
     28        * http/tests/preload/single_download_preload-expected.txt:
     29        * http/tests/preload/single_download_preload.html:
     30        * http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html:
     31        * http/tests/security/cached-cross-origin-preloading-css-stylesheet.html:
     32
    1332017-01-28  Antoine Quint  <graouts@apple.com>
    234
  • trunk/LayoutTests/http/tests/fetch/redirectmode-and-preload.html

    r211006 r211341  
    99    <script src="/js-test-resources/testharness.js"></script>
    1010    <script src="/js-test-resources/testharnessreport.js"></script>
    11     <script>
    12 if (window.internals)
    13     internals.settings.setLinkPreloadEnabled(true);
    14     </script>
    1511    <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">
    1612  </head>
  • trunk/LayoutTests/http/tests/preload/delaying_onload_link_preload_after_discovery.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText()
     
    1513    window.addEventListener("load", function() {
    1614        shouldBeTrue("finishedScript");
    17         if (window.internals)
    18             window.internals.settings.setLinkPreloadEnabled(false);
    1915        setTimeout(function() { testRunner.notifyDone(); }, 0);
    2016    });
  • trunk/LayoutTests/http/tests/preload/delaying_onload_link_preload_after_discovery_image.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText()
     
    1513    window.addEventListener("load", function() {
    1614        shouldBeTrue("finishedImage");
    17         if (window.internals)
    18             window.internals.settings.setLinkPreloadEnabled(false);
    1915        testRunner.notifyDone();
    2016    });
  • trunk/LayoutTests/http/tests/preload/download_resources-expected.txt

    r199650 r211341  
    1 CONSOLE MESSAGE: line 15: <link rel=preload> must have a valid `as` value
     1CONSOLE MESSAGE: line 11: <link rel=preload> must have a valid `as` value
    22PASS internals.isPreloaded('../resources/dummy.js'); is true
    33PASS internals.isPreloaded('../resources/dummy.css'); is true
  • trunk/LayoutTests/http/tests/preload/download_resources.html

    r211006 r211341  
    22<html>
    33<head>
    4 <script>
    5     if (window.internals)
    6         window.internals.settings.setLinkPreloadEnabled(true);
    7 </script>
    84<script src="/js-test-resources/js-test.js"></script>
    95<link rel=preload href="../resources/dummy.js" as=script>
     
    3026    shouldBeTrue("internals.isPreloaded('../resources/dummy.xml');");
    3127</script>
    32 <script>
    33     if (window.internals)
    34         window.internals.settings.setLinkPreloadEnabled(false);
    35 </script>
  • trunk/LayoutTests/http/tests/preload/download_resources_from_header_iframe.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText();
  • trunk/LayoutTests/http/tests/preload/download_resources_from_invalid_headers.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText();
  • trunk/LayoutTests/http/tests/preload/dynamic_adding_preload.html

    r211006 r211341  
    22<html>
    33<head>
    4 <script>
    5     if (window.internals)
    6         window.internals.settings.setLinkPreloadEnabled(true);
    7 </script>
    84<script src="/js-test-resources/js-test.js"></script>
    95<body>
     
    1814<script>
    1915    shouldBeTrue("internals.isPreloaded('../resources/dummy.js');");
    20 
    21     if (window.internals)
    22         window.internals.settings.setLinkPreloadEnabled(false);
    2316</script>
    2417</body>
  • trunk/LayoutTests/http/tests/preload/dynamic_remove_preload_href-expected.txt

    r205269 r211341  
    1 CONSOLE MESSAGE: line 19: <link rel=preload> has an invalid `href` value
     1CONSOLE MESSAGE: line 17: <link rel=preload> has an invalid `href` value
    22PASS downloadedImage is false
    33PASS successfullyParsed is true
  • trunk/LayoutTests/http/tests/preload/dynamic_remove_preload_href.html

    r211006 r211341  
    33<head>
    44<script>
    5     if (window.internals) {
    6         window.internals.settings.setLinkPreloadEnabled(true);
     5    if (window.internals)
    76        window.internals.settings.setResourceTimingEnabled(true);
    8     }
    97</script>
    108<script src="/js-test-resources/js-test.js"></script>
     
    2523        }
    2624        shouldBeFalse("downloadedImage");
    27         if (window.internals) {
    28             window.internals.settings.setLinkPreloadEnabled(false);
     25        if (window.internals)
    2926            window.internals.settings.setResourceTimingEnabled(false);
    30         }
    3127    });
    3228</script>
  • trunk/LayoutTests/http/tests/preload/not_delaying_window_onload_before_discovery.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText()
     
    1614        shouldBeTrue("windowOnLoad");
    1715        if (finishedImage && finishedScript) {
    18             if (window.internals)
    19                 window.internals.settings.setLinkPreloadEnabled(false);
    2016            if (window.testRunner)
    2117                testRunner.notifyDone();
  • trunk/LayoutTests/http/tests/preload/onerror_event-expected.txt

    r205269 r211341  
    1 CONSOLE MESSAGE: line 29: <link rel=preload> must have a valid `as` value
     1CONSOLE MESSAGE: line 27: <link rel=preload> must have a valid `as` value
    22PASS successfullyParsed is true
    33
  • trunk/LayoutTests/http/tests/preload/onerror_event.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText()
     
    3836        shouldBeTrue("gibrishFailed");
    3937        shouldBeTrue("noTypeFailed");
    40         if (window.internals)
    41             window.internals.settings.setLinkPreloadEnabled(false);
    4238        if (window.testRunner)
    4339            testRunner.notifyDone();
  • trunk/LayoutTests/http/tests/preload/onload_event-expected.txt

    r205269 r211341  
    1 CONSOLE MESSAGE: line 35: <link rel=preload> must have a valid `as` value
    2 CONSOLE MESSAGE: line 36: <link rel=preload> must have a valid `as` value
     1CONSOLE MESSAGE: line 33: <link rel=preload> must have a valid `as` value
     2CONSOLE MESSAGE: line 34: <link rel=preload> must have a valid `as` value
    33PASS successfullyParsed is true
    44
  • trunk/LayoutTests/http/tests/preload/onload_event.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals)
    4         window.internals.settings.setLinkPreloadEnabled(true);
    53    if (window.testRunner) {
    64        testRunner.dumpAsText()
     
    5149        shouldBeTrue("noTypeLoaded");
    5250        shouldBeTrue("emptyTypeLoaded");
    53         if (window.internals)
    54             window.internals.settings.setLinkPreloadEnabled(false);
    5551        if (window.testRunner)
    5652            testRunner.notifyDone();
  • trunk/LayoutTests/http/tests/preload/resources/download_resources_from_header.php

    r211006 r211341  
    2121    shouldBeTrue("internals.isPreloaded('../resources/dummy.xml');");
    2222</script>
    23 <script>
    24     if (window.internals)
    25         window.internals.settings.setLinkPreloadEnabled(false);
    26 </script>
  • trunk/LayoutTests/http/tests/preload/resources/invalid_resources_from_header.php

    r211006 r211341  
    4141    shouldBeFalse("internals.isPreloaded('../resources/Ahem.ttf');");
    4242</script>
    43 <script>
    44     if (window.internals)
    45         window.internals.settings.setLinkPreloadEnabled(false);
    46 </script>
  • trunk/LayoutTests/http/tests/preload/single_download_preload-expected.txt

    r211169 r211341  
    1 CONSOLE MESSAGE: line 21: <link rel=preload> must have a valid `as` value
     1CONSOLE MESSAGE: line 19: <link rel=preload> must have a valid `as` value
    22 
    33
  • trunk/LayoutTests/http/tests/preload/single_download_preload.html

    r211169 r211341  
    11<!DOCTYPE html>
    22<script>
    3     if (window.internals) {
    4         internals.settings.setLinkPreloadEnabled(true);
     3    if (window.internals)
    54        internals.settings.setResourceTimingEnabled(true);
    6     }
    75</script>
    86<script src="/js-test-resources/testharness.js"></script>
     
    6260            verifyDownloadNumber("http://127.0.0.1:8000/resources/dummy.xml", 2);
    6361            // FIXME: We should verify for video and audio as well, but they seem to (flakily?) trigger multiple partial requests.
    64             if (window.internals) {
    65                 internals.settings.setLinkPreloadEnabled(false);
     62            if (window.internals)
    6663                internals.settings.setResourceTimingEnabled(false);
    67             }
    6864            t.done();
    6965            }), 100);
  • trunk/LayoutTests/http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html

    r211006 r211341  
    11<!DOCTYPE html>
    22<script>
    3 if (window.internals)
    4     internals.settings.setLinkPreloadEnabled(true);
    53if (window.testRunner) {
    64   testRunner.dumpAsText();
  • trunk/LayoutTests/http/tests/security/cached-cross-origin-preloading-css-stylesheet.html

    r211006 r211341  
    33<body>
    44<script>
    5 if (window.internals)
    6     internals.settings.setLinkPreloadEnabled(true);
    75if (window.testRunner) {
    86   testRunner.dumpAsText();
  • trunk/Source/WebCore/ChangeLog

    r211340 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Removed the explicit setting of the Link Preload experimental feature,
     9        as it is now on by default for testing.
     10
     11        No new tests as this just removes methods from settings.
     12
     13        * testing/InternalSettings.cpp:
     14        (WebCore::InternalSettings::Backup::Backup):
     15        (WebCore::InternalSettings::Backup::restoreTo):
     16        * testing/InternalSettings.h:
     17        * testing/InternalSettings.idl:
     18
    1192017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    220
  • trunk/Source/WebCore/testing/InternalSettings.cpp

    r211055 r211341  
    9696    , m_forcedPrefersReducedMotionAccessibilityValue(settings.forcedPrefersReducedMotionAccessibilityValue())
    9797    , m_resourceTimingEnabled(RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
    98     , m_linkPreloadEnabled(RuntimeEnabledFeatures::sharedFeatures().linkPreloadEnabled())
    9998#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
    10099    , m_indexedDBWorkersEnabled(RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
     
    185184
    186185    RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(m_resourceTimingEnabled);
    187     RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(m_linkPreloadEnabled);
    188186#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
    189187    RuntimeEnabledFeatures::sharedFeatures().setIndexedDBWorkersEnabled(m_indexedDBWorkersEnabled);
     
    672670}
    673671
    674 void InternalSettings::setLinkPreloadEnabled(bool enabled)
    675 {
    676     RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(enabled);
    677 }
    678 
    679672void InternalSettings::setIndexedDBWorkersEnabled(bool enabled)
    680673{
  • trunk/Source/WebCore/testing/InternalSettings.h

    r211055 r211341  
    111111    // RuntimeEnabledFeatures.
    112112    static void setResourceTimingEnabled(bool);
    113     static void setLinkPreloadEnabled(bool);
    114113    static void setIndexedDBWorkersEnabled(bool);
    115114    static void setCSSGridLayoutEnabled(bool);
     
    189188        // Runtime enabled settings.
    190189        bool m_resourceTimingEnabled;
    191         bool m_linkPreloadEnabled;
    192190        bool m_indexedDBWorkersEnabled;
    193191        bool m_cssGridLayoutEnabled;
  • trunk/Source/WebCore/testing/InternalSettings.idl

    r211055 r211341  
    8484    // RuntimeEnabledFeatures.
    8585    void setResourceTimingEnabled(boolean enabled);
    86     void setLinkPreloadEnabled(boolean enabled);
    8786    void setIndexedDBWorkersEnabled(boolean enabled);
    8887    void setCSSGridLayoutEnabled(boolean enabled);
  • trunk/Source/WebKit/mac/ChangeLog

    r211332 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * WebView/WebPreferenceKeysPrivate.h:
     9        * WebView/WebPreferences.mm:
     10        (-[WebPreferences linkPreloadEnabled]):
     11        (-[WebPreferences setLinkPreloadEnabled:]):
     12        * WebView/WebPreferencesPrivate.h:
     13        * WebView/WebView.mm:
     14        (-[WebView _preferencesChanged:]):
     15
    1162017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    217
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r211332 r211341  
    177177#define WebKitMediaStreamEnabledPreferenceKey @"WebKitMediaStreamEnabled"
    178178#define WebKitPeerConnectionEnabledPreferenceKey @"WebKitPeerConnectionEnabled"
     179#define WebKitLinkPreloadEnabledPreferenceKey @"WebKitLinkPreloadEnabled"
    179180
    180181#if !TARGET_OS_IPHONE
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r211332 r211341  
    27562756}
    27572757
     2758- (BOOL)linkPreloadEnabled
     2759{
     2760    return [self _boolValueForKey:WebKitLinkPreloadEnabledPreferenceKey];
     2761}
     2762
     2763- (void)setLinkPreloadEnabled:(BOOL)flag
     2764{
     2765    [self _setBoolValue:flag forKey:WebKitLinkPreloadEnabledPreferenceKey];
     2766}
     2767
    27582768- (void)setMetaRefreshEnabled:(BOOL)enabled
    27592769{
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r211332 r211341  
    530530@property (nonatomic) BOOL intersectionObserverEnabled;
    531531@property (nonatomic) BOOL userTimingEnabled;
     532@property (nonatomic) BOOL linkPreloadEnabled;
    532533
    533534@end
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r211332 r211341  
    29132913    RuntimeEnabledFeatures::sharedFeatures().setUserTimingEnabled(preferences.userTimingEnabled);
    29142914
     2915    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(preferences.linkPreloadEnabled);
     2916
    29152917    NSTimeInterval timeout = [preferences incrementalRenderingSuppressionTimeoutInSeconds];
    29162918    if (timeout > 0)
  • trunk/Source/WebKit/win/ChangeLog

    r211332 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * WebPreferenceKeysPrivate.h:
     9        * WebPreferences.cpp:
     10        (WebPreferences::initializeDefaultSettings):
     11        (WebPreferences::valueForKey):
     12        (WebPreferences::setLinkPreloadEnabled):
     13        (WebPreferences::linkPreloadEnabled):
     14        * WebPreferences.h:
     15        * Interfaces/IWebPreferencesPrivate.idl:
     16
    1172017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    218
  • trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl

    r211332 r211341  
    197197    HRESULT userTimingEnabled([out, retval] BOOL*);
    198198    HRESULT setUserTimingEnabled([in] BOOL enabled);
    199 }
     199    HRESULT linkPreloadEnabled([out, retval] BOOL*);
     200    HRESULT setLinkPreloadEnabled([in] BOOL enabled);
     201}
  • trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h

    r211332 r211341  
    181181
    182182#define WebKitUserTimingEnabledPreferenceKey "WebKitUserTimingEnabled"
     183
     184#define WebKitLinkPreloadEnabledPreferenceKey "WebKitLinkPreloadEnabled"
  • trunk/Source/WebKit/win/WebPreferences.cpp

    r211332 r211341  
    310310    CFDictionaryAddValue(defaults, CFSTR(WebKitUserTimingEnabledPreferenceKey), kCFBooleanFalse);
    311311
     312    CFDictionaryAddValue(defaults, CFSTR(WebKitLinkPreloadEnabledPreferenceKey), kCFBooleanFalse);
     313
    312314    defaultSettings = defaults;
    313315}
     
    20092011}
    20102012
     2013HRESULT WebPreferences::setLinkPreloadEnabled(BOOL enabled)
     2014{
     2015    setBoolValue(WebKitLinkPreloadEnabledPreferenceKey, enabled);
     2016    return S_OK;
     2017}
     2018
     2019HRESULT WebPreferences::linkPreloadEnabled(_Out_ BOOL* enabled)
     2020{
     2021    if (!enabled)
     2022        return E_POINTER;
     2023    *enabled = boolValueForKey(WebKitLinkPreloadEnabledPreferenceKey);
     2024    return S_OK;
     2025}
     2026
    20112027HRESULT WebPreferences::setApplicationId(BSTR applicationId)
    20122028{
  • trunk/Source/WebKit/win/WebPreferences.h

    r211332 r211341  
    250250    virtual HRESULT STDMETHODCALLTYPE userTimingEnabled(_Out_ BOOL*);
    251251    virtual HRESULT STDMETHODCALLTYPE setUserTimingEnabled(BOOL);
     252    virtual HRESULT STDMETHODCALLTYPE linkPreloadEnabled(_Out_ BOOL*);
     253    virtual HRESULT STDMETHODCALLTYPE setLinkPreloadEnabled(BOOL);
    252254
    253255    // WebPreferences
  • trunk/Source/WebKit2/ChangeLog

    r211332 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * Shared/WebPreferencesDefinitions.h:
     9        * UIProcess/API/C/WKPreferences.cpp:
     10        (WKPreferencesSetLinkPreloadEnabled):
     11        (WKPreferencesGetLinkPreloadEnabled):
     12        * UIProcess/API/C/WKPreferencesRefPrivate.h:
     13        * WebProcess/WebPage/WebPage.cpp:
     14        (WebKit::WebPage::updatePreferences):
     15
    1162017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    217
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r211332 r211341  
    316316    macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
    317317    macro(GamepadsEnabled, gamepadsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Gamepads", "Web Gamepad API support") \
     318    macro(LinkPreloadEnabled, linkPreloadEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Link Preload", "Link preload support") \
    318319    macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
    319320    macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r211332 r211341  
    16421642}
    16431643
     1644void WKPreferencesSetLinkPreloadEnabled(WKPreferencesRef preferencesRef, bool flag)
     1645{
     1646    toImpl(preferencesRef)->setLinkPreloadEnabled(flag);
     1647}
     1648
     1649bool WKPreferencesGetLinkPreloadEnabled(WKPreferencesRef preferencesRef)
     1650{
     1651    return toImpl(preferencesRef)->linkPreloadEnabled();
     1652}
     1653
    16441654void WKPreferencesSetShouldSuppressKeyboardInputDuringProvisionalNavigation(WKPreferencesRef preferencesRef, bool flag)
    16451655{
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h

    r211332 r211341  
    462462WK_EXPORT bool WKPreferencesGetShouldSuppressKeyboardInputDuringProvisionalNavigation(WKPreferencesRef);
    463463
     464// Defaults to false.
     465WK_EXPORT void WKPreferencesSetLinkPreloadEnabled(WKPreferencesRef, bool flag);
     466WK_EXPORT bool WKPreferencesGetLinkPreloadEnabled(WKPreferencesRef);
     467
    464468#ifdef __cplusplus
    465469}
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r211332 r211341  
    32413241    // Experimental Features.
    32423242
     3243    RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(store.getBoolValueForKey(WebPreferencesKey::linkPreloadEnabledKey()));
     3244
    32433245#if ENABLE(CSS_GRID_LAYOUT)
    32443246    RuntimeEnabledFeatures::sharedFeatures().setCSSGridLayoutEnabled(store.getBoolValueForKey(WebPreferencesKey::cssGridLayoutEnabledKey()));
  • trunk/Tools/ChangeLog

    r211332 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * DumpRenderTree/mac/DumpRenderTree.mm:
     9        (resetWebPreferencesToConsistentValues):
     10        * DumpRenderTree/win/DumpRenderTree.cpp:
     11        (resetWebPreferencesToConsistentValues):
     12
    1132017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    214
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r211332 r211341  
    901901    // FIXME: SpringTimingFunction
    902902    [preferences setGamepadsEnabled:YES];
     903    [preferences setLinkPreloadEnabled:YES];
    903904    [preferences setModernMediaControlsEnabled:YES];
    904905    // FIXME: InputEvents
  • trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp

    r211332 r211341  
    880880    prefsPrivate4->setCustomElementsEnabled(TRUE);
    881881    prefsPrivate4->setModernMediaControlsEnabled(FALSE);
     882    prefsPrivate4->setLinkPreloadEnabled(TRUE);
    882883
    883884    setAlwaysAcceptCookies(false);
  • trunk/Websites/webkit.org/ChangeLog

    r211332 r211341  
     12017-01-28  Yoav Weiss  <yoav@yoav.ws>
     2
     3        Add Link Preload as an off-by-default experimental feature menu item.
     4        https://bugs.webkit.org/show_bug.cgi?id=167201
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * experimental-features.html: Added Link Preload.
     9
    1102017-01-28  Joseph Pecoraro  <pecoraro@apple.com>
    211
  • trunk/Websites/webkit.org/experimental-features.html

    r211332 r211341  
    7979}
    8080
     81function testLinkPreload() {
     82    var link = document.createElement("link");
     83    return link.relList.supports("preload");
     84}
     85
    8186function testGamepad() {
    8287    return navigator.getGamepads;
     
    141146        <div class="test" id="FormValidation"><p>HTML Form Validation</p></div>
    142147        <div class="test" id="InputEvents"><p>HTML Input Events</p></div>
     148        <div class="test" id="LinkPreload"><p>Link Preload</p></div>
    143149        <div class="test" id="SubtleCrypto"><p>SubtleCrypto</p></div>
    144150        <div class="test" id="VariationFonts"><p>Variation Fonts</p></div>
Note: See TracChangeset for help on using the changeset viewer.