blob: 4d16474d58115c4ba45ca6d32ffff9acf1e36c37 [file] [log] [blame]
2018-09-11 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Polish AuthenticatorManager and rename it to AuthenticatorCoordinator
https://bugs.webkit.org/show_bug.cgi?id=189277
<rdar://problem/44115936>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
(TestWebKitAPI::TEST):
2018-09-10 Michael Saboff <msaboff@apple.com>
Test262 failure with Named Capture Groups - using a reference before the group is defined
https://bugs.webkit.org/show_bug.cgi?id=189407
Reviewed by Alex Christensen.
Updated test.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
2018-09-10 Thomas Denney <tdenney@apple.com>
[WHLSL] Inlining should be optional
https://bugs.webkit.org/show_bug.cgi?id=188641
Reviewed by Myles C. Maxfield.
Inlining functions is now optional, and disabled by default. This patch
additionally resolves https://bugs.webkit.org/show_bug.cgi?id=189326 as
the code for calling functions was completely rewritten.
* WebGPUShadingLanguageRI/All.js: Add LateCheckAndLayoutBuffers.js
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction): Remove dependency on inlining.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype._snapshot): Allow null srcPtr in the case of void
returns from functions.
(Evaluator.prototype._evaluateArguments): Abstract out argument
evaluation, ensuring that the order is right-to-left for
FunctionLikeBlocks (i.e. inlined functions) and regular calls.
(Evaluator.prototype._evaluateFunction): Abstracted out function body
evaluation for inlined and non-inlined functions.
(Evaluator.prototype.visitFunctionLikeBlock): Ditto.
(Evaluator.prototype.visitCallExpression): Ditto.
* WebGPUShadingLanguageRI/Inline.js:
(_inlineFunction): Moved logic that is needed regardless of inlining
into LateCheckAndLayoutBuffers.js
(resolveInlinedFunction): Deleted.
* WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js: Moved logic for
late checking.
* WebGPUShadingLanguageRI/Prepare.js: Make inlining optional and off by
default.
* WebGPUShadingLanguageRI/SPIRV.html: Update include.
* WebGPUShadingLanguageRI/Test.html: Ditto.
* WebGPUShadingLanguageRI/Test.js: Right-to-left argument evaluation,
and inlining tests.
* WebGPUShadingLanguageRI/index.html: Update include.
2018-09-10 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Unable to change the value of select elements while preserving focus state
https://bugs.webkit.org/show_bug.cgi?id=189475
<rdar://problem/41125764>
Reviewed by Tim Horton.
Adds a pair of new API tests to verify that (1) resigning first responder while preserving focus does not blur
the focused element, and (2) if another element is focused and presents an input view while preserving focus,
then we reset preservation state and allow first responder resignation to blur the focused element.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: Added.
(webViewForTestingFocusPreservation):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView textInputContentView]):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-09-10 Thomas Denney <tdenney@apple.com>
[WHLSL] Add the test shader type
https://bugs.webkit.org/show_bug.cgi?id=189484
Reviewed by Myles C. Maxfield.
Tests are now precedeed by the 'test' keyword so that they are treated
as entry points, in the same way as vertex and fragment shaders.
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype._checkShaderType): Allow tests to return any
type, as some currently return void/pointer types.
* WebGPUShadingLanguageRI/Parse.js:
(parseFuncDecl): Add the test keyword.
* WebGPUShadingLanguageRI/Test.js: Prepend 'test' to every single test.
2018-09-10 Don Olmstead <don.olmstead@sony.com>
CBOR coders should only be compiled if WebAuthN is enabled
https://bugs.webkit.org/show_bug.cgi?id=189425
Reviewed by Jiewen Tan.
Just places ENABLE(WEB_AUTHN) guards around CBOR test files.
* TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
* TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp:
* TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
2018-09-10 Daniel Bates <dabates@apple.com>
[iOS] Make WKWebView become the first responder to support testing key presses to non-editable elements
https://bugs.webkit.org/show_bug.cgi?id=189432
Reviewed by Simon Fraser.
Make the WKWebView become the first responder immediately without the need to focus an editable
element. This allows us to test that DOM keyboard events are dispatched to non-editable elements.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView):
2018-09-10 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[WTF] Add Markable<T, Traits>
https://bugs.webkit.org/show_bug.cgi?id=189231
Reviewed by Sam Weinig.
Add tests for Markable.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Markable.cpp: Added.
(TestWebKitAPI::TEST):
2018-09-10 Simon Fraser <simon.fraser@apple.com>
Before tracking Document leaks, clear all caches
https://bugs.webkit.org/show_bug.cgi?id=189459
Reviewed by Sam Weinig.
It's not enough to clear the page and memory caches; font caches can reference Documents (for SVG fonts),
so just call WebCore::releaseMemory(), which empties caches including the page and memory caches, and
does the GC that we need to happen.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
2018-09-07 Matt Rajca <mrajca@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=189433
<rdar://problem/44186498> Touch Bar displays an active PIP button for audio elements (and it doesn't do anything)
Reviewed by Eric Carlson.
An API test has been added that checks the value of the canTogglePictureInPicture and ensures it
is NO when audio elements are playing.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.html:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/audio-with-controls.html: Added.
2018-09-09 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r235832.
https://bugs.webkit.org/show_bug.cgi?id=189464
Broke WebKit2 tests (Requested by ap on #webkit).
Reverted changeset:
"[Cocoa] Turn on ARC for WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=189228
https://trac.webkit.org/changeset/235832
2018-09-08 Simon Fraser <simon.fraser@apple.com>
accessibility/notification-listeners.html abandons a document
https://bugs.webkit.org/show_bug.cgi?id=188724
Reviewed by Darin Adler.
AccessibilityControllerMac leaked m_globalNotificationHandler, which leaks a JSValueProtect'd function,
which leaks a Document. Fix by using adoptNS().
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::addNotificationListener):
2018-09-08 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Use more bridging casts in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=189457
Reviewed by Darin Adler.
Adds some bridging casts to TestWebKitAPI, when converting betweeen several common types of objects, including:
CFStringRef <=> NSString
CFURLRef <=> NSURL
WKPreferences <=> WKPreferencesRef
CFDataRef <=> NSData
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
(readHTMLFromPasteboard):
(createWebViewWithCustomPasteboardDataEnabled):
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
(createWebViewWithCustomPasteboardDataEnabled):
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
(writeHTMLToPasteboard):
(createWebViewWithCustomPasteboardDataSetting):
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::setUpWebView):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
(writeRTFToPasteboard):
(writeRTFDToPasteboard):
(createWebViewWithCustomPasteboardDataEnabled):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
(createWebViewWithCustomPasteboardDataEnabled):
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(webViewForTestingAttachments):
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
(writeRTFDToPasteboard):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(checkRichTextTypePrecedesPlainTextType):
(TestWebKitAPI::TEST):
(TestWebKitAPI::setUpTestWebViewForDataTransferItems):
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
(TestWebKitAPI::Util::URLForNonExistentResource):
(TestWebKitAPI::Util::MIMETypeForWKURLResponse):
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
(TestWebKitAPI::WebKitAgnosticTest::loadURL):
2018-09-02 Darin Adler <darin@apple.com>
[Cocoa] Turn on ARC for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=189228
Reviewed by Sam Weinig.
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
(+[EventSerializer dictionaryForEvent:relativeToTime:]): Removed autorelease.
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Removed autorelease.
* WebKitTestRunner/Configurations/Base.xcconfig: Added CLANG_ENABLE_OBJC_ARC.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::accessibleElementById): Use a __bridge cast.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm:
(WTR::AccessibilityTextMarker::isEqual): Ditto.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
(WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
(WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use a __bridge cast.
(WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
(WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
(WTR::AccessibilityUIElement::previousTextMarker): Ditto.
(WTR::AccessibilityUIElement::nextTextMarker): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): Ditto.
(WTR::_CGPathEnumerationIteration): Ditto.
(WTR::AccessibilityUIElement::pathDescription const): Ditto.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler dealloc]): Removed [super dealloc].
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
(WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
(WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
(WTR::createJSStringRef): Removed autorelease.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration): Removed release.
(WTR::TestController::cocoaPlatformInitialize): Removed release.
(WTR::TestController::platformCreateOtherPage): Removed autorelease.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]): Removed [super dealloc] and also many
cases of setting properties to nil that were only present for memory
management reasons.
* WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
(-[GeneratedTouchesDebugWindow dealloc]): Removed release and [super dealloc].
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator dealloc]): Deleted.
(-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]): Removed
Block_copy.
(-[HIDEventGenerator markerEventReceived:]): Removed Block_release.
(-[HIDEventGenerator interpolatedEvents:]): Removed release.
(-[HIDEventGenerator sendEventStream:completionBlock:]): Removed autorelease.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
(WTR::PlatformWebView::PlatformWebView): Removed release.
(WTR::PlatformWebView::~PlatformWebView): Removed release.
(WTR::PlatformWebView::addChromeInputField): Removed release.
(WTR::PlatformWebView::removeChromeInputField): Removed release.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::initializeInjectedBundlePath): Use __bridge cast.
(WTR::TestController::initializeTestPluginDirectory): Ditto.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::accessibilitySpeakSelectionContent const):
Use __bridge cast.
(WTR::UIScriptController::enterText): Ditto.
(WTR::UIScriptController::selectFormPopoverTitle const): Ditto.
(WTR::UIScriptController::textContentType const): Ditto.
(WTR::UIScriptController::formInputLabel const): Ditto.
(WTR::UIScriptController::scrollingTreeAsText const): Ditto.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::~PlatformWebView): Removed release.
(WTR::PlatformWebView::addChromeInputField): Removed release.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet): Removed retain.
(WTR::systemHiddenFontFamilySet): Removed retain.
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
(-[WebKitTestRunnerDraggingInfo draggingDestinationWindow]): Removed retain.
(-[WebKitTestRunnerDraggingInfo dealloc]): Deleted.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(+[WebKitTestRunnerPasteboard _pasteboardWithName:]): Removed release.
(+[WebKitTestRunnerPasteboard releaseLocalPasteboards]): Removed release.
Method name is still OK because setting localPasteboards to nil will
still release them.
(+[NSPasteboard superAlloc]): Added. Helper so that LocalPasteboard can
bypass +[NSPasteboard alloc].
(+[NSPasteboard superAllocWithZone:]): Ditto.
(+[LocalPasteboard alloc]): Call superAlloc instead of class_createInstance.
This is a different way to achieve the "bypass NSPasteboard" behavior we need.
(+[LocalPasteboard allocWithZone:]): Added. Calls superAllocWithZone: for the
same reason as above. Needed because, at least at this time, +[NSObject alloc]
calls +allocWithZone: so we have to override both.
(-[LocalPasteboard dealloc]): Deleted.
(-[LocalPasteboard addTypes:owner:]): Removed release.
* WebKitTestRunner/mac/WebKitTestRunnerWindow.mm:
(-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
* WebKitTestRunner/mac/main.mm:
(disableAppNapInUIProcess): Removed retain.
2018-09-07 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
https://bugs.webkit.org/show_bug.cgi?id=189336
Reviewed by Alex Christensen.
WKPageSetPageLoaderClient is deprecated. Replaced it with
WKPageSetPageNavigationClient.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
(WebKitBrowserWindow::didFinishNavigation):
Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
(WebKitBrowserWindow::didCommitNavigation):
Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
(WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
(WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
2018-09-07 Daniel Bates <dabates@apple.com>
[iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
https://bugs.webkit.org/show_bug.cgi?id=189325
Reviewed by Wenson Hsieh.
Fixes an issue where the test infrastructure would incorrectly synthesized a shift key press followed
by a ` key press (i.e. type '~') when instructed to simulate typing a grave accent (`). Typing a
grave accent does not require holding the shift key.
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(shouldWrapWithShiftKeyEventForCharacter):
2018-09-07 Frederic Wang <fwang@igalia.com>
[CSSOM View] Handle the scrollingElement in Element::scroll(Left/Top/Width/Height/To)
https://bugs.webkit.org/show_bug.cgi?id=182230
Reviewed by Simon Fraser.
This patch enables CSSOMViewScrollingAPI during test execution.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-09-07 Simon Fraser <simon.fraser@apple.com>
resultsjsonparser needs to handle leak failures
https://bugs.webkit.org/show_bug.cgi?id=189430
Reviewed by Alexey Proskuryakov.
Teach resultsjsonparser how to handle LEAK failures, building a FailureDocumentLeak
with a list of the leaked URLs.
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(JSONTestResult._failure_types_from_actual_result):
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(ParsedJSONResultsTest):
(test_basic):
2018-09-07 Aakash Jain <aakash_jain@apple.com>
[ews-build] API tests should output result summary in json
https://bugs.webkit.org/show_bug.cgi?id=189417
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(RunAPITests): Passed --json-output parameter to run-api-tests.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2018-09-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r235784.
https://bugs.webkit.org/show_bug.cgi?id=189421
RunLoopCF does not agree to the fix (Requested by yusukesuzuki
on #webkit).
Reverted changeset:
"[RunLoopGeneric] OneShotTimer should be inactive when fired."
https://bugs.webkit.org/show_bug.cgi?id=189335
https://trac.webkit.org/changeset/235784
2018-09-07 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[RunLoopGeneric] OneShotTimer should be inactive when fired.
https://bugs.webkit.org/show_bug.cgi?id=189335
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
Add test expectations about timer's active state.
Add a new test to restart a one-shot timer within
its fired callback.
2018-09-06 Zalan Bujtas <zalan@apple.com>
[LFC] Add support for min/max-height percentage values.
https://bugs.webkit.org/show_bug.cgi?id=189391
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-09-06 Simon Fraser <simon.fraser@apple.com>
Log when leak detection changes the test result
https://bugs.webkit.org/show_bug.cgi?id=189293
Reviewed by Jon Lee.
When you have an "Leak" expectation in TestExpectations, it's confusing to see a test unexpectedly pass,
but then show up as an expected fail at the end (because leak detection happens at the end of a shard).
So log when leak detection changes a test result.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._annotate_results_with_additional_failures):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations):
2018-09-06 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WK2] Support changing attributes for selected text (text shadow, underline, strike-through)
https://bugs.webkit.org/show_bug.cgi?id=189356
<rdar://problem/44185674>
Reviewed by Tim Horton.
Adds a new API test to verify that some font attributes (text shadow, underline, and strike-through) can be
added and removed using NSFontPanel.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
Add the new API test.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/mac/NSFontPanelTesting.h: Added.
* TestWebKitAPI/mac/NSFontPanelTesting.mm: Added.
Introduce a new file that extends NSFontPanel with some additional testing functionality. This includes the
ability to interact with the text shadow toggle button, choose the text shadow blur radius and opacity, and
change underline and strike-through styles.
(findSubviewOfClass):
(findMenuItemWithTitle):
(-[NSFontPanel fontEffectsBox]):
NSFontEffectsBox (an internal AppKit class) is the sender in the case where -changeAttributes: is invoked
through interaction with the font panel. To simulate this for testing, grab this font effects box and pass it
directory to -changeAttributes:.
(-[NSFontPanel chooseUnderlineMenuItemWithTitle:]):
(-[NSFontPanel chooseStrikeThroughMenuItemWithTitle:]):
The supported values for these menu items are "none" and "single", which adds a single underline or
strike-through to selected text. We grab these menu items by asking for the font panel's NSToolbar, and finding
the relevant menu items via toolbar item identifiers.
(-[NSFontPanel _didChangeAttributes]):
(-[NSFontPanel shadowBlurSlider]):
(-[NSFontPanel shadowOpacitySlider]):
(-[NSFontPanel shadowToggleButton]):
(-[NSFontPanel toggleShadow]):
(-[NSFontPanel shadowOpacity]):
(-[NSFontPanel setShadowOpacity:]):
(-[NSFontPanel shadowBlur]):
(-[NSFontPanel setShadowBlur:]):
(-[NSFontPanel _toolbarItemWithIdentifier:]):
2018-09-06 Simon Fraser <simon.fraser@apple.com>
run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
https://bugs.webkit.org/show_bug.cgi?id=189219
Reviewed by Jon Lee.
If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
tests are marked as [ Leak ] in TestExpectations.
Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
Add various unit tests to test the various combinations.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._annotate_results_with_additional_failures):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.get_expectations_or_pass):
(TestExpectationsModel):
(TestExpectationsModel.expectations_to_string):
(TestExpectationsModel.get_expectations_string):
(TestExpectations.filtered_expectations_for_test):
(TestExpectations):
(TestExpectations.matches_an_expected_result):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results):
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(summarized_results):
(SummarizedResultsTest.setUp):
(SummarizedResultsTest.test_summarized_results_include_passes):
(SummarizedResultsTest):
(SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.test_print_unexpected_results):
(BuildBotPrinterTests.test_print_unexpected_results_with_options):
(BuildBotPrinterTests.test_print_results):
* Scripts/webkitpy/port/test.py:
(unit_test_list):
2018-09-06 Zalan Bujtas <zalan@apple.com>
[LFC][BFC] Add support for min(max)-height
https://bugs.webkit.org/show_bug.cgi?id=189377
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-09-06 Dewei Zhu <dewei_zhu@apple.com>
BenchmarkResults.format should support specifying depth of tests to show.
https://bugs.webkit.org/show_bug.cgi?id=189135
Reviewed by Ryosuke Niwa.
Added the option to specify the depth of tests to show.
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults):
(BenchmarkResults.format): Added 'max_depth' option.
(BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
2018-09-06 Simon Fraser <simon.fraser@apple.com>
An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
https://bugs.webkit.org/show_bug.cgi?id=189368
Reviewed by Alexey Proskuryakov.
Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
which should fix EWS showing leaks in Bugzilla.
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(FailureDocumentLeak.__init__):
* Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.test_all_failure_classes):
2018-09-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r235755.
https://bugs.webkit.org/show_bug.cgi?id=189367
Didn't address the review comment (Requested by rniwa on
#webkit).
Reverted changeset:
"BenchmarkResults.format should support specifying depth of
tests to show."
https://bugs.webkit.org/show_bug.cgi?id=189135
https://trac.webkit.org/changeset/235755
2018-08-29 Dewei Zhu <dewei_zhu@apple.com>
BenchmarkResults.format should support specifying depth of tests to show.
https://bugs.webkit.org/show_bug.cgi?id=189135
Reviewed by Ryosuke Niwa.
Added the option to specify the depth of tests to show.
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults):
(BenchmarkResults.format): Added 'max_depth' option.
(BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
2018-09-06 Thomas Denney <tdenney@apple.com>
[WHLSL] Call arguments should be copied as soon as they are evaluated
https://bugs.webkit.org/show_bug.cgi?id=189360
Reviewed by Myles C. Maxfield.
Previously all call arguments were evaluated and then their results were
copied into new buffers for the call. However, the results are not
necessarily independent, so the result should be copied immediately
after evaluation.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitCallExpression): Move location of copy.
(Evaluator):
* WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
behavior.
2018-09-06 Thomas Denney <tdenney@apple.com>
[WHLSL] The test suite should log the compile time for the standard library
https://bugs.webkit.org/show_bug.cgi?id=189354
Reviewed by Myles C. Maxfield.
The test suite previously only logged the time for test execution, and
not the compile time for the standard library.
* WebGPUShadingLanguageRI/Test.js:
2018-09-06 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Cannot change font size at selection until font panel is shown
https://bugs.webkit.org/show_bug.cgi?id=189295
<rdar://problem/35593389>
Reviewed by Ryosuke Niwa.
Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
NSFontPanel to specify the font family, font size, and other traits.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
(-[TestWKWebView selectedText]):
(-[TestWKWebView selectNextWord]):
(-[TestWKWebView stylePropertyAtSelectionStart:]):
(-[TestWKWebView stylePropertyAtSelectionEnd:]):
(webViewForFontManagerTesting):
(menuItemCellForFontAction):
(TestWebKitAPI::TEST):
2018-09-06 Zalan Bujtas <zalan@apple.com>
[LFC][BFC] Add support for min(max)-width
https://bugs.webkit.org/show_bug.cgi?id=189358
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-09-06 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] The parser is too slow
https://bugs.webkit.org/show_bug.cgi?id=189014
Reviewed by Filip Pizlo.
This patch includes three changes:
1. Migrate from using try/catch to simply returning the WSyntaxError. This means that
each parser call has to check for this sentinel value. The lexer still can throw if
it encounters an unknown token or an unmatched "/*" token (which is rare).
2. After removing try/catch, making the sentinel values not inherit from Error (the
Error constructor was taking lots of time)
3. Previously, every time the parser failed (which is many times per expression) it was
running a regex over the entire source text to figure out where the error occurred.
Instead, we can preprocess the text string to find these line numbers ahead of time.
Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
the bulk of the standard library.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
(Lexer.prototype.lineNumberForIndex):
* WebGPUShadingLanguageRI/Parse.js:
(fail):
(backtrackingScope):
(testScope):
(genericConsume):
(consumeEndOfTypeArgs):
(parseTerm):
(parseConstexpr):
(parseTypeArguments):
(parseType.getAddressSpace):
(parseType):
(parseTypeDef):
(genericParseLeft):
(parseCallExpression.let.parseArguments):
(isCallExpression):
(parseSuffixOperator):
(parsePossibleSuffix):
(parsePreIncrement):
(parsePossiblePrefix):
(parsePossibleTernaryConditional):
(parsePossibleAssignment):
(parsePostIncrement):
(parseEffectfulExpression):
(genericParseCommaExpression):
(parseEffectfulStatement):
(parseReturn):
(parseBreak):
(parseContinue):
(parseIfStatement):
(parseWhile):
(parseFor):
(parseDo):
(parseVariableDecls):
(parseSwitchCase):
(parseSwitchStatement):
(parseStatement):
(parseBlockBody):
(parseBlock):
(parseParameter):
(parseFuncName):
(parseFuncDecl):
(parseFuncDef):
(parseField):
(parseStructType):
(parseNativeFunc):
(parseNative):
(parseRestrictedFuncDef):
(parseEnumMember):
(parseEnumType):
(parse):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(checkFail.doPrep): Deleted.
* WebGPUShadingLanguageRI/WLexicalError.js: Added.
(WLexicalError):
* WebGPUShadingLanguageRI/index.html:
2018-09-06 Xan Lopez <xan@igalia.com>
[test262] Do not call keys on a reference
https://bugs.webkit.org/show_bug.cgi?id=189301
Reviewed by Keith Miller.
* Scripts/test262/Runner.pm:
(UpdateResults):
2018-09-06 David Kilzer <ddkilzer@apple.com>
svn-create-patch fails when svn mv is used on directory trees
<https://webkit.org/b/14590>
Reviewed by Daniel Bates.
* Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
svn-create-patch.
(parseDiffStartLine): Use parseSvnDiffStartLine().
(parseGitDiffStartLine): Document a prerequisite. Fix a bug
when parsing Git patches using `git diff --no-prefix` that have
non-native line endings. Found by new tests written for
Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
(parseSvnDiffStartLine): Add. Extract logic from
parseDiffStartLine() for use with svn-create-patch.
* Scripts/svn-create-patch: Update copyright and license.
(generateDiff): Return early for moved directories since
individual files within the directory are handled separately.
(generateFileList): Keep track of moved directories in the
@additionWithHistoryDirectories array, then process this array
in reverse order to create delete/add patches for each file in
a moved directory. This also prevents duplicate patches.
(manufacturePatchForAdditionWithHistory): Fix a long-standing
bug where the path used to describe property changes contained
the original (moved-from) path instead of the new (moved-to)
path. This could cause svn-apply to fail mysteriously when
trying to apply an empty patch created by the property change
containing the moved-from path.
* Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
Tests for parseDiffStartLine(), parseGitDiffStartLine() and
parseSvnDiffStartLine().
2018-09-05 Don Olmstead <don.olmstead@sony.com>
[CMake] Allow port specific options on gtest
https://bugs.webkit.org/show_bug.cgi?id=189313
Reviewed by Alex Christensen.
Use the global property set by the gtest CMake file to add to the
compilation definitions for TestWebKitAPI rather than repeating the
logic.
* TestWebKitAPI/CMakeLists.txt:
2018-09-05 Woodrow Wang <woodrow_wang@apple.com>
Add infrastructure to dump resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=189213
Reviewed by Daniel Bates.
The dumping functionality is not currently used, but will be included in tests for
<https://bugs.webkit.org/show_bug.cgi?id=187773>.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setDumpResourceLoadStatistics):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::resourceStatisticsStringResultCallback):
(WTR::TestController::dumpResourceLoadStatistics):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::setDumpResourceLoadStatistics):
* WebKitTestRunner/TestInvocation.h:
2018-09-05 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] DragAndDropTests.ExposeMultipleURLsInDataTransfer fails on macOS versions prior to Mojave
https://bugs.webkit.org/show_bug.cgi?id=189315
Reviewed by Tim Horton.
Fix the test failure by explicitly enabling custom pasteboard data.
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(TEST):
2018-09-05 Woodrow Wang <woodrow_wang@apple.com>
Added runtime feature flag for web API statistics
https://bugs.webkit.org/show_bug.cgi?id=189211
Reviewed by Daniel Bates.
Added functionality to set the runtime flag with a JavaScript exposed function
for testing.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAPIStatisticsEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2018-09-05 Ross Kirsling <ross.kirsling@sony.com>
Add WinCairo to bot watcher's dashboard.
https://bugs.webkit.org/show_bug.cgi?id=189273
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.windows-10 img.logo): Added.
(table.queue-grid tr.platform.windows-8 img.logo): Deleted.
(table.queue-grid tr.platform.windows-xp img.logo): Deleted.
Add Win10 section to dashboard. Remove unused WinXP and Win8 sections.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Add WinCairo build, test, and EWS bots to Win10 section of dashboard.
2018-09-05 David Kilzer <ddkilzer@apple.com>
REGRESSION (r209470): EditingHistory folder is missing in EditingHistory Xcode project
Found using `tidy-Xcode-project-file --missing` (see Bug
188754). Fixes were made manually.
* EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
(EditingHistory): Change the path of the folder to
"EditingHistory", then remove the now-redundant name.
(EditingHistory/Resources/DumpEditingHistory.js): Remove
redundant file reference since another file reference exists at
the top of the project file list, and that file reference is the
one used in the "Copy Bundle Resources" build phase.
(EditingHistory/Resources/EditingHistoryUtil.js): Ditto.
2018-09-05 David Kilzer <ddkilzer@apple.com>
REGRESSION (r160736): Bundle folder is missing in MiniBrowser Xcode project
Found using `tidy-Xcode-project-file --missing` (see Bug
188754). Folder fix was made manually.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
(Bundle): Change the path of the folder to "mac/Bundle", and set
the name back to "Bundle".
(Bundle/Info.plist): Change file reference to be relative to its
group. Accomplished using Xcode after fixing the folder path.
(Bundle/MiniBrowserBundle_Prefix.pch): Ditto.
2018-09-05 David Kilzer <ddkilzer@apple.com>
REGRESSION (r184033): ContentExtensionTester folder is missing in ContentExtensionTester Xcode project
Found using `tidy-Xcode-project-file --missing` (see Bug
188754). Fixes were made manually.
* ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
(ContentExtensionTester): Change the path of the folder to map
to "." (which exists and is where main.m is located), and then
set the folder's name back to "ContentExtensionTester".
(main.m): Change file reference to be relative to its group now
that the group's path is fixed.
2018-09-04 Don Olmstead <don.olmstead@sony.com>
Add generic entrypoint and run loop in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=189287
Reviewed by Michael Catanzaro.
The implementations in jsconly are platform agnostic.
* TestWebKitAPI/PlatformJSCOnly.cmake:
Use the glib implementation of Utilities when using that as a run loop
otherwise use the generic implementation.
* TestWebKitAPI/PlatformUtilities.h:
Remove repeated entries from Utilities.h.
* TestWebKitAPI/PlatformWPE.cmake:
Use the generic main.cpp.
* TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
Moved to a generic implementation and added spinRunLoop.
* TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
Share between JSCOnly and WPE
* TestWebKitAPI/wpe/main.cpp: Removed.
2018-09-04 Don Olmstead <don.olmstead@sony.com>
[CMake] Make TestWebKitAPI dependencies explicit
https://bugs.webkit.org/show_bug.cgi?id=189282
Reviewed by Fujii Hironori.
The config.h file includes files from JSC, WebCore and WebKit which
places a dependency on those headers even when just building TestWTF.
This makes the depedencies explicit for all CMake ports and shoud
remove any race conditions that can be encountered when building tests.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
2018-09-04 Wenson Hsieh <wenson_hsieh@apple.com>
Populate "text/uri-list" with multiple URLs when the pasteboard contains multiple URLs
https://bugs.webkit.org/show_bug.cgi?id=188890
<rdar://problem/43648605>
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
Implement this method to avoid crashing when running layout tests that access the pasteboard.
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
Add a test to verify that on macOS and iOS, multiple URLs dropped onto the page are accessible via
"text/uri-list".
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
Add a test that exercises 5 different ways to write one or more URLs to the pasteboard on macOS; in all cases,
the URLs written to the pasteboard should be exposed to the page via "text/uri-list". In all of these different
cases, the results of using `-[NSPasteboardItem stringForType:]`, `-[NSURL URLFromPasteboard:]` and
`-[NSPasteboard stringForType:]` will yield different results, so the purpose of this API test is to ensure that
our logic for grabbing a list of URLs from the pasteboard on macOS is robust enough to handle all of these
different behaviors.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
Add a test to verify that on iOS, using `-[UIPasteboard setURLs:]` to write to multiple URLs to the pasteboard
and then pasting results in "text/uri-list" exposing a list of all the URLs written to the pasteboard.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
Implement this method to avoid crashing when running layout tests that access the pasteboard.
2018-09-04 Simon Fraser <simon.fraser@apple.com>
REGRESSION(r235408): GTK bots exiting early
https://bugs.webkit.org/show_bug.cgi?id=189063
Reviewed by Michael Catanzaro.
WebKitTestRunner was running the world leak checks even when run without --world-leaks,
causing GTK bot timeouts. So guard updateLiveDocumentsAfterTest(), checkForWorldLeaks()
and findAndDumpWorldLeaks() with m_checkForWorldLeaks checks, and in
TestController::handleControlCommand() print a message if the control script sends the
"#CHECK FOR WORLD LEAKS" command if WTR was not run with --world-leaks.
I tested that running with --world-leaks still works.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::updateLiveDocumentsAfterTest):
(WTR::TestController::checkForWorldLeaks):
(WTR::TestController::findAndDumpWorldLeaks):
(WTR::TestController::handleControlCommand):
(WTR::TestController::run):
2018-09-04 Myles C. Maxfield <mmaxfield@apple.com>
Unreviewed follow-up to r235635
https://bugs.webkit.org/show_bug.cgi?id=188940
Use "let" variables instead of "var" variables.
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
2018-09-04 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Implement texture types
https://bugs.webkit.org/show_bug.cgi?id=188940
Rubber-stamped by Dean Jackson.
Implement the texture types and operations. This includes Sample(), Load(), Store(), Gather(), and GetDimensions().
These functions were implemented according to section 15 of the Vulkan 1.1.83 spec, which lists each operation
and how to compute its results.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Casts.js: Moved from Intrinsics. The texture operations need to cast too, so these are
moved into a common location.
(cast):
(bitwiseCast):
(castToUchar):
(castToUshort):
(castToUint):
(castToChar):
(castToShort):
(castToInt):
(castToHalf):
(castToFloat):
* WebGPUShadingLanguageRI/Intrinsics.js: Use Casts.js and call into TextureOperations.js.
(Intrinsics.):
(Intrinsics.checkFalse):
(Intrinsics.boxVector):
(Intrinsics.unboxVector):
(Intrinsics):
(Intrinsics.cast): Deleted.
(Intrinsics.bitwiseCast): Deleted.
(Intrinsics.castToHalf): Deleted.
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/Sampler.js: Added. Represent the Sampler type.
(Sampler):
(Sampler.prototype.get rAddressMode):
(Sampler.prototype.get sAddressMode):
(Sampler.prototype.get tAddressMode):
(Sampler.prototype.get minFilter):
(Sampler.prototype.get magFilter):
(Sampler.prototype.get mipmapFilter):
(Sampler.prototype.get lodMinClamp):
(Sampler.prototype.get lodMaxClamp):
(Sampler.prototype.get maxAnisotropy):
(Sampler.prototype.get compareFunction):
(Sampler.prototype.get borderColor):
(Sampler.prototype.calculateBorderColor.computeValues):
(Sampler.prototype.calculateBorderColor):
* WebGPUShadingLanguageRI/StandardLibrary.js: Update the standard library. Some of the functions were
either missing or wrong.
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js: Test many, many combinations of the texture operations.
(makeSampler):
(make1DTexture):
(make1DTextureArray):
(make2DTexture):
(make2DTextureArray):
(make3DTexture):
(makeTextureCube):
(makeRW1DTexture):
(makeRW1DTextureArray):
(makeRW2DTexture):
(makeRW2DTextureArray):
(makeRW3DTexture):
(make2DDepthTexture):
(make2DDepthTextureArray):
(makeDepthTextureCube):
(makeRW2DDepthTexture):
(makeRW2DDepthTextureArray):
(checkFloat4):
* WebGPUShadingLanguageRI/Texture.js: Added. Represents each of the texture types.
(Texture):
(Texture.prototype.get dimension):
(Texture.prototype.get width):
(Texture.prototype.get height):
(Texture.prototype.get depth):
(Texture.prototype.get levelCount):
(Texture.prototype.get layerCount):
(Texture.prototype.get innerType):
(Texture.prototype.get data):
(Texture.prototype.elementChecked):
(Texture.prototype.setElementChecked):
(Texture1D):
(Texture1D.prototype.widthAtLevel):
(Texture1D.prototype.heightAtLevel):
(Texture1D.prototype.depthAtLevel):
(Texture1D.prototype.element):
(Texture1D.prototype.setElement):
(Texture1DArray):
(Texture1DArray.prototype.widthAtLevel):
(Texture1DArray.prototype.heightAtLevel):
(Texture1DArray.prototype.depthAtLevel):
(Texture1DArray.prototype.element):
(Texture1DArray.prototype.setElement):
(Texture2D):
(Texture2D.prototype.widthAtLevel):
(Texture2D.prototype.heightAtLevel):
(Texture2D.prototype.depthAtLevel):
(Texture2D.prototype.element):
(Texture2D.prototype.setElement):
(Texture2DArray):
(Texture2DArray.prototype.widthAtLevel):
(Texture2DArray.prototype.heightAtLevel):
(Texture2DArray.prototype.depthAtLevel):
(Texture2DArray.prototype.element):
(Texture2DArray.prototype.setElement):
(Texture3D):
(Texture3D.prototype.widthAtLevel):
(Texture3D.prototype.heightAtLevel):
(Texture3D.prototype.depthAtLevel):
(Texture3D.prototype.element):
(Texture3D.prototype.setElement):
(TextureCube):
(TextureCube.prototype.widthAtLevel):
(TextureCube.prototype.heightAtLevel):
(TextureCube.prototype.depthAtLevel):
(TextureCube.prototype.element):
(TextureCube.prototype.setElement):
(Texture1DRW):
(Texture1DRW.prototype.widthAtLevel):
(Texture1DRW.prototype.heightAtLevel):
(Texture1DRW.prototype.depthAtLevel):
(Texture1DRW.prototype.element):
(Texture1DRW.prototype.setElement):
(Texture1DArrayRW):
(Texture1DArrayRW.prototype.widthAtLevel):
(Texture1DArrayRW.prototype.heightAtLevel):
(Texture1DArrayRW.prototype.depthAtLevel):
(Texture1DArrayRW.prototype.element):
(Texture1DArrayRW.prototype.setElement):
(Texture2DRW):
(Texture2DRW.prototype.widthAtLevel):
(Texture2DRW.prototype.heightAtLevel):
(Texture2DRW.prototype.depthAtLevel):
(Texture2DRW.prototype.element):
(Texture2DRW.prototype.setElement):
(Texture2DArrayRW):
(Texture2DArrayRW.prototype.widthAtLevel):
(Texture2DArrayRW.prototype.heightAtLevel):
(Texture2DArrayRW.prototype.depthAtLevel):
(Texture2DArrayRW.prototype.element):
(Texture2DArrayRW.prototype.setElement):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.widthAtLevel):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.heightAtLevel):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.depthAtLevel):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.element):
(let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.setElement):
* WebGPUShadingLanguageRI/TextureOperations.js: Added. This implements the texture operations
as described in section 15 of the Vulkan 1.1.83 spec.
(depthCompareOperation):
(conversionToRGBA):
(projectionOperation):
(cubeMapFaceSelection):
(cubeMapCoordinateTransformation):
(cubeMapDerivativeTransformation):
(scaleFactorOperation):
(levelOfDetailOperation):
(nearest):
(imageLevelSelection):
(strqaToUVWATransformation):
(rne):
(uvwaToIJKLNTransformationAndArrayLayerSelection):
(integerTexelCoordinateOperations):
(mirror):
(transform):
(wrappingOperation):
(calculateLambda):
(shouldBeBorder):
(accessColor):
(computeTau):
(reduce):
(texelGathering):
(computeColorFromLevel):
(texelFiltering):
(castToInnerTypeForGather):
(gatherTexture):
(castToInnerType):
(sampleTexture):
* WebGPUShadingLanguageRI/index.html:
2018-09-04 Alexey Proskuryakov <ap@apple.com>
Removing an accidentally committed debugging print.
* Scripts/run-leaks: (runLeaks)
2018-09-04 Alexey Proskuryakov <ap@apple.com>
run-leaks should run leaks with --list (on Mojave)
https://bugs.webkit.org/show_bug.cgi?id=187716
<rdar://problem/42261676>
Reviewed by Lucas Forschler.
Also enabled dumping memgraphs. We'll be pruning these aggressively, as they take
significant space.
* Scripts/run-leaks:
(main): Added an option to store memgraphs.
(runLeaks): As there is no way to test whether the new format is supported in advance,
we have to try with --list first, and retry if that fails. Also, made leaks operate
on a memgraph file if we are saving it anyway.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._leaks_args): Pass --memgraph-file to run-leaks.
(LeakDetector.leaks_file_name): Removed an incorrect comment.
(LeakDetector.memgraph_file_name): Added.
(LeakDetector.check_for_leaks): Changed how arguments are passed to _leaks_args.
It is a bit ugly that leaks path ends up being computed twice, but this is the least
ugly approach that I could find.
* Scripts/webkitpy/port/leakdetector_unittest.py: Updated for _leaks_args changes.
2018-09-04 Chris Dumez <cdumez@apple.com>
Add process pool configuration flag to turn on automatic process pre-warming
https://bugs.webkit.org/show_bug.cgi?id=189263
<rdar://problem/44101941>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm.
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Removed.
2018-09-04 Keith Miller <keith_miller@apple.com>
Perl doesn't like calling keys on a reference
https://bugs.webkit.org/show_bug.cgi?id=189261
Reviewed by Michael Saboff.
* Scripts/test262/Runner.pm:
(UpdateResults):
2018-09-04 Jer Noble <jer.noble@apple.com>
REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=187972
<rdar://problem/42667737>
Reviewed by Darin Adler.
Ensure that listeners are added in time to catch messages broadcast at them.
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
2018-09-04 Ross Kirsling <ross.kirsling@sony.com>
Update googletest
https://bugs.webkit.org/show_bug.cgi?id=175722
Reviewed by Brent Fulgham.
* TestWebKitAPI/config.h:
Instead of modifying the gtest source, add the necessary WTF includes here.
* TestWebKitAPI/Configurations/Base.xcconfig
Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
2018-09-03 Pablo Saavedra <psaavedra@igalia.com>
[WPE] Add more WPE bots to dashboard
https://bugs.webkit.org/show_bug.cgi?id=189245
Reviewed by Daniel Bates.
There are two missing bots which are not listed in the dashboard for
a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2018-09-01 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
https://bugs.webkit.org/show_bug.cgi?id=189006
Reviewed by Darin Adler.
The MiniBrowser source code is missing from the tarball. Oops! Add it.
* wpe/manifest.txt.in:
2018-09-01 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[WinCairo] Add CryptoDigestOpenSSL
https://bugs.webkit.org/show_bug.cgi?id=188978
Reviewed by Darin Adler.
Add API tests for the PAL::CryptoDigest class.
* TestWebKitAPI/PlatformWin.cmake:
Add CryptoDigest.cpp to TestWebCoreLib_Sources.
Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
without the definition the functions marked with PAL_EXPORT are supposed to be
imported from another shared library, but as it is, TestWebCoreLib
links PAL statically.
* TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
(TestWebKitAPI::toHex):
(TestWebKitAPI::expect):
(TestWebKitAPI::expectSHA1):
(TestWebKitAPI::expectSHA224):
(TestWebKitAPI::expectSHA256):
(TestWebKitAPI::expectSHA384):
(TestWebKitAPI::expectSHA512):
(TestWebKitAPI::TEST):
2018-09-01 Dan Bernstein <mitz@apple.com>
[Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
https://bugs.webkit.org/show_bug.cgi?id=189222
<rdar://problem/33283179>
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
(TEST):
2018-08-31 Aditya Keerthi <akeerthi@apple.com>
Unreviewed, add an alternate email for Aditya Keerthi.
* Scripts/webkitpy/common/config/contributors.json:
2018-08-31 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
https://bugs.webkit.org/show_bug.cgi?id=189054
<rdar://problem/43819779>
Reviewed by Tim Horton.
See WebCore/ChangeLog for more detail.
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
(createWebViewWithCustomPasteboardDataEnabled):
2018-08-31 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r235565.
https://bugs.webkit.org/show_bug.cgi?id=189212
Broke the WHLSL build (Requested by litherum on #webkit).
Reverted changeset:
"[WHLSL] Remove useless code in NameResolver"
https://bugs.webkit.org/show_bug.cgi?id=189176
https://trac.webkit.org/changeset/235565
2018-08-31 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Remove useless code in NameResolver
https://bugs.webkit.org/show_bug.cgi?id=189176
Reviewed by Dean Jackson and Thomas Denney.
The check will always pass becase the standard library contains at least one function with the correct name.
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitDotExpression):
(NameResolver.prototype._handlePropertyAccess): Deleted.
(NameResolver.prototype.visitIndexExpression): Deleted.
2018-08-31 Simon Fraser <simon.fraser@apple.com>
Make it possible to mark tests as leaks in TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=189088
Reviewed by Jon Lee.
Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
thing if the test run did not use --world-leaks. Add unit tests for leaks combined
with various other result combinations.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._annotate_results_with_additional_failures):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
(TestExpectations.remove_leak_failures):
(TestExpectations.matches_an_expected_result):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.get_basic_tests):
* Scripts/webkitpy/port/test.py:
(TestList.add_reftest):
(unit_test_list):
2018-08-31 Zalan Bujtas <zalan@apple.com>
[LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
https://bugs.webkit.org/show_bug.cgi?id=189193
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-08-31 Antti Koivisto <antti@apple.com>
Replace OptionSet |= and -= operators with add() and remove() functions
https://bugs.webkit.org/show_bug.cgi?id=189169
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
2018-08-31 Daniel Bates <dabates@apple.com>
lldb-webkit: KeyError thrown for OptionSet with invalid value
https://bugs.webkit.org/show_bug.cgi?id=189070
Update comment to explain that we return early and do not compute the set of enumerators in the
OptionSet when the underlying value of the set is an invalid value.
Additionally, update the change log entry for r235482 to reflect the updated title for the bug
and to better describe the change that was made.
* lldb/lldb_webkit.py:
(WTFOptionSetProvider.update):
2018-08-31 David Kilzer <ddkilzer@apple.com>
WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
This makes the Configurations folder in the Xcode project match
what's in the Configurations directory on disk. Found by
tidy-Xcode-project-file (see Bug 188754).
* WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
* WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
- Update project for file move.
2018-08-31 David Kilzer <ddkilzer@apple.com>
WebKitLauncher: Fix build failures
* WebKitLauncher/Configurations/Base.xcconfig:
(ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
(MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
* WebKitLauncher/WebKitNightlyEnabler.m:
(myApplicationWillFinishLaunching):
* WebKitLauncher/main.m:
(displayErrorAndQuit):
(locateSafariBundle):
- Use pragma to ignore deprecation warnings.
2018-08-31 David Kilzer <ddkilzer@apple.com>
MobileMiniBrowser: Move test2s.mp4 into Resources directory
This makes the Resources folder in the Xcode project match
what's in the Resources directory on disk. Found by
tidy-Xcode-project-file (see Bug 188754).
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- Update project for file move.
* MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
2018-08-31 Frederic Wang <fwang@igalia.com>
Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
https://bugs.webkit.org/show_bug.cgi?id=182053
Reviewed by Simon Fraser.
Add FIXMEs comments to add the new developer flag in the future and disable it for now.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-08-30 Thomas Denney <tdenney@apple.com>
[WHLSL] Fix array indexing behavior
https://bugs.webkit.org/show_bug.cgi?id=189175
Array, pointer, and array ref types are now parsed and then constructed
in reverse so that the declaration order matches the indexing order, as
in C/C++.
Reviewed by Myles C. Maxfield.
* WebGPUShadingLanguageRI/Parse.js:
(parseType):
* WebGPUShadingLanguageRI/Test.js:
2018-08-30 Wenson Hsieh <wenson_hsieh@apple.com>
Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=185965
Reviewed by Andy Estes.
The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
message handlers in the UI process *before* evaluating script that could propagate the script message.
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
(-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
(TEST):
2018-08-30 Thomas Denney <tdenney@apple.com>
[WHLSL] Implement tests to verify array indexing order matches our desires
https://bugs.webkit.org/show_bug.cgi?id=189099
Reviewed by Myles C. Maxfield.
* WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
and the option to explicitly disable tests (this test is disabled by
default).
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap): Fixes typo.
2018-08-30 Sihui Liu <sihui_liu@apple.com>
WKNavigation.ProcessCrashDuringCallback is failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=189148
Reviewed by Chris Dumez.
We should not deference WebView or we may get WKErrorWebViewInvalidated error, because
WebView could be destroyed before Web Process termination is noticed.
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
2018-08-30 Zalan Bujtas <zalan@apple.com>
[LFC][Floating] Formatting context roots avoid floats.
https://bugs.webkit.org/show_bug.cgi?id=189150
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-08-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] TestWebKitAPI.PasteImage tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=185965
Reviewed by Andy Estes.
These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
this by waiting for the "load" event (which is also done in some of the other tests in this file).
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
(TEST):
2018-08-30 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r235114.
ostree server deleted our commits?
Reverted changeset:
"[Flatpak] Update to GNOME master runtime"
https://bugs.webkit.org/show_bug.cgi?id=188731
https://trac.webkit.org/changeset/235114
2018-08-29 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Test row-majorness of matrices
https://bugs.webkit.org/show_bug.cgi?id=189101
The matrix multiplication functions are temporarily commented out of the standard library,
so I've temporarily copy/pasted them into the test. Matrix multiplication is not
commutative, so it requires the right indexing order.
Reviewed by Dean Jackson and Thomas Denney.
* WebGPUShadingLanguageRI/Intrinsics.js:
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.js:
2018-08-29 Jer Noble <jer.noble@apple.com>
Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
2018-08-29 Youenn Fablet <youenn@apple.com>
Remove WebRTC legacy API implementation
https://bugs.webkit.org/show_bug.cgi?id=189040
Reviewed by Eric Carlson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-08-29 Daniel Bates <dabates@apple.com>
lldb-webkit: KeyError thrown for OptionSet with invalid value
https://bugs.webkit.org/show_bug.cgi?id=189070
Reviewed by Simon Fraser.
Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
variable is only considered valid when execution passes over its assignment/constructor.
The LLDB Python API does not provide a way to determine whether a variable has a valid
value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
a variable represents a valid value). So, we use a simple heuristic: when the value of
the OptionSet is greater than the value of the bitmask with all enumerators set then we
consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
will notify us to update our state.
* lldb/lldb_webkit.py:
(WTFOptionSetProvider.update):
2018-08-29 Chris Dumez <cdumez@apple.com>
[PSON] We should only process-swap when eTLD+1 changes on navigation
https://bugs.webkit.org/show_bug.cgi?id=189090
<rdar://problem/43799225>
Reviewed by Geoffrey Garen.
Update existing PSON API tests to use different registrable domains instead of different
protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-08-29 Youenn Fablet <youenn@apple.com>
Add a runtime flag for WebRTC unified plan
https://bugs.webkit.org/show_bug.cgi?id=189068
Reviewed by Eric Carlson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2018-08-29 Don Olmstead <don.olmstead@sony.com>
[CMake] Split Tools/CMakeLists.txt into platform files
https://bugs.webkit.org/show_bug.cgi?id=189093
Reviewed by Michael Catanzaro.
* CMakeLists.txt:
* PlatformGTK.cmake: Added.
* PlatformMac.cmake: Added.
* PlatformWPE.cmake: Added.
* PlatformWin.cmake: Added.
2018-08-29 Jer Noble <jer.noble@apple.com>
Muted elements do not have their Now Playing status updated when unmuted.
https://bugs.webkit.org/show_bug.cgi?id=189069
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
(userInfoHasNowPlayingApplicationPID):
(getNowPlayingClient):
(getNowPlayingClientPid):
(NowPlayingTest::webView):
(NowPlayingTest::configuration):
(NowPlayingTest::webViewPid):
(NowPlayingTest::loadPage):
(NowPlayingTest::runScriptWithUserGesture):
(NowPlayingTest::runScriptWithoutUserGesture):
(NowPlayingTest::executeAndWaitForPlaying):
(NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
(NowPlayingTest::observers):
(NowPlayingTest::addObserver):
(NowPlayingTest::removeObserver):
(NowPlayingTest::notificationCallback):
(NowPlayingTest::receivedNotification):
(NowPlayingTest::performAfterReceivingNotification):
(TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
2018-08-29 Thomas Denney <tdenney@apple.com>
[WHLSL] Ensure that isLValue is copied by the rewriter
https://bugs.webkit.org/show_bug.cgi?id=189083
The value of isLValue was not propagated when new TernaryExpressions are
created in Rewriter.
Reviewed by Myles C. Maxfield.
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitTernaryExpression):
* WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
propagated.
2018-08-29 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Add more functions to the standard library
https://bugs.webkit.org/show_bug.cgi?id=188873
Reviewed by Filip Pizlo.
This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
There are a few major pieces:
1. Swizzle operators are now implemented in the language, instead of as native functions
2. Vector constructors are now implemented in the language, instead of as native functions
3. The matrix type is implemented
4. Vector operator&[] is illegal, and is removed from the compiler
5. Vector index setters & index getters are now implemented in the language, instead of as native functions
6. Vector and matrix equality operators are implemented in the language, instead of as native functions
7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
9. Half-precision floating point types are implemented
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
(BuiltinMatrixGetter):
(BuiltinMatrixGetter.prototype.get height):
(BuiltinMatrixGetter.prototype.get width):
(BuiltinMatrixGetter.prototype.toString):
(BuiltinMatrixGetter.functions):
(BuiltinMatrixGetter.prototype.instantiateImplementation):
* WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
(BuiltinMatrixSetter):
(BuiltinMatrixSetter.prototype.get height):
(BuiltinMatrixSetter.prototype.get width):
(BuiltinMatrixSetter.prototype.toString):
(BuiltinMatrixSetter.functions):
(BuiltinMatrixSetter.prototype.instantiateImplementation):
* WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
(BuiltinVectorGetter.prototype.instantiateImplementation):
(BuiltinVectorGetter):
* WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
(BuiltinVectorSetter.functions):
(BuiltinVectorSetter.prototype.instantiateImplementation):
(BuiltinVectorSetter):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.resolve):
* WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
(checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
(checkTypesWithArguments.TypeWithArgumentsChecker):
(checkTypesWithArguments):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitVectorType):
(Checker.prototype.visitMatrixType):
* WebGPUShadingLanguageRI/ConstexprFolder.js:
(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitTernaryExpression):
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
(FlattenedStructOffsetGatherer.prototype.visitMatrixType):
(FlattenedStructOffsetGatherer):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
(Intrinsics):
* WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
(MatrixType):
(MatrixType.prototype.get elementType):
(MatrixType.prototype.get numRows):
(MatrixType.prototype.get numColumns):
(MatrixType.prototype.get numRowsValue):
(MatrixType.prototype.get numColumnsValue):
(MatrixType.prototype.get size):
(MatrixType.prototype.unifyImpl):
(MatrixType.prototype.populateDefaultValue):
(MatrixType.prototype.toString):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.add):
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType.create):
(NativeType):
* WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
(OperatorAnderIndexer):
* WebGPUShadingLanguageRI/OperatorBool.js: Removed.
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/Program.js:
(Program.prototype.add):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitMatrixType):
(Rewriter):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StandardLibrary.js:
(operator.bool):
(bool.operator):
(uchar.operator):
(ushort.operator):
(char.operator):
(short.operator):
(uint.operator):
(int.operator):
(half.operator):
(float.operator):
(uchar2.operator):
(uchar3.operator):
(uchar4.operator):
(ushort2.operator):
(ushort3.operator):
(ushort4.operator):
(uint2.operator):
(uint3.operator):
(uint4.operator):
(char2.operator):
(char3.operator):
(char4.operator):
(short2.operator):
(short3.operator):
(short4.operator):
(int2.operator):
(int3.operator):
(int4.operator):
(half2.operator):
(half3.operator):
(half4.operator):
(float2.operator):
(float3.operator):
(float4.operator):
(half2x2.operator):
(half2x3.operator):
(half2x4.operator):
(half3x2.operator):
(half3x3.operator):
(half3x4.operator):
(half4x2.operator):
(half4x3.operator):
(half4x4.operator):
(float2x2.operator):
(float2x3.operator):
(float2x4.operator):
(float3x2.operator):
(float3x3.operator):
(float3x4.operator):
(float4x2.operator):
(float4x3.operator):
(float4x4.operator):
(operator.bool2):
(operator.bool3):
(operator.bool4):
(uint.operator.length):
(operator.uchar2):
(operator.uchar3):
(operator.uchar4):
(operator.ushort2):
(operator.ushort3):
(operator.ushort4):
(operator.uint2):
(operator.uint3):
(operator.uint4):
(operator.char2):
(operator.char3):
(operator.char4):
(operator.short2):
(operator.short3):
(operator.short4):
(operator.int2):
(operator.int3):
(operator.int4):
(operator.half2):
(operator.half3):
(operator.half4):
(operator.float2):
(operator.float3):
(operator.float4):
(bool2.operator):
(bool3.operator):
(bool4.operator):
(allVectorTypeNames):
* WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
(synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
(synthesizeDefaultConstructorOperator.FindAllTypes):
(synthesizeDefaultConstructorOperator):
* WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeHalf):
(checkHalf):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitMatrixType):
(Visitor):
* WebGPUShadingLanguageRI/index.html:
2018-08-29 Simon Fraser <simon.fraser@apple.com>
Teach webkitpy how to check leaks and treat leaks as test failures
https://bugs.webkit.org/show_bug.cgi?id=189067
Reviewed by Darin Adler.
Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
behavior added in r235408, namely that they check for leaked documents after each test, and at
the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
"#CHECK FOR WORLD LEAKS" command to get still-live documents.
LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
If this results block includes leaks, we convert an existing TestResult into a LEAK failure
in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
Unit tests are updated with some leak examples.
* DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions):
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(ParsedJSONResultsTest):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._annotate_results_with_additional_failures):
(LayoutTestRunner._handle_finished_test_group):
(Worker.handle):
(Worker._run_test):
(Worker._do_post_tests_work):
(Worker._finished_test_group):
(Worker._run_test_in_another_thread):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectations):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(Base.get_basic_tests):
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(determine_result_type):
(FailureLeak):
(FailureLeak.__init__):
(FailureLeak.message):
(FailureDocumentLeak):
(FailureDocumentLeak.__init__):
(FailureDocumentLeak.message):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.convert_to_failure):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.change_result_to_failure):
(_interpret_test_failures):
(summarize_results):
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(get_result):
(run_results):
(summarized_results):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(parse_args):
(RunTest.test_check_for_world_leaks):
* Scripts/webkitpy/port/driver.py:
(DriverPostTestOutput):
(DriverPostTestOutput.__init__):
(Driver.do_post_tests_work):
(Driver._parse_world_leaks_output):
(Driver.cmd_line):
(DriverProxy.do_post_tests_work):
* Scripts/webkitpy/port/test.py:
(unit_test_list):
* WebKitTestRunner/Options.cpp:
(WTR::OptionsHandler::OptionsHandler):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::checkForWorldLeaks):
2018-08-29 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/189081>
* DumpRenderTree/TestNetscapePlugIn/unix: Removed.
* WebKitTestRunner/UIScriptContext: Removed.
2018-08-29 Pablo Saavedra <psaavedra@igalia.com>
[GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
https://bugs.webkit.org/show_bug.cgi?id=189077
Reviewed by Michael Catanzaro.
Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
Linux ARMv7 Thumb2 SoftFP Release' buildjob.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2018-08-28 Daniel Bates <dabates@apple.com>
lldb-webkit: KeyError thrown for OptionSet
https://bugs.webkit.org/show_bug.cgi?id=189062
Reviewed by Simon Fraser.
For some reason lldb(1) may not retrieve the enumerator names for an enum value
when it calls update() on the synthetic children provider. If this occurs then
bail out as we cannot compute what enumerators are in the set.
* lldb/lldb_webkit.py:
(WTFOptionSetProvider.update):
2018-08-28 Sihui Liu <sihui_liu@apple.com>
Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
https://bugs.webkit.org/show_bug.cgi?id=189037
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
2018-08-28 David Kilzer <ddkilzer@apple.com>
Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
Found by tidy-Xcode-project-file script (see Bug 188754).
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
(IOKit.framework): Use `sourceTree = "<absolute>";` to match
other frameworks in the project.
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
(WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
built product instead of relative build directory path.
* jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
(JavaScriptCore.framework): Ditto.
* lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
(libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
product.
2018-08-28 Alex Christensen <achristensen@webkit.org>
Fix 32-bit Mac build.
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
2018-08-28 Alex Christensen <achristensen@webkit.org>
REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
https://bugs.webkit.org/show_bug.cgi?id=189050
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
This test wasn't run on iOS before. Let's re-introduce the WK_HAVE_C_SPI guard.
2018-08-28 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=189049
Reviewed by Tim Horton.
Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(simulateFolderDragWithURL):
2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
https://bugs.webkit.org/show_bug.cgi?id=189004
Reviewed by Dan Bernstein.
Move off of deprecated attachment insertion SPI.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
(-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
(-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
2018-08-27 Simon Fraser <simon.fraser@apple.com>
Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
https://bugs.webkit.org/show_bug.cgi?id=188994
Reviewed by Tim Horton.
This patch adds the notion of a "control command" in the protocol between webkitpy and
WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
that is checked for before trying to parse the input as test URL. For now, just one
commmand is supported, which is "#CHECK FOR WORLD LEAKS".
In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
DumpRenderTree stubs out the command, returning an empty block.
WebKitTestRunner responds to the command by dumping the list of live documents, if it was
run with the --check-for-world-leaks option.
When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
that leaked a document), and keeps them in a map of document identifier to test and live document URL.
Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
after which it requests the list of live documents for a final time, excluding any that are loaded
in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
list are therefore leaked (or abandoned).
Future patches will hook up webkitpy reporting for leaked documents.
* DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions):
(handleControlCommand):
(runTestingServerLoop):
* DumpRenderTree/win/DumpRenderTree.cpp:
(handleControlCommand):
(main):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::postGCTask):
(WTR::InjectedBundle::reportLiveDocuments):
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionCheckForWorldLeaks):
(WTR::OptionsHandler::OptionsHandler):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::AsyncTask::run):
(WTR::AsyncTask::currentTask):
(WTR::TestController::initialize):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::updateLiveDocumentsAfterTest):
(WTR::TestController::checkForWorldLeaks):
(WTR::TestController::findAndDumpWorldLeaks):
(WTR::TestController::willDestroyWebView):
(WTR::parseInputLine):
(WTR::TestController::waitForCompletion):
(WTR::TestController::handleControlCommand):
(WTR::TestController::runTestingServerLoop):
(WTR::TestController::run):
(WTR::TestController::didReceiveLiveDocumentsList):
(WTR::TestController::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestController.h:
(WTR::AsyncTask::AsyncTask):
(WTR::AsyncTask::taskComplete):
(WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2018-08-27 Alex Christensen <achristensen@webkit.org>
Fix API test after r235398
https://bugs.webkit.org/show_bug.cgi?id=188997
* TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::willGoToBackForwardListItem): Deleted.
willGoToBackForwardListItem is unused and unsupported. Removing its check.
2018-08-27 Daniel Bates <dabates@apple.com>
Partial revert of r235376
https://bugs.webkit.org/show_bug.cgi?id=189011
For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
Debug and Apple High Sierra Debug bots:
lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
Will investigate offline.
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
(TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
(TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
2018-08-27 Aditya Keerthi <akeerthi@apple.com>
Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
https://bugs.webkit.org/show_bug.cgi?id=188931
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
2018-08-27 Justin Fan <justin_fan@apple.com>
Add Justin Fan to list of WebKit contributors
https://bugs.webkit.org/show_bug.cgi?id=184431
* Scripts/webkitpy/common/config/contributors.json:
2018-08-27 Simon Fraser <simon.fraser@apple.com>
Convert timeout values in WebKitTestRunner to WTF::Seconds
https://bugs.webkit.org/show_bug.cgi?id=188987
Reviewed by Ryosuke Niwa.
Replace various 'int' timeout values with WTF::Seconds. The timeout argument
comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
using integers, convert to and from milliseconds.
Also do some #pragma once, and initializer cleanup.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::InjectedBundle): Deleted.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::timeout):
(WTR::TestRunner::setCustomTimeout):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::parseInputLine):
(WTR::TestController::runTest):
(WTR::TestController::runUntil):
(WTR::TestController::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::shortTimeout const):
(WTR::TestInvocation::createTestSettingsDictionary):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/TestOptions.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformRunUntil):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformRunUntil):
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformRunUntil):
2018-08-27 Simon Fraser <simon.fraser@apple.com>
Convert timeout values in WebKitTestRunner to WTF::Seconds
https://bugs.webkit.org/show_bug.cgi?id=188987
Reviewed by Ryosuke Niwa.
Replace various 'int' timeout values with WTF::Seconds. The timeout argument
comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
using integers, convert to and from milliseconds.
Also do some #pragma once, and initializer cleanup.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::InjectedBundle): Deleted.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::timeout):
(WTR::TestRunner::setCustomTimeout):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::parseInputLine):
(WTR::TestController::runTest):
(WTR::TestController::runUntil):
(WTR::TestController::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::shortTimeout const):
(WTR::TestInvocation::createTestSettingsDictionary):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/TestOptions.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformRunUntil):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformRunUntil):
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformRunUntil):
2018-08-27 Alex Christensen <achristensen@webkit.org>
REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
https://bugs.webkit.org/show_bug.cgi?id=189002
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
(TestWebKitAPI::TEST_F):
2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
https://bugs.webkit.org/show_bug.cgi?id=188903
<rdar://problem/43702993>
Reviewed by Tim Horton.
Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
both iOS and macOS:
• Dropping a folder as an attachment element, and then moving that attachment element in the document by
dragging and dropping.
• Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
_WKAttachment SPI to swap the attachments' backing file wrappers.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(runTestWithTemporaryFolder):
Add a helper function to run a test with a new folder path, created in the temporary directory and populated
with some sample content. This folder is deleted after running the test.
(simulateFolderDragWithURL):
Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
external to the web view.
(platformCopyRichTextWithMultipleAttachments):
(platformCopyRichTextWithImage):
(platformCopyPNG):
(TestWebKitAPI::TEST):
Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
this quirk is no longer supported.
Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
when using the same DragAndDropSimulator to perform multiple drags in a single test.
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator clearExternalDragInformation]):
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropSimulator clearExternalDragInformation]):
2018-08-27 Alex Christensen <achristensen@webkit.org>
Translate 4 tests using WKPageLoaderClient to ObjC
https://bugs.webkit.org/show_bug.cgi?id=188827
Reviewed by Tim Horton.
They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
bundle functionality any more.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
(-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
(-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
(TestWebKitAPI::TEST):
(): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
(-[ResponsivenessDelegate webView:didFinishNavigation:]):
(-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
(TestWebKitAPI::setInjectedBundleClient): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
(-[SessionStateDelegate webView:didFinishNavigation:]):
(-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
(TestWebKitAPI::createSessionStateData):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
(-[BackForwardClient webView:didFinishNavigation:]):
(-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::willGoToBackForwardListItem): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
https://bugs.webkit.org/show_bug.cgi?id=188989
Reviewed by Andy Estes.
Move this into the Tests/WebKit/Resources group in the project.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2018-08-27 Thomas Denney <tdenney@apple.com>
Avoid an exception in the interactive interpreter
https://bugs.webkit.org/show_bug.cgi?id=188991
Reviewed by Myles C. Maxfield.
* WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
local variable
2018-08-27 Thomas Denney <tdenney@apple.com>
Allow new vector types to work with the interactive interpreter
https://bugs.webkit.org/show_bug.cgi?id=188988
Reviewed by Myles C. Maxfield.
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
(FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
unncessarily visit the type arguments of a TypeRef, as by this point
there are none that are relevant.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics): Treat VectorType as a primitive type.
2018-08-27 Keith Rollin <krollin@apple.com>
Build system support for LTO
https://bugs.webkit.org/show_bug.cgi?id=187785
<rdar://problem/42353132>
Reviewed by Dan Bernstein.
Add tools/scripts support for controlling LTO builds.
* Scripts/build-webkit: Add --lto-mode={none,thin,full}.
* Scripts/set-webkit-configuration: Add support for saving LTO
configuration to WebKitBuild/LTO.
* Scripts/webkitdirs.pm: Add support for reading configuration from
WebKitBuild/LTO and providing it to xcodebuild.
(determineLTOMode):
(ltoMode):
(XcodeOptions):
2018-08-27 Daniel Bates <dabates@apple.com>
lldb-webkit: Pretty-print OptionSet
https://bugs.webkit.org/show_bug.cgi?id=188936
Reviewed by Simon Fraser.
Add LLDB formatters to pretty-print an OptionSet.
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(__lldb_init_module.lldb_webkit):
(WTFOptionSet_SummaryProvider):
(WTFOptionSetProvider):
(WTFOptionSetProvider.__init__):
(WTFOptionSetProvider.has_children):
(WTFOptionSetProvider.num_children):
(WTFOptionSetProvider.get_child_index):
(WTFOptionSetProvider.get_child_at_index):
(WTFOptionSetProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
(TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
https://bugs.webkit.org/show_bug.cgi?id=188957
<rdar://problem/43737715>
Reviewed by Darin Adler.
Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
generates _WKAttachments whose names reflect those alt attributes.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(testGIFFileURL):
(testGIFData):
(TestWebKitAPI::TEST):
2018-08-27 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r235367.
Broke iOS build.
Reverted changeset:
"Translate 4 tests using WKPageLoaderClient to ObjC"
https://bugs.webkit.org/show_bug.cgi?id=188827
https://trac.webkit.org/changeset/235367
2018-08-27 Alex Christensen <achristensen@webkit.org>
Fix GTK build.
* TestWebKitAPI/CMakeLists.txt:
2018-08-27 Alex Christensen <achristensen@webkit.org>
Fix iOS build.
* TestWebKitAPI/PlatformWebView.h:
2018-08-27 Alex Christensen <achristensen@webkit.org>
Translate 4 tests using WKPageLoaderClient to ObjC
https://bugs.webkit.org/show_bug.cgi?id=188827
Reviewed by Tim Horton.
They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
bundle functionality any more.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
(-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
(-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
(TestWebKitAPI::TEST):
(): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
(-[ResponsivenessDelegate webView:didFinishNavigation:]):
(-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
(TestWebKitAPI::setInjectedBundleClient): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
(-[SessionStateDelegate webView:didFinishNavigation:]):
(-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
(TestWebKitAPI::createSessionStateData):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
(-[BackForwardClient webView:didFinishNavigation:]):
(-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::willGoToBackForwardListItem): Deleted.
(TestWebKitAPI::setPageLoaderClient): Deleted.
2018-08-27 Keith Miller <keith_miller@apple.com>
test262-runner -s --test-only should replace test results
https://bugs.webkit.org/show_bug.cgi?id=188450
Reviewed by Michael Saboff.
* Scripts/test262/Runner.pm:
(main):
(SetFailureForTest):
(UpdateResults):
2018-08-26 Sam Weinig <sam@webkit.org>
Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
https://bugs.webkit.org/show_bug.cgi?id=188958
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
Update test protocol to have inheritance.
2018-08-26 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
https://bugs.webkit.org/show_bug.cgi?id=188933
<rdar://problem/43699724>
Reviewed by Darin Adler.
Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
tests. These new tests exercise the following cases:
• Inserting and removing newlines before an inline image with an attachment element does not cause new
_WKAttachments to be created and destroyed.
• Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
process with the original _WKAttachment.
• A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
lose a _WKAttachment.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView expectElementCount:tagName:]):
(TestWebKitAPI::TEST):
Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
as image elements, but still have associated attachment elements whose attachment identifiers (observed via
script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropSimulator runFrom:to:]):
(-[DragAndDropSimulator continueDragSession]):
(-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
flaky, due to how the promised data is retrieved asynchronously when performing the drop.
(-[DragAndDropSimulator _webView:didPerformDragOperation:]):
2018-08-26 Lucas Forschler <lforschler@apple.com>
Open svn.webkit.org for commits.
2018-08-24 Myles C. Maxfield <mmaxfield@apple.com>
Unreviewed test fix after r235249
https://bugs.webkit.org/show_bug.cgi?id=178981
* WebGPUShadingLanguageRI/Test.js:
2018-08-24 Alex Christensen <achristensen@webkit.org>
Introduce _WKInspector
https://bugs.webkit.org/show_bug.cgi?id=188923
<rdar://problem/34657861>
Reviewed by Brian Burg.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController showHideWebInspector:]):
2018-08-24 Jonathan Bedard <jbedard@apple.com>
Fix handling of iOS minor versions in default_baseline_search_path
https://bugs.webkit.org/show_bug.cgi?id=188902
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
it as a the CURRENT_VERSION.
2018-08-24 Antti Koivisto <antti@apple.com>
Allow creating WeakPtrs to const objects
https://bugs.webkit.org/show_bug.cgi?id=188785
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::weakPtrFactory const):
(TestWebKitAPI::TEST):
(TestWebKitAPI::Base::weakPtrFactory): Deleted.
2018-08-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to inject/register user content in isolated worlds
https://bugs.webkit.org/show_bug.cgi?id=188883
Reviewed by Michael Catanzaro.
Add test cases for the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(isStyleSheetInjectedForURLAtPath):
(isScriptInjectedForURLAtPath):
(testUserContentManagerInjectedStyleSheet):
(testUserContentManagerInjectedScript):
(UserScriptMessageTest::registerHandler):
(UserScriptMessageTest::unregisterHandler):
(UserScriptMessageTest::postMessageAndWaitUntilReceived):
(testUserContentManagerScriptMessageInWorldReceived):
(beforeAll):
2018-08-23 Simon Fraser <simon.fraser@apple.com>
Add support for dumping GC heap snapshots, and a viewer
https://bugs.webkit.org/show_bug.cgi?id=186416
Reviewed by Joseph Pecoraro.
Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
page for inspection (or set via the 'filename' URL parameter).
For now, this page shows all objects, all roots, and the shortest path from a root
to all HTMLDocuments and Windows.
* GCHeapInspector/gc-heap-inspector.html: Added.
* GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
* GCHeapInspector/script/interface.js: Added.
2018-08-23 Alex Christensen <achristensen@webkit.org>
Add new _webViewRequestPointerLock SPI with a completionHandler
https://bugs.webkit.org/show_bug.cgi?id=188907
<rdar://problem/35871109>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
(-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2018-08-23 David Fenton <david_fenton@apple.com>
Unreviewed, rolling out r235129.
broke internal builds
Reverted changeset:
"Allow creating WeakPtrs to const objects"
https://bugs.webkit.org/show_bug.cgi?id=188785
https://trac.webkit.org/changeset/235129
2018-08-23 Jonathan Bedard <jbedard@apple.com>
API tests should output json results
https://bugs.webkit.org/show_bug.cgi?id=188869
<rdar://problem/43615652>
Reviewed by Aakash Jain.
JSON output for API tests is of the form:
{
"Failed": [{"name": <test name>, "output": <test log>}],
"Timedout": [...],
"Skipped": [...],
"Crashed": [...]
}
Tests which are successful are not displayed in the json output.
* Scripts/webkitpy/api_tests/manager.py:
(Manager.run): Print test results to provided file as a json dictionary.
* Scripts/webkitpy/api_tests/run_api_tests.py:
(run): Pass json option.
(parse_args): Add --json-output flag.
2018-08-23 Andy Estes <aestes@apple.com>
[Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=188829
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-08-23 Myles C. Maxfield <mmaxfield@apple.com>
[WSL] Ternary expressions appear to be unimplemented
https://bugs.webkit.org/show_bug.cgi?id=178981
Reviewed by Saam Barati.
Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
is parsed as (a ? b : (c ? d : e)).
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitTernaryExpression):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitTernaryExpression):
* WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
(NormalUsePropertyResolver.prototype.visitTernaryExpression):
(NormalUsePropertyResolver):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossibleTernaryConditional):
* WebGPUShadingLanguageRI/PropertyResolver.js:
(PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
(PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
(PropertyResolver.prototype._visitRValuesWithinLValue):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitTernaryExpression):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:
2018-08-22 Ryosuke Niwa <rniwa@webkit.org>
Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
https://bugs.webkit.org/show_bug.cgi?id=188880
Reviewed by Saam Barati.
Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
test WebKit's behavior in layout tests.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::terminateNetworkProcess):
(WTR::TestRunner::terminateServiceWorkerProcess):
(WTR::TestRunner::terminateStorageProcess):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-08-23 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
https://bugs.webkit.org/show_bug.cgi?id=188773
Reviewed by Filip Pizlo.
Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
typeArguments.
Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
"vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
be uniquely identified by name. That name was then matched to the string-only NativeType name.
This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
implement in the future.
So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
which had been set - this was true even before this patch.
This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
NameContext for the appropriate array. This is the same way that function resolution works.
We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
an okay start. This works just about the same way that function overload resolution works.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.resolve):
* WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
(checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
(checkTypesWithArguments.TypeWithArgumentsChecker):
(checkTypesWithArguments):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
typeArguments share names, this has to be updated to map strings to arrays for these types.
(Checker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/InferTypesForCall.js:
(inferTypesForCall): Don't know why this was here.
(inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
* WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
moves in the direction of matching the standard library in the spec.
(Intrinsics.cast):
(Intrinsics.bitwiseCast):
(Intrinsics.castToHalf):
(Intrinsics.):
(Intrinsics):
* WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.underlyingThings.prototype.else):
(NameContext.prototype.Symbol.iterator):
(NameContext):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
(NameResolver.prototype.visitCallExpression):
(NameResolver):
(NameResolver.prototype.visitVectorType): Deleted.
* WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
(NativeType):
(NativeType.prototype.get typeArguments):
(NativeType.prototype.toString):
(NativeType.create):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
(Program.prototype.add):
(Program.prototype.toString):
(Program):
* WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
* WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
(resolveNamesInTypes):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
* WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
(resolveTypeDefsInTypes):
* WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitVectorType):
(Rewriter):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
(bool.operator):
* WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
(StatementCloner.prototype.visitNativeType):
* WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
(synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
(synthesizeDefaultConstructorOperator.FindAllTypes):
(synthesizeDefaultConstructorOperator):
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
(synthesizeStructAccessors.createTypeRef):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
(TypeOverloadResolutionFailure):
(TypeOverloadResolutionFailure.prototype.get type):
(TypeOverloadResolutionFailure.prototype.get reason):
(TypeOverloadResolutionFailure.prototype.toString):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap):
(TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
(TypeRef.prototype.toString):
(TypeRef):
(TypeRef.instantiate): Deleted.
* WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
adds this facility back into the compiler (it was previously deleted).
(UnificationContext.prototype.verify):
* WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
(VectorType):
(VectorType.prototype.get elementType):
(VectorType.prototype.get numElements):
(VectorType.prototype.get numElementsValue):
(VectorType.prototype.toString):
* WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
(Visitor.prototype.visitTypeRef):
(Visitor.prototype.visitNativeType):
(Visitor.prototype.visitVectorType):
(Visitor):
* WebGPUShadingLanguageRI/index.html:
2018-08-23 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Attachment elements don't appear in drag images on macOS
https://bugs.webkit.org/show_bug.cgi?id=188823
<rdar://problem/43616378>
Reviewed by Tim Horton.
Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
attachment element in macOS is not completely transparent.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(isCompletelyTransparent):
(TestWebKitAPI::TEST):
2018-08-23 Jonathan Bedard <jbedard@apple.com>
Explain test name matching in run-api-tests help
https://bugs.webkit.org/show_bug.cgi?id=188280
Reviewed by Ryosuke Niwa.
Improve the run-api-tests help message to explain how test
name matching works.
* Scripts/webkitpy/api_tests/run_api_tests.py:
(parse_args):
* Scripts/webkitpy/port/base.py:
(Port):
(Port.path_to_api_test_binaries): Make binary names a globally accessible array.
* Scripts/webkitpy/port/win.py:
(WinPort):
(WinPort.path_to_api_test_binaries): Ditto.
2018-08-23 Youenn Fablet <youenn@apple.com>
Use "wpt serve" to launch WPT server
https://bugs.webkit.org/show_bug.cgi?id=188848
Reviewed by Ryosuke Niwa.
Use "wpt serve" provided by WPT instead of using our custom launcher.
This simplifies things and will avoid future breakage.
Further simplify web_platform_test_server.py by removing no longer needed actions.
- Do not copy files but use alias
- Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
- Stop enumerating subprocess pids.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.interrupt):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
(WebPlatformTestServer.ports_to_forward):
(WebPlatformTestServer._prepare_config):
(WebPlatformTestServer._spawn_process):
(WebPlatformTestServer._stop_running_server):
2018-08-23 Jonathan Bedard <jbedard@apple.com>
run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests
https://bugs.webkit.org/show_bug.cgi?id=188262
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/api_tests/run_api_tests.py:
(parse_args):
2018-08-22 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Support dragging attachment elements out as files on macOS
https://bugs.webkit.org/show_bug.cgi?id=181294
<rdar://problem/36298801>
Reviewed by Tim Horton.
Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
elements.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView attachmentElementMidPoint]):
Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
attachment element in the document.
(TestWebKitAPI::TEST):
Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
used to write attachment data to a path on disk. Additionally, refactor an existing API test,
MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
attachment elements around in a document by using drag and drop.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator dealloc]):
(-[DragAndDropSimulator runFrom:to:]):
(-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
updates asynchronously. This matches AppKit behavior.
(-[DragAndDropSimulator continueDragSession]):
Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
itself until the progress reaches 1.
(-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
(-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
Pull out common logic for creating a new TestDraggingInfo after starting a drag.
(-[DragAndDropSimulator insertedAttachments]):
(-[DragAndDropSimulator removedAttachments]):
(-[DragAndDropSimulator draggingSession]):
(-[DragAndDropSimulator receivePromisedFiles]):
Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
(-[DragAndDropSimulator endDataTransfer]):
Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
(-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
(-[DragAndDropSimulator _webView:didRemoveAttachment:]):
Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
2018-08-22 Aditya Keerthi <akeerthi@apple.com>
[iOS] Add support for the inputmode attribute
https://bugs.webkit.org/show_bug.cgi?id=183621
Reviewed by Tim Horton.
Added an API test to verify that the correct UIKeyboardType is set depending on
the type, inputmode, and pattern specified for an input field.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-08-22 Alex Christensen <achristensen@webkit.org>
Fix API test on Sierra after r235139
https://bugs.webkit.org/show_bug.cgi?id=188810
* TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
(TEST):
2018-08-22 David Kilzer <ddkilzer@apple.com>
Move files in WebCore project to match Xcode folder structure
<https://webkit.org/b/188851>
Reviewed by Tim Horton.
* Scripts/extract-localizable-strings:
* Scripts/update-webkit-localizable-strings:
- Update to match new location of extract-localizable-strings.pl.
2018-08-21 Alex Christensen <achristensen@webkit.org>
Roll out r235139 and r235146
https://bugs.webkit.org/show_bug.cgi?id=188805
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2018-08-21 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
https://bugs.webkit.org/show_bug.cgi?id=188715
<rdar://problem/43541790>
Reviewed by Tim Horton.
Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
(TestWebKitAPI::TEST):
2018-08-21 Alex Christensen <achristensen@webkit.org>
Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188821
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::TEST):
2018-08-21 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Call expressions shouldn't have type arguments
https://bugs.webkit.org/show_bug.cgi?id=188770
Reviewed by Filip Pizlo.
Call expressions only had type arguments for casts, becuase native types can have type arguments.
However, instead of putting those type arguments on the CallExpression, we should parse the casted
type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
Test: casts
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression):
(CallExpression.prototype.get name):
(CallExpression.resolve):
(CallExpression.prototype.get typeArguments): Deleted.
(CallExpression.prototype.becomeCast): Deleted.
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/Parse.js:
(parseConstexpr):
(parseTypeDef):
(parseLeftOperatorCall):
(parseCallExpression.let.parseArguments):
(parsePossiblePrefix):
(parsePossibleRelationalEquality):
(parseLeftLogicalExpression):
(parseIfStatement):
(parseWhile):
(parseFor):
(parseDo):
* WebGPUShadingLanguageRI/RemoveTypeArguments.js:
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitCallExpression):
2018-08-21 Alex Christensen <achristensen@webkit.org>
Translate WebKit.LimitTitleSize API test into ObjC
https://bugs.webkit.org/show_bug.cgi?id=188810
Reviewed by Andy Estes.
It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
* TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
(TEST):
(-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::TEST): Deleted.
2018-08-21 Alex Christensen <achristensen@webkit.org>
Remove unused shouldKeepCurrentBackForwardListItemInList check
https://bugs.webkit.org/show_bug.cgi?id=188805
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
2018-08-21 Alex Christensen <achristensen@webkit.org>
Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188813
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
* TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
(TestWebKitAPI::didLayout):
(TestWebKitAPI::setPageLoaderClient):
2018-08-21 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
https://bugs.webkit.org/show_bug.cgi?id=188496
<rdar://problem/43216836>
Reviewed by Tim Horton.
Adjusts existing attachment API tests. See below for more detail.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
(-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
(-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
(-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
update an existing attachment with a file wrapper.
(-[_WKAttachment expectRequestedDataToBe:]):
(TestWebKitAPI::TEST):
Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
Also augment an existing test to check that an attachment element which has been copied and pasted within the
same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
backed by the same NSFileWrapper that was originally used to insert the attachment.
Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
editable area inserts attachment elements into the document and notifies the UI client with the inserted
attachment data.
(-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
(-[_WKAttachment synchronouslyRequestData:]): Deleted.
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
Move off of -_webView:didInsertAttachment:.
(-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
2018-08-21 David Kilzer <ddkilzer@apple.com>
sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
<https://webkit.org/b/188755>
Reviewed by Andy Estes.
* Scripts/sort-Xcode-project-file: Fix regular expression to
make `mainGroup` name optional.
2018-08-21 Andy VanWagoner <andy@vanwagoner.family>
Unreviewed, add myself to committers list.
* Scripts/webkitpy/common/config/contributors.json:
2018-08-21 Antti Koivisto <antti@apple.com>
Allow creating WeakPtrs to const objects
https://bugs.webkit.org/show_bug.cgi?id=188785
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::weakPtrFactory const):
(TestWebKitAPI::TEST):
(TestWebKitAPI::Base::weakPtrFactory): Deleted.
2018-08-21 Per Arne Vollan <pvollan@apple.com>
[WebGL] Contexts are not updated when display configuration changed.
https://bugs.webkit.org/show_bug.cgi?id=188750
Reviewed by Brent Fulgham.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-08-21 John Wilander <wilander@apple.com>
Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
https://bugs.webkit.org/show_bug.cgi?id=188757
<rdar://problem/38713390>
Reviewed by Alex Christensen.
These changes add the new WebKitTestRunner function
isStatisticsRegisteredAsSubresourceUnder().
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-08-21 Alex Christensen <achristensen@webkit.org>
Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=188797
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::didSameDocumentNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
(TestWebKitAPI::didFailProvisionalNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::renderingProgressDidChange):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didLayout): Deleted.
* TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::renderingProgressDidChange):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didLayout): Deleted.
* TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
(TestWebKitAPI::State::State):
(TestWebKitAPI::didStartProvisionalNavigation):
(TestWebKitAPI::didCommitNavigation):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::decidePolicyForNavigationAction):
(TestWebKitAPI::decidePolicyForResponse):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
* TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
(TestWebKitAPI::didSameDocumentNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKView::SetUp):
(WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
2018-08-20 Alex Christensen <achristensen@webkit.org>
Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
https://bugs.webkit.org/show_bug.cgi?id=188771
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setClients):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/Find.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/FindMatches.mm:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame): Deleted.
* TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::setPageLoaderClient):
(TestWe