haikuwebkit/Tools/WebKitTestRunner/TestOptions.cpp

279 lines
12 KiB
C++
Raw Permalink Normal View History

WebKitTestRunner fails to apply "useFlexibleViewport" when it's specified in a file comment https://bugs.webkit.org/show_bug.cgi?id=149650 Reviewed by Tim Horton. TestInvocation::invoke() consulted shouldMakeViewportFlexible(), but that only looks at the file path, and not the custom options that come from file comments. Fix by computing TestOptions before making the TestInvocation, and setting them as const TestInvocation data. This meant changing various call sites to take the std::string pathOrURL, rather than the TestInvocation itself. Also initialize TestInvocation with a WKURLRef, rather than a std::string. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::testPath): (WTR::createTestURL): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::testOptionsForTest): (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::invoke): (WTR::createWKURL): Deleted. (WTR::TestInvocation::shouldMakeViewportFlexible): Deleted. (WTR::TestInvocation::shouldUseFixedLayout): Deleted. * WebKitTestRunner/TestInvocation.h: (WTR::TestInvocation::options): * WebKitTestRunner/TestOptions.cpp: Copied from Tools/WebKitTestRunner/TestOptions.h. (WTR::pathContains): (WTR::shouldMakeViewportFlexible): (WTR::shouldUseFixedLayout): (WTR::isSVGTestPath): (WTR::isHiDPITestPath): (WTR::TestOptions::TestOptions): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::pathContains): (WTR::shouldUseFixedLayout): (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Canonical link: https://commits.webkit.org/167752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-30 01:20:23 +00:00
/*
* Copyright (C) 2015 Apple 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 APPLE INC. AND ITS 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 APPLE INC. OR ITS 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 "TestOptions.h"
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
#include "TestOptionsGeneratedKeys.h"
Share TestFeatures and TestCommand infrastructure between DumpRenderTree and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217614 Reviewed by Dean Jackson. Move TestFeatures and TestCommand code from WebKitTestRunner to TestRunnerShared and adopt shared code in both WebKitTestRunner and DumpRenderTree. This allows us to remove duplicate argument and test header parsing code and avoid updating both when we want want change things. To support different sets of test header options, featureDefaultsFromTestHeaderForTest now has a parameter for a key type map, rather than the old hardcoded set. This allows WebKitTestRunner and DumpRenderTree, which currently have slightly different options to continue to behave in the same way. Eventually, it will probably make sense to have these mostly generated from the WebPreferences*.yaml configuration files. Matching precedent, shared files use the WTR namespace. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * TestRunnerShared/CMakeLists.txt: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add new files. * DumpRenderTree/DumpRenderTree.h: Removes TestCommand and parseInputLine now that they come from shared TestCommand.h * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed. Moved contents to shared TestCommand.cpp * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: Adopt model from WebKitTestRunner and use initialization from TestFeatures. * DumpRenderTree/mac/DumpRenderTree.mm: Adopt shared TestFeatures and TestCommand infrastructure. Construct TestOptions in a similar manner to WebKitTestRunner by merging together hardcoded / path based features and test header based features. * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: Update for new namespace. * TestRunnerShared/TestCommand.cpp: Added. * TestRunnerShared/TestCommand.h: Added. * TestRunnerShared/TestFeatures.cpp: Added. * TestRunnerShared/TestFeatures.h: Added. * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: Moved from WebKitTestRunner. Generalized to TestFeatures to take a key type map, rather than hard coding it. Replace use of WebKit types, like WKURLRef, with std::string and std::filesystem::path. Canonical link: https://commits.webkit.org/230379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 21:54:50 +00:00
#include <wtf/Assertions.h>
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
WebKitTestRunner fails to apply "useFlexibleViewport" when it's specified in a file comment https://bugs.webkit.org/show_bug.cgi?id=149650 Reviewed by Tim Horton. TestInvocation::invoke() consulted shouldMakeViewportFlexible(), but that only looks at the file path, and not the custom options that come from file comments. Fix by computing TestOptions before making the TestInvocation, and setting them as const TestInvocation data. This meant changing various call sites to take the std::string pathOrURL, rather than the TestInvocation itself. Also initialize TestInvocation with a WKURLRef, rather than a std::string. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::testPath): (WTR::createTestURL): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::testOptionsForTest): (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::invoke): (WTR::createWKURL): Deleted. (WTR::TestInvocation::shouldMakeViewportFlexible): Deleted. (WTR::TestInvocation::shouldUseFixedLayout): Deleted. * WebKitTestRunner/TestInvocation.h: (WTR::TestInvocation::options): * WebKitTestRunner/TestOptions.cpp: Copied from Tools/WebKitTestRunner/TestOptions.h. (WTR::pathContains): (WTR::shouldMakeViewportFlexible): (WTR::shouldUseFixedLayout): (WTR::isSVGTestPath): (WTR::isHiDPITestPath): (WTR::TestOptions::TestOptions): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::pathContains): (WTR::shouldUseFixedLayout): (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Canonical link: https://commits.webkit.org/167752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-30 01:20:23 +00:00
namespace WTR {
#if PLATFORM(COCOA)
static constexpr bool captureAudioInGPUProcessEnabledValue = true;
static constexpr bool captureVideoInGPUProcessEnabledValue = true;
#else
static constexpr bool captureAudioInGPUProcessEnabledValue = false;
static constexpr bool captureVideoInGPUProcessEnabledValue = false;
#endif
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
#if PLATFORM(IOS_FAMILY_SIMULATOR)
static constexpr bool mediaSourceEnabledValue = false;
#else
static constexpr bool mediaSourceEnabledValue = true;
#endif
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
const TestFeatures& TestOptions::defaults()
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
static TestFeatures features;
if (features.boolWebPreferenceFeatures.empty()) {
features.boolWebPreferenceFeatures = {
// These are WebPreference values that must always be set as they may
// differ from the default set in the WebPreferences*.yaml configuration.
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
// Please do not add new options here if they are not necessary (e.g.
// an experimental feature which gets enabled by default automatically)
// as it adds a small amount of unnecessary work per-test.
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
{ "AcceleratedDrawingEnabled", false },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "AllowFileAccessFromFileURLs", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "AllowTopNavigationToDataURLs", true },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "AllowUniversalAccessFromFileURLs", true },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "AllowsInlineMediaPlayback", true },
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
{ "AsyncFrameScrollingEnabled", false },
{ "AsyncOverflowScrollingEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "CSSOMViewScrollingAPIEnabled", true },
{ "CaptureAudioInGPUProcessEnabled", captureAudioInGPUProcessEnabledValue },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "CaptureAudioInUIProcessEnabled", false },
{ "CaptureVideoInGPUProcessEnabled", captureVideoInGPUProcessEnabledValue },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "CaptureVideoInUIProcessEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "ContentChangeObserverEnabled", false },
{ "CustomPasteboardDataEnabled", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "DOMPasteAllowed", true },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "DataTransferItemsEnabled", true },
{ "DeveloperExtrasEnabled", true },
{ "DirectoryUploadEnabled", true },
{ "ExposeSpeakersEnabled", true },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "FrameFlatteningEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "FullScreenEnabled", true },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "GenericCueAPIEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "HiddenPageCSSAnimationSuspensionEnabled", false },
{ "HiddenPageDOMTimerThrottlingEnabled", false },
{ "InlineMediaPlaybackRequiresPlaysInlineAttribute", false },
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
{ "InputTypeDateEnabled", true },
{ "InputTypeDateTimeLocalEnabled", true },
{ "InputTypeMonthEnabled", true },
{ "InputTypeTimeEnabled", true },
{ "InputTypeWeekEnabled", true },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "JavaScriptCanAccessClipboard", true },
{ "JavaScriptCanOpenWindowsAutomatically", true },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "LargeImageAsyncDecodingEnabled", false },
{ "MediaDevicesEnabled", true },
{ "MediaPreloadingEnabled", true },
{ "MediaSourceEnabled", mediaSourceEnabledValue },
{ "MockCaptureDevicesEnabled", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "MockScrollbarsEnabled", true },
{ "ModernMediaControlsEnabled", true },
{ "NeedsSiteSpecificQuirks", false },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "NeedsStorageAccessFromFileURLsQuirk", false },
Disable ApplicationCache with linkedOnOrAfter check https://bugs.webkit.org/show_bug.cgi?id=224629 Patch by Alex Christensen <achristensen@webkit.org> on 2021-04-16 Reviewed by Brady Eidson. Source/WebCore: ApplicationCache has been deprecated for two years in WebKit with a message to developers since r227225. Firefox removed support in https://bugzilla.mozilla.org/show_bug.cgi?id=1619673 which shipped with Firefox 84 on Dec 15, 2020. Chrome removed support in https://bugs.chromium.org/p/chromium/issues/detail?id=582750 by default in Chrome 85 on August 25, 2020 but they have a reverse origin trial program running right now so that some origins have it working, but they are planning to remove even that support October 2021. We have kept it working for a reason related to rdar://38505756, specifically the 4th and 5th comment in that bug. That reason is now passed. This patch removes support for new apps but keeps it working for 3rd party apps linked with existing SDKs. Once those apps update to a new SDK, they will be unable to use ApplicationCache. They will need to migrate to use fetch service workers instead. * platform/cocoa/VersionChecks.h: Source/WebKit: * Shared/WebPreferencesDefaultValues.cpp: (WebKit::defaultOfflineWebApplicationCacheEnabled): * Shared/WebPreferencesDefaultValues.h: Source/WTF: * Scripts/Preferences/WebPreferences.yaml: Tools: * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Canonical link: https://commits.webkit.org/236651@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276164 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-16 20:41:08 +00:00
{ "OfflineWebApplicationCacheEnabled", true },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "OffscreenCanvasEnabled", true },
Allow conditionally enabling OffscreenCanvas only for non-worker contexts https://bugs.webkit.org/show_bug.cgi?id=225845 Reviewed by Darin Adler. .: * Source/cmake/OptionsGTK.cmake: * Source/cmake/OptionsWPE.cmake: * Source/cmake/WebKitFeatures.cmake: Match current behavior of ENABLE_OFFSCREEN_CANVAS for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS. Source/WebCore: Enable both compile time and runtime conditional enablement of just the non-worker OffscreenCanvas code path. To make this work a new IDL extended attribute was needed, ConditionalForWorker=FOO, which allows specifying an additional macro to check for whether the constructor should be exposed on workers. Ideally this would be generic for any context type, but at the moment, the limited syntax of extended attributes makes that hard. If generalization is needed (or a similar syntax is needed for something else) this can be revisited. To support runtime conditional exposure, the existing EnabledForContext, which calls a static function on the implementation class passing the ScriptExecutationContext is used. If conditional per context type ever becomes a common thing, we should add another extended attribute (and add syntax to support like above) that allows specifying both the context type and the setting name. Other than that, uses of ENABLE_OFFSCREEN_CANVAS that guarded worker specific functionality were replaced by ENABLE_OFFSCREEN_CANVAS_IN_WORKERS. * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readTerminal): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::computeMemoryCost const): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: (WebCore::SerializedScriptValue::SerializedScriptValue): * bindings/scripts/IDLAttributes.json: * bindings/scripts/preprocess-idls.pl: (GenerateConstructorAttributes): * html/HTMLCanvasElement.idl: * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::enabledForContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/OffscreenCanvasRenderingContext2D.cpp: (WebCore::OffscreenCanvasRenderingContext2D::enabledForContext): * html/canvas/OffscreenCanvasRenderingContext2D.h: * html/canvas/OffscreenCanvasRenderingContext2D.idl: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setOffscreenCanvasInWorkersEnabled): (WebCore::RuntimeEnabledFeatures::offscreenCanvasInWorkersEnabled const): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/WorkerAnimationController.cpp: * workers/WorkerAnimationController.h: Source/WTF: * Scripts/Preferences/WebPreferencesInternal.yaml: Add new OffscreenCanvasInWorkersEnabled preference. * wtf/PlatformEnable.h: Add new ENABLE_OFFSCREEN_CANVAS_IN_WORKERS macro. Tools: * Scripts/webkitperl/FeatureList.pm: * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Match current behavior of ENABLE_OFFSCREEN_CANVAS and OffscreenCanvasEnabled for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS and OffscreenCanvasInWorkersEnabled. Canonical link: https://commits.webkit.org/237788@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@277560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-16 03:14:57 +00:00
{ "OffscreenCanvasInWorkersEnabled", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "PageVisibilityBasedProcessSuppressionEnabled", false },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "PluginsEnabled", true },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "RequiresUserGestureForAudioPlayback", false },
{ "RequiresUserGestureForMediaPlayback", false },
{ "RequiresUserGestureForVideoPlayback", false },
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
{ "SpeakerSelectionRequiresUserGesture", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "SubpixelAntialiasedLayerTextEnabled", false },
{ "TabsToLinks", false },
{ "TextAutosizingEnabled", false },
{ "TextAutosizingUsesIdempotentMode", false },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "UsesBackForwardCache", false },
{ "WebAuthenticationEnabled", true },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
{ "WebRTCMDNSICECandidatesEnabled", false },
Remove remaining alternative preference setting mechanisms from LayoutTests https://bugs.webkit.org/show_bug.cgi?id=218417 Reviewed by Simon Fraser. Source/WebKit: Remove now unused bundle SPI that was only used by the WebKitTestRuner. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideBoolPreferenceForTestRunner): Deleted. (WKBundleSetAllowUniversalAccessFromFileURLs): Deleted. (WKBundleSetAllowFileAccessFromFileURLs): Deleted. (WKBundleSetAllowStorageAccessFromFileURLS): Deleted. (WKBundleSetMinimumLogicalFontSize): Deleted. (WKBundleSetFrameFlatteningEnabled): Deleted. (WKBundleSetJavaScriptCanAccessClipboard): Deleted. (WKBundleSetPopupBlockingEnabled): Deleted. (WKBundleSetAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::addOriginAccessAllowListEntry): (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Deleted. (WebKit::InjectedBundle::setAllowUniversalAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs): Deleted. (WebKit::InjectedBundle::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WebKit::InjectedBundle::setMinimumLogicalFontSize): Deleted. (WebKit::InjectedBundle::setFrameFlatteningEnabled): Deleted. (WebKit::InjectedBundle::setAsyncFrameScrollingEnabled): Deleted. (WebKit::InjectedBundle::setJavaScriptCanAccessClipboard): Deleted. (WebKit::InjectedBundle::setPopupBlockingEnabled): Deleted. (WebKit::InjectedBundle::setAuthorAndUserStylesEnabled): Deleted. * WebProcess/InjectedBundle/InjectedBundle.h: Source/WebKitLegacy/win: * WebPreferenceKeysPrivate.h: Update key to match cocoa WebKitLegacy for shared use by DumpRenderTree. Tools: Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree keeping only test header commands (which can be set without JS and can be in place before the inital load) and internals.settings, which can be used when dynamic changing is required. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::supportedUInt32WebPreferenceFeatures): (WTR::TestOptions::defaults): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestRunner.cpp: (setPagePausedCallback): (TestRunner::staticFunctions): (setAuthorAndUserStylesEnabledCallback): Deleted. (setJavaScriptCanAccessClipboardCallback): Deleted. (setXSSAuditorEnabledCallback): Deleted. (setAllowUniversalAccessFromFileURLsCallback): Deleted. (setAllowFileAccessFromFileURLsCallback): Deleted. (setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted. (setTelephoneNumberParsingEnabledCallback): Deleted. (setPopupBlockingEnabledCallback): Deleted. (setPluginsEnabledCallback): Deleted. * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (boolWebPreferenceFeatureValue): Deleted. (shouldEnableDeveloperExtras): Deleted. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setTelephoneNumberParsingEnabled): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): (webPreferenceFeatureValue): (setWebPreferencesForTestOptions): (runTest): (shouldEnableDeveloperExtras): Deleted. (boolWebPreferenceFeatureValue): Deleted. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setAuthorAndUserStylesEnabled): Deleted. (TestRunner::setXSSAuditorEnabled): Deleted. (TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (TestRunner::setAllowFileAccessFromFileURLs): Deleted. (TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (TestRunner::setPopupBlockingEnabled): Deleted. (TestRunner::setPluginsEnabled): Deleted. (TestRunner::setJavaScriptCanAccessClipboard): Deleted. (TestRunner::setDeveloperExtrasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::overridePreference): Deleted. (WTR::TestRunner::setXSSAuditorEnabled): Deleted. (WTR::TestRunner::setMediaDevicesEnabled): Deleted. (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted. (WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted. (WTR::TestRunner::setModernMediaControlsEnabled): Deleted. (WTR::TestRunner::setWebGL2Enabled): Deleted. (WTR::TestRunner::setWritableStreamAPIEnabled): Deleted. (WTR::TestRunner::setTransformStreamAPIEnabled): Deleted. (WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted. (WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted. (WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted. (WTR::TestRunner::setGenericCueAPIEnabled): Deleted. (WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted. (WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted. (WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted. (WTR::TestRunner::setPluginsEnabled): Deleted. (WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted. (WTR::TestRunner::setPopupBlockingEnabled): Deleted. (WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted. (WTR::TestRunner::setOffscreenCanvasEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): LayoutTests: Update tests to only rely on test header commands and internals.settings for changing preferences to simplify test writing. * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler-in-subframe.html: * editing/async-clipboard/clipboard-write-in-copy-event-handler.html: * editing/async-clipboard/clipboard-write-text-requires-user-gesture.html: * editing/execCommand/clipboard-access-with-user-gesture.html: * editing/execCommand/clipboard-access.html: * fast/css/disabled-author-styles.html: * fast/css/object-fit/object-fit-embed-expected.html: * fast/css/object-fit/object-fit-embed.html: * fast/css/object-position/object-position-embed.html: * fast/events/before-unload-navigate-different-window.html: * fast/events/before-unload-open-window.html: * fast/events/ios/submit-form-target-blank-using-return-key.html: * fast/events/open-window-from-another-frame.html: * fast/events/popup-allowed-from-gesture-initiated-event.html: * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: * fast/events/popup-blocked-from-fake-button-click.html: * fast/events/popup-blocked-from-fake-focus.html: * fast/events/popup-blocked-from-fake-user-gesture.html: * fast/events/popup-blocked-from-history-reload.html: * fast/events/popup-blocked-from-iframe-script.html: * fast/events/popup-blocked-from-iframe-src.html: * fast/events/popup-blocked-from-mousemove.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame.html: * fast/events/popup-blocked-from-sandboxed-frame-via-window-open-named-sibling-frame2.html: * fast/events/popup-blocked-from-untrusted-click-event-on-anchor.html: * fast/events/popup-blocked-from-untrusted-mouse-click.html: * fast/events/popup-blocked-from-window-open.html: * fast/events/popup-blocked-to-post-blank.html: * fast/events/popup-blocking-click-in-iframe.html: * fast/events/popup-blocking-timers1.html: * fast/events/popup-blocking-timers2.html: * fast/events/popup-blocking-timers3.html: * fast/events/popup-blocking-timers5.html: * fast/events/popup-blocking-timers6.html: * fast/events/popup-when-select-change.html: * fast/files/file-reader-file-url.html: * fast/files/file-reader-sandbox-iframe.html: * fast/files/workers/inline-worker-via-blob-url.html: * fast/forms/formtarget-attribute-button-html.html: * fast/forms/formtarget-attribute-input-2.html: * fast/forms/formtarget-attribute-input-html.html: * fast/forms/xss-auditor-doesnt-crash-on-post-submit.html: * fast/frames/resources/no-file-access-frame-1.html: * fast/frames/xss-auditor-handles-file-urls.html: * fast/images/embed-image.html: * fast/images/move-image-to-new-document.html: * fast/loader/url-selected-user-gesture.html: * fast/replaced/border-radius-clip-content-edge.html: * fast/replaced/outline-replaced-elements.html: * fast/replaced/pdf-as-embed-with-no-mime-type-is-not-blank.html: * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: * fullscreen/full-screen-request-rejected.html: * fullscreen/full-screen-request-removed.html: * fullscreen/full-screen-restrictions.html: * http/tests/cookies/resources/cookie-utilities.js: * http/tests/dom/window-open-about-blank-and-access-document.html: * http/tests/dom/window-open-about-uppercase-blank-and-access-document.html: * http/tests/dom/window-open-about-webkit-org-and-access-document-async-delegates.html: * http/tests/dom/window-open-about-webkit-org-and-access-document.html: * http/tests/download/convert-cached-load-to-download.html: * http/tests/security/popup-blocked-from-fake-event.html: * http/tests/security/popup-blocked-from-window-open.html: * http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location.html: * http/tests/security/xssAuditor/anchor-url-dom-write-location2.html: * http/tests/security/xssAuditor/base-href-control-char.html: * http/tests/security/xssAuditor/base-href-direct.html: * http/tests/security/xssAuditor/base-href-null-char.html: * http/tests/security/xssAuditor/base-href-safe.html: * http/tests/security/xssAuditor/base-href-safe2.html: * http/tests/security/xssAuditor/base-href-safe3.html: * http/tests/security/xssAuditor/base-href-scheme-relative.html: * http/tests/security/xssAuditor/base-href.html: * http/tests/security/xssAuditor/block-does-not-leak-location.html: * http/tests/security/xssAuditor/block-does-not-leak-referrer.html: * http/tests/security/xssAuditor/block-does-not-leak-that-page-was-blocked-using-empty-data-url.html: * http/tests/security/xssAuditor/cached-frame.html: * http/tests/security/xssAuditor/cookie-injection.html: * http/tests/security/xssAuditor/crash-while-loading-tag-with-pause.html: * http/tests/security/xssAuditor/data-urls-work.html: * http/tests/security/xssAuditor/dom-write-URL.html: * http/tests/security/xssAuditor/dom-write-innerHTML.html: * http/tests/security/xssAuditor/dom-write-location-dom-write-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location-inline-event.html: * http/tests/security/xssAuditor/dom-write-location-javascript-URL.html: * http/tests/security/xssAuditor/dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/dom-write-location.html: * http/tests/security/xssAuditor/embed-tag-code-attribute-2.html: * http/tests/security/xssAuditor/embed-tag-code-attribute.html: * http/tests/security/xssAuditor/embed-tag-control-char.html: * http/tests/security/xssAuditor/embed-tag-in-path-unterminated.html: * http/tests/security/xssAuditor/embed-tag-javascript-url.html: * http/tests/security/xssAuditor/embed-tag-null-char.html: * http/tests/security/xssAuditor/embed-tag.html: * http/tests/security/xssAuditor/faux-script1.html: * http/tests/security/xssAuditor/faux-script2.html: * http/tests/security/xssAuditor/faux-script3.html: * http/tests/security/xssAuditor/form-action.html: * http/tests/security/xssAuditor/formaction-on-button.html: * http/tests/security/xssAuditor/formaction-on-input.html: * http/tests/security/xssAuditor/frameset-injection.html: * http/tests/security/xssAuditor/full-block-base-href.html: * http/tests/security/xssAuditor/full-block-get-from-iframe.html: * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: * http/tests/security/xssAuditor/full-block-javascript-link.html: * http/tests/security/xssAuditor/full-block-link-onclick.html: * http/tests/security/xssAuditor/full-block-object-tag.html: * http/tests/security/xssAuditor/full-block-post-from-iframe.html: * http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: * http/tests/security/xssAuditor/full-block-script-tag.html: * http/tests/security/xssAuditor/get-from-iframe.html: * http/tests/security/xssAuditor/iframe-injection-allowed-2.html: * http/tests/security/xssAuditor/iframe-injection-allowed-3.html: * http/tests/security/xssAuditor/iframe-injection-allowed.html: * http/tests/security/xssAuditor/iframe-injection.html: * http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html: * http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html: * http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html: * http/tests/security/xssAuditor/iframe-javascript-url.html: * http/tests/security/xssAuditor/iframe-onload-GBK-char.html: * http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html: * http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html: * http/tests/security/xssAuditor/iframe-srcdoc.html: * http/tests/security/xssAuditor/img-onerror-GBK-char.html: * http/tests/security/xssAuditor/img-onerror-accented-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html: * http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html: * http/tests/security/xssAuditor/img-onerror-tricky.html: * http/tests/security/xssAuditor/img-tag-with-comma.html: * http/tests/security/xssAuditor/inline-event-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html: * http/tests/security/xssAuditor/javascript-link-HTML-entities.html: * http/tests/security/xssAuditor/javascript-link-ampersand.html: * http/tests/security/xssAuditor/javascript-link-control-char.html: * http/tests/security/xssAuditor/javascript-link-control-char2.html: * http/tests/security/xssAuditor/javascript-link-null-char.html: * http/tests/security/xssAuditor/javascript-link-one-plus-one.html: * http/tests/security/xssAuditor/javascript-link-safe.html: * http/tests/security/xssAuditor/javascript-link-url-encoded.html: * http/tests/security/xssAuditor/javascript-link.html: * http/tests/security/xssAuditor/link-onclick-ampersand.html: * http/tests/security/xssAuditor/link-onclick-control-char.html: * http/tests/security/xssAuditor/link-onclick-entities.html: * http/tests/security/xssAuditor/link-onclick-null-char.html: * http/tests/security/xssAuditor/link-onclick.html: * http/tests/security/xssAuditor/link-opens-new-window.html: * http/tests/security/xssAuditor/malformed-HTML.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-1.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-2.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-3.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-4.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-5.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-6.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-7.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-8.html: * http/tests/security/xssAuditor/malformed-xss-protection-header-9.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-javascript-url.html: * http/tests/security/xssAuditor/meta-tag-http-refresh-x-frame-options-ignored.html: * http/tests/security/xssAuditor/nested-dom-write-location-open-img-onerror.html: * http/tests/security/xssAuditor/no-protection-script-tag.html: * http/tests/security/xssAuditor/non-block-javascript-url-frame.html: * http/tests/security/xssAuditor/object-embed-tag-control-char.html: * http/tests/security/xssAuditor/object-embed-tag-null-char.html: * http/tests/security/xssAuditor/object-embed-tag.html: * http/tests/security/xssAuditor/object-src-inject.html: * http/tests/security/xssAuditor/object-tag-javascript-url.html: * http/tests/security/xssAuditor/object-tag.html: * http/tests/security/xssAuditor/open-attribute-body.html: * http/tests/security/xssAuditor/open-event-handler-iframe.html: * http/tests/security/xssAuditor/open-iframe-src-01.html: * http/tests/security/xssAuditor/open-iframe-src-02.html: * http/tests/security/xssAuditor/open-iframe-src-03.html: * http/tests/security/xssAuditor/open-script-src-01.html: * http/tests/security/xssAuditor/open-script-src-02.html: * http/tests/security/xssAuditor/open-script-src-03.html: * http/tests/security/xssAuditor/open-script-src-04.html: * http/tests/security/xssAuditor/post-from-iframe.html: * http/tests/security/xssAuditor/property-escape-comment-01.html: * http/tests/security/xssAuditor/property-escape-comment-02.html: * http/tests/security/xssAuditor/property-escape-comment-03.html: * http/tests/security/xssAuditor/property-escape-entity-01.html: * http/tests/security/xssAuditor/property-escape-entity-02.html: * http/tests/security/xssAuditor/property-escape-entity-03.html: * http/tests/security/xssAuditor/property-escape-long.html: * http/tests/security/xssAuditor/property-escape-noquotes-tab-slash-chars.html: * http/tests/security/xssAuditor/property-escape-noquotes.html: * http/tests/security/xssAuditor/property-escape-quote-01.html: * http/tests/security/xssAuditor/property-escape-quote-02.html: * http/tests/security/xssAuditor/property-escape-quote-03.html: * http/tests/security/xssAuditor/property-escape.html: * http/tests/security/xssAuditor/property-inject.html: * http/tests/security/xssAuditor/reflection-in-path.html: * http/tests/security/xssAuditor/regress-167121.html: * http/tests/security/xssAuditor/report-script-tag-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block-and-do-not-follow-redirect-when-sending-report.html: * http/tests/security/xssAuditor/report-script-tag-full-block.html: * http/tests/security/xssAuditor/report-script-tag-replace-state.html: * http/tests/security/xssAuditor/report-script-tag.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe2.html: * http/tests/security/xssAuditor/resources/base-href/base-href-safe3.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html: * http/tests/security/xssAuditor/script-tag-Big5-char.html: * http/tests/security/xssAuditor/script-tag-Big5-char2.html: * http/tests/security/xssAuditor/script-tag-addslashes-backslash.html: * http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html: * http/tests/security/xssAuditor/script-tag-addslashes-null-char.html: * http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html: * http/tests/security/xssAuditor/script-tag-control-char.html: * http/tests/security/xssAuditor/script-tag-convoluted.html: * http/tests/security/xssAuditor/script-tag-entities.html: * http/tests/security/xssAuditor/script-tag-expression-follows.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html: * http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html: * http/tests/security/xssAuditor/script-tag-near-start.html: * http/tests/security/xssAuditor/script-tag-null-char.html: * http/tests/security/xssAuditor/script-tag-open-redirect.html: * http/tests/security/xssAuditor/script-tag-post-control-char.html: * http/tests/security/xssAuditor/script-tag-post-null-char.html: * http/tests/security/xssAuditor/script-tag-post.html: * http/tests/security/xssAuditor/script-tag-redirect.html: * http/tests/security/xssAuditor/script-tag-safe.html: * http/tests/security/xssAuditor/script-tag-safe2.html: * http/tests/security/xssAuditor/script-tag-safe3.html: * http/tests/security/xssAuditor/script-tag-safe4.html: * http/tests/security/xssAuditor/script-tag-src-redirect-safe.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode2.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode3.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode4.html: * http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html: * http/tests/security/xssAuditor/script-tag-with-actual-comma.html: * http/tests/security/xssAuditor/script-tag-with-callbacks.html: * http/tests/security/xssAuditor/script-tag-with-comma-01.html: * http/tests/security/xssAuditor/script-tag-with-comma-02.html: * http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html: * http/tests/security/xssAuditor/script-tag-with-injected-comment.html: * http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html: * http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html: * http/tests/security/xssAuditor/script-tag-with-source-control-char.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url2.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: * http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: * http/tests/security/xssAuditor/script-tag-with-source-double-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-entities.html: * http/tests/security/xssAuditor/script-tag-with-source-no-quote.html: * http/tests/security/xssAuditor/script-tag-with-source-null-char.html: * http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html: * http/tests/security/xssAuditor/script-tag-with-source-same-host.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: * http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: * http/tests/security/xssAuditor/script-tag-with-source.html: * http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html: * http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: * http/tests/security/xssAuditor/script-tag-with-trailing-script-and-urlencode.html: * http/tests/security/xssAuditor/script-tag.html: * http/tests/security/xssAuditor/svg-animate.html: * http/tests/security/xssAuditor/svg-script-tag.html: * http/tests/security/xssAuditor/window-open-without-url-should-not-assert.html: * http/tests/security/xssAuditor/xss-filter-bypass-big5.html: * http/tests/security/xssAuditor/xss-filter-bypass-long-string.html: * http/tests/security/xssAuditor/xss-filter-bypass-sjis.html: * http/tests/security/xssAuditor/xss-protection-parsing-01.html: * http/tests/security/xssAuditor/xss-protection-parsing-02.html: * http/tests/security/xssAuditor/xss-protection-parsing-03.html: * http/tests/security/xssAuditor/xss-protection-parsing-04.html: * http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture.html: * http/tests/storageAccess/deny-without-prompt-preserves-gesture.html: * http/tests/storageAccess/grant-with-prompt-preserves-gesture.html: * http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: * http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html: * http/tests/webAPIStatistics/font-load-data-collection.html: * http/tests/webAPIStatistics/navigator-functions-accessed-data-collection.html: * http/tests/webAPIStatistics/screen-functions-accessed-data-collection.html: * imported/blink/fast/events/popup-forwarded-gesture.html: * imported/blink/fast/workers/worker-shared-asm-buffer.html: * platform/ios/ios/fast/text/data-detectors/phone-disabled.html: * platform/ios/ios/fast/text/data-detectors/phone.html: * platform/mac/plugins/disable-plugins.html: * plugins/js-from-destroy.html: * plugins/navigator-plugin-crash.html: * plugins/navigator-plugins-disabled.html: * plugins/plugin-initiate-popup-window.html: * security/cannot-read-self-from-file.html: * storage/domstorage/localstorage/blocked-file-access-permitted-by-quirk.html: * storage/domstorage/localstorage/blocked-file-access.html: * storage/domstorage/localstorage/file-can-access.html: * storage/domstorage/sessionstorage/blocked-file-access.html: * webrtc/datachannel/mdns-ice-candidates.html: * webrtc/peerconnection-new-candidate-page-cache.html: Canonical link: https://commits.webkit.org/231095@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269236 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-01 20:09:38 +00:00
{ "XSSAuditorEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
#if PLATFORM(IOS_FAMILY_SIMULATOR)
{ "VP9DecoderEnabled", false },
#endif
#if ENABLE(GPU_PROCESS) && ENABLE(WEBGL)
{ "UseGPUProcessForWebGLEnabled", false },
Simplify WebKitTestRunner preference reset to be more like DRT https://bugs.webkit.org/show_bug.cgi?id=224410 Reviewed by Darin Adler. Source/WebKit: Add WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to support batching preferences updates by clients. * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesStartBatchingUpdates): (WKPreferencesEndBatchingUpdates): * UIProcess/API/C/WKPreferencesRefPrivate.h: * UIProcess/WebPreferences.h: Tools: - Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode - Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates to ensure all preferences updates are batched. - Move all preference overrides that can be moved (two still require some specialized handling for now) to TestOptions defaults. - Remove now unnecessary platformResetPreferencesToConsistentValues() platform configuration point. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::batchUpdatePreferences): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): Deleted. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::accessibilityIsolatedTreeMode const): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetPreferencesToConsistentValues): Deleted. Canonical link: https://commits.webkit.org/236381@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-11 20:11:34 +00:00
#endif
};
features.stringWebPreferenceFeatures = {
{ "CursiveFontFamily", "Apple Chancery" },
{ "DefaultTextEncodingName", "ISO-8859-1" },
{ "FantasyFontFamily", "Papyrus" },
{ "FixedFontFamily", "Courier" },
{ "PictographFontFamily", "Apple Color Emoji" },
{ "SansSerifFontFamily", "Helvetica" },
{ "SerifFontFamily", "Times" },
{ "StandardFontFamily", "Times" },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
};
features.boolTestRunnerFeatures = {
{ "allowsLinkPreview", true },
{ "dumpJSConsoleLogInStdErr", false },
{ "editable", false },
{ "enableInAppBrowserPrivacy", false },
{ "enableProcessSwapOnNavigation", true },
{ "enableProcessSwapOnWindowOpen", false },
App highlight UI should be disabled when selecting text in image overlays https://bugs.webkit.org/show_bug.cgi?id=225260 rdar://77359313 Reviewed by Tim Horton. Source/WebCore: When both app highlights and image extraction are enabled, parts of the app highlights feature don't play well with highlights created for text selections inside an image overlay. For the time being, address this by disabling app highlights in image overlays. These changes are exercised by a new API test on iOS, and a new layout test for macOS. Tests: WebKit.AppHighlightsInImageOverlays fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html * page/ContextMenuController.cpp: (WebCore::ContextMenuController::populate): Don't add app highlight menu items in the case where we've selected text in an image overlay. * testing/Internals.cpp: (WebCore::Internals::appHighlightContextMenuItemTitles const): Add an internal testing hook to expose the localized names of the app highlight menu items to layout tests. * testing/Internals.h: * testing/Internals.idl: Source/WebKit: Add a bit to `EditorState` to indicate when a ranged selection is inside an image overlay. * Shared/EditorState.cpp: (WebKit::EditorState::encode const): (WebKit::EditorState::decode): * Shared/EditorState.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldAllowAppHighlightCreation]): (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]): Make `-targetForAction:withSender:` return `self` only if we have a ranged selection that is not inside an image overlay. Interestingly, UIKit doesn't seem to consult `-canPerformAction:withSender:` for actions that are added through `-[UIMenuController setMenuItems:]`, so we add the check here instead of inside `-canPerformAction:` above. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::editorState const): Set the new bit here. Note that this (importantly) doesn't trigger layout, because `VisibleSelection::range` just returns a (potentially uncanonicalized) `SimpleRange`. For the purposes of checking whether the selection is inside an image overlay, this is sufficient. Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: Add a new API test to verify the behavior of `-targetForAction:withSender:` in `WKContentView`. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::appHighlightsEnabled const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): Add support for a new `TestOption` that enables app highlights. See the new layout test for more information. LayoutTests: Add a new layout test to verify that the app higlight context menu items don't show up on macOS when right clicking. * fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items-expected.txt: Added. * fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html: Added. Canonical link: https://commits.webkit.org/237217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-01 03:26:53 +00:00
{ "appHighlightsEnabled", false },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "ignoreSynchronousMessagingTimeouts", false },
{ "ignoresViewportScaleLimits", false },
{ "isAppBoundWebView", false },
Allow layout tests to specify app initiated loads or not https://bugs.webkit.org/show_bug.cgi?id=227825 <rdar://problem/80355582> Reviewed by Brent Fulgham. Source/WebKit: Tests: http/tests/app-privacy-report/app-attribution-load-url.html http/tests/app-privacy-report/app-attribution-ping-load.html http/tests/app-privacy-report/app-attribution-post-request.html http/tests/app-privacy-report/app-attribution-preflight-async.html http/tests/app-privacy-report/app-attribution-preflight-sync.html http/tests/app-privacy-report/app-attribution-speculative-revalidation.html http/tests/app-privacy-report/user-attribution-load-url.html http/tests/app-privacy-report/user-attribution-ping-load.html http/tests/app-privacy-report/user-attribution-post-request.html http/tests/app-privacy-report/user-attribution-preflight-async.html http/tests/app-privacy-report/user-attribution-preflight-sync.html http/tests/app-privacy-report/user-attribution-speculative-revalidation.html Add a parameter to the WebView configuration that allows a test to override the default NSURLRequest attribution value. We don't need this to be dynamic per-test, so we can store it in the configuration. * UIProcess/API/APIPageConfiguration.cpp: (API::PageConfiguration::copy const): * UIProcess/API/APIPageConfiguration.h: (API::PageConfiguration::appInitiatedOverrideValueForTesting const): (API::PageConfiguration::setAppInitiatedOverrideValueForTesting): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (toWKAttributionOverrideTesting): (toAttributionOverrideTesting): (-[WKWebViewConfiguration _setAppInitiatedOverrideValueForTesting:]): (-[WKWebViewConfiguration _appInitiatedOverrideValueForTesting]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setLastNavigationWasAppInitiated): Tools: Add a test option that specifies whether the test should mark the main page navigation as app-initiated or not. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::isAppInitiated const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Added new tests to cover the user initiated case. * http/tests/app-privacy-report/app-attribution-load-url-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-load-url-expected.txt. * http/tests/app-privacy-report/app-attribution-load-url.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-load-url.html. * http/tests/app-privacy-report/app-attribution-ping-load-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-ping-load-expected.txt. * http/tests/app-privacy-report/app-attribution-ping-load.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-ping-load.html. * http/tests/app-privacy-report/app-attribution-post-request-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-post-request-expected.txt. * http/tests/app-privacy-report/app-attribution-post-request.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-post-request.html. * http/tests/app-privacy-report/app-attribution-preflight-async-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async-expected.txt. * http/tests/app-privacy-report/app-attribution-preflight-async.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async.html. * http/tests/app-privacy-report/app-attribution-preflight-sync-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync-expected.txt. * http/tests/app-privacy-report/app-attribution-preflight-sync.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync.html. * http/tests/app-privacy-report/app-attribution-speculative-revalidation-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation-expected.txt. * http/tests/app-privacy-report/app-attribution-speculative-revalidation.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation.html. * http/tests/app-privacy-report/resources/app-initiated-post.py: Copied from LayoutTests/http/tests/app-privacy-report/resources/post.py. * http/tests/app-privacy-report/resources/user-initiated-post.py: Renamed from LayoutTests/http/tests/app-privacy-report/resources/post.py. * http/tests/app-privacy-report/user-attribution-load-url-expected.txt: Added. * http/tests/app-privacy-report/user-attribution-load-url.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-load-url.html. * http/tests/app-privacy-report/user-attribution-ping-load-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-ping-load-expected.txt. * http/tests/app-privacy-report/user-attribution-ping-load.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-ping-load.html. * http/tests/app-privacy-report/user-attribution-post-request-expected.txt: Added. * http/tests/app-privacy-report/user-attribution-post-request.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-post-request.html. * http/tests/app-privacy-report/user-attribution-preflight-async-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async-expected.txt. * http/tests/app-privacy-report/user-attribution-preflight-async.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async.html. * http/tests/app-privacy-report/user-attribution-preflight-sync-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync-expected.txt. * http/tests/app-privacy-report/user-attribution-preflight-sync.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync.html. * http/tests/app-privacy-report/user-attribution-speculative-revalidation-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation-expected.txt. * http/tests/app-privacy-report/user-attribution-speculative-revalidation.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation.html. * http/tests/navigation/resources/check-ping-user-initiated-data.py: Added. Canonical link: https://commits.webkit.org/239627@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-13 16:40:12 +00:00
{ "isAppInitiated", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "runSingly", false },
{ "shouldHandleRunOpenPanel", true },
{ "shouldPresentPopovers", true },
{ "shouldShowTouches", false },
{ "shouldShowWebView", false },
{ "spellCheckingDots", false },
Create API to enable/disable text interaction gestures in WKWebView https://bugs.webkit.org/show_bug.cgi?id=217784 <rdar://problem/63406241> Reviewed by Wenson Hsieh. Source/WebCore: Add API to disable text selection for macOS. * page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent): (WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): (WebCore::EventHandler::handleMousePressEventDoubleClick): (WebCore::EventHandler::handleMousePressEventTripleClick): (WebCore::EventHandler::handleMousePressEventSingleClick): (WebCore::EventHandler::mouseDownMayStartSelect): Create a new function to return whether a click results in a selection. It will always return false if text interaction is disabled. (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::selectCursor): * page/EventHandler.h: * page/Page.cpp: (WebCore::m_textInteractionEnabled): (WebCore::m_shouldRelaxThirdPartyCookieBlocking): Deleted. * page/Page.h: Store the textInteractionEnabled value in the Page so it is accessible from the EventHandler. (WebCore::Page::textInteractionEnabled): (WebCore::Page::setTextInteractionEnabled): * page/PageConfiguration.h: Source/WebKit: Create a new API to disable text interaction gestures in a WKWebView. We have SPI for this for iOS, but it could be useful to other WebKit clients and on macOS. Add the API to WKPreferences, instead of WKWebViewConfiguration, so it can be changed on the fly. Deprecate the SPI. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode): * Shared/WebPageCreationParameters.h: * UIProcess/API/Cocoa/WKPreferences.h: * UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences encodeWithCoder:]): (-[WKPreferences initWithCoder:]): (-[WKPreferences textInteractionEnabled]): (-[WKPreferences setTextInteractionEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _textInteractionEnabled]): (-[WKWebViewConfiguration _setTextInteractionEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView hasSelectablePositionAtPoint:]): (-[WKContentView pointIsNearMarkedText:]): (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): (-[WKContentView _cascadeInteractionTintColor]): (-[WKContentView selectForWebView:]): (-[WKContentView selectAllForWebView:]): Add check for textInteractionEnabled in these select* functions because disabling text interaction should disable selection in WKWebView. * WebProcess/WebPage/WebPage.cpp: Update the textInteractionEnabled value in the page when preferences are updated. (WebKit::WebPage::updatePreferences): Source/WTF: Create new WKPreference. See WebKit Changelog for details. * Scripts/Preferences/WebPreferences.yaml: Tools: Add API test coverage for macOS and support for layout tests for iOS. API tests do not support user gestures which is why iOS tests must use WebKitTestRunner. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDisableSelection.mm: Added. (TEST): (clickAndDragToSelectText): * TestWebKitAPI/Tests/WebKitCocoa/try-text-select-with-disabled-text-interaction.html: Added. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::textInteractionEnabled const): LayoutTests: Layout test coverage for iOS. * LayoutTests/editing/selection/ios/cannot-select-after-disabling-text-interaction-expected.txt: Added. * LayoutTests/editing/selection/ios/cannot-select-after-disabling-text-interaction.html: Added. Canonical link: https://commits.webkit.org/232125@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 19:53:50 +00:00
{ "textInteractionEnabled", true },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "useCharacterSelectionGranularity", false },
{ "useDataDetection", false },
{ "useEphemeralSession", false },
{ "useFlexibleViewport", false },
{ "useRemoteLayerTree", false },
{ "useThreadedScrolling", false },
};
features.doubleTestRunnerFeatures = {
{ "contentInset.top", 0 },
[watchOS] Make a few additional adjustments to support system minimum layout margins https://bugs.webkit.org/show_bug.cgi?id=227859 rdar://80113612 Reviewed by Tim Horton. Source/WebCore: Reduce the default minimum viewport scale on watchOS to avoid horizontal scrolling when loading wide fixed- viewport-width web content. See WebKit ChangeLog for more details. * page/ViewportConfiguration.cpp: (WebCore::platformDeviceWidthOverride): (WebCore::platformMinimumScaleForWebpage): (WebCore::shouldOverrideShrinkToFitArgument): (WebCore::ViewportConfiguration::nativeWebpageParametersWithShrinkToFit): (WebCore::ViewportConfiguration::webpageParameters): Source/WebKit: Make a couple of minor adjustments to deal with the fact that `-contentInset` includes system content insets (specifically, `-_contentScrollInset`) on watchOS, due to method swizzling that happens in PepperUICore. See changes below for more detail. Test: fast/viewport/watchos/viewport-with-system-minimum-layout-margins.html * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _computedContentInset]): Only apply `-safeAreaInsets` on top of `-contentInset` when computing the total scroll view content inset on watchOS (as opposed to applying both `-safeAreaInsets` and `-_contentScrollInset`); this is because `-contentInset` on watchOS is actually equivalent to `-_effectiveContentInset` on other iOS-family platforms, so additionally adding `-_contentScrollInset` here would result in the scroll content inset being double-counted. * UIProcess/ios/WKScrollView.mm: (-[WKScrollView setContentInset:]): (-[WKScrollView _setContentScrollInsetInternal:]): (-[WKScrollView _updateContentScrollInset]): In the case where the WebKit client explicitly sets the scroll view's content insets using `-[WKScrollView setContentInset:]`, set a flag (`_contentInsetWasExternallyOverridden`) and immediately revert any internally specified `-_contentScrollInset` on WKScrollView. Due to the swizzled implementation of `-[UIScrollView contentInset]` described above, it's practically impossible for any client to use `-setContentInset:` correctly when there is a nonzero `-_contentScrollInset` on watchOS, so preferable to simply get out of the way of the client in this scenario. In the context of _SFNanoBrowserViewController, this ensures that scroll view content inset adjustment logic in Safari doesn't inadvertently cause horizontal content insets to increase by `-_contentScrollInset` every time `-[WKScrollView setContentInset:]` is invoked by the client. Tools: Add support for simulating arbitrary horizontal (trailing and leading) values for `-systemMinimumLayoutMargin` in WebKitTestRunner, via a new "horizontalSystemMinimumLayoutMargin" test option. By default, this is 0. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::horizontalSystemMinimumLayoutMargin const): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (-[PlatformWebViewController systemMinimumLayoutMargins]): Override this UIViewController method and replace the leading and trailing layout margin values with the values from test options. (WTR::PlatformWebView::PlatformWebView): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Additionally make a slight adjustment here to avoid calling `-setContentInset` on the scroll view in between tests if the content insets aren't changing. This is needed in order for the new layout test to work on watchOS. LayoutTests: Add a new layout test that uses the new test option to verify that nonzero horizontal system minimum layout margins shrink the width of the viewport on watchOS (this test also disables watchOS device adaptations and uses a device-width viewport with `initial-scale=1` such that we can simply check the value of `innerWidth`). * fast/viewport/watchos/viewport-with-system-minimum-layout-margins-expected.txt: Added. * fast/viewport/watchos/viewport-with-system-minimum-layout-margins.html: Added. Canonical link: https://commits.webkit.org/239591@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-12 16:15:13 +00:00
{ "horizontalSystemMinimumLayoutMargin", 0 },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "deviceScaleFactor", 1 },
{ "viewHeight", 600 },
{ "viewWidth", 800 },
};
features.stringTestRunnerFeatures = {
{ "additionalSupportedImageTypes", { } },
{ "applicationBundleIdentifier", { } },
{ "applicationManifest", { } },
{ "contentMode", { } },
REGRESSION (r274610): Unable to drag images when image extraction is enabled https://bugs.webkit.org/show_bug.cgi?id=224211 <rdar://problem/76229563> Reviewed by Tim Horton. Source/WebKit: r274610 introduced a new deferring gesture recognizer intended to prevent several text interaction gestures from recognizing during pending image extraction. However, this also causes dragging on iOS to fail, since the gesture used to initiate dragging is excluded by the new deferring gesture recognizer. To fix this, allow the new deferring gesture to recognize simultaneously alongside all gestures with the exception of only the gestures it is intended to defer (i.e. text interaction gestures). Test: fast/events/ios/dragstart-on-image-by-long-pressing.html * UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h: * UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _isAnimatingDragCancel]): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[UIGestureRecognizer _wk_isTapAndAHalf]): Add a WebKit category method that returns whether or not a gesture recognizer is a tap-and-a-half gesture. (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): Allow the image extraction deferring gesture to recognize alongside all other gestures, with the exception of the text interaction gestures determined by `-shouldDeferGestureDueToImageExtraction:`. This limits the impact of this new deferring gesture, such that it only affects the text interaction gestures it is intended to defer. (-[WKContentView shouldDeferGestureDueToImageExtraction:]): Add a helper method to determine whether or not a gesture recognizer should be deferred, due to pending image extraction. We pull this logic behind a helper method because it's now consulted from two call sites. (-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]): (-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]): (-[WKContentView isAnimatingDragCancel]): Add a testing hook to return whether or not the drag cancel animation is running. See Tools/ChangeLog and the new layout test for more detail. (tapAndAHalfRecognizerClass): Deleted. Tools: Add support for some new testing infrastructure; see below for more details. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::isAnimatingDragCancel const): Add a new testing hook to return whether or not the web view's drag interaction is currently animating a drag cancel (i.e., the drag preview is animating back to its original frame). * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::dragInteractionPolicy const): Add a test option that allows tests to override the drag interaction policy to "always-allow", "always-disallow", and the default value. This option allows us to force drag and drop to be enabled when testing on iPhone simulator. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::dragInteractionPolicy): (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::isAnimatingDragCancel const): LayoutTests: Add a new layout test that initiates dragging on an image using a synthesized event stream, and verifies that "dragstart" and "dragend" events are dispatched on the image. * fast/events/ios/dragstart-on-image-by-long-pressing-expected.txt: Added. * fast/events/ios/dragstart-on-image-by-long-pressing.html: Added. * resources/ui-helper.js: (window.UIHelper.isAnimatingDragCancel): Add a `UIHelper` method that returns whether or not the dragging animation is being cancelled. The new test uses this hook to wait for the drag cancel animation to end before proceeding to the next test. Canonical link: https://commits.webkit.org/236202@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-06 20:39:10 +00:00
{ "dragInteractionPolicy", { } },
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
{ "jscOptions", { } },
{ "standaloneWebApplicationURL", { } },
};
features.stringVectorTestRunnerFeatures = {
{ "language", { } },
};
}
return features;
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
Share TestFeatures and TestCommand infrastructure between DumpRenderTree and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217614 Reviewed by Dean Jackson. Move TestFeatures and TestCommand code from WebKitTestRunner to TestRunnerShared and adopt shared code in both WebKitTestRunner and DumpRenderTree. This allows us to remove duplicate argument and test header parsing code and avoid updating both when we want want change things. To support different sets of test header options, featureDefaultsFromTestHeaderForTest now has a parameter for a key type map, rather than the old hardcoded set. This allows WebKitTestRunner and DumpRenderTree, which currently have slightly different options to continue to behave in the same way. Eventually, it will probably make sense to have these mostly generated from the WebPreferences*.yaml configuration files. Matching precedent, shared files use the WTR namespace. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * TestRunnerShared/CMakeLists.txt: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add new files. * DumpRenderTree/DumpRenderTree.h: Removes TestCommand and parseInputLine now that they come from shared TestCommand.h * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed. Moved contents to shared TestCommand.cpp * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: Adopt model from WebKitTestRunner and use initialization from TestFeatures. * DumpRenderTree/mac/DumpRenderTree.mm: Adopt shared TestFeatures and TestCommand infrastructure. Construct TestOptions in a similar manner to WebKitTestRunner by merging together hardcoded / path based features and test header based features. * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: Update for new namespace. * TestRunnerShared/TestCommand.cpp: Added. * TestRunnerShared/TestCommand.h: Added. * TestRunnerShared/TestFeatures.cpp: Added. * TestRunnerShared/TestFeatures.h: Added. * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: Moved from WebKitTestRunner. Generalized to TestFeatures to take a key type map, rather than hard coding it. Replace use of WebKit types, like WKURLRef, with std::string and std::filesystem::path. Canonical link: https://commits.webkit.org/230379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 21:54:50 +00:00
const std::unordered_map<std::string, TestHeaderKeyType>& TestOptions::keyTypeMapping()
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
static const std::unordered_map<std::string, TestHeaderKeyType> map {
GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "allowsLinkPreview", TestHeaderKeyType::BoolTestRunner },
{ "dumpJSConsoleLogInStdErr", TestHeaderKeyType::BoolTestRunner },
{ "editable", TestHeaderKeyType::BoolTestRunner },
{ "enableInAppBrowserPrivacy", TestHeaderKeyType::BoolTestRunner },
{ "enableProcessSwapOnNavigation", TestHeaderKeyType::BoolTestRunner },
{ "enableProcessSwapOnWindowOpen", TestHeaderKeyType::BoolTestRunner },
App highlight UI should be disabled when selecting text in image overlays https://bugs.webkit.org/show_bug.cgi?id=225260 rdar://77359313 Reviewed by Tim Horton. Source/WebCore: When both app highlights and image extraction are enabled, parts of the app highlights feature don't play well with highlights created for text selections inside an image overlay. For the time being, address this by disabling app highlights in image overlays. These changes are exercised by a new API test on iOS, and a new layout test for macOS. Tests: WebKit.AppHighlightsInImageOverlays fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html * page/ContextMenuController.cpp: (WebCore::ContextMenuController::populate): Don't add app highlight menu items in the case where we've selected text in an image overlay. * testing/Internals.cpp: (WebCore::Internals::appHighlightContextMenuItemTitles const): Add an internal testing hook to expose the localized names of the app highlight menu items to layout tests. * testing/Internals.h: * testing/Internals.idl: Source/WebKit: Add a bit to `EditorState` to indicate when a ranged selection is inside an image overlay. * Shared/EditorState.cpp: (WebKit::EditorState::encode const): (WebKit::EditorState::decode): * Shared/EditorState.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldAllowAppHighlightCreation]): (-[WKContentView canPerformAction:withSender:]): (-[WKContentView targetForAction:withSender:]): Make `-targetForAction:withSender:` return `self` only if we have a ranged selection that is not inside an image overlay. Interestingly, UIKit doesn't seem to consult `-canPerformAction:withSender:` for actions that are added through `-[UIMenuController setMenuItems:]`, so we add the check here instead of inside `-canPerformAction:` above. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::editorState const): Set the new bit here. Note that this (importantly) doesn't trigger layout, because `VisibleSelection::range` just returns a (potentially uncanonicalized) `SimpleRange`. For the purposes of checking whether the selection is inside an image overlay, this is sufficient. Tools: * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: Add a new API test to verify the behavior of `-targetForAction:withSender:` in `WKContentView`. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::appHighlightsEnabled const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): Add support for a new `TestOption` that enables app highlights. See the new layout test for more information. LayoutTests: Add a new layout test to verify that the app higlight context menu items don't show up on macOS when right clicking. * fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items-expected.txt: Added. * fast/images/image-extraction/mac/image-overlay-text-disables-app-highlight-menu-items.html: Added. Canonical link: https://commits.webkit.org/237217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-01 03:26:53 +00:00
{ "appHighlightsEnabled", TestHeaderKeyType::BoolTestRunner },
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "ignoreSynchronousMessagingTimeouts", TestHeaderKeyType::BoolTestRunner },
{ "ignoresViewportScaleLimits", TestHeaderKeyType::BoolTestRunner },
{ "isAppBoundWebView", TestHeaderKeyType::BoolTestRunner },
Allow layout tests to specify app initiated loads or not https://bugs.webkit.org/show_bug.cgi?id=227825 <rdar://problem/80355582> Reviewed by Brent Fulgham. Source/WebKit: Tests: http/tests/app-privacy-report/app-attribution-load-url.html http/tests/app-privacy-report/app-attribution-ping-load.html http/tests/app-privacy-report/app-attribution-post-request.html http/tests/app-privacy-report/app-attribution-preflight-async.html http/tests/app-privacy-report/app-attribution-preflight-sync.html http/tests/app-privacy-report/app-attribution-speculative-revalidation.html http/tests/app-privacy-report/user-attribution-load-url.html http/tests/app-privacy-report/user-attribution-ping-load.html http/tests/app-privacy-report/user-attribution-post-request.html http/tests/app-privacy-report/user-attribution-preflight-async.html http/tests/app-privacy-report/user-attribution-preflight-sync.html http/tests/app-privacy-report/user-attribution-speculative-revalidation.html Add a parameter to the WebView configuration that allows a test to override the default NSURLRequest attribution value. We don't need this to be dynamic per-test, so we can store it in the configuration. * UIProcess/API/APIPageConfiguration.cpp: (API::PageConfiguration::copy const): * UIProcess/API/APIPageConfiguration.h: (API::PageConfiguration::appInitiatedOverrideValueForTesting const): (API::PageConfiguration::setAppInitiatedOverrideValueForTesting): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (toWKAttributionOverrideTesting): (toAttributionOverrideTesting): (-[WKWebViewConfiguration _setAppInitiatedOverrideValueForTesting:]): (-[WKWebViewConfiguration _appInitiatedOverrideValueForTesting]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::setLastNavigationWasAppInitiated): Tools: Add a test option that specifies whether the test should mark the main page navigation as app-initiated or not. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::isAppInitiated const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): LayoutTests: Added new tests to cover the user initiated case. * http/tests/app-privacy-report/app-attribution-load-url-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-load-url-expected.txt. * http/tests/app-privacy-report/app-attribution-load-url.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-load-url.html. * http/tests/app-privacy-report/app-attribution-ping-load-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-ping-load-expected.txt. * http/tests/app-privacy-report/app-attribution-ping-load.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-ping-load.html. * http/tests/app-privacy-report/app-attribution-post-request-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-post-request-expected.txt. * http/tests/app-privacy-report/app-attribution-post-request.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-post-request.html. * http/tests/app-privacy-report/app-attribution-preflight-async-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async-expected.txt. * http/tests/app-privacy-report/app-attribution-preflight-async.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async.html. * http/tests/app-privacy-report/app-attribution-preflight-sync-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync-expected.txt. * http/tests/app-privacy-report/app-attribution-preflight-sync.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync.html. * http/tests/app-privacy-report/app-attribution-speculative-revalidation-expected.txt: Copied from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation-expected.txt. * http/tests/app-privacy-report/app-attribution-speculative-revalidation.html: Copied from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation.html. * http/tests/app-privacy-report/resources/app-initiated-post.py: Copied from LayoutTests/http/tests/app-privacy-report/resources/post.py. * http/tests/app-privacy-report/resources/user-initiated-post.py: Renamed from LayoutTests/http/tests/app-privacy-report/resources/post.py. * http/tests/app-privacy-report/user-attribution-load-url-expected.txt: Added. * http/tests/app-privacy-report/user-attribution-load-url.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-load-url.html. * http/tests/app-privacy-report/user-attribution-ping-load-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-ping-load-expected.txt. * http/tests/app-privacy-report/user-attribution-ping-load.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-ping-load.html. * http/tests/app-privacy-report/user-attribution-post-request-expected.txt: Added. * http/tests/app-privacy-report/user-attribution-post-request.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-post-request.html. * http/tests/app-privacy-report/user-attribution-preflight-async-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async-expected.txt. * http/tests/app-privacy-report/user-attribution-preflight-async.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-async.html. * http/tests/app-privacy-report/user-attribution-preflight-sync-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync-expected.txt. * http/tests/app-privacy-report/user-attribution-preflight-sync.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-preflight-sync.html. * http/tests/app-privacy-report/user-attribution-speculative-revalidation-expected.txt: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation-expected.txt. * http/tests/app-privacy-report/user-attribution-speculative-revalidation.html: Renamed from LayoutTests/http/tests/app-privacy-report/attribution-speculative-revalidation.html. * http/tests/navigation/resources/check-ping-user-initiated-data.py: Added. Canonical link: https://commits.webkit.org/239627@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-13 16:40:12 +00:00
{ "isAppInitiated", TestHeaderKeyType::BoolTestRunner },
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "runSingly", TestHeaderKeyType::BoolTestRunner },
{ "shouldHandleRunOpenPanel", TestHeaderKeyType::BoolTestRunner },
{ "shouldPresentPopovers", TestHeaderKeyType::BoolTestRunner },
{ "shouldShowTouches", TestHeaderKeyType::BoolTestRunner },
{ "shouldShowWebView", TestHeaderKeyType::BoolTestRunner },
{ "spellCheckingDots", TestHeaderKeyType::BoolTestRunner },
Create API to enable/disable text interaction gestures in WKWebView https://bugs.webkit.org/show_bug.cgi?id=217784 <rdar://problem/63406241> Reviewed by Wenson Hsieh. Source/WebCore: Add API to disable text selection for macOS. * page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent): (WebCore::EventHandler::selectClosestContextualWordOrLinkFromMouseEvent): (WebCore::EventHandler::handleMousePressEventDoubleClick): (WebCore::EventHandler::handleMousePressEventTripleClick): (WebCore::EventHandler::handleMousePressEventSingleClick): (WebCore::EventHandler::mouseDownMayStartSelect): Create a new function to return whether a click results in a selection. It will always return false if text interaction is disabled. (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDraggedEvent): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::selectCursor): * page/EventHandler.h: * page/Page.cpp: (WebCore::m_textInteractionEnabled): (WebCore::m_shouldRelaxThirdPartyCookieBlocking): Deleted. * page/Page.h: Store the textInteractionEnabled value in the Page so it is accessible from the EventHandler. (WebCore::Page::textInteractionEnabled): (WebCore::Page::setTextInteractionEnabled): * page/PageConfiguration.h: Source/WebKit: Create a new API to disable text interaction gestures in a WKWebView. We have SPI for this for iOS, but it could be useful to other WebKit clients and on macOS. Add the API to WKPreferences, instead of WKWebViewConfiguration, so it can be changed on the fly. Deprecate the SPI. * Shared/WebPageCreationParameters.cpp: (WebKit::WebPageCreationParameters::encode const): (WebKit::WebPageCreationParameters::decode): * Shared/WebPageCreationParameters.h: * UIProcess/API/Cocoa/WKPreferences.h: * UIProcess/API/Cocoa/WKPreferences.mm: (-[WKPreferences encodeWithCoder:]): (-[WKPreferences initWithCoder:]): (-[WKPreferences textInteractionEnabled]): (-[WKPreferences setTextInteractionEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): (-[WKWebViewConfiguration encodeWithCoder:]): (-[WKWebViewConfiguration initWithCoder:]): (-[WKWebViewConfiguration copyWithZone:]): (-[WKWebViewConfiguration _textInteractionEnabled]): (-[WKWebViewConfiguration _setTextInteractionEnabled:]): * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView hasSelectablePositionAtPoint:]): (-[WKContentView pointIsNearMarkedText:]): (-[WKContentView textInteractionGesture:shouldBeginAtPoint:]): (-[WKContentView _cascadeInteractionTintColor]): (-[WKContentView selectForWebView:]): (-[WKContentView selectAllForWebView:]): Add check for textInteractionEnabled in these select* functions because disabling text interaction should disable selection in WKWebView. * WebProcess/WebPage/WebPage.cpp: Update the textInteractionEnabled value in the page when preferences are updated. (WebKit::WebPage::updatePreferences): Source/WTF: Create new WKPreference. See WebKit Changelog for details. * Scripts/Preferences/WebPreferences.yaml: Tools: Add API test coverage for macOS and support for layout tests for iOS. API tests do not support user gestures which is why iOS tests must use WebKitTestRunner. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDisableSelection.mm: Added. (TEST): (clickAndDragToSelectText): * TestWebKitAPI/Tests/WebKitCocoa/try-text-select-with-disabled-text-interaction.html: Added. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::textInteractionEnabled const): LayoutTests: Layout test coverage for iOS. * LayoutTests/editing/selection/ios/cannot-select-after-disabling-text-interaction-expected.txt: Added. * LayoutTests/editing/selection/ios/cannot-select-after-disabling-text-interaction.html: Added. Canonical link: https://commits.webkit.org/232125@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 19:53:50 +00:00
{ "textInteractionEnabled", TestHeaderKeyType::BoolTestRunner },
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "useCharacterSelectionGranularity", TestHeaderKeyType::BoolTestRunner },
{ "useDataDetection", TestHeaderKeyType::BoolTestRunner },
{ "useEphemeralSession", TestHeaderKeyType::BoolTestRunner },
{ "useFlexibleViewport", TestHeaderKeyType::BoolTestRunner },
{ "useRemoteLayerTree", TestHeaderKeyType::BoolTestRunner },
{ "useThreadedScrolling", TestHeaderKeyType::BoolTestRunner },
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "contentInset.top", TestHeaderKeyType::DoubleTestRunner },
[watchOS] Make a few additional adjustments to support system minimum layout margins https://bugs.webkit.org/show_bug.cgi?id=227859 rdar://80113612 Reviewed by Tim Horton. Source/WebCore: Reduce the default minimum viewport scale on watchOS to avoid horizontal scrolling when loading wide fixed- viewport-width web content. See WebKit ChangeLog for more details. * page/ViewportConfiguration.cpp: (WebCore::platformDeviceWidthOverride): (WebCore::platformMinimumScaleForWebpage): (WebCore::shouldOverrideShrinkToFitArgument): (WebCore::ViewportConfiguration::nativeWebpageParametersWithShrinkToFit): (WebCore::ViewportConfiguration::webpageParameters): Source/WebKit: Make a couple of minor adjustments to deal with the fact that `-contentInset` includes system content insets (specifically, `-_contentScrollInset`) on watchOS, due to method swizzling that happens in PepperUICore. See changes below for more detail. Test: fast/viewport/watchos/viewport-with-system-minimum-layout-margins.html * UIProcess/API/ios/WKWebViewIOS.mm: (-[WKWebView _computedContentInset]): Only apply `-safeAreaInsets` on top of `-contentInset` when computing the total scroll view content inset on watchOS (as opposed to applying both `-safeAreaInsets` and `-_contentScrollInset`); this is because `-contentInset` on watchOS is actually equivalent to `-_effectiveContentInset` on other iOS-family platforms, so additionally adding `-_contentScrollInset` here would result in the scroll content inset being double-counted. * UIProcess/ios/WKScrollView.mm: (-[WKScrollView setContentInset:]): (-[WKScrollView _setContentScrollInsetInternal:]): (-[WKScrollView _updateContentScrollInset]): In the case where the WebKit client explicitly sets the scroll view's content insets using `-[WKScrollView setContentInset:]`, set a flag (`_contentInsetWasExternallyOverridden`) and immediately revert any internally specified `-_contentScrollInset` on WKScrollView. Due to the swizzled implementation of `-[UIScrollView contentInset]` described above, it's practically impossible for any client to use `-setContentInset:` correctly when there is a nonzero `-_contentScrollInset` on watchOS, so preferable to simply get out of the way of the client in this scenario. In the context of _SFNanoBrowserViewController, this ensures that scroll view content inset adjustment logic in Safari doesn't inadvertently cause horizontal content insets to increase by `-_contentScrollInset` every time `-[WKScrollView setContentInset:]` is invoked by the client. Tools: Add support for simulating arbitrary horizontal (trailing and leading) values for `-systemMinimumLayoutMargin` in WebKitTestRunner, via a new "horizontalSystemMinimumLayoutMargin" test option. By default, this is 0. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::horizontalSystemMinimumLayoutMargin const): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (-[PlatformWebViewController systemMinimumLayoutMargins]): Override this UIViewController method and replace the leading and trailing layout margin values with the values from test options. (WTR::PlatformWebView::PlatformWebView): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Additionally make a slight adjustment here to avoid calling `-setContentInset` on the scroll view in between tests if the content insets aren't changing. This is needed in order for the new layout test to work on watchOS. LayoutTests: Add a new layout test that uses the new test option to verify that nonzero horizontal system minimum layout margins shrink the width of the viewport on watchOS (this test also disables watchOS device adaptations and uses a device-width viewport with `initial-scale=1` such that we can simply check the value of `innerWidth`). * fast/viewport/watchos/viewport-with-system-minimum-layout-margins-expected.txt: Added. * fast/viewport/watchos/viewport-with-system-minimum-layout-margins.html: Added. Canonical link: https://commits.webkit.org/239591@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-07-12 16:15:13 +00:00
{ "horizontalSystemMinimumLayoutMargin", TestHeaderKeyType::DoubleTestRunner },
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "deviceScaleFactor", TestHeaderKeyType::DoubleTestRunner },
{ "viewHeight", TestHeaderKeyType::DoubleTestRunner },
{ "viewWidth", TestHeaderKeyType::DoubleTestRunner },
Share TestFeatures and TestCommand infrastructure between DumpRenderTree and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217614 Reviewed by Dean Jackson. Move TestFeatures and TestCommand code from WebKitTestRunner to TestRunnerShared and adopt shared code in both WebKitTestRunner and DumpRenderTree. This allows us to remove duplicate argument and test header parsing code and avoid updating both when we want want change things. To support different sets of test header options, featureDefaultsFromTestHeaderForTest now has a parameter for a key type map, rather than the old hardcoded set. This allows WebKitTestRunner and DumpRenderTree, which currently have slightly different options to continue to behave in the same way. Eventually, it will probably make sense to have these mostly generated from the WebPreferences*.yaml configuration files. Matching precedent, shared files use the WTR namespace. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * TestRunnerShared/CMakeLists.txt: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add new files. * DumpRenderTree/DumpRenderTree.h: Removes TestCommand and parseInputLine now that they come from shared TestCommand.h * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed. Moved contents to shared TestCommand.cpp * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: Adopt model from WebKitTestRunner and use initialization from TestFeatures. * DumpRenderTree/mac/DumpRenderTree.mm: Adopt shared TestFeatures and TestCommand infrastructure. Construct TestOptions in a similar manner to WebKitTestRunner by merging together hardcoded / path based features and test header based features. * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: Update for new namespace. * TestRunnerShared/TestCommand.cpp: Added. * TestRunnerShared/TestCommand.h: Added. * TestRunnerShared/TestFeatures.cpp: Added. * TestRunnerShared/TestFeatures.h: Added. * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: Moved from WebKitTestRunner. Generalized to TestFeatures to take a key type map, rather than hard coding it. Replace use of WebKit types, like WKURLRef, with std::string and std::filesystem::path. Canonical link: https://commits.webkit.org/230379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 21:54:50 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "additionalSupportedImageTypes", TestHeaderKeyType::StringTestRunner },
{ "applicationBundleIdentifier", TestHeaderKeyType::StringTestRunner },
{ "applicationManifest", TestHeaderKeyType::StringRelativePathTestRunner },
{ "contentMode", TestHeaderKeyType::StringTestRunner },
REGRESSION (r274610): Unable to drag images when image extraction is enabled https://bugs.webkit.org/show_bug.cgi?id=224211 <rdar://problem/76229563> Reviewed by Tim Horton. Source/WebKit: r274610 introduced a new deferring gesture recognizer intended to prevent several text interaction gestures from recognizing during pending image extraction. However, this also causes dragging on iOS to fail, since the gesture used to initiate dragging is excluded by the new deferring gesture recognizer. To fix this, allow the new deferring gesture to recognize simultaneously alongside all gestures with the exception of only the gestures it is intended to defer (i.e. text interaction gestures). Test: fast/events/ios/dragstart-on-image-by-long-pressing.html * UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h: * UIProcess/API/ios/WKWebViewTestingIOS.mm: (-[WKWebView _isAnimatingDragCancel]): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[UIGestureRecognizer _wk_isTapAndAHalf]): Add a WebKit category method that returns whether or not a gesture recognizer is a tap-and-a-half gesture. (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): Allow the image extraction deferring gesture to recognize alongside all other gestures, with the exception of the text interaction gestures determined by `-shouldDeferGestureDueToImageExtraction:`. This limits the impact of this new deferring gesture, such that it only affects the text interaction gestures it is intended to defer. (-[WKContentView shouldDeferGestureDueToImageExtraction:]): Add a helper method to determine whether or not a gesture recognizer should be deferred, due to pending image extraction. We pull this logic behind a helper method because it's now consulted from two call sites. (-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]): (-[WKContentView dragInteraction:item:willAnimateCancelWithAnimator:]): (-[WKContentView isAnimatingDragCancel]): Add a testing hook to return whether or not the drag cancel animation is running. See Tools/ChangeLog and the new layout test for more detail. (tapAndAHalfRecognizerClass): Deleted. Tools: Add support for some new testing infrastructure; see below for more details. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::isAnimatingDragCancel const): Add a new testing hook to return whether or not the web view's drag interaction is currently animating a drag cancel (i.e., the drag preview is animating back to its original frame). * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::dragInteractionPolicy const): Add a test option that allows tests to override the drag interaction policy to "always-allow", "always-disallow", and the default value. This option allows us to force drag and drop to be enabled when testing on iPhone simulator. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::dragInteractionPolicy): (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::isAnimatingDragCancel const): LayoutTests: Add a new layout test that initiates dragging on an image using a synthesized event stream, and verifies that "dragstart" and "dragend" events are dispatched on the image. * fast/events/ios/dragstart-on-image-by-long-pressing-expected.txt: Added. * fast/events/ios/dragstart-on-image-by-long-pressing.html: Added. * resources/ui-helper.js: (window.UIHelper.isAnimatingDragCancel): Add a `UIHelper` method that returns whether or not the dragging animation is being cancelled. The new test uses this hook to wait for the drag cancel animation to end before proceeding to the next test. Canonical link: https://commits.webkit.org/236202@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-06 20:39:10 +00:00
{ "dragInteractionPolicy", TestHeaderKeyType::StringTestRunner },
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "jscOptions", TestHeaderKeyType::StringTestRunner },
{ "standaloneWebApplicationURL", TestHeaderKeyType::StringURLTestRunner },
Share TestFeatures and TestCommand infrastructure between DumpRenderTree and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217614 Reviewed by Dean Jackson. Move TestFeatures and TestCommand code from WebKitTestRunner to TestRunnerShared and adopt shared code in both WebKitTestRunner and DumpRenderTree. This allows us to remove duplicate argument and test header parsing code and avoid updating both when we want want change things. To support different sets of test header options, featureDefaultsFromTestHeaderForTest now has a parameter for a key type map, rather than the old hardcoded set. This allows WebKitTestRunner and DumpRenderTree, which currently have slightly different options to continue to behave in the same way. Eventually, it will probably make sense to have these mostly generated from the WebPreferences*.yaml configuration files. Matching precedent, shared files use the WTR namespace. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * TestRunnerShared/CMakeLists.txt: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Add new files. * DumpRenderTree/DumpRenderTree.h: Removes TestCommand and parseInputLine now that they come from shared TestCommand.h * DumpRenderTree/DumpRenderTreeCommon.cpp: Removed. Moved contents to shared TestCommand.cpp * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: Adopt model from WebKitTestRunner and use initialization from TestFeatures. * DumpRenderTree/mac/DumpRenderTree.mm: Adopt shared TestFeatures and TestCommand infrastructure. Construct TestOptions in a similar manner to WebKitTestRunner by merging together hardcoded / path based features and test header based features. * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: Update for new namespace. * TestRunnerShared/TestCommand.cpp: Added. * TestRunnerShared/TestCommand.h: Added. * TestRunnerShared/TestFeatures.cpp: Added. * TestRunnerShared/TestFeatures.h: Added. * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: Moved from WebKitTestRunner. Generalized to TestFeatures to take a key type map, rather than hard coding it. Replace use of WebKit types, like WKURLRef, with std::string and std::filesystem::path. Canonical link: https://commits.webkit.org/230379@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 21:54:50 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
{ "language", TestHeaderKeyType::StringVectorTestRunner },
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
};
return map;
WebKitTestRunner fails to apply "useFlexibleViewport" when it's specified in a file comment https://bugs.webkit.org/show_bug.cgi?id=149650 Reviewed by Tim Horton. TestInvocation::invoke() consulted shouldMakeViewportFlexible(), but that only looks at the file path, and not the custom options that come from file comments. Fix by computing TestOptions before making the TestInvocation, and setting them as const TestInvocation data. This meant changing various call sites to take the std::string pathOrURL, rather than the TestInvocation itself. Also initialize TestInvocation with a WKURLRef, rather than a std::string. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::testPath): (WTR::createTestURL): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::testOptionsForTest): (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::invoke): (WTR::createWKURL): Deleted. (WTR::TestInvocation::shouldMakeViewportFlexible): Deleted. (WTR::TestInvocation::shouldUseFixedLayout): Deleted. * WebKitTestRunner/TestInvocation.h: (WTR::TestInvocation::options): * WebKitTestRunner/TestOptions.cpp: Copied from Tools/WebKitTestRunner/TestOptions.h. (WTR::pathContains): (WTR::shouldMakeViewportFlexible): (WTR::shouldUseFixedLayout): (WTR::isSVGTestPath): (WTR::isHiDPITestPath): (WTR::TestOptions::TestOptions): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::pathContains): (WTR::shouldUseFixedLayout): (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Canonical link: https://commits.webkit.org/167752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-30 01:20:23 +00:00
}
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
bool TestOptions::hasSameInitializationOptions(const TestOptions& other) const
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
{
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=218569 Reviewed by Tim Horton. The prefixes were removed from use in tests in r269360. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::webViewIsCompatibleWithOptions const): Replace duplicated comparison code with call to operator==. * TestRunnerShared/TestFeatures.cpp: (WTR::merge): Remove special maps for internal and experimental features. (WTR::operator==): (WTR::operator!=): Add operator== support for use by TestOptions in determining compatibility. (WTR::parseTestHeaderFeature): (WTR::parseTestHeader): Split out feature parsing for future use in command line parsing. * TestRunnerShared/TestFeatures.h: Remove special maps for internal and experimental features. * WebKitTestRunner/Options.cpp: (WTR::handleOptionAcceleratedDrawing): (WTR::handleOptionRemoteLayerTree): (WTR::handleOptionShowWebView): (WTR::handleOptionShowTouches): (WTR::parseFeature): (WTR::handleOptionExperimentalFeature): (WTR::handleOptionInternalFeature): * WebKitTestRunner/Options.h: Rather than parsing into bools / extra maps, parse the command line options directly into a TestFeatures. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Initialize global features from the new Options' TestFeatures. (WTR::TestController::resetPreferencesToConsistentValues): Remove special casing for experimental and internal features, they are now just generic bool WebPreferences. Move special cases for internal features into TestOptions. (WTR::TestController::testOptionsForTest const): Now that global features is not seeded with the default features, construct the full merge chain starting with the default features instead. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): Add some additional defaults moved from TestController::resetPreferencesToConsistentValues. (WTR::TestOptions::hasSameInitializationOptions const): Use operator== to reduce duplicated code. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::experimentalFeatures const): Deleted. (WTR::TestOptions::internalDebugFeatures const): Deleted. Remove now unused extra maps for external and internal features. Canonical link: https://commits.webkit.org/231228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-11-04 22:22:03 +00:00
return m_features == other.m_features;
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
bool TestOptions::boolWebPreferenceFeatureValue(std::string key, bool defaultValue) const
[Preferences] Introduce string based SPI for WKPreferences to allow tests to change internal behavior without always adding additional SPI https://bugs.webkit.org/show_bug.cgi?id=217582 Reviewed by Darin Adler. Source/WebKit: Add SPI for setting any WebKit preference using the key as defined in the WebPreferences*.yaml files. This will allow adding testing of non-default behavior that we don't necessarily want to expose via its own API or SPI. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Scripts/PreferencesTemplates/WebPreferencesGetterSetters.cpp.erb: Added. * WebKit.xcodeproj/project.pbxproj: Add new generated file, WebPreferencesGetterSetters.cpp. * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb: * Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb: Moved getter/setter definitions to WebPreferencesGetterSetters.cpp.erb * UIProcess/WebPreferences.cpp: * UIProcess/WebPreferences.h: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetBoolValueForKey): (WKPreferencesSetDoubleValueForKey): (WKPreferencesSetUInt32ValueForKey): (WKPreferencesSetStringValueForKey): * UIProcess/API/C/WKPreferencesRefPrivate.h: Expose new SPI. Tools: Adopt new WebKit SPI to set preferences using the keys defined in the WebPreferences*.yaml files. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Remove need for m_shouldUseAcceleratedDrawing by merging it into the global feature set. (WTR::TestController::createWebViewWithOptions): Move WKHTTPCookieStoreDeleteAllCookies() call out of resetPreferencesToConsistentValues where it did not make sense. (WTR::TestController::resetPreferencesToConsistentValues): Replace preference setters that used values from TestOptions with use of the new WKPreferencesSetBoolValueForKey SPI. Also removes some unnecessary #ifdefs, as the API it was guarding is always available, though may just be a no-op if the feature is disabled. (WTR::TestController::resetStateToConsistentValues): Move Cocoa specific call to WebCoreTestSupport::setAdditionalSupportedImageTypesForTesting to TestControllerCocoa.mm and Gtk specific call to WKTextCheckerContinuousSpellCheckingEnabledStateChanged to TestControllerGtk.cpp. * WebKitTestRunner/TestController.h: Remove unimplemented globalFeatureDefaultsForTest() function and now unused m_shouldUseAcceleratedDrawing member variable. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::boolWKPreferences const): Add helper to get all the bool options in TestOptions that correspond with WebKit preferences. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::useAcceleratedDrawing const): Deleted. (WTR::TestOptions::useMockScrollbars const): Deleted. (WTR::TestOptions::needsSiteSpecificQuirks const): Deleted. (WTR::TestOptions::enableIntersectionObserver const): Deleted. (WTR::TestOptions::enableMenuItemElement const): Deleted. (WTR::TestOptions::enableKeygenElement const): Deleted. (WTR::TestOptions::enableModernMediaControls const): Deleted. (WTR::TestOptions::enablePointerLock const): Deleted. (WTR::TestOptions::enableWebAuthentication const): Deleted. (WTR::TestOptions::enableWebAuthenticationLocalAuthenticator const): Deleted. (WTR::TestOptions::enableInspectorAdditions const): Deleted. (WTR::TestOptions::allowCrossOriginSubresourcesToAskForCredentials const): Deleted. (WTR::TestOptions::domPasteAllowed const): Deleted. (WTR::TestOptions::enableColorFilter const): Deleted. (WTR::TestOptions::checkForWorldLeaks const): Deleted. (WTR::TestOptions::shouldIgnoreMetaViewport const): Deleted. (WTR::TestOptions::enableServiceControls const): Deleted. (WTR::TestOptions::enableAppNap const): Deleted. (WTR::TestOptions::enableBackForwardCache const): Deleted. (WTR::TestOptions::enableCaptureVideoInUIProcess const): Deleted. (WTR::TestOptions::enableCaptureVideoInGPUProcess const): Deleted. (WTR::TestOptions::enableCaptureAudioInUIProcess const): Deleted. (WTR::TestOptions::enableCaptureAudioInGPUProcess const): Deleted. Remove all getters that are now replaced by boolWKPreferences. Also, sorts all the lists to make it easier to find things. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): (WTR::TestController::platformCreateWebView): Remove setting of configuration values that also covered by boolWKPreferences. (WTR::TestController::cocoaResetStateToConsistentValues): Move Cocoa specific call here. * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): Move Gtk specific call here. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Remove setting of configuration values that also covered by boolWKPreferences. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetStateToConsistentValues): Moved default no-op implementation from TestController.cpp now that not all non-Cocoa platforms use the same implementation. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetStateToConsistentValues): Moved default no-op implementation from TestController.cpp now that not all non-Cocoa platforms use the same implementation. Canonical link: https://commits.webkit.org/230357@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 06:29:53 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
auto it = m_features.boolWebPreferenceFeatures.find(key);
if (it != m_features.boolWebPreferenceFeatures.end())
return it->second;
return defaultValue;
[Preferences] Introduce string based SPI for WKPreferences to allow tests to change internal behavior without always adding additional SPI https://bugs.webkit.org/show_bug.cgi?id=217582 Reviewed by Darin Adler. Source/WebKit: Add SPI for setting any WebKit preference using the key as defined in the WebPreferences*.yaml files. This will allow adding testing of non-default behavior that we don't necessarily want to expose via its own API or SPI. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Scripts/PreferencesTemplates/WebPreferencesGetterSetters.cpp.erb: Added. * WebKit.xcodeproj/project.pbxproj: Add new generated file, WebPreferencesGetterSetters.cpp. * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb: * Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb: Moved getter/setter definitions to WebPreferencesGetterSetters.cpp.erb * UIProcess/WebPreferences.cpp: * UIProcess/WebPreferences.h: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetBoolValueForKey): (WKPreferencesSetDoubleValueForKey): (WKPreferencesSetUInt32ValueForKey): (WKPreferencesSetStringValueForKey): * UIProcess/API/C/WKPreferencesRefPrivate.h: Expose new SPI. Tools: Adopt new WebKit SPI to set preferences using the keys defined in the WebPreferences*.yaml files. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Remove need for m_shouldUseAcceleratedDrawing by merging it into the global feature set. (WTR::TestController::createWebViewWithOptions): Move WKHTTPCookieStoreDeleteAllCookies() call out of resetPreferencesToConsistentValues where it did not make sense. (WTR::TestController::resetPreferencesToConsistentValues): Replace preference setters that used values from TestOptions with use of the new WKPreferencesSetBoolValueForKey SPI. Also removes some unnecessary #ifdefs, as the API it was guarding is always available, though may just be a no-op if the feature is disabled. (WTR::TestController::resetStateToConsistentValues): Move Cocoa specific call to WebCoreTestSupport::setAdditionalSupportedImageTypesForTesting to TestControllerCocoa.mm and Gtk specific call to WKTextCheckerContinuousSpellCheckingEnabledStateChanged to TestControllerGtk.cpp. * WebKitTestRunner/TestController.h: Remove unimplemented globalFeatureDefaultsForTest() function and now unused m_shouldUseAcceleratedDrawing member variable. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::boolWKPreferences const): Add helper to get all the bool options in TestOptions that correspond with WebKit preferences. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::useAcceleratedDrawing const): Deleted. (WTR::TestOptions::useMockScrollbars const): Deleted. (WTR::TestOptions::needsSiteSpecificQuirks const): Deleted. (WTR::TestOptions::enableIntersectionObserver const): Deleted. (WTR::TestOptions::enableMenuItemElement const): Deleted. (WTR::TestOptions::enableKeygenElement const): Deleted. (WTR::TestOptions::enableModernMediaControls const): Deleted. (WTR::TestOptions::enablePointerLock const): Deleted. (WTR::TestOptions::enableWebAuthentication const): Deleted. (WTR::TestOptions::enableWebAuthenticationLocalAuthenticator const): Deleted. (WTR::TestOptions::enableInspectorAdditions const): Deleted. (WTR::TestOptions::allowCrossOriginSubresourcesToAskForCredentials const): Deleted. (WTR::TestOptions::domPasteAllowed const): Deleted. (WTR::TestOptions::enableColorFilter const): Deleted. (WTR::TestOptions::checkForWorldLeaks const): Deleted. (WTR::TestOptions::shouldIgnoreMetaViewport const): Deleted. (WTR::TestOptions::enableServiceControls const): Deleted. (WTR::TestOptions::enableAppNap const): Deleted. (WTR::TestOptions::enableBackForwardCache const): Deleted. (WTR::TestOptions::enableCaptureVideoInUIProcess const): Deleted. (WTR::TestOptions::enableCaptureVideoInGPUProcess const): Deleted. (WTR::TestOptions::enableCaptureAudioInUIProcess const): Deleted. (WTR::TestOptions::enableCaptureAudioInGPUProcess const): Deleted. Remove all getters that are now replaced by boolWKPreferences. Also, sorts all the lists to make it easier to find things. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): (WTR::TestController::platformCreateWebView): Remove setting of configuration values that also covered by boolWKPreferences. (WTR::TestController::cocoaResetStateToConsistentValues): Move Cocoa specific call here. * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformResetStateToConsistentValues): Move Gtk specific call here. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Remove setting of configuration values that also covered by boolWKPreferences. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformResetStateToConsistentValues): Moved default no-op implementation from TestController.cpp now that not all non-Cocoa platforms use the same implementation. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformResetStateToConsistentValues): Moved default no-op implementation from TestController.cpp now that not all non-Cocoa platforms use the same implementation. Canonical link: https://commits.webkit.org/230357@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-12 06:29:53 +00:00
}
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
template<typename T> T testRunnerFeatureValue(std::string key, const std::unordered_map<std::string, T>& map)
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
// All test runner features should always exist in their corresponding map since the base/global defaults
// contains default values for all of them.
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
auto it = map.find(key);
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
ASSERT(it != map.end());
return it->second;
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
bool TestOptions::boolTestRunnerFeatureValue(std::string key) const
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
return testRunnerFeatureValue(key, m_features.boolTestRunnerFeatures);
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
double TestOptions::doubleTestRunnerFeatureValue(std::string key) const
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
return testRunnerFeatureValue(key, m_features.doubleTestRunnerFeatures);
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
std::string TestOptions::stringTestRunnerFeatureValue(std::string key) const
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
return testRunnerFeatureValue(key, m_features.stringTestRunnerFeatures);
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend https://bugs.webkit.org/show_bug.cgi?id=217390 Reviewed by Darin Adler. Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at different levels are treated and what precedence each has. The order is (from least to most): - Global features passed to WebKitTestRunner via the command line (e.g. --show-touches) - Hardcoded features based on the path of the test being run (hopefully we can remove all soon) - Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling). - Features from the test headers within the test itself. - Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.) To make this change work, and pave the way for future autogeneration of some of these test options, the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are not in the maps. In future changes, I would like to remove many of these (the ones that correspond with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences. * WebKitTestRunner/Options.cpp: * WebKitTestRunner/Options.h: Switch to std::unordered_map for consistency and ease of conversion. * WebKitTestRunner/PlatformWebView.h: (WTR::PlatformWebView::viewSupportsOptions const): Update to call new TestOptions functions. * WebKitTestRunner/StringFunctions.h: (WTR::toWK): (WTR::toWTFString): Add conversions for std::string. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Replace some bools with a new global TestFeatures instance that forms the base of all TestFeatures merges. (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): Update to call new TestOptions functions. (WTR::TestController::createTestURL): Expose as a static member function on TestController for use in other files. (WTR::TestController::testOptionsForTest const): Rework to be a sequence of TestFeatures merges. (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): Update to call new TestOptions functions. (WTR::createTestURL): Deleted. (WTR::parseBooleanTestHeaderValue): Deleted. (WTR::parseStringTestHeaderValueAsRelativePath): Deleted. (WTR::parseStringTestHeaderValueAsURL): Deleted. (WTR::updateTestOptionsFromTestHeader): Deleted. (WTR::TestController::platformAddTestOptions const): Deleted. Moved TestOptions parsing to TestOptions.cpp * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): Update to call new TestOptions functions. * WebKitTestRunner/TestOptions.h: Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set of maps that map feature string keys, to values of type bool, double, string or string vector. * WebKitTestRunner/TestOptions.cpp: (WTR::merge): Merges two TestFeatures objects. If both contain the same key, the 'additional' TestFeatures overrides the 'base' TestFeatures. (WTR::dumpFeatures): Helper to dump features to stderr, useful for debugging. (WTR::keyType): Helper for parser to know which value parser to use. (WTR::parseBooleanTestHeaderValue): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::parseStringTestHeaderValueAsURL): Value parsers moved from TestController.cpp (WTR::parseTestHeader): Header parser moved from TestController.cpp. Update to now return a TestFeatures object and use keyType to pick value parser rather than inlining the if statements. (WTR::hardcodedFeaturesBasedOnPathForTest): Moved from the TestOptions contructor and reworked to return a TestFeatures object to be merged by the caller. (WTR::featureDefaultsFromTestHeaderForTest): Creates a TestFeatures for the test headers of the current test. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const): Reworked to now return a TestFeatures object that will be merged, rather than updating a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest where it is more appropriate. (WTR::TestController::platformInitializeDataStore): (WTR::TestController::platformCreateWebView): (WTR::TestController::finishCreatingPlatformWebView): (WTR::TestController::setApplicationBundleIdentifier): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::contentMode): Update to call new TestOptions functions. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::TestController::platformConfigureViewForTest): Update to call new TestOptions functions. (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest where it is more appropriate and removed shouldShowTouches setting as that is done globally now. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Update to call new TestOptions functions. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally, and re-implemented useThreadedScrolling to use boolFeatures. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. * WebKitTestRunner/gtk/TestControllerGTK.cpp: (WTR::TestController::platformSpecificFeatureDefaultsForTest const): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted. Updated for new signature. Canonical link: https://commits.webkit.org/230271@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-09 00:45:29 +00:00
}
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
[Testing] Rename test header commands to match names in WebPreferences*.yaml https://bugs.webkit.org/show_bug.cgi?id=217654 Reviewed by Simon Fraser. Tools: Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled). Also splits up TestFeatures into test runner specific features (e.g. runSingly) that don't have a WebPreferences counterpart, and WebPreferences specific features. This will allow future patches to support arbritrary WebPreferences more easily. * DumpRenderTree/TestOptions.cpp: * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestRunnerShared/TestFeatures.cpp: * TestRunnerShared/TestFeatures.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestOptions.cpp: * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: * WebKitTestRunner/gtk/TestControllerGtk.cpp: * WebKitTestRunner/mac/TestControllerMac.mm: * WebKitTestRunner/wpe/TestControllerWPE.cpp: LayoutTests: Update test header commands to match names in the WebPreferences*.yaml configuration files. * accessibility/attachment-element.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/ios-simulator/attributed-string-for-range.html: * accessibility/ios-simulator/has-touch-event-listener-with-shadow.html: * accessibility/ios-simulator/media-with-aria-label.html: * accessibility/mac/attachment-element-replacement-character.html: * accessibility/mac/video-tag-hit-test.html: * accessibility/mac/video-volume-slider-accessibility.html: * accessibility/media-element.html: * accessibility/media-emits-object-replacement.html: * accessibility/media-with-aria-label.html: * animations/resume-after-page-cache.html: * compositing/accelerated-layers-after-back.html: * compositing/iframes/page-cache-layer-tree.html: * compositing/page-cache-back-crash.html: * compositing/show-composited-iframe-on-back-button.html: * compositing/video/poster-expected.html: * compositing/video/poster.html: * css3/color-filters/color-filter-animation.html: * css3/color-filters/color-filter-apple-invert-lightness.html: * css3/color-filters/color-filter-backgrounds-borders.html: * css3/color-filters/color-filter-box-shadow.html: * css3/color-filters/color-filter-brightness.html: * css3/color-filters/color-filter-caret-color.html: * css3/color-filters/color-filter-color-property-list-item.html: * css3/color-filters/color-filter-color-property.html: * css3/color-filters/color-filter-color-text-decorations.html: * css3/color-filters/color-filter-column-rule.html: * css3/color-filters/color-filter-composition-underline-color-expected.html: * css3/color-filters/color-filter-composition-underline-color.html: * css3/color-filters/color-filter-contrast.html: * css3/color-filters/color-filter-current-color.html: * css3/color-filters/color-filter-filter-list.html: * css3/color-filters/color-filter-gradients.html: * css3/color-filters/color-filter-grayscale.html: * css3/color-filters/color-filter-hue-rotate.html: * css3/color-filters/color-filter-ignore-semantic-expected.html: * css3/color-filters/color-filter-ignore-semantic.html: * css3/color-filters/color-filter-inherits.html: * css3/color-filters/color-filter-invert.html: * css3/color-filters/color-filter-opacity.html: * css3/color-filters/color-filter-outline.html: * css3/color-filters/color-filter-parsing.html: * css3/color-filters/color-filter-saturate.html: * css3/color-filters/color-filter-sepia.html: * css3/color-filters/color-filter-text-decoration-shadow.html: * css3/color-filters/color-filter-text-emphasis.html: * css3/color-filters/color-filter-text-shadow.html: * css3/color-filters/color-filter-text-stroke.html: * css3/color-filters/svg/color-filter-inline-svg.html: * editing/async-clipboard/clipboard-change-data-while-reading.html: * editing/async-clipboard/clipboard-change-data-while-writing.html: * editing/async-clipboard/clipboard-do-not-read-text-from-platform-if-text-changes.html: * editing/async-clipboard/clipboard-read-text-from-platform.html: * editing/async-clipboard/clipboard-read-text-same-origin.html: * editing/async-clipboard/clipboard-read-while-pasting.html: * editing/async-clipboard/sanitize-when-reading-markup.html: * editing/execCommand/set-backColor-with-color-filter-from-scripts.html: * editing/execCommand/set-foreColor-with-color-filter-from-scripts.html: * editing/mac/attributed-string/attrib-string-colors-with-color-filter.html: * editing/mac/attributed-string/attrib-string-range-with-color-filter.html: * editing/mac/attributed-string/attribute-string-for-copy-with-color-filter.html: * editing/mac/attributed-string/attributed-string-for-typing-with-color-filter.html: * editing/mac/input/unconfirmed-text-navigation-with-page-cache.html: * editing/pasteboard/copy-paste-attachment.html: * editing/pasteboard/dom-paste/dom-paste-confirmation.html: * editing/pasteboard/dom-paste/dom-paste-consecutive-confirmations.html: * editing/pasteboard/dom-paste/dom-paste-rejection.html: * editing/pasteboard/dom-paste/dom-paste-requires-user-gesture.html: * editing/pasteboard/dom-paste/dom-paste-same-origin.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-URLs.html: * editing/pasteboard/drag-file-promises-to-editable-element-as-attachment.html: * editing/pasteboard/drag-files-to-editable-element-as-URLs.html: * editing/pasteboard/drag-files-to-editable-element-as-attachment.html: * editing/pasteboard/entries-api/DirectoryEntry-getFile-back-forward-cache.html: * editing/pasteboard/entries-api/DirectoryReader-readEntries-back-forward-cache.html: * editing/pasteboard/paste-dark-mode-color-filtered.html: * editing/selection/selection-change-in-disconnected-frame-crash.html: * editing/style/inverse-color-filter.html: * editing/style/set-backColor-with-color-filter.html: * editing/style/set-foreColor-with-color-filter.html: * fast/attachment/attachment-action-expected.html: * fast/attachment/attachment-action.html: * fast/attachment/attachment-border-should-stay-inside-attachment.html: * fast/attachment/attachment-borderless-expected-mismatch.html: * fast/attachment/attachment-borderless.html: * fast/attachment/attachment-default-icon-expected.html: * fast/attachment/attachment-default-icon.html: * fast/attachment/attachment-dom.html: * fast/attachment/attachment-dynamic-type.html: * fast/attachment/attachment-folder-icon-expected.html: * fast/attachment/attachment-folder-icon.html: * fast/attachment/attachment-icon-from-file-extension-expected.html: * fast/attachment/attachment-icon-from-file-extension.html: * fast/attachment/attachment-label-highlight.html: * fast/attachment/attachment-progress.html: * fast/attachment/attachment-rendering.html: * fast/attachment/attachment-respects-css-size.html: * fast/attachment/attachment-select-on-click-inside-user-select-all.html: * fast/attachment/attachment-select-on-click.html: * fast/attachment/attachment-subtitle-resize.html: * fast/attachment/attachment-subtitle.html: * fast/attachment/attachment-thumbnail-preserves-aspect-ratio.html: * fast/attachment/attachment-title-with-rtl-expected.html: * fast/attachment/attachment-title-with-rtl.html: * fast/attachment/attachment-title.html: * fast/attachment/attachment-type-attribute-expected.html: * fast/attachment/attachment-type-attribute.html: * fast/attachment/attachment-uti-expected.html: * fast/attachment/attachment-uti.html: * fast/attachment/attachment-wrapping-action-expected-mismatch.html: * fast/attachment/attachment-wrapping-action.html: * fast/block/float/float-not-removed-from-first-letter.html: * fast/block/float/split-inline-sibling-of-float-crash.html: * fast/canvas/2d.currentPoint.html: * fast/canvas/2d.getPath.modification.html: * fast/canvas/2d.getPath.newobject.html: * fast/canvas/2d.setPath.html: * fast/canvas/webgl/canvas-webgl-page-cache.html: * fast/css/fontloader-page-cache.html: * fast/css/has-attachment.html: * fast/css/pseudo-required-optional-unapplied.html: * fast/dom/DeviceMotion/no-page-cache.html: * fast/dom/DeviceOrientation/event-after-navigation.html: * fast/dom/DeviceOrientation/no-page-cache.html: * fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html: * fast/dom/HTMLKeygenElement/keygen-keytype.html: * fast/dom/HTMLKeygenElement/keygen.html: * fast/dom/Window/timer-resume-on-navigation-back.html: * fast/dom/adopt-node-crash-2.html: * fast/dom/attribute-set-before-element-in-tree.html: * fast/dom/domstring-attribute-reflection.html: * fast/dom/set-custom-validity-with-too-few-arguments.html: * fast/dom/tabindex-defaults.html: * fast/dom/wrapper-classes.html: * fast/dynamic/insertAdjacentHTML-allowed-parents.html: * fast/events/ios/do-not-show-keyboard-when-focusing-after-blur.html: * fast/events/ios/pdf-modifer-key-down-crash.html: * fast/events/ios/rotation/do-not-shrink-to-fit-content-after-rotation.html: * fast/events/onunload-back-to-page-cache.html: * fast/events/pagehide-timeout.html: * fast/events/pagehide-xhr-open.html: * fast/events/pageshow-pagehide-on-back-cached-with-frames.html: * fast/events/pageshow-pagehide-on-back-cached.html: * fast/events/suspend-timers.html: * fast/files/file-reader-back-forward-cache.html: * fast/flexbox/crash-button-keygen.html: * fast/forms/ValidityState-001.html: * fast/forms/autocomplete-off-with-default-value-does-not-clear.html: * fast/forms/autofocus-keygen.html: * fast/forms/checkValidity-001.html: * fast/forms/fieldset/fieldset-elements-htmlcollection.html: * fast/forms/fieldset/fieldset-elements.html: * fast/forms/form-associated-element-crash3.html: * fast/forms/form-attribute.html: * fast/forms/form-collection-elements-order.html: * fast/forms/form-collection-elements.html: * fast/forms/form-collection-radio-node-list.html: * fast/forms/ios/no-scrolling-when-moving-focus-between-adjacent-fields.html: * fast/forms/label/labelable-elements.html: * fast/forms/label/labels-add-htmlFor-label.html: * fast/forms/label/labels-add-parent-label.html: * fast/forms/label/labels-change-htmlFor-attribute.html: * fast/forms/label/labels-multiple-sibling-labels.html: * fast/forms/label/labels-parent-and-sibling-labels.html: * fast/forms/label/labels-remove-htmlFor-attribute.html: * fast/forms/label/labels-remove-htmlFor-label.html: * fast/forms/label/labels-remove-parent-label.html: * fast/forms/large-parts.html: * fast/forms/scrollheight-with-mutation-crash.html: * fast/forms/setCustomValidity-arguments.html: * fast/forms/setCustomValidity-existence.html: * fast/forms/setCustomValidity-null-parameter.html: * fast/forms/state-restore-skip-stateless.html: * fast/forms/update-form-owner-in-moved-subtree-assertion-failure.html: * fast/forms/validationMessage.html: * fast/forms/willvalidate.html: * fast/frames/frame-crash-with-page-cache.html: * fast/frames/frame-unload-navigate-and-setTimeout-assert-fail.html: * fast/frames/page-hide-document-open.html: * fast/frames/restoring-page-cache-should-not-run-scripts-via-style-update.html: * fast/frames/restoring-page-cache-should-not-run-scripts.html: * fast/harness/page-cache-crash-on-data-urls.html: * fast/harness/use-page-cache.html: * fast/hidpi/video-controls-in-hidpi.html: * fast/history/back-forward-cache-visibility-state.html: * fast/history/back-from-page-with-focused-iframe.html: * fast/history/go-back-to-iframe-with-plugin.html: * fast/history/go-back-to-object-subframe.html: * fast/history/history-back-while-pdf-in-pagecache.html: * fast/history/multiple-back-forward-navigations.html: * fast/history/page-cache-MessagePort-pending-message.html: * fast/history/page-cache-active-fetch-request-blobReadAsBlob.html: * fast/history/page-cache-active-fetch-request-blobReadAsReadableStream.html: * fast/history/page-cache-active-fetch-request-blobReadAsText.html: * fast/history/page-cache-active-fetch-response-blobReadAsBlob.html: * fast/history/page-cache-after-window-open.html: * fast/history/page-cache-back-navigation-crash.html: * fast/history/page-cache-clearing.html: * fast/history/page-cache-closed-audiocontext.html: * fast/history/page-cache-createImageBitmap.html: * fast/history/page-cache-createObjectURL-using-open-panel.html: * fast/history/page-cache-createObjectURL.html: * fast/history/page-cache-destroy-document.html: * fast/history/page-cache-element-state-focused.html: * fast/history/page-cache-execute-script-during-restore.html: * fast/history/page-cache-geolocation-active-oneshot.html: * fast/history/page-cache-geolocation-active-watcher.html: * fast/history/page-cache-geolocation.html: * fast/history/page-cache-gpu-canvas-context.html: * fast/history/page-cache-iframe-js-url.html: * fast/history/page-cache-indexed-closed-db.html: * fast/history/page-cache-indexed-opened-db.html: * fast/history/page-cache-media-recorder.html: * fast/history/page-cache-media-source-closed-2.html: * fast/history/page-cache-media-source-closed.html: * fast/history/page-cache-media-source-opened.html: * fast/history/page-cache-navigate-during-restore.html: * fast/history/page-cache-notification-showing.html: * fast/history/page-cache-notification-suspendable.html: * fast/history/page-cache-removed-source-buffer.html: * fast/history/page-cache-running-audiocontext.html: * fast/history/page-cache-subframes-with-provisional-load.html: * fast/history/page-cache-suspended-audiocontext.html: * fast/history/page-cache-webdatabase-no-transaction-db.html: * fast/history/page-cache-webdatabase-pending-transaction.html: * fast/history/page-cache-with-opener.html: * fast/history/pagehide-remove-iframe-crash.html: * fast/history/resources/page-cache-window-with-iframe.html: * fast/history/resources/page-cache-window-with-opener.html: * fast/history/timed-refresh-in-cached-frame.html: * fast/html/clone-keygen.html: * fast/html/keygen.html: * fast/html/marquee-reparent-check.html: * fast/html/menuitem-element.html: * fast/images/animated-gif-restored-from-bfcache.html: * fast/invalid/residual-style-expected.html: * fast/invalid/residual-style.html: * fast/layers/video-layer.html: * fast/loader/data-url-load-denied.html: * fast/loader/frames-with-unload-handlers-in-page-cache.html: * fast/loader/image-in-page-cache.html: * fast/loader/input-element-page-cache-crash.html: * fast/loader/navigate-with-new-target-after-back-forward-navigation.html: * fast/loader/navigate-with-post-to-new-target-after-back-forward-navigation.html: * fast/loader/scroll-position-restored-on-back.html: * fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html: * fast/loader/stateobjects/popstate-fires-with-page-cache.html: * fast/loader/unschedule-relayout-after-unload.html: * fast/loader/window-properties-restored-from-page-cache.html: * fast/mediastream/MediaStream-video-element-video-tracks-disabled.html: * fast/mediastream/RTCPeerConnection-page-cache.html: * fast/mediastream/captureInGPUProcess.html: * fast/mediastream/media-stream-track-interrupted.html: * fast/multicol/span/positioned-child-not-removed-crash.html: * fast/overflow/horizontal-scroll-after-back.html: * fast/ruby/float-object-doesnt-crash.html: * fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html: * fast/scrolling/iframe-scrollable-after-back.html: * fast/scrolling/ios/scroll-events-back-forward-after-pageshow.html: * fast/scrolling/ios/scroll-events-back-forward.html: * fast/scrolling/ios/touch-scroll-back-forward.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-in-iframe-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-reveal.html: * fast/scrolling/mac/scrollbars/overlay-scrollbar-state.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-hovered.html: * fast/scrolling/mac/scrollbars/select-overlay-scrollbar-reveal.html: * fast/scrolling/overflow-scrollable-after-back.html: * fast/scrolling/page-cache-back-overflow-scroll-restore.html: * fast/scrolling/rtl-scrollbars-animation-property.html: * fast/shadow-dom/keygen-shadow-manipulation.html: * fast/table/crash-splitColumn-2.html: * fast/table/multiple-captions-crash3-expected.html: * fast/table/multiple-captions-crash3.html: * fast/text-autosizing/ios/text-autosizing-after-back.html: * fast/viewport/ios/ignore-minimum-device-width-for-page-with-viewport-device-width.html: * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: * fast/viewport/ios/resources/go-back.html: * fast/viewport/ios/shrink-to-fit-content-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-constant-width.html: * fast/viewport/ios/shrink-to-fit-content-large-width-breakpoint.html: * fast/viewport/ios/shrink-to-fit-content-no-viewport.html: * fast/viewport/ios/shrink-to-fit-content-responsive-viewport-with-horizontal-overflow.html: * fast/viewport/ios/shrink-to-fit-content-temporary-overflow.html: * fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta.html: * fast/viewport/ios/shrink-to-fit-large-content-width.html: * fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html: * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: * fast/viewport/viewport-128.html: * fast/workers/worker-page-cache.html: * fullscreen/video-controls-drag.html: * fullscreen/video-controls-override.html: * fullscreen/video-controls-rtl.html: * fullscreen/video-controls-timeline.html: * http/tests/cache-storage/page-cache-domcache-pending-promise.html: * http/tests/cache-storage/page-cache-domcachestorage-pending-promise.html: * http/tests/cache/display-image-unset-allows-cached-image-load.html: * http/tests/eventsource/eventsource-page-cache-connected.html: * http/tests/eventsource/eventsource-page-cache-connecting.html: * http/tests/loading/main-resource-delegates-on-back-navigation.html: * http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html: * http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: * http/tests/media/hls/video-controls-live-stream.html: * http/tests/media/hls/video-duration-accessibility.html: * http/tests/media/reload-after-dialog.html: * http/tests/media/video-auth-with-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/misc/resources/check-keygen-post.php: * http/tests/misc/submit-post-keygen.html: * http/tests/navigation/go-back-to-error-page.html: * http/tests/navigation/https-in-page-cache.html: * http/tests/navigation/https-no-store-subframe-in-page-cache.html: * http/tests/navigation/image-load-in-pagehide-handler.html: * http/tests/navigation/page-cache-failed-xhr.html: * http/tests/navigation/page-cache-fontfaceset.html: * http/tests/navigation/page-cache-fragment-referrer.html: * http/tests/navigation/page-cache-getUserMedia-pending-promise.html: * http/tests/navigation/page-cache-iframe-no-current-historyItem.html: * http/tests/navigation/page-cache-iframe-provisional-load-async-delegates.html: * http/tests/navigation/page-cache-iframe-provisional-load.html: * http/tests/navigation/page-cache-mediakeysession.html: * http/tests/navigation/page-cache-mediastream.html: * http/tests/navigation/page-cache-pending-image-load-cache-partition.html: * http/tests/navigation/page-cache-pending-image-load.html: * http/tests/navigation/page-cache-pending-load.html: * http/tests/navigation/page-cache-pending-ping-load-cross-origin.html: * http/tests/navigation/page-cache-pending-ping-load-same-origin.html: * http/tests/navigation/page-cache-requestAnimationFrame.html: * http/tests/navigation/page-cache-video.html: * http/tests/navigation/page-cache-xhr-in-loading-iframe.html: * http/tests/navigation/page-cache-xhr-in-pagehide.html: * http/tests/navigation/page-cache-xhr.html: * http/tests/navigation/resources/https-in-page-cache-3.html: * http/tests/navigation/subframe-pagehide-handler-starts-load.html: * http/tests/navigation/subframe-pagehide-handler-starts-load2.html: * http/tests/paymentrequest/page-cache-closed-payment-request.https.html: * http/tests/paymentrequest/page-cache-completed-payment-response.https.html: * http/tests/paymentrequest/page-cache-created-payment-request.https.html: * http/tests/paymentrequest/page-cache-created-payment-response.https.html: * http/tests/paymentrequest/page-cache-interactive-payment-request.https.html: * http/tests/paymentrequest/page-cache-retried-payment-response.https.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html: * http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html: * http/tests/security/credentials-iframes-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/cross-origin-window-open-insert-script.html: * http/tests/security/cross-origin-window-open-javascript-url.html: * http/tests/security/mixedContent/insecure-basic-auth-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/insecure-image-redirects-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.html: * http/tests/security/mixedContent/secure-redirect-to-insecure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-insecure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/mixedContent/secure-redirect-to-secure-redirect-to-basic-auth-secure-image-allowCrossOriginSubresourcesToAskForCredentials.https.html: * http/tests/security/navigate-when-restoring-cached-page.html: * http/tests/security/xss-DENIED-click-and-form-submission-from-inactive-domwindow.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html: * http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html: * http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: * http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: * http/tests/websocket/tests/hybi/closed-when-entering-page-cache.html: * http/tests/websocket/tests/hybi/stop-on-resume-in-error-handler.html: * http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html: * http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html: * http/tests/workers/service/page-cache-service-worker-pending-promise.https.html: * http/tests/workers/service/page-caching.html: * http/wpt/beacon/support/sendBeacon-onpagehide-window.html: * http/wpt/fetch/resources/fetch-in-pagehide-window.html: * http/wpt/notifications/constructor-basic-bfcache.html: * http/wpt/service-workers/mac/throttleable.https.html: * http/wpt/service-workers/service-worker-spinning-activate.https.html: * http/wpt/service-workers/service-worker-spinning-fetch.https.html: * http/wpt/service-workers/service-worker-spinning-install.https.html: * http/wpt/service-workers/service-worker-spinning-message.https.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow-expected.html: * imported/blink/fast/dom/shadow/shadowdom-for-keygen-only-shadow.html: * imported/blink/fast/text/international-iteration-simple-text.html: * inspector/css/pseudo-element-matches.html: * intersection-observer/intersection-observer-entry-interface.html: * intersection-observer/intersection-observer-interface.html: * intersection-observer/root-element-deleted.html: * intersection-observer/root-element-moved.html: * intersection-observer/target-deleted.html: * js/dom/regress-157246.html: * loader/go-back-cached-main-resource.html: * loader/go-back-to-different-window-size.html: * media/accessibility-closed-captions-has-aria-owns.html: * media/adopt-node-crash.html: * media/airplay-allows-buffering.html: * media/airplay-autoplay.html: * media/audio-as-video-fullscreen.html: * media/audio-controls-do-not-fade-out.html: * media/audio-controls-rendering.html: * media/audio-controls-timeline-in-media-document.html: * media/audio-delete-while-slider-thumb-clicked.html: * media/audio-repaint.html: * media/click-placeholder-not-pausing.html: * media/click-volume-bar-not-pausing.html: * media/controls-after-reload.html: * media/controls-drag-timebar.html: * media/controls-right-click-on-timebar.html: * media/controls-strict.html: * media/controls-styling.html: * media/controls-without-preload.html: * media/controls/airplay-controls.html: * media/controls/airplay-picker.html: * media/controls/basic.html: * media/controls/elementOrder.html: * media/controls/forced-tracks-only.html: * media/controls/fullscreen-button-inline-layout.html: * media/controls/inline-elements-dropoff-order.html: * media/controls/picture-in-picture.html: * media/controls/pip-placeholder-without-video-controls.html: * media/controls/showControlsButton.html: * media/controls/statusDisplay.html: * media/controls/statusDisplayBad.html: * media/controls/track-menu.html: * media/crash-closing-page-with-media-as-plugin-fallback.html: * media/mac/controls-panel-not-clipped-out-expected.html: * media/mac/controls-panel-not-clipped-out.html: * media/media-captions-no-controls.html: * media/media-controller-drag-crash.html: * media/media-controls-accessibility.html: * media/media-controls-cancel-events.html: * media/media-controls-clone.html: * media/media-controls-drag-timeline-set-controls-property.html: * media/media-controls-timeline-updates-after-playing.html: * media/media-controls-timeline-updates-when-hovered.html: * media/media-controls-timeline-updates.html: * media/media-document-audio-controls-visible.html: * media/media-document-audio-repaint.html: * media/media-fullscreen-loop-inline.html: * media/media-fullscreen-pause-inline.html: * media/media-fullscreen-return-to-inline.html: * media/media-source/media-source-page-cache.html: * media/nodesFromRect-shadowContent.html: * media/progress-events-generated-correctly.html: * media/require-user-gesture-to-load-video.html: * media/restore-from-page-cache.html: * media/tab-focus-inside-media-elements.html: * media/track/track-cue-rendering-horizontal.html: * media/track/track-cue-rendering-snap-to-lines-not-set.html: * media/track/track-cue-rendering-vertical.html: * media/track/track-cues-cuechange.html: * media/track/track-cues-enter-exit.html: * media/track/track-in-band-duplicate-tracks-when-source-changes.html: * media/track/track-manual-mode.html: * media/video-click-dblckick-standalone.html: * media/video-controls-audiotracks-trackmenu.html: * media/video-controls-captions-trackmenu-localized.html: * media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: * media/video-controls-captions-trackmenu-sorted.html: * media/video-controls-captions-trackmenu.html: * media/video-controls-drop-and-restore-timeline.html: * media/video-controls-in-media-document.html: * media/video-controls-no-display-with-text-track.html: * media/video-controls-rendering.html: * media/video-controls-show-on-kb-or-ax-event.html: * media/video-controls-toggling.html: * media/video-controls-transformed.html: * media/video-controls-visible-audio-only.html: * media/video-controls-visible-exiting-fullscreen.html: * media/video-controls-zoomed.html: * media/video-display-toggle.html: * media/video-empty-source.html: * media/video-fullscreen-only-controls.html: * media/video-fullscreen-only-playback.html: * media/video-initially-hidden-volume-slider-up.html: * media/video-no-audio.html: * media/video-play-audio-require-user-gesture.html: * media/video-play-require-user-gesture.html: * media/video-trackmenu-selection.html: * media/video-volume-slider-drag.html: * media/video-volume-slider.html: * media/video-zoom-controls.html: * media/volume-bar-empty-when-muted.html: * platform/ios/ios/fixed/fixed-back-forward.html: * platform/ios/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: * platform/ios/mediastream/audio-muted-in-background-tab-gpu-process.html: * platform/ios/mediastream/audio-muted-in-background-tab.html: * platform/ios/mediastream/getUserMedia-single-capture-gpu-process.html: * platform/ios/mediastream/getUserMedia-single-capture.html: * platform/ipad/fast/viewport/meta-viewport-ignored.html: * platform/ipad/fast/viewport/viewport-overriden-by-minimum-effective-width-if-ignore-meta-viewport.html: * plugins/crash-restoring-plugin-page-from-page-cache.html: * plugins/frameset-with-plugin-frame.html: * plugins/netscape-plugin-page-cache-works.html: * requestidlecallback/requestidlecallback-in-page-cache.html: * storage/indexeddb/IDBRequest-page-cache.html: * storage/indexeddb/IDBTransaction-page-cache.html: * svg/dom/css-animate-input-foucs-crash.html: * swipe/basic-cached-back-swipe.html: * swipe/main-frame-pinning-requirement.html: * swipe/pushState-cached-back-swipe.html: * swipe/pushState-programmatic-back-while-swiping-crash.html: * swipe/pushstate-with-manual-scrollrestoration.html: * tiled-drawing/scrolling/null-parent-back-crash.html: * tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html: * webanimations/animation-page-cache.html: * webrtc/datachannel/datachannel-page-cache-send.html: * webrtc/datachannel/datachannel-page-cache.html: * webrtc/peerconnection-new-candidate-page-cache.html: * webrtc/peerconnection-page-cache-long.html: * webrtc/peerconnection-page-cache.html: * webrtc/video-rotation-no-cvo.html: Canonical link: https://commits.webkit.org/230409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-13 17:16:15 +00:00
std::vector<std::string> TestOptions::stringVectorTestRunnerFeatureValue(std::string key) const
WebKitTestRunner fails to apply "useFlexibleViewport" when it's specified in a file comment https://bugs.webkit.org/show_bug.cgi?id=149650 Reviewed by Tim Horton. TestInvocation::invoke() consulted shouldMakeViewportFlexible(), but that only looks at the file path, and not the custom options that come from file comments. Fix by computing TestOptions before making the TestInvocation, and setting them as const TestInvocation data. This meant changing various call sites to take the std::string pathOrURL, rather than the TestInvocation itself. Also initialize TestInvocation with a WKURLRef, rather than a std::string. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::testPath): (WTR::createTestURL): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::testOptionsForTest): (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::invoke): (WTR::createWKURL): Deleted. (WTR::TestInvocation::shouldMakeViewportFlexible): Deleted. (WTR::TestInvocation::shouldUseFixedLayout): Deleted. * WebKitTestRunner/TestInvocation.h: (WTR::TestInvocation::options): * WebKitTestRunner/TestOptions.cpp: Copied from Tools/WebKitTestRunner/TestOptions.h. (WTR::pathContains): (WTR::shouldMakeViewportFlexible): (WTR::shouldUseFixedLayout): (WTR::isSVGTestPath): (WTR::isHiDPITestPath): (WTR::TestOptions::TestOptions): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::pathContains): (WTR::shouldUseFixedLayout): (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Canonical link: https://commits.webkit.org/167752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-30 01:20:23 +00:00
{
[Testing] Support configuring any preference from test headers for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=217645 Reviewed by Tim Horton. Support using any preference defined in any of the WebPreference*.yaml configuration files as a test header command rather than limiting it to a hard coded subset by generating the list of supported commands and their types from the yaml files themselves. This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree in subsequent changes. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/Scripts/PreferencesTemplates: Added. * WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added. Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using the shared GeneratePreferences.rb script in WTF. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): Move preference setting to the bottom of the file to allow any preference to be overriden. Also adds in support for double, uint32_t, and string preferences though none of those are currently being used. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::keyTypeMapping): Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding all the preferences types. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::boolWebPreferenceFeatures const): (WTR::TestOptions::doubleWebPreferenceFeatures const): (WTR::TestOptions::uint32WebPreferenceFeatures const): (WTR::TestOptions::stringWebPreferenceFeatures const): Expose accessors for preferences values for use in setting the actual preference values. Rather than setting all preferences, we now only set preferences that have been explicitly requested, using the default value for any that have not. Canonical link: https://commits.webkit.org/230566@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-10-16 19:37:06 +00:00
return testRunnerFeatureValue(key, m_features.stringVectorTestRunnerFeatures);
WebKitTestRunner fails to apply "useFlexibleViewport" when it's specified in a file comment https://bugs.webkit.org/show_bug.cgi?id=149650 Reviewed by Tim Horton. TestInvocation::invoke() consulted shouldMakeViewportFlexible(), but that only looks at the file path, and not the custom options that come from file comments. Fix by computing TestOptions before making the TestInvocation, and setting them as const TestInvocation data. This meant changing various call sites to take the std::string pathOrURL, rather than the TestInvocation itself. Also initialize TestInvocation with a WKURLRef, rather than a std::string. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): (WTR::testPath): (WTR::createTestURL): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::testOptionsForTest): (WTR::TestController::updateWebViewSizeForTest): (WTR::TestController::updateWindowScaleForTest): (WTR::TestController::runTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::invoke): (WTR::createWKURL): Deleted. (WTR::TestInvocation::shouldMakeViewportFlexible): Deleted. (WTR::TestInvocation::shouldUseFixedLayout): Deleted. * WebKitTestRunner/TestInvocation.h: (WTR::TestInvocation::options): * WebKitTestRunner/TestOptions.cpp: Copied from Tools/WebKitTestRunner/TestOptions.h. (WTR::pathContains): (WTR::shouldMakeViewportFlexible): (WTR::shouldUseFixedLayout): (WTR::isSVGTestPath): (WTR::isHiDPITestPath): (WTR::TestOptions::TestOptions): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/efl/TestControllerEfl.cpp: (WTR::pathContains): (WTR::shouldUseFixedLayout): (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Canonical link: https://commits.webkit.org/167752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-30 01:20:23 +00:00
}
}