Changeset 212945 in webkit


Ignore:
Timestamp:
Feb 23, 2017 10:52:02 PM (7 years ago)
Author:
Joseph Pecoraro
Message:

[Resource Timing] Add Experimental Feature Flag
https://bugs.webkit.org/show_bug.cgi?id=167147

Reviewed by Ryosuke Niwa.

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h:

Move ResourceTiming to experimental section.
Disable it for El Capitan due to known issues.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
Put experimental flags in the experimental section.

Websites/webkit.org:

  • experimental-features.html:

Test for Resource Timing.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r212944 r212945  
     12017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        [Resource Timing] Add Experimental Feature Flag
     4        https://bugs.webkit.org/show_bug.cgi?id=167147
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * Shared/WebPreferencesDefinitions.h:
     9        Move ResourceTiming to experimental section.
     10        Disable it for El Capitan due to known issues.
     11
    1122017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
    213
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r212812 r212945  
    241241    macro(ShouldSuppressKeyboardInputDuringProvisionalNavigation, shouldSuppressKeyboardInputDuringProvisionalNavigation, Bool, bool, false, "", "") \
    242242    macro(CSSGridLayoutEnabled, cssGridLayoutEnabled, Bool, bool, true, "CSS Grid", "CSS Grid Layout Module support") \
    243     macro(ResourceTimingEnabled, resourceTimingEnabled, Bool, bool, false, "Resource Timing", "Enable ResourceTiming API") \
    244243    \
    245244
     
    290289    macro(VisibleDebugOverlayRegions, visibleDebugOverlayRegions, UInt32, uint32_t, 0, "", "")
    291290
    292 // Our XCode build system does not currently have any concept of DEVELOPER_MODE.
     291// Our Xcode build system does not currently have any concept of DEVELOPER_MODE.
    293292// Cocoa ports must disable experimental features on release branches for now.
    294293#if ENABLE(DEVELOPER_MODE) || PLATFORM(COCOA)
     
    296295#else
    297296#define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED false
     297#endif
     298       
     299#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101200
     300// <https://webkit.org/b/168415> El Capitan NetworkLoadTiming values are sometimes jumbled
     301#define DEFAULT_RESOURCE_TIMING_ENABLED false
     302#else
     303#define DEFAULT_RESOURCE_TIMING_ENABLED DEFAULT_EXPERIMENTAL_FEATURES_ENABLED
    298304#endif
    299305
     
    302308// - You must provide the last two parameters for all experimental features. They
    303309//   are the text exposed to the user from the WebKit client.
    304 // - They should be alphabetically ordered by the human readable text.
    305 // - The default value may be either false (for very unstable features) or
     310// - They should be alphabetically ordered by the human readable text (the first string).
     311// - The default value may be either false (for unstable features) or
    306312//   DEFAULT_EXPERIMENTAL_FEATURE_ENABLED (for features that are ready for
    307313//   wider testing).
     
    315321    macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
    316322    macro(GamepadsEnabled, gamepadsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Gamepads", "Web Gamepad API support") \
     323    macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
    317324    macro(LinkPreloadEnabled, linkPreloadEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Link Preload", "Link preload support") \
    318325    macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
    319     macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
    320     macro(PeerConnectionEnabled, peerConnectionEnabled, Bool, bool, checkWebRTCAvailability(), "WebRTC", "Enable WebRTC API") \
     326    macro(ResourceTimingEnabled, resourceTimingEnabled, Bool, bool, DEFAULT_RESOURCE_TIMING_ENABLED, "Resource Timing", "Enable ResourceTiming API") \
    321327    macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
    322     macro(UserTimingEnabled, userTimingEnabled, Bool, bool, false, "User Timing", "Enable UserTiming API") \
     328    macro(UserTimingEnabled, userTimingEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "User Timing", "Enable UserTiming API") \
    323329    macro(WebAnimationsEnabled, webAnimationsEnabled, Bool, bool, false, "Web Animations", "Web Animations prototype") \
    324330    macro(WebGL2Enabled, webGL2Enabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "WebGL 2.0", "WebGL 2 prototype") \
     331    macro(PeerConnectionEnabled, peerConnectionEnabled, Bool, bool, checkWebRTCAvailability(), "WebRTC", "Enable WebRTC API") \
    325332    \
    326333
  • trunk/Tools/ChangeLog

    r212929 r212945  
     12017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        [Resource Timing] Add Experimental Feature Flag
     4        https://bugs.webkit.org/show_bug.cgi?id=167147
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * DumpRenderTree/mac/DumpRenderTree.mm:
     9        (enableExperimentalFeatures):
     10        (resetWebPreferencesToConsistentValues):
     11        * DumpRenderTree/win/DumpRenderTree.cpp:
     12        (enableExperimentalFeatures):
     13        (resetWebPreferencesToConsistentValues):
     14        Put experimental flags in the experimental section.
     15
    1162017-02-23  Beth Dakin  <bdakin@apple.com> + Dan Saunders  <dasau@microsoft.com>
    217
  • trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm

    r212876 r212945  
    843843    [preferences setModernMediaControlsEnabled:YES];
    844844    // FIXME: InputEvents
     845    [preferences setResourceTimingEnabled:YES];
    845846    [preferences setSubtleCryptoEnabled:YES];
    846847    [preferences setUserTimingEnabled:YES];
    847848    [preferences setWebAnimationsEnabled:YES];
    848849    [preferences setWebGL2Enabled:YES];
     850    [preferences setPeerConnectionEnabled:YES];
    849851}
    850852
     
    952954   
    953955    [preferences setMediaStreamEnabled:YES];
    954     [preferences setPeerConnectionEnabled:YES];
    955 
    956     [preferences setResourceTimingEnabled:YES];
    957956
    958957    [WebPreferences _clearNetworkLoaderSession];
  • trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp

    r212173 r212945  
    775775    // FIXME: SpringTimingFunction
    776776    // FIXME: Gamepads
     777    prefsPrivate4->setLinkPreloadEnabled(TRUE);
    777778    // FIXME: ModernMediaControls
    778779    // FIXME: InputEvents
     780    prefsPrivate4->setResourceTimingEnabled(TRUE);
    779781    // FIXME: SubtleCrypto
    780782    prefsPrivate4->setUserTimingEnabled(TRUE);
    781783    prefsPrivate4->setWebAnimationsEnabled(TRUE);
    782784    // FIXME: WebGL2
     785    // FIXME: WebRTC
    783786}
    784787
     
    879882    prefsPrivate4->setCustomElementsEnabled(TRUE);
    880883    prefsPrivate4->setModernMediaControlsEnabled(FALSE);
    881     prefsPrivate4->setResourceTimingEnabled(TRUE);
    882     prefsPrivate4->setLinkPreloadEnabled(TRUE);
    883884
    884885    setAlwaysAcceptCookies(false);
  • trunk/Websites/webkit.org/ChangeLog

    r212907 r212945  
     12017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        [Resource Timing] Add Experimental Feature Flag
     4        https://bugs.webkit.org/show_bug.cgi?id=167147
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        * experimental-features.html:
     9        Test for Resource Timing.
     10
    1112017-02-23  Alex Christensen  <achristensen@webkit.org>
    212
  • trunk/Websites/webkit.org/experimental-features.html

    r212907 r212945  
    7474}
    7575
    76 function testWebGL2() {
    77     let canvas = document.createElement("canvas");
    78     return canvas.getContext("webgl2");
    79 }
    80 
    8176function testLinkPreload() {
    8277    var link = document.createElement("link");
     
    8681function testGamepad() {
    8782    return navigator.getGamepads;
    88 }
    89 
    90 function testWebRTC() {
    91     return window.RTCPeerConnection;
    9283}
    9384
     
    112103}
    113104
     105function testResourceTiming() {
     106    return !!window.PerformanceResourceTiming;
     107}
     108
    114109function testSubtleCrypto() {
    115110    return window.crypto.subtle;
     
    117112
    118113function testUserTiming() {
    119     return window.performance.mark;
     114    return !!window.PerformanceMark;
    120115}
    121116
    122117function testWebAnimations() {
    123118    return !!window.Animation;
     119}
     120
     121function testWebGL2() {
     122    let canvas = document.createElement("canvas");
     123    return canvas.getContext("webgl2");
     124}
     125
     126function testWebRTC() {
     127    return window.RTCPeerConnection;
    124128}
    125129
     
    151155        <div class="test" id="InputEvents"><p>HTML Input Events</p></div>
    152156        <div class="test" id="LinkPreload"><p>Link Preload</p></div>
     157        <div class="test" id="ResourceTiming"><p>Resource Timing</p></div>
    153158        <div class="test" id="SubtleCrypto"><p>SubtleCrypto</p></div>
    154159        <div class="test" id="VariationFonts"><p>Variation Fonts</p></div>
Note: See TracChangeset for help on using the changeset viewer.