<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Add Link Preload as an off-by-default experimental feature menu item."
href="https://bugs.webkit.org/show_bug.cgi?id=167201#c8">Comment # 8</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Add Link Preload as an off-by-default experimental feature menu item."
href="https://bugs.webkit.org/show_bug.cgi?id=167201">bug 167201</a>
from <span class="vcard"><a class="email" href="mailto:yoav@yoav.ws" title="Yoav Weiss <yoav@yoav.ws>"> <span class="fn">Yoav Weiss</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=167201#c5">comment #5</a>)
<span class="quote">> Comment on <span class="bz_obsolete"><a href="attachment.cgi?id=299690&action=diff" name="attach_299690" title="Patch">attachment 299690</a> <a href="attachment.cgi?id=299690&action=edit" title="Patch">[details]</a></span>
> Patch
>
> View in context:
> <a href="https://bugs.webkit.org/attachment.cgi?id=299690&action=review">https://bugs.webkit.org/attachment.cgi?id=299690&action=review</a>
>
> Neat!</span >
Thanks! :)
<span class="quote">>
> r- only because I think there is some additional cleanup you should do when
> switching to an experimental feature.
>
> 1. Remove the legacy way to enable the feature for tests (since test runners
> will auto-enable it now!)
>
> Source/WebCore/testing/InternalSettings.cpp
> 187:
> RuntimeEnabledFeatures::sharedFeatures().
> setLinkPreloadEnabled(m_linkPreloadEnabled);
> 674:void InternalSettings::setLinkPreloadEnabled(bool enabled)
> 676:
> RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled(enabled);
>
> Source/WebCore/testing/InternalSettings.h
> 113: static void setLinkPreloadEnabled(bool);
> 191: bool m_linkPreloadEnabled;
>
> Source/WebCore/testing/InternalSettings.idl
> 86: void setLinkPreloadEnabled(boolean enabled);</span >
Removed
<span class="quote">>
> 2. Remove uses of `internal.settings.setLinkPreloadEnabled` in tests:
>
> 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.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.html
> http/tests/preload/not_delaying_window_onload_before_discovery.html
> http/tests/preload/onerror_event.html
> 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_runner.html
> http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html
> http/tests/security/cached-cross-origin-preloading-css-stylesheet.html
> </span >
Removed
<span class="quote">> Some tests might need updates based on line numbers once you simplify.
> </span >
Updated
<span class="quote">> 3. Add to the experimental features test page a way to quick test the
> experimental features menu (can be tested in MiniBrowser).
>
> Websites/webkit.org/experimental-features.html</span >
Added
<span class="quote">>
> Hopefully there is a way to feature check this. Maybe checking for the
> attribute being null instead of undefined.</span >
Of course there's a way to feature detect :)
(Forcing new features through this demo page is a great way to make sure of that. I really like that)
<span class="quote">>
> > Source/WebKit/mac/WebView/WebPreferencesPrivate.h:172
> > +- (void)setLinkPreloadEnabled:(BOOL)flag;
> > +- (BOOL)linkPreloadEnabled;
>
> At the bottom we have been just using @property syntax. For example:
>
> @property (nonatomic) BOOL intersectionObserverEnabled;</span >
Changed
<span class="quote">>
> > Source/WebKit/mac/WebView/WebView.mm:2901
> > + RuntimeEnabledFeatures::sharedFeatures().setLinkPreloadEnabled([preferences linkPreloadEnabled]);
>
> This could be moved to dot syntax:
>
> preferences.linkPreloadEnabled</span >
Moved</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>