blob: 92bd4ef578bd8df1189a5d6e86f3f5ef7a5fe333 [file] [log] [blame]
2020-05-22 Alex Christensen <achristensen@webkit.org>
Make download resume workaround forgiving of changes in CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=212273
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2020-05-22 Paulo Matos <pmatos@igalia.com>
Add support for [no-]use-ccache option in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=212259
Reviewed by Mark Lam.
* Scripts/build-jsc:
2020-05-22 Alex Christensen <achristensen@webkit.org>
Add SPI to unblock third party cookies from WKWebViews with ResourceLoadStatistics turned on
https://bugs.webkit.org/show_bug.cgi?id=212058
<rdar://problem/60595539>
Reviewed by John Wilander.
I also add _test_waitForAlert to make tests less verbose.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::Connection):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::nullTerminatedRequest):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receive const):
(TestWebKitAPI::Connection::send const):
* TestWebKitAPI/cocoa/TestUIDelegate.h:
* TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[WKWebView _test_waitForAlert]):
2020-05-22 Chris Dumez <cdumez@apple.com>
[WKTR] Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank
https://bugs.webkit.org/show_bug.cgi?id=212268
<rdar://problem/63493074>
Reviewed by Geoffrey Garen.
Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank.
In <rdar://problem/63493074>, we have evidence that TestController::resetStateToConsistentValues() sometimes
fails to load about:blank, likely due to an unresponsive WebProcess. When this happens, WebKitTestRunner
reports the test as timing out and logs this on stderr:
"""
<unknown> - TestController::run - Failed to reset state to consistent values
#PROCESS UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 57421)
"""
This is unfortunate because this does not indicate that anything is particularly wrong with the test in
question. Rather, it indicates that the WebProcess is unresponsive (likely due to a hang caused by a
previous test), which prevents WebKitTestRunner to reset the state in order to run the test.
I propose that if we fail to load about:blank once, we log an error message to stderr but then terminate
the WebProcess and try once again, to make WebKitTestRunner more robust.
I have verified the change locally, by injecting a script in resetStateToConsistentValues() that causes
a WebProcess hang. Before my change, the test would time out and the same logging as in
<rdar://problem/63493074> would show. After my change though, the test would pass successfully despite the
WebProcess hang.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-05-22 ChangSeok Oh <changseok@webkit.org>
[GTK] jhbuild is broken with GCC 10.0
https://bugs.webkit.org/show_bug.cgi?id=212256
Reviewed by Carlos Alberto Lopez Perez.
GCC 10.0 enables -fno-common as default, so many 'multiple definitions' failures occur
in building dependencies via jhbuild. This patch addresses them by back-porting patches
from corresponding source repositories.
* gstreamer/jhbuild.modules:
* gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch: Added.
* gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch: Added.
* gtk/jhbuild.modules:
* gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch: Added.
* gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch: Added.
* gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch: Added.
* gtk/patches/xserver-Fix-building-with-fno-common.patch: Added.
2020-05-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add bubblewrap ... wrapper
https://bugs.webkit.org/show_bug.cgi?id=212077
Reviewed by Carlos Alberto Lopez Perez.
The bind-mounts are now handled through webkit-bwrap.
* flatpak/flatpakutils.py:
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Added.
2020-05-22 Javier Fernandez <jfernandez@igalia.com>
[Flatpak SDK] CCACHE_ env vars are not forwarded to the sandbox environment
https://bugs.webkit.org/show_bug.cgi?id=212257
Reviewed by Philippe Normand.
Added the "CCACHE" prefix to the ones the SDK should keep from the
user's environment, and forwarded to the Flatpak sandbox.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-22 Tim Horton <timothy_horton@apple.com>
iOS: Pressing tab in the Mail subject field moves focus to the body, but pressing shift tab doesn't move it back
https://bugs.webkit.org/show_bug.cgi?id=212243
<rdar://problem/59127764>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[FocusDelegate _webView:takeFocus:]):
(-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2020-05-21 Wenson Hsieh <wenson_hsieh@apple.com>
DataTransfer.files contains multiple files when pasting a single image with multiple representations
https://bugs.webkit.org/show_bug.cgi?id=212245
<rdar://problem/60240436>
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
(-[LocalPasteboard writeObjects:]):
(-[LocalPasteboard pasteboardItems]):
Adjust DumpRenderTree's LocalPasteboard so that it lazily populates the pasteboard when constructing
NSPasteboardItems. To do this, we need to make a few adjustments:
1. When reifying NSPasteboardItems from LocalPasteboard, ask the owner (WebHTMLView) to provide pasteboard
data for each pasteboard type that was promised by WebKit, but was not eagerly written to the pasteboard.
2. Cache pasteboard items that were created, so that we don't repeatedly ask WebHTMLView to provide
pasteboard data. WebHTMLView doesn't currently support this, and suffers from a bug where TIFF data may
only be provided once. This was fixed for WebKit2, but not for WebKit1.
3. Maintain a separate hash list of original pasteboard types (which may not be UTIs) that were handed to
LocalPasteboard by WebKit. We use these original types in step (1).
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
Add a new API test to verify that one file is exposed via the DataTranfer when the pasteboard contains a single
image with two image representations, but two files are exposed when the pasteboard contains two images, each
with a single representation.
(writeImageDataToPasteboard):
Overload this helper method with two additional variants: one that takes a dictionary of pasteboard types to
data, and another that takes an array of dictionaries, each representing a single item's types and data.
2020-05-21 Robin Morisset <rmorisset@apple.com>
Various compile-time boolean flags could/should be marked constexpr
https://bugs.webkit.org/show_bug.cgi?id=212244
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/Condition.cpp:
2020-05-21 Mark Lam <mark.lam@apple.com>
Rename some variables in Bitmap API test for consistency and better readability.
https://bugs.webkit.org/show_bug.cgi?id=212235
Reviewed by Saam Barati.
This patch renames the following:
bitmap0 => bitmapZeroes
bitmapFilled => bitmapOnes
bitmap3 => bitmap2Clone
bitmapSmallZeroed => smallBitmapZeroes
bitmapSmallFilled => smallBitmapOnes
bitmapSmall1 => smallBitmap1
bitmapSmall2 => smallBitmap2
Apart from these renamings, there are no other code changes.
* TestWebKitAPI/Tests/WTF/Bitmap.cpp:
(TestWebKitAPI::testBitmapSize):
(TestWebKitAPI::testBitmapConstructedEmpty):
(TestWebKitAPI::testBitmapSetGet):
(TestWebKitAPI::testBitmapTestAndSet):
(TestWebKitAPI::testBitmapTestAndClear):
(TestWebKitAPI::testBitmapConcurrentTestAndSet):
(TestWebKitAPI::testBitmapConcurrentTestAndClear):
(TestWebKitAPI::testBitmapClear):
(TestWebKitAPI::testBitmapClearAll):
(TestWebKitAPI::testBitmapInvert):
(TestWebKitAPI::testBitmapFindRunOfZeros):
(TestWebKitAPI::testBitmapCount):
(TestWebKitAPI::testBitmapIsEmpty):
(TestWebKitAPI::testBitmapIsFull):
(TestWebKitAPI::testBitmapMerge):
(TestWebKitAPI::testBitmapFilter):
(TestWebKitAPI::testBitmapExclude):
(TestWebKitAPI::testBitmapConcurrentFilter):
(TestWebKitAPI::testBitmapSubsumes):
(TestWebKitAPI::testBitmapForEachSetBit):
(TestWebKitAPI::testBitmapFindBit):
(TestWebKitAPI::testBitmapIteration):
(TestWebKitAPI::testBitmapMergeAndClear):
(TestWebKitAPI::testBitmapSetAndClear):
(TestWebKitAPI::testBitmapSetEachNthBit):
(TestWebKitAPI::testBitmapOperatorEqual):
(TestWebKitAPI::testBitmapOperatorNotEqual):
(TestWebKitAPI::testBitmapOperatorAssignment):
(TestWebKitAPI::testBitmapOperatorBitOrAssignment):
(TestWebKitAPI::testBitmapOperatorBitAndAssignment):
(TestWebKitAPI::testBitmapOperatorBitXorAssignment):
(TestWebKitAPI::testBitmapHash):
2020-05-20 Mark Lam <mark.lam@apple.com>
Add more Bitmap methods.
https://bugs.webkit.org/show_bug.cgi?id=212190
<rdar://problem/63481333>
Reviewed by Robin Morisset.
Added test coverage for the new WTF::Bitmap methods.
* TestWebKitAPI/Tests/WTF/Bitmap.cpp:
(TestWebKitAPI::testBitmapSetEachNthBit):
(TestWebKitAPI::testBitmapOperatorAssignment):
(TestWebKitAPI::testBitmapOperatorBitOrAssignment):
(TestWebKitAPI::testBitmapOperatorBitAndAssignment):
(TestWebKitAPI::testBitmapOperatorBitXorAssignment):
(TestWebKitAPI::TEST):
2020-05-21 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Add minimal WKView API to enable TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=211868
Reviewed by Alex Christensen.
Enable TestWebKitAPI
* TestWebKitAPI/PlatformPlayStation.cmake:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/playstation/PlatformUtilitiesPlayStation.cpp:
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
* TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page const):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateButtonClick):
* TestWebKitAPI/playstation/main.cpp:
(loadLibraryOrExit):
(main):
Add PlayStation Platform support.
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
Use the same expected default font preferences as GTK's.
2020-05-21 Alex Christensen <achristensen@webkit.org>
[macOS] TestWebKitAPI.WebKit.HTTPReferer is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=212180
Reviewed by Darin Adler.
Sometimes an HTTP request takes more than one call to nw_connection_receive to receive entirely.
Add a new abstraction Connection that wraps an nw_connection_t and knows how to read an entire request.
Use strnstr instead of null terminating and using strstr.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::receiveHTTPRequest):
(TestWebKitAPI::Connection::Connection):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::vectorFromData):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receiveHTTPRequest const):
(TestWebKitAPI::Connection::send const):
(TestWebKitAPI::Connection::terminate const):
(TestWebKitAPI::nullTerminatedRequest): Deleted.
2020-05-21 Enrique Ocaña González <eocanha@igalia.com>
[GStreamer][GTK][WPE] Expose and honor the media content types requiring hardware support setting
https://bugs.webkit.org/show_bug.cgi?id=211950
Reviewed by Adrian Perez de Castro.
Exercise the new mediaContentTypesRequiringHardwareSupport setting.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2020-05-20 Simon Fraser <simon.fraser@apple.com>
[macOS] Scrolling synchronization part 1: Have the scrolling thread wait half a frame for the main thread to complete the rendering update
https://bugs.webkit.org/show_bug.cgi?id=212168
Reviewed by Tim Horton.
Some new trace points for scrolling thread activity.
* Tracing/SystemTracePoints.plist:
2020-05-20 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Layout tests in editing/pasteboard sporadically crash
https://bugs.webkit.org/show_bug.cgi?id=212169
<rdar://problem/63361966>
Reviewed by Tim Horton.
Add some missing entitlements.
* TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2020-05-20 Sam Weinig <weinig@apple.com>
Replace Color::getHSL() with sRGBToHSL to ensure it at least gives somewhat sensible results for ExtendedColors and reduce code duplication
https://bugs.webkit.org/show_bug.cgi?id=212143
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to use sRGBToHSL instead of Color::getHSL() and add testing of WebCore::lightness() and
round tripping. Update results for hue to be 0->1 rather than 0->6 which allows the round tripping to succeed.
2020-05-20 ChangSeok Oh <changseok@webkit.org>
[GTK] Implement connected and disconnected events of GAMEPAD API with libmanette
https://bugs.webkit.org/show_bug.cgi?id=133854
Reviewed by Carlos Garcia Campos.
This patch brings initial GAMEPAD API support to the gtk port. We use libmanette,
a simple GObject game controller library to handle gamepad connection and input.
In particular, we use libmanette-0.2.4 which is the latest version and minimum
version to build in c++.
* gtk/jhbuild.modules:
2020-05-20 Kate Cheney <katherine_cheney@apple.com>
Support operating dates in ResourceLoadStatisticsDatabaseStore
https://bugs.webkit.org/show_bug.cgi?id=212034
<rdar://problem/63349242>
Reviewed by Brent Fulgham.
Add a testing function to insert an expired statistic.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsExpiredStatistic):
(WTR::TestRunner::statisticsCallDidSetExpiredStatisticCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsExpiredStatistic):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetExpiredStatistic):
* WebKitTestRunner/TestInvocation.h:
2020-05-20 Chris Dumez <cdumez@apple.com>
Deprecate WKBundlePageSetPolicyClient() Injected bundle C API
https://bugs.webkit.org/show_bug.cgi?id=212166
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
2020-05-20 Myles C. Maxfield <mmaxfield@apple.com>
[iPadOS] -webkit-text-size-adjust:percentage doesn't work in native apps
https://bugs.webkit.org/show_bug.cgi?id=212122
<rdar://problem/54560875>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/idempotent-mode-autosizing-only-honors-percentages.html: Added.
* TestWebKitAPI/ios/PreferredContentMode.mm:
2020-05-20 Lauro Moura <lmoura@igalia.com>
[WPE][WebDriver] Allow subviews to create new views
https://bugs.webkit.org/show_bug.cgi?id=212118
Reviewed by Carlos Garcia Campos.
Required by some WebDriver tests.
* MiniBrowser/wpe/main.cpp:
(createWebView):
2020-05-20 Philippe Normand <pnormand@igalia.com>
[FlatPak SDK] Missing ruby gems json and highline
https://bugs.webkit.org/show_bug.cgi?id=212086
Reviewed by Žan Doberšek.
Add the json and highline Ruby gems in the Flatpak SDK.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ruby-highline.bst: Added.
* buildstream/elements/sdk/ruby-json.bst: Added.
* buildstream/project.conf:
2020-05-20 Diego Pino Garcia <dpino@igalia.com>
Unreviewed, reverting r261909.
Execution of LayoutTests returns syntax error in the bots (GTK, WPE)
Reverted changeset:
"[Flatpak SDK] Add bubblewrap ... wrapper"
https://bugs.webkit.org/show_bug.cgi?id=212077
https://trac.webkit.org/changeset/261909
2020-05-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Bump rr and bst
https://bugs.webkit.org/show_bug.cgi?id=212074
Reviewed by Adrian Perez de Castro.
Update Buildstream to 1.4.3 which is their latest stable release. Also bump rr to their
latest git master commit, which makes it usable in the Flatpak sandbox.
* buildstream/Pipfile:
* buildstream/Pipfile.lock:
* buildstream/elements/sdk/rr.bst:
2020-05-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
update-test-expectations-from-bugzilla tool not working with new EWS
https://bugs.webkit.org/show_bug.cgi?id=210975
Reviewed by Youenn Fablet.
With the new EWS, the layout test archive results are not longer
posted to bugzilla as attachment. Now we need to inspect the EWS
server to get the status of the runs for the patch id, and then
query the EWS builbot server in order to get the details of each
run to finally obtain the URL with the zip file for the results.
The tool now automatically applies platform-specific and generic
results automatically (its not longer needed to specify whether
the result its generic or not). It uses mac-wk2 results as generic.
Also now it updates the test results for tests where the result
is MISSING.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(configure_logging):
(argument_parser):
(TestExpectationUpdater.__init__):
(TestExpectationUpdater._platform_name):
(TestExpectationUpdater):
(TestExpectationUpdater._get_layout_tests_run):
(TestExpectationUpdater._lookup_ews_results):
(TestExpectationUpdater._tests_to_update):
(TestExpectationUpdater._update_for_generic_bot):
(TestExpectationUpdater._update_for_platform_specific_bot):
(TestExpectationUpdater.do_update):
(main):
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
(MockAttachment.__init__):
(MockAttachment.is_patch):
(MockAttachment):
(MockAttachment.is_obsolete):
(MockBugzilla):
(MockBugzilla.attachments):
(MockRequests):
(MockRequests.__init__):
(MockRequests.get):
(MockRequests.content):
(MockRequests.text):
(MockZip.__init__):
(TestExpectationUpdaterTest.test_update_test_expectations):
2020-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with GTK 3.98.4
* MiniBrowser/gtk/BrowserTab.c:
(loadChanged):
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(webViewClose):
(browserWindowSetupToolbarItem):
(browser_window_init):
2020-05-20 Sam Weinig <weinig@apple.com>
Remove unused Color::getHSV function
https://bugs.webkit.org/show_bug.cgi?id=212119
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
Remove tests for Color::getHSV().
2020-05-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add bubblewrap ... wrapper
https://bugs.webkit.org/show_bug.cgi?id=212077
Reviewed by Carlos Alberto Lopez Perez.
The bind-mounts are now handled through webkit-bwrap.
* flatpak/flatpakutils.py:
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Added.
2020-05-19 Darin Adler <darin@apple.com>
REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
https://bugs.webkit.org/show_bug.cgi?id=212093
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm:
(TestWebKitAPI::TEST): Expect success rather than failure.
2020-05-19 Alex Christensen <achristensen@webkit.org>
Add _WKDownloadDelegate callback including totalBytesWritten
https://bugs.webkit.org/show_bug.cgi?id=212110
<rdar://problem/63358981>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h:
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestDownloadDelegate _download:didReceiveData:]): Deleted.
2020-05-19 Daniel Bates <dabates@apple.com>
Blue dotted underline with alternatives only shown for last word, gets lost for previous insertions
https://bugs.webkit.org/show_bug.cgi?id=212097
<rdar://problem/61913405>
Reviewed by Darin Adler.
Add tests. As I was writing them I discovered a few bugs in the existing code:
1. <https://webkit.org/b/212093> REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
2. <https://webkit.org/b/212098> Inserting a no-break space before or after a marker removes the marker
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeNSStringWithCharacter): Added.
2020-05-19 Sergio Villar Senin <svillar@igalia.com>
[WPE] Sync jhbuild to flatpak
https://bugs.webkit.org/show_bug.cgi?id=212087
Reviewed by Adrian Perez de Castro.
* wpe/jhbuild.modules: Updated meson, libwpe and wpebackend-fdo.
2020-05-19 Chris Dumez <cdumez@apple.com>
Turn on ITP in TestController::resetStateToConsistentValues()
https://bugs.webkit.org/show_bug.cgi?id=212076
Reviewed by Darin Adler.
Turn on ITP in TestController::resetStateToConsistentValues(), in a single place
instead of doing it in different places depending on whether or not the session
is ephemeral or not. It is also important to do it in resetStateToConsistentValues()
instead of doing it on data store creation because there is a testRunner method
that allows tests to turn off ITP.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::platformAdjustContext):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformInitializeDataStore):
2020-05-19 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Use items instead of iteritems to make Python 3 happier.
Rubber-stamped by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.pack_toolchain):
2020-05-19 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Drag and drop within a contenteditable area duplicates attachment-backed images
https://bugs.webkit.org/show_bug.cgi?id=212075
<rdar://problem/62434146>
Reviewed by Andy Estes.
Add a new API test to verify that starting a drag on an attachment-backed image in an editable container with
queued mouse move events does not cause the selection to collapse. See Source/WebKit/ChangeLog for more details.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView waitForPendingMouseEvents]):
Move this method from DragAndDropSimulator into TestWKWebView.
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropTestWKWebView waitForPendingMouseEvents]): Deleted.
2020-05-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[buildbot][GTK][WPE] Pass --verbose flag when running JavaScriptCore tests
https://bugs.webkit.org/show_bug.cgi?id=212088
Reviewed by Philippe Normand.
Pass the "--verbose" flag to run-javascriptcore-tests also for GTK and WPE.
Also change the way we are currently passing "--memory-limited" to make
it more obvious that this is needed for all Linux bots (GTK+WPE+JSCOnly).
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.start):
(RunRemoteJavaScriptCoreTests.start):
2020-05-19 Michael Catanzaro <mcatanzaro@gnome.org>
Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x"
https://bugs.webkit.org/show_bug.cgi?id=211724
<rdar://problem/63227393>
Reviewed by Carlos Alberto Lopez Perez.
Rewrite determineArchitectureFromELFBinary to properly handle big endian architectures.
Also, properly account for 32-bit PowerPC.
* Scripts/run-jsc-stress-tests:
2020-05-19 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Add WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT
https://bugs.webkit.org/show_bug.cgi?id=212038
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorNonEditable):
2020-05-18 Zan Dobersek <zdobersek@igalia.com>
[WPE] HeadlessViewBackend should exclusively use software rasterization mode
https://bugs.webkit.org/show_bug.cgi?id=211982
Reviewed by Carlos Garcia Campos.
Instead of using WPEBackend-fdo's EGL mode that optionally allows the
GL operations to be done through software rasterization, have the
HeadlessViewBackend use the SHM mode which enforces this behavior.
Under the hood, the graphics library will be forced to set up and use
the software rasterization mechanisms, and on our side we are required
to properly handle SHM-backed buffers. This avoids any use of EGL or
GL operations inside HeadlessViewBackend, enabling to use this setup
in systems and environments that don't have GPUs available.
All GL-y things are pushed into the WindowViewBackend class. Inside
HeadlessViewBackend, the whole SHM logic requires WPEBackend-fdo APIs
that are part of the current 1.7 development cycle. When building
against older versions, HeadlessViewBackend itself remains buildable
but is not operational otherwise.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessInstance::singleton):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::backend const):
(WPEToolingBackends::HeadlessViewBackend::snapshot):
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot):
(WPEToolingBackends::HeadlessViewBackend::vsync):
(): Deleted.
(WPEToolingBackends::HeadlessEGLConnection::singleton): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createEGLSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createSHMSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::performUpdate): Deleted.
(WPEToolingBackends::HeadlessViewBackend::displayBuffer): Deleted.
* wpe/backends/HeadlessViewBackend.h:
* wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::initialize): Deleted.
(WPEToolingBackends::ViewBackend::deinitialize): Deleted.
(WPEToolingBackends::ViewBackend::backend const): Deleted.
* wpe/backends/ViewBackend.h:
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::backend const):
(WPEToolingBackends::WindowViewBackend::initialize):
(WPEToolingBackends::WindowViewBackend::deinitialize):
* wpe/backends/WindowViewBackend.h:
2020-05-18 Zan Dobersek <zdobersek@igalia.com>
[WPE] Disable modern media controls for testing
https://bugs.webkit.org/show_bug.cgi?id=212023
Reviewed by Philippe Normand.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
Since using the same Adwaita-based media controls as the GTK port, WPE
too should disable modern media controls during testing by overriding
the default value. This fixes a couple of obscure crashes in text track
tests.
2020-05-18 Christopher Reid <chris.reid@sony.com>
[WinCairo] WKTR WebsiteDataStore is being overwritten by the default one
https://bugs.webkit.org/show_bug.cgi?id=212044
Reviewed by Fujii Hironori.
Ensure TestController::defaultWebSiteDataStore is being used for WinCairo as done in r259705.
Also consolidate platformInitializeDataStore implementations with GTK/WPE since WinCairo WKTR
also started crashing since r261758.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
2020-05-18 Andy Estes <aestes@apple.com>
http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
https://bugs.webkit.org/show_bug.cgi?id=212000
<rdar://problem/63323082>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Replace uses of +self with +class
https://bugs.webkit.org/show_bug.cgi?id=212041
Reviewed by Darin Adler.
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController monitorWheelEventsWithOptions:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::enclosingScrollViewIncludingSelf):
2020-05-18 Simon Fraser <simon.fraser@apple.com>
Implement conversion between P3 and sRGB color
https://bugs.webkit.org/show_bug.cgi?id=211998
Reviewed by Daniel Bates.
API test for conversions from P3 to sRGB, and linearRGB to sRGB. Values were confirmed
as close to those provided by ColorSync Utility.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
2020-05-18 Mark Lam <mark.lam@apple.com>
Implement a faster findBitInWord() using the hardware ctz instruction.
https://bugs.webkit.org/show_bug.cgi?id=212032
<rdar://problem/63348086>
Reviewed by Saam Barati.
Add tests to make sure that the ctz implementation matches the loop implementation
in behavior.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/StdLibExtras.cpp: Added.
(TestWebKitAPI::testFindBitInWord):
(TestWebKitAPI::TEST):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Allow clipboard API access when pasting from a menu item or key binding
https://bugs.webkit.org/show_bug.cgi?id=211990
<rdar://problem/63308916>
Reviewed by Megan Gardner.
Add a UIScriptController method to trigger a paste from the application process.
* DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
* DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::paste):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::paste):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::paste):
2020-05-18 Darin Adler <darin@apple.com>
Add iterator checking to ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=211669
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Removed use of the DID_CREATE_WEAK_PTR_IMPL
and WILL_DESTROY_WEAK_PTR_IMPL, which didn't work consistently because of the
one-definition rule. Instead, this file parameterizes the WeakPtr family of
class templates with a counter class. To avoid having to rewrite test code, used
alias templates to insert these class template into the TestWebKitAPI namespace,
hiding the class templates from the WTF namespace.
2020-05-18 Peng Liu <peng.liu6@apple.com>
[iPad Simulator] TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia is timing out
https://bugs.webkit.org/show_bug.cgi?id=211792
Reviewed by Daniel Bates.
Fix deadlocks in two API tests (only reproducible on iPad simulators).
* TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
(TestWebKitAPI::TEST):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Single selection <select> with <optgroups> shows multiple selected options
https://bugs.webkit.org/show_bug.cgi?id=199485
<rdar://problem/52757531>
Reviewed by Megan Gardner.
Add a new helper method to check whether the currently presented form accessory is a select menu, and has a
checked menu item at the given row.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::selectFormAccessoryHasCheckedItemAtRow const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::selectFormAccessoryHasCheckedItemAtRow const):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Unexpected capitalization of next word after repositioning caret
https://bugs.webkit.org/show_bug.cgi?id=211969
<rdar://problem/62605526>
Reviewed by Alex Christensen.
Add a new UIScriptController hook to query whether or not the software keyboard is in shifted state.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::keyboardIsAutomaticallyShifted const):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Adjust a couple of API tests that copy and paste back-to-back, so that they wait for the copy to finish before
attempting to paste.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyboardIsAutomaticallyShifted const):
2020-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add WebKitContextMenuItemType for paste as plaintext
https://bugs.webkit.org/show_bug.cgi?id=177638
Reviewed by Michael Catanzaro.
Update default context menu test case to also test the context menu for rich editable content.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(prepareContextMenuTestView):
(testContextMenuDefaultMenu):
2020-05-17 Simon Fraser <simon.fraser@apple.com>
Fix operator== and hash() for ExtendedColor
https://bugs.webkit.org/show_bug.cgi?id=211993
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
2020-05-16 Simon Fraser <simon.fraser@apple.com>
Rename some API test files
https://bugs.webkit.org/show_bug.cgi?id=211992
Reviewed by Zalan Bujtas.
I'm tired of Quick Open of Color.cpp opening the test file rather than the one I want.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/Color.cpp.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp.
* TestWebKitAPI/Tests/WebCore/FloatPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatPoint.cpp.
* TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatRect.cpp.
* TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatSize.cpp.
* TestWebKitAPI/Tests/WebCore/IntPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntPoint.cpp.
* TestWebKitAPI/Tests/WebCore/IntRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntRect.cpp.
* TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntSize.cpp.
* TestWebKitAPI/Tests/WebCore/LayoutUnitTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp.
2020-05-15 Lauro Moura <lmoura@igalia.com>
[GTK][WPE] Add default initialization of WebsiteDataStore to WebKitTestRunner after r261758
https://bugs.webkit.org/show_bug.cgi?id=211977
As GTK/WPE does not explicitly create WebSiteDataStore for the tests,
assign the default one.
Not sure if this is the correct fix, but should allow running tests
again.
Reviewed by Žan Doberšek.
* WebKitTestRunner/TestController.cpp: Add GTK/WPE guards.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
WebsiteDataStore.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
websiteDataStore.
2020-05-15 Alex Christensen <achristensen@webkit.org>
Use enum serialization instead of casting to/from uint32_t
https://bugs.webkit.org/show_bug.cgi?id=211885
Reviewed by Geoffrey Garen.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::increaseTextSelection):
(AccessibilityUIElement::decreaseTextSelection):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
2020-05-15 Ryan Haddad <ryanhaddad@apple.com>
[iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
https://bugs.webkit.org/show_bug.cgi?id=208451
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST): Re-enable the test for iOS.
2020-05-15 Geoffrey Garen <ggaren@apple.com>
Update Sihui Liu's status to reviewer
https://bugs.webkit.org/show_bug.cgi?id=211966
Reviewed by Per Arne Vollan.
See email thread on webkit-reviewers on 5/7, "Reviewer nomination:
Sihui Liu".
* Scripts/webkitpy/common/config/contributors.json:
2020-05-15 Alex Christensen <achristensen@webkit.org>
TestWebKitAPI.WKHTTPCookieStore.Basic is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211752
Reviewed by Geoffrey Garen.
The ordering of cookiesDidChangeInCookieStore callbacks with regard to other callbacks isn't quite deterministic.
No problem. If the number of callbacks isn't what it is expected, wait until it is.
When I reproduce this test failure, I need to spin the run loop at max once to have it succeed, but the bots may take a few more run loop spins.
Spin until the number of callbacks is the expected value.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore):
2020-05-15 Alex Christensen <achristensen@webkit.org>
[iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=211786
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
Add a short sleep (<1/10s) to make this test so it would've almost always failed without this fix.
Checking the file immediately usually succeeded, but waiting a few run loop iterations revealed that CFNetwork
was deleting resumed then finished downloads.
2020-05-15 Alex Christensen <achristensen@webkit.org>
Regression (iOS 13.4, r249142): WKWebView.loading is never reset after a Back navigation in an iframe
https://bugs.webkit.org/show_bug.cgi?id=211449
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[LoadingObserver changesObserved]):
(-[LoadingObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
2020-05-15 Chris Dumez <cdumez@apple.com>
Make sure we use current data store in WKTR's TestController
https://bugs.webkit.org/show_bug.cgi?id=211920
Reviewed by Alex Christensen.
Make sure we use current data store in WKTR's TestController. Currently, a lot of code
uses defaultDataStore(), even though the test may be using another data store (e.g. an
ephemeral one). I suspect this is contributing to test flakiness.
We now also make sure that TestController::websiteDataStore() returns the actual store
that will be used by the test when resetPreferencesToConsistentValues() is called.
Previously, it would not since it would get the store from the m_mainView and m_mainView
would only get initialized after calling resetPreferencesToConsistentValues(). To support
this, we now initialize a m_websiteDataStore member in platformInitializeDataStore(),
which gets called right before resetPreferencesToConsistentValues(). When
platformCreateWebView() gets called right after resetPreferencesToConsistentValues(),
it now simply relies on m_websiteDataStore instead of creating the data store at this
point.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestController::clearServiceWorkerRegistrations):
(WTR::TestController::clearDOMCache):
(WTR::TestController::clearDOMCaches):
(WTR::TestController::hasDOMCache):
(WTR::TestController::domCacheSize):
(WTR::TestController::clearStatisticsDataForDomain):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-05-15 Diego Pino Garcia <dpino@igalia.com>
[buildbot] Increase blocksize of file transfer in UploadTestResults step
https://bugs.webkit.org/show_bug.cgi?id=211847
Reviewed by Aakash Jain.
All other steps involving file transfer uploads use 256kb as block
size. Make this step in line with others.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(UploadTestResults.__init__):
2020-05-15 Adrian Perez de Castro <aperez@igalia.com>
[GTK3] Bring back usage of GtkMenu for context menus
https://bugs.webkit.org/show_bug.cgi?id=211557
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: Add preprocessor conditionals
for GTK4 and bring back some bits previously removed in r260889 for GTK3.
2020-05-14 Kate Cheney <katherine_cheney@apple.com>
Attribute non-network loads and loads with html strings as automatically app-bound
https://bugs.webkit.org/show_bug.cgi?id=211913
<rdar://problem/63157801
Reviewed by Brent Fulgham.
Adds new tests to check that WebView loads with HTML strings have
proper behavior.
Some tests need to test behavior on app-bound domains on webviews which do not specify
limitsNavigationsToAppBoundDomains. Since local files now do this
automatically, this patch updates those to use actual app-bound
domains from the WKAppBoundDomains list instead to maintain behavior.
Remove limitsNavigationsToAppBoundDomains for local files to make sure
they are forced into this mode automatically.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
(TEST):
2020-05-14 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Relaxing signature length requirements for U2fRegister
https://bugs.webkit.org/show_bug.cgi?id=209645
<rdar://problem/63204591>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
2020-05-14 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests shouldn't need Xcode to run Mac tests
https://bugs.webkit.org/show_bug.cgi?id=211903
<rdar://problem/63205839>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.xcode_sdk_version): Memoize SDK version retrieval.
(PlatformInfo.xcode_version): Only run xcodebuild if macosx SDK is present.
(PlatformInfo.available_sdks): Ditto.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_available_sdks):
2020-05-14 Daniel Bates <dabates@apple.com>
Include LocalOverrides.xcconfig in all Tools projects
https://bugs.webkit.org/show_bug.cgi?id=211789
Reviewed by Dan Bernstein.
Matches what is done for all Source projects so as to support local overriding of configs.
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2020-05-14 Andres Gonzalez <andresg_22@apple.com>
Fix for crashes in LayoutTests related to TextMarkers in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211912
Reviewed by Chris Fleizach.
Check for null pointer parameters before dereferencing.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::misspellingSearchParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker):
2020-05-14 Michael Catanzaro <mcatanzaro@gnome.org>
stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x
https://bugs.webkit.org/show_bug.cgi?id=211724
Reviewed by Carlos Alberto Lopez Perez.
Add architecture detection for PowerPC and S/390.
* Scripts/run-jsc-stress-tests:
2020-05-14 Philippe Normand <pnormand@igalia.com>
[WPE] Tools/wpe/install-dependencies fails due to missing pipenv
https://bugs.webkit.org/show_bug.cgi?id=211849
Reviewed by Žan Doberšek.
Ubuntu Bionic doesn't ship pipenv. So fallback to the pip3 install path. Also remove the
libpng12-dev fallback, this doesn't seem necessary any longer (tested on a Ubuntu Bionic
docker).
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-14 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Path references shouldn't point to the sandbox in compile_commands.json
https://bugs.webkit.org/show_bug.cgi?id=209901
Reviewed by Žan Doberšek.
Add ccls to the SDK. It can then be used through a wrapper script by Emacs's lsp-mode.
* buildstream/elements/sdk-build-depends/rapidjson.bst: Added.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ccls.bst: Added.
2020-05-13 Jer Noble <jer.noble@apple.com>
Replace isNullFunctionPointer with real weak-linking support
https://bugs.webkit.org/show_bug.cgi?id=211751
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd:
2020-05-13 Tim Horton <timothy_horton@apple.com>
Add SPI for reverting to touch events for iPad trackpad interactions
https://bugs.webkit.org/show_bug.cgi?id=211824
<rdar://problem/61363084>
Reviewed by Megan Gardner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/MacCatalystMouseSupport.mm.
(-[WKTestingEvent locationInView:]):
(-[WKTestingEvent _setButtonMask:]):
(-[WKTestingEvent _buttonMask]):
(-[WKTestingTouch locationInView:]):
(-[WKTestingTouch setTapCount:]):
(-[WKTestingTouch tapCount]):
(mouseGesture):
(TEST):
Rename and enable MacCatalystMouseSupport tests for iOS.
Add a test that ensures that the next load after setting the
WKWebpagePreference causes the WKMouseGestureRecognizer to get disabled.
2020-05-13 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] "Copy" context menu action for attachment element does not work in Mail
https://bugs.webkit.org/show_bug.cgi?id=211817
<rdar://problem/58043110>
Reviewed by Tim Horton.
Add a new iOS API test that simulates the context menu action to "copy" on an attachment element.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2020-05-12 Matt Lewis <jlewis3@apple.com>
Run-webkit-tests should not fail if all tests found to run are skipped.
https://bugs.webkit.org/show_bug.cgi?id=210880
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Added a check to see if we skiped all tests. If so We return a successful exit
code as we performed as expected.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(RunDetails.__init__): Added in an additional class variable to be used as a way to record an
all skipped result check.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Added a all test skipped check and we return early with the exit code.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Added a new test and removed the old
ones that no longer test the correct functionality.
(RunTest.test_all_tests_skipped):
(RunTest.test_no_tests_found): Deleted.
(RunTest.test_no_tests_found_2): Deleted.
2020-05-13 Kate Cheney <katherine_cheney@apple.com>
Add test for non-app-bound iframe under app-bound domain
https://bugs.webkit.org/show_bug.cgi?id=211815
<rdar://problem/63159707>
Reviewed by Brent Fulgham.
Clear the main frame app-bound session before loading the iframe so
we can be sure the iframe uses an app-bound session.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearAppBoundSession):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-05-13 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Proper handling of sccache scheduler URL command-line argument
Rubber-stamped by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
2020-05-13 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Craft a custom sccache config file from SDK toolchains
https://bugs.webkit.org/show_bug.cgi?id=211781
Reviewed by Carlos Alberto Lopez Perez.
Optionally generate a sccache config file and use it when building WebKit.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_toml):
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.host_path_to_sandbox_path):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.save_config):
(WebkitFlatpak):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak.setup_icecc): Deleted.
2020-05-13 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[Flatpak] *PROCESS_CMD_PREFIX are ignored
https://bugs.webkit.org/show_bug.cgi?id=211830
Reviewed by Philippe Normand.
Checking the last slice of the splitted environment variable won't
match with any of the list of suffixes since they are composed by
several slices if they are splitted too.
A new internal function is defined where the suffixes list is
traversed and matched with the end of the passend enviroment
variable.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox.envvar_in_suffixes_to_keep):
(WebkitFlatpak.run_in_sandbox):
2020-05-12 Alex Christensen <achristensen@webkit.org>
[iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=211786
Reviewed by Darin Adler.
This should turn the test crash into a failure, which is a step in the right direction.
Still investigating...
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
2020-05-12 Ryan Haddad <ryanhaddad@apple.com>
[iOS] TestWTF.WTF_Lock.ContendedShortSection is consistently timing out on debug
https://bugs.webkit.org/show_bug.cgi?id=211650
Unreviewed test gardening.
* TestWebKitAPI/Tests/WTF/Lock.cpp: Skip the test for iOS Debug queues.
2020-05-12 Philippe Normand <pnormand@igalia.com>
[FlatPak SDK] Some packages in the SDK have missing debug symbols
https://bugs.webkit.org/show_bug.cgi?id=211621
Reviewed by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak._get_packages): Unconditionally install SDK Debug symbols, even for Release
builds. This should help improve the crash reports on the bots.
2020-05-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
WPT test importer fails to update references in <link> tags
https://bugs.webkit.org/show_bug.cgi?id=211762
Reviewed by Youenn Fablet.
When importing WPT test references, ensure relative paths are also
updated for the href attribute in <link> tags.
Also fix a bug that was causing wrong updates on the paths due to
the characters in reference_relpath not escaped when performing
the regex substitution in convert_reference_relpaths(). For example:
"resources/script.js" was changed to "resourcscript.js" when reference_relpath was '../'
Improve also the unit test case to check for the fixes in this patch.
* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.convert_reference_relpaths):
(_W3CTestConverter.convert_attributes_if_needed):
* Scripts/webkitpy/w3c/test_converter_unittest.py:
2020-05-12 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Include clang++ and g++ in toolchains
https://bugs.webkit.org/show_bug.cgi?id=211663
Reviewed by Adrian Perez de Castro.
/usr/bin/clang++ wasn't included before. Also a small unrelated drive-by, white-list RUST
env vars, such as RUST_LOG, useful when debugging sccache.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.setup_icecc):
2020-05-11 Simon Fraser <simon.fraser@apple.com>
[ macOS ] scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211747
Reviewed by Tim Horton.
Add an option to monitorWheelEvents to reset latching.
* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):
(-[EventSendingController monitorWheelEventsWithOptions:]):
(-[EventSendingController monitorWheelEvents]): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::toMonitorWheelEventsOptions): We have to return a pointer to a static, because the generated code
doesn't use smart pointers.
(WTR::EventSendingController::monitorWheelEvents):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
(WTR::MonitorWheelEventsOptions::MonitorWheelEventsOptions):
2020-05-11 Kate Cheney <katherine_cheney@apple.com>
Fail navigations to non app-bound domains after use of app-bound APIs
https://bugs.webkit.org/show_bug.cgi?id=211647
<rdar://problem/62978159>
Reviewed by Brent Fulgham.
Added a new test to confirm a non-app bound navigation fails after
using script injection.
This fix also required changing any test which uses a restricted API
to confirm behavior of another restricted API. Tests can set
_setNeedsInAppBrowserPrivacyQuirks in the configuration to indicate
APIs should not be blocked, then toggle it to test actual behavior.
Also, we can remove any calls to _setInAppBrowserPrivacyEnabled
now that this is just an internal test flag.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[AppBoundDomainDelegate webView:didFinishNavigation:]):
(-[AppBoundDomainDelegate webView:didFailProvisionalNavigation:withError:]):
(-[AppBoundDomainDelegate waitForDidFinishNavigation]):
(-[AppBoundDomainDelegate waitForDidFailProvisionalNavigationError]):
(TEST):
2020-05-11 Alex Christensen <achristensen@webkit.org>
Add some logs to diagnose why WebKitLegacy.CrossPartitionFileSchemeAccess API test times out in EWS
https://bugs.webkit.org/show_bug.cgi?id=211738
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
(TestWebKitAPI::TEST):
I saw an instance of failing to make a partition because the "file" already existed.
Try cleaning up anything left from last time this test timed out to prevent it from timing out again.
2020-05-11 Alex Christensen <achristensen@webkit.org>
Add some logs to diagnose why WebKitLegacy.CrossPartitionFileSchemeAccess API test times out in EWS
https://bugs.webkit.org/show_bug.cgi?id=211738
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
(TestWebKitAPI::TEST):
2020-05-11 Andres Gonzalez <andresg_22@apple.com>
Add mechanism to turn on accessibility isolated tree mode from WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=211725
Reviewed by Chris Fleizach.
Turn on isolated tree mode when appropriate.
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::updateIsolatedTreeMode):
2020-05-11 Per Arne Vollan <pvollan@apple.com>
Unreviewed, reverting r261296.
Rolling r260769 back in, since this was not causing a
regression.
Reverted changeset:
"Unreviewed, reverting r260769."
https://bugs.webkit.org/show_bug.cgi?id=211578
https://trac.webkit.org/changeset/261296
2020-05-11 Philippe Normand <pnormand@igalia.com>
[GTK] Media and audio permission request unit tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=158257
Reviewed by Carlos Garcia Campos.
Fix getUserMedia glib tests. They require unsecure capture device context.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaEnumerateDevicesPermissionCheck):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
* TestWebKitAPI/glib/TestExpectations.json:
2020-05-11 Paulo Matos <pmatos@igalia.com>
Fix typo 'Detacted' -> 'Detected'
https://bugs.webkit.org/show_bug.cgi?id=211715
Unreviewed.
* Scripts/run-jsc-stress-tests:
2020-05-10 Michael Catanzaro <mcatanzaro@gnome.org>
Update user agent quirk for bankofamerica.com
https://bugs.webkit.org/show_bug.cgi?id=211700
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2020-05-08 Darin Adler <darin@apple.com>
Streamline MarkupAccumulator to improve efficiency a bit
https://bugs.webkit.org/show_bug.cgi?id=211656
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST): Fix spellling error in the word "explicitly".
2020-05-08 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/211644>
Reviewed by Darin Adler.
* BuildSlaveSupport/gtk: Removed.
* flatpak/files: Removed.
* flatpak/patches: Removed.
2020-05-08 Basuke Suzuki <basuke.suzuki@sony.com>
[WTF] Share Linux's MemoryPressureHandler among other Unix ports
https://bugs.webkit.org/show_bug.cgi?id=208955
Reviewed by Yusuke Suzuki.
Fix unneeded library dependency.
* TestWebKitAPI/CMakeLists.txt:
2020-05-08 Jonathan Bedard <jbedard@apple.com>
webkitpy: 'iPhone SE' should match 'iPhone SE 1st generation'
https://bugs.webkit.org/show_bug.cgi?id=211642
<rdar://problems/62986242>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/xcode/device_type.py:
(DeviceType):
(DeviceType.standardized_hardware_type): Strip '1st generation' from models.
(DeviceType.__eq__): Use standardized hardware type.
(DeviceType.__contains__): Ditto.
(DeviceType.__hash__): Ditto.
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest):
(DeviceTypeTest.test_generation_matching):
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Handle case where the requests model does not
end with '(1st generation)', but the simctl model does.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
2020-05-08 Ryan Haddad <ryanhaddad@apple.com>
TestWebKitAPI.WebKit.AllowsContentJavaScript fails on iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=207874
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
Disable the test for iOS.
2020-05-08 David Kilzer <ddkilzer@apple.com>
check-webkit-style false positive for [readability/naming/protected] with method declaration
<https://webkit.org/b/210682>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- Don't check for invalid protector name if the capitalized
protected name is the same as the original protected name,
indicating it's a type name.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
- Add test cases.
2020-05-08 Alex Christensen <achristensen@webkit.org>
Fix build on platforms without network framework.
https://bugs.webkit.org/show_bug.cgi?id=211603
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
Add HAVE(NETWORK_FRAMEWORK) around test that uses network framework.
2020-05-08 Aakash Jain <aakash_jain@apple.com>
Delete old ews client side code
https://bugs.webkit.org/show_bug.cgi?id=211638
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
* Scripts/webkitpy/common/config/urls.py: Removed old ews server url.
* Scripts/webkitpy/common/net/statusserver.py: Removed.
* Scripts/webkitpy/common/net/statusserver_mock.py: Removed.
* Scripts/webkitpy/tool/bot/botinfo.py:
* Scripts/webkitpy/tool/bot/botinfo_unittest.py:
* Scripts/webkitpy/tool/bot/flakytestreporter.py:
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/bot/queueengine.py:
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/perfalizer.py:
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue._log_from_script_error_for_upload): Deleted.
(AbstractQueue._update_status_for_script_error): Deleted.
(AbstractPatchQueue._update_status): Deleted.
(AbstractPatchQueue._release_work_item): Deleted.
(AbstractPatchQueue._did_pass): Deleted.
(AbstractPatchQueue._did_fail): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractQueueTest._assert_run_webkit_patch):
(AbstractQueueTest.test_no_iteration_count):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):
(AbstractQueueTest._assert_log_message): Deleted.
(AbstractQueueTest.test_log_from_script_error_for_upload): Deleted.
(AbstractPatchQueueTest): Deleted.
(NeedsUpdateSequence): Deleted.
(NeedsUpdateSequence._run): Deleted.
(StyleQueueTest): Deleted.
(StyleQueueTest.test_style_queue_with_style_exception): Deleted.
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest._default_begin_work_queue_logs):
(QueuesTest._default_begin_work_queue_stderr): Deleted.
* Scripts/webkitpy/tool/commands/sheriffbot.py:
* Scripts/webkitpy/tool/main.py:
* Scripts/webkitpy/tool/mocktool.py:
2020-05-08 Alex Christensen <achristensen@webkit.org>
Limit HTTP referer to 4kb
https://bugs.webkit.org/show_bug.cgi?id=211603
<rdar://problem/56768823>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2020-05-08 Dean Jackson <dino@apple.com>
Allow run-safari to launch an iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=211606
<rdar://problem/63002849>
Reviewed by Jon Lee.
Add an "--ipad-simulator" command line option to run-safari.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineXcodeSDK): Mark the device idiom depending on the command line argument.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
(findOrCreateSimulatorForIOSDevice): Create an iPad Pro simulator if requested.
2020-05-08 Wenson Hsieh <wenson_hsieh@apple.com>
Preserve character set information when writing to the pasteboard when copying rich text
https://bugs.webkit.org/show_bug.cgi?id=211524
Reviewed by Darin Adler.
Add a new API test to verify that the HTML data written to the pasteboard when copying a rich text selection
can be converted into an `NSAttributedString` that contains correctly encoded non-Latin characters.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
2020-05-08 Chris Dumez <cdumez@apple.com>
REGRESSION(r259209) Webview's pending URL is null after restoring session state
https://bugs.webkit.org/show_bug.cgi?id=211626
<rdar://problem/62992262>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
(TestWebKitAPI::TEST):
2020-05-08 Alex Christensen <achristensen@webkit.org>
WKWebView.title should be safe browsing warning's title during a safe browsing warning
https://bugs.webkit.org/show_bug.cgi?id=211403
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2020-05-08 Lauro Moura <lmoura@igalia.com>
[GTK][WPE] Create common glib expectation file
https://bugs.webkit.org/show_bug.cgi?id=211183
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths): Add glib to expectations search path
(GtkPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_default_baseline_search_path): Update test
(GtkPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
* Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths): Add glib to expectations search path
(WPEPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path): Update test
(WPEPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
2020-05-08 Paulo Matos <pmatos@igalia.com>
Add myself as committer to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2020-05-07 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Roll back newly created credentials if an error occurs
https://bugs.webkit.org/show_bug.cgi?id=183530
<rdar://problem/43357305>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-no-attestation.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la.html:
2020-05-07 Saam Barati <sbarati@apple.com>
run-javascriptcore-tests with remote should be verbose
https://bugs.webkit.org/show_bug.cgi?id=211596
Reviewed by Alexey Proskuryakov.
Our iOS testing bots could use this better output.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
2020-05-07 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use apple_additions certificate path if available
https://bugs.webkit.org/show_bug.cgi?id=211584
Rubber-stamped by Aakash Jain
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.certificate_chain): Certificate chain to be used, prefer apple_additions
over certifi.
(Upload.upload): Use Upload.certificate_chain().
(Upload.upload_archive): Ditto.
2020-05-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260959.
https://bugs.webkit.org/show_bug.cgi?id=211587
"Causes MiniBrowser to crash when closing a window" (Requested
by ddkilzer on #webkit).
Reverted changeset:
"REGRESSION (r176862, r210483): Leaks of
BrowserWindowController in MiniBrowser/mac/AppDelegate.m"
https://bugs.webkit.org/show_bug.cgi?id=211243
https://trac.webkit.org/changeset/260959
2020-05-07 Darin Adler <darin@apple.com>
Remove USE(INSERTION_UNDO_GROUPING) checks in macOS platform code
https://bugs.webkit.org/show_bug.cgi?id=211525
Reviewed by Anders Carlsson.
* DumpRenderTree/mac/TextInputControllerMac.m: Use NSTextInputContextSPI.h.
(-[TextInputController stringWithUndoGroupingInsertion:]): Removed
SUPPORT_INSERTION_UNDO_GROUPING.
* DumpRenderTree/mac/UIScriptControllerMac.mm: Use NSTextInputContextSPI.h.
* TestRunnerShared/spi/AppKitTestSPI.h: Removed
NSTextInputContext_Private.h, clients can use NSTextInputContextSPI.h.
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h: Ditto.
* TestWebKitAPI/Tests/mac/CandidateTests.mm: Use NSTextInputContextSPI.h.
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm: Ditto.
2020-05-07 Aakash Jain <aakash_jain@apple.com>
Delete code for old commit queue
https://bugs.webkit.org/show_bug.cgi?id=211581
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/committervalidator.py: Removed.
* Scripts/webkitpy/common/config/committervalidator_unittest.py: Removed.
* Scripts/webkitpy/tool/bot/commitqueuetask.py: Removed.
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/queues.py:
(PatchProcessingQueue._upload_results_archive_for_patch):
(CommitQueue): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(NeedsUpdateSequence._run):
(TestCommitQueue): Deleted.
(AlwaysCommitQueueTool): Deleted.
(SecondThoughtsCommitQueue): Deleted.
(CommitQueueTest): Deleted.
(test_did_pass_testing_ews): Deleted.
* Scripts/webkitpy/tool/steps/validatechangelogs.py:
* Scripts/webkitpy/tool/steps/validatereviewer.py:
2020-05-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r261286.
Tests are still crashing / failing
Reverted changeset:
"Unskip the test since it should now be passing"
https://trac.webkit.org/changeset/261286
2020-05-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260769.
https://bugs.webkit.org/show_bug.cgi?id=211578
Introduced regressions related to sharing (Requested by
perarne on #webkit).
Reverted changeset:
"[Cocoa] After r258891, r255119 can be reverted"
https://bugs.webkit.org/show_bug.cgi?id=211083
https://trac.webkit.org/changeset/260769
2020-05-07 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Fix string.format invocation
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-07 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Doesn't generate crash logs on the bots
https://bugs.webkit.org/show_bug.cgi?id=211568
Reviewed by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Bind-mount the
WEBKIT_CORE_DUMPS_DIRECTORY so that the crash-log generator is
able to write crash log reports there.
2020-05-07 Truitt Savell <tsavell@apple.com>
Unskip the test since it should now be passing
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
2020-05-07 Philippe Normand <pnormand@igalia.com>
[GTK] Test failures after Flatpak upgrade
https://bugs.webkit.org/show_bug.cgi?id=211497
Reviewed by Adrian Perez de Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Don't set WEBKIT_TOP_LEVEL. I'm
not sure why it's needed at all. If it needs to be set it should
be /app/webkit/ anyway. Setting it to /app triggers test failures
due to invalid computed paths by internals' pathToLocalResource().
2020-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with current GTK
GtkWindow and GtkOverlay aren't a GtkContainer anymore.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(browser_window_init):
2020-05-07 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Import build definitions
https://bugs.webkit.org/show_bug.cgi?id=211448
Reviewed by Carlos Alberto Lopez Perez.
To build the SDK, run `Tools/Scripts/webkit-flatpak-sdk --build`,
this can take hours and use gigabytes of your hard-drive. To build
a single recipe, use something like:
`Tools/Scripts/bst-wrapper build sdk/gtk.bst`
To enter the Buildstream SDK shell and debug stuff when hacking on
a specific dependency, `Tools/Scripts/bst-wrapper shell sdk/gtk.bst`.
To test your changes in WebKit:
```shell
$ Tools/Scripts/webkit-flatpak -u --repo=Tools/buildstream/repo
$ Tools/Scripts/run-minibrowser --gtk --flatpak-repo=Tools/buildstream/repo <url>
...
```
bst-wrapper has the same options as bst itself, documented on
https://docs.buildstream.build/1.4.2/index.html.
Internally the bst-wrapper will install Buildstream and a few
other python dependencies in a local virtualenv managed by pipenv.
This is all abstracted though, in theory direct access to the
pipenv environment shouldn't be needed.
* Scripts/bst-wrapper: Added.
* Scripts/webkit-flatpak-sdk: Added.
* buildstream/Makefile: Added.
* buildstream/Pipfile: Added.
* buildstream/Pipfile.lock: Added.
* buildstream/elements/filtered-openh264.bst: Added.
* buildstream/elements/filtered.bst: Added.
* buildstream/elements/flatpak-platform-extensions.bst: Added.
* buildstream/elements/flatpak-runtimes.bst: Added.
* buildstream/elements/flatpak/platform-arch-libs-debug.bst: Added.
* buildstream/elements/flatpak/platform-arch-libs.bst: Added.
* buildstream/elements/flatpak/platform-image.bst: Added.
* buildstream/elements/flatpak/platform-locale.bst: Added.
* buildstream/elements/flatpak/platform.bst: Added.
* buildstream/elements/flatpak/sdk-arch-libs-debug.bst: Added.
* buildstream/elements/flatpak/sdk-arch-libs.bst: Added.
* buildstream/elements/flatpak/sdk-debug.bst: Added.
* buildstream/elements/flatpak/sdk-docs.bst: Added.
* buildstream/elements/flatpak/sdk-image.bst: Added.
* buildstream/elements/flatpak/sdk-locale.bst: Added.
* buildstream/elements/flatpak/sdk.bst: Added.
* buildstream/elements/freedesktop-sdk.bst: Added.
* buildstream/elements/manifests/platform-manifest.bst: Added.
* buildstream/elements/manifests/sdk-manifest.bst: Added.
* buildstream/elements/qt5.bst: Added.
* buildstream/elements/qt5/qtbase.bst: Added.
* buildstream/elements/qt5/qtdeclarative.bst: Added.
* buildstream/elements/qt5/qtquickcontrols.bst: Added.
* buildstream/elements/qt5/qtquickcontrols2.bst: Added.
* buildstream/elements/qt5/qtwayland.bst: Added.
* buildstream/elements/qt5/qtx11extras.bst: Added.
* buildstream/elements/sdk-build-depends/libusb.bst: Added.
* buildstream/elements/sdk-build-depends/sassc.bst: Added.
* buildstream/elements/sdk-build-depends/utf8proc.bst: Added.
* buildstream/elements/sdk-depends/libsass.bst: Added.
* buildstream/elements/sdk-platform.bst: Added.
* buildstream/elements/sdk.bst: Added.
* buildstream/elements/sdk/adwaita-icon-theme.bst: Added.
* buildstream/elements/sdk/at-spi2-atk.bst: Added.
* buildstream/elements/sdk/at-spi2-core.bst: Added.
* buildstream/elements/sdk/atk.bst: Added.
* buildstream/elements/sdk/brotli.bst: Added.
* buildstream/elements/sdk/capnp.bst: Added.
* buildstream/elements/sdk/enchant-2.bst: Added.
* buildstream/elements/sdk/glib-networking.bst: Added.
* buildstream/elements/sdk/glib.bst: Added.
* buildstream/elements/sdk/gobject-introspection.bst: Added.
* buildstream/elements/sdk/graphene.bst: Added.
* buildstream/elements/sdk/graphviz.bst: Added.
* buildstream/elements/sdk/gst-libav.bst: Added.
* buildstream/elements/sdk/gst-plugins-bad.bst: Added.
* buildstream/elements/sdk/gst-plugins-base.bst: Added.
* buildstream/elements/sdk/gst-plugins-good.bst: Added.
* buildstream/elements/sdk/gst-plugins-ugly.bst: Added.
* buildstream/elements/sdk/gstreamer.bst: Added.
* buildstream/elements/sdk/gtk+-3.bst: Added.
* buildstream/elements/sdk/gtk.bst: Added.
* buildstream/elements/sdk/icecc.bst: Added.
* buildstream/elements/sdk/intltool.bst: Added.
* buildstream/elements/sdk/krb5.bst: Added.
* buildstream/elements/sdk/libcap-ng.bst: Added.
* buildstream/elements/sdk/libevent.bst: Added.
* buildstream/elements/sdk/libgcrypt.bst: Added.
* buildstream/elements/sdk/libmanette.bst: Added.
* buildstream/elements/sdk/libnotify.bst: Added.
* buildstream/elements/sdk/libopenh264.bst: Added.
* buildstream/elements/sdk/libsecret.bst: Added.
* buildstream/elements/sdk/libsoup.bst: Added.
* buildstream/elements/sdk/libsrtp2.bst: Added.
* buildstream/elements/sdk/libusrsctp.bst: Added.
* buildstream/elements/sdk/libwpe.bst: Added.
* buildstream/elements/sdk/libzstd.bst: Added.
* buildstream/elements/sdk/lzo2.bst: Added.
* buildstream/elements/sdk/openjpeg.bst: Added.
* buildstream/elements/sdk/openxr.bst: Added.
* buildstream/elements/sdk/os-release.bst: Added.
* buildstream/elements/sdk/patchelf.bst: Added.
* buildstream/elements/sdk/psmisc.bst: Added.
* buildstream/elements/sdk/pycairo.bst: Added.
* buildstream/elements/sdk/pygobject.bst: Added.
* buildstream/elements/sdk/python2-pycairo.bst: Added.
* buildstream/elements/sdk/python2-pygobject.bst: Added.
* buildstream/elements/sdk/python2-six.bst: Added.
* buildstream/elements/sdk/python2-subprocess32.bst: Added.
* buildstream/elements/sdk/python2.bst: Added.
* buildstream/elements/sdk/rr.bst: Added.
* buildstream/elements/sdk/sccache.bst: Added.
* buildstream/elements/sdk/shared-mime-info.bst: Added.
* buildstream/elements/sdk/subversion.bst: Added.
* buildstream/elements/sdk/v4lutils.bst: Added.
* buildstream/elements/sdk/woff2.bst: Added.
* buildstream/elements/sdk/wpebackend-fdo.bst: Added.
* buildstream/elements/sdk/x264.bst: Added.
* buildstream/elements/sdk/xorg-server.bst: Added.
* buildstream/elements/test-infra.bst: Added.
* buildstream/elements/test-infra/apr-util.bst: Added.
* buildstream/elements/test-infra/apr.bst: Added.
* buildstream/elements/test-infra/httpd.bst: Added.
* buildstream/elements/test-infra/perl-cgi-pm.bst: Added.
* buildstream/elements/test-infra/perl-http-date-pm.bst: Added.
* buildstream/elements/test-infra/php.bst: Added.
* buildstream/elements/test-infra/webkitgtk-test-dicts.bst: Added.
* buildstream/elements/test-infra/webkitgtk-test-fonts.bst: Added.
* buildstream/files/krb5/krb5.conf: Added.
* buildstream/files/os-release/issue.in: Added.
* buildstream/files/os-release/issue.net.in: Added.
* buildstream/files/os-release/org.webkit.Platform.appdata.xml.in: Added.
* buildstream/files/os-release/org.webkit.Sdk.appdata.xml.in: Added.
* buildstream/files/os-release/os-release.in: Added.
* buildstream/patches/fdo-0001-Update-gcc-to-9.3.0.patch: Added.
* buildstream/patches/fdo/0001-Add-Jack.patch: Added.
* buildstream/patches/fdo/0001-components-xdg-desktop-portal.bst-Update-to-1.6.0.patch: Added.
* buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Added.
* buildstream/patches/fdo/0002-Update-PipeWire-to-0.3.1.patch: Added.
* buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Added.
* buildstream/patches/fdo/0003-Add-Bluez.patch: Added.
* buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Added.
* buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Added.
* buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Added.
* buildstream/patches/gst-libav-stop-caching-codecs.patch: Added.
* buildstream/patches/gst-plugins-bad-0001-h264parse-Post-a-WARNING-when-data-is-broken.patch: Added.
* buildstream/patches/gst-plugins-base-0001-glupload-Fix-fallback-from-direct-dmabuf-to-dmabuf-u.patch: Added.
* buildstream/patches/gst-plugins-base-0001-playbin-Handle-error-message-with-redirection-indica.patch: Added.
* buildstream/patches/gst-plugins-base-0002-glupload-fix-segfault.patch: Added.
* buildstream/patches/gst-plugins-good-qtdemux-Specify-REDIRECT-information-in-error-messag.patch: Added.
* buildstream/patches/gtk-meson-Bump-to-latest-version-of-the-3.24-branch.patch: Added.
* buildstream/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
* buildstream/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
* buildstream/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
* buildstream/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added.
* buildstream/patches/libsecret-b53e9876f4611525b7a8f69a3110fbec51dcede0.patch: Added.
* buildstream/patches/nettle-no-debug.diff: Added.
* buildstream/patches/qtbase-avoid-hardcoding-kernel-version.patch: Added.
* buildstream/patches/qtbase-revert-correct-handling-for-xdg-runtime-dir.patch: Added.
* buildstream/patches/qtbase-use-wayland-on-gnome.patch: Added.
* buildstream/patches/qtdeclarative-use-python3.patch: Added.
* buildstream/patches/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch: Added.
* buildstream/patches/sccache-no-selenium.patch: Added.
* buildstream/patches/xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch: Added.
* buildstream/project.conf: Added.
* buildstream/utils/generate-version: Added.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-07 Mark Lam <mark.lam@apple.com>
Fix broken exceptionFuzz tests.
https://bugs.webkit.org/show_bug.cgi?id=211550
Reviewed by Yusuke Suzuki.
Pass the --useExceptionFuzz=true option from the command line for runExceptionFuzz.
* Scripts/run-jsc-stress-tests:
2020-05-06 Kate Cheney <katherine_cheney@apple.com>
ResourceLoadStatistics data summary call should create a web process pool if one doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=211520
<rdar://problem/59869619>
Reviewed by Chris Dumez.
Added API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
Removed stray comment from previous test.
(TEST):
* TestWebKitAPI/basicITPDatabase.db: Added.
* TestWebKitAPI/basicITPDatabase.db-shm: Added.
* TestWebKitAPI/basicITPDatabase.db-wal: Added.
New database resource with 2 entries: apple.com and webkit.org, with
webkit.org registered as a subframe of apple.com
2020-05-06 Wenson Hsieh <wenson_hsieh@apple.com>
Cut and paste from Google Doc to Notes in several (non-Latin) languages doesn't work
https://bugs.webkit.org/show_bug.cgi?id=211498
<rdar://problem/56675345>
Reviewed by Darin Adler.
Add a test to verify that when writing markup to the clipboard via DOM API, if non-ASCII characters appear in
the written markup, they can still be converted to `NSAttributedString`s containing the expected non-Latin text.
* TestWebKitAPI/Configurations/Base.xcconfig:
Adjust header search paths so that we can import CocoaColor.h in WebKit.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
(readHTMLDataFromPasteboard):
(readHTMLStringFromPasteboard):
(readHTMLFromPasteboard): Deleted.
2020-05-06 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION (r260278): TestWebKitAPI.Fullscreen.Delegate is timing out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=210676
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
(TestWebKitAPI::TEST): Skip the test to get the bots to green.
2020-05-06 John Wilander <wilander@apple.com>
Exempt app-bound domains from ITP's website data deletion and third-party cookie blocking between themselves
https://bugs.webkit.org/show_bug.cgi?id=210674
<rdar://problem/61950767>
Reviewed by Chris Dumez.
This change adds a new TestRunner function
setAppBoundDomain() which takes an array of origin
strings and sets them to app-bound domains.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAppBoundDomains):
(WTR::TestRunner::didSetAppBoundDomainsCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::AppBoundDomainsCallbackContext::AppBoundDomainsCallbackContext):
(WTR::didSetAppBoundDomainsCallback):
(WTR::TestController::setAppBoundDomains):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetAppBoundDomains):
* WebKitTestRunner/TestInvocation.h:
2020-05-06 Aakash Jain <aakash_jain@apple.com>
Delete code for feeder queue
https://bugs.webkit.org/show_bug.cgi?id=211518
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/bot/feeders.py: Removed.
* Scripts/webkitpy/tool/bot/feeders_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/queues.py:
(FeederQueue): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(TestFeederQueue): Deleted.
(FeederQueueTest): Deleted.
(PatchProcessingQueueTest): Deleted.
2020-05-06 Darin Adler <darin@apple.com>
Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
https://bugs.webkit.org/show_bug.cgi?id=211460
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Remove USE(DICTATION_ALTERNATIVES).
2020-05-06 Pablo Saavedra <psaavedra@igalia.com>
Python3: Support Python3 in Tools/webkitpy/benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=211249
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder._fetch_remote_archive):
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._format_values):
(BenchmarkResults._subtest_values_by_config_iteration):
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(istext):
(BenchmarkRunner._run_benchmark):
(BenchmarkRunner._merge):
(BenchmarkRunner.show_results):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver):
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver._wait_for_http_server):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args):
(list_benchmark_plans):
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._create_checker):
2020-05-06 Aakash Jain <aakash_jain@apple.com>
Delete code for QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=211504
Reviewed by Jonathan Bedard.
* QueueStatusServer: Removed.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Removed QueueStatusServer.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Removed QueueStatusServer.
* Scripts/webkitpy/common/net/statusserver.py: Removed implementation of most methods. Will delete it completely
in subsequent patch along-with all its callers.
* Scripts/webkitpy/common/net/statusserver_unittest.py: Removed.
* Scripts/webkitpy/test/main.py:
2020-05-05 Ross Kirsling <ross.kirsling@sony.com>
[ECMA-402] Implement Intl.Locale
https://bugs.webkit.org/show_bug.cgi?id=209772
Reviewed by Darin Adler and Saam Barati.
* Scripts/run-jsc-stress-tests:
Add runIntlLocaleEnabled.
2020-05-05 Saam Barati <sbarati@apple.com>
Don't use the DebugHeap for catalyst
https://bugs.webkit.org/show_bug.cgi?id=211471
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(TEST):
2020-05-05 Daniel Bates <dabates@apple.com>
Should show selection highlight during text interaction
https://bugs.webkit.org/show_bug.cgi?id=211362
<rdar://problem/59191873>
Reviewed by Wenson Hsieh.
Add a test to ensure the selection view has rects after selecting
text during a text interaction. These rects represents the highlight.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-05-05 Aakash Jain <aakash_jain@apple.com>
webkitbot isn't responding properly in irc
https://bugs.webkit.org/show_bug.cgi?id=211458
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue.run_webkit_patch): Removed status-host paramter since old ews server has been decommissioned.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
2020-05-05 Aakash Jain <aakash_jain@apple.com>
EWS should skip Apple Win build and tests for patches that only change WebKit2 sources
https://bugs.webkit.org/show_bug.cgi?id=211210
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(WindowsFactory.__init__): enabled relevance checking for windows ews.
* BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-test.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Defined relevance info for windows ews.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCheckPatchRelevance.test_relevant_windows_wk1_patch): Added unit test.
(TestCheckPatchRelevance.test_queues_without_relevance_info): Fixed unit-test.
2020-05-05 Mark Lam <mark.lam@apple.com>
Allow Bitmap to use up to a UCPURegister word size for internal bit storage.
https://bugs.webkit.org/show_bug.cgi?id=211328
<rdar://problem/62755865>
Reviewed by Yusuke Suzuki.
Added API tests for WTF::Bitmap to make sure that Bitmap is behaving correctly.
Since Bitmap is used in critical infrastructure like the GC, it is important to
ensure that there are no latent bugs.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Bitmap.cpp: Added.
(TestWebKitAPI::countBits):
(TestWebKitAPI::testBitmapSize):
(TestWebKitAPI::testBitmapConstructedEmpty):
(TestWebKitAPI::testBitmapSetGet):
(TestWebKitAPI::testBitmapTestAndSet):
(TestWebKitAPI::testBitmapTestAndClear):
(TestWebKitAPI::testBitmapConcurrentTestAndSet):
(TestWebKitAPI::testBitmapConcurrentTestAndClear):
(TestWebKitAPI::testBitmapClear):
(TestWebKitAPI::testBitmapClearAll):
(TestWebKitAPI::testBitmapInvert):
(TestWebKitAPI::testBitmapFindRunOfZeros):
(TestWebKitAPI::testBitmapCount):
(TestWebKitAPI::testBitmapIsEmpty):
(TestWebKitAPI::testBitmapIsFull):
(TestWebKitAPI::testBitmapMerge):
(TestWebKitAPI::testBitmapFilter):
(TestWebKitAPI::testBitmapExclude):
(TestWebKitAPI::testBitmapConcurrentFilter):
(TestWebKitAPI::testBitmapSubsumes):
(TestWebKitAPI::testBitmapForEachSetBit):
(TestWebKitAPI::testBitmapFindBit):
(TestWebKitAPI::testBitmapIteration):
(TestWebKitAPI::testBitmapMergeAndClear):
(TestWebKitAPI::testBitmapSetAndClear):
(TestWebKitAPI::testBitmapOperatorEqual):
(TestWebKitAPI::testBitmapOperatorNotEqual):
(TestWebKitAPI::testBitmapHash):
(TestWebKitAPI::TEST):
2020-05-05 Alexey Shvayka <shvaikalesh@gmail.com>
Object.prototype.toString is not spec-perfect
https://bugs.webkit.org/show_bug.cgi?id=199138
Reviewed by Darin Adler and Keith Miller.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
2020-05-05 Tim Horton <timothy_horton@apple.com>
Excessive error logging from daemons trying to use WebKit, under -[UIDevice currentDevice]
https://bugs.webkit.org/show_bug.cgi?id=211397
<rdar://problem/61635403>
Reviewed by Simon Fraser.
* TestWebKitAPI/ios/UserInterfaceSwizzler.h:
We need a UIApplication or WebKit won't look at UIDevice.
2020-05-04 Darin Adler <darin@apple.com>
[Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
https://bugs.webkit.org/show_bug.cgi?id=211420
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp: Remove
__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
Removed code disabling this test for __MAC_OS_X_VERSION_MIN_REQUIRED < 101400.
* TestWebKitAPI/config.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::installFakeHelvetica): Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
2020-05-04 Darin Adler <darin@apple.com>
Remove now-unneeded HAVE(NETWORK_EXTENSION)
https://bugs.webkit.org/show_bug.cgi?id=211424
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
Remove check of HAVE(NETWORK_EXTENSION).
* TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]): Ditto.
2020-05-04 Ben Nham <nham@apple.com>
IndexedDB WAL file keeps growing while app is in use
https://bugs.webkit.org/show_bug.cgi?id=202137
Reviewed by Brady Eidson.
Add a test to make sure that WAL auto-checkpointing actually works.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm: Added.
(-[IDBCheckpointWALMessageHandler userContentController:didReceiveScriptMessage:]):
(fileSizeAtPath):
(TEST):
2020-05-04 Darin Adler <darin@apple.com>
Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=211402
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
Remove unneeded __IPHONE_OS_VERSION_MIN_REQUIRED check.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
PLATFORM(IOS).
* TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView setOverrideSafeAreaInsets:]): Ditto.
2020-05-04 Darin Adler <darin@apple.com>
[Cocoa] Remove a few unneeded __IPHONE_OS_VERSION_MIN_REQUIRED checks
https://bugs.webkit.org/show_bug.cgi?id=211383
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed checks against iOS 12 and 13 in code that
uses PLATFORM(IOS), not PLATFORM(IOS_FAMILY).
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Removed a
check against iOS 11 in code using PLATFORM(IOS).
2020-05-04 Darin Adler <darin@apple.com>
Remove HAVE(IOSURFACE) checks in Cocoa-platform-specific code
https://bugs.webkit.org/show_bug.cgi?id=211389
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView): Remove BEGIN/END_BLOCK_OBJC_EXCEPTIONS
since they are not needed/appropriate in test code. Remove HAVE(IOSURFACE)
since this is Cocoa-specific.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Ditto.
2020-05-04 Alexey Proskuryakov <ap@apple.com>
block-spammers tool should hide attachments
https://bugs.webkit.org/show_bug.cgi?id=211406
Reviewed by Darin Adler.
The logic is nearly identical to hiding comments. Just need to limit fields in the
search, so that we don't have to download attachment data.
* Scripts/block-spammers:
(get_comments):
(get_bugs_with_attachments_created_by_user):
(get_attachments):
(hide_comments):
(hide_attachments):
(main):
2020-05-04 Darin Adler <darin@apple.com>
Remove unneeded USE(MEDIAREMOTE)
https://bugs.webkit.org/show_bug.cgi?id=211385
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Reverse conditional so it's
consistently listing which platforms we do *not* compile the test on.
2020-05-04 Alex Christensen <achristensen@webkit.org>
[Catalina] ASSERTION FAILED: Unsafe to ref/deref from different threads seen with TestWebKitAPI.MultipleClientCertificateConnections.Failure
https://bugs.webkit.org/show_bug.cgi?id=211300
Reviewed by Youenn Fablet.
RequestData references are stored in blocks given to the network framework, which does things on background threads.
To make them safe to ref and deref on non-main threads, make RequestData ThreadSafeRefCounted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
2020-05-04 Darin Adler <darin@apple.com>
Remove now-unneeded HAVE(MEDIA_PLAYER)
https://bugs.webkit.org/show_bug.cgi?id=211378
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed HAVE(MEDIA_PLAYER) check since it's now always
true in Objective-C source files.
2020-05-04 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] Should install python3-secretstorage
https://bugs.webkit.org/show_bug.cgi?id=207473
Reviewed by Adrian Perez de Castro.
If python3-secretstorage is not installed, webkit-patch will use a custom encrypted file
for password storage instead of utilizing the system keyring. This means unnecessary
password prompts to unlock the custom encrypted key storage.
There is no benefit to using custom key storage over the system keyring.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-04 Andres Gonzalez <andresg_22@apple.com>
Add WTR::AccessibilityUIElement::attributeValueAsync to retrieve attribute values in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211341
Reviewed by Chris Fleizach.
To simulate running WebAccessibilityObjectWrapper methods on the secondary
thread, WTR::AccessibilityUIElement dispatches those calls to the AX
thread. But some WebAccessibilityObjectWrapper calls cannot be fulfilled
on the secondary thread and in turn have to be dispatched to the main
thread. This was causing a thread lock during LayoutTests in isolated
tree mode since the initial dispatch to the secondary thread blocks the
main thread. The solution in this patch is to add an asynchronous
mechanism to retrieve attribute values.
- Added WTR::AccessibilityUIElement::attributeValueAsync.
- Made several fixes consisting of retaining variables in the main
thread whose values are computed on the secondary thread.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadAndWait):
(WTR::AccessibilityController::executeOnAXThread):
(WTR::AccessibilityController::executeOnMainThread):
(WTR::AXThread::dispatchBarrier):
(WTR::AccessibilityController::executeOnAXThreadIfPossible): Renamed executeOnAXThreadAndWait.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::webAccessibilityObjectWrapperClass):
(WTR::makeArrayRefForArray):
(WTR::makeObjectRefForDictionary):
(WTR::makeValueRefForValue):
(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler startObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
(webAccessibilityObjectWrapperClass): Moved to AccessibilityCommonMac.
(makeValueRefForValue): Moved to AccessibilityCommonMac.
(makeArrayRefForArray): Moved to AccessibilityCommonMac.
(makeObjectRefForDictionary): Moved to AccessibilityCommonMac.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::attributeValueAsync):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
2020-05-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r261076.
https://bugs.webkit.org/show_bug.cgi?id=211371
Triggers obscure X11 error on GTK bots (Requested by philn on
#webkit).
Reverted changeset:
"[Flatpak SDK] Query the doc portal path with DBus"
https://bugs.webkit.org/show_bug.cgi?id=211281
https://trac.webkit.org/changeset/261076
2020-05-04 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Support for local repository and drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=211370
Reviewed by Žan Doberšek.
This patch adds a new --repo option to webkit-flatpak, allowing
SDK developers to test local changes made to the SDK. As future
versions of the SDK will depend on the ffmpeg FDO extension,
flatpakutils installs it from now on. One consequence is that the
LD_LIBRARY_PATH set in the GTK layout test driver is no longer
overriden when running in the flatpak SDK, in order to allow the
extension to set it correctly.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* flatpak/flatpakutils.py:
(FlatpakRepos.add):
(FlatpakRepo.repo_file):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
(WebkitFlatpak._reset_repository):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_packages):
(run_in_sandbox_if_available):
2020-05-04 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Query the doc portal path with DBus
https://bugs.webkit.org/show_bug.cgi?id=211281
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-04 Emilio Cobos Álvarez <emilio@crisal.io>
Put lh / rlh units behind a flag until bug 211351 is sorted out.
https://bugs.webkit.org/show_bug.cgi?id=211356
Reviewed by Antti Koivisto.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
2020-05-04 Patrick Griffis <pgriffis@igalia.com>
[Flatpak SDK] Misc flatpakutils.py fixes
https://bugs.webkit.org/show_bug.cgi?id=211032
Reviewed by Philippe Normand.
Pass SSLKEYLOGFILE into sandbox which is useful for debugging with Wireshark.
Sanitize G_MESSAGES_DEBUG env var when checking output of flatpak command.
Fix check for --noninteractive support.
Fix python 3 exception when setting up icecc mixing strings and bytes.
* flatpak/flatpakutils.py:
(Console.warning_message):
(flatpak_check_output):
(check_flatpak):
(FlatpakObject.flatpak):
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-03 Daniel Bates <dabates@apple.com>
Attempt to fix the iOS build after r261068
(https://bugs.webkit.org/show_bug.cgi?id=208281)
Wrap TEST()s in namespace TestWebKitAPI so as to not need to qualify IPhoneUserInterfaceSwizzler.
* TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST): Deleted.
2020-05-03 Daniel Bates <dabates@apple.com>
[iPad Simulator] TestWebKitAPI.UIWKInteractionViewProtocol.SelectPositionAtPointAfterBecomingFirstResponder is failing
https://bugs.webkit.org/show_bug.cgi?id=208281
<rdar://problem/59829265>
Reviewed by Wenson Hsieh.
I tried to write the test SelectPositionAtPointAfterBecomingFirstResponder for both iPad and iPhone,
but it turns out that I forgot an impl detail on how form control dismissal works for iPad and fixing
this would require adding more SPI/IPI. This is largely due to differences in form control UI and
conventions for dismissing such UI. This test isn't testing such UI it just needs to ensure that the
view is not first responder before it runs the actual test code. It uses an iPhone specific set of
steps to do this. It's enough to test this functionality on iPhone.
* TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST):
2020-05-03 Daniel Bates <dabates@apple.com>
Update info.
* Scripts/webkitpy/common/config/contributors.json:
2020-05-02 ChangSeok Oh <changseok@webkit.org>
Unreviewed, add myself to some watch lists.
* Scripts/webkitpy/common/config/watchlist:
2020-05-02 Daniel Bates <dabates@apple.com>
Page::editableElementsInRect() should return root editable elements
https://bugs.webkit.org/show_bug.cgi?id=211343
<rdar://problem/60015801>
Reviewed by Simon Fraser.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-05-02 Diego Pino Garcia <dpino@igalia.com>
[GTK] Gardening, update API test expectations
https://bugs.webkit.org/show_bug.cgi?id=211337
Unreviewed gardening.
Some tests became flaky under Flatpak.
* TestWebKitAPI/glib/TestExpectations.json:
2020-05-01 Tim Horton <timothy_horton@apple.com>
Books sometimes ends up with blank pages, especially after adjusting font size
https://bugs.webkit.org/show_bug.cgi?id=211265
<rdar://problem/59898144>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ViewExposedRect.mm: Added.
(forceRepaintCallback):
(TEST):
Add a test for the first problem, which would previously attempt to allocate
~90TB of tiles, spinning and exploding, and now happily just allocates a few.
2020-05-01 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should observe the value attribute of some input elements
https://bugs.webkit.org/show_bug.cgi?id=211307
<rdar://problem/61568528>
Reviewed by Darin Adler.
Add a new API test that covers `<input type="submit">` and `<input type="button">`.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-05-01 Alex Christensen <achristensen@webkit.org>
Add SPI to move localStorage to a different domain
https://bugs.webkit.org/show_bug.cgi?id=209260
<rdar://problem/60285683>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2020-05-01 Wenson Hsieh <wenson_hsieh@apple.com>
Add a test for webkit.org/b/211311
https://bugs.webkit.org/show_bug.cgi?id=211319
<rdar://problem/62663459>
Reviewed by Tim Horton.
Exercise the crash fixed in r261017 with a new API test that loads a page and then uses
`-[WebHTMLView attributedSubstringFromRange:]` to try and grab the contents of the page as an attributed string.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/AttributedString.mm:
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::didLoadURL):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::url const):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::runSyncTest):
* TestWebKitAPI/Tests/mac/attributedStringNewlineAtEndOfDocument.html: Added.
2020-05-01 Per Arne Vollan <pvollan@apple.com>
[iOS] Every running WebContent process should be granted access to frontboard services when Accessibility is enabled
https://bugs.webkit.org/show_bug.cgi?id=211238
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
2020-05-01 Don Olmstead <don.olmstead@sony.com>
[GTK] Add additional exports to support hidden visibility
https://bugs.webkit.org/show_bug.cgi?id=211246
Reviewed by Michael Catanzaro.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
* TestWebKitAPI/InjectedBundleMain.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(webkit_web_extension_initialize_with_user_data):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
(webkit_web_extension_initialize):
* WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
2020-05-01 Don Olmstead <don.olmstead@sony.com>
Use export macros on all platforms
https://bugs.webkit.org/show_bug.cgi?id=211293
Reviewed by Michael Catanzaro.
Remove uses of USE_EXPORT_MACROS from the DumpRenderTree xcode project. This
is the only xcode project that had any references to this value.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2020-05-01 Peng Liu <peng.liu6@apple.com>
A PiP window doesn’t actually dismiss after the browser navigates to a different page within the same domain
https://bugs.webkit.org/show_bug.cgi?id=211257
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm: Added.
(-[ExitPiPOnSuspendVideoElementUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
(TestWebKitAPI::TEST):
2020-05-01 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Dropped connections when uploading archives shouldn't be fatal
https://bugs.webkit.org/show_bug.cgi?id=211248
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/results/upload.py:
(Upload.upload_archive): Dropping a connection when uploading archives shouldn't
be a fatal error.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_archive_upload):
2020-05-01 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Honor XDG_RUNTIME_DIR when setting the document path
https://bugs.webkit.org/show_bug.cgi?id=211277
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Prefer using the value of
$XDG_RUNTIME_DIR instead of the hardcoded path when setting the
document portal path mount.
2020-05-01 Adrian Perez de Castro <aperez@igalia.com>
[GTK] File GtkVersioning.h should be excluded from the style checker
https://bugs.webkit.org/show_bug.cgi?id=211262
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/style/checker.py: Exclude Source/WebCore/platform/gtk/GtkVersioning.h
from style checks.
2020-04-30 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Require user gestures for LocalAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=182893
<rdar://problem/43357293>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la-no-mock.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-no-mock.html: Added.
2020-04-30 Alex Christensen <achristensen@webkit.org>
TestWebKitAPI.WebKit.DefaultDisplayName and TestWebKitAPI.WebKit.CustomDisplayName are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=209993
<rdar://problem/61282602>
Reviewed by Chris Dumez.
The display name for the web process is set on a low-priority background queue in WebProcess::updateProcessName()
so sometimes in our test it hasn't executed yet. If it hasn't executed yet, it will soon, so try until it succeeds.
* TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::checkUntilDisplayNameIs):
(TestWebKitAPI::TEST):
2020-04-30 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Optimize LocalAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=183534
<rdar://problem/43357408>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
Adds a new test case for the LRU.
2020-04-30 Kate Cheney <katherine_cheney@apple.com>
Change default of "inAppBrowserPrivacyQuirks" testing toggle to use it for tests only
https://bugs.webkit.org/show_bug.cgi?id=211209
<rdar://problem/62619659>
Reviewed by Brent Fulgham.
Manually enable inAppBrowserPrivacyQuirks for certain tests which
need script evaluation to test other aspects of In-App Browser Privacy.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-04-30 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sort out certificates on Catalina
https://bugs.webkit.org/show_bug.cgi?id=202837
<rdar://problem/56177210>
Reviewed by Alex Christensen.
* Scripts/run-javascriptcore-tests:
(uploadResults): Do not allow insecure requests.
* Scripts/webkitpy/results/upload.py:
(Upload.upload): Verify ssl certificates.
(Upload.upload_archive): Ditto.
2020-04-30 Alex Christensen <achristensen@webkit.org>
Add SPI to change a WKWebView's CORS disabling pattern after initialization
https://bugs.webkit.org/show_bug.cgi?id=211211
<rdar://problem/61837474>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-04-30 Alex Christensen <achristensen@webkit.org>
REGRESSION: [ iOS ] http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion tests are flaky crashing, failing an timing out.
https://bugs.webkit.org/show_bug.cgi?id=211190
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
In tests that swap out the WebsiteDataStore, don't use the same paths as the other WebsiteDataStore.
2020-04-30 David Kilzer <ddkilzer@apple.com>
REGRESSION (r176862, r210483): Leaks of BrowserWindowController in MiniBrowser/mac/AppDelegate.m
<https://webkit.org/b/211243>
Reviewed by Tim Horton.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate createBrowserWindowController:]):
- Autorelease return value to fix leak.
(-[BrowserAppDelegate newPrivateWindow:]):
- Release controller to fix leak.
2020-04-30 David Kilzer <ddkilzer@apple.com>
REGRESSION (r247490): Leak of MiniBrowserNSTextFinder._hideInterfaceCallback
<https://webkit.org/b/211242>
Reviewed by Tim Horton.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[MiniBrowserNSTextFinder dealloc]): Add.
- Release _hideInterfaceCallback to fix the leak.
2020-04-30 Daniel Bates <dabates@apple.com>
[iOS] Implement -markedTextRange
https://bugs.webkit.org/show_bug.cgi?id=211148
<rdar://problem/57865890>
Reviewed by Wenson Hsieh.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
(TestWebKitAPI::applyAhemStyle): Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView synchronouslyLoadHTMLStringAndWaitUntilAllImmediateChildFramesPaint:]): Added.
2020-04-30 Claudio Saavedra <csaavedra@igalia.com>
[GTK4] Add navigation and reload buttons to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211231
Reviewed by Adrian Perez de Castro.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowUpdateNavigationMenu):
(webViewIsLoadingChanged):
(browserWindowSetupToolbarItem):
(browser_window_init):
2020-04-30 Philippe Normand <pnormand@igalia.com>
[SOUP] http/tests/media/video-accept-encoding.html fails
https://bugs.webkit.org/show_bug.cgi?id=211228
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-30 Andres Gonzalez <andresg_22@apple.com>
Fix for crashes in accessibility/accessibility-node-memory-management.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211215
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadIfPossible):
Removed the call CFRunLoopRunInMode and instead we'll use setTimeout in
each of the tests that require to complete a spin of the main run loop.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::accessibleElementById):
Need to retain ObjectiveC object when it is retrieved from the secondary thread.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::getChildrenWithRange): Dito as above.
2020-04-30 Claudio Saavedra <csaavedra@igalia.com>
[GTK4] Bring back the URI entry to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211186
Reviewed by Carlos Garcia Campos.
GTK4 support for the URI entry added, using a GtkCenterBox
to start layouting a modern version of the toolbar.
* MiniBrowser/gtk/BrowserWindow.c:
(activateUriEntryCallback):
(webViewURIChanged):
(updateUriEntryIcon):
(faviconChanged):
(insertLinkCommandCallback):
(browser_window_init):
2020-04-29 Simon Fraser <simon.fraser@apple.com>
Add a MiniBrowser option to inset the web view so it doesn't fill the window
https://bugs.webkit.org/show_bug.cgi?id=211216
Reviewed by Tim Horton.
Add a menu item, Debug > Inset Web View to MiniBrowser which insets the view from
the edges of the window, making it possible to debug coordinate conversion issues.
The state is stored in Settings, but unlike other Settings this one doesn't
get populated into the Settings menu because it makes more logical sense grouped
with the options to Hide and Remove the web view.
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController toggleFullWindowWebView:]):
(-[BrowserWindowController webViewFillsWindow]):
(-[BrowserWindowController setWebViewFillsWindow:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
(-[SettingsController webViewFillsWindow]):
(-[SettingsController setWebViewFillsWindow:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController didChangeSettings]):
2020-04-29 Chris Dumez <cdumez@apple.com>
REGRESSION(r260791) Network process fails to suspend promptly
https://bugs.webkit.org/show_bug.cgi?id=211207
<rdar://problem/62620454>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2020-04-29 Kate Cheney <katherine_cheney@apple.com>
Add better handling of an uncleared bundle identifier in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=211195
<rdar://problem/62117145>
Reviewed by Alexey Proskuryakov.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
2020-04-29 Saam Barati <sbarati@apple.com>
build-jsc should quote the value of compile flags it forwards
https://bugs.webkit.org/show_bug.cgi?id=211204
Reviewed by Mark Lam.
We should quote outgoing compile flags that have an equal in them. Before,
if build-jsc were invoked like:
$ build-jsc --release ARCHS="x86_64 i386"
It'd invoke make like:
$ make release ARCHS=x86_64 i386
leading us to try to build the "i386" target, which doesn't exist.
This patch makes us invoke make like so:
$ make release ARCHS="x86_64 i386"
* Scripts/build-jsc:
(buildMyProject):
2020-04-29 Alex Christensen <achristensen@webkit.org>
Add WKNavigationDelegate API shouldAllowDeprecatedTLS
https://bugs.webkit.org/show_bug.cgi?id=210981
<rdar://problem/61742976>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate receivedShouldAllowDeprecatedTLS]):
(-[TLSNavigationDelegate webView:authenticationChallenge:shouldAllowDeprecatedTLS:]):
(TestWebKitAPI::TEST):
(-[TLSNavigationDelegate receivedShouldAllowLegacyTLS]): Deleted.
(-[TLSNavigationDelegate _webView:authenticationChallenge:shouldAllowLegacyTLS:]): Deleted.
* TestWebKitAPI/config.h:
2020-04-29 Kate Cheney <katherine_cheney@apple.com>
Refactor layout tests after updates to In-App Browser Privacy
https://bugs.webkit.org/show_bug.cgi?id=211146
<rdar://problem/62524127>
Reviewed by Brent Fulgham.
Removes two unused functions after updating the test cases.
setInAppBrowserPrivacyEnabled is no longer needed, setting this
in TestOptions is enough. getWebViewCategory is not needed because
this patch deletes the only test which uses it.
Adds a function to clear app-bound sessions between tests now that
multiple tests check for them.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::getWebViewCategory): Deleted.
(WTR::TestRunner::callDidReceiveWebViewCategoryCallback): Deleted.
(WTR::TestRunner::setInAppBrowserPrivacyEnabled): Deleted.
(WTR::TestRunner::callDidSetInAppBrowserPrivacyEnabledCallback): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
Move the call to clear the bundle id to happen in
resetStateToConsistentValues to make sure the next test can set the
value if needed (otherwise results in a call to exit(1)).
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::clearAppBoundSession):
(WTR::TestController::getWebViewCategory): Deleted.
(WTR::TestController::setInAppBrowserPrivacyEnabled): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetInAppBrowserPrivacyEnabled): Deleted.
(WTR::TestInvocation::didReceiveWebViewCategory): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
App-bound WebViews now require a special configuration argument. This
patch adds logic to enable that using a new TestOption.
(WTR::TestController::getWebViewCategory): Deleted.
2020-04-29 Aakash Jain <aakash_jain@apple.com>
[ews] Display flaky test names in build summary when ReRunJavaScriptCoreTests passes
https://bugs.webkit.org/show_bug.cgi?id=210855
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunJavaScriptCoreTests.evaluateCommand): Display flaky test names in build summary.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests and removed extra TestReRunJavaScriptCoreTests class.
2020-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build after r260891
* MiniBrowser/gtk/BrowserWindow.c:
2020-04-29 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Remove deprecated GTK API calls from MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211171
Reviewed by Carlos Garcia Campos.
In preparation to porting MiniBrowser to GTK4, remove
all deprecated API calls. Also get rid of the --geometry
command-line argument and make it a no-op.
* MiniBrowser/gtk/BrowserDownloadsBar.c:
(browser_downloads_bar_init):
(browser_downloads_bar_new):
(actionButtonClicked):
(browser_download_init):
(downloadFinished):
* MiniBrowser/gtk/BrowserSearchBar.c:
(doSearch):
(searchEntryMenuIconPressedCallback):
(browser_search_bar_init):
* MiniBrowser/gtk/BrowserSettingsDialog.c:
(browser_settings_dialog_init):
* MiniBrowser/gtk/BrowserTab.c:
(createInfoBarQuestionMessage):
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowHistoryItemSelected):
(browserWindowHistoryItemActivated):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(backForwardlistChanged):
(updateUriEntryIcon):
(webViewIsLoadingChanged):
(browserWindowSetupEditorToolbarItem):
(browserWindowSetupEditorToolbar):
(browserWindowSwitchTab):
(browserWindowSetupToolbarItem):
(browser_window_init):
(browserWindowUpdateNavigationActions): Deleted.
* MiniBrowser/gtk/main.c:
(main):
2020-04-29 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
https://bugs.webkit.org/show_bug.cgi?id=170553
Minor adaptations needed in the API tests to account for the differences between
GtkMenuShell and GtkPopoverMenu.
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(lookupWidgetsWalkChild): Added.
(lookupWidgets): Added.
2020-04-28 Said Abou-Hallawa <sabouhallawa@apple.com>
Upgrade motionmark1.1.plan to r260656
https://bugs.webkit.org/show_bug.cgi?id=211143
Reviewed by Darin Adler.
r260656 includes a fix for the Multiply test.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2020-04-28 Wenson Hsieh <wenson_hsieh@apple.com>
[Text manipulation] Add a userInfo dictionary to _WKTextManipulationToken
https://bugs.webkit.org/show_bug.cgi?id=211151
<rdar://problem/62329534>
Reviewed by Darin Adler.
Add a new API test to check the userInfo dictionary on text manipulation tokens.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-28 David Kilzer <ddkilzer@apple.com>
check-webkit-style should suggest CheckedSize for Checked<size_t, RecordOverflow>
<https://webkit.org/b/211158>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_checked_size): Add checker.
(check_style): Call check_wtf_checked_size() to check.
(CppChecker): Add 'runtime/wtf_checked_size'.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_wtf_checked_size): Add tests.
2020-04-28 Lauro Moura <lmoura@igalia.com>
[GTK] update-webkitgtk-libs: TypeError: cannot use a string pattern on a bytes-like object
https://bugs.webkit.org/show_bug.cgi?id=211144
Reviewed by Michael Catanzaro.
Unconditionally decode the output from the 'id' command to make it
work with python3.
Also check if the doc directory exists before passing it to bwrap.
Should avoid errors like these:
bwrap: Can't find source path /run/user/1000/doc: No such file or directory
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-28 Kate Cheney <katherine_cheney@apple.com>
Create a mechanism to add missing ITP Database tables when the schema is updated
https://bugs.webkit.org/show_bug.cgi?id=211004
<rdar://problem/62261187>
Reviewed by John Wilander.
Add test case which copies a database schema with a missing table into
the ITP database file, then ensures the pre-seeded data is
migrated over and that the schema now has all tables (including the
previously missing one).
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db-wal: Added.
2020-04-28 Per Arne Vollan <pvollan@apple.com>
[Cocoa] Global preferences are not accessible in the WebContent process when CFPrefs direct mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=211075
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
2020-04-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: A suite running multiple times in a commit for a single configuration may overwrite upload metadata
https://bugs.webkit.org/show_bug.cgi?id=211097
<rdar://problem/62474538>
Rubber-stamped by Aakash Jain.
Create a new table for uploads which is indexed by both uuid and timestamp so that uploads which share
a configuration and uuid but not a timestamp do not collide.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext):
(UploadContext.UploadsByConfigurationLegacy): Renamed from UploadContext.UploadsByConfiguration.
(UploadContext.UploadsByConfiguration): New database table indexed by both timestamp and uuid.
(UploadContext.UploadsByConfiguration.unpack):
(UploadContext.__init__):
(UploadContext.find_test_results): Search both versions of the UploadsByConfiguration table.
2020-04-28 Claudio Saavedra <csaavedra@igalia.com>
[Linux] Replace --geometry with --fullscreen when using MiniBrowser for WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=211123
Reviewed by Carlos Alberto Lopez Perez.
MiniBrowser's --geometry is on its way out, so use --fullscreen
instead as it does the job.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py:
(GTKMiniBrowserDriver.launch_url):
2020-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Add support for motion events
https://bugs.webkit.org/show_bug.cgi?id=211073
Reviewed by Adrian Perez de Castro.
Use the GtkOverlay in GTK4 too so that status label is shown when hovering elements.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
2020-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4][Wayland] Add support for rendering web view contents
https://bugs.webkit.org/show_bug.cgi?id=211021
Reviewed by Adrian Perez de Castro.
Set vertical expand of web view to TRUE.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
2020-04-27 Philippe Normand <pnormand@igalia.com>
[GTK][WebInspector] platformSave broken when running within the Flatpak runtime
https://bugs.webkit.org/show_bug.cgi?id=209473
Reviewed by Adrian Perez de Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list the user document
folder into the sandbox. This seems needed by the file-chooser
popup, somehow.
2020-04-27 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: A suite running multiple times in a commit for a single configuration may pre-empt processing
https://bugs.webkit.org/show_bug.cgi?id=211094
<rdar://problem/62470170>
Reviewed by Aakash Jain.
Hash collision in processing key when results only differ by upload time.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext.process_test_results): Include upload timestamp in the hashed key.
2020-04-27 Zhifei Fang <zhifei_fang@apple.com>
Add some debug output for run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=210999
<rdar://problem/61353156>
This will help to address where the script get stucked
Reviewed by Jonathan Bedard.
* Scripts/run-jsc-stress-tests:
2020-04-27 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should not aggregate text from different navigation anchor elements
https://bugs.webkit.org/show_bug.cgi?id=211081
<rdar://problem/59553658>
Reviewed by Megan Gardner.
Add a new API test, and augment an existing test.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-27 Jonathan Bedard <jbedard@apple.com>
results.webkit.og: Add investigation endpoint
https://bugs.webkit.org/show_bug.cgi?id=209562
Rubber-stamped by Aakash Jain.
Add an endpoint that allows users to list all test failures given some criteria, and
provide a partial list of failures in the investigation drawer.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(CommitTable): Link commit to investigation endpoint.
(_CommitBank.prototype.latest): Populate the CommitBank with the last x commits.
(_CommitBank.prototype.commitsDuringUuid): Renamed commitsDuring.
(_CommitBank.prototype. commitsDuring): Accept a range Uuids instead of a single Uuid.
(_CommitBank.prototype._load): Load a single commit if the before and after uuid match.
* resultsdbpy/resultsdbpy/view/static/js/common.js:
(paramsToQuery): False should be added as a parameter, if provided.
(percentage): Moved from investigate.js.
(elapsedTime): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.combine): Allow configurations to be combined to a single, more general, configuration.
* resultsdbpy/resultsdbpy/view/static/js/failures.js: Added.
(Failures.prototype.fromEndpoint): Construct a failure object from the failures endpoint.
(Failures.combine): Combine two failure objects together.
(Failures):
(Failures.prototype.toParams): Convert object to parameters for other results database queries.
* resultsdbpy/resultsdbpy/view/static/js/investigate.js:
(elapsed): Used shared time elapsed function.
(percentage): Moved to common.js.
(prioritizedFailures): Return a div with a truncated list of tests which failed.
(resultsForData): Include some number of prioritized test failures based on how many bubbles are
already displayed.
(_InvestigateDrawer.prototype.expand): Dispatch failure request.
(_InvestigateDrawer.prototype.dispatch): Start request to failures endpoint.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Add link to investigation endpoint.
(Legend): When search parameters change, we need to re-dispatch failure requests.
* resultsdbpy/resultsdbpy/view/suite_view.py:
(SuiteView._suites_for_investigation): Filter parameters for investigation endpoint.
(SuiteView.investigate): Return investigation endpoint html template.
* resultsdbpy/resultsdbpy/view/templates/investigate.html: Added.
(willFilterExpected): Check if the query parameters indicate that expected failures are to be ignored.
(commitsForRange): Return a list of commits for a uuid range.
(SuiteFailuresView.constructor): Abstraction to hold the investigation data for a single suite.
(SuiteFailuresView.reload): Dispatch requests to the results and failures endpoint to populate
investigation data.
(SuiteFailuresView.select): By default, failures for different configurations are collapsed into a single
view. Allows the user to iterate through each configuration that comprises the view.
(SuiteFailuresView.toString):
(populateRanges): Either convert the provided arguments to a range to search for failures and results
in, or use the most recent commit.
(reload): Force all suite views to re-dispatch results and failures requests.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Add space between suite content and
top bar.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__): Add investigate endpoint.
2020-04-27 Tim Horton <timothy_horton@apple.com>
WebKit.ResizeReversePaginatedWebView is failing (21 pages instead of 20)
https://bugs.webkit.org/show_bug.cgi?id=211001
<rdar://problem/60972357>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
* TestWebKitAPI/Tests/WebKit/lots-of-text-vertical-lr.html:
Use Ahem to keep the layout more stable.
2020-04-27 Per Arne Vollan <pvollan@apple.com>
[Cocoa] After r258891, r255119 can be reverted
https://bugs.webkit.org/show_bug.cgi?id=211083
Unreviewed revert of r255119.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/MimeTypes.mm: Removed.
2020-04-27 Daniel Bates <dabates@apple.com>
Caret may be placed in the wrong spot for text input context that is a form control
https://bugs.webkit.org/show_bug.cgi?id=210939
<rdar://problem/61943089>
Reviewed by Darin Adler.
Add a test.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-04-27 Alexey Proskuryakov <ap@apple.com>
Make run-safari --ios-simulator work again
https://bugs.webkit.org/show_bug.cgi?id=211008
Reviewed by Darin Adler.
While at it, removed all direct uses of device.plist, and all use of Foundation.
* Scripts/webkitdirs.pm: Stopped exporting unused simulator related functions. New
code should be using webkitpy.
(simulatorDeviceFromJSON): Helper function for parsing simctl output.
(iOSSimulatorDevices): Use simctl instead of reading device.plist.
(createiOSSimulatorDevice): Device creation appears to be synchronous, I couldn't
find any reason for waiting and retrying.
(iosSimulatorApplicationsPath): This is part of the actual fix - runtime path built
here was incorrect; switched to one provided by simctl.
(shutDownIOSSimulatorDevice): Added an early return to avoid stderr spew.
(relaunchIOSSimulator): Another part of the actual fix: open Simulator.app before booting the
simulator to have it visible; CurrentDeviceUDID doesn't work.
(iosSimulatorDeviceByUDID): Stop using device.plist.
(runIOSWebKitAppInSimulator): Stop quitting Simulator.app, we only needed to shut down
the device.
(iOSSimulatorDevicesPath): Deleted.
(quitIOSSimulator): Deleted.
2020-04-27 Daniel Bates <dabates@apple.com>
Text interaction tests should ensure view is not scroll instead of looking for a zoom change
https://bugs.webkit.org/show_bug.cgi?id=211056
Reviewed by Dean Jackson.
For the text interaction sub-tests, override the scroll view's delegate so as to track
whether a scroll occurred or not instead of looking at the zoom scale. As the tests are
written looking at the zoom scale is racy. It is simpler and deterministic to detect
whether the scroll view scrolled.
The purpose of the text interaction sub-tests are to ensure that zooming to reveal
the focused element is suppressed until the interaction completes with a call to
-_didFinishTextInteractionInTextInputContext. I added some more assertions to ensure this.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TextInteractionScrollDelegate scrollViewDidScroll:]):
(TestWebKitAPI::TEST):
2020-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make it possible to build with GTK4 without errors
https://bugs.webkit.org/show_bug.cgi?id=210967
Reviewed by Adrian Perez de Castro.
* MiniBrowser/gtk/BrowserCellRendererVariant.c:
* MiniBrowser/gtk/BrowserCellRendererVariant.h:
* MiniBrowser/gtk/BrowserDownloadsBar.c:
* MiniBrowser/gtk/BrowserDownloadsBar.h:
* MiniBrowser/gtk/BrowserMain.c: Added.
(browser_main):
(browser_main_quit):
* MiniBrowser/gtk/BrowserMain.h: Added.
* MiniBrowser/gtk/BrowserSearchBar.c:
* MiniBrowser/gtk/BrowserSearchBar.h:
* MiniBrowser/gtk/BrowserSettingsDialog.c:
* MiniBrowser/gtk/BrowserSettingsDialog.h:
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
(browser_tab_start_search):
(browser_tab_stop_search):
(browser_tab_enter_fullscreen):
(browser_tab_leave_fullscreen):
* MiniBrowser/gtk/BrowserTab.h:
* MiniBrowser/gtk/BrowserWindow.c:
(webViewURIChanged):
(resetEntryProgress):
(webViewLoadProgressChanged):
(downloadStarted):
(browserWindowUpdateNavigationActions):
(webViewReadyToShow):
(browserWindowUpdateZoomActions):
(webViewZoomLevelChanged):
(updateUriEntryIcon):
(webViewIsLoadingChanged):
(browserWindowFinalize):
(browserWindowSetupEditorToolbar):
(browserWindowSwitchTab):
(browser_window_init):
(browser_window_class_init):
(browser_window_new):
(browser_window_append_view):
(browser_window_set_background_color):
(browser_window_get_or_create_web_view_for_automation):
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/gtk/main.c:
(main):
* PlatformGTK.cmake:
* Scripts/webkitpy/style/checker.py:
* TestWebKitAPI/glib/PlatformGTK.cmake:
2020-04-27 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Regenerate toolchains only if new updates were downloaded
https://bugs.webkit.org/show_bug.cgi?id=210804
Reviewed by Žan Doberšek.
The SDK toolchain archives are now regenerated only if an actual
update was downloaded from the Flatpak repository. Some redundant
flatpak calls were removed as well, such as the GL extension and
Debug reinstalls that were happening during webkit-flatpak
updates.
* flatpak/flatpakutils.py:
(FlatpakObject.flatpak):
(FlatpakRepo.__init__):
(WebkitFlatpak.main):
(WebkitFlatpak.setup_dev_env):
2020-04-27 Philippe Normand <pnormand@igalia.com>
unable to build from tot - linux - flatpakutils.py - TypeError: not enough arguments for format string
https://bugs.webkit.org/show_bug.cgi?id=210941
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(check_flatpak): Fix error message formating.
2020-04-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Enable TestWTF and TestWebCore
https://bugs.webkit.org/show_bug.cgi?id=208849
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformPlayStation.cmake:
* TestWebKitAPI/playstation/main.cpp: Added.
(main): Load runtime libraries.
2020-04-26 Yusuke Suzuki <ysuzuki@apple.com>
Warn when NeverDestroyed<Lock> is used
https://bugs.webkit.org/show_bug.cgi?id=211054
Reviewed by Darin Adler.
WTF::Lock and WTF::Condition are designed to be constant-initialize compliant. So NeverDestroyed<> for these types are not necessary,
or rather, introducing race condition issue while `static Lock` doesn't have that issue. This patch adds lint rules which prevent
us from using `NeverDestroyed<Lock>` and `LazyNeverDestroyed<Lock>`.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_never_destroyed):
(check_style):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_wtf_never_destroyed):
2020-04-25 Darin Adler <darin@apple.com>
[Cocoa] Deal with another round of Xcode upgrade checks
https://bugs.webkit.org/show_bug.cgi?id=211027
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Bump the upgrade check version.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Bump the upgrade check version.
Add a harmless base localization; this project contains nothing localized. Also let the
script sort the project.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Bump the upgrade check version.
Add a harmless base localization; this project contains nothing localized. Also let the
script sort the project.
2020-04-25 Darin Adler <darin@apple.com>
Move URL to use StringView when returning substrings of the URL
https://bugs.webkit.org/show_bug.cgi?id=210431
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/URL.cpp: Removed the test for
equalIgnoringQueryAndFragment since we removed that function.
Updated for rename of URL::password from URL::pass.
Updated arguments to isMatchingDomain to pass literals that can be converted
to StringView rather than ASCIILiteral, which StringView doesn't yet support.
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::checkURL): Updated for rename of URL::password from URL::pass.
(TestWebKitAPI::checkRelativeURL): Ditto.
(TestWebKitAPI::checkURLDifferences): Ditto.
(TestWebKitAPI::checkRelativeURLDifferences): Ditto.
(TestWebKitAPI::testUserPassword): Ditto.
2020-04-25 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK][EWS] Install dependencies step needs configuration as argument
https://bugs.webkit.org/show_bug.cgi?id=210913
Follow-up on r260560. The same change is needed for EWS bots.
Reviewed by Philippe Normand.
* BuildSlaveSupport/ews-build/steps.py:
(InstallGtkDependencies): Pass 'configuration' value (Release, Debug).
(InstallWpeDependencies): Pass 'configuration' value (Release, Debug).
2020-04-24 Alex Christensen <achristensen@webkit.org>
REGRESSION(260485) Payment requests don't do anything
https://bugs.webkit.org/show_bug.cgi?id=210997
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2020-04-24 Wenson Hsieh <wenson_hsieh@apple.com>
Make some more adjustments to TextManipulationController's paragraph boundary heuristic
https://bugs.webkit.org/show_bug.cgi?id=210993
<rdar://problem/61571299>
Reviewed by Tim Horton.
Add a new API test with buttons and links styled with `display: inline-block;`. Additionally, rebaseline an
existing API test that exercises inline-block list items.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-24 Chris Dumez <cdumez@apple.com>
[iOS] Always run WKTR's WKWebViews at foreground priority
https://bugs.webkit.org/show_bug.cgi?id=210991
Reviewed by Keith Miller.
Always run WKTR's WKWebViews at foreground priority. This makes sure that they don't suspend and
run at foreground priority on iOS, even if those views are not visible on screen.
This is an issue to address flakiness on the bots.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2020-04-24 Kate Cheney <katherine_cheney@apple.com>
Removing website data for a domain should delete corresponding ITP entry
https://bugs.webkit.org/show_bug.cgi?id=210864
<rdar://problem/59473193>
Reviewed by John Wilander.
Created 2 new APIs for testing. One to mimic clearing website data
for a domain, and one to check if the domain exists in the database
after a deletion was requested.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase):
(WTR::TestRunner::domainIDExistsInDatabase): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::doesStatisticsDomainIDExistInDatabase):
(WTR::TestController::domainIDExistsInDatabase): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-04-24 Antoine Quint <graouts@apple.com>
Update the css/css-animations WPT tests
https://bugs.webkit.org/show_bug.cgi?id=210964
Reviewed by Dean Jackson.
Turn on the CSSCustomPropertiesAndValues experimental feature which a new test relies on.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2020-04-24 David Kilzer <ddkilzer@apple.com>
check-webkit-style should recognize *Internal.h and *Private.h as primary headers
<https://webkit.org/b/210979>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_classify_include): If a header has an "Internal.h" or a
"Private.h" suffix with the same base name as the source file,
consider it a primary header--the header that comes after
"config.h".
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_classify_include): Add tests.
2020-04-24 Alex Christensen <achristensen@webkit.org>
SPI clients using fastServerTrustEvaluationEnabled need SPI to inform them of modern TLS negotiation
https://bugs.webkit.org/show_bug.cgi?id=210533
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate waitForDidNegotiateModernTLS]):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLS:]):
(TestWebKitAPI::TEST):
2020-04-24 Brian Burg <bburg@apple.com>
webkitpy: update autoinstalled mozprocess dependency to 1.1.0 (adds python3 support)
https://bugs.webkit.org/show_bug.cgi?id=210220
<rdar://problem/58881483>
Reviewed by Anders Carlsson.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mozprocess):
2020-04-24 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] White-list more GStreamer environment variables in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=210854
<rdar://problem/62238305>
Reviewed by Carlos Alberto Lopez Perez.
Extra variables need to be white-listed when the webkitpy tooling
runs inside a gst-build environment, those variables are needed so
that uninstalled GStreamer plugins are correctly picked up.
Additionally we now correctly white-list the
WEBKIT_GST_USE_PLAYBIN3 env var. USE_PLAYBIN3 shouldn't be used
anymore.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
stress/ensure-crash.js shouldn't spew stuff onto my screen
https://bugs.webkit.org/show_bug.cgi?id=210931
Reviewed by Ross Kirsling.
Set noisyOutputHandler when crash! is specified. We also specify noisyOutputHandler for runComplexTest.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
Disable useKernTCSM=false for JSC stress tests to make EWS faster
https://bugs.webkit.org/show_bug.cgi?id=210950
Reviewed by Mark Lam.
This patch removes "JSC_useKernTCSM=false" environment variable in JSC stress tests.
Alexey found that this causes EWS JSC stress tests slow down (from roughly 63 mins to 83 mins).
This slow down happens in Mac Pro (which is used in JSC EWS right now), and this slow down does
not happen in Mac mini (post-commit buildbot) and rather improves Mac Mini execution time by 15%,
but keeping EWS faster is more important than making post-commit bots faster.
* Scripts/run-javascriptcore-tests:
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
Support `--report-execution-time` to report execution time for each JSC stress test
https://bugs.webkit.org/show_bug.cgi?id=210938
Reviewed by Saam Barati.
We can run `run-javascriptcore-tests` with `--report-execution-time` option to report execution time for each JSC stress test,
to figure out which test is taking a long time. It appends execution-time to the verbose log. To see it stderr, --verbose is also
required.
$ run-javascriptcore-tests .... --verbose --report-execution-time
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2020-04-23 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation does not account for text in fully clipped containers
https://bugs.webkit.org/show_bug.cgi?id=210940
<rdar://problem/61137648>
Reviewed by Tim Horton.
Add a new text manipulation API test.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Jer Noble <jer.noble@apple.com>
REGRESSION (r260278): TestWebKitAPI.Fullscreen.Delegate is timing out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=210676
<rdar://problem/61953702>
Reviewed by Daniel Bates.
A number of API tests modify the WKWebViewConfiguration after calling -[WKWebView initWithFrame:configuration:], which
could be a source of failures or flakiness. Update these tests to set those configuration values before passing the
configuration to WKWebView.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TopContentInset.mm:
(TestWebKitAPI::TEST):
2020-04-23 Saam Barati <sbarati@apple.com>
DumpRenderTree should have the JIT entitlement on Mac
https://bugs.webkit.org/show_bug.cgi?id=210887
<rdar://problem/62228740>
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.entitlements: Added.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2020-04-23 Kate Cheney <katherine_cheney@apple.com>
All ITP database tables should reference the ObservedDomains table on DELETE CASCADE
https://bugs.webkit.org/show_bug.cgi?id=210874
<rdar://problem/62209438>
Reviewed by Brady Eidson.
Adds a new database file with pre-entered values and the old schema.
Adds an API test which checks if the data was migrated after
initializing the ITP database.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db-wal: Added.
2020-04-23 Don Olmstead <don.olmstead@sony.com>
[CMake] CMAKE_BINARY_DIR should always be a PRIVATE include directory
https://bugs.webkit.org/show_bug.cgi?id=196717
Reviewed by Michael Catanzaro.
Include CMAKE_BINARY_DIR.
* MiniBrowser/gtk/CMakeLists.txt:
* TestWebKitAPI/glib/CMakeLists.txt:
2020-04-23 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r260552.
Broke internal builds.
Reverted changeset:
"DumpRenderTree should have the JIT entitlement on Mac"
https://bugs.webkit.org/show_bug.cgi?id=210887
https://trac.webkit.org/changeset/260552
2020-04-23 Wenson Hsieh <wenson_hsieh@apple.com>
Add a heuristic for text manipulation to treat some list items as paragraph boundaries
https://bugs.webkit.org/show_bug.cgi?id=210915
<rdar://problem/61907080>
Reviewed by Megan Gardner.
Add a new API test to exercise text manipulation over several different cases of lists and list items.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260562.
https://bugs.webkit.org/show_bug.cgi?id=210924
It caused 3 new failures and 1 timeout in GTK API tests
(Requested by clopez on #webkit).
Reverted changeset:
"[GTK][WPE] White-list more GStreamer environment variables in
webkitpy"
https://bugs.webkit.org/show_bug.cgi?id=210854
https://trac.webkit.org/changeset/260562
2020-04-23 Sihui Liu <sihui_liu@apple.com>
TextManipulationController should set range of paragraph using token's positions
https://bugs.webkit.org/show_bug.cgi?id=210866
<rdar://problem/60646283>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Emilio Cobos Álvarez <emilio@crisal.io>
Unreviewed, add my bugzilla / slack nick to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2020-04-23 Philippe Normand <pnormand@igalia.com>
[JHBuild] Add mock release/debug options to the update script
Rubber-stamped by Carlos Alberto Lopez Perez.
These options are now required after r260560. They're not used
though because JHBuild itself doesn't have the notion of build
configuration, unlike the Flatpak SDK.
* Scripts/update-webkit-libs-jhbuild:
2020-04-23 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] White-list more GStreamer environment variables in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=210854
Reviewed by Adrian Perez de Castro.
Extra variables need to be white-listed when the webkitpy tooling
runs inside a gst-build environment, those variables are needed so
that uninstalled GStreamer plugins are correctly picked up.
Additionally we now correctly white-list the
WEBKIT_GST_USE_PLAYBIN3 env var. USE_PLAYBIN3 shouldn't be used
anymore.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-23 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Install dependencies step needs configuration as argument
https://bugs.webkit.org/show_bug.cgi?id=210898
Reviewed by Philippe Normand.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(InstallGtkDependencies): Pass 'configuration' value (Release, Debug).
(InstallWpeDependencies): Pass 'configuration' value (Release, Debug).
2020-04-22 Darin Adler <darin@apple.com>
[Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK
https://bugs.webkit.org/show_bug.cgi?id=210845
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST): Get rid of an obsolete cast to unsigned to work
around uint16_t not being treated as a number by makeString.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp:
Add an include needed since EvironmentUtilities.h now includes less.
2020-04-22 Saam Barati <sbarati@apple.com>
DumpRenderTree should have the JIT entitlement on Mac
https://bugs.webkit.org/show_bug.cgi?id=210887
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/BaseTarget.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.entitlements: Added.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2020-04-22 Chris Dumez <cdumez@apple.com>
[iOS] Expose -_webView:willGoToBackForwardListItem:inPageCache:
https://bugs.webkit.org/show_bug.cgi?id=210878
<rdar://problem/62202276>
Reviewed by Alex Christensen.
Enable corresponding API test on iOS.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2020-04-22 Daniel Bates <dabates@apple.com>
Add a test for -focusTextInputContext on a field in detached frame
https://bugs.webkit.org/show_bug.cgi?id=210704
Reviewed by Wenson Hsieh.
Calling -focusTextInputContext on a field in a detached frame should not
cause a focus change. Add a test to ensure this behavior doesn't regress.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-22 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=210132
Reviewed by Adrian Perez de Castro.
Modify CMake code to use WEBKIT_EXECUTABLE when creating WebKitTestRunner.
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformFTW.cmake:
* WebKitTestRunner/PlatformGTK.cmake:
* WebKitTestRunner/PlatformWPE.cmake:
* WebKitTestRunner/PlatformWin.cmake:
2020-04-22 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebCoreTestSupport target
https://bugs.webkit.org/show_bug.cgi?id=210867
Reviewed by Michael Catanzaro.
Use the WebKit::WebCoreTestSupport target in DumpRenderTree. Fix an
include for WPE in WebKitTestRunner.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/PlatformWin.cmake:
* WebKitTestRunner/PlatformWPE.cmake:
2020-04-22 Sihui Liu <sihui_liu@apple.com>
TextManipulation.CompleteTextManipulationAvoidCrashingWhenContentIsRemoved does not wait for result
https://bugs.webkit.org/show_bug.cgi?id=210871
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-22 Alex Christensen <achristensen@webkit.org>
Add unit test for resuming downloads
https://bugs.webkit.org/show_bug.cgi?id=210852
Reviewed by Brady Eidson.
This is a test that we should've written years ago.
I made HTTPServer able to take a Function that takes a nw_connection_t to give it more power than declarative request/response pairs.
I made TestDownloadDelegate to be reused by future tests, like those I'm going to add for bug 210313.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(longString):
(TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPServer::totalRequests const): Deleted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::RequestData::RequestData):
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::startListening):
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::HTTPServer::totalRequests const):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::nullTerminatedRequest):
(TestWebKitAPI::HTTPServer::respondToRequests):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h: Added.
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm: Added.
(-[TestDownloadDelegate _downloadDidStart:]):
(-[TestDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[TestDownloadDelegate _download:didReceiveResponse:]):
(-[TestDownloadDelegate _download:didReceiveData:]):
(-[TestDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[TestDownloadDelegate _downloadDidFinish:]):
(-[TestDownloadDelegate _download:didFailWithError:]):
(-[TestDownloadDelegate _downloadDidCancel:]):
(-[TestDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestDownloadDelegate _download:didCreateDestination:]):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
2020-04-22 Saam Barati <sbarati@apple.com>
makeValueRefForValue should be robust against the type encoding of a NSNumber backed by a boolean
https://bugs.webkit.org/show_bug.cgi?id=210821
<rdar://problem/62136598>
Reviewed by Tim Horton.
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(makeValueRefForValue):
2020-04-21 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r260410.
Caused crashes in Safari
Reverted changeset:
"SPI clients using fastServerTrustEvaluationEnabled need SPI
to inform them of modern TLS negotiation"
https://bugs.webkit.org/show_bug.cgi?id=210533
https://trac.webkit.org/changeset/260410
2020-04-21 Cathie Chen <cathiechen@igalia.com>
REGRESSION (r254790): No longer get smooth scrolling on music.apple.com
https://bugs.webkit.org/show_bug.cgi?id=210634
Reviewed by Darin Adler.
Add settings-flag. Add support for CSSOMViewSmoothScrolling on Windows DumpRenderTree.
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
2020-04-21 Peng Liu <peng.liu6@apple.com>
Fix MACCATALYST build failures
https://bugs.webkit.org/show_bug.cgi?id=210815
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-04-19 Darin Adler <darin@apple.com>
[Cocoa] Use createNSArray in many more places that build NSArray objects from C++ collections
https://bugs.webkit.org/show_bug.cgi?id=210702
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(activateTestingFonts): Use constexpr and NSString instead of a null-pointer terminated
array for the font names. Use createNSArray.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Use createNSArray.
* Scripts/webkitpy/style/checkers/cpp.py:
(find_parameter_name_index): Fixed a spelling error.
(_check_parameter_name_against_text): Added a special case to not complain that
parameters named "]" have redundant names. Not obvious to me how to write a test case for
this and how to fix this in a more sensible way, but immediately helpful to not get this
spurious warning.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::activateSystemCoreWebFonts): Use constexpr array instead of NSArray for font names.
(WTR::activateFonts): Use constexpr and NSString instead of a null-pointer terminated
array for the font names. Use createNSArray.
2020-04-21 Matt Lewis <jlewis3@apple.com>
Bindings-test should not depend on current working directory.
https://bugs.webkit.org/show_bug.cgi?id=210831
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.main):
2020-04-21 Daniel Bates <dabates@apple.com>
Attempt to fix the build after r260449
(https://bugs.webkit.org/show_bug.cgi?id=210697)
Wrap the C++ methods in namespace TestWebKitAPI so that IPhoneUserInterfaceSwizzler can be
used unqualified.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
2020-04-21 Darin Adler <darin@apple.com>
WTF API test for StringConcatenate failing for internal Apple builds
https://bugs.webkit.org/show_bug.cgi?id=210812
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST): Add back a case for when UChar is uint16_t.
2020-04-21 Kate Cheney <katherine_cheney@apple.com>
Move WebKit.WebViewCategory test to InAppBrowserPrivacy.mm
https://bugs.webkit.org/show_bug.cgi?id=210811
<rdar://problem/60972505>
Reviewed by Alexey Proskuryakov.
This test was added before InAppBrowserPrivacy.mm existed. It should
be moved here so it has access to all setup/cleanup needed by these
tests.
* TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2020-04-21 Daniel Bates <dabates@apple.com>
[iOS] -_didFinishTextInteractionInTextInputContext should only zoom to reveal focused element if it changed
https://bugs.webkit.org/show_bug.cgi?id=210697
<rdar://problem/60997530>
Reviewed by Wenson Hsieh.
I use the term "assisted" below and in the tests to describe an element that is both DOM
focused and the UI process is showing an input view (like the software keyboard) for it.
For many of the tests I check for a zoom scale change as a way to detect if the page
zoomed to reveal the focused element.
Add some tests for the following cases:
1. Place the caret in a focused field that isn't being assisted.
2. Focusing an assisted element should not scroll the page.
3. Focusing an offscreen read-only element should not change zoom scale.
4. Focusing an offscreen element should change the zoom scale.
5. Calling -_focusTextInputContext on an offscreen element multiple times
during a text interaction should change the zoom scale. The purpose of this test is
to ensure that later calls that do not focus the element (because it is already focused)
don't prevent zooming for the first call that did focus the element.
6. Focusing an offscreen element, defocusing it, disabling it, and focusing it
again during a text interaction should not change zoom scale.
7. Focusing an offscreen element, defocusing it, and focusing it again during a
text interaction should change zoom scale.
8. Focusing an assisted element during a text interaction should not change zoom scale.
9. Focusing a non-assisted focused element during a text interaction should change zoom scale.
While I am here, I consolidated the RAII helper classes IPhoneUserInterfaceSwizzler and
IPadUserInterfaceSwizzler into a single UserInterfaceSwizzler templated class and defined
the former two as template instances.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TextInteractionForScope::TextInteractionForScope):
(TextInteractionForScope::~TextInteractionForScope):
Added convenience RAII object to call -_willBeginTextInteractionInTextInputContext
and -_didFinishTextInteractionInTextInputContext.
(TEST): Added.
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h: Removed.
* TestWebKitAPI/ios/PreferredContentMode.mm:
(IPhoneUserInterfaceSwizzler::IPhoneUserInterfaceSwizzler): Deleted; movedinto UserInterfaceSwizzler.h.
(IPhoneUserInterfaceSwizzler::phoneUserInterfaceIdiom): Deleted; no longer needed.
* TestWebKitAPI/ios/UserInterfaceSwizzler.h: Renamed from Tools/TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h.
(TestWebKitAPI::UserInterfaceSwizzler::UserInterfaceSwizzler): Formerly named IPadUserInterfaceSwizzler;
repurposed into general purpose template class, consolidating code from PreferredContentMode.mm.
Privately inherits from InstanceMethodSwizzler instead of using composition as that simplifies
the source code a tiny bit.
(TestWebKitAPI::UserInterfaceSwizzler::effectiveUserInterfaceIdiom): Renamed; formerly padUserInterfaceIdiom.
2020-04-21 Timothy Hatcher <timothy@apple.com>
Reset m_userScriptsNotified when web process crashes.
https://bugs.webkit.org/show_bug.cgi?id=210807
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST): Test crashing the web process and reloading.
2020-04-21 Aakash Jain <aakash_jain@apple.com>
[ews] Display error message when submit for EWS analysis button doesn't work
https://bugs.webkit.org/show_bug.cgi?id=210803
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/submittoews.py:
(SubmitToEWS.post): Display relevant error message on submit for EWS analysis button failure.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
(BugzillaPatchFetcher.send_patches_to_buildbot):
* BuildSlaveSupport/ews-app/ews/config.py: Add few more error codes.
2020-04-21 Lauro Moura <lmoura@igalia.com>
[GStreamer][JHBuild] Update to 1.16.2
https://bugs.webkit.org/show_bug.cgi?id=210730
Reviewed by Philippe Normand.
Moving the bots closer to the flatpak SDK versions.
* gstreamer/jhbuild.modules:
* gstreamer/patches/base-0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch: Removed.
2020-04-21 Alexey Proskuryakov <ap@apple.com>
Correct the path to libclang_rt.asan_iossim_dynamic.dylib in LC_RPATH
https://bugs.webkit.org/show_bug.cgi?id=210770
rdar://problem/61904541
Reviewed by Alex Christensen.
* asan/asan.xcconfig:
2020-04-21 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Keep env variable 'RESULTS_SERVER_API_KEY'
https://bugs.webkit.org/show_bug.cgi?id=210798
Reviewed by Philippe Normand.
The variable is needed by several bot steps to upload results.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK][CMake] Make gtk-unix-print a component of FindGTK.cmake
https://bugs.webkit.org/show_bug.cgi?id=210792
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/glib/PlatformGTK.cmake: Use the GTK::UnixPrint imported target.
2020-04-21 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Silence git stderr output
https://bugs.webkit.org/show_bug.cgi?id=210789
Reviewed by Sergio Villar Senin.
* flatpak/flatpakutils.py:
(WebkitFlatpak.is_branch_build): Don't display git errors, usually
emitted when operating on a SVN checkout.
2020-04-21 Philippe Normand <pnormand@igalia.com>
[CMake][Flatpak SDK] gst-build-backed build fails
https://bugs.webkit.org/show_bug.cgi?id=210742
Reviewed by Xabier Rodriguez-Calvar.
Add non-core GStreamer include-dirs necessary for the compilation
of the GStreamer API test. Usually GSTREAMER_INCLUDE_DIRS is
sufficient because on a GStreamer system-wide installation, all
headers are stored in the same root include dir, the same as the
core GStreamer library.
But when building with gst-build, include-dirs are scattered all
over the place.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
2020-04-20 Ross Kirsling <ross.kirsling@sony.com>
Classes marked final should not use protected access specifier
https://bugs.webkit.org/show_bug.cgi?id=210775
Reviewed by Daniel Bates.
* DumpRenderTree/win/DefaultPolicyDelegate.h:
* DumpRenderTree/win/UIDelegate.h:
2020-04-20 Peng Liu <peng.liu6@apple.com>
Fix build failures when video fullscreen and picture-in-picture is disabled
https://bugs.webkit.org/show_bug.cgi?id=210777
Reviewed by Eric Carlson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-04-20 Alex Christensen <achristensen@webkit.org>
SPI clients using fastServerTrustEvaluationEnabled need SPI to inform them of modern TLS negotiation
https://bugs.webkit.org/show_bug.cgi?id=210533
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate waitForDidNegotiateModernTLS]):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLS:]):
(TestWebKitAPI::TEST):
2020-04-20 Kate Cheney <katherine_cheney@apple.com>
App-bound domain behavior should abide by the limitsNavigationsToAppBoundDomains argument in WKWebView configuration
https://bugs.webkit.org/show_bug.cgi?id=210769
<rdar://problem/62065241>
Reviewed by Brent Fulgham.
Removes any tests for swapping between app-bound and non app-bound
domains as this behavior is no longer supported.
Sets the limitsNavigationsToAppBoundDomains flag for tests which should
have app-bound behavior to maintain test functionality.
Adds 5 new tests for new behavior.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
(-[AppBoundDomainDelegate webView:didFinishNavigation:]):
(-[AppBoundDomainDelegate webView:didFailProvisionalNavigation:withError:]):
(-[AppBoundDomainDelegate waitForDidFinishNavigation]):
(-[AppBoundDomainDelegate waitForDidFailProvisionalNavigationError]):
2020-04-20 Megan Gardner <megan_gardner@apple.com>
Date and Time form controls not showing correct initial values on immediate second invocation.
https://bugs.webkit.org/show_bug.cgi?id=210613
Reviewed by Wenson Hsieh.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::timePickerValueHour const):
(WTR::UIScriptController::timePickerValueMinute const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::timePickerValueHour const):
(WTR::UIScriptControllerIOS::timePickerValueMinute const):
2020-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation sometimes fails to replace text in title elements
https://bugs.webkit.org/show_bug.cgi?id=210750
<rdar://problem/61066103>
Reviewed by Tim Horton and Darin Adler.
Add a new API test to verify that a single title or option element may be replaced with multiple tokens, as long
as all the token identifiers match.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-20 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Fix build after r260277
https://bugs.webkit.org/show_bug.cgi?id=210756
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformPlayStation.cmake:
2020-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
Oversized caret and selection rects in text fields on ganji.com and netflix.com/login
https://bugs.webkit.org/show_bug.cgi?id=210622
<rdar://problem/45945636>
Reviewed by Darin Adler.
Rebaseline some expected selection and caret rects in some iOS API tests.
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
(TEST):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
2020-04-20 Darin Adler <darin@apple.com>
Use #import instead of #include in Objective-C and don't use #pragma once
https://bugs.webkit.org/show_bug.cgi?id=210724
Reviewed by David Kilzer.
* DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
* DumpRenderTree/ios/DumpRenderTreeAppMain.mm:
* DumpRenderTree/mac/AccessibilityCommonMac.h:
* DumpRenderTree/mac/DumpRenderTreeMain.mm:
* TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
* TestRunnerShared/cocoa/InstanceMethodSwizzler.mm:
* TestRunnerShared/cocoa/LayoutTestSpellChecker.h:
* TestRunnerShared/mac/NSPasteboardAdditions.h:
* TestRunnerShared/spi/AppKitTestSPI.h:
* TestRunnerShared/spi/PencilKitTestSPI.h:
* TestWebKitAPI/DataDetectorsCoreSPI.h:
* TestWebKitAPI/EditingTestHarness.h:
* TestWebKitAPI/EditingTestHarness.mm:
* TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
* TestWebKitAPI/Tests/WebCore/LineBreaking.mm:
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm:
* TestWebKitAPI/Tests/WebKit/AccessibilityRemoteUIApp.mm:
* TestWebKitAPI/Tests/WebKit/BacklightLevelNotification.mm:
* TestWebKitAPI/Tests/WebKit/Battery.mm:
* TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
* TestWebKitAPI/Tests/WebKit/FindMatches.mm:
* TestWebKitAPI/Tests/WebKit/GrantAccessToMobileAssets.mm:
* TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm:
* TestWebKitAPI/Tests/WebKit/LocalizedDeviceModel.mm:
* TestWebKitAPI/Tests/WebKit/MimeTypes.mm:
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
* TestWebKitAPI/Tests/WebKit/PasteboardNotifications.mm:
* TestWebKitAPI/Tests/WebKit/PictureInPictureSupport.mm:
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
* TestWebKitAPI/Tests/WebKit/ViewportSizeForViewportUnits.mm:
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
* TestWebKitAPI/Tests/WebKit/WebFilter.mm:
* TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.h:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter_Bundle.mm:
* TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CookieAcceptPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CustomUserAgent.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPageAPI.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FirstVisuallyNonEmptyMilestone.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileThenReload.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaType.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NoPauseWhenSwitchingTabs.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ObservedRenderingProgressEventsAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
* TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TabOutOfWebView.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.h:
* TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextWidth.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TopContentInset.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserInitiatedActionInNavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/DataDetectorsTestIOS.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:
* TestWebKitAPI/Tests/ios/SelectionByWord.mm:
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm:
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
* TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm:
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
* TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm:
* TestWebKitAPI/Tests/mac/BackForwardList.mm:
* TestWebKitAPI/Tests/mac/BackgroundColor.mm:
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
* TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm:
* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:
* TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm:
* TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm:
* TestWebKitAPI/Tests/mac/IsNavigationActionTrusted.mm:
* TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
* TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
* TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
* TestWebKitAPI/Tests/mac/SetDocumentURI.mm:
* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
* TestWebKitAPI/Tests/mac/SubresourceErrorCrash.mm:
* TestWebKitAPI/Tests/mac/TypingStyleCrash.mm:
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
* TestWebKitAPI/Tests/mac/WebScriptObjectDescription.mm:
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/NSItemProviderAdditions.h:
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
* TestWebKitAPI/cocoa/TestContextMenuDriver.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestProtocol.mm:
* TestWebKitAPI/cocoa/TestUIDelegate.h:
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
* TestWebKitAPI/ios/PencilKitTestSPI.h:
* TestWebKitAPI/mac/JavaScriptTestMac.mm:
* TestWebKitAPI/mac/NSFontPanelTesting.h:
* TestWebKitAPI/mac/NSFontPanelTesting.mm:
* TestWebKitAPI/mac/OffscreenWindow.h:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm:
* TestWebKitAPI/mac/TestDraggingInfo.h:
* TestWebKitAPI/mac/TestFilePromiseReceiver.h:
* TestWebKitAPI/mac/TestFontOptions.h:
* TestWebKitAPI/mac/TestInspectorBar.h:
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.h:
* WebKitTestRunner/mac/PoseAsClass.mm:
More #import, less #pragma once.
2020-04-20 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Prevent exception when calling git in a non-git repository
https://bugs.webkit.org/show_bug.cgi?id=210737
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.is_branch_build): Return false if command executes in a
non-git repository (i.e SVN).
2020-04-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=210557
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Properly format error message.
(WebkitFlatpak.main): Show flatpak update output.
2020-04-20 Sergio Villar Senin <svillar@igalia.com>
[WebXR][WPE] Let XR_RUNTIME_JSON environment variable go through for testing
https://bugs.webkit.org/show_bug.cgi?id=210738
Reviewed by Žan Doberšek.
The OpenXR loader might be instructed to load a specific runtime by
using the XR_RUNTIME_JSON environment variable. Let it get in for testing.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server): Copy XR_RUNTIME_JSON if set.
2020-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Enable resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=210184
Reviewed by Žan Doberšek.
Implement TestController::loadedThirdPartyDomains() and TestController::clearLoadedThirdPartyDomains() for
non-cocoa ports.
* WebKitTestRunner/TestController.cpp:
(WTR::LoadedThirdPartyDomainsCallbackContext::LoadedThirdPartyDomainsCallbackContext):
(WTR::loadedThirdPartyDomainsCallback):
(WTR::TestController::loadedThirdPartyDomains):
(WTR::TestController::clearLoadedThirdPartyDomains):
2020-04-20 David Kilzer <ddkilzer@apple.com>
check-webkit-style should not complain about missing config.h header in WebKitLegacy source files
<https://webkit.org/b/210734>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_NO_CONFIG_H_PATH_PATTERNS):
- Add '^Source/WebKitLegacy/' to the list.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_primary_header):
- Add test for Source/WebKitLegacy source file.
2020-04-19 Brady Eidson <beidson@apple.com>
Add WKScriptMessageHandler API that asynchronously responds with a promise.
rdar://problem/57243492 and https://bugs.webkit.org/show_bug.cgi?id=206398
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
2020-04-19 Ross Kirsling <ross.kirsling@sony.com>
[ECMA-402] Intl.RelativeTimeFormat missing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=209770
Reviewed by Darin Adler.
* Scripts/run-jsc-stress-tests:
Add runIntlRelativeTimeFormatEnabled.
2020-04-19 Don Olmstead <don.olmstead@sony.com>
[CMake] Consolidate TestNetscapePlugin build
https://bugs.webkit.org/show_bug.cgi?id=210691
Reviewed by Fujii Hironori.
The DumpRenderTree CMakeLists.txt contained a definition of TestNetscapePlugIn
which was used for WebKitLegacy ports. The TestNetscapePlugIn directory also had
a CMakeLists.txt used by GTK for its port. The definitions in DumpRenderTree's
CMake are moved into the TestNetscapePlugIn CMake to provide a common definition
for all ports that ENABLE_NETSCAPE_PLUGIN_API.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/PlatformWin.cmake:
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/PlatformGTK.cmake: Added.
* DumpRenderTree/TestNetscapePlugIn/PlatformWin.cmake: Added.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugIn.def: Renamed from Tools/DumpRenderTree/win/TestNetscapePlugin.def.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugIn.rc: Renamed from Tools/DumpRenderTree/win/TestNetscapePlugin.rc.
* DumpRenderTree/TestNetscapePlugIn/win/resource.h: Renamed from Tools/DumpRenderTree/win/resource.h.
2020-04-19 Emilio Cobos Álvarez <emilio@crisal.io>
Allow to override sccache server port.
https://bugs.webkit.org/show_bug.cgi?id=210722
Reviewed by Philippe Normand.
This is useful so that sccache can work both inside and outside the sandbox,
without getting confused about flatpak's chroot.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-19 Darin Adler <darin@apple.com>
REGRESSION (r260334): SpacebarScrolling.cpp (test in TestWebKitAPI) fails to compile because it includes an Objective-C header
https://bugs.webkit.org/show_bug.cgi?id=210723
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp: Instead of including
WKPreferencesPrivate.h, an Objective-C header, include WKPreferencesRefPrivate.h,
the header with the functions this test is trying to use.
2020-04-18 Darin Adler <darin@apple.com>
Update header postprocessing version cutoff to keep Apple internal builds working
https://bugs.webkit.org/show_bug.cgi?id=210708
Reviewed by Brady Eidson.
* DumpRenderTree/ios/TextInputControllerIOS.m:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* DumpRenderTree/mac/EditingDelegate.mm:
* DumpRenderTree/mac/EventSendingController.h:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/FrameLoadDelegate.mm:
* DumpRenderTree/mac/ObjCPlugin.m:
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
Removed includes of <WebKit/WebKit.h>, the header for modern WebKit, from the files
here that are intending to use WebKitLegacy. This is harmless, except for if someone
builds DumpRenderTree *before* building WebKit as I just did.
2020-04-18 Brady Eidson <beidson@apple.com>
Fix WebUserContentControllerProxy vs ContentWorld lifetime
https://bugs.webkit.org/show_bug.cgi?id=210700
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(-[DummyMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST): Make sure removing a script message handler from a particular world
doesn't also destroy the other JavaScript contents of that world.
2020-04-18 Daniel Bates <dabates@apple.com>
Add some more tests for -focusTextInputContext:placeCaretAt:completionHandler:
https://bugs.webkit.org/show_bug.cgi?id=210624
Reviewed by Simon Fraser.
Test behavior when the target element is already focused, when the target element
is programmatically replaced, and focusing the target element after the page was
navigated away.
Also while I am here, fix up the test FocusFieldAndPlaceCaretOutsideField to
use the size of the exampleText constant - 1 instead of hardcoding this value.
This will future proof this test should the example text string literal change.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-18 Alex Christensen <achristensen@webkit.org>
Fix client certificate authentication when using non-default WKWebsiteDataStores
https://bugs.webkit.org/show_bug.cgi?id=210681
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::TEST):
2020-04-17 Kate Cheney <katherine_cheney@apple.com>
Enable service workers for app-bound domains
https://bugs.webkit.org/show_bug.cgi?id=210451
<rdar://problem/61479474>
Reviewed by Brent Fulgham.
Adds 2 test cases to make sure service workers behave properly on
app bound domains, and that the APIs are not available on non-app
bound domains.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[SWInAppBrowserPrivacyMessageHandler userContentController:didReceiveScriptMessage:]):
2020-04-17 Alex Christensen <achristensen@webkit.org>
NetworkSessionCocoa should request client certificate only once per host/port
https://bugs.webkit.org/show_bug.cgi?id=210626
<rdar://problem/60340449>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::clientCertServerWithCertVerifier):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
2020-04-17 David Kilzer <ddkilzer@apple.com>
Bug 210645: REGRESSION (r211095): [iOS] TestRunnerWKWebView leaks @property accessibilitySpeakSelectionContent
<https://webkit.org/b/210645>
<rdar://problem/61927607>
Reviewed by Chris Fleizach.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
- Release accessibilitySpeakSelectionContent in -dealloc.
2020-04-17 Brady Eidson <beidson@apple.com>
Pass sandbox extensions for back/forward list navigations after the policy is decided at process-swap time.
<rdar://problem/59535167> and https://bugs.webkit.org/show_bug.cgi?id=210623
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2020-04-17 Brent Fulgham <bfulgham@apple.com>
Unreviewed build fix after r260269.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST): Correct argument order.
2020-04-17 Jer Noble <jer.noble@apple.com>
Bring Fullscreen API + alert() behavior from iOS to macOS
https://bugs.webkit.org/show_bug.cgi?id=210662
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm: Added.
(TestWebKitAPI::TEST):
2020-04-17 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebCore target
https://bugs.webkit.org/show_bug.cgi?id=210445
Reviewed by Michael Catanzaro.
Use the WebKit::WebCore target within tests and developer tools.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* MiniBrowser/wpe/CMakeLists.txt:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/glib/CMakeLists.txt:
2020-04-17 Antoine Quint <graouts@apple.com>
Stop including style rules related to media controls in the UA style sheet when Modern Media Controls are enabled
https://bugs.webkit.org/show_bug.cgi?id=210606
Unreviewed build fix after r260261.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-04-17 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Update for GdkKeymap API changes
https://bugs.webkit.org/show_bug.cgi?id=210642
Reviewed by Adrian Perez de Castro.
No new tests needed.
gdk_keymap_get_default() is deprecated in GTK+ 3.22, so use
gdk_keymap_get_for_display() instead. Since in GTK4 this method is
removed to gdk_display_get_keymap(), add a helper to
GtkVersioning.h to avoid cluttering with ifdefs all over the
place.
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::keyStroke):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::doKeyStroke):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
2020-04-17 Antoine Quint <graouts@apple.com>
Allow the UserStyleLevel to be set through _WKUserStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=210653
<rdar://problem/60506645>
Reviewed by Tim Horton.
Add new tests for the "level" parameter when creating a _WKUserStyleSheet.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
2020-04-17 David Kilzer <ddkilzer@apple.com>
REGRESSION (r162729): [iOS] WebKitTestRunner over-releases UITextField in WTR::PlatformWebView::removeChromeInputField()
<https://webkit.org/b/210643>
<rdar://problem/61927190>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::removeChromeInputField):
- Remove unnecessary -release.
2020-04-17 Per Arne Vollan <pvollan@apple.com>
[iOS] Deny iokit open access to graphics related classes
https://bugs.webkit.org/show_bug.cgi?id=210616
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm: Added.
(TEST):
2020-04-17 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Not fully hooked in BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=210548
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitdirs.pm:
(determineBaseProductDir): Flatpak SDK builds use a dedicated product directory per port.
2020-04-16 Lauro Moura <lmoura@igalia.com>
[GTK] A couple of API tests are flaky failing on X11.
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2020-04-16 Daniel Bates <dabates@apple.com>
Remove unused -_focusTextInputContext
https://bugs.webkit.org/show_bug.cgi?id=210619
Reviewed by Darin Adler.
Remove test now that the SPI was removed.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TestWKWebView synchronouslyFocusTextInputContext:]): Deleted.
2020-04-16 Yusuke Suzuki <ysuzuki@apple.com>
Add slack-aware WKR implementation
https://bugs.webkit.org/show_bug.cgi?id=210425
Reviewed by Alexey Proskuryakov.
This patch adds new WKR implementation, which is posting changes to #changes in WebKit slack.
Currently, we are polling git.webkit.org's feed once a minute. The more efficient way to implement
this bot is introducing post-commit hook, but for now, this polling strategy just works.
* WKR/.gitignore: Added.
* WKR/ReadMe.md: Added.
* WKR/WKR.mjs: Added.
* WKR/data/.gitignore: Added.
* WKR/package-lock.json: Added.
* WKR/package.json: Added.
2020-04-16 Daniel Bates <dabates@apple.com>
[iOS] Add a way to focus a text input and place a caret
https://bugs.webkit.org/show_bug.cgi?id=210611
<rdar://problem/61893062>
Reviewed by Darin Adler.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TestWKWebView synchronouslyFocusTextInputContext:placeCaretAt:]): Added.
(webViewLoadHTMLStringAndWaitForAllFramesToPaint): Use the bundle's TestWebKitAPI.resources directory
as the base URL so that we have a valid file URL. Some of the tests will then
call -_setAllowUniversalAccessFromFileURLs to allow the main frame access to
the unique-origin child frame contents.
(TEST):
2020-04-16 Daniel Bates <dabates@apple.com>
REGRESSION (r259762): Should always hit test for editable elements if the WKWebView is fully editable
https://bugs.webkit.org/show_bug.cgi?id=210558
<rdar://problem/61798347>
Reviewed by Wenson Hsieh.
Add a test.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-16 Daniel Bates <dabates@apple.com>
Move -_requestTextInputContextsInRect to WKContentView to simplify implementation
https://bugs.webkit.org/show_bug.cgi?id=210398
<rdar://problem/61656931>
Reviewed by Darin Adler.
Update test now that -_requestTextInputContextsInRect has moved from WKWebView to WKContentView.
I expose new testing-only WKWebView SPI to access it on the content view.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[TestWKWebView synchronouslyRequestDocumentContext:]): Added; due to category name change.
(-[TestWKWebView synchronouslyAdjustSelectionWithDelta:]): Added; due to category name change.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[WKWebView synchronouslyRequestTextInputContextsInRect:]): Deleted; due to category name change.
(-[WKWebView synchronouslyFocusTextInputContext:]): Deleted; due to category name change.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::mayContainEditableElementsInRect): Convert from content coordinates
to WKWebView coordinates now that -_mayContainEditableElementsInRect expects it.
2020-04-16 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK clean build fix after r260132.
* TestWebKitAPI/gtk/main.cpp:
(main): Don't use GtkVersioning here. A dependency on the WebCore
private headers for this single file is overkill.
2020-04-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] MiniBrowser opens new windows too small causing failures on some WPT tests
https://bugs.webkit.org/show_bug.cgi?id=210206
Reviewed by Carlos Garcia Campos.
Add two API test to check that window.open() by default gets a size
request equal to the old window if there is no default window size,
or to the default window if there is a default window size.
A new function helper setCreateNewWebViewsInWindowsWithDefaultSize()
its added to create new webviews in new windows automatically, which
its needed to test the case of having a default window size.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewWindowProperties):
(testWebViewOpenWindowDefaultSize):
(testWebViewOpenWindowNoDefaultSize):
(beforeAll):
2020-04-15 Tim Horton <timothy_horton@apple.com>
REGRESSION (r258337): Crash when right clicking on link that uses the system UI font with optimizeLegibility on Mojave
https://bugs.webkit.org/show_bug.cgi?id=210575
<rdar://problem/61646717>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
(TEST):
Add an API test ensuring that we can encode and decode a NSAttributedString
that includes a system-ui font with optimizeLegibility on.
2020-04-15 John Wilander <wilander@apple.com>
Add SPI to configure WebsiteDataStores with a URL for standalone web applications and use it to disable first-party website data removal in ITP
https://bugs.webkit.org/show_bug.cgi?id=209634
<rdar://problem/60943970>
Reviewed by Alex Christensen.
Added a new test option called standaloneWebApplicationURL so that layout tests can
configure the website data store accordingly. Picking it up and using it requires
creating a new website data store with a configuration that has the standalone web
application URL.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
(WTR::TestController::defaultWebsiteDataStore):
(WTR::parseStringTestHeaderValueAsURL):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2020-04-15 Chris Dumez <cdumez@apple.com>
[IPC Hardening] MachMessage::messageSize() should use checked arithmetic
https://bugs.webkit.org/show_bug.cgi?id=210567
<rdar://problem/61734355>
Reviewed by Geoff Garen.
Add API test coverage for / operator in Checked.
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::TEST):
2020-04-15 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Remove generic parameter serialization fallback
https://bugs.webkit.org/show_bug.cgi?id=210509
<rdar://problem/55522650>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm:
(WKWebProcessPlugInWithoutRegisteredCustomClass): Update to reflect
fact that we block serialization of unregistered classes.
2020-04-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Fix use of gtk init functions
https://bugs.webkit.org/show_bug.cgi?id=210550
Reviewed by Adrian Perez de Castro.
Include GtkVersioning.h instead of gtk.h.
* TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
* TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp:
* TestWebKitAPI/gtk/main.cpp:
* WebKitTestRunner/gtk/main.cpp:
2020-04-15 Jonathan Bedard <jbedard@apple.com>
REGRESSION: [ Mojave+ Debug WK1 ] Layout Test imported/blink/storage/indexeddb/blob-basics-metadata.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=199117
<rdar://problem/52967035>
Reviewed by Alexey Proskuryakov.
* Scripts/run-javascriptcore-tests: Set JSC_useKernTCSM to false.
* Scripts/webkitpy/port/base.py:
(Port.setup_environ_for_server): Forward JSC_useKernTCSM.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): Set JSC_useKernTCSM to false.
2020-04-15 Devin Rousso <drousso@apple.com>
[ESNext] Implement logical assignment operators
https://bugs.webkit.org/show_bug.cgi?id=209716
Reviewed by Ross Kirsling.
* Scripts/run-jsc-stress-tests:
2020-04-14 Jer Noble <jer.noble@apple.com>
WKTR always enables capturing audio/video in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=210319
Reviewed by Tim Horton.
Capturing in the GPUProcess should be off by default. GPU capture can be enabled at runtime via
the --internal-feature flag of run-webkit-tests.
* WebKitTestRunner/TestOptions.h:
2020-04-14 Peng Liu <peng.liu6@apple.com>
Adopt interface AVAudioRoutingArbiter for Mac
https://bugs.webkit.org/show_bug.cgi?id=210167
Reviewed by Eric Carlson.
Add test for softlink of AVAudioRoutingArbiter.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2020-04-14 Per Arne Vollan <pvollan@apple.com>
[iOS] Content filtering needs access to the frontboard service
https://bugs.webkit.org/show_bug.cgi?id=210505
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WebFilter.mm: Added.
(isManagedSessionMethodOverride):
(TEST):
2020-04-14 Andres Gonzalez <andresg_22@apple.com>
Make WTR::AccessibilityUIElements calls to accessibilitySetValue run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210500
Reviewed by Chris Fleizach.
Needed to test accessibility isolated tree mode. Follow up to
https://bugs.webkit.org/show_bug.cgi?id=210392.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setBoolAttributeValue):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::descriptionOfElements):
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::uiElementAttributeValue const):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::setBoolAttributeValue):
(WTR::AccessibilityUIElement::setValue):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::setSelectedChild const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):
2020-04-14 Brent Fulgham <bfulgham@apple.com>
InjectedBundle parameters often need initialization function called before unarchiving
https://bugs.webkit.org/show_bug.cgi?id=189709
<rdar://problem/44573653>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm:
(-[WebProcessPlugIn additionalClassesForParameterCoder]): Added.
2020-04-14 Sergio Villar Senin <svillar@igalia.com>
[Flatpak] Make run-webkit-tests obey WEBKIT_JHBUILD
https://bugs.webkit.org/show_bug.cgi?id=210497
Reviewed by Philippe Normand.
run-webkit-tests in linux uses the flatpak SDK if the flatpak
directories are found in the build directory. However it might the the case
that a developer wants to run them using the jhbuild SDK which can be
configured in parallel. We have the WEBKIT_JHBUILD environment variable to
force other scripts to use jhbuild instead of flatpak so we can use it as well
for this use case.
* flatpak/flatpakutils.py:
(run_in_sandbox_if_available):
2020-04-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bring back support for rendering scrollbars using the system appearance
https://bugs.webkit.org/show_bug.cgi?id=209805
Reviewed by Michael Catanzaro.
Do not use system appearance for scrollbars in MiniBrowser and unit tests.
* MiniBrowser/gtk/main.c:
(main):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2020-04-13 Devin Rousso <drousso@apple.com>
REGRESSION (r259900) : Speedometer failing on Catalina-Release-WK2-Perf bot
https://bugs.webkit.org/show_bug.cgi?id=210442
<rdar://problem/61727169>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
2020-04-13 David Kilzer <ddkilzer@apple.com>
check-webkit-style should warn about attributes that appear after function definitions
<https://webkit.org/b/210459>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_FunctionState.attributes_after_definition): Add.
- Return list of attributes that appear after a function
definition.
(check_function_definition):
- Add new check for attributes that appear after a function
definition.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_decode_functions_missing_warn_unused_return):
- Update test to fix new warning.
(CppStyleTest.test_function_readability_for_attributes): Add.
- Add tests.
2020-04-13 Kate Cheney <katherine_cheney@apple.com>
http/tests/in-app-browser-privacy/app-bound-domain.html is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=210344
<rdar://problem/61583925>
Reviewed by Brent Fulgham.
This patch creates a new TestOption parameter for enabling In-App
Browser Privacy because its NSUserDefaults key is not set using the
internal or experimental keywords. It enables this flag for
WebKitTestRunner if the option is set (and disables it otherwise).
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2020-04-13 Per Arne Vollan <pvollan@apple.com>
[iOS] Remove unused UTType swizzler code
https://bugs.webkit.org/show_bug.cgi?id=210435
Unreviewed rollout of r258120.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/UTIFromTag.mm: Removed.
2020-04-13 Andres Gonzalez <andresg_22@apple.com>
Make WTR::AccessibilityUIElement methods run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210392
Reviewed by Chris Fleizach.
In order to test accessibility isolated tree mode, it is necessary to
run WTR::AccessibilityUIElement methods on the AX secondary thread. This
change uses the functionality built-in AccessibilityController to
dispatch the calls to WebAccessibilityObjectWrapper to the AX thread.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::descriptionOfValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getUIElementsWithAttribute const):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::elementForAttribute const):
(WTR::AccessibilityUIElement::elementForAttributeAtIndex const):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
2020-04-13 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] test262-runner fails to run with WEBKIT_JHBUILD enabled
https://bugs.webkit.org/show_bug.cgi?id=210430
Make sure we check the WEBKIT_JHBUILD env var directly to avoid
requiring webkitdirs early and messing up Runner.pm compilation.
Reviewed by Philippe Normand.
* Scripts/test262-runner:
2020-04-13 David Kilzer <ddkilzer@apple.com>
Add WARN_UNUSED_RETURN to decode methods in Source/WebKit
<https://webkit.org/b/210423>
<rdar://problem/61715582>
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_function_definition):
- Add check for platformDecode() methods.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Add tests for platformDecode() methods.
2020-04-13 Aakash Jain <aakash_jain@apple.com>
[ews] Improve handling of unexpected network issues while communicating with Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=210377
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup.authenticate):
2020-04-13 Aakash Jain <aakash_jain@apple.com>
ews status-bubble hover-over message include unhelpful message 'Crash collection has quiesced'
https://bugs.webkit.org/show_bug.cgi?id=210378
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2020-04-11 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail
https://bugs.webkit.org/show_bug.cgi?id=210394
<rdar://problem/60099560>
Reviewed by Tim Horton.
Add an API test that inserts an attributed string with the text replacement attribute, and verifies that we
show the candidate list when inserting the string, and also don't temporarily hide the candidate list in the
process of doing so.
To achieve this, we swizzle out calls to -[NSCandidateListTouchBarItem updateWithInsertionPointVisibility:] to
detect when the candidate list is either hidden or made visible.
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
Fix a leak in an adjacent test too, while I'm touching this file.
(TestWebKitAPI::updateCandidateListWithVisibility):
2020-04-11 Aakash Jain <aakash_jain@apple.com>
Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>
Unreviewed follow-up fix.
* BuildSlaveSupport/ews-build/steps.py:
(WaitForCrashCollection): Remove spaces from step name.
2020-04-11 Aakash Jain <aakash_jain@apple.com>
Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>
Unreviewed follow-up fix.
* BuildSlaveSupport/wait-for-crash-collection: Improved error message.
2020-04-11 David Kilzer <ddkilzer@apple.com>
check-webkit-style should warn about 'decode' functions with missing WARN_UNUSED_RETURN attribute
<https://webkit.org/b/210336>
<rdar://problem/61585835>
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/style/checkers/cpp.py:
(_FunctionState.post_modifiers): Add. Returns string of text
that appears after the function definition's list of parameters.
This is used to find the WARN_UNUSED_RETURN attribute in
function declarations in header files.
(_FunctionState.has_attribute): Add. Takes a string (or regex)
and searchs before and after the function definition for the
attribute.
(_FunctionState.has_return_type): Add. Takes a string (or
regex) and checks the return type of the fuction.
(_FunctionState.is_static): Add. Returns True for functions
with the 'static' modifier.
(check_function_definition): Add check for decode() functions
with missing WARN_UNUSED_RETURN attribute.
(CppChecker): Add 'security/missing_warn_unused_return' to the
list of enabled style checkers.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTestBase.perform_function_definition_check): Add. This
runs the check_function_definition() function in cpp.py.
(CppStyleTest.test_decode_functions_missing_warn_unused_return): Add.
Tests for the new warning.
2020-04-10 Alex Christensen <achristensen@webkit.org>
Add SPI to handle proxy authentication and require secure proxy connections
https://bugs.webkit.org/show_bug.cgi?id=210343
<rdar://problem/61546396> <rdar://problem/61546519> and <rdar://problem/61546658>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::startSecureConnection):
(TestWebKitAPI::TCPServer::TCPServer):
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(-[ProxyDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ProxyDelegate waitForAlert]):
(-[ProxyDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):
2020-04-10 Devin Rousso <drousso@apple.com>
Changes to shared testing JS files should not cause test failures due to console message line numbers changing
https://bugs.webkit.org/show_bug.cgi?id=210303
Reviewed by Simon Fraser.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:withSource:]):
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::webViewAddMessageToConsole):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willAddMessageToConsole):
2020-04-10 Simon Fraser <simon.fraser@apple.com>
Reset view navigation gesture state between tests
https://bugs.webkit.org/show_bug.cgi?id=210283
Re-land r259818 with a null-check on m_webPageProxyForBackForwardListForCurrentSwipe.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
2020-04-10 Alicia Boya García <aboya@igalia.com>
[WTF] DataMutex: Add runUnlocked()
https://bugs.webkit.org/show_bug.cgi?id=209811
Reviewed by Xabier Rodriguez-Calvar.
Tests for runUnlocked() and DataMutex checks are introduced.
* TestWebKitAPI/Tests/WTF/DataMutex.cpp:
(TestWebKitAPI::TEST):
== Rolled over to ChangeLog-2020-04-10 ==