Update ReadMe.md
[qtwebkit.git] / Tools / ChangeLog-2018-09-11
blob4d16474d58115c4ba45ca6d32ffff9acf1e36c37
1 2018-09-11  Jiewen Tan  <jiewen_tan@apple.com>
3         [WebAuthN] Polish AuthenticatorManager and rename it to AuthenticatorCoordinator
4         https://bugs.webkit.org/show_bug.cgi?id=189277
5         <rdar://problem/44115936>
7         Reviewed by Chris Dumez.
9         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
10         (TestWebKitAPI::TEST):
12 2018-09-10  Michael Saboff  <msaboff@apple.com>
14         Test262 failure with Named Capture Groups - using a reference before the group is defined
15         https://bugs.webkit.org/show_bug.cgi?id=189407
17         Reviewed by Alex Christensen.
19         Updated test.
21         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
22         (TestWebKitAPI::TEST_F):
24 2018-09-10  Thomas Denney  <tdenney@apple.com>
26         [WHLSL] Inlining should be optional
27         https://bugs.webkit.org/show_bug.cgi?id=188641
29         Reviewed by Myles C. Maxfield.
31         Inlining functions is now optional, and disabled by default. This patch
32         additionally resolves https://bugs.webkit.org/show_bug.cgi?id=189326 as
33         the code for calling functions was completely rewritten.
35         * WebGPUShadingLanguageRI/All.js: Add LateCheckAndLayoutBuffers.js
36         * WebGPUShadingLanguageRI/CallFunction.js:
37         (callFunction): Remove dependency on inlining.
38         * WebGPUShadingLanguageRI/Evaluator.js:
39         (Evaluator.prototype._snapshot): Allow null srcPtr in the case of void
40         returns from functions.
41         (Evaluator.prototype._evaluateArguments): Abstract out argument
42         evaluation, ensuring that the order is right-to-left for
43         FunctionLikeBlocks (i.e. inlined functions) and regular calls.
44         (Evaluator.prototype._evaluateFunction): Abstracted out function body
45         evaluation for inlined and non-inlined functions.
46         (Evaluator.prototype.visitFunctionLikeBlock): Ditto.
47         (Evaluator.prototype.visitCallExpression): Ditto.
48         * WebGPUShadingLanguageRI/Inline.js:
49         (_inlineFunction): Moved logic that is needed regardless of inlining
50         into LateCheckAndLayoutBuffers.js
51         (resolveInlinedFunction): Deleted.
52         * WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js: Moved logic for
53         late checking.
54         * WebGPUShadingLanguageRI/Prepare.js: Make inlining optional and off by
55         default.
56         * WebGPUShadingLanguageRI/SPIRV.html: Update include.
57         * WebGPUShadingLanguageRI/Test.html: Ditto.
58         * WebGPUShadingLanguageRI/Test.js: Right-to-left argument evaluation,
59         and inlining tests.
60         * WebGPUShadingLanguageRI/index.html: Update include.
62 2018-09-10  Wenson Hsieh  <wenson_hsieh@apple.com>
64         [iOS] Unable to change the value of select elements while preserving focus state
65         https://bugs.webkit.org/show_bug.cgi?id=189475
66         <rdar://problem/41125764>
68         Reviewed by Tim Horton.
70         Adds a pair of new API tests to verify that (1) resigning first responder while preserving focus does not blur
71         the focused element, and (2) if another element is focused and presents an input view while preserving focus,
72         then we reset preservation state and allow first responder resignation to blur the focused element.
74         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
75         * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: Added.
76         (webViewForTestingFocusPreservation):
77         (TestWebKitAPI::TEST):
78         * TestWebKitAPI/cocoa/TestWKWebView.h:
79         * TestWebKitAPI/cocoa/TestWKWebView.mm:
80         (-[TestWKWebView textInputContentView]):
81         * TestWebKitAPI/ios/UIKitSPI.h:
83 2018-09-10  Thomas Denney  <tdenney@apple.com>
85         [WHLSL] Add the test shader type
86         https://bugs.webkit.org/show_bug.cgi?id=189484
88         Reviewed by Myles C. Maxfield.
90         Tests are now precedeed by the 'test' keyword so that they are treated
91         as entry points, in the same way as vertex and fragment shaders.
93         * WebGPUShadingLanguageRI/LateChecker.js:
94         (LateChecker.prototype._checkShaderType): Allow tests to return any
95         type, as some currently return void/pointer types.
96         * WebGPUShadingLanguageRI/Parse.js:
97         (parseFuncDecl): Add the test keyword.
98         * WebGPUShadingLanguageRI/Test.js: Prepend 'test' to every single test.
100 2018-09-10  Don Olmstead  <don.olmstead@sony.com>
102         CBOR coders should only be compiled if WebAuthN is enabled
103         https://bugs.webkit.org/show_bug.cgi?id=189425
105         Reviewed by Jiewen Tan.
107         Just places ENABLE(WEB_AUTHN) guards around CBOR test files.
109         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
110         * TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp:
111         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
113 2018-09-10  Daniel Bates  <dabates@apple.com>
115         [iOS] Make WKWebView become the first responder to support testing key presses to non-editable elements
116         https://bugs.webkit.org/show_bug.cgi?id=189432
118         Reviewed by Simon Fraser.
120         Make the WKWebView become the first responder immediately without the need to focus an editable
121         element. This allows us to test that DOM keyboard events are dispatched to non-editable elements.
123         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
124         (WTR::PlatformWebView::PlatformWebView):
126 2018-09-10  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
128         [WTF] Add Markable<T, Traits>
129         https://bugs.webkit.org/show_bug.cgi?id=189231
131         Reviewed by Sam Weinig.
133         Add tests for Markable.
135         * TestWebKitAPI/CMakeLists.txt:
136         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
137         * TestWebKitAPI/Tests/WTF/Markable.cpp: Added.
138         (TestWebKitAPI::TEST):
140 2018-09-10  Simon Fraser  <simon.fraser@apple.com>
142         Before tracking Document leaks, clear all caches
143         https://bugs.webkit.org/show_bug.cgi?id=189459
145         Reviewed by Sam Weinig.
147         It's not enough to clear the page and memory caches; font caches can reference Documents (for SVG fonts),
148         so just call WebCore::releaseMemory(), which empties caches including the page and memory caches, and
149         does the GC that we need to happen.
151         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
152         (WTR::InjectedBundle::didReceiveMessageToPage):
154 2018-09-07  Matt Rajca  <mrajca@apple.com>
156         https://bugs.webkit.org/show_bug.cgi?id=189433
157         <rdar://problem/44186498> Touch Bar displays an active PIP button for audio elements (and it doesn't do anything)
159         Reviewed by Eric Carlson.
161         An API test has been added that checks the value of the canTogglePictureInPicture and ensures it
162         is NO when audio elements are playing.
164         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
165         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.html:
166         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
167         (TestWebKitAPI::TEST):
168         * TestWebKitAPI/Tests/WebKitCocoa/audio-with-controls.html: Added.
170 2018-09-09  Commit Queue  <commit-queue@webkit.org>
172         Unreviewed, rolling out r235832.
173         https://bugs.webkit.org/show_bug.cgi?id=189464
175         Broke WebKit2 tests (Requested by ap on #webkit).
177         Reverted changeset:
179         "[Cocoa] Turn on ARC for WebKitTestRunner"
180         https://bugs.webkit.org/show_bug.cgi?id=189228
181         https://trac.webkit.org/changeset/235832
183 2018-09-08  Simon Fraser  <simon.fraser@apple.com>
185         accessibility/notification-listeners.html abandons a document
186         https://bugs.webkit.org/show_bug.cgi?id=188724
188         Reviewed by Darin Adler.
189         
190         AccessibilityControllerMac leaked m_globalNotificationHandler, which leaks a JSValueProtect'd function,
191         which leaks a Document. Fix by using adoptNS().
193         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
194         (WTR::AccessibilityController::addNotificationListener):
196 2018-09-08  Wenson Hsieh  <wenson_hsieh@apple.com>
198         [Cocoa] Use more bridging casts in TestWebKitAPI
199         https://bugs.webkit.org/show_bug.cgi?id=189457
201         Reviewed by Darin Adler.
203         Adds some bridging casts to TestWebKitAPI, when converting betweeen several common types of objects, including:
204         CFStringRef <=> NSString
205         CFURLRef <=> NSURL
206         WKPreferences <=> WKPreferencesRef
207         CFDataRef <=> NSData
209         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
210         (TestWebKitAPI::TEST_F):
211         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
212         (readHTMLFromPasteboard):
213         (createWebViewWithCustomPasteboardDataEnabled):
214         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
215         (createWebViewWithCustomPasteboardDataEnabled):
216         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
217         (TEST):
218         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
219         (writeHTMLToPasteboard):
220         (createWebViewWithCustomPasteboardDataSetting):
221         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
222         (TEST):
223         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
224         (TestWebKitAPI::setUpWebView):
225         (TestWebKitAPI::TEST):
226         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
227         (writeRTFToPasteboard):
228         (writeRTFDToPasteboard):
229         (createWebViewWithCustomPasteboardDataEnabled):
230         (TEST):
231         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
232         (createWebViewWithCustomPasteboardDataEnabled):
233         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
234         (TestWebKitAPI::TEST):
235         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
236         (webViewForTestingAttachments):
237         * TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
238         (writeRTFDToPasteboard):
239         (TestWebKitAPI::TEST):
240         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
241         (TestWebKitAPI::TEST):
242         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
243         (checkRichTextTypePrecedesPlainTextType):
244         (TestWebKitAPI::TEST):
245         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
246         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
247         (TestWebKitAPI::TEST):
248         * TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
249         (TestWebKitAPI::Util::createInjectedBundlePath):
250         (TestWebKitAPI::Util::createURLForResource):
251         (TestWebKitAPI::Util::URLForNonExistentResource):
252         (TestWebKitAPI::Util::MIMETypeForWKURLResponse):
253         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
254         (TestWebKitAPI::WebKitAgnosticTest::loadURL):
256 2018-09-02  Darin Adler  <darin@apple.com>
258         [Cocoa] Turn on ARC for WebKitTestRunner
259         https://bugs.webkit.org/show_bug.cgi?id=189228
261         Reviewed by Sam Weinig.
263         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
264         (+[EventSerializer dictionaryForEvent:relativeToTime:]): Removed autorelease.
266         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
267         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Removed autorelease.
269         * WebKitTestRunner/Configurations/Base.xcconfig: Added CLANG_ENABLE_OBJC_ARC.
271         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
272         (WTR::AccessibilityController::accessibleElementById): Use a __bridge cast.
273         * WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm:
274         (WTR::AccessibilityTextMarker::isEqual): Ditto.
276         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
277         (WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
278         (WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
279         (WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
280         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use a __bridge cast.
281         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
282         (WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
283         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
284         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
285         (WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
286         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
287         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
288         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
289         (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
290         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): Ditto.
291         (WTR::_CGPathEnumerationIteration): Ditto.
292         (WTR::AccessibilityUIElement::pathDescription const): Ditto.
294         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
295         (-[AccessibilityNotificationHandler dealloc]): Removed [super dealloc].
297         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
298         (WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
299         (WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
300         (WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
301         (WTR::createJSStringRef): Removed autorelease.
303         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
304         (WTR::initializeWebViewConfiguration): Removed release.
305         (WTR::TestController::cocoaPlatformInitialize): Removed release.
306         (WTR::TestController::platformCreateOtherPage): Removed autorelease.
308         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
309         (-[TestRunnerWKWebView dealloc]): Removed [super dealloc] and also many
310         cases of setting properties to nil that were only present for memory
311         management reasons.
313         * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
314         (-[GeneratedTouchesDebugWindow dealloc]): Removed release and [super dealloc].
316         * WebKitTestRunner/ios/HIDEventGenerator.mm:
317         (-[HIDEventGenerator dealloc]): Deleted.
318         (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]): Removed
319         Block_copy.
320         (-[HIDEventGenerator markerEventReceived:]): Removed Block_release.
321         (-[HIDEventGenerator interpolatedEvents:]): Removed release.
322         (-[HIDEventGenerator sendEventStream:completionBlock:]): Removed autorelease.
324         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
325         (-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
326         (WTR::PlatformWebView::PlatformWebView): Removed release.
327         (WTR::PlatformWebView::~PlatformWebView): Removed release.
328         (WTR::PlatformWebView::addChromeInputField): Removed release.
329         (WTR::PlatformWebView::removeChromeInputField): Removed release.
331         * WebKitTestRunner/ios/TestControllerIOS.mm:
332         (WTR::TestController::initializeInjectedBundlePath): Use __bridge cast.
333         (WTR::TestController::initializeTestPluginDirectory): Ditto.
335         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
336         (WTR::UIScriptController::accessibilitySpeakSelectionContent const):
337         Use __bridge cast.
338         (WTR::UIScriptController::enterText): Ditto.
339         (WTR::UIScriptController::selectFormPopoverTitle const): Ditto.
340         (WTR::UIScriptController::textContentType const): Ditto.
341         (WTR::UIScriptController::formInputLabel const): Ditto.
342         (WTR::UIScriptController::scrollingTreeAsText const): Ditto.
344         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
345         (WTR::PlatformWebView::~PlatformWebView): Removed release.
346         (WTR::PlatformWebView::addChromeInputField): Removed release.
348         * WebKitTestRunner/mac/TestControllerMac.mm:
349         (WTR::allowedFontFamilySet): Removed retain.
350         (WTR::systemHiddenFontFamilySet): Removed retain.
352         * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
353         (-[WebKitTestRunnerDraggingInfo draggingDestinationWindow]): Removed retain.
354         (-[WebKitTestRunnerDraggingInfo dealloc]): Deleted.
356         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
357         (+[WebKitTestRunnerPasteboard _pasteboardWithName:]): Removed release.
358         (+[WebKitTestRunnerPasteboard releaseLocalPasteboards]): Removed release.
359         Method name is still OK because setting localPasteboards to nil will
360         still release them.
361         (+[NSPasteboard superAlloc]): Added. Helper so that LocalPasteboard can
362         bypass +[NSPasteboard alloc].
363         (+[NSPasteboard superAllocWithZone:]): Ditto.
364         (+[LocalPasteboard alloc]): Call superAlloc instead of class_createInstance.
365         This is a different way to achieve the "bypass NSPasteboard" behavior we need.
366         (+[LocalPasteboard allocWithZone:]): Added. Calls superAllocWithZone: for the
367         same reason as above. Needed because, at least at this time, +[NSObject alloc]
368         calls +allocWithZone: so we have to override both.
369         (-[LocalPasteboard dealloc]): Deleted.
370         (-[LocalPasteboard addTypes:owner:]): Removed release.
372         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm:
373         (-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
375         * WebKitTestRunner/mac/main.mm:
376         (disableAppNapInUIProcess): Removed retain.
378 2018-09-07  Fujii Hironori  <Hironori.Fujii@sony.com>
380         [WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
381         https://bugs.webkit.org/show_bug.cgi?id=189336
383         Reviewed by Alex Christensen.
385         WKPageSetPageLoaderClient is deprecated. Replaced it with
386         WKPageSetPageNavigationClient.
388         * MiniBrowser/win/WebKitBrowserWindow.cpp:
389         (WebKitBrowserWindow::WebKitBrowserWindow):
390         Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
391         (WebKitBrowserWindow::didFinishNavigation):
392         Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
393         (WebKitBrowserWindow::didCommitNavigation):
394         Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
395         (WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
396         (WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
397         * MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
399 2018-09-07  Daniel Bates  <dabates@apple.com>
401         [iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
402         https://bugs.webkit.org/show_bug.cgi?id=189325
404         Reviewed by Wenson Hsieh.
406         Fixes an issue where the test infrastructure would incorrectly synthesized a shift key press followed
407         by a ` key press (i.e. type '~') when instructed to simulate typing a grave accent (`). Typing a
408         grave accent does not require holding the shift key.
410         * WebKitTestRunner/ios/HIDEventGenerator.mm:
411         (shouldWrapWithShiftKeyEventForCharacter):
413 2018-09-07  Frederic Wang  <fwang@igalia.com>
415         [CSSOM View] Handle the scrollingElement in Element::scroll(Left/Top/Width/Height/To)
416         https://bugs.webkit.org/show_bug.cgi?id=182230
418         Reviewed by Simon Fraser.
420         This patch enables CSSOMViewScrollingAPI during test execution.
422         * DumpRenderTree/mac/DumpRenderTree.mm:
423         (enableExperimentalFeatures):
424         (resetWebPreferencesToConsistentValues):
425         * DumpRenderTree/win/DumpRenderTree.cpp:
426         (enableExperimentalFeatures):
427         * WebKitTestRunner/TestController.cpp:
428         (WTR::TestController::resetPreferencesToConsistentValues):
430 2018-09-07  Simon Fraser  <simon.fraser@apple.com>
432         resultsjsonparser needs to handle leak failures
433         https://bugs.webkit.org/show_bug.cgi?id=189430
435         Reviewed by Alexey Proskuryakov.
436         
437         Teach resultsjsonparser how to handle LEAK failures, building a FailureDocumentLeak
438         with a list of the leaked URLs.
440         * Scripts/webkitpy/common/net/resultsjsonparser.py:
441         (JSONTestResult._failure_types_from_actual_result):
442         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
443         (ParsedJSONResultsTest):
444         (test_basic):
446 2018-09-07  Aakash Jain  <aakash_jain@apple.com>
448         [ews-build] API tests should output result summary in json
449         https://bugs.webkit.org/show_bug.cgi?id=189417
451         Reviewed by Lucas Forschler.
453         * BuildSlaveSupport/ews-build/steps.py:
454         (RunAPITests): Passed --json-output parameter to run-api-tests.
455         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
457 2018-09-07  Commit Queue  <commit-queue@webkit.org>
459         Unreviewed, rolling out r235784.
460         https://bugs.webkit.org/show_bug.cgi?id=189421
462         RunLoopCF does not agree to the fix (Requested by yusukesuzuki
463         on #webkit).
465         Reverted changeset:
467         "[RunLoopGeneric] OneShotTimer should be inactive when fired."
468         https://bugs.webkit.org/show_bug.cgi?id=189335
469         https://trac.webkit.org/changeset/235784
471 2018-09-07  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
473         [RunLoopGeneric] OneShotTimer should be inactive when fired.
474         https://bugs.webkit.org/show_bug.cgi?id=189335
476         Reviewed by Yusuke Suzuki.
478         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
479         (TestWebKitAPI::TEST):
481         Add test expectations about timer's active state.
483         Add a new test to restart a one-shot timer within
484         its fired callback.
486 2018-09-06  Zalan Bujtas  <zalan@apple.com>
488         [LFC] Add support for min/max-height percentage values.
489         https://bugs.webkit.org/show_bug.cgi?id=189391
491         Reviewed by Antti Koivisto.
493         * LayoutReloaded/misc/LFC-passing-tests.txt:
495 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
497         Log when leak detection changes the test result
498         https://bugs.webkit.org/show_bug.cgi?id=189293
500         Reviewed by Jon Lee.
501         
502         When you have an "Leak" expectation in TestExpectations, it's confusing to see a test unexpectedly pass,
503         but then show up as an expected fail at the end (because leak detection happens at the end of a shard).
504         So log when leak detection changes a test result.
506         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
507         (LayoutTestRunner._annotate_results_with_additional_failures):
508         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
509         (TestExpectations):
511 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
513         [macOS] [WK2] Support changing attributes for selected text (text shadow, underline, strike-through)
514         https://bugs.webkit.org/show_bug.cgi?id=189356
515         <rdar://problem/44185674>
517         Reviewed by Tim Horton.
519         Adds a new API test to verify that some font attributes (text shadow, underline, and strike-through) can be
520         added and removed using NSFontPanel.
522         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
523         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
525         Add the new API test.
527         (TestWebKitAPI::TEST):
528         * TestWebKitAPI/cocoa/TestWKWebView.h:
529         * TestWebKitAPI/mac/NSFontPanelTesting.h: Added.
530         * TestWebKitAPI/mac/NSFontPanelTesting.mm: Added.
532         Introduce a new file that extends NSFontPanel with some additional testing functionality. This includes the
533         ability to interact with the text shadow toggle button, choose the text shadow blur radius and opacity, and
534         change underline and strike-through styles.
536         (findSubviewOfClass):
537         (findMenuItemWithTitle):
538         (-[NSFontPanel fontEffectsBox]):
540         NSFontEffectsBox (an internal AppKit class) is the sender in the case where -changeAttributes: is invoked
541         through interaction with the font panel. To simulate this for testing, grab this font effects box and pass it
542         directory to -changeAttributes:.
544         (-[NSFontPanel chooseUnderlineMenuItemWithTitle:]):
545         (-[NSFontPanel chooseStrikeThroughMenuItemWithTitle:]):
547         The supported values for these menu items are "none" and "single", which adds a single underline or
548         strike-through to selected text. We grab these menu items by asking for the font panel's NSToolbar, and finding
549         the relevant menu items via toolbar item identifiers.
551         (-[NSFontPanel _didChangeAttributes]):
552         (-[NSFontPanel shadowBlurSlider]):
553         (-[NSFontPanel shadowOpacitySlider]):
554         (-[NSFontPanel shadowToggleButton]):
555         (-[NSFontPanel toggleShadow]):
556         (-[NSFontPanel shadowOpacity]):
557         (-[NSFontPanel setShadowOpacity:]):
558         (-[NSFontPanel shadowBlur]):
559         (-[NSFontPanel setShadowBlur:]):
560         (-[NSFontPanel _toolbarItemWithIdentifier:]):
562 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
564         run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
565         https://bugs.webkit.org/show_bug.cgi?id=189219
567         Reviewed by Jon Lee.
568         
569         If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
570         it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
571         tests are marked as [ Leak ] in TestExpectations.
572         
573         Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
574         a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
575         
576         Add various unit tests to test the various combinations.
578         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
579         (LayoutTestRunner._update_summary_with_result):
580         (LayoutTestRunner._annotate_results_with_additional_failures):
581         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
582         (LayoutTestRunnerTests.test_update_summary_with_result):
583         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
584         (TestExpectationsModel.get_expectations_or_pass):
585         (TestExpectationsModel):
586         (TestExpectationsModel.expectations_to_string):
587         (TestExpectationsModel.get_expectations_string):
588         (TestExpectations.filtered_expectations_for_test):
589         (TestExpectations):
590         (TestExpectations.matches_an_expected_result):
591         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
592         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
593         (summarize_results):
594         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
595         (summarized_results):
596         (SummarizedResultsTest.setUp):
597         (SummarizedResultsTest.test_summarized_results_include_passes):
598         (SummarizedResultsTest):
599         (SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
600         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
601         * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
602         (BuildBotPrinterTests.test_print_unexpected_results):
603         (BuildBotPrinterTests.test_print_unexpected_results_with_options):
604         (BuildBotPrinterTests.test_print_results):
605         * Scripts/webkitpy/port/test.py:
606         (unit_test_list):
608 2018-09-06  Zalan Bujtas  <zalan@apple.com>
610         [LFC][BFC] Add support for min(max)-height
611         https://bugs.webkit.org/show_bug.cgi?id=189377
613         Reviewed by Antti Koivisto.
615         * LayoutReloaded/misc/LFC-passing-tests.txt:
617 2018-09-06  Dewei Zhu  <dewei_zhu@apple.com>
619         BenchmarkResults.format should support specifying depth of tests to show.
620         https://bugs.webkit.org/show_bug.cgi?id=189135
622         Reviewed by Ryosuke Niwa.
624         Added the option to specify the depth of tests to show.
626         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
627         (BenchmarkResults):
628         (BenchmarkResults.format): Added 'max_depth' option.
629         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
632 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
634         An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
635         https://bugs.webkit.org/show_bug.cgi?id=189368
637         Reviewed by Alexey Proskuryakov.
638         
639         Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
640         which should fix EWS showing leaks in Bugzilla.
642         * Scripts/webkitpy/layout_tests/models/test_failures.py:
643         (FailureDocumentLeak.__init__):
644         * Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
645         (TestFailuresTest.test_all_failure_classes):
647 2018-09-06  Commit Queue  <commit-queue@webkit.org>
649         Unreviewed, rolling out r235755.
650         https://bugs.webkit.org/show_bug.cgi?id=189367
652         Didn't address the review comment (Requested by rniwa on
653         #webkit).
655         Reverted changeset:
657         "BenchmarkResults.format should support specifying depth of
658         tests to show."
659         https://bugs.webkit.org/show_bug.cgi?id=189135
660         https://trac.webkit.org/changeset/235755
662 2018-08-29  Dewei Zhu  <dewei_zhu@apple.com>
664         BenchmarkResults.format should support specifying depth of tests to show.
665         https://bugs.webkit.org/show_bug.cgi?id=189135
667         Reviewed by Ryosuke Niwa.
669         Added the option to specify the depth of tests to show.
671         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
672         (BenchmarkResults):
673         (BenchmarkResults.format): Added 'max_depth' option.
674         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
676 2018-09-06  Thomas Denney  <tdenney@apple.com>
678         [WHLSL] Call arguments should be copied as soon as they are evaluated
679         https://bugs.webkit.org/show_bug.cgi?id=189360
681         Reviewed by Myles C. Maxfield.
683         Previously all call arguments were evaluated and then their results were
684         copied into new buffers for the call. However, the results are not
685         necessarily independent, so the result should be copied immediately
686         after evaluation.
688         * WebGPUShadingLanguageRI/Evaluator.js:
689         (Evaluator.prototype.visitCallExpression): Move location of copy.
690         (Evaluator):
691         * WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
692         behavior.
694 2018-09-06  Thomas Denney  <tdenney@apple.com>
696         [WHLSL] The test suite should log the compile time for the standard library
697         https://bugs.webkit.org/show_bug.cgi?id=189354
699         Reviewed by Myles C. Maxfield.
701         The test suite previously only logged the time for test execution, and
702         not the compile time for the standard library.
704         * WebGPUShadingLanguageRI/Test.js:
706 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
708         [macOS] Cannot change font size at selection until font panel is shown
709         https://bugs.webkit.org/show_bug.cgi?id=189295
710         <rdar://problem/35593389>
712         Reviewed by Ryosuke Niwa.
714         Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
715         NSFontPanel to specify the font family, font size, and other traits.
717         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
718         * TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
719         (-[TestWKWebView selectedText]):
720         (-[TestWKWebView selectNextWord]):
721         (-[TestWKWebView stylePropertyAtSelectionStart:]):
722         (-[TestWKWebView stylePropertyAtSelectionEnd:]):
723         (webViewForFontManagerTesting):
724         (menuItemCellForFontAction):
725         (TestWebKitAPI::TEST):
727 2018-09-06  Zalan Bujtas  <zalan@apple.com>
729         [LFC][BFC] Add support for min(max)-width
730         https://bugs.webkit.org/show_bug.cgi?id=189358
732         Reviewed by Antti Koivisto.
734         * LayoutReloaded/misc/LFC-passing-tests.txt:
736 2018-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
738         [WHLSL] The parser is too slow
739         https://bugs.webkit.org/show_bug.cgi?id=189014
741         Reviewed by Filip Pizlo.
743         This patch includes three changes:
744         1. Migrate from using try/catch to simply returning the WSyntaxError. This means that
745            each parser call has to check for this sentinel value. The lexer still can throw if
746            it encounters an unknown token or an unmatched "/*" token (which is rare).
747         2. After removing try/catch, making the sentinel values not inherit from Error (the
748            Error constructor was taking lots of time)
749         3. Previously, every time the parser failed (which is many times per expression) it was
750            running a regex over the entire source text to figure out where the error occurred.
751            Instead, we can preprocess the text string to find these line numbers ahead of time.
753         Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
754         hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
755         the bulk of the standard library.
757         * WebGPUShadingLanguageRI/All.js:
758         * WebGPUShadingLanguageRI/Lexer.js:
759         (Lexer):
760         (Lexer.prototype.lineNumberForIndex):
761         * WebGPUShadingLanguageRI/Parse.js:
762         (fail):
763         (backtrackingScope):
764         (testScope):
765         (genericConsume):
766         (consumeEndOfTypeArgs):
767         (parseTerm):
768         (parseConstexpr):
769         (parseTypeArguments):
770         (parseType.getAddressSpace):
771         (parseType):
772         (parseTypeDef):
773         (genericParseLeft):
774         (parseCallExpression.let.parseArguments):
775         (isCallExpression):
776         (parseSuffixOperator):
777         (parsePossibleSuffix):
778         (parsePreIncrement):
779         (parsePossiblePrefix):
780         (parsePossibleTernaryConditional):
781         (parsePossibleAssignment):
782         (parsePostIncrement):
783         (parseEffectfulExpression):
784         (genericParseCommaExpression):
785         (parseEffectfulStatement):
786         (parseReturn):
787         (parseBreak):
788         (parseContinue):
789         (parseIfStatement):
790         (parseWhile):
791         (parseFor):
792         (parseDo):
793         (parseVariableDecls):
794         (parseSwitchCase):
795         (parseSwitchStatement):
796         (parseStatement):
797         (parseBlockBody):
798         (parseBlock):
799         (parseParameter):
800         (parseFuncName):
801         (parseFuncDecl):
802         (parseFuncDef):
803         (parseField):
804         (parseStructType):
805         (parseNativeFunc):
806         (parseNative):
807         (parseRestrictedFuncDef):
808         (parseEnumMember):
809         (parseEnumType):
810         (parse):
811         * WebGPUShadingLanguageRI/SPIRV.html:
812         * WebGPUShadingLanguageRI/StandardLibrary.js:
813         (let.standardLibrary):
814         * WebGPUShadingLanguageRI/Test.html:
815         * WebGPUShadingLanguageRI/Test.js:
816         (checkFail.doPrep): Deleted.
817         * WebGPUShadingLanguageRI/WLexicalError.js: Added.
818         (WLexicalError):
819         * WebGPUShadingLanguageRI/index.html:
821 2018-09-06  Xan Lopez  <xan@igalia.com>
823         [test262] Do not call keys on a reference
824         https://bugs.webkit.org/show_bug.cgi?id=189301
826         Reviewed by Keith Miller.
828         * Scripts/test262/Runner.pm:
829         (UpdateResults):
831 2018-09-06  David Kilzer  <ddkilzer@apple.com>
833         svn-create-patch fails when svn mv is used on directory trees
834         <https://webkit.org/b/14590>
836         Reviewed by Daniel Bates.
838         * Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
839         svn-create-patch.
840         (parseDiffStartLine): Use parseSvnDiffStartLine().
841         (parseGitDiffStartLine): Document a prerequisite.  Fix a bug
842         when parsing Git patches using `git diff --no-prefix` that have
843         non-native line endings.  Found by new tests written for
844         Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
845         (parseSvnDiffStartLine): Add.  Extract logic from
846         parseDiffStartLine() for use with svn-create-patch.
848         * Scripts/svn-create-patch: Update copyright and license.
849         (generateDiff): Return early for moved directories since
850         individual files within the directory are handled separately.
851         (generateFileList): Keep track of moved directories in the
852         @additionWithHistoryDirectories array, then process this array
853         in reverse order to create delete/add patches for each file in
854         a moved directory.  This also prevents duplicate patches.
855         (manufacturePatchForAdditionWithHistory): Fix a long-standing
856         bug where the path used to describe property changes contained
857         the original (moved-from) path instead of the new (moved-to)
858         path. This could cause svn-apply to fail mysteriously when
859         trying to apply an empty patch created by the property change
860         containing the moved-from path.
862         * Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
863         Tests for parseDiffStartLine(), parseGitDiffStartLine() and
864         parseSvnDiffStartLine().
866 2018-09-05  Don Olmstead  <don.olmstead@sony.com>
868         [CMake] Allow port specific options on gtest
869         https://bugs.webkit.org/show_bug.cgi?id=189313
871         Reviewed by Alex Christensen.
873         Use the global property set by the gtest CMake file to add to the
874         compilation definitions for TestWebKitAPI rather than repeating the
875         logic.
877         * TestWebKitAPI/CMakeLists.txt:
879 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
881         Add infrastructure to dump resource load statistics
882         https://bugs.webkit.org/show_bug.cgi?id=189213
884         Reviewed by Daniel Bates.
886         The dumping functionality is not currently used, but will be included in tests for
887         <https://bugs.webkit.org/show_bug.cgi?id=187773>.
889         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
890         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
891         (WTR::TestRunner::setDumpResourceLoadStatistics):
892         * WebKitTestRunner/InjectedBundle/TestRunner.h:
893         * WebKitTestRunner/TestController.cpp:
894         (WTR::resourceStatisticsStringResultCallback):
895         (WTR::TestController::dumpResourceLoadStatistics):
896         * WebKitTestRunner/TestController.h:
897         * WebKitTestRunner/TestInvocation.cpp:
898         (WTR::TestInvocation::dumpResults):
899         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
900         (WTR::TestInvocation::setDumpResourceLoadStatistics):
901         * WebKitTestRunner/TestInvocation.h:
903 2018-09-05  Wenson Hsieh  <wenson_hsieh@apple.com>
905         [macOS] DragAndDropTests.ExposeMultipleURLsInDataTransfer fails on macOS versions prior to Mojave
906         https://bugs.webkit.org/show_bug.cgi?id=189315
908         Reviewed by Tim Horton.
910         Fix the test failure by explicitly enabling custom pasteboard data.
912         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
913         (TEST):
915 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
917         Added runtime feature flag for web API statistics
918         https://bugs.webkit.org/show_bug.cgi?id=189211
920         Reviewed by Daniel Bates.
922         Added functionality to set the runtime flag with a JavaScript exposed function
923         for testing.
925         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
926         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
927         (WTR::TestRunner::setWebAPIStatisticsEnabled):
928         * WebKitTestRunner/InjectedBundle/TestRunner.h:
930 2018-09-05  Ross Kirsling  <ross.kirsling@sony.com>
932         Add WinCairo to bot watcher's dashboard.
933         https://bugs.webkit.org/show_bug.cgi?id=189273
935         Reviewed by Aakash Jain.
937         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: Added.
938         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: Added.
940         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
941         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
942         (table.queue-grid tr.platform.windows-10 img.logo): Added.
943         (table.queue-grid tr.platform.windows-8 img.logo): Deleted.
944         (table.queue-grid tr.platform.windows-xp img.logo): Deleted.
945         Add Win10 section to dashboard. Remove unused WinXP and Win8 sections.
947         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
948         (BubbleQueueServer):
949         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
950         (WebKitBuildbot):
951         Add WinCairo build, test, and EWS bots to Win10 section of dashboard.
953 2018-09-05  David Kilzer  <ddkilzer@apple.com>
955         REGRESSION (r209470): EditingHistory folder is missing in EditingHistory Xcode project
957         Found using `tidy-Xcode-project-file --missing` (see Bug
958         188754).  Fixes were made manually.
960         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
961         (EditingHistory): Change the path of the folder to
962         "EditingHistory", then remove the now-redundant name.
963         (EditingHistory/Resources/DumpEditingHistory.js): Remove
964         redundant file reference since another file reference exists at
965         the top of the project file list, and that file reference is the
966         one used in the "Copy Bundle Resources" build phase.
967         (EditingHistory/Resources/EditingHistoryUtil.js): Ditto.
969 2018-09-05  David Kilzer  <ddkilzer@apple.com>
971         REGRESSION (r160736): Bundle folder is missing in MiniBrowser Xcode project
973         Found using `tidy-Xcode-project-file --missing` (see Bug
974         188754).  Folder fix was made manually.
976         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
977         (Bundle): Change the path of the folder to "mac/Bundle", and set
978         the name back to "Bundle".
979         (Bundle/Info.plist): Change file reference to be relative to its
980         group.  Accomplished using Xcode after fixing the folder path.
981         (Bundle/MiniBrowserBundle_Prefix.pch): Ditto.
983 2018-09-05  David Kilzer  <ddkilzer@apple.com>
985         REGRESSION (r184033): ContentExtensionTester folder is missing in ContentExtensionTester Xcode project
987         Found using `tidy-Xcode-project-file --missing` (see Bug
988         188754).  Fixes were made manually.
990         * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
991         (ContentExtensionTester): Change the path of the folder to map
992         to "." (which exists and is where main.m is located), and then
993         set the folder's name back to "ContentExtensionTester".
994         (main.m): Change file reference to be relative to its group now
995         that the group's path is fixed.
997 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
999         Add generic entrypoint and run loop in TestWebKitAPI
1000         https://bugs.webkit.org/show_bug.cgi?id=189287
1002         Reviewed by Michael Catanzaro.
1004         The implementations in jsconly are platform agnostic.
1006         * TestWebKitAPI/PlatformJSCOnly.cmake:
1007         Use the glib implementation of Utilities when using that as a run loop
1008         otherwise use the generic implementation.
1010         * TestWebKitAPI/PlatformUtilities.h:
1011         Remove repeated entries from Utilities.h.
1013         * TestWebKitAPI/PlatformWPE.cmake:
1014         Use the generic main.cpp.
1015         
1016         * TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
1017         (TestWebKitAPI::Util::run):
1018         (TestWebKitAPI::Util::spinRunLoop):
1019         Moved to a generic implementation and added spinRunLoop.
1021         * TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
1022         Share between JSCOnly and WPE
1024         * TestWebKitAPI/wpe/main.cpp: Removed.
1026 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
1028         [CMake] Make TestWebKitAPI dependencies explicit
1029         https://bugs.webkit.org/show_bug.cgi?id=189282
1031         Reviewed by Fujii Hironori.
1033         The config.h file includes files from JSC, WebCore and WebKit which
1034         places a dependency on those headers even when just building TestWTF.
1035         This makes the depedencies explicit for all CMake ports and shoud
1036         remove any race conditions that can be encountered when building tests.
1038         * TestWebKitAPI/CMakeLists.txt:
1039         * TestWebKitAPI/PlatformGTK.cmake:
1040         * TestWebKitAPI/PlatformWPE.cmake:
1041         * TestWebKitAPI/PlatformWin.cmake:
1043 2018-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
1045         Populate "text/uri-list" with multiple URLs when the pasteboard contains multiple URLs
1046         https://bugs.webkit.org/show_bug.cgi?id=188890
1047         <rdar://problem/43648605>
1049         Reviewed by Tim Horton.
1051         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1052         (-[LocalPasteboard pasteboardItems]):
1054         Implement this method to avoid crashing when running layout tests that access the pasteboard.
1056         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
1058         Add a test to verify that on macOS and iOS, multiple URLs dropped onto the page are accessible via
1059         "text/uri-list".
1061         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
1063         Add a test that exercises 5 different ways to write one or more URLs to the pasteboard on macOS; in all cases,
1064         the URLs written to the pasteboard should be exposed to the page via "text/uri-list". In all of these different
1065         cases, the results of using `-[NSPasteboardItem stringForType:]`, `-[NSURL URLFromPasteboard:]` and
1066         `-[NSPasteboard stringForType:]` will yield different results, so the purpose of this API test is to ensure that
1067         our logic for grabbing a list of URLs from the pasteboard on macOS is robust enough to handle all of these
1068         different behaviors.
1070         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
1072         Add a test to verify that on iOS, using `-[UIPasteboard setURLs:]` to write to multiple URLs to the pasteboard
1073         and then pasting results in "text/uri-list" exposing a list of all the URLs written to the pasteboard.
1075         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
1076         (-[LocalPasteboard pasteboardItems]):
1078         Implement this method to avoid crashing when running layout tests that access the pasteboard.
1080 2018-09-04  Simon Fraser  <simon.fraser@apple.com>
1082         REGRESSION(r235408): GTK bots exiting early
1083         https://bugs.webkit.org/show_bug.cgi?id=189063
1085         Reviewed by Michael Catanzaro.
1086         
1087         WebKitTestRunner was running the world leak checks even when run without --world-leaks,
1088         causing GTK bot timeouts. So guard updateLiveDocumentsAfterTest(), checkForWorldLeaks()
1089         and findAndDumpWorldLeaks() with m_checkForWorldLeaks checks, and in
1090         TestController::handleControlCommand() print a message if the control script sends the
1091         "#CHECK FOR WORLD LEAKS" command if WTR was not run with --world-leaks.
1092         
1093         I tested that running with --world-leaks still works.
1095         * WebKitTestRunner/TestController.cpp:
1096         (WTR::TestController::resetStateToConsistentValues):
1097         (WTR::TestController::updateLiveDocumentsAfterTest):
1098         (WTR::TestController::checkForWorldLeaks):
1099         (WTR::TestController::findAndDumpWorldLeaks):
1100         (WTR::TestController::handleControlCommand):
1101         (WTR::TestController::run):
1103 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
1105         Unreviewed follow-up to r235635
1106         https://bugs.webkit.org/show_bug.cgi?id=188940
1108         Use "let" variables instead of "var" variables.
1110         * WebGPUShadingLanguageRI/StandardLibrary.js:
1111         (let.standardLibrary):
1113 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
1115         [WHLSL] Implement texture types
1116         https://bugs.webkit.org/show_bug.cgi?id=188940
1118         Rubber-stamped by Dean Jackson.
1120         Implement the texture types and operations. This includes Sample(), Load(), Store(), Gather(), and GetDimensions().
1121         These functions were implemented according to section 15 of the Vulkan 1.1.83 spec, which lists each operation
1122         and how to compute its results.
1124         * WebGPUShadingLanguageRI/All.js:
1125         * WebGPUShadingLanguageRI/Casts.js: Moved from Intrinsics. The texture operations need to cast too, so these are
1126         moved into a common location.
1127         (cast):
1128         (bitwiseCast):
1129         (castToUchar):
1130         (castToUshort):
1131         (castToUint):
1132         (castToChar):
1133         (castToShort):
1134         (castToInt):
1135         (castToHalf):
1136         (castToFloat):
1137         * WebGPUShadingLanguageRI/Intrinsics.js: Use Casts.js and call into TextureOperations.js.
1138         (Intrinsics.):
1139         (Intrinsics.checkFalse):
1140         (Intrinsics.boxVector):
1141         (Intrinsics.unboxVector):
1142         (Intrinsics):
1143         (Intrinsics.cast): Deleted.
1144         (Intrinsics.bitwiseCast): Deleted.
1145         (Intrinsics.castToHalf): Deleted.
1146         * WebGPUShadingLanguageRI/SPIRV.html:
1147         * WebGPUShadingLanguageRI/Sampler.js: Added. Represent the Sampler type. 
1148         (Sampler):
1149         (Sampler.prototype.get rAddressMode):
1150         (Sampler.prototype.get sAddressMode):
1151         (Sampler.prototype.get tAddressMode):
1152         (Sampler.prototype.get minFilter):
1153         (Sampler.prototype.get magFilter):
1154         (Sampler.prototype.get mipmapFilter):
1155         (Sampler.prototype.get lodMinClamp):
1156         (Sampler.prototype.get lodMaxClamp):
1157         (Sampler.prototype.get maxAnisotropy):
1158         (Sampler.prototype.get compareFunction):
1159         (Sampler.prototype.get borderColor):
1160         (Sampler.prototype.calculateBorderColor.computeValues):
1161         (Sampler.prototype.calculateBorderColor):
1162         * WebGPUShadingLanguageRI/StandardLibrary.js: Update the standard library. Some of the functions were
1163         either missing or wrong.
1164         (let.standardLibrary):
1165         * WebGPUShadingLanguageRI/Test.html:
1166         * WebGPUShadingLanguageRI/Test.js: Test many, many combinations of the texture operations.
1167         (makeSampler):
1168         (make1DTexture):
1169         (make1DTextureArray):
1170         (make2DTexture):
1171         (make2DTextureArray):
1172         (make3DTexture):
1173         (makeTextureCube):
1174         (makeRW1DTexture):
1175         (makeRW1DTextureArray):
1176         (makeRW2DTexture):
1177         (makeRW2DTextureArray):
1178         (makeRW3DTexture):
1179         (make2DDepthTexture):
1180         (make2DDepthTextureArray):
1181         (makeDepthTextureCube):
1182         (makeRW2DDepthTexture):
1183         (makeRW2DDepthTextureArray):
1184         (checkFloat4):
1185         * WebGPUShadingLanguageRI/Texture.js: Added. Represents each of the texture types.
1186         (Texture):
1187         (Texture.prototype.get dimension):
1188         (Texture.prototype.get width):
1189         (Texture.prototype.get height):
1190         (Texture.prototype.get depth):
1191         (Texture.prototype.get levelCount):
1192         (Texture.prototype.get layerCount):
1193         (Texture.prototype.get innerType):
1194         (Texture.prototype.get data):
1195         (Texture.prototype.elementChecked):
1196         (Texture.prototype.setElementChecked):
1197         (Texture1D):
1198         (Texture1D.prototype.widthAtLevel):
1199         (Texture1D.prototype.heightAtLevel):
1200         (Texture1D.prototype.depthAtLevel):
1201         (Texture1D.prototype.element):
1202         (Texture1D.prototype.setElement):
1203         (Texture1DArray):
1204         (Texture1DArray.prototype.widthAtLevel):
1205         (Texture1DArray.prototype.heightAtLevel):
1206         (Texture1DArray.prototype.depthAtLevel):
1207         (Texture1DArray.prototype.element):
1208         (Texture1DArray.prototype.setElement):
1209         (Texture2D):
1210         (Texture2D.prototype.widthAtLevel):
1211         (Texture2D.prototype.heightAtLevel):
1212         (Texture2D.prototype.depthAtLevel):
1213         (Texture2D.prototype.element):
1214         (Texture2D.prototype.setElement):
1215         (Texture2DArray):
1216         (Texture2DArray.prototype.widthAtLevel):
1217         (Texture2DArray.prototype.heightAtLevel):
1218         (Texture2DArray.prototype.depthAtLevel):
1219         (Texture2DArray.prototype.element):
1220         (Texture2DArray.prototype.setElement):
1221         (Texture3D):
1222         (Texture3D.prototype.widthAtLevel):
1223         (Texture3D.prototype.heightAtLevel):
1224         (Texture3D.prototype.depthAtLevel):
1225         (Texture3D.prototype.element):
1226         (Texture3D.prototype.setElement):
1227         (TextureCube):
1228         (TextureCube.prototype.widthAtLevel):
1229         (TextureCube.prototype.heightAtLevel):
1230         (TextureCube.prototype.depthAtLevel):
1231         (TextureCube.prototype.element):
1232         (TextureCube.prototype.setElement):
1233         (Texture1DRW):
1234         (Texture1DRW.prototype.widthAtLevel):
1235         (Texture1DRW.prototype.heightAtLevel):
1236         (Texture1DRW.prototype.depthAtLevel):
1237         (Texture1DRW.prototype.element):
1238         (Texture1DRW.prototype.setElement):
1239         (Texture1DArrayRW):
1240         (Texture1DArrayRW.prototype.widthAtLevel):
1241         (Texture1DArrayRW.prototype.heightAtLevel):
1242         (Texture1DArrayRW.prototype.depthAtLevel):
1243         (Texture1DArrayRW.prototype.element):
1244         (Texture1DArrayRW.prototype.setElement):
1245         (Texture2DRW):
1246         (Texture2DRW.prototype.widthAtLevel):
1247         (Texture2DRW.prototype.heightAtLevel):
1248         (Texture2DRW.prototype.depthAtLevel):
1249         (Texture2DRW.prototype.element):
1250         (Texture2DRW.prototype.setElement):
1251         (Texture2DArrayRW):
1252         (Texture2DArrayRW.prototype.widthAtLevel):
1253         (Texture2DArrayRW.prototype.heightAtLevel):
1254         (Texture2DArrayRW.prototype.depthAtLevel):
1255         (Texture2DArrayRW.prototype.element):
1256         (Texture2DArrayRW.prototype.setElement):
1257         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW):
1258         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.widthAtLevel):
1259         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.heightAtLevel):
1260         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.depthAtLevel):
1261         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.element):
1262         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.setElement):
1263         * WebGPUShadingLanguageRI/TextureOperations.js: Added. This implements the texture operations
1264         as described in section 15 of the Vulkan 1.1.83 spec.
1265         (depthCompareOperation):
1266         (conversionToRGBA):
1267         (projectionOperation):
1268         (cubeMapFaceSelection):
1269         (cubeMapCoordinateTransformation):
1270         (cubeMapDerivativeTransformation):
1271         (scaleFactorOperation):
1272         (levelOfDetailOperation):
1273         (nearest):
1274         (imageLevelSelection):
1275         (strqaToUVWATransformation):
1276         (rne):
1277         (uvwaToIJKLNTransformationAndArrayLayerSelection):
1278         (integerTexelCoordinateOperations):
1279         (mirror):
1280         (transform):
1281         (wrappingOperation):
1282         (calculateLambda):
1283         (shouldBeBorder):
1284         (accessColor):
1285         (computeTau):
1286         (reduce):
1287         (texelGathering):
1288         (computeColorFromLevel):
1289         (texelFiltering):
1290         (castToInnerTypeForGather):
1291         (gatherTexture):
1292         (castToInnerType):
1293         (sampleTexture):
1294         * WebGPUShadingLanguageRI/index.html:
1296 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
1298         Removing an accidentally committed debugging print.
1300         * Scripts/run-leaks: (runLeaks)
1302 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
1304         run-leaks should run leaks with --list (on Mojave)
1305         https://bugs.webkit.org/show_bug.cgi?id=187716
1306         <rdar://problem/42261676>
1308         Reviewed by Lucas Forschler.
1310         Also enabled dumping memgraphs. We'll be pruning these aggressively, as they take
1311         significant space.
1313         * Scripts/run-leaks:
1314         (main): Added an option to store memgraphs.
1315         (runLeaks): As there is no way to test whether the new format is supported in advance,
1316         we have to try with --list first, and retry if that fails. Also, made leaks operate
1317         on a memgraph file if we are saving it anyway.
1319         * Scripts/webkitpy/port/leakdetector.py:
1320         (LeakDetector._leaks_args): Pass --memgraph-file to run-leaks.
1321         (LeakDetector.leaks_file_name): Removed an incorrect comment.
1322         (LeakDetector.memgraph_file_name): Added.
1323         (LeakDetector.check_for_leaks): Changed how arguments are passed to _leaks_args.
1324         It is a bit ugly that leaks path ends up being computed twice, but this is the least
1325         ugly approach that I could find.
1327         * Scripts/webkitpy/port/leakdetector_unittest.py: Updated for _leaks_args changes.
1329 2018-09-04  Chris Dumez  <cdumez@apple.com>
1331         Add process pool configuration flag to turn on automatic process pre-warming
1332         https://bugs.webkit.org/show_bug.cgi?id=189263
1333         <rdar://problem/44101941>
1335         Reviewed by Antti Koivisto.
1337         Add API test coverage.
1339         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1340         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm.
1341         (TEST):
1342         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1343         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Removed.
1345 2018-09-04  Keith Miller  <keith_miller@apple.com>
1347         Perl doesn't like calling keys on a reference
1348         https://bugs.webkit.org/show_bug.cgi?id=189261
1350         Reviewed by Michael Saboff.
1352         * Scripts/test262/Runner.pm:
1353         (UpdateResults):
1355 2018-09-04  Jer Noble  <jer.noble@apple.com>
1357         REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
1358         https://bugs.webkit.org/show_bug.cgi?id=187972
1359         <rdar://problem/42667737>
1361         Reviewed by Darin Adler.
1363         Ensure that listeners are added in time to catch messages broadcast at them.
1365         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
1366         (TestWebKitAPI::TEST):
1368 2018-09-04  Ross Kirsling  <ross.kirsling@sony.com>
1370         Update googletest
1371         https://bugs.webkit.org/show_bug.cgi?id=175722
1373         Reviewed by Brent Fulgham.
1375         * TestWebKitAPI/config.h:
1376         Instead of modifying the gtest source, add the necessary WTF includes here.
1378         * TestWebKitAPI/Configurations/Base.xcconfig
1379         Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
1381 2018-09-03  Pablo Saavedra  <psaavedra@igalia.com>
1383         [WPE] Add more WPE bots to dashboard
1384         https://bugs.webkit.org/show_bug.cgi?id=189245
1386         Reviewed by Daniel Bates.
1388         There are two missing bots which are not listed in the dashboard for
1389         a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
1391         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1392         (WebKitBuildbot):
1394 2018-09-01  Michael Catanzaro  <mcatanzaro@igalia.com>
1396         [WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
1397         https://bugs.webkit.org/show_bug.cgi?id=189006
1399         Reviewed by Darin Adler.
1401         The MiniBrowser source code is missing from the tarball. Oops! Add it.
1403         * wpe/manifest.txt.in:
1405 2018-09-01  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
1407         [WinCairo] Add CryptoDigestOpenSSL
1408         https://bugs.webkit.org/show_bug.cgi?id=188978
1410         Reviewed by Darin Adler.
1412         Add API tests for the PAL::CryptoDigest class.
1414         * TestWebKitAPI/PlatformWin.cmake:
1415         Add CryptoDigest.cpp to TestWebCoreLib_Sources.
1417         Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
1418         without the definition the functions marked with PAL_EXPORT are supposed to be
1419         imported from another shared library, but as it is, TestWebCoreLib
1420         links PAL statically.
1422         * TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
1423         (TestWebKitAPI::toHex):
1424         (TestWebKitAPI::expect):
1425         (TestWebKitAPI::expectSHA1):
1426         (TestWebKitAPI::expectSHA224):
1427         (TestWebKitAPI::expectSHA256):
1428         (TestWebKitAPI::expectSHA384):
1429         (TestWebKitAPI::expectSHA512):
1430         (TestWebKitAPI::TEST):
1432 2018-09-01  Dan Bernstein  <mitz@apple.com>
1434         [Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
1435         https://bugs.webkit.org/show_bug.cgi?id=189222
1436         <rdar://problem/33283179>
1438         Reviewed by Sam Weinig.
1440         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1441         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
1442         (TEST):
1444 2018-08-31  Aditya Keerthi  <akeerthi@apple.com>
1446         Unreviewed, add an alternate email for Aditya Keerthi.
1448         * Scripts/webkitpy/common/config/contributors.json:
1450 2018-08-31  Wenson Hsieh  <wenson_hsieh@apple.com>
1452         [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
1453         https://bugs.webkit.org/show_bug.cgi?id=189054
1454         <rdar://problem/43819779>
1456         Reviewed by Tim Horton.
1458         See WebCore/ChangeLog for more detail.
1460         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1461         (createWebViewWithCustomPasteboardDataEnabled):
1463 2018-08-31  Commit Queue  <commit-queue@webkit.org>
1465         Unreviewed, rolling out r235565.
1466         https://bugs.webkit.org/show_bug.cgi?id=189212
1468         Broke the WHLSL build (Requested by litherum on #webkit).
1470         Reverted changeset:
1472         "[WHLSL] Remove useless code in NameResolver"
1473         https://bugs.webkit.org/show_bug.cgi?id=189176
1474         https://trac.webkit.org/changeset/235565
1476 2018-08-31  Myles C. Maxfield  <mmaxfield@apple.com>
1478         [WHLSL] Remove useless code in NameResolver
1479         https://bugs.webkit.org/show_bug.cgi?id=189176
1481         Reviewed by Dean Jackson and Thomas Denney.
1483         The check will always pass becase the standard library contains at least one function with the correct name.
1485         * WebGPUShadingLanguageRI/NameResolver.js:
1486         (NameResolver.prototype.visitDotExpression):
1487         (NameResolver.prototype._handlePropertyAccess): Deleted.
1488         (NameResolver.prototype.visitIndexExpression): Deleted.
1490 2018-08-31  Simon Fraser  <simon.fraser@apple.com>
1492         Make it possible to mark tests as leaks in TestExpectations
1493         https://bugs.webkit.org/show_bug.cgi?id=189088
1495         Reviewed by Jon Lee.
1496         
1497         Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
1498         thing if the test run did not use --world-leaks. Add unit tests for leaks combined
1499         with various other result combinations.
1501         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1502         (LayoutTestRunner._update_summary_with_result):
1503         (LayoutTestRunner._annotate_results_with_additional_failures):
1504         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1505         (TestExpectationParser):
1506         (TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
1507         (TestExpectations.remove_leak_failures):
1508         (TestExpectations.matches_an_expected_result):
1509         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1510         (Base.get_basic_tests):
1511         * Scripts/webkitpy/port/test.py:
1512         (TestList.add_reftest):
1513         (unit_test_list):
1515 2018-08-31  Zalan Bujtas  <zalan@apple.com>
1517         [LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
1518         https://bugs.webkit.org/show_bug.cgi?id=189193
1520         Reviewed by Antti Koivisto.
1522         * LayoutReloaded/misc/LFC-passing-tests.txt:
1524 2018-08-31  Antti Koivisto  <antti@apple.com>
1526         Replace OptionSet |= and -= operators with add() and remove() functions
1527         https://bugs.webkit.org/show_bug.cgi?id=189169
1529         Reviewed by Anders Carlsson.
1531         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1532         (TestWebKitAPI::TEST):
1534 2018-08-31  Daniel Bates  <dabates@apple.com>
1536         lldb-webkit: KeyError thrown for OptionSet with invalid value
1537         https://bugs.webkit.org/show_bug.cgi?id=189070
1539         Update comment to explain that we return early and do not compute the set of enumerators in the
1540         OptionSet when the underlying value of the set is an invalid value.
1542         Additionally, update the change log entry for r235482 to reflect the updated title for the bug
1543         and to better describe the change that was made.
1545         * lldb/lldb_webkit.py:
1546         (WTFOptionSetProvider.update):
1548 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1550         WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
1552         This makes the Configurations folder in the Xcode project match
1553         what's in the Configurations directory on disk.  Found by
1554         tidy-Xcode-project-file (see Bug 188754).
1556         * WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
1557         * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
1558         - Update project for file move.
1560 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1562         WebKitLauncher: Fix build failures
1564         * WebKitLauncher/Configurations/Base.xcconfig:
1565         (ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
1566         (MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
1568         * WebKitLauncher/WebKitNightlyEnabler.m:
1569         (myApplicationWillFinishLaunching):
1570         * WebKitLauncher/main.m:
1571         (displayErrorAndQuit):
1572         (locateSafariBundle):
1573         - Use pragma to ignore deprecation warnings.
1575 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1577         MobileMiniBrowser: Move test2s.mp4 into Resources directory
1579         This makes the Resources folder in the Xcode project match
1580         what's in the Resources directory on disk.  Found by
1581         tidy-Xcode-project-file (see Bug 188754).
1583         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1584         - Update project for file move.
1585         * MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
1587 2018-08-31  Frederic Wang  <fwang@igalia.com>
1589         Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
1590         https://bugs.webkit.org/show_bug.cgi?id=182053
1592         Reviewed by Simon Fraser.
1594         Add FIXMEs comments to add the new developer flag in the future and  disable it for now.
1596         * DumpRenderTree/mac/DumpRenderTree.mm:
1597         (enableExperimentalFeatures):
1598         (resetWebPreferencesToConsistentValues):
1599         * DumpRenderTree/win/DumpRenderTree.cpp:
1600         (enableExperimentalFeatures):
1601         * WebKitTestRunner/TestController.cpp:
1602         (WTR::TestController::resetPreferencesToConsistentValues):
1604 2018-08-30  Thomas Denney  <tdenney@apple.com>
1606         [WHLSL] Fix array indexing behavior
1607         https://bugs.webkit.org/show_bug.cgi?id=189175
1609         Array, pointer, and array ref types are now parsed and then constructed
1610         in reverse so that the declaration order matches the indexing order, as
1611         in C/C++.
1613         Reviewed by Myles C. Maxfield.
1615         * WebGPUShadingLanguageRI/Parse.js:
1616         (parseType):
1617         * WebGPUShadingLanguageRI/Test.js:
1619 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1621         Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1622         https://bugs.webkit.org/show_bug.cgi?id=185965
1624         Reviewed by Andy Estes.
1626         The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
1627         from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
1628         message handlers in the UI process *before* evaluating script that could propagate the script message.
1630         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1631         (-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
1632         (TEST):
1634 2018-08-30  Thomas Denney  <tdenney@apple.com>
1636         [WHLSL] Implement tests to verify array indexing order matches our desires
1637         https://bugs.webkit.org/show_bug.cgi?id=189099
1639         Reviewed by Myles C. Maxfield.
1641         * WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
1642         and the option to explicitly disable tests (this test is disabled by
1643         default).
1644         * WebGPUShadingLanguageRI/TypeRef.js:
1645         (TypeRef.wrap): Fixes  typo.
1647 2018-08-30  Sihui Liu  <sihui_liu@apple.com>
1649         WKNavigation.ProcessCrashDuringCallback is failing on iOS
1650         https://bugs.webkit.org/show_bug.cgi?id=189148
1652         Reviewed by Chris Dumez.
1654         We should not deference WebView or we may get WKErrorWebViewInvalidated error, because 
1655         WebView could be destroyed before Web Process termination is noticed.
1657         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1658         (TEST):
1660 2018-08-30  Zalan Bujtas  <zalan@apple.com>
1662         [LFC][Floating] Formatting context roots avoid floats.
1663         https://bugs.webkit.org/show_bug.cgi?id=189150
1665         Reviewed by Antti Koivisto.
1667         * LayoutReloaded/misc/LFC-passing-tests.txt:
1669 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1671         [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1672         https://bugs.webkit.org/show_bug.cgi?id=185965
1674         Reviewed by Andy Estes.
1676         These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
1677         element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
1678         because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
1679         this by waiting for the "load" event (which is also done in some of the other tests in this file).
1681         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1682         (TEST):
1684 2018-08-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1686         Unreviewed, rolling out r235114.
1688         ostree server deleted our commits?
1690         Reverted changeset:
1692         "[Flatpak] Update to GNOME master runtime"
1693         https://bugs.webkit.org/show_bug.cgi?id=188731
1694         https://trac.webkit.org/changeset/235114
1696 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1698         [WHLSL] Test row-majorness of matrices
1699         https://bugs.webkit.org/show_bug.cgi?id=189101
1701         The matrix multiplication functions are temporarily commented out of the standard library,
1702         so I've temporarily copy/pasted them into the test. Matrix multiplication is not
1703         commutative, so it requires the right indexing order.
1705         Reviewed by Dean Jackson and Thomas Denney.
1707         * WebGPUShadingLanguageRI/Intrinsics.js:
1708         * WebGPUShadingLanguageRI/StandardLibrary.js:
1709         (let.standardLibrary):
1710         * WebGPUShadingLanguageRI/Test.js:
1712 2018-08-29  Jer Noble  <jer.noble@apple.com>
1714         Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
1716         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
1718 2018-08-29  Youenn Fablet  <youenn@apple.com>
1720         Remove WebRTC legacy API implementation
1721         https://bugs.webkit.org/show_bug.cgi?id=189040
1723         Reviewed by Eric Carlson.
1725         * DumpRenderTree/mac/DumpRenderTree.mm:
1726         (enableExperimentalFeatures):
1727         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1728         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1729         (WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
1730         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1731         * WebKitTestRunner/TestController.cpp:
1732         (WTR::TestController::resetPreferencesToConsistentValues):
1734 2018-08-29  Daniel Bates  <dabates@apple.com>
1736         lldb-webkit: KeyError thrown for OptionSet with invalid value
1737         https://bugs.webkit.org/show_bug.cgi?id=189070
1739         Reviewed by Simon Fraser.
1741         Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
1742         variable is only considered valid when execution passes over its assignment/constructor.
1744         The LLDB Python API does not provide a way to determine whether a variable has a valid
1745         value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
1746         a variable represents a valid value). So, we use a simple heuristic: when the value of
1747         the OptionSet is greater than the value of the bitmask with all enumerators set then we
1748         consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
1749         will notify us to update our state.
1751         * lldb/lldb_webkit.py:
1752         (WTFOptionSetProvider.update):
1754 2018-08-29  Chris Dumez  <cdumez@apple.com>
1756         [PSON] We should only process-swap when eTLD+1 changes on navigation
1757         https://bugs.webkit.org/show_bug.cgi?id=189090
1758         <rdar://problem/43799225>
1760         Reviewed by Geoffrey Garen.
1762         Update existing PSON API tests to use different registrable domains instead of different
1763         protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
1765         Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
1767         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1769 2018-08-29  Youenn Fablet  <youenn@apple.com>
1771         Add a runtime flag for WebRTC unified plan
1772         https://bugs.webkit.org/show_bug.cgi?id=189068
1774         Reviewed by Eric Carlson.
1776         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1777         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1778         (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
1779         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1781 2018-08-29  Don Olmstead  <don.olmstead@sony.com>
1783         [CMake] Split Tools/CMakeLists.txt into platform files
1784         https://bugs.webkit.org/show_bug.cgi?id=189093
1786         Reviewed by Michael Catanzaro.
1788         * CMakeLists.txt:
1789         * PlatformGTK.cmake: Added.
1790         * PlatformMac.cmake: Added.
1791         * PlatformWPE.cmake: Added.
1792         * PlatformWin.cmake: Added.
1794 2018-08-29  Jer Noble  <jer.noble@apple.com>
1796         Muted elements do not have their Now Playing status updated when unmuted.
1797         https://bugs.webkit.org/show_bug.cgi?id=189069
1799         Reviewed by Eric Carlson.
1801         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1802         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
1803         (userInfoHasNowPlayingApplicationPID):
1804         (getNowPlayingClient):
1805         (getNowPlayingClientPid):
1806         (NowPlayingTest::webView):
1807         (NowPlayingTest::configuration):
1808         (NowPlayingTest::webViewPid):
1809         (NowPlayingTest::loadPage):
1810         (NowPlayingTest::runScriptWithUserGesture):
1811         (NowPlayingTest::runScriptWithoutUserGesture):
1812         (NowPlayingTest::executeAndWaitForPlaying):
1813         (NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
1814         (NowPlayingTest::observers):
1815         (NowPlayingTest::addObserver):
1816         (NowPlayingTest::removeObserver):
1817         (NowPlayingTest::notificationCallback):
1818         (NowPlayingTest::receivedNotification):
1819         (NowPlayingTest::performAfterReceivingNotification):
1820         (TEST_F):
1821         * TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
1823 2018-08-29  Thomas Denney  <tdenney@apple.com>
1825         [WHLSL] Ensure that isLValue is copied by the rewriter
1826         https://bugs.webkit.org/show_bug.cgi?id=189083
1828         The value of isLValue was not propagated when new TernaryExpressions are
1829         created in Rewriter.
1831         Reviewed by Myles C. Maxfield.
1833         * WebGPUShadingLanguageRI/Rewriter.js:
1834         (Rewriter.prototype.visitTernaryExpression):
1835         * WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
1836         propagated.
1838 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1840         [WHLSL] Add more functions to the standard library
1841         https://bugs.webkit.org/show_bug.cgi?id=188873
1843         Reviewed by Filip Pizlo.
1845         This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
1847         There are a few major pieces:
1848         1. Swizzle operators are now implemented in the language, instead of as native functions
1849         2. Vector constructors are now implemented in the language, instead of as native functions
1850         3. The matrix type is implemented
1851         4. Vector operator&[] is illegal, and is removed from the compiler
1852         5. Vector index setters & index getters are now implemented in the language, instead of as native functions
1853         6. Vector and matrix equality operators are implemented in the language, instead of as native functions
1854         7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
1855         8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
1856         9. Half-precision floating point types are implemented
1858         * WebGPUShadingLanguageRI/All.js:
1859         * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1860         (BuiltinMatrixGetter):
1861         (BuiltinMatrixGetter.prototype.get height):
1862         (BuiltinMatrixGetter.prototype.get width):
1863         (BuiltinMatrixGetter.prototype.toString):
1864         (BuiltinMatrixGetter.functions):
1865         (BuiltinMatrixGetter.prototype.instantiateImplementation):
1866         * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1867         (BuiltinMatrixSetter):
1868         (BuiltinMatrixSetter.prototype.get height):
1869         (BuiltinMatrixSetter.prototype.get width):
1870         (BuiltinMatrixSetter.prototype.toString):
1871         (BuiltinMatrixSetter.functions):
1872         (BuiltinMatrixSetter.prototype.instantiateImplementation):
1873         * WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
1874         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
1875         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
1876         (BuiltinVectorGetter.prototype.instantiateImplementation):
1877         (BuiltinVectorGetter):
1878         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
1879         (BuiltinVectorSetter.functions):
1880         (BuiltinVectorSetter.prototype.instantiateImplementation):
1881         (BuiltinVectorSetter):
1882         * WebGPUShadingLanguageRI/CallExpression.js:
1883         (CallExpression.prototype.resolve):
1884         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
1885         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
1886         (checkTypesWithArguments.TypeWithArgumentsChecker):
1887         (checkTypesWithArguments):
1888         * WebGPUShadingLanguageRI/Checker.js:
1889         (Checker.prototype.visitVectorType):
1890         (Checker.prototype.visitMatrixType):
1891         * WebGPUShadingLanguageRI/ConstexprFolder.js:
1892         (ConstexprFolder.prototype.visitCallExpression):
1893         (ConstexprFolder):
1894         * WebGPUShadingLanguageRI/Evaluator.js:
1895         (Evaluator.prototype.visitTernaryExpression):
1896         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1897         (FlattenedStructOffsetGatherer.prototype.visitMatrixType):
1898         (FlattenedStructOffsetGatherer):
1899         * WebGPUShadingLanguageRI/Intrinsics.js:
1900         (Intrinsics.):
1901         (Intrinsics):
1902         * WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
1903         (MatrixType):
1904         (MatrixType.prototype.get elementType):
1905         (MatrixType.prototype.get numRows):
1906         (MatrixType.prototype.get numColumns):
1907         (MatrixType.prototype.get numRowsValue):
1908         (MatrixType.prototype.get numColumnsValue):
1909         (MatrixType.prototype.get size):
1910         (MatrixType.prototype.unifyImpl):
1911         (MatrixType.prototype.populateDefaultValue):
1912         (MatrixType.prototype.toString):
1913         * WebGPUShadingLanguageRI/NameContext.js:
1914         (NameContext.prototype.add):
1915         * WebGPUShadingLanguageRI/NativeType.js:
1916         (NativeType.create):
1917         (NativeType):
1918         * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
1919         (OperatorAnderIndexer):
1920         * WebGPUShadingLanguageRI/OperatorBool.js: Removed.
1921         * WebGPUShadingLanguageRI/Prepare.js:
1922         (let.prepare):
1923         * WebGPUShadingLanguageRI/Program.js:
1924         (Program.prototype.add):
1925         * WebGPUShadingLanguageRI/Rewriter.js:
1926         (Rewriter.prototype.visitMatrixType):
1927         (Rewriter):
1928         * WebGPUShadingLanguageRI/SPIRV.html:
1929         * WebGPUShadingLanguageRI/StandardLibrary.js:
1930         (operator.bool):
1931         (bool.operator):
1932         (uchar.operator):
1933         (ushort.operator):
1934         (char.operator):
1935         (short.operator):
1936         (uint.operator):
1937         (int.operator):
1938         (half.operator):
1939         (float.operator):
1940         (uchar2.operator):
1941         (uchar3.operator):
1942         (uchar4.operator):
1943         (ushort2.operator):
1944         (ushort3.operator):
1945         (ushort4.operator):
1946         (uint2.operator):
1947         (uint3.operator):
1948         (uint4.operator):
1949         (char2.operator):
1950         (char3.operator):
1951         (char4.operator):
1952         (short2.operator):
1953         (short3.operator):
1954         (short4.operator):
1955         (int2.operator):
1956         (int3.operator):
1957         (int4.operator):
1958         (half2.operator):
1959         (half3.operator):
1960         (half4.operator):
1961         (float2.operator):
1962         (float3.operator):
1963         (float4.operator):
1964         (half2x2.operator):
1965         (half2x3.operator):
1966         (half2x4.operator):
1967         (half3x2.operator):
1968         (half3x3.operator):
1969         (half3x4.operator):
1970         (half4x2.operator):
1971         (half4x3.operator):
1972         (half4x4.operator):
1973         (float2x2.operator):
1974         (float2x3.operator):
1975         (float2x4.operator):
1976         (float3x2.operator):
1977         (float3x3.operator):
1978         (float3x4.operator):
1979         (float4x2.operator):
1980         (float4x3.operator):
1981         (float4x4.operator):
1982         (operator.bool2):
1983         (operator.bool3):
1984         (operator.bool4):
1985         (uint.operator.length):
1986         (operator.uchar2):
1987         (operator.uchar3):
1988         (operator.uchar4):
1989         (operator.ushort2):
1990         (operator.ushort3):
1991         (operator.ushort4):
1992         (operator.uint2):
1993         (operator.uint3):
1994         (operator.uint4):
1995         (operator.char2):
1996         (operator.char3):
1997         (operator.char4):
1998         (operator.short2):
1999         (operator.short3):
2000         (operator.short4):
2001         (operator.int2):
2002         (operator.int3):
2003         (operator.int4):
2004         (operator.half2):
2005         (operator.half3):
2006         (operator.half4):
2007         (operator.float2):
2008         (operator.float3):
2009         (operator.float4):
2010         (bool2.operator):
2011         (bool3.operator):
2012         (bool4.operator):
2013         (allVectorTypeNames):
2014         * WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
2015         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
2016         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
2017         (synthesizeDefaultConstructorOperator.FindAllTypes):
2018         (synthesizeDefaultConstructorOperator):
2019         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
2020         * WebGPUShadingLanguageRI/Test.html:
2021         * WebGPUShadingLanguageRI/Test.js:
2022         (makeHalf):
2023         (checkHalf):
2024         * WebGPUShadingLanguageRI/Visitor.js:
2025         (Visitor.prototype.visitMatrixType):
2026         (Visitor):
2027         * WebGPUShadingLanguageRI/index.html:
2029 2018-08-29  Simon Fraser  <simon.fraser@apple.com>
2031         Teach webkitpy how to check leaks and treat leaks as test failures
2032         https://bugs.webkit.org/show_bug.cgi?id=189067
2034         Reviewed by Darin Adler.
2035         
2036         Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
2037         with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
2038         behavior added in r235408, namely that they check for leaked documents after each test, and at
2039         the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
2040         "#CHECK FOR WORLD LEAKS" command to get still-live documents.
2041         
2042         LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
2043         and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
2044         If this results block includes leaks, we convert an existing TestResult into a LEAK failure
2045         in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
2047         Unit tests are updated with some leak examples.
2049         * DumpRenderTree/mac/DumpRenderTree.mm:
2050         (initializeGlobalsFromCommandLineOptions):
2051         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
2052         (ParsedJSONResultsTest):
2053         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
2054         (LayoutTestRunner._annotate_results_with_additional_failures):
2055         (LayoutTestRunner._handle_finished_test_group):
2056         (Worker.handle):
2057         (Worker._run_test):
2058         (Worker._do_post_tests_work):
2059         (Worker._finished_test_group):
2060         (Worker._run_test_in_another_thread):
2061         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2062         (JSONLayoutResultsGenerator):
2063         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2064         (TestExpectationParser):
2065         (TestExpectations):
2066         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
2067         (Base.get_basic_tests):
2068         * Scripts/webkitpy/layout_tests/models/test_failures.py:
2069         (determine_result_type):
2070         (FailureLeak):
2071         (FailureLeak.__init__):
2072         (FailureLeak.message):
2073         (FailureDocumentLeak):
2074         (FailureDocumentLeak.__init__):
2075         (FailureDocumentLeak.message):
2076         * Scripts/webkitpy/layout_tests/models/test_results.py:
2077         (TestResult.convert_to_failure):
2078         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
2079         (TestRunResults.change_result_to_failure):
2080         (_interpret_test_failures):
2081         (summarize_results):
2082         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
2083         (get_result):
2084         (run_results):
2085         (summarized_results):
2086         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2087         (parse_args):
2088         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
2089         (parse_args):
2090         (RunTest.test_check_for_world_leaks):
2091         * Scripts/webkitpy/port/driver.py:
2092         (DriverPostTestOutput):
2093         (DriverPostTestOutput.__init__):
2094         (Driver.do_post_tests_work):
2095         (Driver._parse_world_leaks_output):
2096         (Driver.cmd_line):
2097         (DriverProxy.do_post_tests_work):
2098         * Scripts/webkitpy/port/test.py:
2099         (unit_test_list):
2100         * WebKitTestRunner/Options.cpp:
2101         (WTR::OptionsHandler::OptionsHandler):
2102         * WebKitTestRunner/TestController.cpp:
2103         (WTR::TestController::checkForWorldLeaks):
2105 2018-08-29  David Kilzer  <ddkilzer@apple.com>
2107         Remove empty directories from from svn.webkit.org repository
2108         <https://webkit.org/b/189081>
2110         * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
2111         * WebKitTestRunner/UIScriptContext: Removed.
2113 2018-08-29  Pablo Saavedra  <psaavedra@igalia.com>
2115         [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
2116         https://bugs.webkit.org/show_bug.cgi?id=189077
2118         Reviewed by Michael Catanzaro.
2120         Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
2121         This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
2122         Linux ARMv7 Thumb2 SoftFP Release' buildjob.
2124         * BuildSlaveSupport/build.webkit.org-config/config.json:
2125         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2127 2018-08-28  Daniel Bates  <dabates@apple.com>
2129         lldb-webkit: KeyError thrown for OptionSet
2130         https://bugs.webkit.org/show_bug.cgi?id=189062
2132         Reviewed by Simon Fraser.
2134         For some reason lldb(1) may not retrieve the enumerator names for an enum value
2135         when it calls update() on the synthetic children provider. If this occurs then
2136         bail out as we cannot compute what enumerators are in the set.
2138         * lldb/lldb_webkit.py:
2139         (WTFOptionSetProvider.update):
2141 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
2143         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
2144         https://bugs.webkit.org/show_bug.cgi?id=189037
2146         Reviewed by Chris Dumez.
2148         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
2149         (TEST):
2151 2018-08-28  David Kilzer  <ddkilzer@apple.com>
2153         Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
2155         Found by tidy-Xcode-project-file script (see Bug 188754).
2157         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2158         (IOKit.framework): Use `sourceTree = "<absolute>";` to match
2159         other frameworks in the project.
2160         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
2161         (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
2162         built product instead of relative build directory path.
2163         * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
2164         (JavaScriptCore.framework): Ditto.
2165         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
2166         (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
2167         product.
2169 2018-08-28  Alex Christensen  <achristensen@webkit.org>
2171         Fix 32-bit Mac build.
2173         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
2175 2018-08-28  Alex Christensen  <achristensen@webkit.org>
2177         REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
2178         https://bugs.webkit.org/show_bug.cgi?id=189050
2180         Reviewed by Tim Horton.
2182         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
2183         This test wasn't run on iOS before.  Let's re-introduce the WK_HAVE_C_SPI guard.
2185 2018-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
2187         [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
2188         https://bugs.webkit.org/show_bug.cgi?id=189049
2190         Reviewed by Tim Horton.
2192         Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
2193         load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
2195         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2196         (simulateFolderDragWithURL):
2198 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2200         [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
2201         https://bugs.webkit.org/show_bug.cgi?id=189004
2203         Reviewed by Dan Bernstein.
2205         Move off of deprecated attachment insertion SPI.
2207         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2208         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
2209         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
2210         (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
2212 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2214         Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
2215         https://bugs.webkit.org/show_bug.cgi?id=188994
2217         Reviewed by Tim Horton.
2218         
2219         This patch adds the notion of a "control command" in the protocol between webkitpy and 
2220         WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
2221         that is checked for before trying to parse the input as test URL. For now, just one
2222         commmand is supported, which is "#CHECK FOR WORLD LEAKS".
2223         
2224         In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
2225         with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
2226         
2227         DumpRenderTree stubs out the command, returning an empty block.
2228         
2229         WebKitTestRunner responds to the command by dumping the list of live documents, if it was
2230         run with the --check-for-world-leaks option.
2231         
2232         When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
2233         WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
2234         that leaked a document), and keeps them in a map of document identifier to test and live document URL.
2235         Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
2236         clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
2237         after which it requests the list of live documents for a final time, excluding any that are loaded
2238         in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
2239         list are therefore leaked (or abandoned).
2240         
2241         Future patches will hook up webkitpy reporting for leaked documents.
2243         * DumpRenderTree/mac/DumpRenderTree.mm:
2244         (initializeGlobalsFromCommandLineOptions):
2245         (handleControlCommand):
2246         (runTestingServerLoop):
2247         * DumpRenderTree/win/DumpRenderTree.cpp:
2248         (handleControlCommand):
2249         (main):
2250         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2251         (WTR::postGCTask):
2252         (WTR::InjectedBundle::reportLiveDocuments):
2253         (WTR::InjectedBundle::didReceiveMessageToPage):
2254         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2255         * WebKitTestRunner/Options.cpp:
2256         (WTR::handleOptionCheckForWorldLeaks):
2257         (WTR::OptionsHandler::OptionsHandler):
2258         * WebKitTestRunner/Options.h:
2259         * WebKitTestRunner/TestController.cpp:
2260         (WTR::AsyncTask::run):
2261         (WTR::AsyncTask::currentTask):
2262         (WTR::TestController::initialize):
2263         (WTR::TestController::ensureViewSupportsOptionsForTest):
2264         (WTR::TestController::resetStateToConsistentValues):
2265         (WTR::TestController::updateLiveDocumentsAfterTest):
2266         (WTR::TestController::checkForWorldLeaks):
2267         (WTR::TestController::findAndDumpWorldLeaks):
2268         (WTR::TestController::willDestroyWebView):
2269         (WTR::parseInputLine):
2270         (WTR::TestController::waitForCompletion):
2271         (WTR::TestController::handleControlCommand):
2272         (WTR::TestController::runTestingServerLoop):
2273         (WTR::TestController::run):
2274         (WTR::TestController::didReceiveLiveDocumentsList):
2275         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2276         * WebKitTestRunner/TestController.h:
2277         (WTR::AsyncTask::AsyncTask):
2278         (WTR::AsyncTask::taskComplete):
2279         (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
2280         * WebKitTestRunner/TestInvocation.cpp:
2281         (WTR::TestInvocation::invoke):
2282         * WebKitTestRunner/TestOptions.h:
2283         (WTR::TestOptions::hasSameInitializationOptions const):
2285 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2287         Fix API test after r235398
2288         https://bugs.webkit.org/show_bug.cgi?id=188997
2290         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2291         (TestWebKitAPI::setPageLoaderClient):
2292         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2293         willGoToBackForwardListItem is unused and unsupported.  Removing its check.
2295 2018-08-27  Daniel Bates  <dabates@apple.com>
2297         Partial revert of r235376
2298         https://bugs.webkit.org/show_bug.cgi?id=189011
2300         For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
2301         Debug and Apple High Sierra Debug bots:
2303             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
2304             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
2306         Will investigate offline.
2308         * lldb/lldbWebKitTester/main.cpp:
2309         (testSummaryProviders):
2310         * lldb/lldb_webkit_unittest.py:
2311         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2312         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
2313         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
2314         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
2315         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
2317 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
2319         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
2320         https://bugs.webkit.org/show_bug.cgi?id=188931
2322         Reviewed by Wenson Hsieh.
2324         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
2326 2018-08-27  Justin Fan  <justin_fan@apple.com>
2328         Add Justin Fan to list of WebKit contributors
2329         https://bugs.webkit.org/show_bug.cgi?id=184431
2331         * Scripts/webkitpy/common/config/contributors.json:
2333 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2335         Convert timeout values in WebKitTestRunner to WTF::Seconds
2336         https://bugs.webkit.org/show_bug.cgi?id=188987
2338         Reviewed by Ryosuke Niwa.
2339         
2340         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
2341         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
2342         using integers, convert to and from milliseconds.
2343         
2344         Also do some #pragma once, and initializer cleanup.
2346         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2347         (WTR::InjectedBundle::didReceiveMessageToPage):
2348         (WTR::InjectedBundle::beginTesting):
2349         (WTR::InjectedBundle::InjectedBundle): Deleted.
2350         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2351         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2352         (WTR::TestRunner::timeout):
2353         (WTR::TestRunner::setCustomTimeout):
2354         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2355         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2356         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
2357         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
2358         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2359         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2360         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2361         * WebKitTestRunner/TestController.cpp:
2362         (WTR::TestController::TestController):
2363         (WTR::parseInputLine):
2364         (WTR::TestController::runTest):
2365         (WTR::TestController::runUntil):
2366         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2367         * WebKitTestRunner/TestController.h:
2368         * WebKitTestRunner/TestInvocation.cpp:
2369         (WTR::TestInvocation::shortTimeout const):
2370         (WTR::TestInvocation::createTestSettingsDictionary):
2371         * WebKitTestRunner/TestInvocation.h:
2372         * WebKitTestRunner/TestOptions.h:
2373         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2374         (WTR::TestController::platformRunUntil):
2375         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2376         (WTR::TestController::platformRunUntil):
2377         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2378         (WTR::TestController::platformRunUntil):
2380 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2382         Convert timeout values in WebKitTestRunner to WTF::Seconds
2383         https://bugs.webkit.org/show_bug.cgi?id=188987
2385         Reviewed by Ryosuke Niwa.
2386         
2387         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
2388         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
2389         using integers, convert to and from milliseconds.
2390         
2391         Also do some #pragma once, and initializer cleanup.
2393         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2394         (WTR::InjectedBundle::didReceiveMessageToPage):
2395         (WTR::InjectedBundle::beginTesting):
2396         (WTR::InjectedBundle::InjectedBundle): Deleted.
2397         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2398         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2399         (WTR::TestRunner::timeout):
2400         (WTR::TestRunner::setCustomTimeout):
2401         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2402         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2403         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
2404         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
2405         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2406         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2407         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2408         * WebKitTestRunner/TestController.cpp:
2409         (WTR::TestController::TestController):
2410         (WTR::parseInputLine):
2411         (WTR::TestController::runTest):
2412         (WTR::TestController::runUntil):
2413         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2414         * WebKitTestRunner/TestController.h:
2415         * WebKitTestRunner/TestInvocation.cpp:
2416         (WTR::TestInvocation::shortTimeout const):
2417         (WTR::TestInvocation::createTestSettingsDictionary):
2418         * WebKitTestRunner/TestInvocation.h:
2419         * WebKitTestRunner/TestOptions.h:
2420         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2421         (WTR::TestController::platformRunUntil):
2422         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2423         (WTR::TestController::platformRunUntil):
2424         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2425         (WTR::TestController::platformRunUntil):
2427 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2429         REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
2430         https://bugs.webkit.org/show_bug.cgi?id=189002
2432         Reviewed by Tim Horton.
2434         * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
2435         (TestWebKitAPI::TEST_F):
2437 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2439         [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
2440         https://bugs.webkit.org/show_bug.cgi?id=188903
2441         <rdar://problem/43702993>
2443         Reviewed by Tim Horton.
2445         Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
2446         both iOS and macOS:
2447         â€¢       Dropping a folder as an attachment element, and then moving that attachment element in the document by
2448                 dragging and dropping.
2449         â€¢       Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
2450                 _WKAttachment SPI to swap the attachments' backing file wrappers.
2452         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2453         (runTestWithTemporaryFolder):
2455         Add a helper function to run a test with a new folder path, created in the temporary directory and populated
2456         with some sample content. This folder is deleted after running the test.
2458         (simulateFolderDragWithURL):
2460         Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
2461         external to the web view.
2463         (platformCopyRichTextWithMultipleAttachments):
2464         (platformCopyRichTextWithImage):
2465         (platformCopyPNG):
2466         (TestWebKitAPI::TEST):
2468         Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
2469         ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
2470         preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
2471         this quirk is no longer supported.
2473         Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
2475         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2477         Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
2478         when using the same DragAndDropSimulator to perform multiple drags in a single test.
2480         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2481         (-[DragAndDropSimulator clearExternalDragInformation]):
2482         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2483         (-[DragAndDropSimulator clearExternalDragInformation]):
2485 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2487         Translate 4 tests using WKPageLoaderClient to ObjC
2488         https://bugs.webkit.org/show_bug.cgi?id=188827
2490         Reviewed by Tim Horton.
2492         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2493         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2494         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
2495         bundle functionality any more.
2497         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2498         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2499         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2500         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2501         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2502         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2503         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2504         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2505         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2506         (TestWebKitAPI::TEST):
2507         (): Deleted.
2508         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2509         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2510         (TestWebKitAPI::setPageLoaderClient): Deleted.
2511         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2512         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2513         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2514         (TestWebKitAPI::TEST):
2515         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2516         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2517         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2518         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2519         (TestWebKitAPI::setPageLoaderClient): Deleted.
2520         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2521         (-[SessionStateDelegate webView:didFinishNavigation:]):
2522         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2523         (TestWebKitAPI::createSessionStateData):
2524         (TestWebKitAPI::TEST):
2525         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2526         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2527         (TestWebKitAPI::setPageLoaderClient): Deleted.
2528         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2529         (-[BackForwardClient webView:didFinishNavigation:]):
2530         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2531         (TestWebKitAPI::TEST):
2532         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2533         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2534         (TestWebKitAPI::setPageLoaderClient): Deleted.
2536 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2538         [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
2539         https://bugs.webkit.org/show_bug.cgi?id=188989
2541         Reviewed by Andy Estes.
2543         Move this into the Tests/WebKit/Resources group in the project.
2545         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2547 2018-08-27  Thomas Denney  <tdenney@apple.com>
2549         Avoid an exception in the interactive interpreter
2550         https://bugs.webkit.org/show_bug.cgi?id=188991
2552         Reviewed by Myles C. Maxfield.
2554         * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
2555         local variable
2557 2018-08-27  Thomas Denney  <tdenney@apple.com>
2559         Allow new vector types to work with the interactive interpreter
2560         https://bugs.webkit.org/show_bug.cgi?id=188988
2562         Reviewed by Myles C. Maxfield.
2564         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2565         (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
2566         unncessarily visit the type arguments of a TypeRef, as by this point
2567         there are none that are relevant.
2568         * WebGPUShadingLanguageRI/Intrinsics.js:
2569         (Intrinsics): Treat VectorType as a primitive type.
2571 2018-08-27  Keith Rollin  <krollin@apple.com>
2573         Build system support for LTO
2574         https://bugs.webkit.org/show_bug.cgi?id=187785
2575         <rdar://problem/42353132>
2577         Reviewed by Dan Bernstein.
2579         Add tools/scripts support for controlling LTO builds.
2581         * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
2582         * Scripts/set-webkit-configuration: Add support for saving LTO
2583         configuration to WebKitBuild/LTO.
2584         * Scripts/webkitdirs.pm: Add support for reading configuration from
2585         WebKitBuild/LTO and providing it to xcodebuild.
2586         (determineLTOMode):
2587         (ltoMode):
2588         (XcodeOptions):
2590 2018-08-27  Daniel Bates  <dabates@apple.com>
2592         lldb-webkit: Pretty-print OptionSet
2593         https://bugs.webkit.org/show_bug.cgi?id=188936
2595         Reviewed by Simon Fraser.
2597         Add LLDB formatters to pretty-print an OptionSet.
2599         * lldb/lldbWebKitTester/main.cpp:
2600         (testSummaryProviders):
2601         * lldb/lldb_webkit.py:
2602         (__lldb_init_module):
2603         (__lldb_init_module.lldb_webkit):
2604         (WTFOptionSet_SummaryProvider):
2605         (WTFOptionSetProvider):
2606         (WTFOptionSetProvider.__init__):
2607         (WTFOptionSetProvider.has_children):
2608         (WTFOptionSetProvider.num_children):
2609         (WTFOptionSetProvider.get_child_index):
2610         (WTFOptionSetProvider.get_child_at_index):
2611         (WTFOptionSetProvider.update):
2612         * lldb/lldb_webkit_unittest.py:
2613         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2614         (TestSummaryProviders):
2615         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
2616         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
2617         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
2618         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
2620 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2622         [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
2623         https://bugs.webkit.org/show_bug.cgi?id=188957
2624         <rdar://problem/43737715>
2626         Reviewed by Darin Adler.
2628         Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
2629         generates _WKAttachments whose names reflect those alt attributes.
2631         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2632         (testGIFFileURL):
2633         (testGIFData):
2634         (TestWebKitAPI::TEST):
2636 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2638         Unreviewed, rolling out r235367.
2640         Broke iOS build.
2642         Reverted changeset:
2644         "Translate 4 tests using WKPageLoaderClient to ObjC"
2645         https://bugs.webkit.org/show_bug.cgi?id=188827
2646         https://trac.webkit.org/changeset/235367
2648 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2650         Fix GTK build.
2652         * TestWebKitAPI/CMakeLists.txt:
2654 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2656         Fix iOS build.
2658         * TestWebKitAPI/PlatformWebView.h:
2660 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2662         Translate 4 tests using WKPageLoaderClient to ObjC
2663         https://bugs.webkit.org/show_bug.cgi?id=188827
2665         Reviewed by Tim Horton.
2667         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2668         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2669         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
2670         bundle functionality any more.
2672         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2673         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2674         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2675         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2676         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2677         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2678         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2679         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2680         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2681         (TestWebKitAPI::TEST):
2682         (): Deleted.
2683         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2684         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2685         (TestWebKitAPI::setPageLoaderClient): Deleted.
2686         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2687         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2688         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2689         (TestWebKitAPI::TEST):
2690         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2691         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2692         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2693         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2694         (TestWebKitAPI::setPageLoaderClient): Deleted.
2695         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2696         (-[SessionStateDelegate webView:didFinishNavigation:]):
2697         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2698         (TestWebKitAPI::createSessionStateData):
2699         (TestWebKitAPI::TEST):
2700         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2701         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2702         (TestWebKitAPI::setPageLoaderClient): Deleted.
2703         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2704         (-[BackForwardClient webView:didFinishNavigation:]):
2705         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2706         (TestWebKitAPI::TEST):
2707         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2708         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2709         (TestWebKitAPI::setPageLoaderClient): Deleted.
2711 2018-08-27  Keith Miller  <keith_miller@apple.com>
2713         test262-runner -s --test-only should replace test results
2714         https://bugs.webkit.org/show_bug.cgi?id=188450
2716         Reviewed by Michael Saboff.
2718         * Scripts/test262/Runner.pm:
2719         (main):
2720         (SetFailureForTest):
2721         (UpdateResults):
2723 2018-08-26  Sam Weinig  <sam@webkit.org>
2725         Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
2726         https://bugs.webkit.org/show_bug.cgi?id=188958
2728         Reviewed by Anders Carlsson.
2730         * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
2731         Update test protocol to have inheritance.
2733 2018-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
2735         [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
2736         https://bugs.webkit.org/show_bug.cgi?id=188933
2737         <rdar://problem/43699724>
2739         Reviewed by Darin Adler.
2741         Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
2742         tests. These new tests exercise the following cases:
2743         â€¢       Inserting and removing newlines before an inline image with an attachment element does not cause new
2744                 _WKAttachments to be created and destroyed.
2745         â€¢       Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
2746                 process with the original _WKAttachment.
2747         â€¢       A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
2748                 lose a _WKAttachment.
2750         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2751         (-[TestWKWebView expectElementCount:tagName:]):
2752         (TestWebKitAPI::TEST):
2754         Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
2755         as image elements, but still have associated attachment elements whose attachment identifiers (observed via
2756         script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
2758         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2759         (-[DragAndDropSimulator runFrom:to:]):
2760         (-[DragAndDropSimulator continueDragSession]):
2761         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2763         Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
2764         execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
2765         flaky, due to how the promised data is retrieved asynchronously when performing the drop.
2767         (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
2769 2018-08-26  Lucas Forschler  <lforschler@apple.com>
2771         Open svn.webkit.org for commits.
2773 2018-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
2775         Unreviewed test fix after r235249
2776         https://bugs.webkit.org/show_bug.cgi?id=178981
2778         * WebGPUShadingLanguageRI/Test.js:
2780 2018-08-24  Alex Christensen  <achristensen@webkit.org>
2782         Introduce _WKInspector
2783         https://bugs.webkit.org/show_bug.cgi?id=188923
2784         <rdar://problem/34657861>
2786         Reviewed by Brian Burg.
2788         * MiniBrowser/mac/WK2BrowserWindowController.m:
2789         (-[WK2BrowserWindowController validateMenuItem:]):
2790         (-[WK2BrowserWindowController showHideWebInspector:]):
2792 2018-08-24  Jonathan Bedard  <jbedard@apple.com>
2794         Fix handling of iOS minor versions in default_baseline_search_path
2795         https://bugs.webkit.org/show_bug.cgi?id=188902
2797         Reviewed by Aakash Jain.
2799         * Scripts/webkitpy/port/ios.py:
2800         (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
2801         it as a the CURRENT_VERSION.
2803 2018-08-24  Antti Koivisto  <antti@apple.com>
2805         Allow creating WeakPtrs to const objects
2806         https://bugs.webkit.org/show_bug.cgi?id=188785
2808         Reviewed by Geoff Garen.
2810         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2811         (TestWebKitAPI::Base::weakPtrFactory const):
2812         (TestWebKitAPI::TEST):
2813         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2815 2018-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2817         [GTK][WPE] Add API to inject/register user content in isolated worlds
2818         https://bugs.webkit.org/show_bug.cgi?id=188883
2820         Reviewed by Michael Catanzaro.
2822         Add test cases for the new API.
2824         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2825         (isStyleSheetInjectedForURLAtPath):
2826         (isScriptInjectedForURLAtPath):
2827         (testUserContentManagerInjectedStyleSheet):
2828         (testUserContentManagerInjectedScript):
2829         (UserScriptMessageTest::registerHandler):
2830         (UserScriptMessageTest::unregisterHandler):
2831         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
2832         (testUserContentManagerScriptMessageInWorldReceived):
2833         (beforeAll):
2835 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
2837         Add support for dumping GC heap snapshots, and a viewer
2838         https://bugs.webkit.org/show_bug.cgi?id=186416
2840         Reviewed by Joseph Pecoraro.
2842         Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
2843         page for inspection (or set via the 'filename' URL parameter).
2845         For now, this page shows all objects, all roots, and the shortest path from a root
2846         to all HTMLDocuments and Windows.
2848         * GCHeapInspector/gc-heap-inspector.html: Added.
2849         * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
2850         * GCHeapInspector/script/interface.js: Added.
2852 2018-08-23  Alex Christensen  <achristensen@webkit.org>
2854         Add new _webViewRequestPointerLock SPI with a completionHandler
2855         https://bugs.webkit.org/show_bug.cgi?id=188907
2856         <rdar://problem/35871109>
2858         Reviewed by Andy Estes.
2860         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2861         (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
2862         (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2863         (TEST):
2865 2018-08-23  David Fenton  <david_fenton@apple.com>
2867         Unreviewed, rolling out r235129.
2869         broke internal builds
2871         Reverted changeset:
2873         "Allow creating WeakPtrs to const objects"
2874         https://bugs.webkit.org/show_bug.cgi?id=188785
2875         https://trac.webkit.org/changeset/235129
2877 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2879         API tests should output json results
2880         https://bugs.webkit.org/show_bug.cgi?id=188869
2881         <rdar://problem/43615652>
2883         Reviewed by Aakash Jain.
2885         JSON output for API tests is of the form:
2886             {
2887                 "Failed": [{"name": <test name>, "output": <test log>}],
2888                 "Timedout": [...],
2889                 "Skipped": [...],
2890                 "Crashed": [...]
2891             }
2892         Tests which are successful are not displayed in the json output.
2894         * Scripts/webkitpy/api_tests/manager.py:
2895         (Manager.run): Print test results to provided file as a json dictionary.
2896         * Scripts/webkitpy/api_tests/run_api_tests.py:
2897         (run): Pass json option.
2898         (parse_args): Add --json-output flag.
2900 2018-08-23  Andy Estes  <aestes@apple.com>
2902         [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
2903         https://bugs.webkit.org/show_bug.cgi?id=188829
2905         Reviewed by Tim Horton.
2907         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2909 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2911         [WSL] Ternary expressions appear to be unimplemented
2912         https://bugs.webkit.org/show_bug.cgi?id=178981
2914         Reviewed by Saam Barati.
2916         Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
2917         is parsed as (a ? b : (c ? d : e)).
2919         * WebGPUShadingLanguageRI/All.js:
2920         * WebGPUShadingLanguageRI/Checker.js:
2921         (Checker.prototype.visitTernaryExpression):
2922         * WebGPUShadingLanguageRI/Evaluator.js:
2923         (Evaluator.prototype.visitTernaryExpression):
2924         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
2925         (NormalUsePropertyResolver.prototype.visitTernaryExpression):
2926         (NormalUsePropertyResolver):
2927         * WebGPUShadingLanguageRI/Parse.js:
2928         (parsePossibleTernaryConditional):
2929         * WebGPUShadingLanguageRI/PropertyResolver.js:
2930         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
2931         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
2932         (PropertyResolver.prototype._visitRValuesWithinLValue):
2933         * WebGPUShadingLanguageRI/Rewriter.js:
2934         (Rewriter.prototype.visitTernaryExpression):
2935         * WebGPUShadingLanguageRI/SPIRV.html:
2936         * WebGPUShadingLanguageRI/Test.html:
2937         * WebGPUShadingLanguageRI/Test.js:
2938         * WebGPUShadingLanguageRI/Visitor.js:
2939         (Visitor.prototype.visitProtocolDecl):
2940         * WebGPUShadingLanguageRI/index.html:
2942 2018-08-22  Ryosuke Niwa  <rniwa@webkit.org>
2944         Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
2945         https://bugs.webkit.org/show_bug.cgi?id=188880
2947         Reviewed by Saam Barati.
2949         Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
2950         were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
2951         test WebKit's behavior in layout tests.
2953         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2954         (WTR::TestRunner::terminateNetworkProcess):
2955         (WTR::TestRunner::terminateServiceWorkerProcess):
2956         (WTR::TestRunner::terminateStorageProcess):
2957         * WebKitTestRunner/TestInvocation.cpp:
2958         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2959         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2961 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2963         [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
2964         https://bugs.webkit.org/show_bug.cgi?id=188773
2966         Reviewed by Filip Pizlo.
2968         Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
2969         typeArguments.
2971         Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
2972         "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
2973         there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
2974         be uniquely identified by name. That name was then matched to the string-only NativeType name.
2976         This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
2977         natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
2978         the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
2980         It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
2981         type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
2982         information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
2983         implement in the future.
2985         So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
2986         typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
2987         TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
2988         which had been set - this was true even before this patch.
2990         This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
2991         that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
2992         NameContext for the appropriate array. This is the same way that function resolution works.
2994         We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
2995         an okay start. This works just about the same way that function overload resolution works. 
2997         * WebGPUShadingLanguageRI/All.js:
2998         * WebGPUShadingLanguageRI/CallExpression.js:
2999         (CallExpression.prototype.resolve):
3000         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
3001         have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
3002         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
3003         (checkTypesWithArguments.TypeWithArgumentsChecker):
3004         (checkTypesWithArguments):
3005         * WebGPUShadingLanguageRI/Checker.js:
3006         (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
3007         typeArguments share names, this has to be updated to map strings to arrays for these types.
3008         (Checker.prototype.visitTypeRef):
3009         * WebGPUShadingLanguageRI/InferTypesForCall.js:
3010         (inferTypesForCall): Don't know why this was here.
3011         (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
3012         * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
3013         don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
3014         moves in the direction of matching the standard library in the spec.
3015         (Intrinsics.cast):
3016         (Intrinsics.bitwiseCast):
3017         (Intrinsics.castToHalf):
3018         (Intrinsics.):
3019         (Intrinsics):
3020         * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
3021         (NameContext.prototype.add):
3022         (NameContext.prototype.get let):
3023         (NameContext.underlyingThings.prototype.else):
3024         (NameContext.prototype.Symbol.iterator):
3025         (NameContext):
3026         * WebGPUShadingLanguageRI/NameResolver.js:
3027         (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
3028         (NameResolver.prototype.visitCallExpression):
3029         (NameResolver):
3030         (NameResolver.prototype.visitVectorType): Deleted.
3031         * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
3032         (NativeType):
3033         (NativeType.prototype.get typeArguments):
3034         (NativeType.prototype.toString):
3035         (NativeType.create):
3036         * WebGPUShadingLanguageRI/Prepare.js:
3037         (let.prepare):
3038         * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
3039         (Program.prototype.add):
3040         (Program.prototype.toString):
3041         (Program):
3042         * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
3043         * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
3044         (resolveNamesInTypes):
3045         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
3046         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
3047         (resolveTypeDefsInTypes):
3048         * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
3049         (Rewriter.prototype.visitTypeRef):
3050         (Rewriter.prototype.visitVectorType):
3051         (Rewriter):
3052         * WebGPUShadingLanguageRI/SPIRV.html:
3053         * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
3054         (bool.operator):
3055         * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
3056         (StatementCloner.prototype.visitNativeType):
3057         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
3058         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
3059         (synthesizeDefaultConstructorOperator.FindAllTypes):
3060         (synthesizeDefaultConstructorOperator):
3061         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
3062         (synthesizeStructAccessors.createTypeRef):
3063         * WebGPUShadingLanguageRI/Test.html:
3064         * WebGPUShadingLanguageRI/Test.js:
3065         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
3066         (TypeOverloadResolutionFailure):
3067         (TypeOverloadResolutionFailure.prototype.get type):
3068         (TypeOverloadResolutionFailure.prototype.get reason):
3069         (TypeOverloadResolutionFailure.prototype.toString):
3070         * WebGPUShadingLanguageRI/TypeRef.js:
3071         (TypeRef.wrap):
3072         (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
3073         (TypeRef.prototype.toString):
3074         (TypeRef):
3075         (TypeRef.instantiate): Deleted.
3076         * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
3077         adds this facility back into the compiler (it was previously deleted).
3078         (UnificationContext.prototype.verify):
3079         * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
3080         (VectorType):
3081         (VectorType.prototype.get elementType):
3082         (VectorType.prototype.get numElements):
3083         (VectorType.prototype.get numElementsValue):
3084         (VectorType.prototype.toString):
3085         * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
3086         (Visitor.prototype.visitTypeRef):
3087         (Visitor.prototype.visitNativeType):
3088         (Visitor.prototype.visitVectorType):
3089         (Visitor):
3090         * WebGPUShadingLanguageRI/index.html:
3092 2018-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>
3094         [Attachment Support] Attachment elements don't appear in drag images on macOS
3095         https://bugs.webkit.org/show_bug.cgi?id=188823
3096         <rdar://problem/43616378>
3098         Reviewed by Tim Horton.
3100         Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
3101         attachment element in macOS is not completely transparent.
3103         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3104         (isCompletelyTransparent):
3105         (TestWebKitAPI::TEST):
3107 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
3109         Explain test name matching in run-api-tests help
3110         https://bugs.webkit.org/show_bug.cgi?id=188280
3112         Reviewed by Ryosuke Niwa.
3114         Improve the run-api-tests help message to explain how test
3115         name matching works.
3117         * Scripts/webkitpy/api_tests/run_api_tests.py:
3118         (parse_args):
3119         * Scripts/webkitpy/port/base.py:
3120         (Port):
3121         (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
3122         * Scripts/webkitpy/port/win.py:
3123         (WinPort):
3124         (WinPort.path_to_api_test_binaries): Ditto.
3126 2018-08-23  Youenn Fablet  <youenn@apple.com>
3128         Use "wpt serve" to launch WPT server
3129         https://bugs.webkit.org/show_bug.cgi?id=188848
3131         Reviewed by Ryosuke Niwa.
3133         Use "wpt serve" provided by WPT instead of using our custom launcher.
3134         This simplifies things and will avoid future breakage.
3135         Further simplify web_platform_test_server.py by removing no longer needed actions.
3136         - Do not copy files but use alias
3137         - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
3138         - Stop enumerating subprocess pids.
3140         * Scripts/webkitpy/common/system/executive_mock.py:
3141         (MockExecutive.interrupt):
3142         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
3143         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
3144         (WebPlatformTestServer.__init__):
3145         (WebPlatformTestServer.ports_to_forward):
3146         (WebPlatformTestServer._prepare_config):
3147         (WebPlatformTestServer._spawn_process):
3148         (WebPlatformTestServer._stop_running_server):
3150 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
3152         run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests 
3153         https://bugs.webkit.org/show_bug.cgi?id=188262
3155         Reviewed by Ryosuke Niwa.
3157         * Scripts/webkitpy/api_tests/run_api_tests.py:
3158         (parse_args):
3160 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
3162         [Attachment Support] Support dragging attachment elements out as files on macOS
3163         https://bugs.webkit.org/show_bug.cgi?id=181294
3164         <rdar://problem/36298801>
3166         Reviewed by Tim Horton.
3168         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
3169         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
3170         elements.
3172         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3173         (-[TestWKWebView attachmentElementMidPoint]):
3175         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
3176         attachment element in the document.
3178         (TestWebKitAPI::TEST):
3180         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
3181         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
3182         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
3183         attachment elements around in a document by using drag and drop.
3185         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3186         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
3187         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
3188         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
3189         (-[DragAndDropSimulator dealloc]):
3190         (-[DragAndDropSimulator runFrom:to:]):
3191         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
3193         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
3194         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
3195         updates asynchronously. This matches AppKit behavior.
3197         (-[DragAndDropSimulator continueDragSession]):
3199         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
3200         itself until the progress reaches 1.
3202         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
3203         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
3205         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
3207         (-[DragAndDropSimulator insertedAttachments]):
3208         (-[DragAndDropSimulator removedAttachments]):
3209         (-[DragAndDropSimulator draggingSession]):
3210         (-[DragAndDropSimulator receivePromisedFiles]):
3212         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
3213         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
3215         (-[DragAndDropSimulator endDataTransfer]):
3217         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
3219         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
3220         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
3222         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
3224 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
3226         [iOS] Add support for the inputmode attribute
3227         https://bugs.webkit.org/show_bug.cgi?id=183621
3229         Reviewed by Tim Horton.
3231         Added an API test to verify that the correct UIKeyboardType is set depending on
3232         the type, inputmode, and pattern specified for an input field.
3234         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
3235         (TestWebKitAPI::TEST):
3236         * TestWebKitAPI/ios/UIKitSPI.h:
3238 2018-08-22  Alex Christensen  <achristensen@webkit.org>
3240         Fix API test on Sierra after r235139
3241         https://bugs.webkit.org/show_bug.cgi?id=188810
3243         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
3244         (TEST):
3246 2018-08-22  David Kilzer  <ddkilzer@apple.com>
3248         Move files in WebCore project to match Xcode folder structure
3249         <https://webkit.org/b/188851>
3251         Reviewed by Tim Horton.
3253         * Scripts/extract-localizable-strings:
3254         * Scripts/update-webkit-localizable-strings:
3255         - Update to match new location of extract-localizable-strings.pl.
3257 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3259         Roll out r235139 and r235146
3260         https://bugs.webkit.org/show_bug.cgi?id=188805
3262         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3263         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
3265 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3267         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
3268         https://bugs.webkit.org/show_bug.cgi?id=188715
3269         <rdar://problem/43541790>
3271         Reviewed by Tim Horton.
3273         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
3274         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
3276         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3277         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
3278         (TestWebKitAPI::TEST):
3280 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3282         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
3283         https://bugs.webkit.org/show_bug.cgi?id=188821
3285         Reviewed by Simon Fraser.
3287         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
3288         (TestWebKitAPI::didLayout):
3289         (TestWebKitAPI::TEST):
3291 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
3293         [WHLSL] Call expressions shouldn't have type arguments
3294         https://bugs.webkit.org/show_bug.cgi?id=188770
3296         Reviewed by Filip Pizlo.
3298         Call expressions only had type arguments for casts, becuase native types can have type arguments.
3299         However, instead of putting those type arguments on the CallExpression, we should parse the casted
3300         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
3302         Test: casts
3304         * WebGPUShadingLanguageRI/CallExpression.js:
3305         (CallExpression):
3306         (CallExpression.prototype.get name):
3307         (CallExpression.resolve):
3308         (CallExpression.prototype.get typeArguments): Deleted.
3309         (CallExpression.prototype.becomeCast): Deleted.
3310         * WebGPUShadingLanguageRI/NameResolver.js:
3311         (NameResolver.prototype.visitCallExpression):
3312         * WebGPUShadingLanguageRI/Parse.js:
3313         (parseConstexpr):
3314         (parseTypeDef):
3315         (parseLeftOperatorCall):
3316         (parseCallExpression.let.parseArguments):
3317         (parsePossiblePrefix):
3318         (parsePossibleRelationalEquality):
3319         (parseLeftLogicalExpression):
3320         (parseIfStatement):
3321         (parseWhile):
3322         (parseFor):
3323         (parseDo):
3324         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
3325         * WebGPUShadingLanguageRI/Rewriter.js:
3326         (Rewriter.prototype.visitCallExpression):
3328 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3330         Translate WebKit.LimitTitleSize API test into ObjC
3331         https://bugs.webkit.org/show_bug.cgi?id=188810
3333         Reviewed by Andy Estes.
3335         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
3336         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
3338         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3339         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
3340         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
3341         (TEST):
3342         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
3343         (TestWebKitAPI::TEST): Deleted.
3345 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3347         Remove unused shouldKeepCurrentBackForwardListItemInList check
3348         https://bugs.webkit.org/show_bug.cgi?id=188805
3350         Reviewed by Andy Estes.
3352         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3353         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
3355 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3357         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
3358         https://bugs.webkit.org/show_bug.cgi?id=188813
3360         Reviewed by Andy Estes.
3362         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
3363         (TestWebKitAPI::didLayout):
3364         (TestWebKitAPI::setPageLoaderClient):
3365         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3366         (TestWebKitAPI::didFinishNavigation):
3367         (TestWebKitAPI::didLayout):
3368         (TestWebKitAPI::setPageLoaderClient):
3369         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3370         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
3371         (TestWebKitAPI::didLayout):
3372         (TestWebKitAPI::setPageLoaderClient):
3374 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3376         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
3377         https://bugs.webkit.org/show_bug.cgi?id=188496
3378         <rdar://problem/43216836>
3380         Reviewed by Tim Horton.
3382         Adjusts existing attachment API tests. See below for more detail.
3384         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3385         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
3386         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
3387         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
3388         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
3390         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
3391         update an existing attachment with a file wrapper.
3393         (-[_WKAttachment expectRequestedDataToBe:]):
3394         (TestWebKitAPI::TEST):
3396         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
3397         Also augment an existing test to check that an attachment element which has been copied and pasted within the
3398         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
3399         backed by the same NSFileWrapper that was originally used to insert the attachment.
3401         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
3402         editable area inserts attachment elements into the document and notifies the UI client with the inserted
3403         attachment data.
3405         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
3406         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
3407         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3408         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
3410         Move off of -_webView:didInsertAttachment:.
3412         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
3414 2018-08-21  David Kilzer  <ddkilzer@apple.com>
3416         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
3417         <https://webkit.org/b/188755>
3419         Reviewed by Andy Estes.
3421         * Scripts/sort-Xcode-project-file: Fix regular expression to
3422         make `mainGroup` name optional.
3424 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
3426         Unreviewed, add myself to committers list.
3428         * Scripts/webkitpy/common/config/contributors.json:
3430 2018-08-21  Antti Koivisto  <antti@apple.com>
3432         Allow creating WeakPtrs to const objects
3433         https://bugs.webkit.org/show_bug.cgi?id=188785
3435         Reviewed by Geoffrey Garen.
3437         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3438         (TestWebKitAPI::Base::weakPtrFactory const):
3439         (TestWebKitAPI::TEST):
3440         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
3442 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
3444         [WebGL] Contexts are not updated when display configuration changed.
3445         https://bugs.webkit.org/show_bug.cgi?id=188750
3447         Reviewed by Brent Fulgham.
3449         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3450         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3451         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
3452         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3453         * WebKitTestRunner/TestController.cpp:
3454         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
3455         * WebKitTestRunner/TestController.h:
3456         * WebKitTestRunner/TestInvocation.cpp:
3457         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3459 2018-08-21  John Wilander  <wilander@apple.com>
3461         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
3462         https://bugs.webkit.org/show_bug.cgi?id=188757
3463         <rdar://problem/38713390>
3465         Reviewed by Alex Christensen.
3467         These changes add the new WebKitTestRunner function
3468         isStatisticsRegisteredAsSubresourceUnder().
3470         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3471         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3472         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
3473         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3474         * WebKitTestRunner/TestController.cpp:
3475         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
3476         * WebKitTestRunner/TestController.h:
3477         * WebKitTestRunner/TestInvocation.cpp:
3478         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3480 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3482         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
3483         https://bugs.webkit.org/show_bug.cgi?id=188797
3485         Reviewed by Tim Horton.
3487         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
3488         (TestWebKitAPI::didFinishNavigation):
3489         (TestWebKitAPI::TEST):
3490         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3491         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
3492         (TestWebKitAPI::didSameDocumentNavigation):
3493         (TestWebKitAPI::TEST):
3494         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3495         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
3496         (TestWebKitAPI::didFailProvisionalNavigation):
3497         (TestWebKitAPI::TEST):
3498         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3499         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
3500         (TestWebKitAPI::didStartProvisionalNavigation):
3501         (TestWebKitAPI::didCommitNavigation):
3502         (TestWebKitAPI::didFinishNavigation):
3503         (TestWebKitAPI::TEST):
3504         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3505         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3506         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3507         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
3508         (TestWebKitAPI::didStartProvisionalNavigation):
3509         (TestWebKitAPI::didCommitNavigation):
3510         (TestWebKitAPI::didFinishNavigation):
3511         (TestWebKitAPI::TEST):
3512         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3513         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3514         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3515         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
3516         (TestWebKitAPI::renderingProgressDidChange):
3517         (TestWebKitAPI::TEST):
3518         (TestWebKitAPI::didLayout): Deleted.
3519         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
3520         (TestWebKitAPI::didFinishNavigation):
3521         (TestWebKitAPI::renderingProgressDidChange):
3522         (TestWebKitAPI::setPageLoaderClient):
3523         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3524         (TestWebKitAPI::didLayout): Deleted.
3525         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3526         (TestWebKitAPI::State::State):
3527         (TestWebKitAPI::didStartProvisionalNavigation):
3528         (TestWebKitAPI::didCommitNavigation):
3529         (TestWebKitAPI::didFinishNavigation):
3530         (TestWebKitAPI::decidePolicyForNavigationAction):
3531         (TestWebKitAPI::decidePolicyForResponse):
3532         (TestWebKitAPI::TEST):
3533         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3534         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3535         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3536         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
3537         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
3538         (TestWebKitAPI::didSameDocumentNavigation):
3539         (TestWebKitAPI::TEST):
3540         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3541         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3542         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
3543         (TestWebKitAPI::TEST):
3544         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3545         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
3546         (TestWebKitAPI::didFinishLoad):
3547         (TestWebKitAPI::TEST):
3548         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
3549         (TestWebKitAPI::didFinishNavigation):
3550         (TestWebKitAPI::TEST):
3551         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3552         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
3553         (TestWebKitAPI::didFinishLoad):
3554         (TestWebKitAPI::TEST):
3555         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
3556         (WebKit2_CommandBackForwardTestWKView::SetUp):
3557         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
3559 2018-08-20  Alex Christensen  <achristensen@webkit.org>
3561         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
3562         https://bugs.webkit.org/show_bug.cgi?id=188771
3564         Reviewed by Tim Horton.
3566         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
3567         (TestWebKitAPI::didFinishNavigation):
3568         (TestWebKitAPI::TEST):
3569         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3570         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
3571         (TestWebKitAPI::didFinishNavigation):
3572         (TestWebKitAPI::TEST):
3573         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3574         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
3575         (TestWebKitAPI::didFinishNavigation):
3576         (TestWebKitAPI::setPageLoaderClient):
3577         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3578         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
3579         (TestWebKitAPI::TEST):
3580         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3581         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
3582         (TestWebKitAPI::didFinishNavigation):
3583         (TestWebKitAPI::setPageLoaderClient):
3584         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3585         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
3586         (TestWebKitAPI::didFinishNavigation):
3587         (TestWebKitAPI::setClients):
3588         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3589         * TestWebKitAPI/Tests/WebKit/Find.cpp:
3590         (TestWebKitAPI::didFinishNavigation):
3591         (TestWebKitAPI::TEST):
3592         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3593         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
3594         (TestWebKitAPI::didFinishNavigation):
3595         (TestWebKitAPI::TEST):
3596         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3597         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
3598         (TestWebKitAPI::didFinishNavigation):
3599         (TestWebKitAPI::TEST):
3600         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3601         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
3602         (TestWebKitAPI::didFinishNavigation):
3603         (TestWebKitAPI::TEST):
3604         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3605         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
3606         (TestWebKitAPI::didFinishNavigation):
3607         (TestWebKitAPI::TEST):
3608         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3609         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
3610         (TestWebKitAPI::didFinishNavigation):
3611         (TestWebKitAPI::setPageLoaderClient):
3612         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3613         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
3614         (TestWebKitAPI::didFinishNavigation):
3615         (TestWebKitAPI::TEST):
3616         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3617         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
3618         (TestWebKitAPI::didFinishLoadForFrame):
3619         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
3620         (TestWebKitAPI::didFinishNavigation):
3621         (TestWebKitAPI::loadAlternateHTMLString):
3622         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3623         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
3624         (TestWebKitAPI::didFinishNavigation):
3625         (TestWebKitAPI::TEST):
3626         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3627         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
3628         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
3629         (TestWebKitAPI::didFinishLoad):
3630         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
3631         (TestWebKitAPI::didFinishNavigation):
3632         (TestWebKitAPI::setPageLoaderClient):
3633         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3634         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
3635         (TestWebKitAPI::didFinishNavigation):
3636         (TestWebKitAPI::setPageLoaderClient):
3637         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3638         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3639         (TestWebKitAPI::didFinishLoadForFrame):
3640         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3641         (TestWebKitAPI::TEST):
3642         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
3643         (TestWebKitAPI::TEST):
3644         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
3645         (TestWebKitAPI::didFinishLoad):
3646         (TestWebKitAPI::TEST):
3647         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3648         (TestWebKitAPI::didFinishNavigation):
3649         (TestWebKitAPI::setPageLoaderClient):
3650         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3651         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
3652         (TestWebKitAPI::didFinishNavigation):
3653         (TestWebKitAPI::setPageLoaderClient):
3654         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3655         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
3656         (TestWebKitAPI::didFinishNavigation):
3657         (TestWebKitAPI::TEST):
3658         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
3659         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
3660         (TestWebKitAPI::didFinishNavigation):
3661         (TestWebKitAPI::TEST):
3662         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3663         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
3664         (TestWebKitAPI::didFailProvisionalNavigation):
3665         (TestWebKitAPI::TEST):
3666         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3667         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
3668         (TestWebKitAPI::didFinishNavigation):
3669         (TestWebKitAPI::TEST):
3670         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3671         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
3672         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
3673         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
3674         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
3675         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
3676         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
3677         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
3678         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
3679         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
3680         (TestWebKitAPI::didFinishNavigation):
3681         (TestWebKitAPI::setPageLoaderClient):
3682         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3683         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
3684         (TestWebKitAPI::didFinishNavigation):
3685         (TestWebKitAPI::setPageLoaderClient):
3686         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3687         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
3688         (TestWebKitAPI::didFinishNavigation):
3689         (TestWebKitAPI::setPageLoaderClient):
3690         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3691         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
3692         (TestWebKitAPI::didFinishNavigation):
3693         (TestWebKitAPI::setUpClients):
3694         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3695         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3696         (TestWebKitAPI::didFinishNavigation):
3697         (TestWebKitAPI::setPageLoaderClient):
3698         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3699         * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
3700         (TestWebKitAPI::didFinishNavigation):
3701         (TestWebKitAPI::TEST):
3702         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3703         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
3704         (TestWebKitAPI::didFinishNavigation):
3705         (TestWebKitAPI::TEST):
3706         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3707         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
3708         (TestWebKitAPI::didFinishNavigation):
3709         (TestWebKitAPI::TEST):
3710         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3711         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
3712         (TestWebKitAPI::didFinishNavigation):
3713         (TestWebKitAPI::TEST):
3714         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3715         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
3716         (TestWebKitAPI::didFinishNavigation):
3717         (TestWebKitAPI::TEST):
3718         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3719         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
3720         (TestWebKitAPI::didFinishNavigation):
3721         (TestWebKitAPI::TEST):
3722         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3723         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
3724         (TestWebKitAPI::didFinishNavigation):
3725         (TestWebKitAPI::TEST):
3726         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3727         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
3728         (didFinishNavigation):
3729         (TestWebKitAPI::TEST):
3730         (didFinishLoadForFrame): Deleted.
3731         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3732         (didFinishNavigation):
3733         (TestWebKitAPI::TEST):
3734         (didFinishLoadForFrame): Deleted.
3735         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
3736         (TestWebKitAPI::didFinishNavigation):
3737         (TestWebKitAPI::TEST):
3738         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3739         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
3740         (TestWebKitAPI::didFinishNavigation):
3741         (TestWebKitAPI::setPageLoaderClient):
3742         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3744 2018-08-21  Adrian Perez de Castro  <aperez@igalia.com>
3746         [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
3747         https://bugs.webkit.org/show_bug.cgi?id=188782
3749         Reviewed by Michael Catanzaro.
3751         Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
3752         environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
3754         * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
3755         release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
3756         * wpe/jhbuild.modules: Ditto.
3758 2018-08-21  Michael Catanzaro  <mcatanzaro@igalia.com>
3760         [Flatpak] Update to GNOME master runtime
3761         https://bugs.webkit.org/show_bug.cgi?id=188731
3763         Reviewed by Philippe Normand.
3765         The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
3766         runtime, but I don't think there's any need to stick with the stable runtime when we have
3767         the ability to pin to a particular version of the master runtime. There are also several
3768         advantages to switching to the master runtime.
3770         * flatpak/files/httpd-autogen.sh: Removed.
3771         * flatpak/flatpakutils.py:
3772         (WebkitFlatpak.clean_args):
3773         * flatpak/org.webkit.GTK.yaml:
3774         * flatpak/org.webkit.WebKit.yaml:
3775         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
3776         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
3778 2018-08-20  Jonathan Bedard  <jbedard@apple.com>
3780         WebKitTestRunner: Add watchOS entitlements
3781         https://bugs.webkit.org/show_bug.cgi?id=188758
3783         Reviewed by Tim Horton.
3785         watchOS needs an additional entitlement to open up a socket for on-device testing.
3787         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
3788         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3789         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3791 2018-08-20  Thomas Denney  <tdenney@apple.com>
3793         [WHLSL] Remove generics from the interpreter
3794         https://bugs.webkit.org/show_bug.cgi?id=187988
3796         Reviewed by Myles C. Maxfield.
3798         This patch completely removes generic and protocol support from WHLSL
3799         whilst adding back any features that were originally implemented with
3800         generics.
3802         Many of the changes in this patch just remove occurrences of type
3803         arguments and type parameters --- although there are some cases where
3804         they have been deliberately left in --- as well as removing tests only
3805         relevant to those features. These changes are not listed below.
3807         * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
3808         * WebGPUShadingLanguageRI/AutoWrapper.js:
3809         (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
3810         * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
3811         vectors have many constructors for different scalar and vector types.
3812         These were originally implemented with generics.
3813         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
3814         equality operator for built-in vectors, again this was removed with
3815         generics.
3816         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
3817         Built-in vectors only support the getter and setter, and not the ander.
3818         * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
3819         * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
3820         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
3821         * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
3822         instantiating functions which cannot be discovered earlier in
3823         preparation because their types are absent (specifically support for the
3824         operator &[] for array references and the length operator for array
3825         references). Previously support for these was implemented with generics.
3826         (CallExpression.resolve):
3827         (CallExpression.prototype.resolve):
3828         (CallExpression.prototype._resolveByInstantiation):
3829         (CallExpression.prototype._resolveToOperatorAnderIndexer):
3830         (CallExpression.prototype._resolveToOperatorLength):
3831         (CallExpression.prototype.resolveToOverload):
3832         (CallExpression.prototype.becomeCast):
3833         (CallExpression.prototype.toString):
3834         (CallExpression):
3835         * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
3836         We support syntax like vector<int, 2>(a, b) for constructing vectors;
3837         this new preparation step resolves them to specific constructors.
3838         * WebGPUShadingLanguageRI/CallFunction.js:
3839         * WebGPUShadingLanguageRI/Checker.js:
3840         * WebGPUShadingLanguageRI/ConstexprFolder.js:
3841         * WebGPUShadingLanguageRI/CreateLiteralType.js:
3842         * WebGPUShadingLanguageRI/ExpressionFinder.js:
3843         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
3844         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
3845         * WebGPUShadingLanguageRI/Func.js:
3846         * WebGPUShadingLanguageRI/FuncDef.js:
3847         * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
3848         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
3849         * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
3850         * WebGPUShadingLanguageRI/Inliner.js: Ditto.
3851         * WebGPUShadingLanguageRI/Intrinsics.js:
3852         * WebGPUShadingLanguageRI/Lexer.js:
3853         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
3854         * WebGPUShadingLanguageRI/NameContext.js:
3855         (NameContext.prototype.add):
3856         (NameContext.prototype.get let):
3857         (NameContext.underlyingThings.prototype.else):
3858         (NameContext.prototype.resolveFuncOverload):
3859         * WebGPUShadingLanguageRI/NameFinder.js:
3860         * WebGPUShadingLanguageRI/NameResolver.js:
3861         (NameResolver.prototype.visitFunc):
3862         (NameResolver.prototype.visitFuncDef):
3863         (NameResolver.prototype.visitTypeDef):
3864         (NameResolver.prototype.visitStructType):
3865         (NameResolver.prototype.visitTypeRef):
3866         (NameResolver.prototype.visitCallExpression):
3867         (NameResolver.prototype.visitVectorType):
3868         (NameResolver):
3869         (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
3870         (NameResolver.prototype.visitProtocolDecl): Deleted.
3871         * WebGPUShadingLanguageRI/NativeFunc.js:
3872         (NativeFunc):
3873         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
3874         * WebGPUShadingLanguageRI/NativeType.js:
3875         (NativeType):
3876         (NativeType.prototype.get name):
3877         (NativeType.prototype.toString):
3878         (NativeType.prototype.get typeParameters): Deleted.
3879         (NativeType.prototype.instantiate): Deleted.
3880         * WebGPUShadingLanguageRI/Node.js:
3881         (Node.prototype.commit):
3882         (Node):
3883         (Node.prototype.substitute): Deleted.
3884         (Node.prototype.substituteToUnification): Deleted.
3885         * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
3886         implemented with generics.
3887         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
3888         * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
3889         * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
3890         generics and protocols.
3891         * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
3892         * WebGPUShadingLanguageRI/Program.js:
3893         (Program):
3894         (Program.prototype.get types):
3895         (Program.prototype.add):
3896         (Program.prototype.get protocols): Deleted.
3897         * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
3898         * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
3899         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
3900         * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
3901         * WebGPUShadingLanguageRI/ResolveNames.js:
3902         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3903         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
3904         (resolveTypeDefsInProtocols): Deleted.
3905         * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
3906         * WebGPUShadingLanguageRI/SPIRV.html:
3907         * WebGPUShadingLanguageRI/SPIRVCodegen.js:
3908         * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
3909         * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
3910         (StructLayoutBuilder):
3911         * WebGPUShadingLanguageRI/StructType.js:
3912         * WebGPUShadingLanguageRI/SwizzleOp.js:
3913         (SwizzleOp):
3914         (SwizzleOp.prototype.get baseTypeName):
3915         (SwizzleOp.prototype.toString):
3916         (SwizzleOp.functions.):
3917         (SwizzleOp.functions):
3918         (SwizzleOp.prototype.instantiateImplementation):
3919         (SwizzleOp.allSwizzleOperators.): Deleted.
3920         (SwizzleOp.allSwizzleOperators): Deleted.
3921         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
3922         previously implemented with generics.
3923         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
3924         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
3925         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
3926         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
3927         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
3928         (synthesizeStructAccessors.setupImplementationData):
3929         (synthesizeStructAccessors.createFieldType):
3930         (synthesizeStructAccessors.createTypeRef):
3931         (synthesizeStructAccessors.setupAnder):
3932         (synthesizeStructAccessors):
3933         (synthesizeStructAccessors.createTypeParameters): Deleted.
3934         (synthesizeStructAccessors.): Deleted.
3935         * WebGPUShadingLanguageRI/Test.html:
3936         * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
3937         tests for changed language features.
3938         * WebGPUShadingLanguageRI/Type.js:
3939         * WebGPUShadingLanguageRI/TypeDef.js:
3940         * WebGPUShadingLanguageRI/TypeDefResolver.js:
3941         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
3942         * WebGPUShadingLanguageRI/TypeRef.js:
3943         * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
3944         * WebGPUShadingLanguageRI/UnificationContext.js:
3945         * WebGPUShadingLanguageRI/VectorType.js: Added.
3946         * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
3947         * WebGPUShadingLanguageRI/WSL.md: Removed description of
3948         generics/protocols.
3949         * WebGPUShadingLanguageRI/WrapChecker.js:
3950         (WrapChecker):
3951         (WrapChecker.visitConstexprTypeParameter): Deleted.
3952         (WrapChecker.prototype.visitFuncParameter): Deleted.
3953         (WrapChecker.prototype.visitTypeVariable): Deleted.
3954         * WebGPUShadingLanguageRI/index.html:
3956 2018-08-20  Thomas Denney  <tdenney@apple.com>
3958         Added Thomas Denney to contributors.json.
3959         https://bugs.webkit.org/show_bug.cgi?id=188525
3961         Reviewed by Myles C. Maxfield.
3963         * Scripts/webkitpy/common/config/contributors.json:
3965 2018-08-20  Bernhard M. Wiedemann  <bwiedemann@suse.de>
3967         [GTK] Sort inspector GResource manifest to ensure reproducible builds
3968         https://bugs.webkit.org/show_bug.cgi?id=188738
3970         Reviewed by Michael Catanzaro.
3972         * glib/generate-inspector-gresource-manifest.py:
3973         (get_filenames): sort list of input files
3975 2018-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3977         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
3978         https://bugs.webkit.org/show_bug.cgi?id=184271
3979         <rdar://problem/39256708>
3981         Reviewed by Andy Estes.
3983         This API test is failing when run against older macOS builds, where custom pasteboard
3984         data is not enabled by default.
3986         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
3987         (TestWebKitAPI::TEST):
3989 2018-08-20  Claudio Saavedra  <csaavedra@igalia.com>
3991         Add WPE Debug configuration to the flakiness dashboard
3992         https://bugs.webkit.org/show_bug.cgi?id=188743
3994         Reviewed by Michael Catanzaro.
3996         * TestResultServer/static-dashboards/builders.jsonp:
3997         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
3999 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
4001         [GLIB] Add API to throw exceptions using printf formatted strings
4002         https://bugs.webkit.org/show_bug.cgi?id=188698
4004         Reviewed by Michael Catanzaro.
4006         Add cases to test the new API.
4008         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
4009         (createFormattedError):
4010         (createCustomFormattedError):
4011         (testJSCExceptions):
4013 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
4015         [GLIB] Complete the JSCException API
4016         https://bugs.webkit.org/show_bug.cgi?id=188695
4018         Reviewed by Michael Catanzaro.
4020         Add cases to test the new API.
4022         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
4023         (testJSCCheckSyntax):
4024         (createCustomError):
4025         (testJSCExceptions):
4027 2018-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
4029         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
4030         https://bugs.webkit.org/show_bug.cgi?id=184271
4031         <rdar://problem/39256708>
4033         Reviewed by Ryosuke Niwa.
4035         Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
4036         matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
4038         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
4039         (TestWebKitAPI::TEST):
4040         (imagePath): Deleted.
4041         (writeTypesAndDataToPasteboard): Deleted.
4042         (setUpWebView): Deleted.
4043         (markupString): Deleted.
4045         Make this test file no longer exclusive to macOS.
4047         * TestWebKitAPI/cocoa/TestWKWebView.h:
4048         * TestWebKitAPI/cocoa/TestWKWebView.mm:
4049         (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
4051         Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
4053         (-[TestWKWebView synchronouslyLoadHTMLString:]):
4055 2018-08-17  Jonathan Bedard  <jbedard@apple.com>
4057         Add back --wtf-only to run-api-tests
4058         https://bugs.webkit.org/show_bug.cgi?id=187893
4059         <rdar://problem/42483983>
4061         Reviewed by Aakash Jain.
4063         When doing WTF development, it is not necessary to build or run all of the API
4064         tests. Generally, if a user has specified a specific binary (or binaries) that
4065         they are interested in testing, it is not necessary to check all API test binaries.
4067         * Scripts/webkitpy/api_tests/manager.py:
4068         (Manager._collect_tests): Only use the binaries matching the program arguments
4069         when collecting tests.
4070         (Manager._binaries_for_arguments): Generate a list of binaries which match the
4071         program arguments.
4072         (Manager.run): Pass a list binaries to check.
4073         * Scripts/webkitpy/api_tests/run_api_tests.py:
4074         (parse_args):
4075         * Scripts/webkitpy/port/base.py:
4076         (Port.check_api_test_build): If the caller specifies which API test binaries it
4077         requires, only check the ones specified.
4078         (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
4079         (Port._build_api_tests): Allow the caller to only build the WTF API tests.
4080         * Scripts/webkitpy/port/win.py:
4081         (WinPort.path_to_api_test_binaries):
4083 2018-08-17  Jer Noble  <jer.noble@apple.com>
4085         REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
4086         https://bugs.webkit.org/show_bug.cgi?id=188470
4087         <rdar://problem/43144969>
4089         Reviewed by Alex Christensen.
4091         On a loaded server, the WebContent process may send the "playing" message before the
4092         UIProcess has a chance to register a listener for that message. Restructure the tests
4093         so that the listener is registered before the page is loaded.
4095         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
4096         (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
4097         (TEST_F):
4099 2018-08-16  Wenson Hsieh  <wenson_hsieh@apple.com>
4101         [macOS] [WK2] Add infrastructure to test receiving file promises on drop
4102         https://bugs.webkit.org/show_bug.cgi?id=188583
4104         Reviewed by Andy Estes.
4106         Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
4107         NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
4108         concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
4109         introduces 3 new macOS tests. See below for more details.
4111         A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
4112         future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
4113         DumpRenderTree, and make this code shared among all three testing harnesses.
4115         Tests:  DragAndDropTests.DragImageElementIntoFileUpload
4116                 DragAndDropTests.DragPromisedImageFileIntoFileUpload
4117                 DragAndDropTests.DragImageFileIntoFileUpload
4119         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4120         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
4121         (TEST):
4123         Drive-by fix: Replace NSMakePoint with CGPointMake.
4125         * TestWebKitAPI/Tests/WebKitCocoa/image-and-file-upload.html:
4127         Add a new test page consisting of an image and a "file upload" area that updates exercises DataTransfer API to
4128         load the dropped image.
4130         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
4131         (waitForConditionWithLogging):
4133         Add a helper function to wait for a condition to evaluate to true. To make failures more informative,
4134         additionally add a mechanism to log a warning message after a given timeout, if the condition has yet to be met.
4136         (TEST):
4138         Add new tests to exercise a few cases of file upload in WebKit, including: (1) dragging from an image element,
4139         (2) dragging files written to the pasteboard as promises, and (3) files written to the pasteboard as file URLs.
4141         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
4143         Surface the new functionality provided by the file promise receiver mock via two new methods on
4144         DragAndDropSimulator to (1) write files as file promises to the pasteboard, and (2) write files as file paths
4145         directly to the pasteboard.
4147         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
4148         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
4149         (-[DragAndDropSimulator externalPromisedFiles]):
4150         (getFilePathsAndTypeIdentifiers):
4151         (-[DragAndDropSimulator writePromisedFiles:]):
4152         (-[DragAndDropSimulator writeFiles:]):
4153         * TestWebKitAPI/mac/TestDraggingInfo.h:
4154         * TestWebKitAPI/mac/TestDraggingInfo.mm:
4155         (-[TestDraggingInfo initWithDragAndDropSimulator:]):
4156         (-[TestDraggingInfo filePromiseReceivers]):
4157         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
4159         Implement this by invoking the given block with a TestFilePromiseReceiver. While all other classes are
4160         unhandled by this testing code, WebKit only calls into this with [NSFilePromiseReceiver class], this is
4161         currently sufficient for testing purposes.
4163         * TestWebKitAPI/mac/TestFilePromiseReceiver.h: Copied from Tools/TestWebKitAPI/mac/TestDraggingInfo.h.
4164         * TestWebKitAPI/mac/TestFilePromiseReceiver.mm: Added.
4165         (-[TestFilePromiseReceiver initWithPromisedTypeIdentifiers:dragAndDropSimulator:]):
4166         (-[TestFilePromiseReceiver fileTypes]):
4167         (-[TestFilePromiseReceiver fileNames]):
4168         (-[TestFilePromiseReceiver dealloc]):
4169         (-[TestFilePromiseReceiver draggingSource]):
4170         (-[TestFilePromiseReceiver setDraggingSource:]):
4171         (fileNameWithNumericSuffix):
4172         (copyFile):
4174         Add a helper to copy a file into a destination directory. Used to implement the main functionality of our
4175         NSFilePromiseReceiver subclass, which copies the files specified by test code into the directory determined by
4176         WebKit.
4178         (-[TestFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
4180 2018-08-16  Alex Christensen  <achristensen@webkit.org>
4182         Add entitlement to MiniBrowser to allow it to communicate with com.apple.Safari.SafeBrowsing.Service
4183         https://bugs.webkit.org/show_bug.cgi?id=188677
4185         Reviewed by Tim Horton.
4187         * MiniBrowser/MiniBrowser.entitlements:
4188         SSBLookupContext lookUpURL:completionHandler: fails to communicate with its service without this entitlement
4189         on released operating systems.  See <rdar://problem/42749777>
4191 2018-08-16  Jer Noble  <jer.noble@apple.com>
4193         Add option to run-api-tests to force running of DISABLED tests.
4194         https://bugs.webkit.org/show_bug.cgi?id=188674
4196         Reviewed by Joseph Pecoraro.
4198         * Scripts/webkitpy/api_tests/run_api_tests.py:
4199         (parse_args):
4200         * Scripts/webkitpy/api_tests/runner.py:
4201         (Runner.command_for_port):
4202         (_Worker._run_single_test):
4204 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
4206         [ews-build] Separate queues for Builders and Testers - macOS High Sierra
4207         https://bugs.webkit.org/show_bug.cgi?id=188540
4209         Reviewed by Lucas Forschler.
4211         * BuildSlaveSupport/ews-build/config.json: Splitted few macOS queues into builders and testers. 
4213 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
4215         [ews-build] Add build steps ArchiveTestResults, UploadTestResults and ExtractTestResults
4216         https://bugs.webkit.org/show_bug.cgi?id=188666
4218         Reviewed by Lucas Forschler.
4220         * BuildSlaveSupport/ews-build/steps.py:
4221         (ArchiveTestResults): Build step to Archive the test results.
4222         (UploadTestResults): Build step to upload the archive.
4223         (ExtractTestResults): Build step to unzip the archive on server and generate a link.
4224         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
4225         (ExpectMasterShellCommand): Copied from other similar internal code.
4227 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
4229         [ews-build] Separate queues for Builders and Testers - macOS Sierra
4230         https://bugs.webkit.org/show_bug.cgi?id=188516
4232         Reviewed by Lucas Forschler.
4234         * BuildSlaveSupport/ews-build/config.json: Splitted macOS Sierra Release queues into builders and testers.
4235         * BuildSlaveSupport/ews-build/factories.py: Used appropriate base classes for builders and testers.
4237 2018-08-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
4239         [Win][DumpRenderTree] Remove error message for duplicated tests.
4240         https://bugs.webkit.org/show_bug.cgi?id=188662
4242         Reviewed by Per Arne Vollan.
4244         This was added to track down an issue where the same tests appeared
4245         to be run multiple times. This turned out to not be the case.
4246         See https://bugs.webkit.org/show_bug.cgi?id=166760 .
4248         * DumpRenderTree/win/DumpRenderTree.cpp:
4249         (runTest):
4251 2018-08-16  Alex Christensen  <achristensen@webkit.org>
4253         Re-introduce assertion removed in r234890
4254         https://bugs.webkit.org/show_bug.cgi?id=188611
4256         Reviewed by Geoffrey Garen.
4258         * TestWebKitAPI/Tests/WTF/Vector.cpp:
4259         (TestWebKitAPI::TEST):
4261 2018-08-16  Jer Noble  <jer.noble@apple.com>
4263         Add Experimental Feature support for SourceBuffer.changeType()
4264         https://bugs.webkit.org/show_bug.cgi?id=188626
4265         <rdar://problem/43356021>
4267         Reviewed by Eric Carlson.
4269         * DumpRenderTree/mac/DumpRenderTree.mm:
4270         (enableExperimentalFeatures):
4271         (resetWebPreferencesToConsistentValues):
4272         * WebKitTestRunner/TestController.cpp:
4273         (WTR::TestController::resetPreferencesToConsistentValues):
4275 2018-08-16  Aditya Keerthi  <akeerthi@apple.com>
4277         Support drag-and-drop for input[type=color]
4278         https://bugs.webkit.org/show_bug.cgi?id=188464
4280         Reviewed by Wenson Hsieh.
4282         Added five cross-platform API tests, to verify that dragging and dropping with
4283         color inputs changes the value of the drop target if and only if both inputs are
4284         enabled. Also tests that the change and input events are fired when changing the
4285         value of a color input through drag and drop. 
4287         Additionally, added a macOS-specific test to verify that dropping an item with
4288         NSColorPboardType changes the value of the color input.
4290         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4291         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
4292         (TestWebKitAPI::TEST):
4293         * TestWebKitAPI/Tests/WebKitCocoa/color-drop.html: Added.
4294         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
4295         (TestWebKitAPI::TEST):
4297 2018-08-16  Antti Koivisto  <antti@apple.com>
4299         Use OptionSet for ActivityState::Flags
4300         https://bugs.webkit.org/show_bug.cgi?id=188554
4302         Reviewed by Brent Fulgham.
4304         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
4305         (TestWebKitAPI::TEST):
4307 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
4309         [GTK] MiniBrowser: web view doesn't get the focus when new window is created
4310         https://bugs.webkit.org/show_bug.cgi?id=188546
4312         Reviewed by Michael Catanzaro.
4314         When a new window is created, the first widget of the windo is getting the focus, the toolbar in this case. We
4315         always want the WebView to grab the focus. In case of new empty tab, we want to the URL bar to be focused
4316         instead. This was causing failures in WebDriver tests that create a popup window with an input element that is
4317         filled with send keys command. The input element is marked as focused in the DOM, but the actual focused widget
4318         is the toolbar, so key events are sent to the toolbar instead of the web view.
4320         * MiniBrowser/gtk/BrowserWindow.c:
4321         (webViewCreate):
4322         (newTabCallback):
4323         (openPrivateWindow):
4324         (browser_window_get_or_create_web_view_for_automation):
4326 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
4328         Unreviewed. Fix WebDriver tests after r234839.
4330         New pytest requires to autoinstall attrs too.
4332         * Scripts/webkitpy/thirdparty/__init__.py:
4333         (AutoinstallImportHook._install_pytest):
4335 2018-08-15  Ansh Shukla  <ansh_shukla@apple.com>
4337         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
4338         https://bugs.webkit.org/show_bug.cgi?id=186870
4339         <rdar://problem/41314410>
4341         Reviewed by Alex Christensen.
4343         * WebKitTestRunner/TestController.cpp:
4344         (WTR::toString):
4345         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
4346         (WTR::TestController::didReceiveAuthenticationChallenge):
4348 2018-08-15  Ben Richards  <benton_richards@apple.com>
4350         We should cache the compiled sandbox profile in a data vault
4351         https://bugs.webkit.org/show_bug.cgi?id=184991
4353         Reviewed by Ryosuke Niwa.
4355         Added trace points for sandbox initialization
4357         * Tracing/SystemTracePoints.plist:
4359 2018-08-15  Ryan Haddad  <ryanhaddad@apple.com>
4361         Unreviewed, rolling out r234870.
4363         The test introduced with this change is a flaky failure.
4365         Reverted changeset:
4367         "NSURLAuthenticationMethodOAuth challenges are surfaced to
4368         clients in -didReceiveAuthenticationChallenge as
4369         NSURLAuthenticationMethodDefault"
4370         https://bugs.webkit.org/show_bug.cgi?id=186870
4371         https://trac.webkit.org/changeset/234870
4373 2018-08-15  Jonathan Bedard  <jbedard@apple.com>
4375         WebKitTestRunner should support watch devices
4376         https://bugs.webkit.org/show_bug.cgi?id=188570
4378         Reviewed by Alex Christensen.
4380         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
4382 2018-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
4384         [Attachment SPI] Remove attachment display mode options
4385         https://bugs.webkit.org/show_bug.cgi?id=188596
4387         Reviewed by Dan Bernstein.
4389         Remove API tests and API test helpers for verifying the behavior of in-place media attachment elements.
4391         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4392         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
4393         (TestWebKitAPI::TEST):
4394         (testVideoData): Deleted.
4395         (displayOptionsWithMode): Deleted.
4396         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]): Deleted.
4398 2018-08-14  Devin Rousso  <drousso@apple.com>
4400         Unreviewed, change my emails.
4402         * Scripts/webkitpy/common/config/contributors.json:
4403         * Scripts/webkitpy/common/config/watchlist:
4405 2018-08-14  Saam barati  <sbarati@apple.com>
4407         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
4408         https://bugs.webkit.org/show_bug.cgi?id=188582
4410         Reviewed by Sam Weinig.
4412         * TestWebKitAPI/Tests/WTF/HashMap.cpp:
4413         (TestWebKitAPI::TEST):
4415 2018-08-14  Zalan Bujtas  <zalan@apple.com>
4417         [LFC][Floating] Add support for negative clearance.
4418         https://bugs.webkit.org/show_bug.cgi?id=188555
4420         Reviewed by Simon Fraser.
4422         * LayoutReloaded/misc/LFC-passing-tests.txt:
4424 2018-08-14 Sihui Liu <sihui_liu@apple.com>
4426         Crash in WebKit::filterPreloadHSTSEntry via NetworkProcess::getHostNamesWithHSTSCache
4427         https://bugs.webkit.org/show_bug.cgi?id=188576
4428         <rdar://problem/43148977>
4430         Reviewed by Alex Christensen.
4432         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4433         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Added.
4434         (TEST):
4436 2018-08-14  Alex Christensen  <achristensen@webkit.org>
4438         isValidCSSSelector is unsafe to be called from a non-main thread
4439         https://bugs.webkit.org/show_bug.cgi?id=188581
4440         <rdar://problem/40517358>
4442         Reviewed by Sam Weinig.
4444         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
4445         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
4446         (TestWebKitAPI::checkCompilerError):
4448 2018-08-14  Ansh Shukla  <ansh_shukla@apple.com>
4450         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
4451         https://bugs.webkit.org/show_bug.cgi?id=186870
4452         <rdar://problem/41314410>
4454         Reviewed by Alex Christensen.
4456         * WebKitTestRunner/TestController.cpp:
4457         (WTR::toString):
4458         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
4459         (WTR::TestController::didReceiveAuthenticationChallenge):
4461 2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
4463         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
4464         https://bugs.webkit.org/show_bug.cgi?id=187973
4466         Reviewed by Alex Christensen.
4468         In LayoutTests, test names have been canonicalized in Unix style
4469         since Bug 63597, for example 'fast/css/001.html'. But Bug 179219,
4470         Bug 179572, Bug 180660, and Bug 181814 have changed to use
4471         os.path.seq instead of slash if Windows Python is used.
4473         Revert parts of those changes. Change relative_test_filename to
4474         return a slash-separated test name as chromium_win.py used to do.
4476         This change fixes all 41 test-webkitpy failures in WinCairo port.
4478         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
4479         (TestExpectationParser._parse_line): Do not convert test names with normpath.
4480         * Scripts/webkitpy/port/base.py:
4481         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
4482         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
4483         (Port.abspath_for_test): Replace self.TEST_PATH_SEPARATOR with self.host.filesystem.sep.
4484         * Scripts/webkitpy/port/driver.py:
4485         (Driver): Use '/' instead of os.sep.
4486         * Scripts/webkitpy/port/win.py:
4487         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
4489 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
4491         [ews-build] Add build step to run WK1 layout-test
4492         https://bugs.webkit.org/show_bug.cgi?id=188498
4494         Reviewed by Lucas Forschler.
4496         * BuildSlaveSupport/ews-build/steps.py:
4497         (RunWebKit1Tests): Class to run WebKit1Tests.
4498         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
4500 2018-08-14  Patrick Griffis  <pgriffis@igalia.com>
4502         [Flatpak] Fix --cmakeargs
4503         https://bugs.webkit.org/show_bug.cgi?id=188567
4505         Reviewed by Michael Catanzaro.
4507         * flatpak/flatpakutils.py:
4508         (WebkitFlatpak.setup_dev_env):
4510 2018-08-14  Darshan Kadu  <dkadu@igalia.com>
4512         Enhancement request: Make export-w3c-test-changes add the PR to "See Also" links
4513         https://bugs.webkit.org/show_bug.cgi?id=186140
4515         Reviewed by Youenn Fablet.
4517         Added an optional parameter see_also to post_comment_to_bug function and used it for adding see_also variable's content in "See Also"
4518         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
4519         (Bugzilla.post_comment_to_bug):
4520         Modified mock for see_also parameter
4521         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
4522         (MockBugzilla.post_comment_to_bug):
4523         Made following unit tests to have see_also in bug comment
4524         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
4525         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
4526         (SheriffTest.test_post_blame_comment_on_bug):
4527         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
4528         * Scripts/webkitpy/tool/commands/queues_unittest.py:
4529         * Scripts/webkitpy/tool/commands/upload_unittest.py:
4530         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
4531         * Scripts/webkitpy/w3c/test_exporter.py:
4532         (WebPlatformTestExporter.make_pull_request):
4533         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
4534         (TestExporterTest.MockBugzilla.post_comment_to_bug):
4535         (TestExporterTest.test_export):
4537 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
4539         [ews-build] Add support for max_builds parameter for workers
4540         https://bugs.webkit.org/show_bug.cgi?id=188531
4542         Reviewed by Lucas Forschler.
4544         * BuildSlaveSupport/ews-build/loadConfig.py:
4545         (loadBuilderConfig): Added support for max_builds.
4547 2018-08-14  Zalan Bujtas  <zalan@apple.com>
4549         [LFC][Floating] Adjust vertical position with non-collapsing previous sibling margin.
4550         https://bugs.webkit.org/show_bug.cgi?id=188543
4552         Reviewed by Antti Koivisto.
4554         * LayoutReloaded/misc/LFC-passing-tests.txt:
4556 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4558         Unreviewed. Fix WebDriver tests after r234839.
4560         New pytest requires to autoinstall more_itertools and six too.
4562         * Scripts/webkitpy/thirdparty/__init__.py:
4563         (AutoinstallImportHook._install_pytest):
4565 2018-08-14  Tomas Popela  <tpopela@redhat.com>
4567         [GTK] Minibrowser: Add labels for buttons
4568         https://bugs.webkit.org/show_bug.cgi?id=188549
4570         Reviewed by Carlos Garcia Campos.
4572         So they are accessible easier (i.e. while testing WebKitGTK+ through Minibrowser in Dogtail).
4574         * MiniBrowser/gtk/BrowserWindow.c:
4575         (webViewIsLoadingChanged):
4576         (browserWindowSetupEditorToolbar):
4577         (browser_window_init):
4579 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4581         Unreviewed. Fix WebDriver tests after r234839.
4583         New pytest requires to autoinstall atomicwrites too.
4585         * Scripts/webkitpy/thirdparty/__init__.py:
4586         (AutoinstallImportHook._install_pytest):
4588 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
4590         Unreviewed. Fix WebDriver tests after r234839.
4592         New pytest requires to autoinstall pluggy and funcsigs too.
4594         * Scripts/webkitpy/thirdparty/__init__.py:
4595         (AutoinstallImportHook._install_pytest):
4597 2018-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
4599         Unreviewed. Update W3C WebDriver imported tests.
4601         Bump pytest version to 3.6.2.
4603         * Scripts/webkitpy/thirdparty/__init__.py:
4604         (AutoinstallImportHook._install_pytest):
4606 2018-08-13  Thomas Denney  <tdenney@apple.com>
4608         Allow the substring 'me' in contributor names and email addresses
4609         https://bugs.webkit.org/show_bug.cgi?id=188538
4611         Reviewed by Tim Horton.
4613         A test didn't permit the string "me" in email addresses or names of contributors.
4615         * Scripts/webkitpy/common/config/committers_unittest.py:
4616         (CommittersTest.test_contributors_by_fuzzy_match):
4618 2018-08-13  Commit Queue  <commit-queue@webkit.org>
4620         Unreviewed, rolling out r234812.
4621         https://bugs.webkit.org/show_bug.cgi?id=188536
4623         broke the build (Requested by ThomasDenney on #webkit).
4625         Reverted changeset:
4627         "Added Thomas Denney to contributors.json."
4628         https://bugs.webkit.org/show_bug.cgi?id=188525
4629         https://trac.webkit.org/changeset/234812
4631 2018-08-13  Sihui Liu  <sihui_liu@apple.com>
4633         Avoid timeout resulted from calling waitUntilDone when test is not running
4634         https://bugs.webkit.org/show_bug.cgi?id=188389
4636         Reviewed by Chris Dumez.
4638         If test is not running, we should not set the waitUntilDone flag, or it may cause subsequent tests timeout.
4640         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4641         (WTR::TestRunner::waitUntilDone):
4643 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
4645         [WK2] [macOS] Implement a mechanism to test drag and drop
4646         https://bugs.webkit.org/show_bug.cgi?id=181898
4647         <rdar://problem/39181698>
4649         Reviewed by Simon Fraser.
4651         Implements the currently stubbed DragAndDropSimulator on macOS, and introduces a new API test for r227266. See
4652         comments below for more detail.
4654         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4655         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
4657         Introduce a file for cross-platform drag and drop tests, currently for iOS and macOS. Additionally add a test
4658         for r227266, which was fixed earlier this year but could not be tested due to a lack of testing mechanism on
4659         macOS in WebKit2.
4661         (TEST):
4662         * TestWebKitAPI/Tests/WebKitCocoa/full-page-dropzone.html: Added.
4664         Minor tweaks to this test page to add "dragover" and "drop" event handlers.
4666         * TestWebKitAPI/Tests/WebKitCocoa/image-in-link-and-input.html:
4667         * TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: Added.
4669         Add a new test page that includes a link embedded within an iframe below a plain text input.
4671         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: Added.
4672         (TEST):
4673         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm.
4675         Move only existing WebKit2 macOS drag and drop test (DragAndDropPasteboardTests.NumberOfValidItemsForDrop) out
4676         of DragAndDropPasteboardTests.mm and into a new file, DragAndDropTestsMac.mm. Additionally, rename
4677         DragAndDropPasteboardTests to LegacyDragAndDropTests, since it now only contains two legacy WebView tests for
4678         drag and drop.
4680         (+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
4681         (-[FrameLoadCompletionListener initWithCompletionBlock:]):
4682         (-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
4683         (-[DragSource draggingSourceOperationMaskForLocal:]):
4684         (-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
4685         (-[DragInfo lastMousePosition]):
4686         (-[DragInfo setLastMousePosition:]):
4687         (-[DragInfo draggingDestinationWindow]):
4688         (-[DragInfo draggingSourceOperationMask]):
4689         (-[DragInfo draggingLocation]):
4690         (-[DragInfo draggedImageLocation]):
4691         (-[DragInfo draggedImage]):
4692         (-[DragInfo draggingPasteboard]):
4693         (-[DragInfo draggingSource]):
4694         (-[DragInfo draggingSequenceNumber]):
4695         (-[DragInfo slideDraggedImageTo:]):
4696         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
4697         (-[DragInfo draggingFormation]):
4698         (-[DragInfo setDraggingFormation:]):
4699         (-[DragInfo animatesToDestination]):
4700         (-[DragInfo setAnimatesToDestination:]):
4701         (-[DragInfo numberOfValidItemsForDrop]):
4702         (-[DragInfo setNumberOfValidItemsForDrop:]):
4703         (-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
4704         (-[DragInfo springLoadingHighlight]):
4705         (-[DragInfo resetSpringLoading]):
4706         (TestWebKitAPI::getTestImage):
4707         (TestWebKitAPI::webViewAfterPerformingDragOperation):
4708         (TestWebKitAPI::TEST):
4709         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Removed.
4710         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
4712         Flesh out some of the DragAndDropSimulator API for macOS, exposing (among other things) the drag pasteboard,
4713         the current NSDraggingInfo, the initial location of the drag image, and the drag image itself.
4715         * TestWebKitAPI/cocoa/TestWKWebView.h:
4716         * TestWebKitAPI/cocoa/TestWKWebView.mm:
4717         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
4718         (-[TestWKWebView mouseUpAtPoint:]):
4719         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
4720         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
4721         (-[TestWKWebView mouseEnterAtPoint:]):
4722         (-[TestWKWebView mouseExitAtPoint:]):
4723         (-[TestWKWebView mouseDragToPoint:]):
4724         (-[TestWKWebView _mouseEventWithType:atLocation:]):
4725         (-[TestWKWebView _mouseEventWithType:atLocation:flags:timestamp:clickCount:]):
4727         Add TestWKWebView helpers to send MouseMove, MouseEnter and MouseDrag NSEvents to the web view. Additionally,
4728         rename parameter names to these helpers to make it more obvious that these locations are all in NSWindow
4729         coordinates.
4731         (-[TestWKWebView typeCharacter:]):
4733         Drive-by style fix: put this opening brace on the beginning of the next line.
4735         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
4736         (-[DragAndDropSimulator initWithWebViewFrame:]):
4737         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
4738         (-[DragAndDropSimulator webView]):
4740         Small iOS DragAndDropSimulator adjustments for new DragAndDropSimulator interfaces.
4742         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
4743         (-[DragAndDropTestWKWebView initWithFrame:configuration:simulator:]):
4745         Introduce a WKWebView subclass for testing drag and drop that overrides `-dragImage:at:offset:…`, and instead
4746         allows DragAndDropSimulator to take over the drag.
4748         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
4750         Override this entry point into drag and drop code, and instead call out to the DragAndDropSimulator to
4751         coordinate the drag.
4753         (-[DragAndDropTestWKWebView waitForPendingMouseEvents]):
4755         Helper method to wait for the web process to finish handling all in-flight mouse events.
4757         (defaultExternalDragImage):
4759         Set this image as the default drag image when simulating an incoming drag session from outside of the web view.
4761         (-[DragAndDropSimulator initWithWebViewFrame:]):
4762         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
4763         (-[DragAndDropSimulator flipAboutXAxisInHostWindow:]):
4765         Helper method to flip a given point about the X axis of the window.
4767         (-[DragAndDropSimulator locationInViewForCurrentProgress]):
4769         Map a progress value (between 0 and 1) to a drag location.
4771         (-[DragAndDropSimulator initialProgressForMouseDrag]):
4773         Determines the initial progress value when initiation a drag in web content. This is the initial progress
4774         required to ensure that the first mouse drag event exceeds the drag distance hysteresis and causes any drag
4775         (if applicable) to begin.
4777         (-[DragAndDropSimulator runFrom:to:]):
4778         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
4780         Helper to coordinate drag updates in both the cases where we're simulating a drag session entering from outside
4781         of the web view, and in the case where we've initiated a drag from the web view itself.
4783         (-[DragAndDropSimulator webView]):
4784         (-[DragAndDropSimulator setExternalDragPasteboard:]):
4785         (-[DragAndDropSimulator externalDragPasteboard]):
4787         Just like its iOS counterpart (setExternalItemProviders:), setting an external drag pasteboard on macOS puts the
4788         DragAndDropSimulator in a mode that simulates a drag coming in from outside the web view, using the given
4789         pasteboard.
4791         (-[DragAndDropSimulator setExternalDragImage:]):
4792         (-[DragAndDropSimulator externalDragImage]):
4794         May be optionally set when specifying an external drag pasteboard to specify the drag image used. If no external
4795         drag image is specified, falls back to the default image returned by `defaultExternalDragImage()`.
4797         (-[DragAndDropSimulator draggingInfo]):
4798         (-[DragAndDropSimulator willEndDraggingHandler]):
4799         (-[DragAndDropSimulator setWillEndDraggingHandler:]):
4801         Hook to allow tests to run logic right before performing the drop (if the current drag operation is not none) or
4802         ending the drag session without performing a drag operation.
4804         (-[DragAndDropSimulator initWithWebView:]): Deleted.
4805         (-[DragAndDropSimulator dealloc]): Deleted.
4806         (-[DragAndDropSimulator phase]): Deleted.
4807         * TestWebKitAPI/mac/TestDraggingInfo.h: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
4808         * TestWebKitAPI/mac/TestDraggingInfo.mm: Added.
4810         Mock object conforming to NSDraggingInfo that is passed to WKWebView when invoking -draggingUpdated:,
4811         -draggingEntered: and -draggingExited:.
4813         (-[TestDraggingInfo draggingPasteboard]):
4814         (-[TestDraggingInfo setDraggingPasteboard:]):
4815         (-[TestDraggingInfo draggingSource]):
4816         (-[TestDraggingInfo setDraggingSource:]):
4817         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
4818         (-[TestDraggingInfo draggingDestinationWindow]):
4819         (-[TestDraggingInfo draggedImage]):
4820         (-[TestDraggingInfo setDraggedImage:]):
4821         (-[TestDraggingInfo slideDraggedImageTo:]):
4822         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
4823         (-[TestDraggingInfo resetSpringLoading]):
4825         Empty method stubs, to be implemented in the future as needed.
4827 2018-08-13  Thomas Denney  <tdenney@apple.com>
4829         Added Thomas Denney to contributors.json.
4830         https://bugs.webkit.org/show_bug.cgi?id=188525
4832         Reviewed by Myles C. Maxfield.
4834         * Scripts/webkitpy/common/config/contributors.json:
4836 2018-08-13  Antti Koivisto  <antti@apple.com>
4838         Meaning of OptionSet::contains is unclear when used with OptionSet argument
4839         https://bugs.webkit.org/show_bug.cgi?id=188501
4841         Reviewed by Anders Carlsson.
4843         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
4844         (TestWebKitAPI::TEST):
4846 2018-08-13  Commit Queue  <commit-queue@webkit.org>
4848         Unreviewed, rolling out r234747.
4849         https://bugs.webkit.org/show_bug.cgi?id=188524
4851         plugin processes crash on launch (Requested by smfr on
4852         #webkit).
4854         Reverted changeset:
4856         "We should cache the compiled sandbox profile in a data vault"
4857         https://bugs.webkit.org/show_bug.cgi?id=184991
4858         https://trac.webkit.org/changeset/234747
4860 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
4862         [iOS] Dragging a non-editable text selection into a plain text input inserts HTML markup
4863         https://bugs.webkit.org/show_bug.cgi?id=188485
4864         <rdar://problem/43168784>
4866         Reviewed by Tim Horton.
4868         Add a new API test to verify that dropping selected non-editable rich text into a textarea inserts text as
4869         expected, rather than markup.
4871         It's somewhat interesting to note that this particular use case isn't exercised by any existing tests; the
4872         closest test is DragAndDropTests.ContentEditableToTextarea, which drags a rich text selection from a
4873         contenteditable element to a text area. However, due to logic in `DragController::concludeEditDrag` that handles
4874         drag and drop across editable content differently than drag and drop from non-editable to editable content, the
4875         bug that is fixed here doesn't surface in that existing test.
4877         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4878         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-and-textarea.html: Added.
4879         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
4880         (TestWebKitAPI::TEST):
4882 2018-08-13  Alex Christensen  <achristensen@webkit.org>
4884         Use a 1-byte enum class for TextDirection
4885         https://bugs.webkit.org/show_bug.cgi?id=188350
4887         Reviewed by Simon Fraser.
4889         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
4890         (TestWebKitAPI::TEST_F):
4891         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
4892         (WebCore::operator<<):
4893         (TestWebKitAPI::TEST):
4894         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
4895         (TEST_F):
4897 2018-08-13  Zalan Bujtas  <zalan@apple.com>
4899         [LFC][Floating] Add basic clearance support
4900         https://bugs.webkit.org/show_bug.cgi?id=188492
4902         Reviewed by Antti Koivisto.
4904         * LayoutReloaded/misc/LFC-passing-tests.txt:
4906 2018-08-12  Zalan Bujtas  <zalan@apple.com>
4908         [LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
4909         https://bugs.webkit.org/show_bug.cgi?id=188487
4911         Reviewed by Antti Koivisto.
4913         * LayoutReloaded/misc/LFC-passing-tests.txt:
4915 2018-08-11  Aakash Jain  <aakash_jain@apple.com>
4917         [ews-build] Separate queues for Builders and Testers - iOS
4918         https://bugs.webkit.org/show_bug.cgi?id=188396
4920         Reviewed by Lucas Forschler.
4922         * BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
4923         Also added ews121 and ews122 to match with current EWS configuration.
4924         * BuildSlaveSupport/ews-build/factories.py:
4925         (TestsFactory): Base classes for various Test factories.
4926         (TestsFactory.getProduct): Download and extract the archive.
4928 2018-08-10  Daniel Bates  <dabates@apple.com>
4930         webkit-patch setup-git-clone should set Git core editor to commit-log-editor
4931         https://bugs.webkit.org/show_bug.cgi?id=188473
4933         Reviewed by Ryosuke Niwa.
4935         Have "webkit-patch setup-git-clone" set the Git core editor to "perl Tools/Scripts/commit-log-editor --regenerate-log"
4936         so that the Git commit message is generated from the ChangeLog for developers that manually
4937         generate their ChangeLog using prepare-ChangeLog.
4939         * Scripts/webkitpy/tool/commands/setupgitclone.py:
4940         (SetupGitClone.execute):
4942 2018-08-10  Truitt Savell  <tsavell@apple.com>
4944         Unreviewed, rolling out r234749.
4946         Caused all perf tests to fail in Sierra
4948         Reverted changeset:
4950         "[webkitpy][Win] LayoutTests: test names should be Unix style,
4951         separated by slash not backslash"
4952         https://bugs.webkit.org/show_bug.cgi?id=187973
4953         https://trac.webkit.org/changeset/234749
4955 2018-08-10  David Fenton  <david_fenton@apple.com>
4957         Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio.
4958         https://bugs.webkit.org/show_bug.cgi?id=188470.
4960         Unreviewed test gardening, disabling the tests.
4962         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
4963         (TEST_F):
4965 2018-08-10  Joseph Pecoraro  <pecoraro@apple.com>
4967         Eliminate remaining instances of "ElCapitan" from LayoutTests / Tools
4968         https://bugs.webkit.org/show_bug.cgi?id=188458
4970         Reviewed by Alex Christensen.
4972         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
4973         (TestExpectationParser):
4974         * TestResultServer/static-dashboards/flakiness_dashboard.js:
4976 2018-08-09  Fujii Hironori  <Hironori.Fujii@sony.com>
4978         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
4979         https://bugs.webkit.org/show_bug.cgi?id=187973
4981         Reviewed by Alex Christensen.
4983         In LayoutTests, test names have been canonicalized in Unix style
4984         since Bug 63597, for example 'fast/css/001.html'. But, Bug 179219,
4985         Bug 179572, Bug 180660 and Bug 181814 have changed to use
4986         os.path.seq instead of slash if Windows Python is used.
4988         Revert parts of those changes. Change relative_test_filename to
4989         return a slash sperated test name as well as chromium_win.py used
4990         to do.
4992         This change fixes all 41 test-webkitpy failures in WinCairo port.
4994         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
4995         (TestExpectationParser._parse_line): Do not convert a test name by using normpath.
4996         * Scripts/webkitpy/port/base.py:
4997         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
4998         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
4999         (Port.abspath_for_test): Split test_name with TEST_PATH_SEPARATOR.
5000         * Scripts/webkitpy/port/driver.py:
5001         (Driver): Use '/' instead of os.sep.
5002         * Scripts/webkitpy/port/win.py:
5003         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
5005 2018-08-09  Thomas Denney  <tdenney@apple.com>
5007         [WHLSL] Add individual test durations to output
5008         https://bugs.webkit.org/show_bug.cgi?id=188448
5010         Reviewed by Myles C. Maxfield.
5012         * WebGPUShadingLanguageRI/Test.js: Add timing output.
5014 2018-08-09  Ben Richards  <benton_richards@apple.com>
5016         We should cache the compiled sandbox profile in a data vault
5017         https://bugs.webkit.org/show_bug.cgi?id=184991
5019         Reviewed by Ryosuke Niwa.
5021         Added trace points for sandbox initialization
5023         * Tracing/SystemTracePoints.plist:
5025 2018-08-09  Jer Noble  <jer.noble@apple.com>
5027         Video playback is using more power
5028         https://bugs.webkit.org/show_bug.cgi?id=188452
5029         <rdar://problem/42298937>
5031         Reviewed by Eric Carlson.
5033         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
5034         (PreferredAudioBufferSize::createView):
5035         (PreferredAudioBufferSize::preferredAudioBufferSize const):
5036         (TEST_F):
5038 2018-08-09  Alex Christensen  <achristensen@webkit.org>
5040         REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
5041         https://bugs.webkit.org/show_bug.cgi?id=188453
5042         <rdar://problem/43102553>
5044         Reviewed by Chris Dumez
5046         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
5047         (TEST):
5048         (+[NullLookupContext sharedLookupContext]):
5049         (TestWebKitAPI::TEST): Deleted.
5051 2018-08-09  Alex Christensen  <achristensen@webkit.org>
5053         WKURLSchemeHandler crashes when sent errors with sync XHR
5054         https://bugs.webkit.org/show_bug.cgi?id=188358
5056         Reviewed by Chris Dumez.
5058         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
5059         (-[SyncErrorScheme webView:startURLSchemeTask:]):
5060         (-[SyncErrorScheme webView:stopURLSchemeTask:]):
5061         (-[SyncErrorScheme webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
5063 2018-08-09  Per Arne Vollan  <pvollan@apple.com>
5065         REGRESSION(r234652): fast/scrolling/rtl-scrollbars-animation-property.html is failing
5066         https://bugs.webkit.org/show_bug.cgi?id=188397
5068         Reviewed by Tim Horton.
5070         After r234652, [NSScroller preferredScrollerStyle] is called in the UI process, and we need to set the same
5071         user defaults related to scrollbars in the UI process as we do in the WebProcess.
5073         * WebKitTestRunner/mac/main.mm:
5074         (setDefaultsToConsistentValuesForTesting):
5076 2018-08-09  Wenson Hsieh  <wenson_hsieh@apple.com>
5078         [iOS WK2] Rename and refactor DataInteractionTests and DataInteractionSimulator
5079         https://bugs.webkit.org/show_bug.cgi?id=188439
5081         Reviewed by Andy Estes and Megan Gardner.
5083         Refactor DataInteractionSimulator (currently used for drag and drop testing on iOS) so that it exists across
5084         macOS and iOS, and rename it to DragAndDropSimulator. Additionally, rename DataInteractionTests to
5085         DragAndDropTests.
5087         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5088         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
5089         (TestWebKitAPI::TEST):
5090         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm.
5091         (testIconImage):
5092         (testZIPArchive):
5093         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
5094         (-[TestWKWebView editorContainsImageElement]):
5095         (-[TestWKWebView editorValue]):
5096         (makeCGRectValue):
5097         (checkCGRectIsEqualToCGRectWithLogging):
5098         (checkSelectionRectsWithLogging):
5099         (checkRichTextTypePrecedesPlainTextType):
5100         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
5101         (checkTypeIdentifierIsRegisteredAtIndex):
5102         (checkEstimatedSize):
5103         (checkSuggestedNameAndEstimatedSize):
5104         (checkStringArraysAreEqual):
5105         (checkDragCaretRectIsContainedInRect):
5106         (checkJSONWithLogging):
5107         (testIconImageData):
5108         (runTestWithTemporaryTextFile):
5109         (runTestWithTemporaryFolder):
5110         (TestWebKitAPI::TEST):
5111         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
5112         (TestWebKitAPI::testDragAndDropOntoTargetElements):
5113         (TestWebKitAPI::testIconImageData):
5114         * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.h.
5115         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.mm.
5116         (-[WKWebView dropInteractionDelegate]):
5117         (-[WKWebView dragInteractionDelegate]):
5118         (-[WKWebView dropInteraction]):
5119         (-[WKWebView dragInteraction]):
5120         (-[MockDragDropSession initWithItems:location:window:allowMove:]):
5121         (-[MockDragDropSession allowsMoveOperation]):
5122         (-[MockDragDropSession isRestrictedToDraggingApplication]):
5123         (-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
5124         (-[MockDragDropSession canLoadObjectsOfClass:]):
5125         (-[MockDragDropSession canLoadObjectsOfClasses:]):
5126         (-[MockDragDropSession items]):
5127         (-[MockDragDropSession setItems:]):
5128         (-[MockDragDropSession addItems:]):
5129         (-[MockDragDropSession locationInView:]):
5130         (-[MockDropSession initWithProviders:location:window:allowMove:]):
5131         (-[MockDropSession isLocal]):
5132         (-[MockDropSession progress]):
5133         (-[MockDropSession setProgressIndicatorStyle:]):
5134         (-[MockDropSession progressIndicatorStyle]):
5135         (-[MockDropSession operationMask]):
5136         (-[MockDropSession localDragSession]):
5137         (-[MockDropSession hasItemsConformingToTypeIdentifier:]):
5138         (-[MockDropSession canCreateItemsOfClass:]):
5139         (-[MockDropSession loadObjectsOfClass:completion:]):
5140         (-[MockDragSession initWithWindow:allowMove:]):
5141         (-[MockDragSession localOperationMask]):
5142         (-[MockDragSession externalOperationMask]):
5143         (-[MockDragSession session]):
5144         (-[MockDragSession localContext]):
5145         (-[MockDragSession setLocalContext:]):
5146         (dragAndDropEventNames):
5147         (-[DragAndDropSimulatorApplication _cancelAllTouches]):
5148         (-[DragAndDropSimulator initWithWebView:]):
5149         (-[DragAndDropSimulator dealloc]):
5150         (-[DragAndDropSimulator _resetSimulatedState]):
5151         (-[DragAndDropSimulator observedEventNames]):
5152         (-[DragAndDropSimulator simulateAllTouchesCanceled:]):
5153         (-[DragAndDropSimulator runFrom:to:]):
5154         (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
5155         (-[DragAndDropSimulator finalSelectionRects]):
5156         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
5157         (-[DragAndDropSimulator _enqueuePendingAdditionalItemRequestLocations]):
5158         (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
5159         (-[DragAndDropSimulator _advanceProgress]):
5160         (-[DragAndDropSimulator _currentLocation]):
5161         (-[DragAndDropSimulator _scheduleAdvanceProgress]):
5162         (-[DragAndDropSimulator sourceItemProviders]):
5163         (-[DragAndDropSimulator externalItemProviders]):
5164         (-[DragAndDropSimulator setExternalItemProviders:]):
5165         (-[DragAndDropSimulator phase]):
5166         (-[DragAndDropSimulator liftPreviews]):
5167         (-[DragAndDropSimulator lastKnownDragCaretRect]):
5168         (-[DragAndDropSimulator waitForInputSession]):
5169         (-[DragAndDropSimulator insertedAttachments]):
5170         (-[DragAndDropSimulator removedAttachments]):
5171         (-[DragAndDropSimulator endDataTransfer]):
5172         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
5173         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
5174         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
5175         (-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
5176         (-[DragAndDropSimulator _webView:willPerformDropWithSession:]):
5177         (-[DragAndDropSimulator _webView:didInsertAttachment:]):
5178         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
5179         (-[DragAndDropSimulator _webView:focusShouldStartInputSession:]):
5180         (-[DragAndDropSimulator _webView:didStartInputSession:]):
5181         * TestWebKitAPI/ios/UIKitSPI.h:
5182         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: Added.
5183         (-[DragAndDropSimulator initWithWebView:]):
5184         (-[DragAndDropSimulator dealloc]):
5185         (-[DragAndDropSimulator runFrom:to:]):
5186         (-[DragAndDropSimulator insertedAttachments]):
5187         (-[DragAndDropSimulator removedAttachments]):
5189 2018-08-09  Sihui Liu  <sihui_liu@apple.com>
5191         REGRESSION (r232083): WKWebView loses first-party cookies on iOS
5192         https://bugs.webkit.org/show_bug.cgi?id=188443
5193         <rdar://problem/42991584>
5195         Reviewed by Chris Dumez.
5197         Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS.
5199         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
5201 2018-08-09  Ross Kirsling  <ross.kirsling@sony.com>
5203         Unreviewed follow-up fix for r234720.
5205         * Scripts/webkitpy/bindings/main.py:
5206         (BindingsTests.close_and_remove):
5207         (BindingsTests.main):
5208         Return to the original approach, since this seems to be the simplest cross-platform solution.
5210 2018-08-09  Ali Juma  <ajuma@chromium.org>
5212         Import WPTs for IntersectionObserver
5213         https://bugs.webkit.org/show_bug.cgi?id=188416
5215         Reviewed by Simon Fraser.
5217         Enable IntersectionObserver in DumpRenderTree. 
5219         * DumpRenderTree/mac/DumpRenderTree.mm:
5220         (enableExperimentalFeatures):
5221         (setWebPreferencesForTestOptions):
5222         * WebKitTestRunner/TestController.cpp:
5223         (WTR::TestController::resetPreferencesToConsistentValues):
5225 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
5227         run-bindings-tests is not Win32-compatible
5228         https://bugs.webkit.org/show_bug.cgi?id=188424
5230         Reviewed by Fujii Hironori.
5232         * Scripts/webkitpy/bindings/main.py:
5233         (BindingsTests.main):
5234         Stop leaking file descriptors.
5235         (See https://www.logilab.org/blogentry/17873 for details, though the solution here is even simpler.)
5237 2018-08-08  Alex Christensen  <achristensen@webkit.org>
5239         Fix possible null dereference in WebBackForwardList::restoreFromState
5240         https://bugs.webkit.org/show_bug.cgi?id=188418
5241         <rdar://problem/42531726>
5243         Reviewed by Chris Dumez.
5245         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
5246         (TestWebKitAPI::TEST):
5248 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
5250         run-builtins-generator-tests does not correctly handle CRLFs from stderr
5251         https://bugs.webkit.org/show_bug.cgi?id=188392
5253         Reviewed by Fujii Hironori.
5255         Background:
5256         file.write converts LF to os.linesep, so if the input string contains CRLF, we end up writing CRCRLF to the file.
5258         * Scripts/webkitpy/common/system/executive.py:
5259         (Executive.run_command):
5260         Normalize CRLF to LF in decoded stdout/stderr data, so that we don't return consumers a platform-specific string.
5262 2018-08-08  Aditya Keerthi  <akeerthi@apple.com>
5264         Unreviewed, add myself to committers list.
5266         * Scripts/webkitpy/common/config/contributors.json:
5268 2018-08-08  Commit Queue  <commit-queue@webkit.org>
5270         Unreviewed, rolling out r234314, r234320, and r234321.
5271         https://bugs.webkit.org/show_bug.cgi?id=188414
5273         Caused email sign in issue (Requested by ryanhaddad on
5274         #webkit).
5276         Reverted changesets:
5278         "Remove unused WKNavigationDelegatePrivate
5279         decidePolicyForNavigationAction SPI"
5280         https://bugs.webkit.org/show_bug.cgi?id=188077
5281         https://trac.webkit.org/changeset/234314
5283         "Fix API tests after r234314"
5284         https://bugs.webkit.org/show_bug.cgi?id=188077
5285         https://trac.webkit.org/changeset/234320
5287         "Fix API tests after r234314"
5288         https://bugs.webkit.org/show_bug.cgi?id=188077
5289         https://trac.webkit.org/changeset/234321
5291 2018-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
5293         [iOS] fast/events/ios/contenteditable-autocapitalize.html is a flaky failure
5294         https://bugs.webkit.org/show_bug.cgi?id=188401
5295         <rdar://problem/32542300>
5297         Reviewed by Ryosuke Niwa.
5299         When run individually, fast/events/ios/contenteditable-autocapitalize.html passes consistently; however, when
5300         run right after another layout test that finishes while the keyboard is shown, this test sometimes fails. This
5301         is because each of the three steps of this test ends when UIScriptController's `didHideKeyboardCallback` is
5302         invoked, and if the keyboard only begins to dismiss after the previous test completes, we have a race. When the
5303         keyboard finishes dismissing after the UI script is evaluated, it will trigger UI script completion early and
5304         skip over one of the steps in the layout test, resulting in a text diff failure.
5306         To fix this, add a mechanism in WebKitTestRunner to wait until the keyboard is dismissed (with a short timeout)
5307         as a part of resetting test controller state, before moving on to the next layout test.
5309         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
5310         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
5311         (-[TestRunnerWKWebView didStartFormControlInteraction]):
5312         (-[TestRunnerWKWebView didEndFormControlInteraction]):
5314         Use these hooks to keep track of whether the previous test is presenting any form input UI.
5316         (-[TestRunnerWKWebView isInteractingWithFormControl]):
5317         * WebKitTestRunner/ios/TestControllerIOS.mm:
5318         (WTR::handleKeyboardWillHideNotification):
5319         (WTR::handleKeyboardDidHideNotification):
5320         (WTR::TestController::platformInitialize):
5321         (WTR::TestController::platformDestroy):
5323         Register during initialization (and unregister during teardown) for keyboard hiding notifications, to keep track
5324         of when the keyboard dismissal animation ends.
5326         (WTR::TestController::platformResetStateToConsistentValues):
5328         Make a couple of tweaks here: (1) if form input UI is being shown, tell the web view to resign first responder,
5329         which causes the field to lose focus. (2) If necessary, wait for the current keyboard dismissal animation to
5330         finish. This includes any keyboard dismissal animations triggered as a result of step (1).
5332 2018-08-05  Darin Adler  <darin@apple.com>
5334         [Cocoa] More tweaks and refactoring to prepare for ARC
5335         https://bugs.webkit.org/show_bug.cgi?id=188245
5337         Reviewed by Dan Bernstein.
5339         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Use const void* for a
5340         CFTypeRef instead of void*.
5342         * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
5343         (createCoreAnimationLayer): Use CFBridgingRetain.
5345         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
5346         (AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging casts.
5347         (AccessibilityUIElement::textMarkerRangeForElement): Ditto.
5348         (AccessibilityUIElement::selectedTextMarkerRange): Ditto.
5349         (AccessibilityUIElement::textMarkerRangeLength): Ditto.
5350         (AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
5351         (AccessibilityUIElement::indexForTextMarker): Ditto.
5352         (AccessibilityUIElement::textMarkerForIndex): Ditto.
5353         (AccessibilityUIElement::isTextMarkerValid): Ditto.
5354         (AccessibilityUIElement::previousTextMarker): Ditto.
5355         (AccessibilityUIElement::nextTextMarker): Ditto.
5356         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
5357         (createJSStringRef): Ditto.
5358         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
5359         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
5360         (AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
5361         (AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
5362         (AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
5363         (AccessibilityUIElement::endTextMarkerForBounds): Ditto.
5364         (AccessibilityUIElement::startTextMarkerForBounds): Ditto.
5365         (AccessibilityUIElement::textMarkerForPoint): Ditto.
5366         (AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
5367         (AccessibilityUIElement::startTextMarker): Ditto.
5368         (AccessibilityUIElement::endTextMarker): Ditto.
5369         (AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
5370         (AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
5371         (AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
5372         (AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
5373         (AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
5374         (AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
5375         (AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
5376         (AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
5377         (AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
5378         (AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
5379         (AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
5381         * DumpRenderTree/mac/DumpRenderTree.mm:
5382         (resetWebPreferencesToConsistentValues): Use bridging cast.
5383         (dumpFramesAsText): Ditto.
5384         (dumpBackForwardListForAllWindows): Use a modern for loop instead of
5385         CFArray functions to iterate the array.
5386         (dump): Use bridging cast.
5387         (runTest): Ditto.
5389         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
5390         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
5391         (toUTI): Return a RetainPtr<CFStringRef>.
5392         (-[LocalPasteboard types]): Use the above and bridging casts.
5393         (-[LocalPasteboard availableTypeFromArray:]): Ditto.
5394         (-[LocalPasteboard setData:forType:]): Ditto.
5395         (-[LocalPasteboard dataForType:]): Ditto.
5396         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
5397         instead of CFPropertyList.
5398         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
5399         CFStringCreateExternalRepresentation.
5401         * DumpRenderTree/mac/MockGeolocationProvider.h: Put CFTypeRef in a HashSet
5402         instead of an Objective-C object pointer type.
5403         * DumpRenderTree/mac/MockGeolocationProvider.mm:
5404         (-[MockGeolocationProvider registerWebView:]): Update for above.
5405         (-[MockGeolocationProvider unregisterWebView:]): Ditto.
5406         (-[MockGeolocationProvider timerFired]): Ditto.
5408         * DumpRenderTree/mac/MockWebNotificationProvider.h: Use CFTypeRef in
5409         HashMap and HashSet instead of an Objective-C object pointer type.
5410         * DumpRenderTree/mac/MockWebNotificationProvider.mm:
5411         (-[MockWebNotificationProvider registerWebView:]): Update for above.
5412         (-[MockWebNotificationProvider unregisterWebView:]): Ditto.
5413         (-[MockWebNotificationProvider showNotification:fromWebView:]): Ditto.
5414         (-[MockWebNotificationProvider cancelNotification:]): Ditto.
5415         (-[MockWebNotificationProvider simulateWebNotificationClick:]): Ditto.
5417         * DumpRenderTree/mac/ObjCPlugin.m:
5418         (-[JSObjC retainObject:]): Use CFRetain instead of -[NSObject retain].
5420         * DumpRenderTree/mac/TestRunnerMac.mm:
5421         (TestRunner::addDisallowedURL): Use bridging cast.
5422         (TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
5423         (TestRunner::clearApplicationCacheForOrigin): Ditto.
5424         (originsArrayToJS): Ditto.
5425         (TestRunner::copyDecodedHostName): Ditto.
5426         (TestRunner::copyEncodedHostName): Ditto.
5427         (TestRunner::queueLoad): Ditto.
5428         (TestRunner::setDomainRelaxationForbiddenForURLScheme): Ditto.
5429         (TestRunner::setMockGeolocationPositionUnavailableError): Ditto.
5430         (TestRunner::setUserStyleSheetLocation): Ditto.
5431         (TestRunner::setValueForUser): Ditto.
5432         (TestRunner::overridePreference): Ditto.
5433         (TestRunner::execCommand): Ditto.
5434         (TestRunner::findString): Ditto.
5435         (TestRunner::isCommandEnabled): Ditto.
5436         (TestRunner::addOriginAccessWhitelistEntry): Ditto.
5437         (TestRunner::removeOriginAccessWhitelistEntry): Ditto.
5438         (TestRunner::addUserScript): Ditto.
5439         (TestRunner::addUserStyleSheet): Ditto.
5440         (TestRunner::evaluateInWebInspector): Ditto.
5441         (TestRunner::evaluateScriptInIsolatedWorld): Ditto.
5442         (TestRunner::authenticateSession): Ditto.
5443         (TestRunner::grantWebNotificationPermission): Ditto.
5444         (TestRunner::denyWebNotificationPermission): Ditto.
5445         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
5446         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Ditto.
5448         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
5449         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging cast.
5450         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
5451         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
5452         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
5453         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
5454         (WTR::AccessibilityUIElement::selectedTextMarkerRange): Ditto.
5455         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
5456         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
5457         (WTR::AccessibilityUIElement::endTextMarkerForBounds): Ditto.
5458         (WTR::AccessibilityUIElement::startTextMarkerForBounds): Ditto.
5459         (WTR::AccessibilityUIElement::textMarkerForPoint): Ditto.
5460         (WTR::AccessibilityUIElement::textMarkerForIndex): Ditto.
5461         (WTR::AccessibilityUIElement::startTextMarker): Ditto.
5462         (WTR::AccessibilityUIElement::endTextMarker): Ditto.
5463         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
5464         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
5465         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
5466         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
5467         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
5468         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
5469         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
5470         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
5471         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
5472         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
5474         * WebKitTestRunner/PlatformMac.cmake: Added WebKitTestRunnerWindow.h and .mm files.
5475         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Ditto.
5477         * WebKitTestRunner/mac/EventSenderProxy.mm: Add include of WebKitTestRunnerWindow.h
5478         so we can use the type and know it inherits from NSWindow.
5480         * WebKitTestRunner/mac/PlatformWebViewMac.mm: Add include of WebKitTestRunnerWindow.h
5481         so we can use the type and know it inherits from NSWindow. Moved WebKitTestRunnerWindow
5482         class into a separate file.
5483         (WTR::PlatformWebView::keyWindow): Call +[WebKitTestRunnerWindow _WTR_keyWindow]
5484         instead of have a second copy of the implementation.
5486         * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Add include of WebKitTestRunnerWindow.h
5487         so we can use the type and know it inherits from NSWindow. Also removed "using namespace".
5488         (+[WebKitTestRunnerEvent mouseLocation]): Updated for above.
5490         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
5491         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
5492         (-[LocalPasteboard availableTypeFromArray:]): Use modern for loop.
5493         (-[LocalPasteboard setData:forType:]): Reordered method to be a tiny bit more efficient.
5494         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
5495         instead of CFPropertyList.
5496         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
5497         CFStringCreateExternalRepresentation.
5499         * WebKitTestRunner/mac/WebKitTestRunnerWindow.h: Moved declaration of
5500         WebKitTestRunnerWindow here so it can be included by files that need to know
5501         what the type is and that it inherits from NSWindow.
5503         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm: Added. Moved implementation here.
5504         (+[WebKitTestRunnerWindow _WTR_keyWindow]): Use modern for loop instead of the old,
5505         messier implementation.
5507 2018-08-07  Alex Christensen  <achristensen@webkit.org>
5509         Add a test for using SafeBrowsing
5510         https://bugs.webkit.org/show_bug.cgi?id=188290
5512         Reviewed by Chris Dumez.
5514         Swizzle out SSBLookupContext to write tests for how WebKit responds when it responds in different ways.
5515         We don't do anything with its results in WebKit yet, but when we do I'll add the expected behavior to this test.
5517         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5518         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: Added.
5519         (-[SafeBrowsingDelegate webView:didFinishNavigation:]):
5520         (TestWebKitAPI::TEST):
5522 2018-08-07  Lucas Forschler  <lforschler@apple.com>
5524         If there's a Radar in the ChangeLog, webkit-patch upload/create-bug should put the radar in the bug and set InRadar
5525         https://bugs.webkit.org/show_bug.cgi?id=188235
5527         Reviewed by Daniel Bates, Kocsen Chung, and Aakash Jain.
5529         * Scripts/webkitpy/common/checkout/changelog.py: 
5530         (ChangeLogEntry): Teach the ChangeLog tools how to parse a radar_id
5531         * Scripts/webkitpy/common/checkout/changelog_unittest.py: Test out the new _parse_radar_id functionality
5532         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
5533         (Bugzilla.add_keyword_to_bug): Add logic to add keywords using the changeform
5534         * Scripts/webkitpy/tool/commands/upload.py:
5535         (Upload): Teach the upload step how to add radar information when creating a new bug.
5536         * Scripts/webkitpy/tool/steps/__init__.py:
5537         * Scripts/webkitpy/tool/steps/addradar.py: Added.
5538         (AddRadar):
5539         (AddRadar.run): Contains the logic to add the radar information to bugzilla.
5540         * Scripts/webkitpy/tool/steps/createbug.py:
5541         (CreateBug.run): set a "created_new_bug" state when creating a new bugzilla bug.
5543 2018-08-07  Wenson Hsieh  <wenson_hsieh@apple.com>
5545         Post-review feedback after r234614.
5546         https://bugs.webkit.org/show_bug.cgi?id=188322
5547         <rdar://problem/42455270>
5549         Reviewed by Sam Weinig.
5551         Use std::round instead of roundl â€” there's no reason to go from double to long double precision when rounding.
5553         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
5554         (rounded):
5556 2018-08-07  Don Olmstead  <don.olmstead@sony.com>
5558         [MiniBrowser][Win] Allow selection of recent user agents
5559         https://bugs.webkit.org/show_bug.cgi?id=188371
5561         Reviewed by Fujii Hironori.
5563         Updates the user agent spoofing strings to the latest released
5564         versions and adds Microsoft Edge's user agent.
5566         Moves the menu item selection to the common base class, BrowserWindow
5567         to support user agent spoofing in a WebKitLegacyBrowserWindow and
5568         WebKitBrowserWindow.
5570         * MiniBrowser/win/BrowserWindow.cpp: Added.
5571         (BrowserWindow::setUserAgent):
5572         * MiniBrowser/win/BrowserWindow.h:
5573         * MiniBrowser/win/CMakeLists.txt:
5574         * MiniBrowser/win/MainWindow.cpp:
5575         (MainWindow::toggleMenuItem):
5576         * MiniBrowser/win/MiniBrowserLib.rc:
5577         * MiniBrowser/win/MiniBrowserLibResource.h:
5578         * MiniBrowser/win/WebKitBrowserWindow.cpp:
5579         * MiniBrowser/win/WebKitBrowserWindow.h:
5580         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
5581         (WebKitLegacyBrowserWindow::setUserAgent):
5582         * MiniBrowser/win/WebKitLegacyBrowserWindow.h:
5584 2018-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
5586         Unreviewed, add a new address to my configuration
5588         * Scripts/webkitpy/common/config/contributors.json:
5590 2018-08-06  David Quesada  <david_quesada@apple.com>
5592         webkitdirs.pm should default to iPhone SE for 64-bit testing
5593         https://bugs.webkit.org/show_bug.cgi?id=188361
5595         Reviewed by Daniel Bates.
5597         Use iPhone SE as the default iOS Simulator device type. This corresponds to the change to webkitpy in r234467.
5599         * Scripts/webkitdirs.pm:
5600         (findOrCreateSimulatorForIOSDevice):
5601         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
5602         (parse_args):
5603             Update the help text for --device-type to reflect the new default device.
5605 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
5607         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
5608         https://bugs.webkit.org/show_bug.cgi?id=188322
5609         <rdar://problem/42455270>
5611         Reviewed by Tim Horton.
5613         Fixes an API test added in r234600, which had incorrect test expectations â€” namely, the width of the caret rect
5614         was not in content view coordinates, unlike the x, y, and height.
5616         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
5617         (rounded):
5618         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
5619         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
5620         (TestWebKitAPI::TEST):
5622 2018-08-06  Ryan Haddad  <ryanhaddad@apple.com>
5624         Unreviewed, rolling out r234569.
5626         Breaks internal builds.
5628         Reverted changeset:
5630         "We should cache the compiled sandbox profile in a data vault"
5631         https://bugs.webkit.org/show_bug.cgi?id=184991
5632         https://trac.webkit.org/changeset/234569
5634 2018-08-06  Fujii Hironori  <Hironori.Fujii@sony.com>
5636         [Win][DLLLauncher] Remove --highDPI switch
5637         https://bugs.webkit.org/show_bug.cgi?id=188255
5639         Reviewed by Yusuke Suzuki.
5641         Bug 149417 has added `--highDPI` switch to make MiniBrowser DPI
5642         aware. But, Bug 158733 has made MiniBrowser always DPI aware. It
5643         became useless since the change. Remove the switch.
5645         This change fixes the issue all dump render tree tests are failing
5646         in WinCairo port if high DPI display is connected.
5648         * MiniBrowser/win/Common.cpp:
5649         (parseCommandLine): Removed `--highDPI` switch.
5650         * win/DLLLauncher/DLLLauncherMain.cpp:
5651         (wWinMain): Do not call SetProcessDPIAware.
5652         (shouldUseHighDPI): Deleted.
5654 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
5656         [iOS] Tests that try to interact with the QuickType bar time out on iOS 11+
5657         https://bugs.webkit.org/show_bug.cgi?id=188335
5658         <rdar://problem/32542437> and <rdar://problem/32542433>
5660         Reviewed by Tim Horton.
5662         Remove a UIScriptController helper method that attempted to wait for QuickType buttons to appear, and then send
5663         touch events to the buttons. These were only used for the two tests which this patch refactors. See the
5664         LayoutTests ChangeLog for more detail.
5666         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
5667         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
5668         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
5669         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
5670         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
5671         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
5672         * TestRunnerShared/UIScriptContext/UIScriptController.h:
5673         * TestRunnerShared/spi/UIKitTestSPI.h:
5675         Remove an internal class declaration that is now unnecessary.
5677         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
5678         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
5679         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
5681 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
5683         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
5684         https://bugs.webkit.org/show_bug.cgi?id=188322
5685         <rdar://problem/42455270>
5687         Reviewed by Tim Horton.
5689         Adds plumbing in UIScriptController to grab the start and end selection handle rects for use in the new layout
5690         test. Also adds new API tests to verify that when a web view resigns first responder, both caret and range
5691         selection views are hidden, and when first responder status is restored, both caret and range selection views
5692         are made visible again.
5694         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
5695         (WTR::UIScriptController::selectionStartGrabberViewRect const):
5696         (WTR::UIScriptController::selectionEndGrabberViewRect const):
5697         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
5698         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
5699         (WTR::UIScriptController::selectionStartGrabberViewRect const):
5700         (WTR::UIScriptController::selectionEndGrabberViewRect const):
5701         * TestRunnerShared/UIScriptContext/UIScriptController.h:
5702         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
5703         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
5704         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
5705         (webViewWithAutofocusedInput):
5707         Pull out some common logic for creating a web view that allows programmatic focus to present the keyboard, and
5708         immediately loading a web page with an autofocusing text field.
5710         (TestWebKitAPI::TEST):
5711         * TestWebKitAPI/cocoa/TestWKWebView.h:
5712         * TestWebKitAPI/cocoa/TestWKWebView.mm:
5713         (-[TestWKWebView caretViewRectInContentCoordinates]):
5714         (-[TestWKWebView selectionViewRectsInContentCoordinates]):
5715         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
5716         (WTR::UIScriptController::selectionStartGrabberViewRect const):
5717         (WTR::UIScriptController::selectionEndGrabberViewRect const):
5719 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
5721         [iOS] Layout tests that send HID events cause WebKitTestRunner to crash on recent SDKs
5722         https://bugs.webkit.org/show_bug.cgi?id=188334
5723         <rdar://problem/40630074>
5725         Reviewed by Tim Horton.
5727         To mark the end of previously dispatched IOHID events, HIDEventGenerator currently sends a vendor-defined event
5728         and stores the completion callback ID for the previously dispatched events as vendor-defined data. When this
5729         vendor-defined marker event is handled by the application, we then read the callback ID back from the event, map
5730         it to a completion block, and invoke the completion block to signal that the previous HID event has been
5731         processed.
5733         This callback ID is an unsigned, so we tell IOKit that we need `sizeof(unsigned)` (4 bytes) to store it. On
5734         shipping software, IOKit clamps this to a minimum of 8 bytes, i.e. `sizeof(CFIndex)`. When we later call
5735         IOHIDEventGetIntegerValue to read the value of our vendor-defined data as a CFIndex, we get our expected
5736         callback ID because the buffer was clamped to 8 bytes.
5738         However, on recent iOS SDKs that contain the fix for <rdar://problem/20082284>, IOKit no longer clamps the size
5739         of the vendor-defined data buffer to 8 bytes. This means that when we try to use IOHIDEventGetIntegerValue to
5740         read our callback ID back, we end up getting a CFIndex where the lower 4 bytes are the callback ID we wrote, and
5741         the upper 4 bytes are garbage. In the case where any of these upper 4 bytes are non-zero, we fail to map the
5742         callback ID to a completion handler, and so we never finish dispatching the HID event, causing an exception to
5743         be thrown.
5745         To fix this, we adjust callback ID to be a CFIndex, which matches IOHIDEventGetIntegerValue's return type.
5747         * WebKitTestRunner/ios/HIDEventGenerator.mm:
5748         (+[HIDEventGenerator nextEventCallbackID]):
5749         (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]):
5751         Also refactor a bit of `-_sendMarkerHIDEventWithCompletionBlock:` by using auto and move semantics.
5753 2018-08-03  Ben Richards  <benton_richards@apple.com>
5755         We should cache the compiled sandbox profile in a data vault
5756         https://bugs.webkit.org/show_bug.cgi?id=184991
5758         Reviewed by Ryosuke Niwa.
5760         Added trace points for sandbox initialization
5762         * Tracing/SystemTracePoints.plist:
5764 2018-08-03  David Fenton  <david_fenton@apple.com>
5766         Unreviewed, rolling out r234517.
5768         Caused API test failures on iOS
5770         Reverted changeset:
5772         "[Cocoa] setCookie API fails to set session cookies for
5773         defaultDataStore if processPool created but not used"
5774         https://bugs.webkit.org/show_bug.cgi?id=188209
5775         https://trac.webkit.org/changeset/234517
5777 2018-08-03  Ben Richards  <benton_richards@apple.com>
5779         Add configuration for automatic process pre-warming
5780         https://bugs.webkit.org/show_bug.cgi?id=187108
5782         Reviewed by Ryosuke Niwa.
5784         Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
5786         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5787         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
5788         (TEST):
5789         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
5790         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm:
5791         (TEST):
5793 2018-08-03  Aakash Jain  <aakash_jain@apple.com>
5795         [ews-build] Add build step to Check Patch Relevance
5796         https://bugs.webkit.org/show_bug.cgi?id=188295
5798         Reviewed by Lucas Forschler.
5800         * BuildSlaveSupport/ews-build/steps.py:
5801         (CheckPatchRelevance): Added step to check patch relevance.
5802         (CheckPatchRelevance._patch_is_relevant): Checks if the patch is relevant.
5803         (CheckPatchRelevance._get_patch): Retrieves the patch from buildbot.
5804         (CheckPatchRelevance._addToLog): Add the log message.
5805         (CheckPatchRelevance.start):
5806         * BuildSlaveSupport/ews-build/factories.py: Added CheckPatchRelevance step appropriately.
5808 2018-08-03  Jer Noble  <jer.noble@apple.com>
5810         Unreviewed gardening; r234534 changed the policy for what audio session is set when a
5811         media element is paused. Updating the test to reflect the new policy.
5813         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
5814         (TestWebKitAPI::TEST):
5816 2018-08-03  Zalan Bujtas  <zalan@apple.com>
5818         [LFC][Floating] Now that the document renderer belongs to "complicated cases", adjust viewport stretching.
5819         https://bugs.webkit.org/show_bug.cgi?id=188306
5821         Reviewed by Antti Koivisto.
5823         * LayoutReloaded/misc/LFC-passing-tests.txt:
5825 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
5827         [WPE] Use the new key mapper API from WPEBackend
5828         https://bugs.webkit.org/show_bug.cgi?id=188216
5830         Reviewed by Å½an DoberÅ¡ek.
5832         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
5833         (WTR::EventSenderProxy::keyDown): Use wpe_input_xkb_context_get_entries_for_key_code() to get the hardware key
5834         code.
5835         * wpe/backends/WindowViewBackend.cpp:
5836         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
5837         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
5838         (WPEToolingBackends::WindowViewBackend::modifiers const):
5839         * wpe/backends/WindowViewBackend.h:
5841 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
5843         [WPE] Implement MouseEvent.buttons
5844         https://bugs.webkit.org/show_bug.cgi?id=187998
5846         Reviewed by Å½an DoberÅ¡ek.
5848         Pass modifiers to mouse events.
5850         * WebKitTestRunner/EventSenderProxy.h:
5851         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
5852         (WTR::senderButtonToWPEButton):
5853         (WTR::modifierForButton):
5854         (WTR::EventSenderProxy::mouseDown):
5855         (WTR::EventSenderProxy::mouseUp):
5856         (WTR::EventSenderProxy::mouseMoveTo):
5857         (WTR::EventSenderProxy::mouseScrollBy):
5858         (WTR::wkEventModifiersToWPE):
5859         (WTR::wpeKeySymForKeyRef):
5860         (WTR::EventSenderProxy::keyDown):
5861         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
5862         * wpe/backends/WindowViewBackend.cpp:
5863         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
5864         (WPEToolingBackends::WindowViewBackend::modifiers const):
5865         * wpe/backends/WindowViewBackend.h:
5867 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
5869         [WPE] Use WPE key symbols and new API instead of xkbcommon and the key mapper
5870         https://bugs.webkit.org/show_bug.cgi?id=188093
5872         Reviewed by Å½an DoberÅ¡ek.
5874         * MiniBrowser/wpe/main.cpp: Use WPE key symbols.
5875         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
5876         (WTR::wpeKeySymForKeyRef): Use WPE key symbols and wpe_unicode_to_key_code().
5877         (WTR::EventSenderProxy::keyDown): Do not set unicode char to the event since it was removed.
5878         * flatpak/org.webkit.WPE.yaml: Bump WPEBackend and WPEBackend-fdo versions.
5879         * wpe/backends/WindowViewBackend.cpp:
5880         (WPEToolingBackends::WindowViewBackend::handleKeyEvent): Do not set unicode char to the event since it was removed.
5881         * wpe/jhbuild.modules: Bump WPEBackend and WPEBackend-fdo versions.
5883 2018-08-02  Nan Wang  <n_wang@apple.com>
5885         AX: [iOS] add support to return the attributed string under the element
5886         https://bugs.webkit.org/show_bug.cgi?id=188276
5887         <rdar://problem/42872357>
5889         Reviewed by Chris Fleizach.
5891         * DumpRenderTree/AccessibilityUIElement.cpp:
5892         (attributedStringForElementCallback):
5893         (AccessibilityUIElement::getJSClass):
5894         * DumpRenderTree/AccessibilityUIElement.h:
5895         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
5896         (AccessibilityUIElement::attributedStringForElement):
5897         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
5898         (WTR::AccessibilityUIElement::attributedStringForElement):
5899         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
5900         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
5901         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
5902         (WTR::AccessibilityUIElement::attributedStringForElement):
5904 2018-08-02  Ryan Haddad  <ryanhaddad@apple.com>
5906         Skip API test DataInteractionTests.CustomActionSheetPopover on current SDKs.
5907         https://bugs.webkit.org/show_bug.cgi?id=175204
5909         Unreviewed test gardening.
5911         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
5913 2018-08-02  Sihui Liu  <sihui_liu@apple.com>
5915         [Cocoa] setCookie API fails to set session cookies for defaultDataStore if processPool created but not used
5916         https://bugs.webkit.org/show_bug.cgi?id=188209
5918         Reviewed by Geoffrey Garen.
5920         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
5921         (TEST):
5923 2018-08-02  Dan Bernstein  <mitz@apple.com>
5925         Fixed WebKit.AttrStyle timing out on build.webkit.org.
5927         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Changed from a URL that requires network
5928           access to one that doesn’t.
5929         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
5930         (TEST): Updated expected value.
5932 2018-08-02  Wenson Hsieh  <wenson_hsieh@apple.com>
5934         [iOS] Keyboard becomes unresponsive after pressing delete while pressing down on a character key with accents
5935         https://bugs.webkit.org/show_bug.cgi?id=188251
5936         <rdar://problem/37842108>
5938         Reviewed by Tim Horton.
5940         Adds a new API test to verify that clients (in this case, UIKit) is allowed to invoke
5941         -handleKeyWebEvent:withCompletionHandler: within the completion block of a prior invocation.
5943         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5944         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Added.
5945         (TestWebKitAPI::TEST):
5946         * TestWebKitAPI/Tests/ios/TestInputDelegate.h: Added.
5948         Pull some logic used to force an input session to start out from an existing API test file
5949         (WKWebViewAutofillTests) and into a separate helper class that is used by both the existing API tests and the
5950         new keyboard input test.
5952         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
5953         (-[AutofillTestView initWithFrame:]):
5954         (TestWebKitAPI::TEST):
5955         (-[TestInputDelegate init]): Deleted.
5956         (-[TestInputDelegate _webView:focusShouldStartInputSession:]): Deleted.
5957         * TestWebKitAPI/ios/UIKitSPI.h:
5959         Add some UIKit SPI utilized by the new API test.
5961 2018-08-01  Dan Bernstein  <mitz@apple.com>
5963         Optionally expose Attr::style to JavaScript
5964         https://bugs.webkit.org/show_bug.cgi?id=188226
5965         <rdar://problem/42818113>
5967         Reviewed by Darin Adler.
5969         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
5970         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Added.
5971         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm: Added.
5972         (TEST):
5974 2018-08-02  David Fenton  <david_fenton@apple.com>
5976         Unreviewed, rolling out r234489.
5978         Caused 50+ crashes and 60+ API failures on iOS
5980         Reverted changeset:
5982         "[WTF] Rename String::format to String::deprecatedFormat"
5983         https://bugs.webkit.org/show_bug.cgi?id=188191
5984         https://trac.webkit.org/changeset/234489
5986 2018-08-01  Ross Kirsling  <ross.kirsling@sony.com>
5988         TestWTF.WTF_NeverDestroyed.Construct output differs for MSVC in Debug mode
5989         https://bugs.webkit.org/show_bug.cgi?id=188244
5991         Reviewed by Daniel Bates.
5993         Follow-up to r234179. MSVC chooses not to inline the lambda in Debug mode. 
5995         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
5997 2018-08-01  Tomas Popela  <tpopela@redhat.com>
5999         [WTF] Rename String::format to String::deprecatedFormat
6000         https://bugs.webkit.org/show_bug.cgi?id=188191
6002         Reviewed by Darin Adler.
6004         It should be replaced with string concatenation.
6006         * DumpRenderTree/win/DumpRenderTree.cpp:
6007         (applicationId):
6008         (main):
6009         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
6010         (TestWebKitAPI::Util::createURLForResource):
6011         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6012         (WTR::cacheTestRunnerCallback):
6013         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
6014         (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
6015         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
6016         (WTR::AccessibilityUIElement::attributedStringForRange):
6017         (WTR::AccessibilityUIElement::url):
6018         (WTR::stringAtOffset):
6019         * WebKitTestRunner/TestController.cpp:
6020         (WTR::TestController::didReceiveAuthenticationChallenge):
6021         (WTR::TestController::downloadDidFail):
6022         (WTR::originUserVisibleName):
6023         (WTR::userMediaOriginHash):
6024         (WTR::TestController::didNavigateWithNavigationData):
6025         (WTR::TestController::didPerformClientRedirect):
6026         (WTR::TestController::didPerformServerRedirect):
6027         (WTR::TestController::didUpdateHistoryTitle):
6029 2018-08-01  Nan Wang  <n_wang@apple.com>
6031         AX: AOM: Add ARIA IDL Attribute Reflection
6032         https://bugs.webkit.org/show_bug.cgi?id=184676
6033         <rdar://problem/39476882>
6035         Reviewed by Chris Fleizach.
6037         * DumpRenderTree/mac/DumpRenderTree.mm:
6038         (enableExperimentalFeatures):
6039         * WebKitTestRunner/TestController.cpp:
6040         (WTR::TestController::resetPreferencesToConsistentValues):
6042 2018-08-01  Jonathan Bedard  <jbedard@apple.com>
6044         Use iPhone SE as the default simulated device
6045         https://bugs.webkit.org/show_bug.cgi?id=188227
6047         Reviewed by Aakash Jain.
6049         * Scripts/webkitpy/port/ios_simulator.py:
6050         (IOSSimulatorPort):
6052 2018-08-01  Commit Queue  <commit-queue@webkit.org>
6054         Unreviewed, rolling out r234443 and r234445.
6055         https://bugs.webkit.org/show_bug.cgi?id=188224
6057         Revision caused 3 api failures across all platforms.
6058         (Requested by Truitt on #webkit).
6060         Reverted changesets:
6062         "Add configuration for automatic process pre-warming"
6063         https://bugs.webkit.org/show_bug.cgi?id=187108
6064         https://trac.webkit.org/changeset/234443
6066         "Add configuration for automatic process pre-warming"
6067         https://bugs.webkit.org/show_bug.cgi?id=187108
6068         https://trac.webkit.org/changeset/234445
6070 2018-07-31  Ben Richards  <benton_richards@apple.com>
6072         Add configuration for automatic process pre-warming
6073         https://bugs.webkit.org/show_bug.cgi?id=187108
6075         Reviewed by Ryosuke Niwa.
6077         Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
6079         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6080         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
6081         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Added.
6082         (TEST):
6084 2018-07-31  John Wilander  <wilander@apple.com>
6086         Resource Load Statistics: Remove partitioned cookies for reduced complexity, lower memory footprint, and ability to support more platforms
6087         https://bugs.webkit.org/show_bug.cgi?id=188109
6088         <rdar://problem/42664391>
6090         Reviewed by Brent Fulgham, Chris Dumez, and Alex Christensen.
6092         This patch removes cookie partitioning which reduces the model to just
6093         blocked cookies (in third-party contexts) and first-party cookie access.
6095         Several of the changes are renaming to reflect that there are no more
6096         cookie partitions.
6098         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6099            Removed or renamed functions to reflect that there are no more
6100            partitioned cookies.
6101         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
6102         (WTR::InjectedBundle::didReceiveMessageToPage):
6103         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6104         (WTR::TestRunner::statisticsUpdateCookieBlocking):
6105         (WTR::TestRunner::statisticsCallDidSetBlockCookiesForHostCallback):
6106         (WTR::TestRunner::setCookieStoragePartitioningEnabled): Deleted.
6107         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction): Deleted.
6108         (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
6109         (WTR::TestRunner::statisticsUpdateCookiePartitioning): Deleted.
6110         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost): Deleted.
6111         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
6112         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6113         * WebKitTestRunner/TestController.cpp:
6114         (WTR::TestController::statisticsUpdateCookieBlocking):
6115         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
6116         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
6117         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
6118         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
6119         * WebKitTestRunner/TestController.h:
6120         * WebKitTestRunner/TestInvocation.cpp:
6121         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6122         (WTR::TestInvocation::didSetBlockCookiesForHost):
6123         (WTR::TestInvocation::didSetHasHadUserInteraction):
6124         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
6125         (WTR::TestInvocation::didSetHasHadNonRecentUserInteraction): Deleted.
6126         * WebKitTestRunner/TestInvocation.h:
6127         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
6128         (WTR::initializeWebViewConfiguration):
6130 2018-07-31  Alex Christensen  <achristensen@webkit.org>
6132         Build fix.  Remove unused variable.
6134         * TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp:
6135         (TestWebKitAPI::TEST):
6136         transform was never used. It was introduced in r205871
6137         Apparently I'm the first one to build in a certain configuration that found it.
6139 2018-07-31  Fujii Hironori  <Hironori.Fujii@sony.com>
6141         server_process.py should print returncode in debug log if the process crashed
6142         https://bugs.webkit.org/show_bug.cgi?id=188160
6144         Reviewed by Konstantin Tokarev.
6146         * Scripts/webkitpy/port/server_process.py:
6147         (ServerProcess.has_crashed): Put self._proc.returncode into the debug log message.
6149 2018-07-31  Tomas Popela  <tpopela@redhat.com>
6151         [WTF] String::formatWithArguments() is unused
6152         https://bugs.webkit.org/show_bug.cgi?id=187955
6154         Reviewed by Darin Adler.
6156         Remove tests for WTF::String::formatWithArguments() as it's unused and
6157         we are removing it.
6159         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
6161 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
6163         [ews-build] Fix typo in builder name for Bindings-tests-EWS.
6165         * BuildSlaveSupport/ews-build/config.json: Changed 'tests' to 'Tests' to make it consistent with
6166         other builders.
6168 2018-07-30 Aakash Jain  <aakash_jain@apple.com>
6170         [ews-build] Add support for API tests in OpenSource EWS
6171         https://bugs.webkit.org/show_bug.cgi?id=188156
6173         Reviewed by Lucas Forschler.
6175         * BuildSlaveSupport/ews-build/config.json:
6176         * BuildSlaveSupport/ews-build/factories.py:
6177         (BuildFactory.__init__): Added triggers parameter.
6178         (BuildFactory): If trigger is defined, create and upload archive and trigger appropriate queues.
6179         (BuildFactory.propertiesToPassToTriggers): Pass all the required properties to triggered queue.
6180         (APITestsFactory): Factory for running API tests.
6181         * BuildSlaveSupport/ews-build/steps.py:
6182         (ConfigureBuild.start): Set the property only if property is defined in config.json. Also set the 
6183         source of the property.
6185 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
6187         [ews-build] loadConfig should ensure that the triggers are valid
6188         https://bugs.webkit.org/show_bug.cgi?id=188134
6190         Reviewed by Lucas Forschler.
6192         * BuildSlaveSupport/ews-build/loadConfig.py:
6193         (checkValidBuilder): Added a check to ensure that the builder doesn't refernce non-existing scheduler.
6194         (checkValidSchedulers): Ensures that the scheduler is not un-used.
6195         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests.
6197 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
6199         Unreviewed, fix typo in test expectations and mark another test as timing out
6201         * TestWebKitAPI/glib/TestExpectations.json:
6203 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
6205         More unreviewed GTK test gardening
6207         * TestWebKitAPI/glib/TestExpectations.json:
6209 2018-07-27  Simon Fraser  <simon.fraser@apple.com>
6211         Be more conservative with compositing layer creation when memory is low
6212         https://bugs.webkit.org/show_bug.cgi?id=187866
6213         rdar://problem/42366345
6215         Reviewed by Zalan Bujtas.
6216         
6217         When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
6218         compositing layers. We avoid compositing for these situations:
6219         1. Layers with 3D transforms which are affine (like translateZ(0)).
6220         2. Layers with will-change
6221         3. Layers for canvases (other than WebGL/WebGPU)
6222         
6223         We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
6224         falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
6225         Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
6226         
6227         Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
6228         flakily falling into a different mode, and so that we can impose the conservative
6229         mode for testing.
6231         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
6232         (WTR::InjectedBundlePage::prepare):
6234 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
6236         Unreviewed GTK test gardening
6238         * TestWebKitAPI/glib/TestExpectations.json:
6240 2018-07-27  Alex Christensen  <achristensen@webkit.org>
6242         Fix API tests after r234314
6243         https://bugs.webkit.org/show_bug.cgi?id=188077
6245         Make API tests use new delegate method.
6247         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
6248         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6249         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6251 2018-07-27  Alex Christensen  <achristensen@webkit.org>
6253         Fix API tests after r234314
6254         https://bugs.webkit.org/show_bug.cgi?id=188077
6256         Make API tests use new delegate method.
6258         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
6259         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6260         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6261         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6262         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6263         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
6264         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6265         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6266         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6267         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6268         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
6270 2018-07-26  Andy VanWagoner  <andy@vanwagoner.family>
6272         [INTL] Remove INTL sub-feature compile flags
6273         https://bugs.webkit.org/show_bug.cgi?id=188081
6275         Reviewed by Michael Catanzaro.
6277         * Scripts/webkitperl/FeatureList.pm:
6278         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6280 2018-07-26  Chris Dumez  <cdumez@apple.com>
6282         Loading a file URL and then issuing a reload right away causes the load to fail due to sandboxing
6283         https://bugs.webkit.org/show_bug.cgi?id=188078
6284         <rdar://problem/42562493>
6286         Reviewed by Geoff Garen.
6288         Add API test coverage. It exercises the right code path but unfortunately is not yet a regression
6289         test because TestWebKitAPI does not appear to be sandboxed (rdar://problem/42638129).
6291         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6292         * TestWebKitAPI/Tests/WebKitCocoa/LoadFileThenReload.mm: Added.
6293         (-[LoadFileThenReloadDelegate webView:didFinishNavigation:]):
6294         (-[LoadFileThenReloadDelegate webView:didFailProvisionalNavigation:withError:]):
6295         (-[LoadFileThenReloadDelegate webView:didFailNavigation:withError:]):
6296         (TEST):
6298 2018-07-26  Aaron Chu  <aaron_chu@apple.com>
6300         Add Aaron Chu as a committer to contributors.json
6301         https://bugs.webkit.org/show_bug.cgi?id=188066
6303         Unreviwed. Added myself as committer.
6305         * Scripts/webkitpy/common/config/contributors.json:
6307 2018-07-26  Aakash Jain  <aakash_jain@apple.com>
6309         [ews-build] Add build step to run API Tests
6310         https://bugs.webkit.org/show_bug.cgi?id=188079
6312         Reviewed by Lucas Forschler.
6314         * BuildSlaveSupport/ews-build/steps.py:
6315         (TestWithFailureCount): Common class for various tests with failure count.
6316         (TestWithFailureCount.start): Configure Buildbot's logobserver.
6317         (TestWithFailureCount.commandComplete): Updates the failure count.
6318         (TestWithFailureCount.evaluateCommand): Set the step status appropriately.
6319         (TestWithFailureCount.getResultSummary): Set the step summary appropriately.
6320         (RunAPITests): Build step to run API tests.
6321         (RunAPITests.countFailures): Count the failures by parsing the output.
6322         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
6324 2018-07-26  Ross Kirsling  <ross.kirsling@sony.com>
6326         String(View) should have a splitAllowingEmptyEntries function instead of a flag parameter
6327         https://bugs.webkit.org/show_bug.cgi?id=187963
6329         Reviewed by Alex Christensen.
6331         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
6332         Add tests for String::split and String::splitAllowingEmptyEntries.
6334         * TestWebKitAPI/Tests/WTF/StringView.cpp:
6335         * WebKitTestRunner/TestController.cpp:
6336         (WTR::updateTestOptionsFromTestHeader):
6337         Update split/splitAllowingEmptyEntries usage.
6339 2018-07-26  Commit Queue  <commit-queue@webkit.org>
6341         Unreviewed, rolling out r234181 and r234189.
6342         https://bugs.webkit.org/show_bug.cgi?id=188075
6344         These are not needed right now (Requested by thorton on
6345         #webkit).
6347         Reverted changesets:
6349         "Enable Web Content Filtering on watchOS"
6350         https://bugs.webkit.org/show_bug.cgi?id=187979
6351         https://trac.webkit.org/changeset/234181
6353         "HAVE(PARENTAL_CONTROLS) should be true on watchOS"
6354         https://bugs.webkit.org/show_bug.cgi?id=187985
6355         https://trac.webkit.org/changeset/234189
6357 2018-07-04  Darin Adler  <darin@apple.com>
6359         Improve WebGPU implementation, including using Metal Objective-C protocols more simply and correctly
6360         https://bugs.webkit.org/show_bug.cgi?id=187333
6362         Reviewed by Sam Weinig.
6364         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: Updated.
6365         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Updated.
6366         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm: Updated.
6367         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: Updated.
6368         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: Updated.
6370 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
6372         [ews-build] Add build steps DownloadBuiltProduct and ExtractBuiltProduct
6373         https://bugs.webkit.org/show_bug.cgi?id=188031
6375         Reviewed by Lucas Forschler.
6377         * BuildSlaveSupport/ews-build/steps.py:
6378         (DownloadBuiltProduct): Added build step DownloadBuiltProduct.
6379         (ExtractBuiltProduct): Added build step ExtractBuiltProduct.
6380         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
6382 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
6384         [ews-build] Add build step UploadBuiltProduct
6385         https://bugs.webkit.org/show_bug.cgi?id=188016
6387         Reviewed by Lucas Forschler.
6389         * BuildSlaveSupport/ews-build/steps.py:
6390         (UploadBuiltProduct): Added build step UploadBuiltProduct.
6391         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
6393 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
6395         [ews-build] Add build step ArchiveBuiltProduct
6396         https://bugs.webkit.org/show_bug.cgi?id=188014
6398         Reviewed by Lucas Forschler.
6400         * BuildSlaveSupport/ews-build/steps.py:
6401         (ArchiveBuiltProduct): Added build step ArchiveBuiltProduct.
6402         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
6404 2018-07-25  Chris Dumez  <cdumez@apple.com>
6406         navigator.userAgent may return outdated value after webView.customUserAgent is set
6407         https://bugs.webkit.org/show_bug.cgi?id=188009
6408         <rdar://problem/42566456>
6410         Reviewed by Alex Christensen.
6412         Add API test coverage.
6414         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6415         * TestWebKitAPI/Tests/WebKitCocoa/CustomUserAgent.mm: Added.
6416         (TEST):
6418 2018-07-25  Charlie Turner  <cturner@igalia.com>
6420         [Flatpak] Pass more environment variables to sandbox
6421         https://bugs.webkit.org/show_bug.cgi?id=188002
6423         Reviewed by Michael Catanzaro.
6425         * flatpak/flatpakutils.py:
6426         (WebkitFlatpak.run_in_sandbox):
6428 2018-07-25  Zan Dobersek  <zdobersek@igalia.com>
6430         [WPE] Switch ViewBackend to using wpe_view_backend_exportable_fdo_egl APIs
6431         https://bugs.webkit.org/show_bug.cgi?id=187997
6433         Reviewed by Carlos Garcia Campos.
6435         Instead of the raw wpe_view_backend_exportable_fdo API, switch to using
6436         the EGL-oriented API that simply serves EGLImageKHR objects instead of
6437         raw buffer resources. This allows us not to wrangle with creating and
6438         managing lifetime of the same EGLImageKHR by ourselves.
6440         ViewBackend now defines a wpe_view_backend_exportable_fdo_egl_client
6441         struct and uses wpe_view_backend_exportable_fdo_egl_create() to create
6442         the exportable object. This means that for each frame we're served an
6443         EGLImageKHR object that is passed on to the displayBuffer()
6444         implementation.
6446         HeadlessViewBackend now just manages the pending and committed image
6447         objects. Width and height values used during pixel data retrieval are
6448         gathered from the ViewBackend's size that was specified when
6449         constructed.
6451         WindowViewBackend similarly only manages the committed image object,
6452         not having to create an equivalent EGLImageKHR object from the raw
6453         buffer resource anymore.
6455         Unused EGL entrypoints in both HeadlessViewBackend and WindowViewBackend
6456         classes are removed, and destructors for both classes are made virtual.
6458         The WPEBackend-fdo version is bumped in order to have the EGL-specific
6459         export API available.
6461         * flatpak/org.webkit.WPE.yaml:
6462         * wpe/backends/HeadlessViewBackend.cpp:
6463         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
6464         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
6465         (WPEToolingBackends::HeadlessViewBackend::createSnapshot):
6466         (WPEToolingBackends::HeadlessViewBackend::performUpdate):
6467         (WPEToolingBackends::HeadlessViewBackend::displayBuffer):
6468         * wpe/backends/HeadlessViewBackend.h:
6469         * wpe/backends/ViewBackend.cpp:
6470         (WPEToolingBackends::ViewBackend::initialize):
6471         * wpe/backends/ViewBackend.h:
6472         * wpe/backends/WindowViewBackend.cpp:
6473         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
6474         (WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
6475         (WPEToolingBackends::WindowViewBackend::displayBuffer):
6476         * wpe/backends/WindowViewBackend.h:
6477         * wpe/jhbuild.modules:
6479 2018-07-24  Thomas Denney  <tdenney@apple.com>
6481         Remove support for the double type from WHLSL
6482         https://bugs.webkit.org/show_bug.cgi?id=187977
6484         Reviewed by Myles C. Maxfield.
6486         * WebGPUShadingLanguageRI/All.js: Removed DoubleLiteral.js and DoubleLiteralType.js include.
6487         * WebGPUShadingLanguageRI/DoubleLiteral.js: Removed.
6488         * WebGPUShadingLanguageRI/DoubleLiteralType.js: Removed.
6489         * WebGPUShadingLanguageRI/Intrinsics.js: Removed double arithmetic functions.
6490         * WebGPUShadingLanguageRI/Parse.js:
6491         (parseTerm): Removed parsing of double literals.
6492         * WebGPUShadingLanguageRI/SPIRV.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
6493         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed double type logic.
6494         * WebGPUShadingLanguageRI/StandardLibrary.js: Removed double type declarations.
6495         * WebGPUShadingLanguageRI/Test.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
6496         * WebGPUShadingLanguageRI/Test.js: Removed tests that test doubles or ported them to use floats.
6497         * WebGPUShadingLanguageRI/index.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
6499 2018-07-24  Tim Horton  <timothy_horton@apple.com>
6501         Enable Web Content Filtering on watchOS
6502         https://bugs.webkit.org/show_bug.cgi?id=187979
6503         <rdar://problem/42559346>
6505         Reviewed by Wenson Hsieh.
6507         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6509 2018-07-24  Daniel Bates  <dabates@apple.com>
6511         Move-constructing NeverDestroyed should move construct underlying object instead of copy constructing it
6512         https://bugs.webkit.org/show_bug.cgi?id=187971
6514         Reviewed by Saam Barati.
6516         Add unit tests to cover move constructing a NeverDestroyed with a non-const and const data type
6517         as well as invoking makeNeverDestroyed() with the result of a function that returns a move-only
6518         data type.
6520         * TestWebKitAPI/CMakeLists.txt:
6521         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6522         * TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.cpp: Added.
6523         (TestWebKitAPI::MoveOnlyLifecycleLogger::MoveOnlyLifecycleLogger):
6524         (TestWebKitAPI::MoveOnlyLifecycleLogger::~MoveOnlyLifecycleLogger):
6525         (TestWebKitAPI::MoveOnlyLifecycleLogger::operator=):
6526         (TestWebKitAPI::MoveOnlyLifecycleLogger::setName):
6527         (TestWebKitAPI::TEST):
6528         * TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.h: Added.
6529         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
6530         (TestWebKitAPI::TEST):
6532 2018-07-24  Thomas Denney  <tdenney@apple.com>
6533         Minor changes to the WHLSL interpreter to support the new compiler
6534         https://bugs.webkit.org/show_bug.cgi?id=187728
6536         Reviewed by Myles C. Maxfield.
6538         This bug contains small changes that are make minor changes to the
6539         behaviour of the existing interpreter (the tests are unaffected and all
6540         still pass).
6542         * WebGPUShadingLanguageRI/EnumType.js:
6543         (EnumType.prototype.get isEnum): Property added to EnumType and Type
6544         * WebGPUShadingLanguageRI/Evaluator.js: Correct typo
6545         * WebGPUShadingLanguageRI/Func.js:
6546         (Func.prototype.get isEntryPoint): Add boolean property
6547         * WebGPUShadingLanguageRI/FuncInstantiator.js:
6548         (FuncInstantiator.prototype.get instances): Public accessor for existing
6549         private field
6550         * WebGPUShadingLanguageRI/FunctionLikeBlock.js: Refactored the class so
6551         that it directly wraps a Func instance (therefore the only interface
6552         change is to the constructor and the addition of the func accessor).
6553         This change allows the de-inlining of functions.
6554         (FunctionLikeBlock):
6555         (FunctionLikeBlock.prototype.get func):
6556         (FunctionLikeBlock.prototype.get returnType):
6557         (FunctionLikeBlock.prototype.get parameters):
6558         (FunctionLikeBlock.prototype.get body):
6559         * WebGPUShadingLanguageRI/Inliner.js: Use the new FunctionLikeBlock
6560         constructor
6561         (Inliner.prototype.visitCallExpression):
6562         (Inliner):
6563         * WebGPUShadingLanguageRI/Intrinsics.js: Migrate the swizzle operators
6564         to native functions (with additional support in StandardLibrary.js).
6565         This reduces first-time compile-time from around 4s to around 0.1s.
6566         (Intrinsics):
6567         * WebGPUShadingLanguageRI/Lexer.js: Ensure that the parsing of multiline
6568         comments completes correctly
6569         (Lexer.prototype.next):
6570         (Lexer):
6571         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Addition of type
6572         property, which is based on the type of the lValue and the semantics of
6573         the language (the @ operator yields an array reference with the thread
6574         scope).
6575         (MakeArrayRefExpression):
6576         (MakeArrayRefExpression.prototype.get type):
6577         * WebGPUShadingLanguageRI/NativeFunc.js: Add setter/getter for
6578         implementationData to support swizzle operator change
6579         (NativeFunc.prototype.get implementationData):
6580         (NativeFunc.prototype.set implementationData):
6581         * WebGPUShadingLanguageRI/Rewriter.js: Use new FunctionLikeBlock
6582         constructor
6583         (Rewriter.prototype.visitFunctionLikeBlock):
6584         * WebGPUShadingLanguageRI/StandardLibrary.js:
6585         (_generateSwizzle): Deleted.
6586         * WebGPUShadingLanguageRI/SwizzleOp.js: Introduces a new class for
6587         carrying metadata about swizzle operators so that they are implemented
6588         as native functions rather than generated at compile time.
6589         (SwizzleOp):
6590         (SwizzleOp.prototype.get outSize):
6591         (SwizzleOp.prototype.get components):
6592         (SwizzleOp.prototype.get inSize):
6593         (SwizzleOp.prototype.toString):
6594         (SwizzleOp.allSwizzleOperators.):
6595         (SwizzleOp.allSwizzleOperators):
6596         * WebGPUShadingLanguageRI/StandardLibrary.js: +        (SwizzleOp):
6597         (SwizzleOp.prototype.get outSize):
6598         (SwizzleOp.prototype.get components):
6599         (SwizzleOp.prototype.get inSize):
6600         (SwizzleOp.prototype.toString):
6601         (generateSwizzles):
6602         (_generateSwizzle): Deleted.
6603         * WebGPUShadingLanguageRI/Type.js: Addition of isEnum property, as
6604         above.
6605         (Type.prototype.get isEnum):
6607 2018-07-24  Ryan Haddad  <ryanhaddad@apple.com>
6609         Unreviewed, rolling out r234121.
6611         Caused perf test failures.
6613         Reverted changeset:
6615         "We should cache the compiled sandbox profile in a data vault"
6616         https://bugs.webkit.org/show_bug.cgi?id=184991
6617         https://trac.webkit.org/changeset/234121
6619 2018-07-24  Thibault Saunier  <tsaunier@igalia.com>
6621         [Flatpak] Add openh264 as needed by WebRTC
6622         https://bugs.webkit.org/show_bug.cgi?id=187956
6624         Reviewed by Philippe Normand.
6626         * flatpak/org.webkit.WebKit.yaml:
6628 2018-07-24  Ross Kirsling  <ross.kirsling@sony.com>
6630         WebCore::URL::hostIsIPAddress needs a Windows implementation
6631         https://bugs.webkit.org/show_bug.cgi?id=187859
6633         Reviewed by Fujii Hironori.
6635         * TestWebKitAPI/Tests/WebCore/URL.cpp:
6636         Check for a few other ways an IP address could be invalid.
6638 2018-07-24  Charlie Turner  <cturner@igalia.com>
6640         [Flatpak] Avoid consuming unknown arguments in flatpak wrapper
6641         https://bugs.webkit.org/show_bug.cgi?id=187951
6643         When running run-webkit-tests --wpe --debug, it was observed that
6644         both self.platform != 'wpe' and self.debug != True. This turned
6645         out to be because of the "args" argument consuming the remainder
6646         of future arguments that came after it. Since the first argument
6647         to load_from_args was the test script to run, it would end up
6648         never processing the other arguments supplied to the wrapper
6649         script.
6651         Tested this by rebuilding GTK in debug mode, running the
6652         minibrowser with various extra options, and running some tests
6653         with various extra options.
6655         Reviewed by Michael Catanzaro.
6657         * flatpak/flatpakutils.py:
6658         (WebkitFlatpak.load_from_args):
6660 2018-07-24  Thibault Saunier  <tsaunier@igalia.com>
6662         [Flatpak] Remove now unnecessary 'hacks' for running tests
6663         https://bugs.webkit.org/show_bug.cgi?id=187608
6665         Reviewed by Philippe Normand.
6667         We used to need to not share X11 with the sandbox when running tests
6668         but it is not needed anymore as we do not mount `/tmp` on `/tmp` in the
6669         sandbox (we mount it on `/run/host/tmp` now).
6671         This has the advantage of making running the MiniBrowser to display test
6672         results working again.
6674         * flatpak/flatpakutils.py:
6675         (WebkitFlatpak.clean_args):
6676         (WebkitFlatpak.run_in_sandbox):
6677         (WebkitFlatpak._cleanup_faltpak_args_for_tests_if_needed): Deleted.
6679 2018-07-23  Fujii Hironori  <Hironori.Fujii@sony.com>
6681         webkitpy.port.server_process_unittest.TestServerProcess.test_basic failed on Windows Python
6682         https://bugs.webkit.org/show_bug.cgi?id=187581
6684         Reviewed by Daniel Bates.
6686         There are two failures in this test case:
6687         1. proc.poll() doesn't return 0.
6688         2. stderr is not output.
6690         For failure #1, this is expected. the process should not exit at
6691         the time. proc.poll() should return None because the process is
6692         still alive.
6694         This change added a new test to check proc.poll() becomes 0 after
6695         the process successfully exits.
6697         For failure #2, stderr is not flushed even though stdout is
6698         flushed. This change uses '-u' command switch to force stdin,
6699         stdout and stderr to be totally unbuffered.
6701         * Scripts/webkitpy/port/server_process_unittest.py:
6702         (TestServerProcess.test_basic): Added -u command switch. Do not
6703         flush stdout. Removed the special condition for Windows. Add a new
6704         test to check proc.poll() returns 0.
6705         (TestServerProcess.test_process_crashing): Added -u command
6706         switch. Do not flush stdout.
6708 2018-07-23  Ross Kirsling  <ross.kirsling@sony.com>
6710         WTF::StringView::split should have an allowEmptyEntries flag
6711         https://bugs.webkit.org/show_bug.cgi?id=187864
6713         Reviewed by Konstantin Tokarev.
6715         * TestWebKitAPI/Tests/WTF/StringView.cpp: Add test.
6717 2018-07-23  Ben Richards  <benton_richards@apple.com>
6719         We should cache the compiled sandbox profile in a data vault
6720         https://bugs.webkit.org/show_bug.cgi?id=184991
6722         Reviewed by Ryosuke Niwa.
6724         Added trace points for sandbox initialization
6726         * Tracing/SystemTracePoints.plist:
6728 2018-07-23  Zalan Bujtas  <zalan@apple.com>
6730         DRT relies on [webView display] to call -viewWillDraw on the WebHTMLView
6731         https://bugs.webkit.org/show_bug.cgi?id=187924
6732         <rdar://problem/41745884>
6734         Reviewed by Simon Fraser.
6736         WebKit relies on -viewWillDraw getting called on WebHTMLView, even though that view has not been marked as needing display.
6738         * DumpRenderTree/mac/PixelDumpSupportMac.mm:
6739         (createBitmapContextFromWebView):
6741 2018-07-23  Chris Dumez  <cdumez@apple.com>
6743         WebResourceLoadStatisticsStore fails to unregister itself as a MessageReceiver in its destructor
6744         https://bugs.webkit.org/show_bug.cgi?id=187910
6745         <rdar://problem/42356526>
6747         Reviewed by Brent Fulgham.
6749         Add API test coverage.
6751         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
6752         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
6753         (-[DisableITPDuringNavigationDelegate webView:didCommitNavigation:]):
6754         (-[DisableITPDuringNavigationDelegate webView:didFinishNavigation:]):
6755         (TEST):
6756         * TestWebKitAPI/Tests/WebKitCocoa/notify-resourceLoadObserver.html: Added.
6758 2018-07-23  Daniel Bates  <dabates@apple.com>
6760         test-webkitpy should take configuration command line options
6761         https://bugs.webkit.org/show_bug.cgi?id=187872
6763         Reviewed by David Kilzer.
6765         Add --debug and --release optional command line options and teach the test bots to invoke test-webkitpy
6766         with the appropriate configuration. At the moment these options are only meaningful on Mac since they
6767         effect the configuration lldbWebKitTester is built with and we only build lldbWebKitTester on Mac.
6769         * BuildSlaveSupport/build.webkit.org-config/steps.py:
6770         (RunPythonTests): Pass the configuration to test-webkitpy. On Mac this will effect
6771         how lldbWebKitTester is built. All other ports do not make use of the specified configuration.
6772         * Scripts/webkitpy/test/main.py:
6773         (_build_lldb_webkit_tester): Modified to take the configuration to build lldbWebKitTester. If
6774         the specified configuration is None then we fall back to using the default configuration (as set
6775         by script set-webkit-configuration).
6776         (Tester._parse_args): Add command line options --debug and --release to build lldbWebKitTester
6777         with a Debug configuration and a Release configuration, respectively
6778         (Tester._run_tests): Pass the configuration to build lldbWebKitTester that we parsed from
6779         the command line options. It may be None if neither --debug nor --release were passed.
6781 2018-07-23  Commit Queue  <commit-queue@webkit.org>
6783         Unreviewed, rolling out r233030.
6784         https://bugs.webkit.org/show_bug.cgi?id=187904
6786         Broke tarball builds (Requested by mcatanzaro on #webkit).
6788         Reverted changeset:
6790         "run-gtk-tests (glib/common.py) cannot determine build
6791         directory when webKitBranchBuild=true"
6792         https://bugs.webkit.org/show_bug.cgi?id=185643
6793         https://trac.webkit.org/changeset/233030
6795 2018-07-21  Simon Fraser  <simon.fraser@apple.com>
6797         Fix lldb summarizers for HashMaps and HashSets
6798         https://bugs.webkit.org/show_bug.cgi?id=187883
6800         Reviewed by Dan Bates.
6801         
6802         HashMap and HashSet summarizers were broken in various ways.
6803         
6804         The 'type summary add -x' regexp needs to match at the start and end of the string
6805         to avoid finding types nested inside other templates.
6806         
6807         The HashTable synthetic child code incorrectly used the type of the key, rather than
6808         the value when synthesizing children.
6809         
6810         Add HashMap and HashSet summarizers.
6812         I tried to get synthetic children working directly for HashMap and HashSet, but was unable.
6814         * lldb/lldbWebKitTester/main.cpp:
6815         (testSummaryProviders):
6816         * lldb/lldb_webkit.py:
6817         (__lldb_init_module):
6818         (__lldb_init_module.lldb_webkit):
6819         (WTFHashMap_SummaryProvider):
6820         (WTFHashSet_SummaryProvider):
6821         (WebCoreColorProvider._to_string_extended):
6822         (WebCoreURLProvider.to_string):
6823         (WTFHashMapProvider):
6824         (WTFHashMapProvider.__init__):
6825         (WTFHashMapProvider.tableSize):
6826         (WTFHashMapProvider.keyCount):
6827         (WTFHashSetProvider):
6828         (WTFHashSetProvider.__init__):
6829         (WTFHashSetProvider.tableSize):
6830         (WTFHashSetProvider.keyCount):
6831         (WTFHashTableProvider.tableSize):
6832         (WTFHashTableProvider):
6833         (WTFHashTableProvider.keyCount):
6834         (WTFHashTableProvider.get_child_at_index):
6835         (WTFHashTableProvider.update):
6836         * lldb/lldb_webkit_unittest.py:
6837         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
6838         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
6839         (TestSummaryProviders):
6840         (TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
6841         (TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
6842         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
6844 2018-07-21  Simon Fraser  <simon.fraser@apple.com>
6846         Add lldb formatters for WebCore geometry types
6847         https://bugs.webkit.org/show_bug.cgi?id=187884
6849         Reviewed by Daniel Bates.
6850         
6851         Add lldb formatters for IntPoint, IntSize, IntRect, FloatPoint, FloatSize, FloatRect
6852         and LayoutRect.
6853         
6854         Testing is blocked by webkit.org/b/187872.
6856         * lldb/lldbWebKitTester/main.cpp:
6857         (testSummaryProviders):
6858         * lldb/lldb_webkit.py:
6859         (__lldb_init_module.lldb_webkit):
6860         (__lldb_init_module):
6861         (WebCoreLayoutRect_SummaryProvider):
6862         (WebCoreIntSize_SummaryProvider):
6863         (WebCoreIntPoint_SummaryProvider):
6864         (WebCoreFloatSize_SummaryProvider):
6865         (WebCoreFloatPoint_SummaryProvider):
6866         (WebCoreIntRect_SummaryProvider):
6867         (WebCoreFloatRect_SummaryProvider):
6868         (WebCoreLayoutRectProvider):
6869         (WebCoreLayoutRectProvider.__init__):
6870         (WebCoreLayoutRectProvider.get_x):
6871         (WebCoreLayoutRectProvider.get_y):
6872         (WebCoreLayoutRectProvider.get_width):
6873         (WebCoreLayoutRectProvider.get_height):
6874         (WebCoreIntPointProvider):
6875         (WebCoreIntPointProvider.__init__):
6876         (WebCoreIntPointProvider.get_x):
6877         (WebCoreIntPointProvider.get_y):
6878         (WebCoreIntSizeProvider):
6879         (WebCoreIntSizeProvider.__init__):
6880         (WebCoreIntSizeProvider.get_width):
6881         (WebCoreIntSizeProvider.get_height):
6882         (WebCoreIntRectProvider):
6883         (WebCoreIntRectProvider.__init__):
6884         (WebCoreIntRectProvider.get_x):
6885         (WebCoreIntRectProvider.get_y):
6886         (WebCoreIntRectProvider.get_width):
6887         (WebCoreIntRectProvider.get_height):
6888         (WebCoreFloatPointProvider):
6889         (WebCoreFloatPointProvider.__init__):
6890         (WebCoreFloatPointProvider.get_x):
6891         (WebCoreFloatPointProvider.get_y):
6892         (WebCoreFloatSizeProvider):
6893         (WebCoreFloatSizeProvider.__init__):
6894         (WebCoreFloatSizeProvider.get_width):
6895         (WebCoreFloatSizeProvider.get_height):
6896         (WebCoreFloatRectProvider):
6897         (WebCoreFloatRectProvider.__init__):
6898         (WebCoreFloatRectProvider.get_x):
6899         (WebCoreFloatRectProvider.get_y):
6900         (WebCoreFloatRectProvider.get_width):
6901         (WebCoreFloatRectProvider.get_height):
6903 2018-07-20  John Wilander  <wilander@apple.com>
6905         Resource Load Statistics: Enable basic functionality in experimental debug mode
6906         https://bugs.webkit.org/show_bug.cgi?id=187835
6907         <rdar://problem/42408590>
6909         Reviewed by Chris Dumez.
6911         This patch makes the experimental ITP Debug Mode feature work, at least
6912         to a basic level. All of the changes to TestRunner are to support the
6913         layout tests for the functionality.
6915         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6916         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
6917         (WTR::InjectedBundle::didReceiveMessageToPage):
6918         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6919         (WTR::TestRunner::setStatisticsDebugMode):
6920         (WTR::TestRunner::statisticsCallDidSetDebugModeCallback):
6921         (WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode):
6922         (WTR::TestRunner::statisticsCallDidSetPrevalentResourceForDebugModeCallback):
6923         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6924         * WebKitTestRunner/TestController.cpp:
6925         (WTR::TestController::setStatisticsDebugMode):
6926         (WTR::TestController::setStatisticsPrevalentResourceForDebugMode):
6927         * WebKitTestRunner/TestController.h:
6928         * WebKitTestRunner/TestInvocation.cpp:
6929         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
6930         (WTR::TestInvocation::didSetStatisticsDebugMode):
6931         (WTR::TestInvocation::didSetPrevalentResourceForDebugMode):
6932         * WebKitTestRunner/TestInvocation.h:
6934 2018-07-20  Ryosuke Niwa  <rniwa@apple.com>
6936         Picking a color from the color panel for typing attributes needs to inverse transform through color-filter
6937         https://bugs.webkit.org/show_bug.cgi?id=187846
6939         Reviewed by Simon Fraser.
6941         Fixed the bug that testRunner.execCommand was using the second argument as the value.
6943         The second argument, aShowDefaultUI, should always be ignored in testRunner.execCommand,
6944         and the third argument should be used as the value. DumpRenderTree's implementation does this already.
6946         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
6947         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
6948         (WTR::TestRunner::execCommand):
6949         * WebKitTestRunner/InjectedBundle/TestRunner.h:
6951 2018-07-20  Dean Jackson  <dino@apple.com>
6953         Accidentally checked in the wrong version of these files.
6955         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
6956         * lldb/lldbWebKitTester/main.cpp:
6957         (testSummaryProviders):
6958         * lldb/lldb_webkit_unittest.py:
6959         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
6960         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color): Deleted.
6961         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color): Deleted.
6962         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color): Deleted.
6963         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color): Deleted.
6964         (TestSummaryProviders.serial_test_WebCoreColorProvider_semantic_color): Deleted.
6966 2018-07-20  Dean Jackson  <dino@apple.com>
6968         Provide an lldb type summary for WebCore::Color
6969         https://bugs.webkit.org/show_bug.cgi?id=187776
6971         Reviewed by Dan Bates.
6973         This time without the tests because we don't want to build
6974         all of WebKit just for python tests.
6976         * lldb/lldb_webkit.py: Add a Color summary provider.
6977         (__lldb_init_module):
6978         (WebCoreColor_SummaryProvider):
6979         (WebCoreColorProvider):
6980         (WebCoreColorProvider.__init__):
6981         (WebCoreColorProvider._is_extended):
6982         (WebCoreColorProvider._is_valid):
6983         (WebCoreColorProvider._is_semantic):
6984         (WebCoreColorProvider._to_string_extended):
6985         (WebCoreColorProvider.to_string):
6987 2018-07-20  Brady Eidson  <beidson@apple.com>
6989         Add WKNavigation/WKNavigationAction related SPI.
6990         https://bugs.webkit.org/show_bug.cgi?id=187826
6992         Reviewed by Chris Dumez.
6994         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
6995         (-[NavigationActionHasNavigationDelegate webView:didFinishNavigation:]):
6996         (-[NavigationActionHasNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
6997         (TEST):
6999 2018-07-20  Commit Queue  <commit-queue@webkit.org>
7001         Unreviewed, rolling out r233943, r233988, r234004, and
7002         r234012.
7003         https://bugs.webkit.org/show_bug.cgi?id=187856
7005         webkitpy tests are failing to build lldbWebKitTester
7006         (Requested by ryanhaddad on #webkit).
7008         Reverted changesets:
7010         "Provide an lldb type summary for WebCore::Color"
7011         https://bugs.webkit.org/show_bug.cgi?id=187776
7012         https://trac.webkit.org/changeset/233943
7014         "Provide an lldb type summary for WebCore::Color"
7015         https://bugs.webkit.org/show_bug.cgi?id=187776
7016         https://trac.webkit.org/changeset/233988
7018         "Provide an lldb type summary for WebCore::Color"
7019         https://bugs.webkit.org/show_bug.cgi?id=187776
7020         https://trac.webkit.org/changeset/234004
7022         "Provide an lldb type summary for WebCore::Color"
7023         https://bugs.webkit.org/show_bug.cgi?id=187776
7024         https://trac.webkit.org/changeset/234012
7026 2018-07-20  Philippe Normand  <pnormand@igalia.com>
7028         [GTK][WPE] enable-media-capabilities websetting
7029         https://bugs.webkit.org/show_bug.cgi?id=187847
7031         Reviewed by Carlos Garcia Campos.
7033         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
7034         (testWebKitSettings): Unit test for the new enable-media-capabilities setting.
7036 2018-07-19  Carlos Garcia Campos  <cgarcia@igalia.com>
7038         [GLIB] jsc_context_evaluate_in_object() should receive an instance when a JSCClass is given
7039         https://bugs.webkit.org/show_bug.cgi?id=187798
7041         Reviewed by Michael Catanzaro.
7043         Update test cases to the new API and use a destroy function and vtable in the test case of calling
7044         jsc_context_evaluate_in_object() with a JSCClass.
7046         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7047         (testJSCEvaluateInObject):
7049 2018-07-19  Ross Kirsling  <ross.kirsling@sony.com>
7051         TestWTF.WTF.StringConcatenate_Unsigned fails for unsigned short on Windows
7052         https://bugs.webkit.org/show_bug.cgi?id=187712
7054         Reviewed by Fujii Hironori.
7056         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
7057         Mark result of unsigned short test case as platform-specific,
7058         since Windows' behavior is actually *less* surprising here.
7060 2018-07-19  Lucas Forschler  <lforschler@apple.com>
7062         Teach the AWS Lambda to use the [minified]-platforms database
7063         https://bugs.webkit.org/show_bug.cgi?id=187817
7064         
7065         Reviewed by David Kilzer.
7067         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py:
7068         (lambda_handler): Add support for the platforms.webkit.org database
7069         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py:
7070         (lambda_handler): Add support for the minified-platforms.webkit.org database
7072 2018-07-19  Dean Jackson  <dino@apple.com>
7074         Provide an lldb type summary for WebCore::Color
7075         https://bugs.webkit.org/show_bug.cgi?id=187776
7077         Dan Bates helped me with this attempted fix. Fingers crossed!
7079         * Scripts/build-lldbwebkittester:
7081 2018-07-19  Stephan Szabo  <stephan.szabo@sony.com>
7083         [WinCairo] Support DEVELOPER_MODE for allowing inspection of web inspector
7084         https://bugs.webkit.org/show_bug.cgi?id=187786
7086         Reviewed by Fujii Hironori.
7088         * Scripts/webkitdirs.pm:
7089         (generateBuildSystemFromCMakeProject): Turn on DEVELOPER_MODE
7090         for WinCairo builds.
7092 2018-07-19  Dean Jackson  <dino@apple.com>
7094         Provide an lldb type summary for WebCore::Color
7095         https://bugs.webkit.org/show_bug.cgi?id=187776
7097         Another attempted build fix for Debug.
7099         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
7100         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
7102 2018-07-19  Thomas Denney  <tdenney@apple.com>
7104         [WHLSL] The interpreter doesn't support boolean short-circuiting
7105         https://bugs.webkit.org/show_bug.cgi?id=187779
7107         Reviewed by Alex Christensen.
7109         * WebGPUShadingLanguageRI/Evaluator.js:
7110         (Evaluator.prototype.visitLogicalExpression): RHS is only evaluated when necessary
7111         * WebGPUShadingLanguageRI/Test.js:
7112         (tests.booleanShortcircuiting): Adds 4 tests for the evaluation of logical expresions
7114 2018-07-19  Dean Jackson  <dino@apple.com>
7116         Provide an lldb type summary for WebCore::Color
7117         https://bugs.webkit.org/show_bug.cgi?id=187776
7119         Attempted build fix.
7121         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
7123 2018-07-19  Brady Eidson  <beidson@apple.com>
7125         Add an SPI policy action to allow clients to explicitly ask for a new process on a navigation.
7126         https://bugs.webkit.org/show_bug.cgi?id=187789
7128         Reviewed by Andy Estes.
7130         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
7131         (-[PSONNavigationDelegate init]):
7132         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
7134 2018-07-19  Thibault Saunier  <tsaunier@igalia.com>
7136         [Flatpak] Let flatpak process handle SIGINT
7137         https://bugs.webkit.org/show_bug.cgi?id=187521
7139         Reviewed by Philippe Normand.
7141         Ensuring that flatpak process ends properly and that the sandbox is teard down.
7142         It also avoids showing usless backtrace to the end user and makes gdb
7143         much more usable.
7145         Also make flatpakutils not verbose by default
7147         * flatpak/flatpakutils.py:
7148         (disable_signals):
7149         (WebkitFlatpak.run_in_sandbox):
7150         (WebkitFlatpak.run_gdb):
7152 2018-07-18  Stephan Szabo  <stephan.szabo@sony.com>
7154         Unreviewed. Fix contributors entry.
7156         * Scripts/webkitpy/common/config/contributors.json:
7158 2018-07-18  Dean Jackson  <dino@apple.com>
7160         Provide an lldb type summary for WebCore::Color
7161         https://bugs.webkit.org/show_bug.cgi?id=187776
7163         Reviewed by Dan Bates.
7165         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Link against WebKit
7166             to get to WebCore.
7167         * lldb/lldbWebKitTester/main.cpp:
7168         (testSummaryProviders): Create some Color objects for testing.
7170         * lldb/lldb_webkit.py: Add a Color summary provider.
7171         (__lldb_init_module):
7172         (WebCoreColor_SummaryProvider):
7173         (WebCoreColorProvider):
7174         (WebCoreColorProvider.__init__):
7175         (WebCoreColorProvider._is_extended):
7176         (WebCoreColorProvider._is_valid):
7177         (WebCoreColorProvider._is_semantic):
7178         (WebCoreColorProvider._to_string_extended):
7179         (WebCoreColorProvider.to_string):
7181         * lldb/lldb_webkit_unittest.py: Tests.
7182         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
7183         (TestSummaryProviders):
7184         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color):
7185         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color):
7186         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color):
7187         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color):
7189 2018-07-18  Truitt Savell  <tsavell@apple.com>
7191         Unreviewed, rolling out r233934.
7193         Revision caused 5 webkitpy failures on Mac and broke webkitpy
7194         testing on iOS simulator
7196         Reverted changeset:
7198         "Provide an lldb type summary for WebCore::Color"
7199         https://bugs.webkit.org/show_bug.cgi?id=187776
7200         https://trac.webkit.org/changeset/233934
7202 2018-07-18  Chris Dumez  <cdumez@apple.com>
7204         REGRESSION (r233897): CrashTracer: com.apple.WebKit.WebContent.Development at com.apple.WebKit: WKBooleanGetValue + 9
7205         https://bugs.webkit.org/show_bug.cgi?id=187784
7206         <rdar://problem/42329230>
7208         Reviewed by Brady Eidson.
7210         When process swapping on navigation, WebPageProxy::reattachToWebProcess() unregisters the page as a MessageReceiver
7211         from the old WebProcessProxy and registers itself as a MessageReceiver for the new WebProcessProxy instead. This
7212         means that after this point, IPC sent by the previous WebProcess to its WebPageProxy will fail.
7214         When we process swap, we also navigate the page in the old WebProcess to about:blank, when the navigation to
7215         about:blank would complete, the WebKitTestRunner's injected bundle would try and send IPC to the WebPageProxy
7216         which would fail and would cause WKBundlePagePostSynchronousMessageForTesting() to return a null result. WKTR
7217         would crash when dereferencing this null result. This patch addresses this by dealing with the potential null
7218         result.
7220         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
7221         (WTR::InjectedBundle::shouldProcessWorkQueue const):
7223 2018-07-18  Dean Jackson  <dino@apple.com>
7225         Provide an lldb type summary for WebCore::Color
7226         https://bugs.webkit.org/show_bug.cgi?id=187776
7228         Reviewed by Dan Bates.
7230         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Link against WebKit
7231             to get to WebCore.
7232         * lldb/lldbWebKitTester/main.cpp:
7233         (testSummaryProviders): Create some Color objects for testing.
7235         * lldb/lldb_webkit.py: Add a Color summary provider.
7236         (__lldb_init_module):
7237         (WebCoreColor_SummaryProvider):
7238         (WebCoreColorProvider):
7239         (WebCoreColorProvider.__init__):
7240         (WebCoreColorProvider._is_extended):
7241         (WebCoreColorProvider._is_valid):
7242         (WebCoreColorProvider._is_semantic):
7243         (WebCoreColorProvider._to_string_extended):
7244         (WebCoreColorProvider.to_string):
7246         * lldb/lldb_webkit_unittest.py: Tests.
7247         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
7248         (TestSummaryProviders):
7249         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color):
7250         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color):
7251         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color):
7252         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color):
7254 2018-07-18  Stephan Szabo  <stephan.szabo@sony.com>
7256         Adding myself to contributors.json
7258         Unreviewed contributors.json change.
7260         * Scripts/webkitpy/common/config/contributors.json:
7262 2018-07-18  Jer Noble  <jer.noble@apple.com>
7264         -_beginAnimatedResizeWithUpdates: can leave view in bad state if called during an existing animation
7265         https://bugs.webkit.org/show_bug.cgi?id=187739
7266         <rdar://problem/42304518>
7268         Reviewed by Tim Horton.
7270         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
7271         (TEST):
7273 2018-07-18  Jer Noble  <jer.noble@apple.com>
7275         PiP from Element Fullscreen should match AVKit's behavior
7276         https://bugs.webkit.org/show_bug.cgi?id=187623
7277         <rdar://problem/41212379>
7279         Reviewed by Jon Lee.
7281         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7282         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html: Added.
7283         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm: Added.
7284         (-[ExitFullscreenOnEnterPiPUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
7285         (-[ExitFullscreenOnEnterPiPUIDelegate _webViewDidEnterFullscreen:]):
7286         (-[ExitFullscreenOnEnterPiPUIDelegate _webViewDidExitFullscreen:]):
7287         (TestWebKitAPI::TEST):
7289 2018-07-18  Aakash Jain  <aakash_jain@apple.com>
7291         [ews-build] Add build step to run layout-test
7292         https://bugs.webkit.org/show_bug.cgi?id=187674
7294         Reviewed by Lucas Forschler.
7296         * BuildSlaveSupport/ews-build/steps.py:
7297         (RunWebKitTests): Added build step to run layout-tests. This is similar to current EWS.
7298         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
7299         * BuildSlaveSupport/ews-build/factories.py: Added build-step to run layout-test in iOSSimulatorFactory.
7301 2018-07-18  Wenson Hsieh  <wenson_hsieh@apple.com>
7303         Add SPI to defer running async script until after document load
7304         https://bugs.webkit.org/show_bug.cgi?id=187748
7305         <rdar://problem/42317378>
7307         Reviewed by Ryosuke Niwa and Tim Horton.
7309         Add an API test to verify that when the deferred async script configuration is set, async scripts will be
7310         executed after the DOMContentLoaded event.
7312         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7313         * TestWebKitAPI/Tests/WebKitCocoa/RunScriptAfterDocumentLoad.mm: Added.
7314         (TEST):
7316 2018-07-18  Charlie Turner  <cturner@igalia.com>
7318         [WPE] Update WPEBackend in flatpak
7319         https://bugs.webkit.org/show_bug.cgi?id=187753
7321         r233763 updated WPEBackend for the jhbuild, but not the flatpak. This
7322         caused WPE_BACKEND_CHECK_VERSION to not be defined, triggering a bug
7323         in the version guard,
7325         #if defined(WPE_BACKEND_CHECK_VERSION) && WPE_BACKEND_CHECK_VERSION(0, 2, 0)
7327         This doesn't work as intended, since the C preprocessor first expands
7328         all macro arguments in the #if expression before evaluating the
7329         expression. When WPE_BACKEND_CHECK_VERSION is not defined, this will
7330         lead to a syntax error and some head scratching.
7332         A future patch should address the buggy macro check, when it is
7333         decided whether the assume the macro is always defined and bump
7334         the API requirements on WPEBackend, or to move the check into two
7335         conditionals to avoid the expansion problem.
7337         Unreviewed build fix.
7338         
7339         * flatpak/org.webkit.WPE.yaml:
7341 2018-07-18  Simon Fraser  <simon.fraser@apple.com>
7343         Fix the parsing of colors in attributed string tests, and make it possible to dump the typing attributes
7344         https://bugs.webkit.org/show_bug.cgi?id=187747
7346         Reviewed by Ryosuke Niwa.
7347         
7348         Add textInputController.attributedStringForTyping(), which returns a one-character
7349         attributed string whose attributes are the typing attributes, making it possible to
7350         test -[WebView typingAttributes].
7351         
7352         Sadly WebCore's convertObjcValueToValue() doesn't know how to convert NSDictionary,
7353         so we can't return -typingAttributes directly.
7355         * DumpRenderTree/mac/TextInputControllerMac.m:
7356         (+[TextInputController isSelectorExcludedFromWebScript:]):
7357         (-[TextInputController attributedStringForTyping]):
7359 2018-07-18  Carlos Garcia Campos  <cgarcia@igalia.com>
7361         [GLIB] Add jsc_context_check_syntax() to GLib API
7362         https://bugs.webkit.org/show_bug.cgi?id=187694
7364         Reviewed by Yusuke Suzuki.
7366         Add a new test case.
7368         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7369         (testJSCCheckSyntax):
7370         (main):
7372 2018-07-17  Sihui Liu  <sihui_liu@apple.com>
7374         REGRESSION: [macOS Sierra] TestWebKitAPI.WebKit.WebsiteDataStoreCustomPaths is a flaky failure
7375         https://bugs.webkit.org/show_bug.cgi?id=187066
7376         <rdar://problem/41609065>
7378         Reviewed by Chris Dumez.
7380         In r232668 we started to do reload if web process crashes by default. As we killed the web 
7381         process explicitly in this test, if web page got reloaded, messages would be sent again, 
7382         and flag set in message handler could keep the test continue to evaluate the expectation 
7383         without waiting for removeDataOfTypes to finish.
7385         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
7386         (-[WebsiteDataStoreCustomPathsMessageHandler webViewWebContentProcessDidTerminate:]):
7387         (TEST):
7389 2018-07-17  Chris Dumez  <cdumez@apple.com>
7391         Turn on PSON in WebKitTestRunner
7392         https://bugs.webkit.org/show_bug.cgi?id=186542
7394         Reviewed by Brady Eidson.
7396         Turn on PSON by default in WebKitTestRunner.
7398         * WebKitTestRunner/TestOptions.h:
7400 2018-07-17  Wenson Hsieh  <wenson_hsieh@apple.com>
7402         Add an SPI hook to allow clients to yield document parsing and script execution
7403         https://bugs.webkit.org/show_bug.cgi?id=187682
7404         <rdar://problem/42207453>
7406         Reviewed by Ryosuke Niwa.
7408         Add a few tests to exercise the new document yield token SPI, verifying that clients can use the SPI to defer
7409         document load, and that doing so doesn't cause deferred `script` to execute in the wrong order (i.e. before
7410         synchronous script, or after "DOMContentLoaded").
7412         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7413         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm: Added.
7414         (-[ParserYieldTokenPlugIn takeDocumentParserTokenAfterCommittingLoad]):
7415         (-[ParserYieldTokenPlugIn releaseDocumentParserToken]):
7416         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
7417         (-[ParserYieldTokenPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
7418         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didFinishDocumentLoadForFrame:]):
7419         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
7421         Add an injected bundle object that knows how to take and release multiple document parser yield tokens.
7423         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenTests.h: Added.
7424         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenTests.mm: Added.
7425         (+[ParserYieldTokenTestWebView webView]):
7426         (-[ParserYieldTokenTestWebView bundle]):
7427         (-[ParserYieldTokenTestWebView schemeHandler]):
7428         (-[ParserYieldTokenTestWebView didFinishDocumentLoad]):
7429         (-[ParserYieldTokenTestWebView didFinishLoad]):
7430         (waitForDelay):
7431         (TEST):
7432         * TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.h: Added.
7433         * TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.mm: Added.
7434         (-[TestURLSchemeHandler webView:startURLSchemeTask:]):
7435         (-[TestURLSchemeHandler webView:stopURLSchemeTask:]):
7436         (-[TestURLSchemeHandler setStartURLSchemeTaskHandler:]):
7437         (-[TestURLSchemeHandler startURLSchemeTaskHandler]):
7438         (-[TestURLSchemeHandler setStopURLSchemeTaskHandler:]):
7439         (-[TestURLSchemeHandler stopURLSchemeTaskHandler]):
7441         Add a new test helper class to handle custom schemes via a block-based API.
7443         * TestWebKitAPI/Tests/WebKitCocoa/text-with-async-script.html: Added.
7445         New test HTML page that contains a deferred script element, a synchronous script element, another deferred
7446         script element, and then some text, images, and links.
7448         * TestWebKitAPI/Tests/WebKitCocoa/text-with-deferred-script.html: Added.
7450 2018-07-17  Truitt Savell  <tsavell@apple.com>
7452         Adding myself to Contributors.json
7454         Unreviewed
7456         * Scripts/webkitpy/common/config/contributors.json:
7458 2018-07-17  Aditya Keerthi  <akeerthi@apple.com>
7460         [macOS] TestWebKitAPI.PictureInPicture.WKUIDelegate is timing out
7461         https://bugs.webkit.org/show_bug.cgi?id=187730
7463         Reviewed by Jer Noble.
7465         This regression was introduced by r233865. PIP can now only be initiated from a
7466         window that is on screen.
7468         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
7469         (TestWebKitAPI::TEST):
7471 2018-07-17  John Wilander  <wilander@apple.com>
7473         Add completion handlers to TestRunner functions setStatisticsLastSeen(), setStatisticsPrevalentResource(), setStatisticsVeryPrevalentResource(), setStatisticsHasHadUserInteraction(), and setStatisticsHasHadNonRecentUserInteraction()
7474         https://bugs.webkit.org/show_bug.cgi?id=187710
7475         <rdar://problem/42252757>
7477         Reviewed by Chris Dumez.
7479         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
7480         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
7481         (WTR::InjectedBundle::didReceiveMessageToPage):
7482         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
7483         (WTR::TestRunner::setStatisticsLastSeen):
7484         (WTR::TestRunner::statisticsCallDidSetLastSeenCallback):
7485         (WTR::TestRunner::setStatisticsPrevalentResource):
7486         (WTR::TestRunner::statisticsCallDidSetPrevalentResourceCallback):
7487         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
7488         (WTR::TestRunner::statisticsCallDidSetVeryPrevalentResourceCallback):
7489         (WTR::TestRunner::setStatisticsHasHadUserInteraction):
7490         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
7491         (WTR::TestRunner::statisticsCallDidSetHasHadUserInteractionCallback):
7492         * WebKitTestRunner/InjectedBundle/TestRunner.h:
7493         * WebKitTestRunner/TestController.cpp:
7494         (WTR::TestController::setStatisticsLastSeen):
7495         (WTR::TestController::setStatisticsPrevalentResource):
7496         (WTR::TestController::setStatisticsVeryPrevalentResource):
7497         (WTR::TestController::setStatisticsHasHadUserInteraction):
7498         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
7499         * WebKitTestRunner/TestInvocation.cpp:
7500         (WTR::TestInvocation::didSetLastSeen):
7501         (WTR::TestInvocation::didSetPrevalentResource):
7502         (WTR::TestInvocation::didSetVeryPrevalentResource):
7503         (WTR::TestInvocation::didSetHasHadUserInteraction):
7504         (WTR::TestInvocation::didSetHasHadNonRecentUserInteraction):
7505         * WebKitTestRunner/TestInvocation.h:
7507 2018-07-16  Jeremy Jones  <jeremyj@apple.com>
7509         Fix API Test failures introduced by r233865
7510         https://bugs.webkit.org/show_bug.cgi?id=187720
7512         Unreviewed APITest fix after r233865.
7514         Fullscreen can now only be initiated from a window that is on screen.
7516         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
7517         (TestWebKitAPI::TEST):
7518         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenTopContentInset.mm:
7519         (TestWebKitAPI::TEST):
7521 2018-07-11  Dean Jackson  <dino@apple.com>
7523         Allow removal of white backgrounds
7524         https://bugs.webkit.org/show_bug.cgi?id=187574
7525         <rdar://problem/41146792>
7527         Reviewed by Simon Fraser.
7529         Add a new menu item for punching out white backgrounds in MiniBrowser.
7530         In WebKitTestRunner, expose the new setting and hook that up to
7531         drawing a background in the WebView.
7533         * MiniBrowser/mac/AppDelegate.m:
7534         (defaultConfiguration): Add _punchOutWhiteBackgroundsInDarkMode.
7536         * MiniBrowser/mac/SettingsController.h: Ditto.
7537         * MiniBrowser/mac/SettingsController.m:
7538         (-[SettingsController _populateMenu]):
7539         (-[SettingsController validateMenuItem:]):
7540         (-[SettingsController togglePunchOutWhiteBackgroundsInDarkMode:]):
7541         (-[SettingsController punchOutWhiteBackgroundsInDarkMode]):
7543         * MiniBrowser/mac/WK1BrowserWindowController.m:
7544         (-[WK1BrowserWindowController didChangeSettings]): Set the new preference.
7546         * WebKitTestRunner/PlatformWebView.h: Expose a drawsBackground property.
7547         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp: Null implementation.
7548         (WTR::PlatformWebView::drawsBackground const):
7549         (WTR::PlatformWebView::setDrawsBackground):
7550         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: Ditto.
7551         (WTR::PlatformWebView::drawsBackground const):
7552         (WTR::PlatformWebView::setDrawsBackground):
7553         * WebKitTestRunner/ios/PlatformWebViewIOS.mm: Call into the WKWebView and
7554         set its SPI.
7555         (WTR::PlatformWebView::drawsBackground const):
7556         (WTR::PlatformWebView::setDrawsBackground):
7557         * WebKitTestRunner/mac/PlatformWebViewMac.mm: Ditto.
7558         (WTR::PlatformWebView::drawsBackground const):
7559         (WTR::PlatformWebView::setDrawsBackground):
7561         * WebKitTestRunner/TestController.cpp: Reset and copy the new preference.
7562         (WTR::TestController::resetPreferencesToConsistentValues):
7563         (WTR::updateTestOptionsFromTestHeader):
7564         * WebKitTestRunner/TestOptions.h:
7565         (WTR::TestOptions::hasSameInitializationOptions const):
7567         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
7568         (WTR::TestController::platformCreateWebView): If the option for punching
7569         out the background was set, tell the WebView to not draw its background.
7571 2018-07-16  Aditya Keerthi  <akeerthi@apple.com>
7573         [Datalist][macOS] Add suggestions UI for TextFieldInputTypes
7574         https://bugs.webkit.org/show_bug.cgi?id=186531
7576         Reviewed by Tim Horton.
7578         Added isShowingDatalistSuggestions testing hook in order to enable testing of the
7579         visibility of the suggestions view.
7581         * DumpRenderTree/mac/UIScriptControllerMac.mm:
7582         (WTR::UIScriptController::isShowingDataListSuggestions const):
7583         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
7584         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
7585         (WTR::UIScriptController::isShowingDataListSuggestions const):
7586         * TestRunnerShared/UIScriptContext/UIScriptController.h:
7587         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
7588         (WTR::UIScriptController::isShowingDataListSuggestions const):
7590 2018-07-16  Yusuke Suzuki  <utatane.tea@gmail.com>
7592         Add --target-path option to dump-class-layout
7593         https://bugs.webkit.org/show_bug.cgi?id=187687
7595         Reviewed by Simon Fraser.
7597         We add an escape hatch to dump-class-layout for specifying target path directly.
7598         This `--target-path` allows us to use dump-class-layout in the other ports
7599         like JSCOnly.
7601         We can dump class layout if we build the target with clang by using the following command.
7603         Tools/Scripts/dump-class-layout \
7604             --architecture=x86_64 \
7605             --target-path=path/to/libJavaScriptCore.so \
7606             JavaScriptCore \
7607             ScopeNode
7609         * Scripts/dump-class-layout:
7610         (main):
7612 2018-07-16  Sihui Liu  <sihui_liu@apple.com>
7614         IndexedDB: closeAndDeleteDatabasesForOrigins should remove all databases for those origins
7615         https://bugs.webkit.org/show_bug.cgi?id=187631
7616         <rdar://problem/42164227>
7618         Reviewed by Brady Eidson.
7620         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
7621         (TEST):
7623 2018-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>
7625         [GLIB] Add API to evaluate code using a given object to store global symbols
7626         https://bugs.webkit.org/show_bug.cgi?id=187639
7628         Reviewed by Michael Catanzaro.
7630         Add a new test case.
7632         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7633         (testJSCEvaluateInObject):
7634         (testJSCExceptions):
7635         (main):
7637 2018-07-15  Zan Dobersek  <zdobersek@igalia.com>
7639         [webkitpy] run-web-platform-tests should allow specifying custom WPT metadata directories
7640         https://bugs.webkit.org/show_bug.cgi?id=187353
7642         Reviewed by Youenn Fablet.
7644         When using run-web-platform-tests, allow specifying custom WPT metadata
7645         directory. This will avoid generating such metadata-filled directory
7646         from the port-specific JSON expectations file, and instead will search
7647         for the metadata files and the include manifest inside the specified
7648         directory. The MANIFEST.json file will also be generated under there.
7650         Rationale for this change is prototyping using custom metadata
7651         directories and avoiding generating all this content from a JSON file.
7652         Using this by default in the future would avoid sporradic changes in how
7653         WPT handles metadata .ini files and releases us from the obligation of
7654         adjusting the generator for every such change. This would also allow
7655         managing this metadata content in a separate repository, avoiding
7656         polluting the main webkit.org repository with thousands of .ini files.
7658         If this turns out to be the preferable way of managing the metadata
7659         content, the JSON files under WebPlatformTests/ and the related code in
7660         wpt_runner.py would be removed.
7662         * Scripts/webkitpy/w3c/wpt_runner.py:
7663         (parse_args):
7664         (WPTRunner._wpt_run_paths):
7665         (WPTRunner.run):
7666         * Scripts/webkitpy/w3c/wpt_runner_unittest.py:
7667         (WPTRunnerTest.test_run_with_specified_options):
7669 2018-07-13  Ross Kirsling  <ross.kirsling@sony.com>
7671         [WinCairo] run-api-tests is timing out for almost all test cases
7672         https://bugs.webkit.org/show_bug.cgi?id=187547
7674         Reviewed by Fujii Hironori.
7676         * Scripts/webkitpy/port/server_process.py:
7677         (ServerProcess._wait_for_data_and_update_buffers_using_win32_apis):
7678         Still attempt to read from stdout/stderr even if the process has exited, as long as it's before the deadline.
7680         * Scripts/webkitpy/port/server_process_unittest.py:
7681         (TestServerProcess.test_read_after_process_exits):
7682         Add test case.
7684 2018-07-13  Ryan Haddad  <ryanhaddad@apple.com>
7686         Add TestExpectations and baselines for iOS 12
7687         https://bugs.webkit.org/show_bug.cgi?id=187628
7689         Reviewed by Alexey Proskuryakov.
7691         * Scripts/webkitpy/port/ios.py:
7692         (IOSPort): Bump current version to 12.
7694 2018-07-13  Ryan Haddad  <ryanhaddad@apple.com>
7696         Add TestExpectations and baselines for Mojave.
7697         https://bugs.webkit.org/show_bug.cgi?id=187620
7699         Reviewed by Alexey Proskuryakov.
7701         * Scripts/webkitpy/port/mac.py:
7702         (MacPort): Bump current version to 10.14.
7704 2018-07-13  Timothy Hatcher  <timothy@apple.com>
7706         Add _drawsBackground to WKWebViewConfiguration.
7707         https://bugs.webkit.org/show_bug.cgi?id=187665
7708         rdar://problem/42182268
7710         Reviewed by Tim Horton.
7712         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
7713         (TestWebKitAPI.WebKit.ConfigurationDrawsBackground): Added.
7715 2018-07-13  Chris Dumez  <cdumez@apple.com>
7717         Add a FrameLoaderClient willInjectUserScriptForFrame callback
7718         https://bugs.webkit.org/show_bug.cgi?id=187565
7719         <rdar://problem/42095701>
7721         Unreviewed WKTR fix after r233782.
7723         * WebKitTestRunner/TestInvocation.cpp:
7724         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
7726 2018-07-13  Chris Dumez  <cdumez@apple.com>
7728         Reduce size of WebCore::URL
7729         https://bugs.webkit.org/show_bug.cgi?id=186820
7730         <rdar://problem/42087508>
7732         Unreviewed, re-generates Service worker registrations database used by API tests after r233789.
7734         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7735         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3: Removed.
7736         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3-shm: Removed.
7737         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-2.sqlite3-wal.
7738         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
7739         (TEST):
7741 2018-07-12  Wenson Hsieh  <wenson_hsieh@apple.com>
7743         Make it easier to hit the significant rendered text layout milestone on pages with main article elements
7744         https://bugs.webkit.org/show_bug.cgi?id=187578
7745         <rdar://problem/42104637>
7747         Reviewed by Ryosuke Niwa.
7749         Tweak an existing layout test to additionally check that the significant text layout milestone is fired on a
7750         page with an article element that is clearly the "main" content on the page (i.e. much taller than all other
7751         articles).
7753         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7754         * TestWebKitAPI/Tests/WebKitCocoa/significant-text-milestone-article.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/significant-text-milestone.html.
7755         * TestWebKitAPI/Tests/WebKitCocoa/significant-text-milestone.html:
7756         * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
7757         (TEST):
7759 2018-07-12  Fujii Hironori  <Hironori.Fujii@sony.com>
7761         Change my status to be a WebKit reviewer.
7763         Unreviewed status update.
7765         * Scripts/webkitpy/common/config/contributors.json:
7767 2018-07-12  Fujii Hironori  <Hironori.Fujii@sony.com>
7769         Unreviewed contributors.json update
7771         Just run "validate-committer-lists -c" to canonicalize the style.
7773         * Scripts/webkitpy/common/config/contributors.json:
7775 2018-07-12  Alex Christensen  <achristensen@webkit.org>
7777         Reduce size of WebCore::URL
7778         https://bugs.webkit.org/show_bug.cgi?id=186820
7780         Reviewed by Yusuke Suzuki and Youenn Fablet.
7782         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
7783         (TestWebKitAPI::TEST_F):
7785 2018-07-12  Brady Eidson  <beidson@apple.com>
7787         Make process-swap-on-navigation an experimental feature.
7788         <rdar://problem/41995053> and https://bugs.webkit.org/show_bug.cgi?id=187558
7790         Reviewed by Chris Dumez.
7792         Make sure WKTR doesn't enable ProcessSwapOnNavigation by default simply because it's an experimental feature.
7794         * WebKitTestRunner/TestController.cpp:
7795         (WTR::TestController::createWebViewWithOptions):
7796         (WTR::TestController::resetPreferencesToConsistentValues):
7798         * WebKitTestRunner/TestOptions.h:
7799         (WTR::TestOptions::shouldEnableProcessSwapOnNavigation const):
7801 2018-07-12  Youenn Fablet  <youenn@apple.com>
7803         Add a FrameLoaderClient willInjectUserScriptForFrame callback
7804         https://bugs.webkit.org/show_bug.cgi?id=187565
7806         Reviewed by Alex Christensen.
7808         Added new test runner API to check for willInjectUserScriptForFrame callback.
7810         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
7811         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
7812         (WTR::InjectedBundle::resetUserScriptInjectedCount):
7813         (WTR::InjectedBundle::increaseUserScriptInjectedCount):
7814         (WTR::InjectedBundle::userScriptInjectedCount const):
7815         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
7816         (WTR::InjectedBundlePage::InjectedBundlePage):
7817         (WTR::InjectedBundlePage::resetAfterTest):
7818         (WTR::InjectedBundlePage::willInjectUserScriptForFrame):
7819         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
7820         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
7821         (WTR::TestRunner::userScriptInjectedCount const):
7822         (WTR::TestRunner::injectUserScript):
7823         * WebKitTestRunner/InjectedBundle/TestRunner.h:
7824         * WebKitTestRunner/TestController.cpp:
7825         (WTR::TestController::injectUserScript):
7826         * WebKitTestRunner/TestController.h:
7827         * WebKitTestRunner/TestInvocation.cpp:
7828         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
7829         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
7830         (WTR::TestController::injectUserScript):
7832 2018-07-12  Sihui Liu  <sihui_liu@apple.com>
7834         IndexedDB: database file of subframe cannot be removed
7835         https://bugs.webkit.org/show_bug.cgi?id=187564
7837         Reviewed by Youenn Fablet.
7839         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
7840         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
7841         (TEST):
7843 2018-07-12  Timothy Hatcher  <timothy@apple.com>
7845         Make WebKit.LinkColorWithSystemAppearance work across system versions.
7846         https://bugs.webkit.org/show_bug.cgi?id=187573
7848         Reviewed by Wenson Hsieh.
7850         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
7851         (TestWebKitAPI.WebKit.LinkColorWithSystemAppearance): Dynamically generate the expected string.
7853 2018-07-11  Carlos Garcia Campos  <cgarcia@igalia.com>
7855         [WPE] Pass the backend library name as command line parameter to the web process
7856         https://bugs.webkit.org/show_bug.cgi?id=186841
7858         Reviewed by Å½an DoberÅ¡ek.
7860         * MiniBrowser/wpe/main.cpp:
7861         (main): Stop using WPE_BACKEND_LIBRARY env var.
7862         * Scripts/run-wpe-tests:
7863         (WPETestRunner.__init__): Ditto.
7864         * Scripts/webkitpy/port/wpe.py:
7865         (WPEPort.setup_environ_for_server): Ditto.
7866         * wpe/backends/ViewBackend.cpp:
7867         (WPEToolingBackends::ViewBackend::ViewBackend): Call wpe_loader_init() to ensure WPEBackend-fdo is used.
7868         * wpe/jhbuild.modules: Upgrade WPEBackend to version 0.2.0.
7870 2018-07-11  Carlos Garcia Campos  <cgarcia@igalia.com>
7872         [GLIB] Add API to allow creating variadic functions
7873         https://bugs.webkit.org/show_bug.cgi?id=187517
7875         Reviewed by Michael Catanzaro.
7877         Add test cases.
7879         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7880         (testJSCFunction):
7881         (fooCreateWithFooV):
7882         (multiplyFooV):
7884 2018-07-11  Carlos Garcia Campos  <cgarcia@igalia.com>
7886         [GLIB] Add jsc_context_get_global_object() to GLib API
7887         https://bugs.webkit.org/show_bug.cgi?id=187515
7889         Reviewed by Michael Catanzaro.
7891         Add test cases.
7893         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7894         (testJSCGlobalObject):
7895         (main):
7897 2018-07-11  Carlos Garcia Campos  <cgarcia@igalia.com>
7899         [GLIB] Handle G_TYPE_STRV in glib API
7900         https://bugs.webkit.org/show_bug.cgi?id=187512
7902         Reviewed by Michael Catanzaro.
7904         Add test cases.
7906         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
7907         (testJSCTypes):
7908         (joinFunction):
7909         (testJSCFunction):
7911 2018-07-11  Aakash Jain  <aakash_jain@apple.com>
7913         [ews-build] EWS should unapply patch and re-run jsc tests when patch fails jsc tests
7914         https://bugs.webkit.org/show_bug.cgi?id=187549
7916         Reviewed by Alexey Proskuryakov.
7918         * BuildSlaveSupport/ews-build/factories.py:
7919         (JSCTestsFactory.__init__):
7920         * BuildSlaveSupport/ews-build/steps.py:
7921         (CompileJSCOnlyToT): Build ToT without patch.
7922         (CompileJSCOnlyToT.doStepIf): Run this step only if patch failed to build.
7923         (RunJavaScriptCoreTests.evaluateCommand): Set patchFailedJSCTests property appropriately.
7924         (ReRunJavaScriptCoreTests): Re-runs JSC tests.
7925         (ReRunJavaScriptCoreTests.doStepIf): Run this step only if patch failed JSC tests.
7926         (ReRunJavaScriptCoreTests.evaluateCommand): Set patchFailedJSCTests property appropriately.
7927         (RunJavaScriptCoreTestsToT): Run JSC tests on ToT without patch.
7928         (RunJavaScriptCoreTestsToT.doStepIf): Run this step only if patch failed JSC tests.
7929         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
7931 2018-07-11  Commit Queue  <commit-queue@webkit.org>
7933         Unreviewed, rolling out r233742.
7934         https://bugs.webkit.org/show_bug.cgi?id=187577
7936         Binary incompatible change with respect to Service Worker
7937         registration map (Requested by dydz on #webkit).
7939         Reverted changeset:
7941         "Reduce size of WebCore::URL"
7942         https://bugs.webkit.org/show_bug.cgi?id=186820
7943         https://trac.webkit.org/changeset/233742
7945 2018-07-11  Aditya Keerthi  <akeerthi@apple.com>
7947         REGRESSION (231276): Attempting to copy an image fails
7948         https://bugs.webkit.org/show_bug.cgi?id=187212
7950         Reviewed by Ryosuke Niwa.
7951         <rdar://problem/41540074>
7953         Augmented test to include a URL where the lastPathComponent looks similar to a
7954         file URL.
7956         * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.html:
7957         * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
7958         (TestWebKitAPI::TEST):
7960 2018-07-11  Alex Christensen  <achristensen@webkit.org>
7962         Add SPI for immediate injection of user scripts
7963         https://bugs.webkit.org/show_bug.cgi?id=173342
7964         <rdar://problem/29202285>
7966         Reviewed by Brady Eidson, Youenn Fablet, and Geoff Garen.
7968         * TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
7969         (waitForMessage):
7970         (TEST):
7972 2018-07-11  Myles C. Maxfield  <mmaxfield@apple.com>
7974         Move WHLSL spec work to the W3C GPUWeb GitHub repository
7976         See https://github.com/gpuweb/WHLSL
7978         * WebGPUShadingLanguageRI/SpecWork/Makefile: Removed.
7979         * WebGPUShadingLanguageRI/SpecWork/WSL.g4: Removed.
7980         * WebGPUShadingLanguageRI/SpecWork/WSL.ott: Removed.
7981         * WebGPUShadingLanguageRI/SpecWork/source/conf.py: Removed.
7982         * WebGPUShadingLanguageRI/SpecWork/source/index.rst: Removed.
7984 2018-07-11  Dean Jackson  <dino@apple.com>
7986         Force WKTR to use the light appearance
7987         https://bugs.webkit.org/show_bug.cgi?id=187572
7988         <rdar://problem/42097805>
7990         Reviewed by Simon Fraser.
7992         Set the NSAppearance on the NSWindow to light mode.
7994         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
7995         (WTR::PlatformWebView::PlatformWebView): Use the Aqua appearance.
7997 2018-07-11  Alex Christensen  <achristensen@webkit.org>
7999         Reduce size of WebCore::URL
8000         https://bugs.webkit.org/show_bug.cgi?id=186820
8002         Reviewed by Yusuke Suzuki.
8004         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
8005         (TestWebKitAPI::TEST_F):
8007 2018-07-11  Youenn Fablet  <youenn@apple.com>
8009         Fix remaining Cross-Origin-Resource-Policy failures, if any
8010         https://bugs.webkit.org/show_bug.cgi?id=186761
8011         <rdar://problem/41209829>
8013         Reviewed by Alex Christensen.
8015         * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
8016         (TestWebKitAPI::TEST):
8018  2018-07-11  Aakash Jain  <aakash_jain@apple.com>
8020         [ews-build] EWS should unapply the patch and build ToT when patch fails to build
8021         https://bugs.webkit.org/show_bug.cgi?id=187358
8023         Reviewed by Alexey Proskuryakov.
8025         * BuildSlaveSupport/ews-build/factories.py:
8026         (BuildFactory.__init__):
8027         * BuildSlaveSupport/ews-build/steps.py:
8028         (CompileWebKit): Set haltOnFailure to false so as to run next steps (e.g.: un-apply patch, compile ToT).
8029         (CompileWebKit.evaluateCommand): Set patchFailedToBuild property.
8030         (CompileWebKitToT): Build ToT without patch.
8031         (CompileWebKitToT.doStepIf): Run this step only if patch failed to build.
8032         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. Also lower-cased Release and Debug.
8034 2018-07-11  Robin Morisset  <rmorisset@apple.com>
8036         [WSL] WIP, more of the spec
8037         https://bugs.webkit.org/show_bug.cgi?id=186310
8039         Rubberstamped by Filip Pizlo.
8041         Fixed a few issues with the formal rules (such as adding the restrictions on pointers for compilation to SpirV),
8042         and started writing some of the english in the spec.
8044         * WebGPUShadingLanguageRI/SpecWork/WSL.ott:
8045         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
8047 2018-07-10  Aakash Jain  <aakash_jain@apple.com>
8049         [ews-build] Add build step to UnApply patch
8050         https://bugs.webkit.org/show_bug.cgi?id=187357
8052         Reviewed by Alexey Proskuryakov.
8054         * BuildSlaveSupport/ews-build/steps.py:
8055         (UnApplyPatchIfRequired.__init__): Pass alwaysUseLatest parameter in order to unapply the patch.
8056         (UnApplyPatchIfRequired.doStepIf): Run this step only if patch failed to build or failed test. These
8057         properties will be set by build-steps for build and test.
8058         (UnApplyPatchIfRequired.hideStepIf): Hide this step if it is not run.
8060 2018-07-10  Dewei Zhu  <dewei_zhu@apple.com>
8062         Update ARES-6.patch file accordingly for r233631.
8063         https://bugs.webkit.org/show_bug.cgi?id=187534
8065         Reviewed by Saam Barati.
8067         Update ARES-6.patch file acoordingly after ARES-6 plan file change to
8068         avoid warning while applying the patch.
8070         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/ARES-6.patch:
8072 2018-07-10  Tim Horton  <timothy_horton@apple.com>
8074         doAfterNextPresentationUpdate should not be called while content is hidden due to animated resize
8075         https://bugs.webkit.org/show_bug.cgi?id=187500
8076         <rdar://problem/41294139>
8078         Reviewed by Simon Fraser.
8080         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
8081         (-[AnimatedResizeWebView _endAnimatedResize]):
8082         Set didEndAnimatedResize before calling super, because it makes the
8083         new test easier and doesn't affect any of the existing ones.
8085         (AnimatedResizeBlocksViewportFitChanges):
8086         This doAfterNextPresentationUpdate is always called during animated resize,
8087         and then synchronously waited for, so it /must/ use
8088         _doAfterNextPresentationUpdateWithoutWaitingForAnimatedResizeWithTesting.
8089         
8090         (AnimatedResizeBlocksDoAfterNextPresentationUpdate):
8091         Add a test ensuring that doAfterNextPresentationUpdate is deferred
8092         until endAnimatedResize is called.
8094         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
8095         (-[WKWebView _test_waitForDidFinishNavigation]):
8096         _test_waitForDidFinishNavigation is sometimes called during animated resize,
8097         and synchronously waits for a doAfterNextPresentationUpdate, so
8098         it cannot wait for the animated resize to complete.
8100 2018-07-10  Fujii Hironori  <Hironori.Fujii@sony.com>
8102         [GTK][WPE] TestWTF and TestJSC fail to compile due to missing forwarding headers
8103         https://bugs.webkit.org/show_bug.cgi?id=184441
8105         Reviewed by Michael Catanzaro.
8107         All executables of TestWebKitAPI need the forwarding headers of
8108         WebCore and PAL because config.h includes
8109         <WebCore/PlatformExportMacros.h> and <pal/ExportMacros.h>.
8111         The forwarding headers of WebCore are generated by
8112         generate-forwarding-headers.pl in GTK and WPE ports. The
8113         forwarding headers of PAL are generated by
8114         WEBKIT_MAKE_FORWARDING_HEADERS in all CMake ports.
8116         * TestWebKitAPI/PlatformGTK.cmake: Added PALForwardingHeaders to
8117         ForwardingHeadersForTestWebKitAPI_NAME. Added dependencies of
8118         ${ForwardingHeadersForTestWebKitAPI_NAME} to TestJSC.
8119         * TestWebKitAPI/PlatformWPE.cmake: Ditto.
8121 2018-07-10  Stephan Szabo  <stephan.szabo@sony.com>
8123         [WinCairo] Support display of webinspector ui on non-legacy minibrowser
8124         https://bugs.webkit.org/show_bug.cgi?id=187415
8126         Reviewed by Brian Burg.
8128         * MiniBrowser/win/WebKitBrowserWindow.cpp:
8129         (WebKitBrowserWindow::WebKitBrowserWindow):
8131 2018-07-10  John Wilander  <wilander@apple.com>
8133         Resource Load Statistics: Make testRunner.statisticsResetToConsistentState() take a completion handler
8134         https://bugs.webkit.org/show_bug.cgi?id=187499
8135         <rdar://problem/41999431>
8137         Reviewed by Chris Dumez.
8139         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
8140         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
8141         (WTR::InjectedBundle::didReceiveMessageToPage):
8142         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
8143         (WTR::TestRunner::statisticsResetToConsistentState):
8144         (WTR::TestRunner::statisticsCallDidResetToConsistentStateCallback):
8145         * WebKitTestRunner/InjectedBundle/TestRunner.h:
8146         * WebKitTestRunner/TestController.cpp:
8147         (WTR::TestController::statisticsResetToConsistentState):
8148         * WebKitTestRunner/TestInvocation.cpp:
8149         (WTR::TestInvocation::didResetStatisticsToConsistentState):
8150         * WebKitTestRunner/TestInvocation.h:
8152 2018-07-10  Ryosuke Niwa  <rniwa@webkit.org>
8154         Disable cross-origin-window-policy by default
8155         https://bugs.webkit.org/show_bug.cgi?id=187509
8157         Reviewed by Chris Dumez.
8159         Enable the feature for testing purposes. DumpRenderTree does this already in enableExperimentalFeatures.
8161         * WebKitTestRunner/TestController.cpp:
8162         (WTR::TestController::resetPreferencesToConsistentValues):
8164 2018-07-10  Thibault Saunier  <tsaunier@igalia.com>
8166         [Flatpak] Feature options to build-webkit and --makeargs are not passed inside the sandbox
8167         https://bugs.webkit.org/show_bug.cgi?id=187470
8169         Reviewed by Philippe Normand.
8171         Never force building, the user is responsible to make that decision and the workflow is
8172         now based on external scripts so it doesn't make sense anymore. Doing that leads
8173         to ignoring the options the user passed in.
8175         * flatpak/flatpakutils.py:
8176         (WebkitFlatpak.setup_dev_env):
8178 2018-07-10  Thibault Saunier  <tsaunier@igalia.com>
8180         [Flatpak] Fix running wpt tests inside flatpak
8181         https://bugs.webkit.org/show_bug.cgi?id=187490
8183         Reviewed by Philippe Normand.
8185         Still not *all* passing but a big majority do.
8187         * Scripts/webkitpy/w3c/wpt_runner.py:
8188         (main): Generate the /etc/hosts and mount it in flatpak as required.
8189         (WPTRunner.prepare_wpt_checkout): Renamed as we need to first checkout WPT code before generating /etc/hosts.
8190         (WPTRunner._prepare_wpt_checkout): Deleted.
8191         * flatpak/flatpakutils.py: Added a stdout= argument to run_in_sandbox() and
8192         added a way to pass extra env to flatpak itself (so we can mount /etc/hosts).
8193         Stopped passing `--device=all` as it is not required since r233638 (Bug 187400).
8194         * flatpak/org.webkit.WebKit.yaml: Added virtualenv for python2 as required by wpt.
8196 2018-07-10  Thibault Saunier  <tsaunier@igalia.com>
8198         [Flatpak] Use logging to print debug information
8199         https://bugs.webkit.org/show_bug.cgi?id=187496
8201         Reviewed by Philippe Normand.
8203         * flatpak/flatpakutils.py:
8204         (WebkitFlatpak.load_from_args):
8205         (WebkitFlatpak.clean_args):
8206         (WebkitFlatpak.run_in_sandbox):
8208 2018-07-09  Timothy Hatcher  <timothy@apple.com>
8210         Semantic colors don't update when accessibility Increase Contrast mode is enabled.
8211         https://bugs.webkit.org/show_bug.cgi?id=187425
8212         rdar://problem/39948240
8213         rdar://problem/41796865
8215         Reviewed by Tim Horton.
8217         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
8218         (TestWebKitAPI.WebKit.LinkColorWithSystemAppearance): Use new color value.
8220 2018-07-09  Simon Fraser  <simon.fraser@apple.com>
8222         Fix dump-class-layout to show bit padding, and fix issues with padding offsets
8223         https://bugs.webkit.org/show_bug.cgi?id=187442
8225         Reviewed by Daniel Bates.
8226         
8227         Synthetic padding members were shown with the wrong offset because they used the
8228         absolute offset rather than the class-relative offset. This didn't change the padding
8229         math, but made the output confusing.
8230         
8231         Also add support for showing empty bits in bitfields, and fix computation of padding
8232         after bitfields. Empty bits are computed by inserting a bit padding member after
8233         a bitfield that is not followed by another bitfield (making the assumption that bit
8234         padding will fill to the next byte boundary).
8235         
8236         The computation of padding after bitfields was also wrong, since lldb's member_type.GetByteSize()
8237         just reports the size of the type without the bitfield modifier (e.g. for "unsigned : 2" it returned 4).
8238         Fix by setting the byte size for bitfield fields to the number of bits rounded up to the next byte;
8239         this allows byte padding following the bitfield to be computed correctly.
8240         
8241         Add or modify test to cover these issues.
8243         * lldb/dump_class_layout_unittest.py:
8244         (serial_test_ClassWithPaddedBitfields):
8245         (serial_test_MemberHasBitfieldPadding):
8246         (serial_test_InheritsFromClassWithPaddedBitfields):
8247         * lldb/lldbWebKitTester/DumpClassLayoutTesting.cpp:
8248         (avoidClassDeadStripping):
8249         * lldb/lldb_dump_class_layout.py:
8250         (ClassLayoutBase):
8251         (ClassLayoutBase._to_string_recursive):
8252         (ClassLayout._parse):
8253         (ClassLayout._compute_padding_recursive):
8255 2018-07-09  Youenn Fablet  <youenn@apple.com>
8257         StringView operator==(char*) should check the length of the string
8258         https://bugs.webkit.org/show_bug.cgi?id=187422
8260         Reviewed by Chris Dumez.
8262         * TestWebKitAPI/Tests/WTF/StringView.cpp:
8263         (TestWebKitAPI::equal2):
8264         (TestWebKitAPI::TEST):
8266 2018-07-09  Ross Kirsling  <rkirsling@gmail.com>
8268         [WinCairo] httpd service install needs to precede server start
8269         https://bugs.webkit.org/show_bug.cgi?id=187283
8271         Reviewed by Daniel Bates.
8273         * Scripts/webkitpy/port/base.py:
8274         (Port.check_build):
8275         Remove unused parameter `needs_http`.
8276         
8277         (Port.check_sys_deps):
8278         (Port.start_http_server):
8279         Move `check_httpd` call.
8281         * Scripts/webkitpy/port/win.py:
8282         (WinPort.check_httpd): Added.
8283         (WinCairoPort.check_httpd): Deleted.
8284         Move `httpd -k install` logic to common Windows location.
8286         * Scripts/webkitpy/layout_tests/controllers/manager.py:
8287         (Manager._set_up_run):
8288         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
8289         * Scripts/webkitpy/port/gtk.py:
8290         (GtkPort.check_sys_deps):
8291         * Scripts/webkitpy/port/ios_simulator.py:
8292         (IOSSimulatorPort.check_sys_deps):
8293         * Scripts/webkitpy/port/mock_drt.py:
8294         (MockDRTPort.check_build):
8295         (MockDRTPort.check_sys_deps):
8296         * Scripts/webkitpy/port/port_testcase.py:
8297         (PortTestCase.integration_test_check_sys_deps):
8298         (test_check_build):
8299         * Scripts/webkitpy/port/test.py:
8300         * Scripts/webkitpy/port/wpe.py:
8301         (WPEPort.check_sys_deps):
8302         * Scripts/webkitpy/tool/commands/perfalizer.py:
8303         (PerfalizerTask.run):
8304         Remove `needs_http` arguments.
8306 2018-07-09  Philippe Normand  <pnormand@igalia.com>
8308         [Flatpak] Unreviewed, switch to https for the gst-libav tarball.
8309         
8310         * flatpak/org.webkit.WebKit.yaml:
8312 2018-07-09  Thibault Saunier  <tsaunier@igalia.com>
8314         [Flatpak] HTTP layout tests broken due to missing CGI.pm in the sandbox
8315         https://bugs.webkit.org/show_bug.cgi?id=187384
8317         Reviewed by Philippe Normand.
8319         And make it usable inside the sandbox even when
8320         perl is launched "tainted" (as the PERL5LIB won't
8321         work otherwise).
8323         * flatpak/flatpakutils.py:
8324         (WebkitFlatpak.run_in_sandbox):
8325         * flatpak/org.webkit.WebKit.yaml:
8327 2018-07-09  Thibault Saunier  <tsaunier@igalia.com>
8329         [WPE][GTK] Mount /dev/shm on /run/shm in sandbox
8330         https://bugs.webkit.org/show_bug.cgi?id=187400
8332         Reviewed by Philippe Normand.
8334         This is where it is expected to be when it is a symlink,
8335         without mounting it the websocket python server can't work
8336         inside the sandbox.
8338         * flatpak/flatpakutils.py:
8339         (WebkitFlatpak.run_in_sandbox):
8341 2018-07-08  Filip Pizlo  <fpizlo@apple.com>
8343         run-benchmark should run ARES-6 1.0.1
8344         https://bugs.webkit.org/show_bug.cgi?id=187452
8346         Reviewed by Sam Weinig.
8347         
8348         We forgot to update this when we released 1.0.1!
8350         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
8352 2018-07-07  Youenn Fablet  <youenn@apple.com>
8354         WPT importer should create dummy HTML files for *.window.js script files
8355         https://bugs.webkit.org/show_bug.cgi?id=187426
8357         Reviewed by Ryosuke Niwa.
8359         Some WPT tests use *.window.js tests, which should be accessed as *.window.html.
8360         Do the same strategy as done for worker.js/any.js files.
8362         * Scripts/webkitpy/w3c/test_importer.py:
8363         (TestImporter.write_html_files_for_templated_js_tests):
8365 2018-07-07  Wenson Hsieh  <wenson_hsieh@apple.com>
8367         Introduce a layout milestone to track when the document contains a large number of rendered characters
8368         https://bugs.webkit.org/show_bug.cgi?id=187412
8369         <rdar://problem/41744338>
8371         Reviewed by Ryosuke Niwa.
8373         Add a new API test to check that we observe the new rendering milestone in an article-like document.
8375         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8376         * TestWebKitAPI/Tests/WebKitCocoa/significant-text-milestone.html: Added.
8377         * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
8378         (TEST):
8380 2018-06-30  Simon Fraser  <simon.fraser@apple.com>
8382         dump-class-layout reports wrong padding in many cases
8383         https://bugs.webkit.org/show_bug.cgi?id=185801
8385         Reviewed by Dan Bates.
8386         
8387         Enhance dump-class-layout, fixing bugs and adding unit tests. This also includes
8388         the patch from bug 187141.
8389         
8390         Move the code that uses lldb to fetch the class layout to its own module,
8391         lldb_dump_class_layout.py, so it can be unit tested. Change this code
8392         to build up a data structure for the class. This is necessary since correct
8393         padding computation is easier with second traversal over the data structure.
8394         
8395         Try to deal with the empty base class optimization, which is necessary to report
8396         correct padding in classes using std::unique_ptr, and correctly handle virtual base classes.
8397         
8398         The ClassLayoutBase class knows how to test for equality and generate a string
8399         or string list representation of itself. The derived ClassLayout class knows
8400         how to build up the class layout using the lldb Python bindings.
8401         
8402         Finally we wrap the lldb debugger instance in LLDBDebuggerInstance so that we don't
8403         have to make a new one for each unit test. The tests have to run serially.
8404         
8405         Add to lldbWebKitTester a .cpp file that contains a set of C++ classes to unit-test
8406         dump-class-layout.
8408         * Scripts/dump-class-layout:
8409         (main):
8410         * lldb/dump_class_layout_unittest.py:
8411         (destroy_cached_debug_session):
8412         (TestDumpClassLayout):
8413         (TestDumpClassLayout.setUpClass):
8414         (TestDumpClassLayout.setUp):
8415         (TestDumpClassLayout.serial_test_BasicClassLayout):
8416         (serial_test_PaddingBetweenClassMembers):
8417         (serial_test_BoolPaddingClass):
8418         (serial_test_ClassWithEmptyClassMembers):
8419         (serial_test_SimpleVirtualClass):
8420         (serial_test_SimpleVirtualClassWithNonVirtualBase):
8421         (serial_test_InterleavedVirtualNonVirtual):
8422         (serial_test_ClassWithTwoVirtualBaseClasses):
8423         (serial_test_ClassWithClassMembers):
8424         (serial_test_ClassWithBitfields):
8425         (serial_test_ClassWithUniquePtrs):
8426         (serial_test_ClassWithOptionals):
8427         (TestDumpClassLayout.test_BasicClassLayout): Deleted.
8428         * lldb/lldbWebKitTester/DumpClassLayoutTesting.cpp:
8429         (EmptyClass::doStuff):
8430         (VirtualBaseClass::~VirtualBaseClass):
8431         (VirtualBaseClass2::~VirtualBaseClass2):
8432         (SimpleVirtualClass::~SimpleVirtualClass):
8433         (SimpleVirtualClass::doStuff):
8434         (SimpleVirtualClassWithNonVirtualBase::~SimpleVirtualClassWithNonVirtualBase):
8435         (SimpleVirtualClassWithNonVirtualBase::doStuff):
8436         (avoidClassDeadStripping):
8437         * lldb/lldb_dump_class_layout.py:
8438         (ansi_colors):
8439         (ClassLayoutBase):
8440         (ClassLayoutBase.__init__):
8441         (ClassLayoutBase.__ne__):
8442         (ClassLayoutBase.__eq__):
8443         (ClassLayoutBase._to_string_recursive):
8444         (ClassLayoutBase.as_string_list):
8445         (ClassLayoutBase.as_string):
8446         (ClassLayoutBase.dump):
8447         (ClassLayoutExpected):
8448         (ClassLayoutExpected.__init__):
8449         (ClassLayout):
8450         (ClassLayout.__init__):
8451         (ClassLayout._has_polymorphic_base_class):
8452         (ClassLayout._parse):
8453         (ClassLayout._probably_has_empty_base_class_optimization):
8454         (ClassLayout._compute_padding_recursive):
8455         (ClassLayout._compute_padding):
8456         (LLDBDebuggerInstance):
8457         (LLDBDebuggerInstance.__init__):
8458         (LLDBDebuggerInstance.__del__):
8459         (LLDBDebuggerInstance._get_first_file_architecture):
8460         (LLDBDebuggerInstance.layout_for_classname):
8461         (ClassLayoutDumper): Deleted.
8462         (ClassLayoutDumper.__init__): Deleted.
8463         (ClassLayoutDumper._get_first_file_architecture): Deleted.
8464         (ClassLayoutDumper.verify_type): Deleted.
8465         (ClassLayoutDumper.verify_type_recursive): Deleted.
8466         (ClassLayoutDumper._class_layout_as_string): Deleted.
8467         (ClassLayoutDumper.dump_to_string): Deleted.
8468         (ClassLayoutDumper.dump): Deleted.
8470 2018-07-06  Christopher Reid  <chris.reid@sony.com>
8472         [WinCairo] WebKit MiniBrowser crashes when attempting to navigate to certain URLs
8473         https://bugs.webkit.org/show_bug.cgi?id=187167
8475         Reviewed by Alex Christensen.
8477         A null byte was written past the end of the buffer causing the crash.
8478         Some of the heap allocated buffers were also not getting deleted.
8480         * MiniBrowser/win/WebKitBrowserWindow.cpp:
8482 2018-07-06  Thibault Saunier  <tsaunier@igalia.com>
8484         [WPE][GTK] Build php zlib plugin and enable sockets in flatpak
8485         https://bugs.webkit.org/show_bug.cgi?id=187401
8487         Reviewed by Philippe Normand.
8489         * flatpak/org.webkit.WebKit.yaml:
8491 2018-07-06  Aakash Jain  <aakash_jain@apple.com>
8493         [ews-build] EWS should run javascriptcore tests
8494         https://bugs.webkit.org/show_bug.cgi?id=187365
8496         Reviewed by David Kilzer.
8498         * BuildSlaveSupport/ews-build/steps.py: Added step to run JavaScriptCoreTests.
8499         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
8500         * BuildSlaveSupport/ews-build/factories.py:
8502 2018-07-06  Carlos Garcia Campos  <cgarcia@igalia.com>
8504         [GTK][WPE] REGRESSION(r233111): Test /webkit/WebKitUserContentManager/script-message-received fails
8505         https://bugs.webkit.org/show_bug.cgi?id=187383
8507         Reviewed by Å½an DoberÅ¡ek.
8509         This is actually a problem in the test itself. The problem is that we run js, connect to message-received and
8510         quite the main loop when the message is received, which happens before the run js operation has been
8511         completed. The test finishes early and since r233111 an IPC message is still pending (I guess the run js
8512         callback) and the web page is still protected. Just adding a run loop operation before finishing the test would
8513         fix it. We should wait for the js run to complete, instead of the message.
8515         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
8516         (UserScriptMessageTest::scriptMessageReceived):
8517         (UserScriptMessageTest::waitUntilMessageReceived):
8518         (UserScriptMessageTest::runJavaScriptFinished):
8519         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
8521 2018-07-05  Youenn Fablet  <youenn@apple.com>
8523         REGRESSION (r230843): Flash doesn't work; Produces blue box on page
8524         https://bugs.webkit.org/show_bug.cgi?id=187346
8525         <rdar://problem/41773974>
8527         Reviewed by Ryosuke Niwa.
8529         * WebKitTestRunner/TestController.cpp:
8530         (WTR::TestController::resetStateToConsistentValues):
8531         (WTR::TestController::setBlockAllPlugins):
8532         When not blocked, set the load policy to allow once.
8533         * WebKitTestRunner/TestController.h:
8535 2018-07-05  Aakash Jain  <aakash_jain@apple.com>
8537         [ews-build] Bindings-tests-EWS should output result in json
8538         https://bugs.webkit.org/show_bug.cgi?id=187330
8540         Reviewed by David Kilzer.
8542         * BuildSlaveSupport/ews-build/steps.py:
8543         (RunBindingsTests):  Passed --json-output parameter to run-bindings-tests.
8544         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
8546 2018-07-05  Aakash Jain  <aakash_jain@apple.com>
8548         [ews-build] WebKitPy-Tests-EWS should output result in json
8549         https://bugs.webkit.org/show_bug.cgi?id=187331
8551         Follow-up fix to r233527. Extracting jsonFileName as a variable and re-using it.
8553 2018-07-05  Aakash Jain  <aakash_jain@apple.com>
8555         [ews-build] WebKitPy-Tests-EWS should output result in json
8556         https://bugs.webkit.org/show_bug.cgi?id=187331
8558         Reviewed by David Kilzer.
8560         * BuildSlaveSupport/ews-build/steps.py:
8561         (RunWebKitPyTests): Passed --json-output parameter to test-webkitpy.
8562         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
8564 2018-07-05  Philippe Normand  <pnormand@igalia.com>
8566         [Flatpak] Add gst-libav to dependencies
8567         https://bugs.webkit.org/show_bug.cgi?id=187340
8569         Reviewed by Å½an DoberÅ¡ek.
8571         * flatpak/org.webkit.WebKit.yaml: Use tarballs instead of git
8572         clones because the FFMPeg git server doesn't support shallow
8573         clones.
8575 2018-07-05  Thibault Saunier  <tsaunier@igalia.com>
8577         [WPE][GTK]: Call gtk platform 'gtk' by default as this is what PortFactory expects
8578         https://bugs.webkit.org/show_bug.cgi?id=187322
8580         Reviewed by Å½an DoberÅ¡ek.
8582         * flatpak/flatpakutils.py:
8583         (WebkitFlatpak.__init__):
8585 2018-07-05  Zan Dobersek  <zdobersek@igalia.com>
8587         Unreviewed, rolling out r233511.
8589         Proper fix provided in bug #187322
8591         Reverted changeset:
8593         "Unreviewed. Fixing a call in flatpakutils.py to
8594         PortFactory.get(),"
8595         https://trac.webkit.org/changeset/233511
8597 2018-07-04  Zan Dobersek  <zdobersek@igalia.com>
8599         Unreviewed. Fixing a call in flatpakutils.py to PortFactory.get(),
8600         enforcing the passed platform argument to always be lowercase, as is
8601         expected from the PortFactory code.
8603         * flatpak/flatpakutils.py:
8604         (WebkitFlatpak.clean_args):
8606 2018-07-04  Tim Horton  <timothy_horton@apple.com>
8608         Introduce PLATFORM(IOSMAC)
8609         https://bugs.webkit.org/show_bug.cgi?id=187315
8611         Reviewed by Dan Bernstein.
8613         * TestWebKitAPI/Configurations/Base.xcconfig:
8614         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
8616 2018-07-03  Brady Eidson  <beidson@apple.com>
8618         WebKit.ResponsivenessTimerCrash sometimes fails.
8619         https://bugs.webkit.org/show_bug.cgi?id=187314
8621         Reviewed by Tim Horton.
8623         Actually unregister observers from objects we're about to destroy before destroying them.
8625         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
8626         (-[ResponsivenessTimerObserver observeValueForKeyPath:ofObject:change:context:]): 
8628 2018-07-03  Fujii Hironori  <Hironori.Fujii@sony.com>
8630         update-webkitgtk-flatpak fails if running with python2
8631         https://bugs.webkit.org/show_bug.cgi?id=187240
8633         Reviewed by Michael Catanzaro.
8635         urllib.urlretrieve of Python2 sends invalid requests. Use
8636         urllib2.urlopen instead.
8638         * flatpak/flatpakutils.py: Import urllib2.urlopen for Python2,
8639         urllib.request.urlopen for Python3.
8640         (FlatpakRepo.repo_file): Copy the content of urlopen result to the
8641         temporary file.
8643 2018-07-03  Chris Dumez  <cdumez@apple.com>
8645         Make CallbackMap::invalidate() safe to re-enter
8646         https://bugs.webkit.org/show_bug.cgi?id=187298
8647         <rdar://problem/41057167>
8649         Reviewed by Geoffrey Garen.
8651         Add API test coverage.
8653         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
8654         (TEST):
8656 2018-07-03  Chris Dumez  <cdumez@apple.com>
8658         [Cocoa] Disable vnode guard related simulated crashes for WKTR / DRT and WebSQL
8659         https://bugs.webkit.org/show_bug.cgi?id=187270
8660         <rdar://problem/40674034>
8662         Reviewed by Geoffrey Garen.
8664         Disable vnode guard related simulated crashes for WKTR / DRT by setting the
8665         expected environment variable in the test driver.
8667         * Scripts/webkitpy/port/driver.py:
8668         (Driver._setup_environ_for_driver):
8670 2018-07-03  Eric Carlson  <eric.carlson@apple.com>
8672         Video sometimes flickers when playing to AppleTV
8673         https://bugs.webkit.org/show_bug.cgi?id=187193
8674         <rdar://problem/40153865>
8676         Unreviewed, fix test broken by r233435.
8678         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
8679         (TestWebKitAPI::waitUntilAudioSessionCategoryIsEqualTo): Poll for a change in audio session 
8680         category because it doesn't necessarily happen synchronously.
8681         (TestWebKitAPI::TEST):
8683 2018-07-03  Thibault Saunier  <tsaunier@igalia.com>
8685         Unreviewed, add myself as a WebKit committer.
8687         And canonicalize the file as suggested by `check-webkit-style`
8689         * Scripts/webkitpy/common/config/contributors.json:
8691 2018-07-03  Basuke Suzuki  <Basuke.Suzuki@sony.com>
8693         check-webkit-style: Run the tool without SVN client.
8694         https://bugs.webkit.org/show_bug.cgi?id=187294
8696         Reviewed by Daniel Bates.
8698         When invoking check-webkit-style without SVN client, the exception was raised and terminated.
8699         Using Git repository is acceptable workflow according to the wording on:
8700         <https://webkit.org/getting-the-code/#checking-out-with-git>
8701         and using Subversion is considered optional by following link:
8702         <https://webkit.org/webkit-on-windows/#installing-developer-tools>.
8703         This patch makes it so that people with only a Git checkout of WebKit that commit using
8704         the commit-queue (or another machine with an SVN checkout) can run check-webkit-style.
8706         * Scripts/webkitpy/common/checkout/scm/svn.py:
8707         (SVN.in_working_directory):
8709 2018-07-03  Aakash Jain  <aakash_jain@apple.com>
8711         Remove old JSCTestsFactory
8713         Follow-up fix to r233471.
8715 2018-07-03  Aakash Jain  <aakash_jain@apple.com>
8717         [ews-build] Add support for JSC-Tests-EWS
8718         https://bugs.webkit.org/show_bug.cgi?id=187201
8720         Reviewed by Lucas Forschler.
8722         * BuildSlaveSupport/ews-build/factories.py:
8723         (JSCTestsFactory): Added JSCTestsFactory.
8724         * BuildSlaveSupport/ews-build/steps.py:
8725         (CompileJSCOnly): Command to compile JSC.
8726         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
8727         * BuildSlaveSupport/ews-build/config.json: Changed platform to jsc-only. This matches with build.webkit.org configuration.
8729 2018-07-03  Zalan Bujtas  <zalan@apple.com>
8731         [LFC] Add test-list file for regression testing
8732         https://bugs.webkit.org/show_bug.cgi?id=187296
8734         Reviewed by Antti Koivisto.
8736         run-webkit-tests --test-list=./Tools/LayoutReloaded/misc/LFC-passing-tests.txt
8738         * LayoutReloaded/misc/LFC-passing-tests.txt: Added.
8740 2018-07-03  John Wilander  <wilander@apple.com>
8742         Resource Load Statistics: Make WebsiteDataStore::getAllStorageAccessEntries() call the right network process instead of iterating over the process pools
8743         https://bugs.webkit.org/show_bug.cgi?id=187277
8744         <rdar://problem/41745510>
8746         Reviewed by Chris Dumez.
8748         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
8749         (WTR::TestController::getAllStorageAccessEntries):
8751 2018-07-02  Wenson Hsieh  <wenson_hsieh@apple.com>
8753         Fix a leak in ActionSheetTests.DismissingActionSheetShouldNotDismissPresentingViewController
8754         https://bugs.webkit.org/show_bug.cgi?id=187280
8756         Reviewed by Tim Horton.
8758         Add a missing `adoptNS()`.
8760         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
8761         (TestWebKitAPI::TEST):
8763 2018-07-02  Myles C. Maxfield  <mmaxfield@apple.com>
8765         [Cocoa] Google Fonts doesn't work if the user has the requested font locally-installed
8766         https://bugs.webkit.org/show_bug.cgi?id=187228
8767         <rdar://problem/40967280>
8769         Reviewed by Brent Fulgham.
8771         The test only fails before the patch if the lookup for Helvetica2 is allowed to occur.
8773         * WebKitTestRunner/mac/TestControllerMac.mm:
8774         (WTR::allowedFontFamilySet):
8776 2018-07-02  Ryosuke Niwa  <rniwa@webkit.org>
8778         run-benchmark should include the version number of MotionMark's results
8779         https://bugs.webkit.org/show_bug.cgi?id=187274
8781         Reviewed by Jon Lee.
8783         Append the version number as a part of the suite name.
8785         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/MotionMark.patch:
8787 2018-07-02  Wenson Hsieh  <wenson_hsieh@apple.com>
8789         [WK1] editing/spelling/markers.html is failing on recent builds of macOS Mojave
8790         https://bugs.webkit.org/show_bug.cgi?id=187253
8792         Reviewed by Tim Horton.
8794         Enhances and refactors LayoutTestSpellChecker, which was introduced in r233412.
8796         * DumpRenderTree/TestRunner.cpp:
8797         (setSpellCheckerResultsCallback):
8799         Rename setSpellCheckerTextReplacements to setSpellCheckerResults.
8801         (TestRunner::staticFunctions):
8802         (setSpellCheckerTextReplacementsCallback): Deleted.
8803         * DumpRenderTree/TestRunner.h:
8804         * DumpRenderTree/mac/TestRunnerMac.mm:
8805         (TestRunner::setSpellCheckerResults):
8806         (TestRunner::setSpellCheckerTextReplacements): Deleted.
8807         * DumpRenderTree/win/TestRunnerWin.cpp:
8808         (TestRunner::setSpellCheckerResults):
8809         (TestRunner::setSpellCheckerTextReplacements): Deleted.
8810         * TestRunnerShared/cocoa/LayoutTestSpellChecker.h:
8811         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
8812         (-[LayoutTestTextCheckingResult initWithType:range:replacement:details:]):
8813         (-[LayoutTestTextCheckingResult grammarDetails]):
8814         (-[LayoutTestSpellChecker reset]):
8815         (-[LayoutTestSpellChecker results]):
8816         (-[LayoutTestSpellChecker setResults:]):
8817         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]):
8819         Add support for passing in a list of grammar correction detail ranges. Necessary for simulating grammar errors.
8821         (-[LayoutTestSpellChecker checkString:range:types:options:inSpellDocumentWithTag:orthography:wordCount:]):
8823         Tweaked to always call the superclass method. This ensures that we set the `orthography` and `wordCount`
8824         outpointers if applicable.
8826         (-[LayoutTestSpellChecker requestCheckingOfString:range:types:options:inSpellDocumentWithTag:completionHandler:]):
8828         Added support for simulating asynchronous spell checking.
8830         (-[LayoutTestTextCheckingResult initWithType:range:replacement:]): Deleted.
8831         (-[LayoutTestSpellChecker replacements]): Deleted.
8832         (-[LayoutTestSpellChecker setReplacements:]): Deleted.
8833         (-[LayoutTestSpellChecker setReplacementsFromJSObject:inContext:]): Deleted.
8835 2018-07-02  Brady Eidson  <beidson@apple.com>
8837         Another unreviewed followup to:
8838         Crash notifying observers of responsiveness state change
8840         * TestWebKitAPI/cocoa/TestWKWebView.h:
8841         * TestWebKitAPI/cocoa/TestWKWebView.mm:
8842         (-[TestWKWebView typeCharacter:]): Move this back to the Mac-only category, as we won't be running this
8843           test on iOS for other reasons.
8845 2018-07-02  Brady Eidson  <beidson@apple.com>
8847         Unreviewed followup to:
8848         Crash notifying observers of responsiveness state change
8850         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm: Need the C-SPI for this test.
8852 2018-07-02  Brady Eidson  <beidson@apple.com>
8854         Crash notifying observers of responsiveness state change
8855         <rdar://problem/41267796> and https://bugs.webkit.org/show_bug.cgi?id=187262
8857         Reviewed by Tim Horton.
8859         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
8860         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm: Added.
8861         (-[RTObserver observeValueForKeyPath:ofObject:change:context:]):
8862         (TestWebKitAPI::TEST):
8863         * TestWebKitAPI/cocoa/TestWKWebView.h:
8864         * TestWebKitAPI/cocoa/TestWKWebView.mm:
8865         (-[TestWKWebView typeCharacter:]):
8866         (-[TestWKWebView hostWindow]):
8868 2018-07-02  Michael Catanzaro  <mcatanzaro@igalia.com>
8870         [WPE][GTK] flatpakutils.py should respect set-webkit-configuration build type
8871         https://bugs.webkit.org/show_bug.cgi?id=187218
8873         Reviewed by Philippe Normand.
8875         Using the webkitpy Config module, if the build type is not passed on the command line, we
8876         read it from WebKitBuild/Configuration and respect it.
8878         * flatpak/flatpakutils.py:
8879         (WebkitFlatpak.__init__):
8880         (WebkitFlatpak.clean_args):
8882 2018-07-02  Zan Dobersek  <zdobersek@igalia.com>
8884         [WPE] Add touch support to WindowViewBackend
8885         https://bugs.webkit.org/show_bug.cgi?id=187245
8887         Reviewed by Carlos Garcia Campos.
8889         Add touch input support to the WindowViewBackend implementation,
8890         plugging into the Wayland protocol in order to get properly notified
8891         about these events, and then dispatching them against the appropriate
8892         wpe_view_backend object so that WebKit can process them.
8894         * wpe/backends/ViewBackend.cpp:
8895         (WPEToolingBackends::ViewBackend::dispatchInputTouchEvent):
8896         * wpe/backends/ViewBackend.h:
8897         * wpe/backends/WindowViewBackend.cpp:
8898         * wpe/backends/WindowViewBackend.h:
8900 2018-07-02  Rob Buis  <rbuis@igalia.com>
8902         [GTK] ASSERTION FAILED: url == m_string in UserAgentQuirks test
8903         https://bugs.webkit.org/show_bug.cgi?id=186838
8905         This URL constructor expects canonicalized input, so fix the passed URL. I missed
8906         this one some weeks ago since I had an older checkout.
8908         Reviewed by Michael Catanzaro.
8910         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
8911         (TestWebKitAPI::TEST):
8913 2018-07-01  Wenson Hsieh  <wenson_hsieh@apple.com>
8915         [macOS] Text replacements that end with symbols are expanded immediately
8916         https://bugs.webkit.org/show_bug.cgi?id=187225
8917         <rdar://problem/41112433>
8919         Reviewed by Darin Adler.
8921         Adds testing support for mocking NSSpellChecker's text checking results. See below for more details, and the new
8922         layout test for an example of its usage.
8924         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
8925         * DumpRenderTree/TestRunner.cpp:
8926         (setSpellCheckerTextReplacementsCallback):
8928         Add bindings support in TestRunner to specify a set of text replacement mappings. Each entry in the dictionary
8929         maps a string representing an input to the NSSpellChecker to some information describing the spell checking
8930         result that LayoutTestSpellChecker will return.
8932         (TestRunner::staticFunctions):
8933         * DumpRenderTree/TestRunner.h:
8934         * DumpRenderTree/mac/DumpRenderTree.mm:
8935         (resetWebViewToConsistentStateBeforeTesting):
8937         Restore the original shared NSSpellchecker before transitioning to the next layout test, if needed.
8939         * DumpRenderTree/mac/DumpRenderTreeSpellChecker.mm: Removed.
8940         * DumpRenderTree/mac/TestRunnerMac.mm:
8941         (TestRunner::setSpellCheckerLoggingEnabled):
8942         (TestRunner::setSpellCheckerTextReplacements):
8944         These testRunner methods ensure that `-[NSSpellChecker sharedSpellChecker]` is swizzled to return our mock
8945         LayoutTestSpellChecker instance before calling into it.
8947         * DumpRenderTree/win/TestRunnerWin.cpp:
8948         (TestRunner::setSpellCheckerTextReplacements):
8949         * TestRunnerShared/cocoa/LayoutTestSpellChecker.h: Renamed from Tools/DumpRenderTree/mac/DumpRenderTreeSpellChecker.h.
8950         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm: Added.
8952         Moved DumpRenderTreeSpellChecker to LayoutTestSpellChecker, and made it compile for both WebKitTestRunner
8953         (modern WebKit) and DumpRenderTree (legacy WebKit) by putting it in TestRunnerShared.
8955         (existingGlobalLayoutTestSpellChecker):
8956         (ensureGlobalLayoutTestSpellChecker):
8957         (stringForCorrectionResponse):
8958         (nsTextCheckingType):
8959         (-[LayoutTestTextCheckingResult initWithType:range:replacement:]):
8960         (-[LayoutTestTextCheckingResult range]):
8961         (-[LayoutTestTextCheckingResult resultType]):
8962         (-[LayoutTestTextCheckingResult replacementString]):
8963         (-[LayoutTestTextCheckingResult description]):
8965         LayoutTestTextCheckingResult represents a fake NSTextCheckingResult containing spell checking results supplied
8966         by the layout test.
8968         (+[LayoutTestSpellChecker installIfNecessary]):
8969         (+[LayoutTestSpellChecker uninstallAndReset]):
8971         Helper methods to begin and end swizzling the shared NSSpellChecker.
8973         (-[LayoutTestSpellChecker reset]):
8975         Resets the state of the LayoutTestSpellChecker (this entails clearing the fake replacements dictionary and
8976         turning off logging for recorded spellchecking responses).
8978         (-[LayoutTestSpellChecker replacements]):
8979         (-[LayoutTestSpellChecker setReplacements:]):
8980         (-[LayoutTestSpellChecker setReplacementsFromJSObject:inContext:]):
8982         Helper method to take a `JSObjectRef` supplied by the test runner and transform it into a map of spell checking
8983         string inputs to LayoutTestTextCheckingResults.
8985         (-[LayoutTestSpellChecker checkString:range:types:options:inSpellDocumentWithTag:orthography:wordCount:]):
8987         Consult the text replacement map and bail early if a match is found, before calling into real NSSpellChecker
8988         logic to perform spellchecking.
8990         (-[LayoutTestSpellChecker recordResponse:toCorrection:forWord:language:inSpellDocumentWithTag:]):
8992         Reimplement the original functionality in DumpRenderTreeSpellChecker to make `-recordResponse:…` print to stdout
8993         by overriding the method and printing if the `-spellCheckerLoggingEnabled` property has been set to YES.
8995         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
8997 2018-07-01  Thibault Saunier  <tsaunier@igalia.com>
8999         [WPE][GTK] Fix retrieving backtrace from within flatpak sandbox in test runner
9000         https://bugs.webkit.org/show_bug.cgi?id=187232
9002         Reviewed by Michael Catanzaro.
9004         The place where host tmp folder is mounted changed to /run/host/ we
9005         need to take that into account.
9007         Also explicitely close temporary files as relying on garbage collection to
9008         remove them is a bad idea.
9010         Also minor optimization avoiding to compile regex for each backtrace
9011         retrieval.
9013         * Scripts/webkitpy/port/linux_get_crash_log.py:
9014         (GDBCrashLogGenerator):
9015         (GDBCrashLogGenerator._get_tmp_file_name):
9016         (GDBCrashLogGenerator._get_trace_from_systemd):
9018 2018-06-30  Daniel Bates  <dabates@apple.com>
9020         test-webkitpy never rebuilds lldbWebKitTester
9021         https://bugs.webkit.org/show_bug.cgi?id=187229
9023         Reviewed by David Kilzer.
9025         Have test-webkitpy always call script build-lldbwebkittester to build lldbWebKitTester, if needed.
9027         Currently test-webkitpy only calls script build-lldbwebkittester if lldbWebKitTester does not
9028         exist in the build products directory for the active configuration (e.g. Debug); => we do not
9029         build lldbWebKitTester again if its source changes (say, as a result of hacking on lldbWebKitTester).
9030         Instead we should have test-webkitpy unconditionally call build-lldbwebkittester to ensure
9031         that we have an up-to-date build of lldbWebKitTester.
9033         * Scripts/webkitpy/test/main.py:
9034         (Tester._run_tests):
9035         (_find_lldb_webkit_tester): Deleted.
9037 2018-06-30  Michael Catanzaro  <mcatanzaro@igalia.com>
9039         [CMake] build-webkit should be able to enable address sanitizer
9040         https://bugs.webkit.org/show_bug.cgi?id=187222
9042         Reviewed by Daniel Bates.
9044         If 'set-webkit-configuration --asan' has been run, then build-webkit should pass
9045         -DENABLE_ADDRESS_SANITIZER=ON to CMake, so that it actually does something.
9047         This also works for build-jsc.
9049         * Scripts/webkitdirs.pm:
9050         (generateBuildSystemFromCMakeProject):
9052 2018-06-30  Thibault Saunier  <tsaunier@igalia.com>
9054         Make check_flatpak() not verbose when only trying to run command inside flatpak
9055         https://bugs.webkit.org/show_bug.cgi?id=187187
9057         Reviewed by Michael Catanzaro.
9059         * flatpak/flatpakutils.py:
9060         (run_in_sandbox_if_available):
9062 2018-06-29  Daniel Bates  <dabates@apple.com>
9064         build-webkit: Perl "use of uninitialized value $previousContents"
9065         https://bugs.webkit.org/show_bug.cgi?id=185776
9067         Reviewed by Michael Catanzaro.
9069         Fixes an issue where reading an empty cached argument file would cause
9070         Perl "uninitialized value" warnings of the form:
9071             Use of uninitialized value $previousContents in chomp at C:/WebKit-BuildWorker/wincairo-wkl-debug/build/Tools/Scripts/webkitdirs.pm line 1969.
9072             Use of uninitialized value $previousContents in string ne at C:/WebKit-BuildWorker/wincairo-wkl-debug/build/Tools/Scripts/webkitdirs.pm line 1972.
9074         * Scripts/webkitdirs.pm:
9075         (isCachedArgumentfileOutOfDate):
9077 2018-06-29  Daniel Bates  <dabates@apple.com>
9079         Perl uninitialized value $isEnabled when running build-jsc using a CMake build
9080         https://bugs.webkit.org/show_bug.cgi?id=187208
9082         Reviewed by Tim Horton.
9084         Share logic for computing the feature flags to enable in CMake with both script
9085         build-webkit and script build-jsc instead of duplicating it. This also fixes a
9086         bug in the version of this logic in build-jsc that was inadvertently not updated
9087         in r222394. In r222394 we removed the notion of a default value for a feature flag
9088         listed in webkitperl::FeatureList.
9090         We keep the current behavior of build-jsc and leave it up to the build system
9091         to determine whether to enable or disable ENABLE_EXPERIMENTAL_FEATURES.
9093         * Scripts/build-jsc:
9094         (buildMyProject):
9095         (cMakeArgsFromFeatures): Deleted.
9096         * Scripts/build-webkit:
9097         (cMakeArgsFromFeatures): Deleted; moved to webkitdirs.pm.
9098         * Scripts/webkitdirs.pm:
9099         (cmakeArgsFromFeatures): Moved code from script build-webkit so that it can be shared
9100         with build-jsc.
9102 2018-06-29  Tim Horton  <timothy_horton@apple.com>
9104         Add -apple-color-filter and system appearance toggles to MiniBrowser
9105         https://bugs.webkit.org/show_bug.cgi?id=187210
9107         Reviewed by Simon Fraser.
9109         * MiniBrowser/mac/AppDelegate.m:
9110         (defaultConfiguration):
9111         * MiniBrowser/mac/SettingsController.h:
9112         * MiniBrowser/mac/SettingsController.m:
9113         (-[SettingsController _populateMenu]):
9114         (-[SettingsController validateMenuItem:]):
9115         (-[SettingsController toggleAppleColorFilterEnabled:]):
9116         (-[SettingsController appleColorFilterEnabled]):
9117         (-[SettingsController toggleUseSystemAppearance:]):
9118         (-[SettingsController useSystemAppearance]):
9119         * MiniBrowser/mac/WK1BrowserWindowController.m:
9120         (-[WK1BrowserWindowController didChangeSettings]):
9121         * MiniBrowser/mac/WK2BrowserWindowController.m:
9122         (-[WK2BrowserWindowController didChangeSettings]):
9124 2018-06-29  Aditya Keerthi  <akeerthi@apple.com>
9126         [macOS] Do not crash if there is an attempt to copy a file URL to the clipboard
9127         https://bugs.webkit.org/show_bug.cgi?id=187183
9129         Reviewed by Wenson Hsieh.
9131         Added a 'runSingly' option to the TestOptions struct. Setting this option to true
9132         will force a new PlatformWebView to be created before running a test. This ensures
9133         that any state set by previous tests are not preserved.
9135         One example of the importance of having this ability is in the case where we want
9136         to test functionality that deals with read access to files. If a test were to
9137         load a valid file URL, universal read access will be granted in WebProcessProxy.
9138         This prevents us from testing cases that rely on us not have universal read
9139         access. Now, if we write the test using the 'runSingly' option, any state set
9140         by previous tests is cleared. Consequently, our test will behave as expected.
9142         * WebKitTestRunner/PlatformWebView.h:
9143         (WTR::PlatformWebView::viewSupportsOptions const):
9144         * WebKitTestRunner/TestController.cpp:
9145         (WTR::updateTestOptionsFromTestHeader):
9146         * WebKitTestRunner/TestOptions.h:
9147         (WTR::TestOptions::hasSameInitializationOptions const):
9149 2018-06-29  Daniel Bates  <dabates@apple.com>
9151         [lldb-webkit] Non-empty strings may be pretty-printed as empty
9152         https://bugs.webkit.org/show_bug.cgi?id=187185
9154         Reviewed by Simon Fraser.
9156         For some reason lldb(1) sometimes has an issue accessing members of WTF::StringImplShape
9157         via a WTF::StringImpl pointer (why?). Explicitly casting a WTF::StringImpl* to a
9158         WTF::StringImplShape* before accessing such members makes LLDB happy.
9160         I tried writing a test for this both for the LLVM project and to add to our lldb_webkit unit
9161         tests to no avail. I have only been able to reproduce this bug sporadically during my WebCore/WebKit
9162         debugging sessions so far.
9164         * lldb/lldb_webkit.py:
9165         (WTFStringImplProvider.__init__): Explicitly cast the WTF::StringImpl* to WTF::StringImplShape*.
9166         (WTFStringImplProvider.get_data8): Update code now that we are directly accessing WTF::StringImplShape*.
9167         (WTFStringImplProvider.get_data16): Ditto.
9169 2018-06-29  Chris Dumez  <cdumez@apple.com>
9171         WebKitLegacy: Can trigger recursive loads triggering debug assertions
9172         https://bugs.webkit.org/show_bug.cgi?id=187121
9173         <rdar://problem/41259430>
9175         Reviewed by Brent Fulgham.
9177         Add API test coverage.
9179         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9180         * TestWebKitAPI/Tests/mac/StartLoadInDidFailProvisionalLoad.mm: Added.
9181         (-[StartLoadInDidFailProvisionalLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
9182         (-[StartLoadInDidFailProvisionalLoadDelegate webView:didFinishLoadForFrame:]):
9183         (TestWebKitAPI::TEST):
9185 2018-06-29  Lucas Forschler  <lforschler@apple.com>
9187         Teach bisect-builds to retrieve supported platforms from the rest api.
9188         https://bugs.webkit.org/show_bug.cgi?id=187195
9189         
9190         This patch updates bisect-builds to use v2_2 of the API. v2_2 adds two api endpoints: /platforms, and /minified-platforms.
9191         These endpoints scan a dynamoDB database, returning the identifier key for all available platforms.
9192         The identifier keys are in the format: platform-architecture-configuration.
9194         Reviewed by Aakash Jain.
9196         * Scripts/bisect-builds:
9197         (get_api_archive_url): refactored from get_api_url.
9198         (get_platforms): helper function to retrieve from the platforms api.
9199         (minified_platforms): returns a list of minified platforms currently in the database
9200         (unminified_platforms): returns a list of unminified platforms currently in the database
9201         (is_supported_platform): checks if the platform-architecture-configuration combo is supported
9202         (fetch_revision_list): refactored to use get_api_archive_url
9203         (get_api_url): Deleted/refactored to get_api_archive_url.
9205 2018-06-29  Keith Miller  <keith_miller@apple.com>
9207         run-jsc should print when jsc exits with non-zero status
9208         https://bugs.webkit.org/show_bug.cgi?id=187192
9210         Reviewed by Saam Barati.
9212         * Scripts/run-jsc:
9214 2018-06-29  Aakash Jain  <aakash_jain@apple.com>
9216         [ews-build] Add timeout to webkitpy and webkitperl tests
9217         https://bugs.webkit.org/show_bug.cgi?id=187191
9219         Reviewed by Lucas Forschler.
9221         * BuildSlaveSupport/ews-build/steps.py:
9222         (RunWebKitPerlTests.__init__): Set timeout of 2 minutes.
9223         (RunWebKitPyTests.__init__): Ditto.
9224         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
9226 2018-06-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>
9228         [WPE]: Fix exception handling when flatpak is not installed
9229         https://bugs.webkit.org/show_bug.cgi?id=186771
9231         Unreviewed followup-fix after r233362
9233         This was causing failures when flatpak is not installed.
9235         * flatpak/flatpakutils.py:
9236         (check_flatpak):
9238 2018-06-29  Ross Kirsling  <ross.kirsling@sony.com>
9240         [JSCOnly] Restore Windows build.
9241         https://bugs.webkit.org/show_bug.cgi?id=187127
9243         Reviewed by Michael Catanzaro.
9245         * Scripts/build-jsc:
9246         Fix condition for disabling FTL JIT on Windows.
9248         * Scripts/webkitdirs.pm:
9249         (executableProductDir):
9250         JSCOnly should still use bin64 on Windows (for consistency with full WebKit build).
9251         (determineIsWin64):
9252         JSCOnly already defaults to 64-bit on Windows with Ninja -- ensure that this is true even with MSBuild.
9254 2018-06-29  Thibault Saunier  <tsaunier@igalia.com>
9256         [GTK][WPE]: Add a way to setup our development environment inside flatpak
9257         https://bugs.webkit.org/show_bug.cgi?id=186771
9259         Reviewed by Carlos Alberto Lopez Perez.
9261         This patch introduce a way to setup the development environment inside flatpak[0]
9262         removing the need for jhbuild when doing so. Anything needed to build/run minibrowser/ run
9263         layout tests is provided either but the org.gnome.Sdk runtime or built with flatpak-builder.
9265         The workflow is very similar to the "jhbuild based" one except that you should use update-webkit$PORTNAME-flatpak instead
9266         of update-webkit$PORTNAME-libs and that script requires to specify a build configuration (--release is default).
9268         Our scripts have been updated to be able to run inside that new build environment.
9270         Since everything runs inside a flatpak sandbox, gdb needs to be run from within the sandbox, the script exposes a way to do it
9271         easily with the `--gdb` option:
9273           $ webkit-flatpak --gdb [-m COREDUMPCTL MATCHES]
9275         The Layout test `GDBCrashLogGenerator` has been taugth how to use that and is able to retrieve stacktrace as with the jhbuild based workflow.
9277         [0] http://flatpak.org
9279         * Scripts/build-webkit:
9280         * Scripts/generate-jsc-bundle:
9281         (main):
9282         * Scripts/run-gtk-tests:
9283         * Scripts/run-minibrowser:
9284         * Scripts/run-webdriver-tests:
9285         * Scripts/run-webkit-tests:
9286         * Scripts/run-wpe-tests:
9287         * Scripts/update-webkitgtk-libs:
9288         * Scripts/update-webkitwpe-libs:
9289         * Scripts/webkit-flatpak: Added.
9290         * Scripts/webkitdirs.pm:
9291         (getJhbuildPath):
9292         (getFlatpakPath):
9293         (inFlatpakSandbox):
9294         (runInFlatpak):
9295         (runInFlatpakIfAvalaible):
9296         (wrapperPrefixIfNeeded):
9297         (shouldUseFlatpak):
9298         * Scripts/webkitpy/port/base.py:
9299         (Port._path_to_apache):
9300         (Port._is_flatpak):
9301         (Port._apache_config_file_name_for_platform):
9302         (Port._should_use_flatpak):
9303         (Port):
9304         (Port._in_flatpak_sandbox):
9305         (Port._should_use_jhbuild):
9306         * Scripts/webkitpy/port/gtk.py:
9307         (GtkPort.setup_environ_for_server):
9308         * Scripts/webkitpy/port/linux_get_crash_log.py:
9309         (GDBCrashLogGenerator._get_trace_from_systemd):
9310         (GDBCrashLogGenerator.generate_crash_log):
9311         * Scripts/webkitpy/port/wpe.py:
9312         (WPEPort.setup_environ_for_server):
9313         * Scripts/webkitpy/w3c/wpt_runner.py:
9314         (main):
9315         * flatpak/files/default.xkm: Added.
9316         * flatpak/files/httpd-autogen.sh: Added.
9317         * flatpak/flatpakutils.py: Added.
9318         (Colors):
9319         (Console):
9320         (Console.message):
9321         (remove_extension_points):
9322         (remove_comments):
9323         (remove_comments._replacer):
9324         (load_manifest):
9325         (expand_manifest):
9326         (FlatpakObject):
9327         (FlatpakObject.__init__):
9328         (FlatpakObject.flatpak):
9329         (FlatpakPackages):
9330         (FlatpakPackages.__init__):
9331         (FlatpakPackages.__detect_packages):
9332         (FlatpakPackages.__detect_packages.in):
9333         (FlatpakPackages.__detect_runtimes):
9334         (FlatpakPackages.__detect_apps):
9335         (FlatpakPackages.__iter__):
9336         (FlatpakRepos):
9337         (FlatpakRepos.__init__):
9338         (FlatpakRepos.update):
9339         (FlatpakRepos.add):
9340         (FlatpakRepo):
9341         (FlatpakRepo.__init__):
9342         (FlatpakRepo.repo_file):
9343         (FlatpakPackage):
9344         (FlatpakPackage.__init__):
9345         (FlatpakPackage.__str__):
9346         (FlatpakPackage.is_installed):
9347         (FlatpakPackage.install):
9348         (FlatpakPackage.update):
9349         (WebkitFlatpak):
9350         (WebkitFlatpak.load_from_args):
9351         (WebkitFlatpak.__init__):
9352         (WebkitFlatpak.check_flatpak):
9353         (WebkitFlatpak.check_flatpak.comparable_version):
9354         (WebkitFlatpak.clean_args):
9355         (WebkitFlatpak.run_in_sandbox):
9356         (WebkitFlatpak.run):
9357         (WebkitFlatpak.has_environment):
9358         (WebkitFlatpak.setup_dev_env):
9359         (WebkitFlatpak.install_all):
9360         (WebkitFlatpak.run_gdb):
9361         (WebkitFlatpak.update_all):
9362         (is_sandboxed):
9363         (run_in_sandbox_if_available):
9364         * flatpak/org.webkit.GTK.yaml: Added.
9365         * flatpak/org.webkit.WPE.yaml: Added.
9366         * flatpak/org.webkit.WebKit.yaml: Added.
9367         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
9368         * flatpak/patches/xvfb-0001-HACK-Avoid-compiling-a-kbm-file.patch: Added.
9370 2018-06-28  Wenson Hsieh  <wenson_hsieh@apple.com>
9372         [iOS] DataTransfer.getData always returns the empty string when dropping text
9373         https://bugs.webkit.org/show_bug.cgi?id=187130
9374         <rdar://problem/41014117>
9376         Reviewed by Ryosuke Niwa.
9378         Add 2 new API tests to verify that:
9379         -   When dropping an item with text, markup, and URL representations, the page is allowed to get "text/html",
9380             "text/plain" and "text/uri-list" data.
9381         -   Adding a suggested name to a plain text item causes WebKit to treat it as a file, and suppress access to
9382             DataTransfer.getData().
9384         Additionally tweaks a couple of existing API tests. Namely, in two API tests
9385         (ExternalSourceOverrideDropFileUpload and ExternalSourceHTMLToUploadArea) only a markup string is dropped, and
9386         we previously expected to handle the drop as a file. To allow this test to continue serving its purpose, tweak
9387         them such that the registered items appear to be file-backed (i.e. by adding a suggested filename in one of the
9388         tests, and specifying UIPreferredPresentationStyleAttachment in the other).
9390         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
9391         (TestWebKitAPI::TEST):
9393 2018-06-28  Basuke Suzuki  <Basuke.Suzuki@sony.com>
9395         Unreviewed, rolling out r226652.
9396         https://bugs.webkit.org/show_bug.cgi?id=180827
9398         "PlatformInfo should never be instantiated in isolation. So, PlatformInfo should
9399         not have default argument values. The preferred way to get a PlatformInfo object
9400         is to instantiate a Host object." (Requested by dbates).
9402         Reverted changeset:
9404         "[webkitpy] PlatformInfo should have default argument for casual use"
9405         https://bugs.webkit.org/show_bug.cgi?id=180827
9407 2018-06-28  Simon Fraser  <simon.fraser@apple.com>
9409         Try to address test failures on the bots.
9411         Allow the test to distinguish between a failure to find the variable, and an error
9412         reporting vector capacity.
9414         * lldb/lldb_webkit_unittest.py:
9415         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
9416         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
9418 2018-06-28  Lucas Forschler  <lforschler@apple.com>
9420         Add Windows support for WEBKIT_API_KEY.
9421         https://bugs.webkit.org/show_bug.cgi?id=187155
9423         Reviewed by Daniel Bates.
9425         * EWSTools/start-queue-win.sh:
9427 2018-06-28  Aakash Jain  <aakash_jain@apple.com>
9429         [ews-build] Add support for WebKitPy-Tests-EWS
9430         https://bugs.webkit.org/show_bug.cgi?id=187148
9432         Reviewed by Lucas Forschler.
9434         * BuildSlaveSupport/ews-build/factories.py: Added WebKitPyFactory.
9435         * BuildSlaveSupport/ews-build/steps.py: Added build step RunWebKitPyTests.
9436         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
9437         * BuildSlaveSupport/ews-build/config.json: Updated to use CamelCase. 
9439 2018-06-28  Daniel Bates  <dabates@apple.com>
9441         Fix the iOS build following r233299
9442         (https://bugs.webkit.org/show_bug.cgi?id=183744)
9444         Only build lldbWebKitTester on Mac as that is the only supported platform at the time of writing.
9446         * Makefile:
9448 2018-06-28  Sihui Liu  <sihui_liu@apple.com>
9450         Cookie API: cookie creation time is wrong
9451         https://bugs.webkit.org/show_bug.cgi?id=187101
9453         Reviewed by Geoffrey Garen.
9455         Add test coverage: make sure the cookie creation time returned is the same as set.
9457         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
9458         (TEST):
9460 2018-06-28  Simon Fraser  <simon.fraser@apple.com>
9462         The lldb vector summary provider always shows zero capacity
9463         https://bugs.webkit.org/show_bug.cgi?id=187132
9465         Reviewed by Daniel Bates.
9466         
9467         WTFVectorProvider in lldb_webkit.py was calling GetChildMemberWithName('m_capacity')
9468         on the buffer instead of the valobj.
9470         * lldb/lldbWebKitTester/main.cpp:
9471         (testSummaryProviders):
9472         * lldb/lldb_webkit.py:
9473         (WTFVectorProvider.update):
9474         * lldb/lldb_webkit_unittest.py:
9475         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
9476         (TestSummaryProviders):
9477         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
9478         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
9480 2018-06-28  Adam Barth  <abarth@webkit.org>
9482         Switch OS(FUCHSIA) to using JSCOnly
9483         https://bugs.webkit.org/show_bug.cgi?id=187133
9485         Reviewed by Yusuke Suzuki.
9487         Switch Fuchsia from being a port to just being an OS. We now use a
9488         CMAKE_TOOLCHAIN_FILE to configure the toolchain and the target triple.
9490         * Scripts/webkitdirs.pm: Remove isFuchsia() and clients. Turns out we
9491         can do everything we need using a CMAKE_TOOLCHAIN_FILE via the
9492         --cmakeargs flag.
9494 2018-06-27  Ryosuke Niwa  <rniwa@webkit.org>
9496         Make MotionMark's plan file more robust against code changes
9497         https://bugs.webkit.org/show_bug.cgi?id=187116
9498         <rdar://problem/41533956>
9500         Reviewed by Saam Barati.
9502         Moved the code to auto-start the test to the load event listener.
9504         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/MotionMark.patch:
9506 2018-06-27  Daniel Bates  <dabates@apple.com>
9508         Add some tests for lldb_webkit.py
9509         https://bugs.webkit.org/show_bug.cgi?id=183744
9511         Reviewed by Alexey Proskuryakov.
9513         Adds some tests to ensure we do not regress LLDB pretty-printing of WTF::StringImpl
9514         and WTF::String objects.
9516         The tests make use of the LLDB Python API (lldb.py) and a simple debug-built test
9517         program, lldbWebKitTester, to run. For now, we only support building lldbWebKitTester
9518         on Mac.
9520         * Makefile: Build the simple test tool lldbWebKitTester on Mac.
9521         * Scripts/build-lldbwebkittester: Added.
9522         (buildProjectOrDie):
9523         * Scripts/dump-class-layout: Extract logic to compute the path to the LLDB Python module
9524         from here to Scripts/webkitpy/common/system/systemhost.py so that it can used by both
9525         this script and lldb/lldb_webkit_unittest.py. Also import the lldb module at the top of
9526         the file and take advantage of Python's default error semantics to throw an exception
9527         if the import fails instead of handling it ourself. This has the side effect that we
9528         now always import the LLDB Python module even if this script is invoked with --help.
9529         If this turns out to be a significant annoyance then we can look to dynamically import
9530         the module as we did before this change.
9531         (webkit_build_dir):
9532         (main):
9533         (developer_dir): Deleted.
9534         (import_lldb): Deleted.
9535         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Update FIXME comment to reflect
9536         that fact that test-webkitpy does not support class and module fixtures. This is because
9537         test-webkitpy currently implements parallelism by breaking down existing test classes
9538         into individual test methods itself and having each worker run exactly one test method (via
9539         unittest.TestLoader.loadTestsFromName()) at a time. As a result of this reorganization,
9540         setUpModule()/setUpClass() are called for each test method as opposed to once per test
9541         class/test module.
9542         (remove_dir): Ditto.
9543         * Scripts/webkitpy/common/system/systemhost.py:
9544         (SystemHost):
9545         (SystemHost.path_to_lldb_python_directory): Added.
9546         * Scripts/webkitpy/test/main.py:
9547         (_find_lldb_webkit_tester): Returns whether there exists a Debug or Release-built lldbWebKitTester.
9548         (_build_lldb_webkit_tester): Builds lldbWebKitTester. For now, we only support building
9549         lldbWebKitTester on Mac.
9550         (main): Add Tools/lldb to the test search path if the platform has lldb.py.
9551         (Tester.run): Pass a boolean as to whether we will run the lldb_webkit unit tests.
9552         (Tester._run_tests): Modified to take a boolean as to whether to run the lldb_webkit unit tests.
9553         If we will run these tests then build lldbWebKitTester if it has not already been built as the
9554         unit tests depend on this program.
9555         * lldb/lldbWebKitTester/Configurations/Base.xcconfig: Added.
9556         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Added.
9557         * lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Added.
9558         * lldb/lldbWebKitTester/Makefile: Added.
9559         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Added.
9560         * lldb/lldbWebKitTester/main.cpp: Added.
9561         (breakForTestingSummaryProviders):
9562         (utf16String):
9563         (testSummaryProviders):
9564         (main):
9565         * lldb/lldb_webkit_unittest.py: Added.
9566         (destroy_cached_debug_session):
9567         (LLDBDebugSession):
9568         (LLDBDebugSession.setup):
9569         (LLDBDebugSession.tearDown):
9570         (TestSummaryProviders):
9571         (TestSummaryProviders.setUpClass):
9572         (TestSummaryProviders._sbFrame):
9573         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string):
9574         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_empty_string):
9575         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string):
9576         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string):
9577         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_null_string):
9578         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_empty_string):
9579         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string):
9580         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
9582 2018-06-27  Adam Barth  <abarth@webkit.org>
9584         Add Fuchsia support to build-jsc
9585         https://bugs.webkit.org/show_bug.cgi?id=187086
9587         Reviewed by Yusuke Suzuki.
9589         Add Fuchsia port to webkitdirs.pm. This patch is sufficient to make
9590         build-jsc kick off a cmake for Fuchsia.
9592         * Scripts/webkitdirs.pm:
9593         (determineSourceDir):
9594         (argumentsForConfiguration):
9595         (determineXcodeSDK):
9596         (findMatchingArguments):
9597         (determinePortName):
9598         (isFuchsia):
9599         (setupAppleWinEnv):
9600         (wrapperPrefixIfNeeded):
9601         (relaunchIOSSimulator):
9602         (debugMiniBrowser):
9604 2018-06-27  Daniel Bates  <dabates@apple.com>
9606         style-queue "AttributeError: 'NoneType' object has no attribute 'is_obsolete'" when processing security patch
9607         https://bugs.webkit.org/show_bug.cgi?id=187120
9609         Reviewed by David Kilzer.
9611         Teach the style queue how to refetch a patch from the status server as we did for non-Style
9612         EWS queues.
9614         * Scripts/webkitpy/tool/bot/stylequeuetask.py:
9615         (StyleQueueTask.validate): Similar to change made to EarlyWarningSystemTask.validate() in r233107,
9616         only check if the bug associated with the patch we are processing is closed if the attachment has a
9617         non-None Bug object.
9618         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
9619         (AbstractEarlyWarningSystem.refetch_patch): Extract logic to refetch a patch from here...
9620         * Scripts/webkitpy/tool/commands/queues.py:
9621         (PatchProcessingQueue._refetch_patch): ... to here.
9622         (StyleQueue.refetch_patch): Turn around and call PatchProcessingQueue._refetch_patch().
9624 2018-06-27  Tadeu Zagallo  <tzagallo@apple.com>
9626         Unreviewed, add myself as a WebKit committer.
9628         * Scripts/webkitpy/common/config/contributors.json:
9630 2018-06-27  Daniel Bates  <dabates@apple.com>
9632         webkit-patch should ignore non-ASCII characters in the status server API key
9633         https://bugs.webkit.org/show_bug.cgi?id=187107
9635         Reviewed by Lucas Forschler.
9637         The API key should only consists of ASCII characters. If it contains any
9638         non-ASCII characters then log a warning and ignore them.
9640         * Scripts/webkitpy/common/net/statusserver.py:
9641         (StatusServer.set_api_key): Force conversion to ASCII.
9642         * Scripts/webkitpy/tool/main.py:
9643         (WebKitPatch._status_server_api_key): Convert to ASCII, ignoring non-ASCII
9644         characters and logging a warning.
9646 2018-06-27  Jonathan Bedard  <jbedard@apple.com>
9648         Enable WebKit iOS 12 build
9649         https://bugs.webkit.org/show_bug.cgi?id=187024
9650         <rdar://problem/39759057>
9652         Reviewed by David Kilzer.
9654         * Scripts/configure-xcode-for-ios-development:
9655         (copyMissingHeadersFromSDKToSDKIfNeeded): Copy launch.h into embedded SDKs.
9657 2018-06-27  Robin Morisset  <rmorisset@apple.com>
9659         [WSL] Add a control-flow stack to the execution rules in WSL.ott
9660         https://bugs.webkit.org/show_bug.cgi?id=186310
9662         Rubberstamped by Filip Pizlo.
9664         The goal of this is to enable (future) rules about uniform control flow for barriers.
9665         It required adding two new special construct: Join(s) and JoinExpr(e) whose only role is to pop the last element of the stack.
9667         * WebGPUShadingLanguageRI/SpecWork/WSL.ott:
9669 2018-06-27  Robin Morisset  <rmorisset@apple.com>
9671         [WSL] Fix minor formatting issues in the grammar section
9672         https://bugs.webkit.org/show_bug.cgi?id=186310
9674         Rubberstamped by Filip Pizlo.
9676         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
9678 2018-06-27  Robin Morisset  <rmorisset@apple.com>
9680         [WSL] Put the full grammar in the Sphinx document
9681         https://bugs.webkit.org/show_bug.cgi?id=186310
9683         Rubberstamped by Filip Pizlo.
9685         Put the grammar's production rules in the Sphinx document, along with a few comments and the rules for desugaring.
9686         Also includes a bit of clean-up of the antlr rules.
9688         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
9689         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
9691 2018-06-26  Chris Dumez  <cdumez@apple.com>
9693         Deal better with the network process crashing on startup
9694         https://bugs.webkit.org/show_bug.cgi?id=187065
9695         <rdar://problem/41451622>
9697         Reviewed by Geoffrey Garen.
9699         Add layout test coverage.
9701         * TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
9702         (-[MonitorWebContentCrashNavigationDelegate _webView:webContentProcessDidTerminateWithReason:]):
9703         (-[MonitorWebContentCrashNavigationDelegate webView:didFinishNavigation:]):
9704         (TestWebKitAPI::TEST):
9706 2018-06-25  Yusuke Suzuki  <utatane.tea@gmail.com>
9708         Remove static initializers more
9709         https://bugs.webkit.org/show_bug.cgi?id=186969
9711         Reviewed by Michael Catanzaro.
9713         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
9714         (WTR::assignedUrlsCache):
9715         (WTR::dumpResourceURL):
9716         (WTR::InjectedBundlePage::resetAfterTest):
9717         (WTR::InjectedBundlePage::didInitiateLoadForResource):
9718         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
9719         (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
9720         (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
9721         (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
9722         (WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
9723         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
9724         (WTR::AccessibilityUIElement::stringAttributeValue):
9725         Use NeverDestroyed<> and static functions.
9727 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
9729         [ews-build] Add support for compiling WebKit
9730         https://bugs.webkit.org/show_bug.cgi?id=187019
9732         Reviewed by Lucas Forschler.
9734         * BuildSlaveSupport/ews-build/steps.py:
9735         (CompileWebKit): Added, class to compile WebKit.
9736         (CleanBuild): Added, class to clean up the build.
9737         (KillOldProcesses): Added, class to kill old processes.
9738         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
9739         * BuildSlaveSupport/ews-build/config.json: Renamed ios-11-simulator to ios-simulator-11, to match with build.webkit.org code.
9740         Added configuration, architecture which is required for compiling. Renamed Release to release as the tools expect lower-case release.
9741         * BuildSlaveSupport/ews-build/factories.py: Added BuildFactory.
9742         * BuildSlaveSupport/ews-build/loadConfig.py: Renamed configuraton value to lower-case as tools expect lower-case values.
9743         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Ditto.
9745 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
9747         [ews-build] Add support for WebKitPerl-Tests-EWS
9748         https://bugs.webkit.org/show_bug.cgi?id=187023
9750         Reviewed by Lucas Forschler.
9752         * BuildSlaveSupport/ews-build/config.json: Added WebKitPerl-tests-EWS.
9753         * BuildSlaveSupport/ews-build/factories.py: Added WebKitPerlFactory.
9754         * BuildSlaveSupport/ews-build/steps.py: Added build step RunWebKitPerlTests.
9755         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
9757 2018-06-26  Aakash Jain  <aakash_jain@apple.com>
9759         [build.webkit.org] Rename badly named variable kls to schedulerType
9760         https://bugs.webkit.org/show_bug.cgi?id=186926
9762         Reviewed by Lucas Forschler.
9764         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
9765         (loadBuilderConfig): Renamed kls to schedulerType.
9767 2018-06-26  Daniel Bates  <dabates@apple.com>
9769         EWS should pass --status-host-uses-http when invoking webkit-patch, if needed
9770         https://bugs.webkit.org/show_bug.cgi?id=187061
9772         Reviewed by Per Arne Vollan.
9774         When EWS invokes webkit-patch to perform an operation (e.g. apply an attachment)
9775         it should pass the command line option --status-host-uses-http, if EWS was
9776         started with this command line option, so that we query the status server over
9777         HTTP in child "webkit-patch" processes as we do in the main EWS process.
9779         * Scripts/webkitpy/common/net/statusserver_mock.py:
9780         (MockStatusServer.__init__):
9781         * Scripts/webkitpy/tool/commands/queues.py:
9782         (AbstractQueue.run_webkit_patch):
9784 2018-06-26  Daniel Bates  <dabates@apple.com>
9786         webkit-patch: Make attachment commands work with status-server hosted attachments
9787         https://bugs.webkit.org/show_bug.cgi?id=187056
9789         Reviewed by Per Arne Vollan.
9791         Allow the EWS bots to apply, build, test, check-style, and (in the future) land
9792         attachments hosted on the status server. We only download an attachment from the
9793         status server if we do not have sufficient permission to download it from Bugzilla
9794         (e.g. security-sensitive patches).
9796         A valid status server API key is required to run these commands by hand. Otherwise,
9797         the status server will not provide attachment data.
9799         * Scripts/webkitpy/common/net/statusserver_mock.py:
9800         (MockStatusServer.fetch_attachment): Log a message for testing purposes.
9801         * Scripts/webkitpy/tool/commands/download.py:
9802         (ProcessAttachmentsMixin._fetch_list_of_patches_to_process): Fetch the attachment
9803         from the status server if we do not have permission to fetch it from Bugzilla.
9804         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
9805         (EarlyWarningSystemTest._default_expected_logs): Update expected result when
9806         using a custom work item and when fetching an attachment from the status server.
9807         (_test_ews): Modified to take use_security_sensitive_patch (defaults to False) as
9808         to whether to use a security-sensitive patch when testing.
9809         (test_ewses_with_security_sensitive_patch): Added.
9811 2018-06-26  Daniel Bates  <dabates@apple.com>
9813         contributors.json fails to parse after r233209
9815         Removing trailing ',' that caused this file to be malformed. Also ran
9816         "validate-committer-lists -c" to canonicalize the style of this file.
9818         * Scripts/webkitpy/common/config/contributors.json:
9820 2018-06-26  Timothy Horton  <timothy_horton@apple.com>
9822         Add Aditya to contributors.json as a contributor
9824         * Scripts/webkitpy/common/config/contributors.json:
9826 2018-06-26  Brent Fulgham  <bfulgham@apple.com>
9828         Provide a way for Injected Bundles to indicate classes approved for NSSecureCoding
9829         https://bugs.webkit.org/show_bug.cgi?id=186788
9830         <rdar://problem/41094167>
9832         Reviewed by Chris Dumez.
9834         Add a new test case to exercise the class check during NSSecureCoding.
9836         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
9837         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.h: Added.
9838         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.mm: Added.
9839         (-[CustomBundleObject initWithValue:]):
9840         (+[CustomBundleObject supportsSecureCoding]):
9841         (-[CustomBundleObject copyWithZone:]):
9842         (-[CustomBundleObject initWithCoder:]):
9843         (-[CustomBundleObject encodeWithCoder:]):
9844         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm: Added.
9845         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
9846         (TestWebKitAPI::didFinishLoadForFrame):
9847         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter_Bundle.mm: Added.
9848         (TestWebKitAPI::CustomBundleParameterTest::CustomBundleParameterTest):
9849         (TestWebKitAPI::CustomBundleParameterTest::didCreatePage):
9851 2018-06-25  Daniel Bates  <dabates@apple.com>
9853         Log a message when fetching attachment data from the status server
9854         https://bugs.webkit.org/show_bug.cgi?id=187032
9856         Reviewed by Zalan Bujtas.
9858         Currently we silently fetch from the status server an attachment when fetching
9859         the attachment from Bugzilla fails due to an access denied error. Instead we
9860         should emit a message when fetching data from the status server to indicate
9861         that webkit-patch/EWS is still processing the command/trying to obtain the
9862         patch.
9864         * Scripts/webkitpy/common/net/statusserver.py:
9865         (StatusServer._fetch_attachment_page):
9867 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
9869         [ews-build] Add support for Bindings-tests-EWS
9870         https://bugs.webkit.org/show_bug.cgi?id=187014
9872         Reviewed by Lucas Forschler.
9874         * BuildSlaveSupport/ews-build/factories.py:
9875         (BindingsFactory): Added RunBindingsTests build step to BindingsFactory.
9876         * BuildSlaveSupport/ews-build/steps.py:
9877         (RunBindingsTests): Added build-step for running Bindings tests.
9878         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
9880 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
9882         [ews-build] Add support for Style-EWS
9883         https://bugs.webkit.org/show_bug.cgi?id=186955
9885         Reviewed by Lucas Forschler.
9887         * BuildSlaveSupport/ews-build/factories.py:
9888         (Factory): Base class for all the factory.
9889         * BuildSlaveSupport/ews-build/loadConfig.py: Initialize factory with required parameters.
9890         * BuildSlaveSupport/ews-build/runUnittests.py: Added, script to run all the unit tests.
9891         * BuildSlaveSupport/ews-build/steps.py: Added.
9892         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
9894 2018-06-25  Youenn Fablet  <youenn@apple.com>
9896         Add API to control mock media devices
9897         https://bugs.webkit.org/show_bug.cgi?id=186958
9899         Reviewed by Eric Carlson.
9901         Add test runner API to clear/add/remove/reset mock media devices.
9903         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
9904         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
9905         (WTR::TestRunner::addMockMediaDevice):
9906         (WTR::TestRunner::addMockCameraDevice):
9907         (WTR::TestRunner::addMockMicrophoneDevice):
9908         (WTR::TestRunner::addMockScreenDevice):
9909         (WTR::TestRunner::clearMockMediaDevices):
9910         (WTR::TestRunner::removeMockMediaDevice):
9911         (WTR::TestRunner::resetMockMediaDevices):
9912         * WebKitTestRunner/InjectedBundle/TestRunner.h:
9913         * WebKitTestRunner/TestController.cpp:
9914         (WTR::TestController::addMockMediaDevice):
9915         (WTR::TestController::clearMockMediaDevices):
9916         (WTR::TestController::removeMockMediaDevice):
9917         (WTR::TestController::resetMockMediaDevices):
9918         * WebKitTestRunner/TestController.h:
9919         * WebKitTestRunner/TestInvocation.cpp:
9920         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
9922 2018-06-25  Aakash Jain  <aakash_jain@apple.com>
9924         [ews-build] Add support for try Buildbot try schedulers
9925         https://bugs.webkit.org/show_bug.cgi?id=186948
9927         Reviewed by Lucas Forschler.
9929         * BuildSlaveSupport/ews-build/config.json: Use Try_Userpass scheduler.
9930         * BuildSlaveSupport/ews-build/loadConfig.py: Updated to use try scheduler.
9932 2018-06-25  Ross Kirsling  <ross.kirsling@sony.com>
9934         [WinCairo] Unreviewed build fix for r233088.
9936         * BuildSlaveSupport/built-product-archive:
9937         (extractBuiltProduct):
9938         "move" throws instead of overwriting, so just use "copy" instead.
9940 2018-06-25  Leo Balter  <leonardo.balter@gmail.com>
9942         [test262-runner] Sort the list of failing files in the HTML report
9943         https://bugs.webkit.org/show_bug.cgi?id=186998
9945         Reviewed by Michael Saboff.
9947         * Scripts/test262/Runner.pm:
9948         (printHTMLResults): The current list of failing files it not ordered and it's hard to read.
9949         This small patch will sort the list.
9951 2018-06-25  Robin Morisset  <rmorisset@apple.com>
9953         [WSL] Start writing the Sphinx document
9954         https://bugs.webkit.org/show_bug.cgi?id=186310
9956         Rubberstamped by Filip Pizlo.
9958         Very early work, just has the lexer and a few fragments of the parser so far.
9959         Also fixing some minor mistake in the formal rules.
9961         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
9962         * WebGPUShadingLanguageRI/SpecWork/WSL.ott:
9963         * WebGPUShadingLanguageRI/SpecWork/source/conf.py:
9964         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
9966 2018-06-23  Yusuke Suzuki  <utatane.tea@gmail.com>
9968         [WTF] Add user-defined literal for ASCIILiteral
9969         https://bugs.webkit.org/show_bug.cgi?id=186839
9971         Reviewed by Darin Adler.
9973         * TestWebKitAPI/Tests/WTF/StringOperators.cpp:
9974         (TestWebKitAPI::TEST):
9975         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
9976         (TestWebKitAPI::TEST):
9977         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp:
9978         (TestWebKitAPI::TEST):
9979         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
9980         (TEST_F):
9981         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
9982         (TestWebKitAPI::TEST_F):
9983         * TestWebKitAPI/Tests/WebCore/URL.cpp:
9984         (TestWebKitAPI::TEST_F):
9985         * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
9986         (TestWebKitAPI::TEST):
9987         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
9988         (TestWebKitAPI::TEST_F):
9989         * TestWebKitAPI/Tests/WebCore/mac/GPUTest.h:
9990         * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
9991         (-[MockContentFilterEnabler initWithCoder:]):
9992         * TestWebKitAPI/Tests/mac/ContentFiltering.mm:
9993         (TestWebKitAPI::loadAlternateTest):
9995 2018-06-22  Brady Eidson  <beidson@apple.com>
9997         WKURLSchemeHandler doesn't handle sync XHR.
9998         <rdar://problem/40955884> and https://bugs.webkit.org/show_bug.cgi?id=186902
10000         Reviewed by Chris Dumez.
10002         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
10003         (-[SyncScheme webView:startURLSchemeTask:]):
10004         (-[SyncScheme webView:stopURLSchemeTask:]):
10005         (-[SyncMessageHandler userContentController:didReceiveScriptMessage:]):
10006         (catch):
10008 2018-06-22  Daniel Bates  <dabates@apple.com>
10010         Security EWS: bots fails with exception 'NoneType' object has no attribute 'is_closed'
10011         https://bugs.webkit.org/show_bug.cgi?id=186923
10013         Reviewed by Lucas Forschler.
10015         Attachments downloaded from the status server (http://webkit-queues.webkit.org) do not
10016         have an associated Bug object (i.e. Attachment.bug() is None) and reflect the state they
10017         were in, including flags set, at the time they were uploaded to the status server. We
10018         will add support for fetching up-to-date status info about the attachment and its bug
10019         in <https://bugs.webkit.org/show_bug.cgi?id=186817>. For now, we only check if the
10020         bug associated with the patch we are processing is closed if the attachment has a
10021         non-None Bug object.
10023         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
10024         (EarlyWarningSystemTask.validate):
10026 2018-06-22  Ross Kirsling  <ross.kirsling@sony.com>
10028         [Win] ImageDiff should use DLLLauncher
10029         https://bugs.webkit.org/show_bug.cgi?id=186927
10031         ImageDiff should use DLLLauncher to find DLLs under WEBKIT_LIBRARIES, in the same way as DRT & TestWebKitAPI.
10033         Reviewed by Per Arne Vollan.
10035         * ImageDiff/CMakeLists.txt:
10036         * ImageDiff/ImageDiff.cpp:
10037         (dllLauncherEntryPoint):
10038         * ImageDiff/PlatformWin.cmake:
10040 2018-06-22  Basuke Suzuki  <Basuke.Suzuki@sony.com>
10042         [style] Fix --git-index option for check-webkit-style command
10043         https://bugs.webkit.org/show_bug.cgi?id=186810
10045         When --git-index is specified, it should be compared with HEAD, not the origin/master.
10047         Reviewed by Daniel Bates.
10049         * Scripts/webkitpy/common/checkout/scm/git.py:
10050         (Git.create_patch):
10051         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
10052         (test_create_patch_with_git_index): Added.
10054 2018-06-22  Ryan Haddad  <ryanhaddad@apple.com>
10056         Unreviewed, fix syntax error introduced by r233088.
10058         * BuildSlaveSupport/built-product-archive:
10059         (extractBuiltProduct):
10061 2018-06-22  Ross Kirsling  <ross.kirsling@sony.com>
10063         [WinCairo][Buildbot] Test bots should use same WinCairoRequirements version as the triggering build
10064         https://bugs.webkit.org/show_bug.cgi?id=186857
10066         Reviewed by Lucas Forschler.
10068         * BuildSlaveSupport/built-product-archive:
10069         (archiveBuiltProduct):
10070         (extractBuiltProduct):
10071         Save and restore the WinCairoRequirements version using the build archive.
10073         * Scripts/download-github-release.py: Renamed from Tools/Scripts/download-latest-github-release.py.
10074         Generalize download script -- get the latest version by default, but allow an arbitrary version to be specified.
10076         * Scripts/update-vswhere.py:
10077         Consume renamed script.
10079         * Scripts/update-webkit-wincairo-libs.py:
10080         Consume renamed script and specify a version to download when a config file is present.
10082 2018-06-20  Darin Adler  <darin@apple.com>
10084         [Cocoa] Use the isDirectory: variants of NSURL methods more to eliminate unnecessary file system activity
10085         https://bugs.webkit.org/show_bug.cgi?id=186875
10087         Reviewed by Anders Carlsson.
10089         * DumpRenderTree/mac/DumpRenderTree.mm:
10090         (activateTestingFonts): Use isDirectory:NO to create a URL for a font file.
10091         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
10092         (WTR::activateFonts): Ditto.
10093         (WTR::installFakeHelvetica): Ditto.
10095 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
10097         [GTK] WebDriver: use a dictionary for session capabilities in StartAutomationSession message
10098         https://bugs.webkit.org/show_bug.cgi?id=186915
10100         Reviewed by Å½an DoberÅ¡ek.
10102         Update /webkit/WebKitAutomationSession/request-session to use the new StartAutomationSession message signature.
10104         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
10106 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
10108         Unreviewed. Fix GLib test /webkit/WebKitSecurityManager/file-xhr after r231000
10110         We are now receiving two console messages instead of one. Simply update the test to check both messages.
10112         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
10113         (consoleMessageReceivedCallback):
10114         (testWebContextSecurityFileXHR):
10116 2018-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
10118         Unreviewed GLib gardening. Update expectations of TestSSL.
10120         /webkit/WebKitWebView/tls-errors-policy and /webkit/WebKitWebView/load-failed-with-tls-errors are failing only
10121         in the bots.
10123         * TestWebKitAPI/glib/TestExpectations.json:
10125 2018-06-21  Daniel Bates  <dabates@apple.com>
10127         EWS for security bugs
10128         https://bugs.webkit.org/show_bug.cgi?id=186291
10129         <rdar://problem/40829658>
10131         Substitute webkit.status-api-key for webkit.status_api_key as Git configuration variables can
10132         only consist of alphanumeric characters and underscores (_) per the second paragraph of section
10133         Configuration File of <https://git-scm.com/docs/git-config/2.18.0#_configuration_file>:
10135              The variable names are case-insensitive, allow only alphanumeric characters and -, and must
10136              start with an alphabetic character.
10138         * Scripts/webkitpy/tool/main.py:
10139         (WebKitPatch._status_server_api_key_from_git):
10141 2018-06-21  Daniel Bates  <dabates@apple.com>
10143         EWS for security bugs
10144         https://bugs.webkit.org/show_bug.cgi?id=186291
10145         <rdar://problem/40829658>
10147         In r232979, I inadvertently removed a line of code in _parse_authorized_api_keys() to define a local called api_keys.
10148         Add this code back.
10150         * QueueStatusServer/config/authorization.py:
10151         (_parse_authorized_api_keys):
10153 2018-06-21  Daniel Bates  <dabates@apple.com>
10155         EWS should not try to post comments or upload result archives to security-sensitive
10156         bugs unless it has access
10157         https://bugs.webkit.org/show_bug.cgi?id=186831
10159         Reviewed by Lucas Forschler.
10161         Following r232979 security-sensitive patches are uploaded to the status server so
10162         that they can be retrieved and processed by EWS bots without the need for Bugzilla
10163         security bug access. Although the EWS machinery is robust against unexpected exceptions,
10164         including exceptions raised when interacting with Bugzilla bugs/attachments with
10165         insufficient credentials, we should not depend on such defenses as they cause webkit-
10166         patch to log a message for the "unexpected" exception. We should reserve such logging
10167         for truly unexpected exceptions that indicate a programming mistake that we need to fix.
10169         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
10170         (AbstractEarlyWarningSystem._post_reject_message_on_bug): Bail out early if we cannot
10171         access the bug.
10172         * Scripts/webkitpy/tool/commands/queues.py:
10173         (PatchProcessingQueue._can_access_bug): Added.
10174         (PatchProcessingQueue._upload_results_archive_for_patch): Only add an attachment if we
10175         can access the bug.
10176         (CommitQueue.process_work_item): Only post a rejection comment (i.e. call CommitterValidatorreject_patch_from_commit_queue())
10177         if we can access the bug.
10179 2018-06-21  Lucas Forschler  <lforschler@apple.com>
10181         bisect-builds --list not showing all builds
10182         https://bugs.webkit.org/show_bug.cgi?id=185790
10184         The AWS Gateway API call into dynamoDB is limited to returning 1MB of query data. Our archive set has overgrown this limit,
10185         causing us to retrieve a truncated list of results. Fortunately, when this limit is reached, dynamoDB returns a 
10186         "LastEvaluatedKey", which can be used to continue the query in another request. 
10188         This patch teaches bisect-build to pass along this key when needed. The backend api was updated from v2 to v2_1 to support
10189         this new querystring option. Any existing code using v2 will not be affected.
10190         
10191         Reviewed by Aakash Jain.
10193         * Scripts/bisect-builds:
10194         (get_api_url): added optional LastEvaluatedKey argument, which will append the query string to the base api url.
10195         (fetch_revision_list): Added to allow a recursive call which will query until we retrieve every item requested.
10196         (main): teach how to use fetch_revision_list.
10198 2018-06-21  Keith Rollin  <krollin@apple.com>
10200         check-webkit-style should warn about exported inline functions
10201         https://bugs.webkit.org/show_bug.cgi?id=186861
10202         <rdar://problem/41303668>
10204         Reviewed by Brent Fulgham.
10206         When checking binaries compiled with LTO enabled, WebKit's
10207         check-for-weak-vtables-and-externals script can complain about
10208         exported inline functions. For instance, in
10209         Source/WebCore/page/scrolling/ScrollingTree.h, the following:
10211         WEBCORE_EXPORT virtual void reportSynchronousScrollingReasonsChanged(MonotonicTime, SynchronousScrollingReasons) { }
10212         WEBCORE_EXPORT virtual void reportExposedUnfilledArea(MonotonicTime, unsigned /* unfilledArea */) { }
10214         Can result in the following error messages:
10216         ERROR: WebCore has a weak external symbol in it (.../OpenSource/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore)
10217         ERROR: A weak external symbol is generated when a symbol is defined in multiple compilation units and is also marked as being exported from the library.
10218         ERROR: A common cause of weak external symbols is when an inline function is listed in the linker export file.
10219         ERROR: symbol __ZN7WebCore13ScrollingTree25reportExposedUnfilledAreaEN3WTF13MonotonicTimeEj
10220         ERROR: symbol __ZN7WebCore13ScrollingTree40reportSynchronousScrollingReasonsChangedEN3WTF13MonotonicTimeEj
10222         Unfortunately, these errors are only emitted when LTO is enabled,
10223         meaning that a developer could check-in a file that will fail an LTO
10224         build if they don't build with that option locally. Therefore, try to
10225         head this off by updating check-webkit-style to identify and warn
10226         about these cases (which includes when an export macro is applied
10227         directly to an inline method as well as when an inline method is part
10228         of an exported class).
10230         * Scripts/webkitpy/style/checkers/cpp.py:
10231         (_FunctionState.begin):
10232         (_FunctionState.export_macro):
10233         (_ClassInfo.__init__):
10234         (check_for_non_standard_constructs):
10235         (check_function_definition):
10236         (process_line):
10237         (CppChecker):
10238         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
10239         (FunctionDetectionTest.perform_function_detection):
10240         (FunctionDetectionTest.test_webcore_export):
10242 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
10244         [ews-build] unit-tests fail when run from another directory
10245         https://bugs.webkit.org/show_bug.cgi?id=186872
10247         Reviewed by Lucas Forschler.
10249         * BuildSlaveSupport/ews-build/loadConfig.py:
10250         (loadBuilderConfig): Add support for passing master_prefix_path.
10251         * BuildSlaveSupport/ews-build/loadConfig_unittest.py:
10252         (ConfigDotJSONTest.test_configuration): Set master_prefix_path as current directory.
10254 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
10256         Add support for using localhost worker in OpenSource EWS Buildbot
10257         https://bugs.webkit.org/show_bug.cgi?id=186871
10259         Reviewed by Lucas Forschler.
10261         * BuildSlaveSupport/ews-build/loadConfig.py:
10262         (loadBuilderConfig): Added a worker named 'local-worker' if use_localhost_worker option is used.
10263         * BuildSlaveSupport/ews-build/master.cfg: Check BUILDBOT_TESTING environment variable and use_localhost_worker if so.
10265 2018-06-21  Aakash Jain  <aakash_jain@apple.com>
10267         Add force schedulers to OpenSource EWS Buildbot
10268         https://bugs.webkit.org/show_bug.cgi?id=186876
10270         Reviewed by Lucas Forschler.
10272         * BuildSlaveSupport/ews-build/loadConfig.py:
10273         (loadBuilderConfig): Added support for ForceScheduler.
10275 2018-06-21  Robin Morisset  <rmorisset@apple.com>
10277         [WSL] Merge WSL_type.ott and WSL_exec.ott
10278         https://bugs.webkit.org/show_bug.cgi?id=186310
10280         Rubberstamped by Filip Pizlo.
10282         I moved the execution rules into WSL_type.ott, that was renamed WSL.ott.
10283         I also changed the execution judgements:
10284         - they now emit memory events instead of having an explicit store (so they can be connected later to a memory model)
10285         - the environment is now unchangeable (except inside blocks, which are the only place that variable declarations can appear)
10286         - various rules were simplified.
10288         * WebGPUShadingLanguageRI/SpecWork/WSL.ott: Copied from Tools/WebGPUShadingLanguageRI/SpecWork/WSL_type.ott.
10289         * WebGPUShadingLanguageRI/SpecWork/WSL_exec.ott: Removed.
10290         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott: Removed.
10292 2018-06-21  Leo Balter  <leonardo.balter@gmail.com>
10294         [test262-runner] Improve failures output
10295         https://bugs.webkit.org/show_bug.cgi?id=186858
10297         Reviewed by Michael Saboff.
10299         * Scripts/test262/Runner.pm:
10300         (main):
10301         (processResult):
10303 2018-06-21  Caitlin Potter  <caitp@igalia.com>
10305         [Tools] add a --debug option to test262/Runner.pm for buildbots
10306         https://bugs.webkit.org/show_bug.cgi?id=186113
10308         Reviewed by Michael Saboff.
10310         test262-runner runs Debug builds by default, but this allows us to be
10311         explicit about it in buildbots.
10313         * Scripts/test262/Runner.pm:
10314         (processCLI):
10316 2018-06-21  Carlos Garcia Campos  <cgarcia@igalia.com>
10318         run-gtk-tests (glib/common.py) cannot determine build directory when webKitBranchBuild=true
10319         https://bugs.webkit.org/show_bug.cgi?id=185643
10321         Reviewed by Frédéric Wang.
10323         Check if webKitBranchBuild is true in git config to add the branch name to the build path.
10325         * Scripts/webkitpy/common/checkout/scm/git.py:
10326         (Git.read_git_config): Add output_type parameter.
10327         (Git.read_config): Call read_git_config with cws and executive.
10328         (Git._upstream_branch): Use read_config().
10329         (Git._assert_can_squash): Ditto.
10330         (Git.remote_branch_ref): Ditto.
10331         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
10332         (GitSVNTest.test_read_git_config):
10333         * glib/common.py:
10334         (get_build_path):
10336 2018-06-20  Wenson Hsieh  <wenson_hsieh@apple.com>
10338         [WebKit on watchOS] Fixed position elements sometimes flicker when scrolling
10339         https://bugs.webkit.org/show_bug.cgi?id=186860
10340         <rdar://problem/39953563>
10342         Reviewed by Tim Horton.
10344         Add a new API test to exercise a race condition between receiving remote layer tree commits and updating visible
10345         content rects which would result in the compositing layer for a fixed position element sometimes appearing in
10346         the wrong place. See WebKit ChangeLog for more details.
10348         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
10349         * TestWebKitAPI/Tests/WebKitCocoa/fixed-nav-bar.html: Added.
10350         * TestWebKitAPI/Tests/ios/WKScrollViewTests.mm: Added.
10351         (traverseLayerTree):
10352         (TEST):
10354 2018-06-20  Daniel Bates  <dabates@apple.com>
10356         AttributeError: StatusServer instance has no attribute '_api_key' thrown when processing a patch
10357         https://bugs.webkit.org/show_bug.cgi?id=186852
10359         Fixes an issue where StatusServer._api_key may not be defined. This issue manifests itself
10360         in a Python AttributeError exception when an EWS bot tries to fetch the next patch to process.
10362         Currently StatusServer._api_key is only defined when either the environment variable WEBKIT_STATUS_API_KEY
10363         or the Git configuration key webkit.status_api_key has a non-empty value. Instead we should
10364         always define StatusServer._api_key in the StatusServer constructor.
10366         * Scripts/webkitpy/common/net/statusserver.py:
10367         (StatusServer.__init__):
10369 2018-06-20  Robin Morisset  <rmorisset@apple.com>
10371         [WSL] Add details to the sphinx outline
10372         https://bugs.webkit.org/show_bug.cgi?id=186310
10374         Rubberstamped by Filip Pizlo.
10376         Mostly improving the sphinx outline.
10377         Also started moving the execution rules to WSL_type.ott (which will eventually become WSL.ott).
10378         Tried formalizing the gathering of declarations into the environment, but I think I will scratch it.
10379             It is both trivial to do (and to explain in english) and a bit of a pain to formalize.
10381         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
10382         * WebGPUShadingLanguageRI/SpecWork/source/index.rst:
10384 2018-06-20  Commit Queue  <commit-queue@webkit.org>
10386         Unreviewed, rolling out r232844.
10387         https://bugs.webkit.org/show_bug.cgi?id=186843
10389         "Too many flakiness on the tests, so the EWS bots cant process
10390         patches correctly" (Requested by clopez on #webkit).
10392         Reverted changeset:
10394         "[GTK] Enable tests on the GTK EWS queue"
10395         https://bugs.webkit.org/show_bug.cgi?id=186559
10396         https://trac.webkit.org/changeset/232844
10398 2018-06-20  Rob Buis  <rbuis@igalia.com>
10400         [GTK] ASSERTION FAILED: url == m_string in UserAgentQuirks test
10401         https://bugs.webkit.org/show_bug.cgi?id=186838
10403         This URL constructor expects canonicalized input, so fix the passed URL.
10405         Reviewed by Frédéric Wang.
10407         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
10408         (TestWebKitAPI::TEST):
10410 2018-06-20  Robin Morisset  <rmorisset@apple.com>
10412         [WSL] Make the typing rules explicitely translate type syntax into actual types
10413         https://bugs.webkit.org/show_bug.cgi?id=186310
10415         Rubberstamped by Filip Pizlo.
10417         The typing rules must describe how and most importantly when typedefs and the like are resolved.
10418         This is important because they can be shadowed (by type variables for example), and we want to make it unambiguous what behaviour is required in that case.
10420         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
10421         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
10423 2018-06-20  Yusuke Suzuki  <utatane.tea@gmail.com>
10425         [GTK][WPE][Nicosia] Add name for Nicosia Painting Threads
10426         https://bugs.webkit.org/show_bug.cgi?id=186836
10428         Reviewed by Carlos Garcia Campos.
10430         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp:
10431         (TestWebKitAPI::TEST):
10433 2018-06-20  Yusuke Suzuki  <utatane.tea@gmail.com>
10435         [WPE] Remove warnings by setting nullptr for unused listeners
10436         https://bugs.webkit.org/show_bug.cgi?id=186835
10438         Reviewed by Carlos Garcia Campos.
10440         frame, axis_source, axis_stop, and axis_discrete are unused.
10441         Setting nullptr explicitly to remove warnings in GCC.
10443         * wpe/backends/WindowViewBackend.cpp:
10445 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
10447         [test262-runner] Reduce flakiness of unit tests for the runner
10448         https://bugs.webkit.org/show_bug.cgi?id=186824
10450         Reviewed by Michael Saboff.
10452         * Scripts/test262/Runner.pm:
10453         (main):
10454         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
10456 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
10458         [test262-runner] Print results report to HTML
10459         https://bugs.webkit.org/show_bug.cgi?id=186790
10461         Reviewed by Michael Saboff.
10463         After runing the tests, 2 html files are created with a list to failing tests and summaries.
10464         * Scripts/test262/Runner.pm:
10465         (main):
10466         (summarizeResults):
10467         (printHTML):
10469 2018-06-19  Keith Rollin  <krollin@apple.com>
10471         Crash running check-webkit-style on webrtc/.../exceptions.py
10472         https://bugs.webkit.org/show_bug.cgi?id=186816
10473         <rdar://problem/41262553>
10475         Reviewed by Michael Catanzaro.
10477         It's not apparent to me why the crash is occurring. Trying to write a
10478         unittest that checks this file in isolation does not reproduce the
10479         crash. But the crash goes away when updating to pylint-0.25.2.
10481         * Scripts/webkitpy/thirdparty/__init__.py:
10482         (AutoinstallImportHook._install_pylint):
10484 2018-06-19  Keith Rollin  <krollin@apple.com>
10486         cpp style checker needs to know more about NOLINT
10487         https://bugs.webkit.org/show_bug.cgi?id=186796
10489         Reviewed by Aakash Jain.
10491         Running check-webkit-style on
10492         ThirdParty/gtest/src/gtest-internal-inl.h crashes with a KeyError as
10493         it tries to look up information about a particular #include in a
10494         dictionary it maintains. The problem has to do with the following
10495         lines in gtest-internal-inl.h:
10497         #include <gtest/gtest.h>  // NOLINT
10498         #include <gtest/gtest-spi.h>
10500         The NOLINT annotation will prevent the cpp-checker from processing or
10501         even seeing that line. In skipping that line, information regarding
10502         that line is NOT added to some internal tables. However, when the code
10503         that checks that #includes are correctly alphabetized gets to the
10504         "gtest-spi.h" line, it will not respect the NOLINT annotation and will
10505         see the gtest.h line. When doing so, it runs afoul of the fact that it
10506         hadn't seen that line before and it crashes when it tries to look up
10507         that line in some internal records.
10509         Fix this by catering to the possibility that a #include line may not
10510         have been entered into these internal records.
10512         * Scripts/webkitpy/style/checkers/cpp.py:
10513         (check_include_line):
10514         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
10516 2018-06-19  Daniel Bates  <dabates@apple.com>
10518         EWS for security bugs
10519         https://bugs.webkit.org/show_bug.cgi?id=186291
10520         <rdar://problem/40829658>
10522         Update comment in AbstractEarlyWarningSystem.refetch_patch() to reference <https://bugs.webkit.org/show_bug.cgi?id=186817>.
10524         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
10525         (AbstractEarlyWarningSystem.refetch_patch):
10527 2018-06-19  Daniel Bates  <dabates@apple.com>
10529         EWS for security bugs
10530         https://bugs.webkit.org/show_bug.cgi?id=186291
10531         <rdar://problem/40829658>
10533         Reviewed by Lucas Forschler.
10535         Part 1 of 2.
10537         Implements support for EWS processing of patches on security sensitive bugs. We add new
10538         endpoints to the status server to support uploading and downloading of patches and associated
10539         metadata. When webkit-patch submits a patch for EWS processing it will now upload the contents
10540         and metadata for the patch to the status server if the patch is on a security sensitive bug.
10541         We teach the EWS machinery in webkitpy to query the status server for a patch only if fetching
10542         the patch from Bugzilla is not permitted due to an authorization error.
10544         Fetching patches from the status server requires an API key. The API key is read from the
10545         environment variable WEBKIT_STATUS_API_KEY or the value of the Git configuration key webkit.status_api_key
10546         (in that order). Contact me or another Apple engineer for an API key.
10548         Additionally, default to using HTTPS when querying the status server and expose an optional
10549         command line option called --status-host-uses-http to use the former behavior of querying
10550         over HTTP.
10552         * QueueStatusServer/config/authorization.py: Added.
10553         (_path_to_authorized_api_keys_file): Returns the absolute filesystem path to the file authorized_api_keys.txt.
10554         (_parse_authorized_api_keys):
10555         (authorized_api_keys):
10556         (_parse_authorization_header): Parses the API key from the Authorization header. We use a
10557         custom authentication scheme: "apikey". See remark below for more details.
10558         (is_authorized): Checks if the request includes an API key and whether that API key is in the
10559         list of authorized keys (performs a case-sensitive match). The API key may be specified either
10560         in a HTTP header Authorization or in the query string argument "apikey". When using the HTTP
10561         headers approach the Authorization header should have the form: "Authorization: apikey X" where
10562         X is the case-sensitive API key.
10563         * QueueStatusServer/handlers/fetchattachment.py: Added.
10564         (FetchAttachment):
10565         (FetchAttachment.get):
10566         * QueueStatusServer/handlers/releasepatch.py:
10567         (ReleasePatch.check_processed_by_all_queues): Returns whether the specified attachment was processed by all the queues.
10568         (ReleasePatch.post): Delete the patch from AppEngine (if we have it) once the patch was processed
10569         by all the queues.
10570         * QueueStatusServer/handlers/submittoews.py:
10571         (SubmitToEWS._should_add_to_ews_queue): Fix a typo in a comment while I am working in this code.
10572         * QueueStatusServer/handlers/uploadattachment.py: Added.
10573         (UploadAttachment):
10574         (UploadAttachment.get):
10575         (UploadAttachment.post):
10576         * QueueStatusServer/main.py: Add new routes /upload-attachment and /attachment to upload an attachment
10577         and view an attachment (or its metadata), respectively.
10578         * QueueStatusServer/model/attachmentdata.py: Added.
10579         (AttachmentData):
10580         (AttachmentData.add_attachment_data):
10581         (AttachmentData.lookup_if_exists):
10582         (AttachmentData.remove_attachment_data):
10583         * QueueStatusServer/templates/uploadattachment.html: Added.
10584         * Scripts/webkitpy/common/net/bugzilla/attachment.py:
10585         (Attachment.committer):
10586         (Attachment):
10587         (Attachment.to_json): Serialize to JSON so that we can upload it to AppEngine.
10588         (Attachment.from_json): Deserialize from JSON. This is used as part of downloading a patch from AppEngine.
10589         * Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py:
10590         (AttachmentTest.test_convert_to_json_and_back): Added.
10591         * Scripts/webkitpy/common/net/bugzilla/bug.py:
10592         (Bug.groups): Returns a frozenset of groups that the bug is a member of.
10593         (Bug.is_security_sensitive): Returns whether the bug is in group Security-Sensitive.
10594         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
10595         (BugzillaQueries.fetch_attachment_ids_from_review_queue): Modified to take an optional boolean, only_security_bugs,
10596         as to whether to only fetch attachment ids for unreviewed patches associated with security bugs. By default, we
10597         keep the current behavior and query for the attachment ids of all unreviewed patches that the currently logged in
10598         Bugzilla user can see, which may include patches associated with security bugs.
10599         (Bugzilla._parse_date): Update for moved and renamed constant. See remark for class Bugzilla.
10600         (Bugzilla._parse_bug_dictionary_from_xml): Modified to return an empty dictionary if we do not have access to view the bug.
10601         Otherwise, extract the name of the group the bug is in.
10602         (Bugzilla.fetch_bug): Modified to return None if we do not have access to view the bug.
10603         (Bugzilla._parse_bug_title_from_attachment_page): Extracted out logic to parse the title of the Attachment page
10604         from _parse_bug_id_from_attachment_page() so that it can be used from both _parse_bug_id_from_attachment_page()
10605         and get_bug_id_for_attachment_id().
10606         (Bugzilla): Moved class constant _bugzilla_date_format to Scripts/webkitpy/common/net/bugzilla/constants.py
10607         and renamed it to BUGZILLA_DATE_FORMAT.
10608         (Bugzilla.AccessError):
10609         (Bugzilla.AccessError.__init__):
10610         (Bugzilla._parse_bug_id_from_attachment_page): Modified to return a tuple of ("bug id", "error code") so that
10611         the caller can know the reason the parse failed if it did. The parse will fail if we do not have access to view
10612         the bug.
10613         (Bugzilla.bug_id_for_attachment_id): Modified to take a boolean throw_on_access_error (default: False)
10614         as to whether to raise a Bugzilla.AccessError exception and pass it through to get_bug_id_for_attachment_id().
10615         (Bugzilla.get_bug_id_for_attachment_id): Modified to take a boolean throw_on_access_error (default: False)
10616         as to whether to raise a Bugzilla.AccessError exception if we do not have access to the bug associated with
10617         the specified attachment id.
10618         (Bugzilla.fetch_attachment):
10619         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
10620         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue):
10621         (MockBugzilla):
10622         (MockBugzilla.fetch_attachment):
10623         (MockBugzilla.fetch_attachment_contents):
10624         (MockBugzilla.add_patch_to_bug):
10625         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
10626         * Scripts/webkitpy/common/net/bugzilla/constants.py: Added.
10627         * Scripts/webkitpy/common/net/statusserver.py:
10628         (StatusServer)
10629         (StatusServer.__init__): Modified to take an boolean use_https as to whether to query the server using
10630         HTTPS (default: True - use HTTPS).
10631         (StatusServer.set_host): Moved logic to compute the server URL from her to _server_url().
10632         (StatusServer.set_use_https): Added.
10633         (StatusServer.set_api_key): Added.
10634         (StatusServer._server_url): Added.
10635         (StatusServer._authorization_header_name_and_value_pair): Added.
10636         (StatusServer.results_url_for_status): Update to use _server_url().
10637         (StatusServer._post_status_to_server): Ditto.
10638         (StatusServer._post_svn_revision_to_server): Ditto.
10639         (StatusServer._post_work_items_to_server): Ditto.
10640         (StatusServer._upload_attachment_to_server): Added.
10641         (StatusServer.upload_attachment): Added.
10642         (StatusServer._post_work_item_to_ews): Update to use _server_url().
10643         (StatusServer.next_work_item): Ditto.
10644         (StatusServer._post_release_work_item): Ditto.
10645         (StatusServer._post_release_lock): Ditto.
10646         (StatusServer._fetch_attachment_page): Added.
10647         (StatusServer.fetch_attachment): Added.
10648         (StatusServer._fetch_url): Add the API Key to the request if we have one.
10649         (StatusServer.patch_status): Update to use _server_url().
10650         (StatusServer.svn_revision): Ditto.
10651         * Scripts/webkitpy/common/net/statusserver_mock.py:
10652         (MockStatusServer.upload_attachment): Added.
10653         (MockStatusServer.fetch_attachment): Added.
10654         * Scripts/webkitpy/tool/bot/feeders.py:
10655         (EWSFeeder.feed): Modified to download patches on security bugs and upload them to the status server (AppEngine).
10656         * Scripts/webkitpy/tool/commands/download.py:
10657         (ProcessAttachmentsMixin._fetch_list_of_patches_to_process): Modified to handle the case when fetching the
10658         bug details from Bugzilla fail, say because we are not allowed to the view the bug.
10659         (ProcessBugsMixin._fetch_list_of_patches_to_process): Filter out None values for attachments that we failed
10660         to fetch, say because we are not allowed to the view the bug the attachment is on.
10661         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
10662         (AbstractEarlyWarningSystem.refetch_patch): For now, refetch the patch from the status server. Ideally, we
10663         need a way to ask the status server to fetch the patch again from Bugzilla (or at least its metadata) so
10664         that the EWS can check the current state of the patch (i.e. is it still marked r?).
10665         * Scripts/webkitpy/tool/commands/queries_unittest.py:
10666         (QueryCommandsTest.test_patches_to_review): Update expected result.
10667         * Scripts/webkitpy/tool/commands/queues.py:
10668         (AbstractPatchQueue._next_patch): Fetch the patch  from the status server if we failed to fetch it from
10669         Bugzilla because we do not have permission to view it.
10670         * Scripts/webkitpy/tool/commands/queues_unittest.py:
10671         * Scripts/webkitpy/tool/commands/upload_unittest.py:
10672         (test_upload_of_security_sensitive_patch_with_no_review_and_ews): Added.
10673         * Scripts/webkitpy/tool/main.py:
10674         (WebKitPatch):
10675         (WebKitPatch._status_server_api_key_from_git): Read the API key from the Git configuration key webkit.status_api_key.
10676         (WebKitPatch._status_server_api_key): Read the API key from the environment variable WEBKIT_STATUS_API_KEY.
10677         (WebKitPatch.handle_global_options): Read the API key and update the state of the StatusServer object, if applicable.
10678         * Scripts/webkitpy/tool/steps/obsoletepatches.py:
10679         (ObsoletePatches.run): Modified to handle the case when fetching the bug details from Bugzilla fail, say because we
10680         are not allowed to the view the bug.
10681         * Scripts/webkitpy/tool/steps/submittoews.py:
10682         (SubmitToEWS.run): Upload the contents of the patch and the Bugzilla metadata about it to the status server
10683         if the patch was posted to a security bug.
10685 2018-06-19  Daniel Bates  <dabates@apple.com>
10687         QueueStatusServer: "'NoneType' object has no attribute 'message'" in ReleasePatch.get()
10688         when attachment is skipped by queue
10689         https://bugs.webkit.org/show_bug.cgi?id=186748
10691         Reviewed by Lucas Forschler.
10693         Fixes an issue where releasing a patch that was skipped by a queue would cause an AttributeError
10694         in ReleasePatch.get().
10696         When removing a patch from a queue we update queue statistics. As part of this process
10697         we record the last message posted to the status server for the patch. Currently if a patch
10698         is skipped by the queue when picking the next patch to process (say, we failed to fetch the
10699         attachment) then the queue does not post a message to the status server before it asks the
10700         status server to remove the patch from the list of patches the queue needs to process. Instead
10701         the queue should tell the status server that it chose to skip the patch before asking for the
10702         patch to be removed from its list of patches to process.
10704         * Scripts/webkitpy/common/net/bugzilla/attachment.py:
10705         (Attachment.bug_id): Return None if we do not have a bug ID. This can happen if we failed
10706         to fetch the attachment from Bugzilla (say, Bugzilla's markup changed) or we do not have
10707         have permission to view the Bugzilla bug.
10708         * Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py: Added.
10709         (AttachmentTest):
10710         (AttachmentTest.test_no_bug_id):
10711         * Scripts/webkitpy/tool/commands/queues.py:
10712         (AbstractPatchQueue._next_patch): Call AbstractPatchQueue._did_skip() to post a status
10713         update to the status server and then release the work item.
10714         * Scripts/webkitpy/tool/commands/queues_unittest.py:
10715         (AbstractPatchQueueTest.test_next_patch): Update expected result.
10717 2018-06-19  Leo Balter  <leonardo.balter@gmail.com>
10719         Test262-Runner: Improve files queue to optimize CPU usage/balancing
10720         https://bugs.webkit.org/show_bug.cgi?id=186443
10722         Reviewed by Michael Saboff.
10724         This patch creates a queue manager for to keep the child process open while the parent process feed each child with test files to run.
10725         * Scripts/test262/Runner.pm:
10726         (processCLI):
10727         (main):
10729 2018-06-19  Wenson Hsieh  <wenson_hsieh@apple.com>
10731         [WebKit on watchOS] Vend username text content type when using scribble in login fields
10732         https://bugs.webkit.org/show_bug.cgi?id=186791
10733         <rdar://problem/41226935>
10735         Reviewed by Beth Dakin.
10737         Add testing support for grabbing the current text content type of the focused element.
10739         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
10740         (WTR::UIScriptController::textContentType const):
10741         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
10742         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
10743         (WTR::UIScriptController::textContentType const):
10744         * TestRunnerShared/UIScriptContext/UIScriptController.h:
10745         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
10746         (WTR::UIScriptController::textContentType const):
10748 2018-06-19  Robin Morisset  <rmorisset@apple.com>
10750         [WSL] Improving the typing rules
10751         https://bugs.webkit.org/show_bug.cgi?id=186310
10753         Rubberstamped by Filip Pizlo.
10755         Several changes:
10756         - added a "well_formed" judgement, and defined it on function definitions (tying together with the typing rules)
10757         - cleaned up the desugaring relation (it now works on normal statements, and deals with for loops correctly)
10758         - added the null literal, the comma operator, the not operator, and parens
10759         - fixed a bunch of minor typographic issues
10761         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott:
10763 2018-06-18  Robin Morisset  <rmorisset@apple.com>
10765         [WSL] Starting to write the spec
10766         https://bugs.webkit.org/show_bug.cgi?id=186310
10768         Rubberstamped by Filip Pizlo.
10770         This is a snapshot of my current work on the WSL spec (I will try to commit more regularly in the future).
10772         WSL.g4 is the grammar, in antlr4 format. I only made minor changes in it since last time.
10774         source/index.rst is the Sphinx document. 
10775         It currently only contain a very rough outline, and some TODOs.
10776         It can be compiled with make html or make pdf, and relies on Makefile and source/conf.py.
10778         WSL_exec.ott is the current set of execution rules I have formalized.
10779         They will need a fair bit of refactoring, to account for the new desugaring phase,
10780             to be compatible with whatever memory model we decide on,
10781             and to be explicit about the memory layout of structs and arrays
10782         They can be compiled to latex with OTT (which in turn requires OCaml and opam).
10783             Just ask me by email if you want a pdf of all the rules without having to install all that.
10785         WSL_type.ott is the current set of local typing rules I have formalized.
10786             Like WSL_exex.ott, it is very incomplete, lacking all function calls among other things.
10788         * WebGPUShadingLanguageRI/SpecWork/Makefile: Added.
10789         * WebGPUShadingLanguageRI/SpecWork/WSL.g4:
10790         * WebGPUShadingLanguageRI/SpecWork/WSL_exec.ott: Added.
10791         * WebGPUShadingLanguageRI/SpecWork/WSL_type.ott: Added.
10792         * WebGPUShadingLanguageRI/SpecWork/source: Added.
10793         * WebGPUShadingLanguageRI/SpecWork/source/conf.py: Added.
10794         * WebGPUShadingLanguageRI/SpecWork/source/index.rst: Added.
10796 2018-06-18  Chris Dumez  <cdumez@apple.com>
10798         Crash under WebProcessPool::networkProcessFailedToLaunch():
10799         https://bugs.webkit.org/show_bug.cgi?id=186784
10800         <rdar://problem/33535377>
10802         Reviewed by Brady Eidson.
10804         Add API test coverage.
10806         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
10807         (TEST):
10809 2018-06-18  Zan Dobersek  <zdobersek@igalia.com>
10811         [webkitpy] WPTRunner should remove any metadata content before (re)generating it
10812         https://bugs.webkit.org/show_bug.cgi?id=186755
10814         Reviewed by Carlos Garcia Campos.
10816         WPTRunner generates the WPT-compliant metadata content before each test
10817         run. Before it does so, it should remove the complete target directory
10818         for this metadata, allowing any change in the expectations JSON to be
10819         immediately reflected.
10821         For example, if a test failure expectation is removed, the related .ini
10822         metadata file is not generated anymore, but the stale .ini file isn't
10823         removed from the current metadata directory. To avoid this, purging
10824         the metadata directory and regenerating it from scratch should be done
10825         for each test run.
10827         * Scripts/webkitpy/w3c/wpt_runner.py:
10828         (WPTRunner._generate_metadata_directory):
10829         * Scripts/webkitpy/w3c/wpt_runner_unittest.py:
10830         (WPTRunnerTest.test_generate_metadata_directory):
10832 2018-06-12  Darin Adler  <darin@apple.com>
10834         [Cocoa] Make some RetainPtr refinements to get more ready for ARC
10835         https://bugs.webkit.org/show_bug.cgi?id=186526
10837         Reviewed by Anders Carlsson.
10839         * DumpRenderTree/mac/LayoutTestHelper.m:
10840         (colorProfileURLForDisplay): Use CFBridgingRelease instead of using
10841         CFAutorelease for a bridging use case.
10843 2018-06-16  Leo Balter  <leonardo.balter@gmail.com>
10845         [test262-runner] Handle items from the config list with inline comments
10846         https://bugs.webkit.org/show_bug.cgi?id=186707
10848         Reviewed by Michael Saboff.
10850         This is a workaround for the Yaml parser that bundles inline comments together with any items.
10851         * Scripts/test262/Runner.pm:
10852         (shouldSkip):
10854 2018-06-16  Valerie R Young  <valerie@bocoup.com>
10856         test262/Runner.pm: option to run test skipped in config file
10857         https://bugs.webkit.org/show_bug.cgi?id=186660
10859         Reviewed by Michael Saboff.
10861         Adds option --skipped-files, -S, to run all files skipped in the
10862         config.yaml file.
10864         * Scripts/test262/Runner.pm:
10865         (processCLI):
10866         (main):
10867         (getBuildPath):
10868         (processFile):
10869         (processResult):
10871 2018-05-18  Basuke Suzuki  <basuke.suzuki@sony.com>
10873         Unreviewed, add myself as a WebKit committer.
10875         * Scripts/webkitpy/common/config/contributors.json:
10877 2018-06-15  Chris Dumez  <cdumez@apple.com>
10879         Add API test coverage for SW RegistrationDatabase destruction and fix issues found by the test
10880         https://bugs.webkit.org/show_bug.cgi?id=186681
10882         Reviewed by Brady Eidson.
10884        Add API test coverage.
10886         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
10888 2018-06-15  Brady Eidson  <beidson@apple.com>
10890         Crash in both StorageProcess and UIProcess when using custom WKWebsiteDataStores for data management.
10891         <rdar://problem/41019893> and https://bugs.webkit.org/show_bug.cgi?id=186682
10893         Reviewed by Chris Dumez.
10895         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
10896         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
10897         (TEST):
10899 2018-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
10901         [GTK] Fix adding error in browserperfdash_runner.
10903         Unreviewed follow-up fix after r232820.
10905         * Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
10906         (BrowserPerfDashRunner.run):
10908 2018-06-15  Carlos Alberto Lopez Perez  <clopez@igalia.com>
10910         [GTK][WKE] Disable memory pressure handling when running layout tests (WTR)
10911         https://bugs.webkit.org/show_bug.cgi?id=186663
10913         Reviewed by Michael Catanzaro.
10915         Disable memory pressure handling when running tests via WTR by
10916         setting WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR=1 on the environment.
10918         * WebKitTestRunner/gtk/main.cpp:
10919         (main):
10920         * WebKitTestRunner/wpe/main.cpp:
10921         (main):
10923 2018-06-15  Jonathan Bedard  <jbedard@apple.com>
10925         Add iOS 12 and watchOS 5 to webkitpy
10926         https://bugs.webkit.org/show_bug.cgi?id=186285
10928         Reviewed by Aakash Jain.
10930         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
10931         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
10932         Trigger the right build queues for iOS 12 on check-in.
10933         * Scripts/webkitpy/common/version_name_map.py:
10934         (VersionNameMap.__init__): Add iOS 12, tvOS 12 and watchOS 5.
10935         * Scripts/webkitpy/common/version_name_map_unittest.py:
10936         (VersionMapTestCase.test_ios_name_by_version): Test iOS 12 version-name mapping.
10937         * Scripts/webkitpy/port/ios_device_unittest.py:
10938         (IOSDeviceTest.test_layout_test_searchpath_without_apple_additions):
10939         * Scripts/webkitpy/port/ios_simulator_unittest.py:
10940         (IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
10942 2018-06-14  Saam Barati  <sbarati@apple.com>
10944         sun spider compile time benchmark fails in run-jsc-benchmarks with JSC_validateOptions=1
10945         https://bugs.webkit.org/show_bug.cgi?id=186647
10947         Reviewed by Yusuke Suzuki.
10949         Let's use `unset JSC_useBlah` instead of `export JSC_useBlah=` to clear environment
10950         variables. The latter was causing crashes with when JSC_validateOptions was true.
10952         * Scripts/run-jsc-benchmarks:
10954 2018-06-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
10956         [GTK][buildbot] Raise timeouts for the step benchmark-test on the GTK perf bot
10957         https://bugs.webkit.org/show_bug.cgi?id=186635
10959         Reviewed by Michael Catanzaro.
10961         The current maximum timeout for a run-benchmark test is 1800 (Motionmark plan),
10962         but the buildbot default timeout for the whole step without text output is 1200.
10963         That means that a timeout on a single test can cause a whole step abort because
10964         the buildbot one will trigger first.
10966         Set the benchmark-test step timeout to 2000 to avoid this.
10968         When this benchmark-test was added in r197505 it was already added with a higher
10969         timeout than default (1500) due to the above problem, but it seems this has been
10970         ignored so far because buildbot won't accept the timeout to be set on the class
10971         definition (not even on the class constructor).
10972         The new timeout has to be defined in the addStep call itself.
10973         I have double-checked that by testing locally with the script run-buildbot-test.py
10974         And this upstream issue confirms that https://github.com/buildbot/buildbot/issues/3887
10976         * BuildSlaveSupport/build.webkit.org-config/factories.py:
10977         (BuildAndPerfTestFactory.__init__):
10978         (DownloadAndPerfTestFactory.__init__):
10979         * BuildSlaveSupport/build.webkit.org-config/steps.py:
10980         (RunBenchmarkTests):
10982 2018-06-14  Roy Reapor  <rreapor@apple.com>
10984         Use new jQuery file layout
10985         https://bugs.webkit.org/show_bug.cgi?id=186636
10987         Reviewed by Aakash Jain.
10989         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
10990         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html:
10991         * TestResultServer/static-dashboards/run-embedded-unittests.html:
10993 2018-06-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
10995         [Win][MiniBrowser] Change to use WebKit by default if it's available
10996         https://bugs.webkit.org/show_bug.cgi?id=186633
10998         When MiniBrowser is built with WebKit, use it by default. Also add command
10999         line switch for WebKitLegacy.
11001         Reviewed by Youenn Fablet.
11003         * MiniBrowser/win/Common.cpp:
11004         (parseCommandLine):
11005         (dllLauncherEntryPoint): Deleted.
11006         * MiniBrowser/win/Common.h:
11007         * MiniBrowser/win/WinMain.cpp:
11008         (wWinMain):
11009         (dllLauncherEntryPoint):
11011 2018-06-14  Matt Lewis  <jlewis3@apple.com>
11013         Unreviewed, rolling out r232823.
11015         This caused both test timeouts and api failures.
11017         Reverted changeset:
11019         "[Mail] Use the Mail Viewer width as the base for resolving
11020         horizontal viewport units"
11021         https://bugs.webkit.org/show_bug.cgi?id=186585
11022         https://trac.webkit.org/changeset/232823
11024 2018-06-14  Youenn Fablet  <youenn@apple.com>
11026         TestWebKitAPI.WebKit.WKNavigationResponsePDFType fails after r232815
11027         https://bugs.webkit.org/show_bug.cgi?id=186631
11029         Reviewed by Chris Dumez.
11031         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
11032         (TEST): Update PDF plug-in identifier.
11034 2018-06-14  Leo Balter  <leonardo.balter@gmail.com>
11036         [test262-runner] Improve displayed settings, use rel paths
11037         https://bugs.webkit.org/show_bug.cgi?id=186626
11039         Reviewed by Michael Saboff.
11041         Use relative paths for the information printed in the settings summary after calling the Test262 Runner. This provides a cleaner summary that is easier to read and consume.
11042         * Scripts/test262/Runner.pm:
11043         (processCLI):
11044         (getBuildPath):
11046 2018-06-14  Leo Balter  <leonardo.balter@gmail.com>
11048         Test262-Runner: Add more information in the summarized stats
11049         https://bugs.webkit.org/show_bug.cgi?id=185749
11051         Reviewed by Michael Saboff.
11053         This patch adds extra information in the summarized stats for the given results for each run.
11054         This includes a total of files, a total of executed files and a time information per path and feature.
11055         * Scripts/test262/Runner.pm:
11056         (summarizeResults):
11058 2018-06-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11060         [GTK] Enable tests on the GTK EWS queue
11061         https://bugs.webkit.org/show_bug.cgi?id=186559
11063         Reviewed by Michael Catanzaro.
11065         Enable testing for the gtk-wk2 EWS queue.
11067         * Scripts/webkitpy/common/config/ews.json:
11069 2018-06-14  Valerie R Young  <valerie@bocoup.com>
11071         [test262-runner] Test output should summarize tests that are
11072         unexpectedly passing/failing.
11073         https://bugs.webkit.org/show_bug.cgi?id=186527
11075         Reviewed by Michael Saboff.
11077         * Scripts/test262/Runner.pm:
11078         (main):
11079           In verbose mode, a summary of all new failing tests
11080           and all new passing tests are printed at the end of
11081           the script output.
11083 2018-06-14  Zan Dobersek  <zdobersek@igalia.com>
11085         [GTK][WPE] MiniBrowsers should be able to ignore TLS errors
11086         https://bugs.webkit.org/show_bug.cgi?id=186557
11088         Reviewed by Carlos Garcia Campos.
11090         Add the --ignore-tls-errors flags to the GTK and WPE MiniBrowsers.
11091         Enabling the flag enforces ignoring of TLS errors that occur during
11092         load. This is primarily useful for loading test cases from the wpt or
11093         run-webkit-httpd servers where testing-purpose certificates are used.
11095         * MiniBrowser/gtk/main.c:
11096         (main):
11097         * MiniBrowser/wpe/main.cpp:
11098         (main):
11100 2018-06-13  Adrian Perez de Castro  <aperez@igalia.com>
11102         [WPE] Trying to access the remote inspector hits an assertion in the UIProcess
11103         https://bugs.webkit.org/show_bug.cgi?id=186588
11105         Reviewed by Carlos Garcia Campos.
11107         Make both the WPE and GTK+ ports use /org/webkit/inspector as base prefix
11108         for resource paths, which avoids needing a switcheroo depending on the port.
11110         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
11111         (WTR::TestRunner::inspectorTestStubURL):
11112         * glib/generate-inspector-gresource-manifest.py:
11114 2018-06-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11116         [GTK] Add a script to upload the data generated with run-benchmark to a browserperfdash server and use it on the gtk perf bot
11117         https://bugs.webkit.org/show_bug.cgi?id=166885
11119         Reviewed by Michael Catanzaro.
11121         This patch adds a new script that will execute run-benchmark and upload the results it generates to a browserperfdash web app.
11123         It also modifies the buildbot config file so the GTK performance bot runs this script on the perf-test step.
11125         * BuildSlaveSupport/build.webkit.org-config/steps.py:
11126         (RunBenchmarkTests):
11127         * Scripts/browserperfdash-benchmark: Added.
11128         * Scripts/webkitpy/browserperfdash/README: Added.
11129         * Scripts/webkitpy/browserperfdash/__init__.py: Added.
11130         * Scripts/webkitpy/browserperfdash/browserperfdash_runner.py: Added.
11131         (parse_args):
11132         (BrowserPerfDashRunner):
11133         (BrowserPerfDashRunner.__init__):
11134         (BrowserPerfDashRunner._parse_config_file):
11135         (BrowserPerfDashRunner._get_test_version_string):
11136         (BrowserPerfDashRunner._get_test_data_json_string):
11137         (BrowserPerfDashRunner._upload_result):
11138         (BrowserPerfDashRunner.run):
11139         (format_logger):
11140         (main):
11141         * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: Added.
11142         (FakeBenchmarkRunner):
11143         (FakeBenchmarkRunner.__init__):
11144         (FakeBenchmarkRunner.execute):
11145         (BrowserPerfDashRunnerTest):
11146         (BrowserPerfDashRunnerTest.test_list_plans_at_least_five):
11147         (BrowserPerfDashRunnerTest.test_benchmark_runner_subclasses_at_least_two):
11148         (BrowserPerfDashRunnerTest.test_can_construct_runner_object_minimum_parameters):
11149         * Scripts/webkitpy/browserperfdash/config-file-example.txt: Added.
11151 2018-06-13  David Fenton  <david_fenton@apple.com>
11153         Unreviewed, add myself as a WebKit committer.
11155         * Scripts/webkitpy/common/config/contributors.json:
11157 2018-06-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11159         [JSCOnly] Add a MIPS32el JSCOnly EWS (follow-up fix)
11160         https://bugs.webkit.org/show_bug.cgi?id=186523
11162         Unreviewed follow-up fix after r232748
11164         * Scripts/webkitpy/common/config/ports.py:
11165         (JscOnlyPort.build_jsc_command): It is needed to pass a --jsc-only argument to the build-jsc script.
11166         * Scripts/webkitpy/common/config/ports_unittest.py:
11167         (DeprecatedPortTest.test_jsconly_port):
11169 2018-06-12  Thibault Saunier  <tsaunier@igalia.com>
11171         webkitpy: Implement coredumpctl support on linux
11172         https://bugs.webkit.org/show_bug.cgi?id=184039
11174         Reviewed by Daniel Bates.
11176         And start using an Executive to run subprocesses
11177         in GDBCrashLogGenerator.
11179         Unit tests adapted to the new API and still passing.
11181         * Scripts/webkitpy/port/linux_get_crash_log.py:
11182         (GDBCrashLogGenerator):
11183         (GDBCrashLogGenerator._get_trace_from_systemd):
11184         (GDBCrashLogGenerator.generate_crash_log):
11186 2018-06-12  Valerie R Young  <valerie@bocoup.com>
11188         test262/Runner.pm: fix one test (can't find jsc)
11189         https://bugs.webkit.org/show_bug.cgi?id=186573
11191         Reviewed by Michael Saboff.
11193         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl:
11194         fix subtest to use mock JSC
11196 2018-06-12  Tim Horton  <timothy_horton@apple.com>
11198         Add a API test for r232601
11199         https://bugs.webkit.org/show_bug.cgi?id=186417
11201         Reviewed by Wenson Hsieh.
11203         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
11204         (immediateSubviewOfClass):
11205         (TEST):
11206         Ensure that we put the view hierarchy back together (move WKContentView
11207         out of the animated resize view) and unhide WKContentView after a
11208         resize-with-hidden-content.
11210 2018-06-12  Valerie R Young  <valerie@bocoup.com>
11212         test262/Runner.pm: add unit tests
11213         https://bugs.webkit.org/show_bug.cgi?id=185783
11215         Reviewed by Michael Saboff.
11217         * Scripts/webkitperl/test262_unittest/README: Added.
11218         * Scripts/webkitperl/test262_unittest/fixtures/expectations-compare.yaml: Added.
11219         * Scripts/webkitperl/test262_unittest/fixtures/expectations.yaml: Added.
11220         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail-new-error.pl: Added.
11221         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-fail.pl: Added.
11222         * Scripts/webkitperl/test262_unittest/fixtures/mock-jsc-pass.pl: Added.
11223         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing-with-new-error.js: Added.
11224         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing.js: Added.
11225         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-passing.js: Added.
11226         (f):
11227         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-pass-now-failing.js: Added.
11228         * Scripts/webkitperl/test262_unittest/fixtures/test/fail.js: Added.
11229         * Scripts/webkitperl/test262_unittest/fixtures/test/pass.js: Added.
11230         (f):
11231         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl: Added.
11233 2018-06-12  Valerie R Young  <valerie@bocoup.com>
11235         test262/Runner.pm: minor updates
11236         https://bugs.webkit.org/show_bug.cgi?id=186399
11238         - If harness files cannot be found in a CLI supplied
11239         test262 path, then default to webkit's test262 harness files.
11240         - Lazily create the test262-results directory (only right before
11241         writing to it)
11242        - If an expectation file is supplied via the CLI, save to the
11243         supplied location instead of the default webkit location
11244         (JSTest/test262/expectation.yaml).
11246         Reviewed by Michael Saboff.
11248         * Scripts/test262/Runner.pm:
11249         (processCLI):
11250         (main):
11251         (compileTest):
11252         (processResult):
11253         (getHarness):
11254         (summarizeResults):
11256 2018-06-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
11258         [JSCOnly] Add a MIPS32el JSCOnly EWS
11259         https://bugs.webkit.org/show_bug.cgi?id=186523
11261         Reviewed by Michael Catanzaro.
11263         Add a new jsc-mips-ews queue that will execute build-jsc for the jsc-only (Linux) port.
11264         The worker(s) on this queue should be pre-configured to cross-build JSC for MIPS32el.
11266         * QueueStatusServer/config/queues.py:
11267         * QueueStatusServer/model/queues.py:
11268         (Queue.display_name):
11269         * Scripts/webkitpy/common/config/ews.json:
11270         * Scripts/webkitpy/common/config/ports.py:
11271         (DeprecatedPort.port):
11272         (WpePort.run_webkit_tests_command):
11273         (JscOnlyPort):
11274         (JscOnlyPort.build_jsc_command):
11275         * Scripts/webkitpy/common/config/ports_unittest.py:
11276         (DeprecatedPortTest.test_wincairo_port):
11277         (DeprecatedPortTest):
11278         (DeprecatedPortTest.test_jsconly_port):
11279         * Scripts/webkitpy/port/factory.py:
11280         (PortFactory):
11281         * Scripts/webkitpy/port/jsc_only.py: Added. Add a basic port definition. Required by the EWS tooling.
11282         (JscOnlyPort):
11283         (JscOnlyPort.__init__):
11284         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
11285         (test_ews_name):
11287 2018-06-12  Zan Dobersek  <zdobersek@igalia.com>
11289         Add run-web-platform-tests script
11290         https://bugs.webkit.org/show_bug.cgi?id=183356
11292         Reviewed by Carlos Alberto Lopez Perez.
11294         Add the run-web-platform-tests script that allows running WebKit builds
11295         against the external web-platform-tests project.
11297         The script sets up all the port-specific information, including the
11298         display driver. If no web-platform-tests repository location is
11299         specified, the TestDownloader utility is used to clone the repository,
11300         and path to that clone is leveraged instead.
11302         Port-specific TestManifest.ini and TestExpectations.json file paths are
11303         then constructed, bailing if any of the files is missing. The JSON file
11304         is then used to construct the metadata file tree, creating an .ini file
11305         for each test that is disabled, has a certain expectation, or has
11306         subtests that themselves have certain expectations. This metadata tree
11307         is built under the build directory, and is purged and reconstructed for
11308         each separate run.
11310         Lastly, the WPT python module is imported from the web-platform-tests
11311         source location, and wpt.main() is invoked along with all the necessary
11312         arguments that set up a web-platform-tests suite run using the WebKit
11313         product.
11315         * Scripts/run-web-platform-tests: Added.
11316         * Scripts/webkitpy/common/config/ports_mock.py:
11317         (MockPort.run_bindings_tests_command):
11318         (MockPort):
11319         (MockPort.wpt_metadata_directory):
11320         (MockPort.wpt_manifest_file):
11321         * Scripts/webkitpy/port/base.py:
11322         (Port.wpt_metadata_directory):
11323         (Port):
11324         (Port.wpt_manifest_file):
11325         * Scripts/webkitpy/w3c/common.py:
11326         (is_file_exportable):
11327         (WPTPaths):
11328         (WPTPaths.checkout_directory):
11329         (WPTPaths.wpt_checkout_path):
11330         * Scripts/webkitpy/w3c/test_downloader.py:
11331         (TestDownloader.clone_tests):
11332         (TestDownloader):
11333         (TestDownloader.download_tests):
11334         * Scripts/webkitpy/w3c/test_exporter.py:
11335         (WebPlatformTestExporter.__init__):
11336         * Scripts/webkitpy/w3c/wpt_runner.py: Added.
11337         (main):
11338         (parse_args):
11339         (create_webdriver):
11340         (spawn_wpt):
11341         (WPTRunner):
11342         (WPTRunner.__init__):
11343         (WPTRunner._prepare_wpt_checkout):
11344         (WPTRunner._generate_metadata_directory):
11345         (WPTRunner.run):
11346         * Scripts/webkitpy/w3c/wpt_runner_unittest.py: Added.
11347         (WPTRunnerTest):
11348         (WPTRunnerTest.MockTestDownloader):
11349         (WPTRunnerTest.MockTestDownloader.default_options):
11350         (WPTRunnerTest.MockTestDownloader.__init__):
11351         (WPTRunnerTest.MockTestDownloader.clone_tests):
11352         (WPTRunnerTest.MockWebDriver):
11353         (WPTRunnerTest.MockWebDriver.create):
11354         (WPTRunnerTest.MockWebDriver.binary_path):
11355         (WPTRunnerTest.MockWebDriver.browser_path):
11356         (WPTRunnerTest.MockWebDriver.browser_args):
11357         (WPTRunnerTest.MockSpawnWPT):
11358         (WPTRunnerTest.MockSpawnWPT.__init__):
11359         (WPTRunnerTest.MockSpawnWPT.__call__):
11360         (WPTRunnerTest.TestInstance):
11361         (WPTRunnerTest.TestInstance.__init__):
11362         (WPTRunnerTest.TestInstance.prepare_mock_files_for_run):
11363         (WPTRunnerTest.test_prepare_wpt_checkout):
11364         (WPTRunnerTest.test_prepare_wpt_checkout_specified_path):
11365         (WPTRunnerTest.test_generate_metadata_directory):
11366         (WPTRunnerTest.test_run):
11367         (WPTRunnerTest.test_run_with_specified_options):
11368         (WPTRunnerTest.test_run_with_args):
11370 2018-06-11  Mark Lam  <mark.lam@apple.com>
11372         Add support for webkit-test-runner jscOptions in DumpRenderTree and WebKitTestRunner.
11373         https://bugs.webkit.org/show_bug.cgi?id=186451
11374         <rdar://problem/40875792>
11376         Reviewed by Tim Horton.
11378         This jscOptions option can be used by a layout test to specify some JSC runtime
11379         options needed by the test e.g. by adding something like this to the top of the
11380         html file after the DOCTYPE tag:
11381             <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true ] -->
11383         If more than one option is needed, the options can be specified as a comma
11384         separated string e.g.
11385             <!-- webkit-test-runner [ jscOptions=--useIntlPluralRules=true,--useZombieMode=true ] -->
11387         This only works with JSC options that can be changed at runtime.  Not all JSC
11388         options can be changed this way as some options are only checked and set once at
11389         VM / process initialization time: changing this type of options may have no
11390         effect.  It's the test writer's responsibility to determine which options are
11391         appropriate for with this webkit-test-runner jscOptions option.
11393         This implementation is a workaround until we can change the run-webkit-tests
11394         scripts to parse the option and apply it to a new launch of DRT or WKTR:
11395         https://bugs.webkit.org/show_bug.cgi?id=186452
11397         * DumpRenderTree/TestOptions.cpp:
11398         (TestOptions::TestOptions):
11399         (TestOptions::webViewIsCompatibleWithOptions const):
11400         * DumpRenderTree/TestOptions.h:
11401         * DumpRenderTree/mac/DumpRenderTree.mm:
11402         (setJSCOptions):
11403         (resetWebViewToConsistentStateBeforeTesting):
11404         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
11405         (WTR::InjectedBundle::didReceiveMessageToPage):
11406         * WebKitTestRunner/TestController.cpp:
11407         (WTR::TestController::resetStateToConsistentValues):
11408         (WTR::updateTestOptionsFromTestHeader):
11409         * WebKitTestRunner/TestOptions.h:
11410         (WTR::TestOptions::hasSameInitializationOptions const):
11412 2018-06-11  Brady Eidson  <beidson@apple.com>
11414         Add a command line default to force WebKitTestRunner to turn on process swap on navigation.
11415         https://bugs.webkit.org/show_bug.cgi?id=186534
11417         Reviewed by Chris Dumez.
11419         Right now Process Swap On Navigation is enabled on a per-test basis.
11420         The future is to enable it by default.
11422         Adding a 'defaults write' helps us get to that future.
11424         * WebKitTestRunner/TestController.cpp:
11425         (WTR::TestController::testOptionsForTest const):
11426         (WTR::TestController::platformAddTestOptions const):
11427         * WebKitTestRunner/TestController.h:
11428         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
11429         (WTR::TestController::platformAddTestOptions const):
11431 2018-06-11  Chris Dumez  <cdumez@apple.com>
11433         Allow enabling PSON in layout tests without window.open support
11434         https://bugs.webkit.org/show_bug.cgi?id=186537
11436         Reviewed by Geoffrey Garen.
11438         Allow enabling PSON in layout tests without window.open support since window.open support
11439         is far from being ready and we plan to enable PSON in layout tests soon.
11441         * WebKitTestRunner/TestController.cpp:
11442         (WTR::TestController::createWebViewWithOptions):
11443         (WTR::updateTestOptionsFromTestHeader):
11444         * WebKitTestRunner/TestOptions.h:
11445         (WTR::TestOptions::hasSameInitializationOptions const):
11447 2018-06-11  Brady Eidson  <beidson@apple.com>
11449         Followup to [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
11450         https://bugs.webkit.org/show_bug.cgi?id=186436
11452         Patch by Darin Adler
11453         Reviewed by Brady Eidson.
11455         * TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
11456         (TestWebKitAPI::TEST):
11458 2018-06-11  Mark Lam  <mark.lam@apple.com>
11460         Gardening: skip BigInt tests on iOS until the feature is stable.
11461         <rdar://problem/40331121>
11463         Not reviewed.
11465         * Scripts/run-jsc-stress-tests:
11467 2018-06-11  Fujii Hironori  <Hironori.Fujii@sony.com>
11469         [Win][MiniBrowser] Add WebKitBrowserWindow class for modern WebKit API
11470         https://bugs.webkit.org/show_bug.cgi?id=186478
11472         Reviewed by Alex Christensen.
11474         Added "New WebKit Window" and "New WebKitLegacy Window" menu
11475         items. Disabled the menu item "New WebKit Window" if
11476         !ENABLE(WEBKIT).
11478         * MiniBrowser/win/CMakeLists.txt: Added WebKitBrowserWindow.cpp
11479         source file and ENABLE_WEBKIT macro if ENABLE_WEBKIT.
11480         * MiniBrowser/win/MainWindow.cpp:
11481         (MainWindow::MainWindow):
11482         (MainWindow::create):
11483         (MainWindow::init):
11484         (MainWindow::WndProc):
11485         * MiniBrowser/win/MainWindow.h:
11486         * MiniBrowser/win/MiniBrowserLib.rc:
11487         * MiniBrowser/win/MiniBrowserLibResource.h:
11488         * MiniBrowser/win/PrintWebUIDelegate.cpp:
11489         (PrintWebUIDelegate::createWebViewWithRequest):
11490         * MiniBrowser/win/WebKitBrowserWindow.cpp: Added.
11491         (createString):
11492         (toUtf8):
11493         (createWKString):
11494         (createWKURL):
11495         (WebKitBrowserWindow::create):
11496         (WebKitBrowserWindow::WebKitBrowserWindow):
11497         (WebKitBrowserWindow::init):
11498         (WebKitBrowserWindow::hwnd):
11499         (WebKitBrowserWindow::loadURL):
11500         (WebKitBrowserWindow::loadHTMLString):
11501         (WebKitBrowserWindow::navigateForwardOrBackward):
11502         (WebKitBrowserWindow::navigateToHistory):
11503         (WebKitBrowserWindow::setPreference):
11504         (WebKitBrowserWindow::print):
11505         (WebKitBrowserWindow::launchInspector):
11506         (WebKitBrowserWindow::setUserAgent):
11507         (WebKitBrowserWindow::userAgent):
11508         (WebKitBrowserWindow::showLayerTree):
11509         (WebKitBrowserWindow::updateStatistics):
11510         (WebKitBrowserWindow::resetZoom):
11511         (WebKitBrowserWindow::zoomIn):
11512         (WebKitBrowserWindow::zoomOut):
11513         (toWebKitBrowserWindow):
11514         (WebKitBrowserWindow::didReceiveTitleForFrame):
11515         (WebKitBrowserWindow::didCommitLoadForFrame):
11516         * MiniBrowser/win/WebKitBrowserWindow.h:
11517         * MiniBrowser/win/WinMain.cpp:
11518         (wWinMain):
11520 2018-06-11  Keith Miller  <keith_miller@apple.com>
11522         Add missing whitespace to run-jsc command
11523         https://bugs.webkit.org/show_bug.cgi?id=186528
11525         Reviewed by Mark Lam.
11527         * Scripts/run-jsc:
11529 2018-06-11  Philippe Normand  <pnormand@igalia.com>
11531         [webkitpy] PHP7.2 support on Debian platforms
11532         https://bugs.webkit.org/show_bug.cgi?id=186521
11534         Reviewed by Michael Catanzaro.
11536         * Scripts/webkitpy/port/base.py:
11537         (Port._debian_php_version): Refactor and add PHP 7.2 version support.
11539 2018-06-11  Carlos Garcia Campos  <cgarcia@igalia.com>
11541         Unreviewed. Fix WPE API and layout tests after r232670.
11543         Now that dyz is not installed, there's not -default.so symlink for the WPE backend, so we need to use
11544         WPE_BACKEND_LIBRARY environment variable to ensure tests are run with fdo backend.
11546         * Scripts/run-wpe-tests:
11547         (WPETestRunner.__init__):
11548         (WPETestRunner):
11549         (WPETestRunner.setup_testing_environment):
11550         * Scripts/webkitpy/port/wpe.py:
11551         (WPEPort.setup_environ_for_server):
11552         * glib/api_test_runner.py:
11553         (TestRunner.setup_testing_environment):
11554         (TestRunner.run_tests):
11555         (TestRunner._setup_testing_environment): Deleted.
11557 2018-06-10  Carlos Garcia Campos  <cgarcia@igalia.com>
11559         [GTK][WPE] Add API run run javascript from a WebKitWebView in an isolated world
11560         https://bugs.webkit.org/show_bug.cgi?id=186192
11562         Reviewed by Michael Catanzaro.
11564         Add tests cases for the new API.
11566         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
11567         (testWebViewRunJavaScript):
11568         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
11569         (methodCallCallback):
11570         (webkit_web_extension_initialize_with_user_data):
11571         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
11572         (runJavaScriptInWorldReadyCallback):
11573         (WebViewTest::runJavaScriptFromGResourceAndWaitUntilFinished):
11574         (WebViewTest::runJavaScriptInWorldAndWaitUntilFinished):
11575         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
11577 2018-06-10  Carlos Garcia Campos  <cgarcia@igalia.com>
11579         [WPE] Add a MiniBrowser and use it to run WebDriver tests
11580         https://bugs.webkit.org/show_bug.cgi?id=186345
11582         Reviewed by Å½an DoberÅ¡ek.
11584         Most of the code is based on dyz and gtk MiniBrowser. This patch adds a new internal library WPEToolingBackends,
11585         including the headless view backend and a new window backend to be used by the MiniBrowser. MiniBrowser can also
11586         run in headless mode, by using the headless backend instead of the window one, which will allow us to run the
11587         WebDriver tests in the bots.
11589         * CMakeLists.txt:
11590         * MiniBrowser/wpe/CMakeLists.txt: Added.
11591         * MiniBrowser/wpe/main.cpp: Added.
11592         (automationStartedCallback):
11593         (createViewBackend):
11594         (main):
11595         * Scripts/run-minibrowser: Remove WPE specific code.
11596         * Scripts/run-webdriver-tests: Add headless display-server option.
11597         * Scripts/webkitdirs.pm:
11598         (launcherName): Remove WPE specific code.
11599         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
11600         (WebDriverWPE.browser_name): Return MiniBrowser.
11601         (WebDriverWPE.browser_path): Return the path to the MiniBrowser in build dir.
11602         (WebDriverWPE.browser_args): Add --headless when running in headless mode.
11603         (WebDriverWPE.capabilities): Use the full browser path.
11604         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
11605         (WebDriverTestRunnerSelenium.collect_tests): Fix early return value.
11606         * TestWebKitAPI/PlatformWPE.cmake: Use WPEToolingBackends instead of HeadlessViewBackend.
11607         * TestWebKitAPI/PlatformWebView.h: Ditto.
11608         * TestWebKitAPI/glib/PlatformWPE.cmake: Ditto
11609         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
11610         (Test::createWebViewBackend): Ditto.
11611         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
11612         (TestWebKitAPI::PlatformWebView::initialize): Ditto.
11613         * WebKitTestRunner/PlatformWPE.cmake: Ditto.
11614         * WebKitTestRunner/PlatformWebView.h: Ditto.
11615         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
11616         (WTR::PlatformWebView::PlatformWebView): Ditto.
11617         * wpe/HeadlessViewBackend/CMakeLists.txt: Removed.
11618         * wpe/backends/CMakeLists.txt: Added.
11619         * wpe/backends/HeadlessViewBackend.cpp: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.cpp.
11620         (WPEToolingBackends::getEGLDisplay):
11621         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
11622         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
11623         (WPEToolingBackends::HeadlessViewBackend::createSnapshot):
11624         (WPEToolingBackends::HeadlessViewBackend::performUpdate):
11625         (WPEToolingBackends::HeadlessViewBackend::displayBuffer):
11626         * wpe/backends/HeadlessViewBackend.h: Renamed from Tools/wpe/HeadlessViewBackend/HeadlessViewBackend.h.
11627         * wpe/backends/ViewBackend.cpp: Added.
11628         (WPEToolingBackends::ViewBackend::ViewBackend):
11629         (WPEToolingBackends::ViewBackend::~ViewBackend):
11630         (WPEToolingBackends::ViewBackend::initialize):
11631         (WPEToolingBackends::ViewBackend::setInputClient):
11632         (WPEToolingBackends::ViewBackend::backend const):
11633         (WPEToolingBackends::ViewBackend::dispatchInputPointerEvent):
11634         (WPEToolingBackends::ViewBackend::dispatchInputAxisEvent):
11635         (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent):
11636         * wpe/backends/ViewBackend.h: Added.
11637         * wpe/backends/WindowViewBackend.cpp: Added.
11638         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
11639         (WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
11640         (WPEToolingBackends::WindowViewBackend::displayBuffer):
11641         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
11642         * wpe/backends/WindowViewBackend.h: Added.
11643         * wpe/jhbuild.modules: Remove dyz and add wayland-protocols.
11645 2018-06-10  Fujii Hironori  <Hironori.Fujii@sony.com>
11647         [Win][MiniBrowser] MiniBrowser class should be renamed to WebKitLegacyBrowserWindow
11648         https://bugs.webkit.org/show_bug.cgi?id=186427
11650         Reviewed by Ryosuke Niwa.
11652         * MiniBrowser/win/AccessibilityDelegate.cpp:
11653         * MiniBrowser/win/AccessibilityDelegate.h:
11654         (AccessibilityDelegate::AccessibilityDelegate):
11655         * MiniBrowser/win/CMakeLists.txt: Removed MiniBrowser.cpp. Added WebKitLegacyBrowserWindow.cpp.
11656         * MiniBrowser/win/Common.h:
11657         * MiniBrowser/win/MainWindow.cpp:
11658         (MainWindow::init):
11659         * MiniBrowser/win/MainWindow.h:
11660         * MiniBrowser/win/MiniBrowserWebHost.cpp:
11661         * MiniBrowser/win/MiniBrowserWebHost.h:
11662         (MiniBrowserWebHost::MiniBrowserWebHost):
11663         * MiniBrowser/win/PageLoadTestClient.cpp:
11664         (PageLoadTestClient::PageLoadTestClient):
11665         * MiniBrowser/win/PageLoadTestClient.h:
11666         * MiniBrowser/win/PrintWebUIDelegate.cpp:
11667         (PrintWebUIDelegate::createWebViewWithRequest):
11668         * MiniBrowser/win/PrintWebUIDelegate.h:
11669         (PrintWebUIDelegate::PrintWebUIDelegate):
11670         * MiniBrowser/win/ResourceLoadDelegate.cpp:
11671         * MiniBrowser/win/ResourceLoadDelegate.h:
11672         (ResourceLoadDelegate::ResourceLoadDelegate):
11673         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: Renamed from Tools/MiniBrowser/win/MiniBrowser.cpp.
11674         * MiniBrowser/win/WebKitLegacyBrowserWindow.h: Renamed from Tools/MiniBrowser/win/MiniBrowser.h.
11675         * MiniBrowser/win/WebDownloadDelegate.cpp:
11676         (WebDownloadDelegate::WebDownloadDelegate):
11677         * MiniBrowser/win/WebDownloadDelegate.h:
11679 2018-06-10  Chris Dumez  <cdumez@apple.com>
11681         Reload the Web view in case of crash if the client does not implement webViewWebContentProcessDidTerminate delegate
11682         https://bugs.webkit.org/show_bug.cgi?id=186468
11684         Reviewed by Geoffrey Garen.
11686         Add API test coverage.
11688         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
11689         (-[BasicNavigationDelegateWithoutCrashHandler webView:didStartProvisionalNavigation:]):
11690         (-[BasicNavigationDelegateWithoutCrashHandler webView:didFinishNavigation:]):
11691         (TEST):
11693 2018-06-10  Michael Catanzaro  <mcatanzaro@igalia.com>
11695         [WPE][GTK] paypal.com requires user agent quirk
11696         https://bugs.webkit.org/show_bug.cgi?id=186466
11698         Reviewed by Carlos Garcia Campos.
11700         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
11701         (TestWebKitAPI::TEST):
11703 2018-06-09  Dan Bernstein  <mitz@apple.com>
11705         [Xcode] Clean up and modernize some build setting definitions
11706         https://bugs.webkit.org/show_bug.cgi?id=186463
11708         Reviewed by Sam Weinig.
11710         * DumpRenderTree/mac/Configurations/Base.xcconfig: Removed definition for macOS 10.11.
11711           Simplified the definition of WK_PRIVATE_FRAMEWORK_STUBS_DIR now that
11712           WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all supported Xcode versions.
11713         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Removed definition for macOS
11714           10.11.
11715         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
11716         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
11717         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
11718         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
11719         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Simplified the definitions of
11720           ENABLE_APPLE_PAY and ENABLE_VIDEO_PRESENTATION_MODE now macOS 10.12 is the earliest
11721           supported version.
11722         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Removed definitions for
11723           macOS 10.11.
11724         * WebKitTestRunner/Configurations/Base.xcconfig: Ditto. Also simplified the definition of
11725           WK_PRIVATE_FRAMEWORK_STUBS_DIR now that WK_XCODE_SUPPORTS_TEXT_BASED_STUBS is true for all
11726           supported Xcode versions
11727         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Removed definition for macOS 10.11.
11729 2018-06-09  Dan Bernstein  <mitz@apple.com>
11731         Added missing file references to the Configuration group.
11733         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
11735 2018-06-08  Darin Adler  <darin@apple.com>
11737         [Cocoa] Remove all uses of NSAutoreleasePool as part of preparation for ARC
11738         https://bugs.webkit.org/show_bug.cgi?id=186436
11740         Reviewed by Anders Carlsson.
11742         * TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
11743         (TestWebKitAPI::WebKit2CustomProtocolsTest_ProcessPoolDestroyedDuringLoading):
11744         Use @autoreleasepool.
11745         * TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
11746         (TestWebKitAPI::buildAndPerformTest): Ditto.
11747         * TestWebKitAPI/Tests/mac/StopLoadingFromDidFinishLoading.mm:
11748         (TestWebKitAPI::WebKitLegacy_StopLoadingFromDidFinishLoading): Ditto.
11750 2018-06-08  Wenson Hsieh  <wenson_hsieh@apple.com>
11752         [WebKit on watchOS] Upstream watchOS source additions to OpenSource (Part 1)
11753         https://bugs.webkit.org/show_bug.cgi?id=186442
11754         <rdar://problem/40879364>
11756         Reviewed by Tim Horton.
11758         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
11760 2018-06-08  Alicia Boya García  <aboya@igalia.com>
11762         [GTK] Update to libva-2.1.0 in jhbuild
11763         https://bugs.webkit.org/show_bug.cgi?id=186434
11765         Reviewed by Philippe Normand.
11767         * gstreamer/jhbuild.modules:
11769 2018-06-07  Yusuke Suzuki  <utatane.tea@gmail.com>
11771         [WTF] Add WorkerPool
11772         https://bugs.webkit.org/show_bug.cgi?id=174569
11774         Reviewed by Carlos Garcia Campos.
11776         * TestWebKitAPI/CMakeLists.txt:
11777         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
11778         * TestWebKitAPI/Tests/WTF/WorkerPool.cpp: Added.
11779         (TestWebKitAPI::TEST):
11781 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
11783         [Win][MiniBrowser] Add a new BrowserWindow interface to abstract WK1 and WK2 BrowserWindow
11784         https://bugs.webkit.org/show_bug.cgi?id=186421
11786         Reviewed by Ryosuke Niwa.
11788         This is the core patch to make MiniBrowser to support WK1 and WK2
11789         windows (Bug 184770).
11791         I will rename MiniBrowser class to WK1BrowserWindow in a follow-up
11792         patch (Bug 184770 Comment 12).
11794         * MiniBrowser/win/BrowserWindow.h: Added.
11795         * MiniBrowser/win/MainWindow.cpp:
11796         (MainWindow::WndProc):
11797         * MiniBrowser/win/MainWindow.h:
11798         (MainWindow::browserWindow const):
11799         * MiniBrowser/win/MiniBrowser.cpp:
11800         (MiniBrowser::create):
11801         (MiniBrowser::navigateForwardOrBackward): Removed the unsed first argument hWnd.
11802         (MiniBrowser::navigateToHistory): Ditto.
11803         * MiniBrowser/win/MiniBrowser.h: Inherit BrowserWindow interface.
11804         Make all other methods private and make delegates classes friends.
11805         * MiniBrowser/win/PrintWebUIDelegate.cpp:
11806         (PrintWebUIDelegate::createWebViewWithRequest):
11808 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
11810         [Win][MiniBrowser] MiniBrowser::updateDeviceScaleFactor should be a MainWindow's method
11811         https://bugs.webkit.org/show_bug.cgi?id=186387
11813         Reviewed by Ryosuke Niwa.
11815         MiniBrowser::updateDeviceScaleFactor does nothing for MiniBrowser.
11816         It should be a MainWindow's method.
11818         * MiniBrowser/win/MainWindow.cpp:
11819         (MainWindow::init): Call MainWindow::updateDeviceScaleFactor.
11820         (MainWindow::resizeSubViews): Do not set a font every time window size is changed.
11821         (MainWindow::WndProc): Call MainWindow::updateDeviceScaleFactor on WM_DPICHANGED.
11822         (MainWindow::updateDeviceScaleFactor): Converted from
11823         MiniBrowser::updateDeviceScaleFactor and
11824         MiniBrowser::generateFontForScaleFactor. Set a URL bar's font if DPI is changed.
11825         * MiniBrowser/win/MainWindow.h:
11826         * MiniBrowser/win/MiniBrowser.cpp:
11827         (MiniBrowser::init):
11828         (MiniBrowser::generateFontForScaleFactor): Deleted.
11829         (MiniBrowser::updateDeviceScaleFactor): Deleted.
11830         * MiniBrowser/win/MiniBrowser.h:
11831         (MiniBrowser::deviceScaleFactor): Deleted.
11832         (MiniBrowser::urlBarFont): Deleted.
11834 2018-06-07  Jonathan Bedard  <jbedard@apple.com>
11836         [webkitpy] Treat svn versions as Version objects
11837         https://bugs.webkit.org/show_bug.cgi?id=186403
11838         <rdar://problem/40904860>
11840         Reviewed by Dan Bernstein.
11842         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
11843         * Scripts/webkitpy/common/checkout/scm/svn.py:
11844         (SVN.svn_version): Return Version object instead of string.
11845         (SVN._status_regexp): Convert version string to Version object.
11846         (SVN.add_list): Ditto.
11848 2018-06-07  Tadeu Zagallo  <tzagallo@apple.com>
11850         Don't try to allocate JIT memory if we don't have the JIT entitlement
11851         https://bugs.webkit.org/show_bug.cgi?id=182605
11852         <rdar://problem/38271229>
11854         Reviewed by Mark Lam.
11856         Add the Security framework to the TestWTF target, since it's required by the new function to check the entitlements.
11858         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
11860 2018-06-07  Mark Lam  <mark.lam@apple.com>
11862         Enhance run-jsc-stress-tests to allow a test to specify test specific options required for it to run.
11863         https://bugs.webkit.org/show_bug.cgi?id=186409
11864         <rdar://problem/40909007>
11866         Reviewed by Saam Barati.
11868         This is needed because some tests are written with specific features in mind, and
11869         we may not necessarily want to enable that option for all tests.
11871         We can now specify something like this at the top of a test file:
11872             //@ requireOptions("--useIntlPluralRules=true")
11874         ... and ensure that that test will be run with the --useIntlPluralRules=true
11875         option for all test configurations that run the test.
11877         * Scripts/run-jsc-stress-tests:
11879 2018-06-07  Tim Horton  <timothy_horton@apple.com>
11881         REGRESSION (r232544): [iOS] TestWebKitAPI.WebKit.OverrideLayoutSizeChangesDuringAnimatedResizeSucceed is failing
11882         https://bugs.webkit.org/show_bug.cgi?id=186395
11883         <rdar://problem/40902427>
11885         Reviewed by Wenson Hsieh.
11887         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
11888         (TEST):
11889         endAnimatedResize no longer synchronizes, so we have to wait for the next presentation update.
11891 2018-06-07  Thibault Saunier  <tsaunier@igalia.com>
11893         [GTK][WPE] Start implementing MediaStream API
11894         https://bugs.webkit.org/show_bug.cgi?id=185787
11896         Reviewed by Philippe Normand.
11898         * Scripts/webkitpy/style/checker.py: Apply special formatting rules for new GObject subclasses.
11899         * gstreamer/jhbuild.modules: Added a patch for the gst-plugins-base.
11900         * gstreamer/patches/gst-plugins-base-0001-parsebin-Post-STREAM_COLLECTION-on-EVENT_STREAM_COLL.patch:
11901         Added this fix to gst-plugings-base to fix the decodebin3. Merged as 89d0e9cc92a86aa0227ee87406737b6d31670aea
11903 2018-06-07  Brendan McLoughlin  <brendan@bocoup.com>
11905         Update web-platform-tests github location in webkitpy.w3c.test_importer
11906         https://bugs.webkit.org/show_bug.cgi?id=186392
11908         Reviewed by Youenn Fablet.
11910         * Scripts/webkitpy/w3c/test_importer.py:
11911         (TestImporter.write_import_log):
11913 2018-06-07  Jonathan Bedard  <jbedard@apple.com>
11915         webkitperl: Generalize .internal SDK suffix
11916         https://bugs.webkit.org/show_bug.cgi?id=186352
11917         <rdar://problem/40853947>
11919         Reviewed by Alexey Proskuryakov.
11921         * Scripts/build-webkit:
11922         * Scripts/package-root:
11923         (usage):
11924         * Scripts/webkitdirs.pm:
11925         (parseAvailableXcodeSDKS): Parse 'xcodebuild -showsdks' output.
11926         (availableXcodeSDKS): Generate a list of all available Xcode SDKs on this machine.
11927         (determineXcodeSDK): Always prefer .internal SDKs if available.
11928         * Scripts/webkitperl/webkitdirs_unittest/availableXcodeSDKS.pl:
11930 2018-06-07  Fujii Hironori  <Hironori.Fujii@sony.com>
11932         [Win][MiniBrowser] Support multiple windows properly
11933         https://bugs.webkit.org/show_bug.cgi?id=186263
11935         Reviewed by Ryosuke Niwa.
11937         The current implementation of
11938         PrintWebUIDelegate::createWebViewWithRequest is wrong. It is using
11939         CreateProcess to open a new window, and doesn't return the new
11940         instance of IWebView. As the result, for example, window.close
11941         doesn't work as expected.
11943         In this change, a new MainWindow is created and return the
11944         IWebView in PrintWebUIDelegate::createWebViewWithRequest.
11946         In addition to it, this change unifies the lifetime of MiniBrowser
11947         and its delegates AccessibilityDelegate, PrintWebUIDelegate,
11948         ResourceLoadDelegate and WebDownloadDelegate in order to keep
11949         MiniBrowser alive as long as the delegates live. Because the
11950         window of webview keeps references of such delegates and accesses
11951         those after MiniBrowser destruction.
11953         * MiniBrowser/win/MainWindow.h: Added s_numInstances class member
11954         to count the number of instance to close the application. Do not
11955         use unique_ptr for m_browserWindow because it has ref count now.
11956         * MiniBrowser/win/MainWindow.cpp:
11957         (MainWindow::MainWindow): Increment s_numInstances.
11958         (MainWindow::~MainWindow): Decrement s_numInstances.
11959         (MainWindow::create):
11960         (MainWindow::init):
11961         (MainWindow::WndProc): Rename thiz to thisWindow. Keep this
11962         instance alive during this function by using RefPtr<MainWindow>.
11963         Deref the MainWindow instance on WM_DESTROY. Quit the application
11964         when the last MainWindow is closed.
11965         (MainWindow::cachesDialogProc): Rename thiz to thisWindow.
11966         (MainWindow::customUserAgentDialogProc): Ditto.
11967         * MiniBrowser/win/MiniBrowser.h: Added declarations AddRef and Release.
11968         * MiniBrowser/win/MiniBrowser.cpp:
11969         (MiniBrowser::create):
11970         (MiniBrowser::AddRef):
11971         (MiniBrowser::Release):
11972         (MiniBrowser::init): Passes this to the constructors of delegates.
11973         * MiniBrowser/win/AccessibilityDelegate.cpp:
11974         (AccessibilityDelegate::AddRef): Delegate to MiniBrowser.
11975         (AccessibilityDelegate::Release): Ditto.
11976         * MiniBrowser/win/AccessibilityDelegate.h: Removed m_refCount.
11977         (AccessibilityDelegate::AccessibilityDelegate):
11978         * MiniBrowser/win/MiniBrowserWebHost.cpp:
11979         (MiniBrowserWebHost::AddRef): Delegate to MiniBrowser.
11980         (MiniBrowserWebHost::Release): Ditto.
11981         * MiniBrowser/win/MiniBrowserWebHost.h: Removed m_refCount.
11982         * MiniBrowser/win/PrintWebUIDelegate.cpp:
11983         (PrintWebUIDelegate::createWebViewWithRequest): Create a new
11984         MainWindow and return the IWebView.
11985         (PrintWebUIDelegate::AddRef): Delegate to MiniBrowser.
11986         (PrintWebUIDelegate::Release): Ditto.
11987         * MiniBrowser/win/PrintWebUIDelegate.h: Removed m_refCount.
11988         (PrintWebUIDelegate::PrintWebUIDelegate):
11989         * MiniBrowser/win/ResourceLoadDelegate.cpp:
11990         (ResourceLoadDelegate::AddRef): Delegate to MiniBrowser.
11991         (ResourceLoadDelegate::Release): Ditto.
11992         * MiniBrowser/win/ResourceLoadDelegate.h: Removed m_refCount.
11993         * MiniBrowser/win/WebDownloadDelegate.cpp:
11994         (WebDownloadDelegate::WebDownloadDelegate):
11995         (WebDownloadDelegate::AddRef): Delegate to MiniBrowser.
11996         (WebDownloadDelegate::Release): Ditto.
11997         * MiniBrowser/win/WebDownloadDelegate.h: Removed m_refCount.
11999 2018-06-06  Fujii Hironori  <Hironori.Fujii@sony.com>
12001         [Win][MiniBrowser] Remove gMainWindow global variable
12002         https://bugs.webkit.org/show_bug.cgi?id=186378
12004         Reviewed by Ryosuke Niwa.
12006         I'm going to support multiple MainWindow in Bug 186263. It should
12007         not be assumed that MainWindow has only one instance. gMainWindow
12008         is used only in DisplayAuthDialog.
12010         * MiniBrowser/win/Common.cpp:
12011         (authDialogProc): Use DWLP_USER to store the dialog data.
12012         (displayAuthDialog): Moved and renamed from
12013         MainWindow::displayAuthDialog. Use DialogBoxParam instead of
12014         DialogBox to pass a data pointer. Do not return S_OK if
12015         DialogBoxParam returns -1. Take a HWND argument as the parent
12016         window.
12017         (DisplayAuthDialog): Deleted.
12018         * MiniBrowser/win/Common.h:
12019         * MiniBrowser/win/MainWindow.cpp:
12020         (authDialogProc): Moved to Common.cpp.
12021         (MainWindow::displayAuthDialog): Ditto.
12022         * MiniBrowser/win/MainWindow.h:
12023         * MiniBrowser/win/ResourceLoadDelegate.cpp:
12024         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
12025         * MiniBrowser/win/WinMain.cpp:
12026         (wWinMain): Added a local variable mainWindow instead of using
12027         gMainWindow.
12029 2018-06-06  Dan Bernstein  <mitz@apple.com>
12031         [Xcode] Opt out of the New Build System
12032         https://bugs.webkit.org/show_bug.cgi?id=186380
12034         Reviewed by Alexey Proskuryakov.
12036         * Scripts/webkitdirs.pm:
12037         (XcodeOptions): Have -UseNewBuildSystem=NO passed to xcodebuild.
12039 2018-06-06  Antoine Quint  <graouts@apple.com>
12041         Rename color-filter to -apple-color-filter and do not expose it to Web content
12042         https://bugs.webkit.org/show_bug.cgi?id=186306
12043         <rdar://problem/39874167>
12045         Reviewed by Simon Fraser.
12047         Adding an option to turn support for the -apple-color-filter property on via an HTML comment.
12049         * DumpRenderTree/TestOptions.cpp:
12050         (TestOptions::TestOptions):
12051         * DumpRenderTree/TestOptions.h:
12052         * DumpRenderTree/mac/DumpRenderTree.mm:
12053         (setWebPreferencesForTestOptions):
12054         * WebKitTestRunner/TestController.cpp:
12055         (WTR::TestController::resetPreferencesToConsistentValues):
12056         (WTR::updateTestOptionsFromTestHeader):
12057         * WebKitTestRunner/TestOptions.h:
12058         (WTR::TestOptions::hasSameInitializationOptions const):
12059         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
12060         (WTR::TestController::platformCreateWebView):
12062 2018-06-06  Brent Fulgham  <bfulgham@apple.com>
12064         Adjust compile and runtime flags to match shippable state of features (Part 2)
12065         https://bugs.webkit.org/show_bug.cgi?id=186319
12066         <rdar://problem/40352045>
12068         Unreviewed test fix.
12070         TestWebKitAPI was timing out because 'color' input types are no longer support. I also discovered that the
12071         ASSERT_STREQ macro returns on error, which causes tests to time out whenever a 'done = true' call (needed to
12072         end the test) is done after ASSERT_STREQ, which might fail and return early, preventing the flag from being
12073         set.
12075         * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:
12076         (-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]): Make testing of
12077         the 'color' input type conditional on the feature being part of the build.
12078         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
12079         (-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]): Set the 'done=true' state before performing
12080         string equality assertions, since they do an early return and bypass the end state of the test.
12081         (-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]): Ditto.
12082         (-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
12083         (-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Ditto.
12085 2018-06-05  Chris Dumez  <cdumez@apple.com>
12087         Regression(r232082): Websites get loaded inside of Messages App chat transcript
12088         https://bugs.webkit.org/show_bug.cgi?id=186331
12089         <rdar://problem/40735446>
12091         Reviewed by Darin Adler.
12093         Add API test coverage.
12095         * TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm:
12096         (-[NoDecidePolicyForNavigationActionDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
12097         (-[NoDecidePolicyForNavigationActionDecisionDelegate webView:didStartProvisionalLoadForFrame:]):
12098         (TestWebKitAPI::TEST):
12099         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Deleted.
12100         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]): Deleted.
12101         (-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]): Deleted.
12103 2018-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
12105         DataInteractionTests ContentEditableToTextarea and ContentEditableToContentEditable are failing on recent iOS 12
12106         https://bugs.webkit.org/show_bug.cgi?id=186325
12107         <rdar://problem/40527850>
12109         Reviewed by Tim Horton.
12111         Tweak these API tests so that they're robust against changes to how NSAttributedStrings are serialized in item
12112         providers ("public.rtf" vs. "com.apple.flat-rtfd"). Across all versions of iOS, just verify that either rich
12113         text type is present in the list of dragged type identifiers, and that the rich text type is placed at a higher
12114         fidelity than plain text.
12116         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
12117         (checkRichTextTypePrecedesPlainTextType):
12118         (TestWebKitAPI::TEST):
12119         (checkTypeIdentifierPrecedesOtherTypeIdentifier): Deleted.
12121 2018-06-05  Brent Fulgham  <bfulgham@apple.com>
12123         Adjust compile and runtime flags to match shippable state of features
12124         https://bugs.webkit.org/show_bug.cgi?id=186319
12125         <rdar://problem/40352045>
12127         Reviewed by Maciej Stachowiak, Jon Lee, and others.
12129         This patch revises the compile time and runtime state for various features to match their
12130         suitability for end-user releases.
12132         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Update to match WebKit definition of
12133         WK_RELOCATABLE_FRAMEWORKS so that ENABLE(EXPERIMENTAL_FEATURES) is defined properly for
12134         Cocoa builds.
12135         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Don't build ENABLE_INPUT_TYPE_COLOR
12136         or ENABLE_INPUT_TYPE_COLOR_POPOVER.
12138 2018-06-05  Saam Barati  <sbarati@apple.com>
12140         run-testmem should have a dry run option and an option to parse the stdout of executing the dry run
12141         https://bugs.webkit.org/show_bug.cgi?id=186293
12143         Reviewed by Mark Lam.
12145         This makes it easier to execute run-testmem on a device that doesn't have ruby
12146         on it. run-testmem now has a --dry option that will output commands to execute
12147         in bash. To run on a device that doesn't have ruby, just put its output into
12148         a bash script, and copy the PerformanceTests/testmem directory onto that device,
12149         and execute the bash script. Running that bash script will give you raw output.
12150         Make a file with that output and pass it into run-testmem using the --parse option.
12151         run-testmem will parse the raw output and compute the benchmark score.
12153         * Scripts/run-testmem:
12155 2018-06-05  Youenn Fablet  <youenn@apple.com>
12157         ServiceWorker registration should store any script fetched through importScripts
12158         https://bugs.webkit.org/show_bug.cgi?id=182444
12159         <rdar://problem/37164835>
12161         Reviewed by Chris Dumez.
12163         Add support to crash the storage process from Internals.
12165         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
12166         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
12167         (WTR::TestRunner::terminateStorageProcess):
12168         * WebKitTestRunner/InjectedBundle/TestRunner.h:
12169         * WebKitTestRunner/TestController.cpp:
12170         (WTR::TestController::terminateStorageProcess):
12171         * WebKitTestRunner/TestController.h:
12172         * WebKitTestRunner/TestInvocation.cpp:
12173         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
12175 2018-06-05  Brent Fulgham  <bfulgham@apple.com>
12177         Revise DEFAULT_EXPERIMENTAL_FEATURES_ENABLED to work properly on Apple builds
12178         https://bugs.webkit.org/show_bug.cgi?id=186286
12179         <rdar://problem/40782992>
12181         Reviewed by Dan Bernstein.
12183         Use the WK_RELOCATABLE_FRAMEWORKS flag (which is always defined for non-production builds)
12184         to define ENABLE(EXPERIMENTAL_FEATURES) so that we do not need to manually
12185         change this flag when preparing for a production release.
12187         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Use WK_RELOCATABLE_FRAMEWORKS to
12188         determine whether experimental features should be enabled, and use it to properly define
12189         the feature flag.
12191 2018-06-05  Robin Morisset  <rmorisset@apple.com>
12193         Add a grammar (in antlr4 format) to the WSL spec.
12194         https://bugs.webkit.org/show_bug.cgi?id=186310
12196         Rubberstamped by Filip Pizlo
12198         It is just the raw rules, without much comments and no typesetting.
12199         Compiles to any of Java/JS/C++/etc.. with antlr4 (requires a JDK)
12201         It does not exactly match the parser of the current js implementation of WSL, it:
12202         - Accepts negative literals
12203         - Reserves keywords fallthrough/auto
12204         - Refuses '_' as a valid identifier
12205         - Accepts several capitalizations for Null/True/False
12206         - Accepts variable declarations at the top-level
12207         - Correctly parses ternary expressions
12208         - Forbids empty extension list for protocols
12209         - Does not allow a space between '[' and ']' in type suffixes
12210         - Correctly parses nested generics
12211         - Accepts a 'fallthrough;' statement (for switches)
12212         - Refuses chained relational operator (e.g. x < y < z)
12213         - Generally a completely different structure for parsing effectful expressions, although it probably accepts about the same language
12214         - Currently only accepts literals and identifiers as constexpr (while the js parser accepts way too much, including '(x += 42)')
12215         There are probably more differences that I missed. The js parser will probably have to be mostly rewritten to follow the spec more closely (and fix all the bugs).
12216         I will try to see if it can be automatically derived from the antlr4 grammar.
12218         * WebGPUShadingLanguageRI/SpecWork/WSL.g4: Added.
12220 2018-06-04  Frederic Wang  <fwang@igalia.com>
12222         import-w3c-tests should rely on <meta name="flags"> to detect CSS manual tests
12223         https://bugs.webkit.org/show_bug.cgi?id=186261
12225         Reviewed by Youenn Fablet.
12227         * Scripts/webkitpy/w3c/test_parser.py:
12228         (TestParser.is_wpt_manualtest): Add code to detect whether a file is a manual test
12229         from its <meta name="flags"> tags. This is based on SourceFile::content_is_css_manual from
12230         the WPT repository.
12231         * Scripts/webkitpy/w3c/test_parser_unittest.py: Add a test to verify whether files with
12232         <meta name="flags"> are manual or non-manual according to CSS WG rules.
12234 2018-06-04  Dan Bernstein  <mitz@apple.com>
12236         Fixed building ImageDiff with the default build system in the Xcode 10 developer beta.
12238         * ImageDiff/cg/Configurations/Base.xcconfig: Use #include? to include
12239           HaveInternalSDK.xcconfig, since it may not be preent.
12241 2018-06-04  Dan Bernstein  <mitz@apple.com>
12243         Fixed building TestWebKitAPI with a shared build directory with XCBuild, which is the
12244         default build system in the Xcode 10 developer beta.
12246         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Changed the reference to the
12247           built libWTF.a to be relative to the built products directory.
12249 2018-06-04  Chris Dumez  <cdumez@apple.com>
12251         Rename "Cross-Origin-Options" HTTP header to "Cross-Origin-Window-Policy"
12252         https://bugs.webkit.org/show_bug.cgi?id=186287
12253         <rdar://problem/40783352>
12255         Reviewed by Youenn Fablet.
12257         * DumpRenderTree/mac/DumpRenderTree.mm:
12258         (enableExperimentalFeatures):
12259         * DumpRenderTree/win/DumpRenderTree.cpp:
12260         (enableExperimentalFeatures):
12262 2018-06-04  Daniel Bates  <dabates@apple.com>
12264         Typo in MockBugzillaQueries.fetch_attachment_ids_from_review_queue()
12265         https://bugs.webkit.org/show_bug.cgi?id=186290
12267         Reviewed by Aakash Jain.
12269         Although the usefulness of the code in MockBugzillaQueries.fetch_attachment_ids_from_review_queue() is
12270         questionable we should fix a typo when calling this mocked function with argument since.
12272         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
12273         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue):
12275 2018-06-04  Dan Bernstein  <mitz@apple.com>
12277         Fixed building with the macOS Mojave seed SDK.
12279         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
12281 2018-06-04  Alexey Proskuryakov  <ap@apple.com>
12283         Add Mojave support to WebKit tools
12284         https://bugs.webkit.org/show_bug.cgi?id=186282
12286         Reviewed by Daniel Bates.
12288         Nightly build support will be added separately.
12290         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png: Added.
12291         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png: Added.
12292         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
12293         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
12294         Added dashboard support.
12296         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
12297         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
12298         Trigger the right build queues on check-in.
12300         * Scripts/webkitpy/common/version_name_map.py:
12301         * Scripts/webkitpy/common/version_name_map_unittest.py:
12302         The main version mapping class updated.
12304         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
12305         * Scripts/webkitpy/port/mac_unittest.py:
12306         Updated for more platforms in unit tests.
12308         * TestResultServer/static-dashboards/flakiness_dashboard.js:
12309         Added the new platform to flakiness dashboard.
12311 2018-06-04  Wenson Hsieh  <wenson_hsieh@apple.com>
12313         [WebKit on watchOS] Remove all uses of the EXTRA_ZOOM_MODE compiler flag
12314         https://bugs.webkit.org/show_bug.cgi?id=186279
12316         Reviewed by Tim Horton.
12318         Replaces uses of ENABLE(EXTRA_ZOOM_MODE) with PLATFORM(WATCHOS).
12320         * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
12322 2018-06-03  Fujii Hironori  <Hironori.Fujii@sony.com>
12324         [Win][MiniBrowser] Remove gMiniBrowser global variable
12325         https://bugs.webkit.org/show_bug.cgi?id=186134
12327         Reviewed by Brent Fulgham.
12329         It should not be assumed there is only one main window and one browser
12330         window to support multiple windows properly. gMainWindow and
12331         gMiniBrowser global variables should be removed. This change
12332         removes gMiniBrowser.
12334         * MiniBrowser/win/Common.cpp: Removed gMiniBrowser global variable.
12335         * MiniBrowser/win/Common.h: Ditto.
12336         * MiniBrowser/win/MainWindow.cpp:
12337         (MainWindow::init):
12338         (MainWindow::WndProc):
12339         (EditProc): Post WM_COMMAND if the enter key is pressed in URL bar.
12340         (MainWindow::cachesDialogProc): Renamed from Caches.
12341         (MainWindow::customUserAgentDialogProc): Renamed from CustomUserAgent.
12342         (MainWindow::onURLBarEnter): Extracted from EditProc.
12343         (BackButtonProc): Deleted.
12344         (ForwardButtonProc): Deleted.
12345         (Caches): Renamed to MainWindow::cachesDialogProc.
12346         (CustomUserAgent): Renamed to MainWindow::customUserAgentDialogProc.
12347         * MiniBrowser/win/MainWindow.h: Convert hCacheWnd global variable to a member variable of MainWindow.
12348         * MiniBrowser/win/MiniBrowserLibResource.h:
12349         * MiniBrowser/win/WinMain.cpp:
12350         (wWinMain):
12352 2018-06-02  Darin Adler  <darin@apple.com>
12354         [Cocoa] Update some code to be more ARC-compatible to prepare for future ARC adoption
12355         https://bugs.webkit.org/show_bug.cgi?id=186227
12357         Reviewed by Dan Bernstein.
12359         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
12360         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
12361         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
12363         * DumpRenderTree/mac/AccessibilityControllerMac.mm: Add a missing include.
12365         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
12366         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
12367         * DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:
12368         (AccessibilityTextMarker::isEqual): Ditto.
12369         (AccessibilityTextMarkerRange::isEqual): Ditto.
12371         * DumpRenderTree/mac/DumpRenderTree.mm:
12372         (-[DumpRenderTree _waitForWebThread]): Use @autoreleasepool instead of NSAutoreleasePool.
12373         (DumpRenderTreeMain): Ditto.
12374         (WebThreadLockAfterDelegateCallbacksHaveCompleted): Ditto.
12375         (runTest): Ditto.
12377         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
12378         (copyFile): Use a std::pair to return both a URL and an error rather than using an
12379         out argument for the NSError.
12380         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
12381         Updated for the above change.
12383         * DumpRenderTree/mac/DumpRenderTreeWindow.mm:
12384         (-[DumpRenderTreeWindow _addToOpenWindows]): Add __bridge to a bridging typecast.
12385         (-[DumpRenderTreeWindow close]): Ditto.
12386         * DumpRenderTree/mac/LayoutTestHelper.m:
12387         (setDisplayColorProfile): Ditto.
12389         * DumpRenderTree/mac/PolicyDelegate.mm: Add a missing include.
12391         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
12392         (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
12393         Add __bridge to a bridging typecast.
12394         * DumpRenderTree/mac/TestRunnerMac.mm:
12395         (-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]): Ditto.
12396         (TestRunner::apiTestNewWindowDataLoadBaseURL): Use @autoreleasepool instead of NSAutoreleasePool.
12398         * DumpRenderTree/mac/TextInputControllerMac.m: Fix a comment.
12400         * DumpRenderTree/mac/UIScriptControllerMac.mm:
12401         (WTR::UIScriptController::replaceTextAtRange): Add __bridge to a bridging typecast.
12402         (WTR::UIScriptController::contentsOfUserInterfaceItem const): Ditto.
12403         (WTR::UIScriptController::overridePreference): Ditto.
12404         * DumpRenderTree/mac/WorkQueueItemMac.mm:
12405         (LoadItem::invoke const): Ditto.
12406         (LoadHTMLStringItem::invoke const): Ditto.
12407         (ScriptItem::invoke const): Ditto.
12409         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
12410         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
12411         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
12413         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
12414         (+[NSString stringWithJSStringRef:]): Use CFBridgingRelease instead of autorelease.
12415         (-[NSString createJSStringRef]): Add __bridge to a bridging typecast.
12417         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
12418         (WTR::AccessibilityController::accessibleElementById): Add __bridge to a bridging typecast.
12419         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
12420         (-[NSString createJSStringRef]): Ditto.
12421         * WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm:
12422         (WTR::AccessibilityTextMarker::isEqual): Ditto.
12423         * WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm:
12424         (WTR::AccessibilityTextMarkerRange::isEqual): Ditto.
12425         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
12426         (WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
12427         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Ditto.
12428         (WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
12429         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
12430         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
12431         (WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
12432         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
12433         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
12434         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
12435         (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
12436         (WTR::createJSStringRef): Ditto.
12437         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
12438         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
12439         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
12440         (WTR::AccessibilityUIElement::indexForTextMarker): Ditto.
12441         (WTR::AccessibilityUIElement::isTextMarkerValid): Ditto.
12442         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
12443         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
12444         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
12445         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
12446         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
12447         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
12448         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
12449         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
12450         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
12451         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
12452         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
12453         (WTR::initializeWebViewConfiguration): Ditto.
12454         (WTR::TestController::platformContext): Ditto.
12455         (WTR::TestController::platformPreferences): Ditto.
12456         (WTR::TestController::platformAdjustContext): Ditto.
12457         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
12458         (WTR::PlatformWebView::PlatformWebView): Ditto.
12459         * WebKitTestRunner/mac/TestControllerMac.mm:
12460         (WTR::TestController::initializeInjectedBundlePath): Ditto.
12461         (WTR::TestController::initializeTestPluginDirectory): Ditto.
12462         (WTR::TestController::platformConfigureViewForTest): Ditto.
12464         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
12465         (WTR::nsString): Use CFBridgingRelease instead of autorelease.
12466         (WTR::UIScriptController::platformPlayBackEventStream): Add __bridge to a bridging
12467         typecast.
12469         * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Add a missing include.
12471         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
12472         (-[LocalPasteboard setPropertyList:forType:]): Add _bridge to a bridging typecast.
12473         (-[LocalPasteboard setString:forType:]): Ditto.
12475         * WebKitTestRunner/mac/main.mm:
12476         (main): Use @autoreleasepool instead of NSAutoreleasePool.
12478 2018-06-02  Keith Miller  <keith_miller@apple.com>
12480         run-jsc should pass the option to use dollar vm by default
12481         https://bugs.webkit.org/show_bug.cgi?id=186170
12483         Reviewed by Yusuke Suzuki.
12485         * Scripts/run-jsc:
12487 2018-06-02  Commit Queue  <commit-queue@webkit.org>
12489         Unreviewed, rolling out r232421.
12490         https://bugs.webkit.org/show_bug.cgi?id=186240
12492         Breaks webkitpy tests (Requested by aakashjain on #webkit).
12494         Reverted changeset:
12496         "Add some tests for lldb_webkit.py"
12497         https://bugs.webkit.org/show_bug.cgi?id=183744
12498         https://trac.webkit.org/changeset/232421
12500 2018-06-01  Daniel Bates  <dabates@apple.com>
12502         Add some tests for lldb_webkit.py
12503         https://bugs.webkit.org/show_bug.cgi?id=183744
12505         Reviewed by Alexey Proskuryakov.
12507         Adds some tests to ensure we do not regress LLDB pretty-printing of WTF::StringImpl
12508         and WTF::String objects.
12510         The tests make use of the LLDB Python API (lldb.py) and a simple debug-built test
12511         program, lldbWebKitTester, to run. For now, we only support building lldbWebKitTester
12512         on Mac.
12514         * Makefile: Build the simple test tool lldbWebKitTester on Mac.
12515         * Scripts/build-lldbwebkittester: Added.
12516         (buildProjectOrDie):
12517         * Scripts/dump-class-layout: Extract logic to compute the path to the LLDB Python module
12518         from here to Scripts/webkitpy/common/system/systemhost.py so that it can used by both
12519         this script and lldb/lldb_webkit_unittest.py. Also import the lldb module at the top of
12520         the file and take advantage of Python's default error semantics to throw an exception
12521         if the import fails instead of handling it ourself. This has the side effect that we
12522         now always import the LLDB Python module even if this script is invoked with --help.
12523         If this turns out to be a significant annoyance then we can look to dynamically import
12524         the module as we did before this change.
12525         (webkit_build_dir):
12526         (main):
12527         (developer_dir): Deleted.
12528         (import_lldb): Deleted.
12529         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Update FIXME comment to reflect
12530         that fact that test-webkitpy does not support class and module fixtures. This is because
12531         test-webkitpy currently implements parallelism by breaking down existing test classes
12532         into individual test methods itself and having each worker run exactly one test method (via
12533         unittest.TestLoader.loadTestsFromName()) at a time. As a result of this reorganization,
12534         setUpModule()/setUpClass() are called for each test method as opposed to once per test
12535         class/test module.
12536         (remove_dir): Ditto.
12537         * Scripts/webkitpy/common/system/systemhost.py:
12538         (SystemHost):
12539         (SystemHost.path_to_lldb_python_directory): Added.
12540         * Scripts/webkitpy/test/main.py:
12541         (_find_lldb_webkit_tester): Returns whether there exists a Debug or Release-built lldbWebKitTester.
12542         (_build_lldb_webkit_tester): Builds lldbWebKitTester. For now, we only support building
12543         lldbWebKitTester on Mac.
12544         (main): Add Tools/lldb to the test search path if the platform has lldb.py.
12545         (Tester.run): Pass a boolean as to whether we will run the lldb_webkit unit tests.
12546         (Tester._run_tests): Modified to take a boolean as to whether to run the lldb_webkit unit tests.
12547         If we will run these tests then build lldbWebKitTester if it has not already been built as the
12548         unit tests depend on this program.
12549         * lldb/lldbWebKitTester/Configurations/Base.xcconfig: Added.
12550         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Added.
12551         * lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig: Added.
12552         * lldb/lldbWebKitTester/Makefile: Added.
12553         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Added.
12554         * lldb/lldbWebKitTester/main.cpp: Added.
12555         (breakForTestingSummaryProviders):
12556         (utf16String):
12557         (testSummaryProviders):
12558         (main):
12559         * lldb/lldb_webkit_unittest.py: Added.
12560         (destroy_cached_debug_session):
12561         (LLDBDebugSession):
12562         (LLDBDebugSession.setup):
12563         (LLDBDebugSession.tearDown):
12564         (TestSummaryProviders):
12565         (TestSummaryProviders.setUpClass):
12566         (TestSummaryProviders._sbFrame):
12567         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string):
12568         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_empty_string):
12569         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string):
12570         (TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string):
12571         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_null_string):
12572         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_empty_string):
12573         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string):
12574         (TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string):
12576 2018-06-01  Frederic Wang  <fwang@igalia.com>
12578         export-w3c-test-changes cannot apply patches when some w3c-import.log files are changed
12579         https://bugs.webkit.org/show_bug.cgi?id=186133
12581         Reviewed by Youenn Fablet.
12583         * Scripts/webkitpy/w3c/test_exporter.py: Exclude w3c-import.log from the diff.
12584         * Scripts/webkitpy/w3c/test_exporter_unittest.py: Add unit test.
12586 2018-05-31  Frederic Wang  <fwang@igalia.com>
12588         export-w3c-test-changes should use the new location & name of the WPT repo
12589         https://bugs.webkit.org/show_bug.cgi?id=186135
12591         Reviewed by Youenn Fablet.
12593         Web platform tests have been moved to GitHub's web-platform-tests/wpt. This patch updates the
12594         corresponding variables to use the new organization and repository name. It also refactors a
12595         bit the code to reduce the amount of hardcoded strings.
12597         * Scripts/webkitpy/w3c/common.py: Use org web-platform-tests, repo name wpt. Also removes the
12598         final slash to WPT_GH_URL, so it can be used for repo URL too.
12599         * Scripts/webkitpy/w3c/test_exporter.py: Import more symbols and define WPT_PR_URL from
12600         WPT_GH_URL.
12601         (WebPlatformTestExporter._wpt_fork_branch_github_url): Use WPT_GH_REPO_NAME.
12602         (WebPlatformTestExporter._wpt_fork_push_url): Use WPT_GH_REPO_NAME.
12603         (WebPlatformTestExporter._git): Use  WPT_GH_URL.
12604         (WebPlatformTestExporter._ensure_username_and_token): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
12605         (WebPlatformTestExporter.make_pull_request): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
12606         (parse_args): Use WPT_GH_REPO_NAME, WPT_GH_URL.
12607         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
12608         (TestExporterTest.test_export): Update organization and repository names for the remote
12609         branch and pull request.
12610         (TestExporterTest.test_export_with_specific_branch): Update repository name.
12612 2018-05-31  Ryan Haddad  <ryanhaddad@apple.com>
12614         Update expected results for BuildStepsConstructorTest
12615         https://bugs.webkit.org/show_bug.cgi?id=186119
12617         Reviewed by Alex Christensen.
12619         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add missing entries for 'WinCairo 64-bit' bots.
12621 2018-05-31  Sihui Liu  <sihui_liu@apple.com>
12623         [iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
12624         https://bugs.webkit.org/show_bug.cgi?id=185831
12625         <rdar://problem/40468716>
12627         Reviewed by David Kilzer.
12629         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
12630         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
12631         (TEST):
12633 2018-05-31  Chris Dumez  <cdumez@apple.com>
12635         [iOS] API test ScrollViewInsetTests.InnerHeightWithLargeTopContentInset is a flaky failure
12636         https://bugs.webkit.org/show_bug.cgi?id=184893
12637         <rdar://problem/39747271>
12639         Reviewed by Wenson Hsieh.
12641         Update test to wait until the view is the expected height instead of
12642         calling waitForNextPresentationUpdate once and expect the view to
12643         have the right height. This fixes the flakiness.
12645         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
12646         (TestWebKitAPI::waitUntilInnerHeightIs):
12647         (TestWebKitAPI::TEST):
12649 2018-05-31  Leo Balter  <leonardo.balter@gmail.com>
12651         test262-runner should run in verbose mode in automation
12652         https://bugs.webkit.org/show_bug.cgi?id=186115
12654         Reviewed by Yusuke Suzuki.
12656         This patch toggles the verbose mode in the build bot and reports every test file
12657         in order to avoid the '1200 seconds without output' issue.
12658         * BuildSlaveSupport/build.webkit.org-config/steps.py:
12659         (RunTest262Tests):
12660         * Scripts/test262/Runner.pm:
12661         (processResult):
12663 2018-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
12665         [Win][MiniBrowser] Move MainWindow related code from Common.cpp to MainWindow.cpp
12666         https://bugs.webkit.org/show_bug.cgi?id=186079
12668         Reviewed by Alex Christensen.
12670         This is a sub task of Bug 184770.
12672         This change is partial. I'm going to remove global variables
12673         gMainWindow and gMiniBrowser and convert more functions to
12674         MainWindow's methods in follow-up patches.
12676         * MiniBrowser/win/CMakeLists.txt: Added Common.cpp
12677         * MiniBrowser/win/Common.cpp:
12678         (menuItemIsChecked): Moved to MainWindow.cpp.
12679         (turnOffOtherUserAgents): Ditto.
12680         (EditProc): Ditto.
12681         (BackButtonProc): Ditto.
12682         (ForwardButtonProc): Ditto.
12683         (About): Ditto.
12684         (Caches): Ditto.
12685         (CustomUserAgent): Ditto.
12686         (AuthDialogProc): Ditto.
12687         (DisplayAuthDialog): Converted to MainWindow's method.
12688         (ToggleMenuItem): Ditto.
12689         (loadURL): Ditto.
12690         * MiniBrowser/win/Common.h:
12691         * MiniBrowser/win/MainWindow.cpp:
12692         (MainWindow::init): Call SetFocus at the end of the construction.
12693         (MainWindow::WndProc):
12694         (menuItemIsChecked): Moved from Common.cpp.
12695         (turnOffOtherUserAgents): Ditto.
12696         (EditProc): Ditto.
12697         (BackButtonProc): Ditto.
12698         (ForwardButtonProc): Ditto.
12699         (About): Ditto.
12700         (Caches): Ditto.
12701         (CustomUserAgent): Ditto.
12702         (authDialogProc): Ditto.
12703         (MainWindow::displayAuthDialog): Converted from a function of Common.cpp.
12704         (MainWindow::toggleMenuItem): Ditto.
12705         (MainWindow::loadURL): Ditto.
12706         * MiniBrowser/win/MainWindow.h: Added method declarations.
12707         * MiniBrowser/win/MiniBrowser.h: Added pragma once.
12708         * MiniBrowser/win/WinMain.cpp:
12709         (wWinMain): Include Common.h instead of Common.cpp.
12711 2018-05-30  Brady Eidson  <beidson@apple.com>
12713         REGRESSION (r224684): User-agent seen by page does not change when modified by the develop menu options after reloading.
12714         <rdar://problem/34918109> and https://bugs.webkit.org/show_bug.cgi?id=186111
12716         Reviewed by Andy Estes.
12718         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
12719         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
12720         (WTR::TestRunner::setCustomUserAgent):
12721         * WebKitTestRunner/InjectedBundle/TestRunner.h:
12722         * WebKitTestRunner/TestController.cpp:
12723         (WTR::TestController::resetStateToConsistentValues):
12724         * WebKitTestRunner/TestInvocation.cpp:
12725         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
12727 2018-05-30  Youenn Fablet  <youenn@apple.com>
12729         Rename CrossOriginResourcePolicy same to same-origin
12730         https://bugs.webkit.org/show_bug.cgi?id=186080
12732         Reviewed by Chris Dumez.
12734         * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
12735         (TestWebKitAPI::TEST):
12737 2018-05-30  Ms2ger  <Ms2ger@igalia.com>
12739         [GTK] Unreviewed test gardening
12740         https://bugs.webkit.org/show_bug.cgi?id=186098
12742         Unreviewed gardening.
12744         * TestWebKitAPI/glib/TestExpectations.json: update expectations.
12746 2018-05-29  Youenn Fablet  <youenn@apple.com>
12748         Add a consistency check between URL and CFURL
12749         https://bugs.webkit.org/show_bug.cgi?id=182444
12750         <rdar://problem/37164835>
12752         Reviewed by Geoff Garen.
12754         DRT code expected a non null URL which is no longer the case now.
12755         Updated DRT to remove that assumption.
12757         * DumpRenderTree/TestRunner.cpp:
12758         (TestRunner::redirectionDestinationForURL):
12759         * DumpRenderTree/TestRunner.h:
12760         * DumpRenderTree/mac/ResourceLoadDelegate.mm:
12761         (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
12763 2018-05-29  Brendan McLoughlin  <brendan@bocoup.com>
12765         Export changes to web-platform-test as part of the webkit-patch upload workflow
12766         https://bugs.webkit.org/show_bug.cgi?id=184914
12768         Reviewed by Youenn Fablet.
12770         * Scripts/webkitpy/tool/commands/upload.py:
12771         (Upload):
12772         (CreateBug.execute):
12773         (WPTChangeExport):
12774         * Scripts/webkitpy/tool/steps/__init__.py:
12775         * Scripts/webkitpy/tool/steps/wptchangeexport.py: Added.
12776         (WPTChangeExport):
12777         (WPTChangeExport.options):
12778         (WPTChangeExport.run):
12779         * Scripts/webkitpy/w3c/common.py:
12780         * Scripts/webkitpy/w3c/test_exporter.py:
12781         (WebPlatformTestExporter):
12782         (WebPlatformTestExporter.__init__):
12783         (WebPlatformTestExporter.username):
12784         (WebPlatformTestExporter.token):
12785         (WebPlatformTestExporter._github):
12786         (WebPlatformTestExporter._wpt_fork_branch_github_url):
12787         (WebPlatformTestExporter._wpt_fork_remote):
12788         (WebPlatformTestExporter._wpt_fork_push_url):
12789         (WebPlatformTestExporter._git):
12790         (WebPlatformTestExporter._branch_name):
12791         (WebPlatformTestExporter._public_branch_name):
12792         (WebPlatformTestExporter._wpt_patch):
12793         (WebPlatformTestExporter.has_wpt_changes):
12794         (WebPlatformTestExporter._find_filename):
12795         (WebPlatformTestExporter._is_ignored_file):
12796         (WebPlatformTestExporter._strip_ignored_files_from_diff):
12797         (WebPlatformTestExporter.write_git_patch_file):
12798         (WebPlatformTestExporter._prompt_for_token):
12799         (WebPlatformTestExporter._prompt_for_username):
12800         (WebPlatformTestExporter._ensure_username_and_token):
12801         (WebPlatformTestExporter._validate_and_save_token):
12802         (WebPlatformTestExporter.create_branch_with_patch):
12803         (WebPlatformTestExporter.push_to_wpt_fork):
12804         (WebPlatformTestExporter.make_pull_request):
12805         (WebPlatformTestExporter.delete_local_branch):
12806         (WebPlatformTestExporter.create_upload_remote_if_needed):
12807         (WebPlatformTestExporter.do_export):
12808         (parse_args):
12809         (TestExporter): Deleted.
12810         (TestExporter.__init__): Deleted.
12811         (TestExporter._ensure_wpt_repository): Deleted.
12812         (TestExporter._fetch_wpt_repository): Deleted.
12813         (TestExporter._ensure_new_branch_name): Deleted.
12814         (TestExporter.download_and_commit_patch): Deleted.
12815         (TestExporter.clean): Deleted.
12816         (TestExporter.create_branch_with_patch): Deleted.
12817         (TestExporter.push_to_wpt_fork): Deleted.
12818         (TestExporter.make_pull_request): Deleted.
12819         (TestExporter.create_wpt_pull_request): Deleted.
12820         (TestExporter.delete_local_branch): Deleted.
12821         (TestExporter.create_git_patch): Deleted.
12822         (TestExporter.create_upload_remote): Deleted.
12823         (TestExporter.do_export): Deleted.
12824         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
12825         (TestExporterTest.MockGit):
12826         (TestExporterTest.MockGit.create_patch):
12827         (TestExporterTest.test_export):
12828         (TestExporterTest.test_export_with_specific_branch):
12829         (TestExporterTest):
12830         (TestExporterTest.test_export_interactive_mode):
12831         (TestExporterTest.test_export_invalid_token):
12832         (TestExporterTest.test_export_wrong_token):
12833         (TestExporterTest.test_has_wpt_changes):
12834         (TestExporterTest.test_has_no_wpt_changes_for_no_diff):
12835         (TestExporterTest.test_ignore_changes_to_expected_file):
12837 2018-05-29  Fujii Hironori  <Hironori.Fujii@sony.com>
12839         [Win][MiniBrowser] Move WK1 specific code from Common.cpp to MiniBrowser.cpp
12840         https://bugs.webkit.org/show_bug.cgi?id=186029
12842         Reviewed by Alex Christensen.
12844         This is a sub task of Bug 184770.
12846         * MiniBrowser/win/Common.cpp:
12847         (ToggleMenuItem): Extracted WK1 specific code to MiniBrowser::setPreference.
12848         (Caches): Call MiniBrowser::updateStatistics instead of updateStatistics.
12849         (AbortProc): Moved to MiniBrowser.cpp.
12850         (getPrinterDC): Ditto.
12851         (initDocStruct): Ditto.
12852         (PrintView): Ditto.
12853         (ToggleMenuFlag): Ditto.
12854         (setWindowText): Ditto.
12855         (updateStatistics): Ditto.
12856         * MiniBrowser/win/MainWindow.cpp:
12857         (MainWindow::WndProc): Call MiniBrowser::print instead of PrintView.
12858         * MiniBrowser/win/MiniBrowser.cpp:
12859         (AbortProc): Moved from Common.cpp.
12860         (getPrinterDC): Moved from Common.cpp.
12861         (initDocStruct): Moved from Common.cpp.
12862         (setWindowText): Moved from Common.cpp.
12863         (MiniBrowser::print): Renamed from PrintView of Common.cpp.
12864         (MiniBrowser::updateStatistics): Renamed from updateStatistics of Common.cpp.
12865         (MiniBrowser::setPreference): Extracted from ToggleMenuItem of Common.cpp.
12866         * MiniBrowser/win/MiniBrowser.h: Add method declarations.
12867         * MiniBrowser/win/MiniBrowserWebHost.cpp: Removed duplicated IWebFramePtr typedef.
12869 2018-05-29  Saam Barati  <sbarati@apple.com>
12871         JSC should put bmalloc's scavenger into mini mode
12872         https://bugs.webkit.org/show_bug.cgi?id=185988
12874         Reviewed by Michael Saboff.
12876         This patch makes it so that we turn off the JIT when running run-testmem
12877         that way we make JSC use its mini mode.
12879         * Scripts/run-testmem:
12881 2018-05-29  Sihui Liu  <sihui_liu@apple.com>
12883         Unable to remove IndexedDB Databases with Cocoa API removeDataOfTypes
12884         https://bugs.webkit.org/show_bug.cgi?id=185835
12885         <rdar://problem/39142257>
12887         Reviewed by Chris Dumez.
12889         Add API test coverage.
12891         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
12892         (TEST):
12894 2018-05-29  Wenson Hsieh  <wenson_hsieh@apple.com>
12896         [Extra zoom mode] "Significant area painted" rendering progress event is rarely fired
12897         https://bugs.webkit.org/show_bug.cgi?id=186042
12898         <rdar://problem/40604182>
12900         Reviewed by Tim Horton.
12902         Adds a new API test to check that the "significant area painting" rendering milestone is dispatched when a
12903         significant portion of the page has been painted before document load is finished.
12905         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12906         * TestWebKitAPI/Tests/WebKitCocoa/paint-significant-area-milestone.html: Added.
12907         * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm: Added.
12908         (-[MissingResourceSchemeHandler webView:stopURLSchemeTask:]):
12909         (-[MissingResourceSchemeHandler webView:startURLSchemeTask:]):
12910         (-[RenderingProgressHandler initWithHandler:]):
12911         (-[RenderingProgressHandler _webView:renderingProgressDidChange:]):
12912         (TEST):
12914 2018-05-29  Thibault Saunier  <tsaunier@igalia.com>
12916         [GStreamer] Update "qtdemux: Clarify field name about stream-encryption-system" patch
12917         https://bugs.webkit.org/show_bug.cgi?id=186040
12919         The patch we merge contained a type and was merged in upstream GStreamer fixing that
12920         (s/avalaible/available/).
12922         Reviewed by Xabier Rodriguez-Calvar.
12924         * gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch:
12926 2018-05-28  Sihui Liu  <sihui_liu@apple.com>
12928         Add an API test to check process privilege when using Cookie API
12929         https://bugs.webkit.org/show_bug.cgi?id=185406
12931         Reviewed by Geoffrey Garen.
12933         Add API test coverage.
12935         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
12936         (TEST):
12938 2018-05-28  Thibault Saunier  <tsaunier@igalia.com>
12940         [GStreamer] Handle changes in the "drm-preferred-decryption-system-id" NEED_CONTEXT message.
12941         https://bugs.webkit.org/show_bug.cgi?id=185948
12943         Reviewed by Xabier Rodriguez-Calvar.
12945         When the patch introducing gst_protection_filter_systems_by_available_decryptors was merged, we changed sensibly its behaviour
12946         concerning the way empty results is represented (now returning NULL instead of an array of 1(NULL) element) and this change was not
12947         properly taken into account in the qtdemux patch that uses it and got upstreamed. Those 3 new patches fixe that and change the
12948         NEED_CONTEXT field names to clarify the meaning of "stream-encryption-systems".
12950         * gstreamer/jhbuild.modules:
12951         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Do-not-run-the-preferred-decryptor-context-q.patch: Added. Merged upstream as 3e063703b3a51b8aaa7f75f36c4660c583a60e93
12952         * gstreamer/patches/gst-plugins-good-0002-qtdemux-Do-not-unref-a-NULL-stream_tags.patch: Added. Merged upstream as 43a540b1cd9f162d3dae5d50e36703dfaf558a3e
12953         * gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch: Added.
12955 2018-05-27  Dan Bernstein  <mitz@apple.com>
12957         Reverted the changes made for https://webkit.org/b/186016
12959         They broke the USE(APPLE_INTERNAL_SDK) Sierra build.
12961 2018-05-27  Dan Bernstein  <mitz@apple.com>
12963         [Cocoa] Avoid importing directly from subumbrella frameworks
12964         https://bugs.webkit.org/show_bug.cgi?id=186016
12966         Reviewed by Sam Weinig.
12968         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a
12969           LaunchServices header.
12970         * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from
12971           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
12972         * DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h
12973           when using SDKs earlier than 10.13.
12974         * TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS
12975           and OTHER_CPLUSPLUSFLAGS.
12976         * TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Import Carbon.h instead of an
12977           HIToolbox header.
12978         * WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from
12979           OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS.
12980         * WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a
12981           LaunchServices header.
12983 2018-05-27  Fujii Hironori  <Hironori.Fujii@sony.com>
12985         [Win][MiniBrowser] Add MainWindow class
12986         https://bugs.webkit.org/show_bug.cgi?id=185814
12988         Reviewed by Per Arne Vollan.
12990         This is a sub task of Bug 184770. Added a new class MainWindow to
12991         represent the main window which will be shared among WK1 and WK2.
12993         This change is partial so that it's easy to review this patch.
12994         I'll move more functions into MainWindow.cpp, and remove more
12995         global variables in forthcoming patches.
12997         * MiniBrowser/win/CMakeLists.txt: Added MainWindow.cpp.
12998         * MiniBrowser/win/Common.cpp: Removed MainWindow related global
12999         variables hMainWnd, hURLBarWnd, hBackButtonWnd and
13000         hForwardButtonWnd. Added a new global variable gMainWindow.
13001         (WndProc): Moved to MainWindow.cpp.
13002         (resizeSubViews): Ditto.
13003         (ToggleMenuFlag): Removed static to be called from MainWindow.cpp.
13004         (ToggleMenuItem): Ditto.
13005         (CustomUserAgent): Follow the global variables removal.
13006         (DisplayAuthDialog): Ditto.
13007         (loadURL): Ditto.
13008         (WndProc): Renamed to MainWindow::WndProc.
13009         * MiniBrowser/win/MainWindow.cpp: Added.
13010         (MainWindow::registerClass): Renamed from MyRegisterClass of WinMain.cpp.
13011         (MainWindow::init): Extracted MainWindow initialization code from wWinMain.
13012         (MainWindow::resizeSubViews): Moved from Common.cpp.
13013         (MainWindow::WndProc): Ditto.
13014         * MiniBrowser/win/MainWindow.h: Added.
13015         (MainWindow::hwnd):
13016         (MainWindow::browserWindow):
13017         * MiniBrowser/win/MiniBrowser.cpp:
13018         (MiniBrowser::init):
13019         (MiniBrowser::prepareViews): Extract some code into MiniBrowser::loadDefaultHTML.
13020         (MiniBrowser::loadDefaultHTML): Extracted from MiniBrowser::prepareViews.
13021         * MiniBrowser/win/MiniBrowser.h:
13022         * MiniBrowser/win/WinMain.cpp:
13023         (wWinMain): Extracted MainWindow initialization code into MainWindow::init.
13024         (MyRegisterClass): Moved to MainWindow.cpp.
13026 2018-05-27  Fujii Hironori  <Hironori.Fujii@sony.com>
13028         [Win][MiniBrowser] Remove URL argument of MiniBrowser::init
13029         https://bugs.webkit.org/show_bug.cgi?id=185969
13031         Reviewed by Alex Christensen.
13033         MiniBrowser::init takes URL argument, but it's used only for
13034         loading default HTML if URL is not given.
13036         - Add a new method MiniBrowser::loadHTMLString
13037         - Remove loadHTMLString process from MiniBrowser::prepareViews
13039         * MiniBrowser/win/MiniBrowser.cpp:
13040         (MiniBrowser::init): Removed `requestedURL` argument.
13041         (MiniBrowser::prepareViews): Ditto.
13042         (MiniBrowser::loadHTMLString): New.
13043         (MiniBrowser::loadURL): Return E_INVALIDARG if passedURL is null instead of calling loadHTMLString.
13044         * MiniBrowser/win/MiniBrowser.h: Removed URL argument. Added loadHTMLString.
13045         * MiniBrowser/win/WinMain.cpp:
13046         (wWinMain): Call MiniBrowser::loadHTMLString if URL is not given.
13048 2018-05-27  David Kilzer  <ddkilzer@apple.com>
13050         svn-apply fails when a patch has an empty file
13051         <https://webkit.org/b/29684>
13053         Reviewed by Daniel Bates.
13055         Prior to this change, applying the following patches resulted in:
13056         - svn: add empty file     (failure)
13057         - svn: delete empty file  (failure)
13058         - svn: rename empty file  (failure)
13059         - git: add empty file     (false-positive success)
13060         - git: delete empty file  (success)
13061         - git: rename empty file  (failure)
13063         * Scripts/VCSUtils.pm:
13064         (parseSvnDiffHeader): Handle the case when there is no patch
13065         following the header.  If the file exists and is empty, that
13066         means it's a deletion.  If the file does not exist, that means
13067         it's an addition. Everything else is a fatal error.
13068         * Scripts/svn-apply:
13069         (patch):
13070         - Only apply a patch for deletion if it has one or more text
13071           chunks.
13072         - Add a case to handle adding an empty file (an addition with no
13073           text chunks), and verify the file doesn't exist yet.
13074         - Any unhandled patch is a fatal error.
13075         * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
13076         Add tests for adding an empty file and deleting an empty file.
13077         * Scripts/webkitperl/VCSUtils_unittest/resources/empty.txt: Add.
13078         Used by parseSvnDiffHeader.pl unit test for "add an empty file"
13079         test case.
13081 2018-05-25  Aakash Jain  <aakash_jain@apple.com>
13083         Display detailed error logs when a script fails in EWS
13084         https://bugs.webkit.org/show_bug.cgi?id=175696
13085         <rdar://problem/34841885>
13087         Reviewed by Darin Adler.
13089         * Scripts/webkitpy/tool/bot/queueengine.py: Set output_limit to 5000 characters instead of default 500 characters.
13090         * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py: Ditto.
13091         * Scripts/webkitpy/tool/commands/download.py: Ditto.
13092         * Scripts/webkitpy/tool/commands/earlywarningsystem.py: Ditto.
13093         * Scripts/webkitpy/tool/commands/queues.py: Ditto.
13094         * Scripts/webkitpy/tool/commands/stepsequence.py: Ditto.
13096 2018-05-25  Daniel Bates  <dabates@apple.com>
13098         test-webkitpy messages logged using __main__ logger are not displayed
13099         https://bugs.webkit.org/show_bug.cgi?id=185823
13101         Rubber-stamped by Aakash Jain.
13103         Configure the logger for __main__ so that messages that are logged before it parses its
13104         command line arguments are printed to standard error.
13106         Currently test-webkitpy creates a named logger (__main__) for its logging. However it does
13107         not configure a stream to use for printing until after it parses its command line arguments
13108         via webkitpy.test.printer.Printer.configure(). Messages logged until then are never written
13109         to the console. We explicitly configure the __main__ logger instead of calling webkitpy.test.printer.Printer.configure()
13110         earlier because the latter both configures a stream and filters logged messages based on
13111         the specified verbosity. Logged messaged from code in __main__ should not be subject to
13112         such filtering. So, we explicitly configure the __main__ logger.
13114         * Scripts/webkitpy/test/main.py:
13115         (main):
13117 2018-05-25  Saam Barati  <sbarati@apple.com>
13119         Make JSC have a mini mode that kicks in when the JIT is disabled
13120         https://bugs.webkit.org/show_bug.cgi?id=185931
13122         Reviewed by Mark Lam.
13124         This renames a variable for clarity.
13126         * Scripts/run-testmem:
13128 2018-05-25  Alex Christensen  <achristensen@webkit.org>
13130         URL::host should return a StringView to reduce allocations
13131         https://bugs.webkit.org/show_bug.cgi?id=185986
13133         Reviewed by Geoff Garen.
13135         * TestWebKitAPI/Tests/WebCore/URL.cpp:
13136         (TestWebKitAPI::TEST_F):
13137         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
13138         (TestWebKitAPI::eq):
13139         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
13140         (TestWebKitAPI::SSLKeyGeneratorTest::TearDown):
13142 2018-05-25  Ms2ger  <Ms2ger@igalia.com>
13144         Minor improvements to wpt exporter.
13145         https://bugs.webkit.org/show_bug.cgi?id=185978
13147         Reviewed by Youenn Fablet.
13149         * Scripts/webkitpy/w3c/test_exporter.py:
13150         (TestExporter.push_to_wpt_fork): Update call to create_upload_remote().
13151         (TestExporter.make_pull_request): Improve the description of the created PR.
13152         (TestExporter.create_upload_remote): Always update the remote to override any obsolete state.
13154 2018-05-25  Saam Barati  <sbarati@apple.com>
13156         Have a memory test where we can validate JSCs mini memory mode
13157         https://bugs.webkit.org/show_bug.cgi?id=185932
13159         Reviewed by Mark Lam.
13161         This patch adds the run-testmem script. This runs the new testmem
13162         CLI against the contents in the testmem benchmark. The contents of testmem
13163         contain tests from ARES-6, Sunspider, Octane, and JetStream.
13164         
13165         One iteration of the benchmark comprises of running each testmem test for
13166         a certain number of iterations. We collect the peak memory usage, the memory
13167         usage after running all the iterations, and the time it takes to run all the
13168         iterations. We then run the entire benchmark 3 times over. For each test, we
13169         compute the arithmetic mean over each iteration for time, peak memory, and
13170         end memory. The benchmark then computes a time score and memory score.
13171         
13172         peak memory score = geomean({peak memory of each individual test})
13173         end memory score = geomean({end memory of each individual test})
13174         memory score = geomean({peak memory score, end memory score})
13175         time score = geomean({time score of each individual test})
13176         
13177         We want the memory score to weigh improvements to peak memory usage and
13178         memory usage at the end equally.
13179         
13180         We plan to tune this benchmark in JSC's mini mode by improving the memory
13181         score while ensuring the time score is not more than 10-15% regressed.
13183         * Scripts/run-testmem: Added.
13185 2018-05-25  Sihui Liu  <sihui_liu@apple.com>
13187         [WKHTTPCookieStore getAllCookies] returns inconsistent creation time
13188         https://bugs.webkit.org/show_bug.cgi?id=185041
13189         <rdar://problem/34684214>
13191         Reviewed by Geoffrey Garen.
13193         Add API test coverage.
13195         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
13196         (TEST):
13198 2018-05-24  Chris Dumez  <cdumez@apple.com>
13200         Reduce copying of FontCascadeDescription objects by moving them around
13201         https://bugs.webkit.org/show_bug.cgi?id=185963
13203         Reviewed by Simon Fraser.
13205         Reduce copying of FontCascadeDescription objects by moving them around when possible.
13207         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
13208         (TestWebKitAPI::TEST_F):
13210 2018-05-24  Carlos Garcia Campos  <cgarcia@igalia.com>
13212         WebDriver: implement maximize, minimize and fullscreen window commands
13213         https://bugs.webkit.org/show_bug.cgi?id=180398
13215         Reviewed by Brian Burg.
13217         * Scripts/webkitpy/port/xvfbdriver.py:
13218         (XvfbDriver._setup_environ_for_test): Set UNDER_XVFB environment variable when running under Xvfb.
13220 2018-05-24  Xabier Rodriguez Calvar  <calvaris@igalia.com>
13222         [GStreamer] Save some time disabling some compile options in the dependencies
13223         https://bugs.webkit.org/show_bug.cgi?id=185909
13225         Reviewed by Philippe Normand.
13227         * gstreamer/jhbuild.modules: Added  --disable-tests to gstreamer
13228         and --disable-examples --disable-gtk-doc to gstreamer-vaapi.
13230 2018-05-23  Roy Reapor  <rreapor@apple.com>
13232         Use Helvetica on build.webkit.org webpages
13233         https://bugs.webkit.org/show_bug.cgi?id=185894
13235         Reviewed by Aakash Jain.
13237         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
13238         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/common.css:
13239         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/summary-mock.html:
13241 2018-05-23  Aakash Jain  <aakash_jain@apple.com>
13243         Add Buildbot configuration for Opensource EWS
13244         https://bugs.webkit.org/show_bug.cgi?id=185484
13246         Rubber-stamped by Alexey Proskuryakov.
13248         * BuildSlaveSupport/ews-build/config.json: Added, config file.
13249         * BuildSlaveSupport/ews-build/factories.py: Added, basic template for factories.
13250         * BuildSlaveSupport/ews-build/loadConfig.py: Added.
13251         (loadBuilderConfig): Loads the configuration.
13252         (checkValidWorker): Checks if the worker is valid.
13253         (checkValidBuilder): Checks if the builder is valid.
13254         (checkWorkersAndBuildersForConsistency): Check if workers and builders are consistent.
13255         (checkWorkersAndBuildersForConsistency._find_worker_with_name):
13256         (getBlackListedTags): Returns a list of keywords which should not be listed as tags.
13257         (getValidTags): Returns a list of valid tags.
13258         (getTagsForBuilder): Return a list of tags for given builder.
13259         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: unit-tests for loadConfig.py.
13260         * BuildSlaveSupport/ews-build/master.cfg: Configuration for buildbot.
13262 2018-05-23  Michael Catanzaro  <mcatanzaro@igalia.com>
13264         [GTK] Silence GCC 8 warnings
13265         https://bugs.webkit.org/show_bug.cgi?id=185556
13267         Reviewed by Å½an DoberÅ¡ek.
13269         GCC is complaining about this strncpy. It's guaranteed to be safe, because the length of
13270         source and destination are always identical. But switching to snprintf avoids the warning.
13272         * DumpRenderTree/TestNetscapePlugIn/Tests/FormValue.cpp:
13273         (FormValue::NPP_GetValue):
13275 2018-05-23  Ryan Haddad  <ryanhaddad@apple.com>
13277         Unreviewed, rolling out r232112.
13279         The tests added with this change  are failing on the bots.
13281         Reverted changeset:
13283         "test262/Runner.pm: add unit tests"
13284         https://bugs.webkit.org/show_bug.cgi?id=185783
13285         https://trac.webkit.org/changeset/232112
13287 2018-05-23  Valerie R Young  <valerie@bocoup.com>
13289         test262/Runner.pm: add unit tests
13290         https://bugs.webkit.org/show_bug.cgi?id=185783
13292         Reviewed by Aakash Jain.
13294         Add unit tests to be run by test-webkitperl
13296         * Scripts/test262/Runner.pm:
13297         (main):
13298          - If harness files cannot be found in a custom, supplies test262 path,
13299            then sure the webkit test262 harness files.
13300          - Lazily create the test262-results directory.
13301          - If an expectation file is supplied via command line, save to the
13302            supplied location instead of the detault webkit location.
13303         (compileTest):
13304         (processResult):
13305         (getHarness):
13306         * Scripts/webkitperl/test262_unittest/README: Added.
13307         * Scripts/webkitperl/test262_unittest/fixtures/expectations-compare.yaml: Added.
13308         * Scripts/webkitperl/test262_unittest/fixtures/expectations.yaml: Added.
13309         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing-with-new-error.js: Added.
13310         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing.js: Added.
13311         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-passing.js: Added.
13312         (f):
13313         * Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-pass-now-failing.js: Added.
13314         * Scripts/webkitperl/test262_unittest/fixtures/test/fail.js: Added.
13315         * Scripts/webkitperl/test262_unittest/fixtures/test/pass.js: Added.
13316         (f):
13317         * Scripts/webkitperl/test262_unittest/test262-runner-tests.pl: Added.
13319 2018-05-22  Roy Reapor  <rreapor@apple.com>
13321         Test infrastructure websites should use jQuery and jQuery UI hosted on webkit.org
13322         https://bugs.webkit.org/show_bug.cgi?id=185788
13324         Reviewed by Aakash Jain.
13326         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
13327         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html:
13328         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html:
13329         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
13330         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/summary-mock.html:
13331         * TestResultServer/static-dashboards/run-embedded-unittests.html:
13332         * TestResultServer/static-dashboards/run-unittests.html:
13334 2018-05-22  Sihui Liu  <sihui_liu@apple.com>
13336         [iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool is crashing with reason: 'Completion handler passed to -[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:] was not called'
13337         https://bugs.webkit.org/show_bug.cgi?id=185831
13339         Reviewed by Chris Dumez.
13341         Updated the test to prevent crash after assertion fails.
13343         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
13344         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
13346 2018-05-22  Chris Dumez  <cdumez@apple.com>
13348         Regression(AsyncPolicyDelegates): Box.app login Window is blank
13349         https://bugs.webkit.org/show_bug.cgi?id=185832
13350         <rdar://problem/40307871>
13352         Reviewed by Geoffrey Garen.
13354         Add API test coverage.
13356         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13357         * TestWebKitAPI/Tests/WebKit/cocoa/WeakObjCPtr.mm:
13358         * TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm: Added.
13359         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
13360         (-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
13361         (-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]):
13362         (TestWebKitAPI::TEST):
13363         * TestWebKitAPI/cocoa/TestWKWebView.mm:
13364         (-[WKWebView _isBackground]):
13366 2018-05-22  Sihui Liu  <sihui_liu@apple.com>
13368         Conversion between SecurityOriginData and DatabaseIdentifier is asymmetric when port is null
13369         https://bugs.webkit.org/show_bug.cgi?id=185715
13371         Reviewed by Geoffrey Garen.
13373         Add API test coverage.
13375         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13376         * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm: Added.
13377         (-[LocalStorageUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
13378         (TEST):
13380 2018-05-22  Sihui Liu  <sihui_liu@apple.com>
13382         Unreviewed, added myself as a WebKit committer.
13384         * Scripts/webkitpy/common/config/contributors.json:
13386 2018-05-22  Ryan Haddad  <ryanhaddad@apple.com>
13388         Unreviewed, rolling out r232052.
13390         Breaks internal builds.
13392         Reverted changeset:
13394         "Use more C++17"
13395         https://bugs.webkit.org/show_bug.cgi?id=185176
13396         https://trac.webkit.org/changeset/232052
13398 2018-05-22  Thibault Saunier  <tsaunier@igalia.com>
13400         [GStreamer] Update to GStreamer 1.14.1 in jhbuild
13401         https://bugs.webkit.org/show_bug.cgi?id=185689
13403         Reviewed by Philippe Normand.
13405         And update the patches, removing the ones that have been merged upstream.
13407         * gstreamer/jhbuild.modules:
13408         * gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Removed.
13409         * gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch: Removed. Not needed anymore and closed as OBSELETE upstream.
13410         * gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch
13411         This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.
13412         * gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch.
13413         This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.
13414         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Removed.
13415         * gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed.
13417 2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
13419         Use more C++17
13420         https://bugs.webkit.org/show_bug.cgi?id=185176
13422         Reviewed by JF Bastien.
13424         * DumpRenderTree/mac/Configurations/Base.xcconfig:
13425         * ImageDiff/cg/Configurations/Base.xcconfig:
13426         * MiniBrowser/Configurations/Base.xcconfig:
13427         * MobileMiniBrowser/Configurations/Base.xcconfig:
13428         * TestWebKitAPI/Configurations/Base.xcconfig:
13429         * WebKitTestRunner/Configurations/Base.xcconfig:
13431 2018-05-21  Fujii Hironori  <Hironori.Fujii@sony.com>
13433         [WinCairo] Enable WebKit build by default
13434         https://bugs.webkit.org/show_bug.cgi?id=185141
13436         Reviewed by Per Arne Vollan.
13438         TestWTF, TestWebCore and TestWebKitLegacy need a dependency to
13439         WebKitForwardingHeaders because config.h includes a header of WK2.
13441         * TestWebKitAPI/PlatformWin.cmake: Make TestWTFLib, TestWebCoreLib and TestWebKitLegacyLib depend on WebKitForwardingHeaders.
13442         * TestWebKitAPI/config.h: Use PLATFORM(WIN_CAIRO) instead of BUILDING_WIN_CAIRO_WEBKIT.
13444 2018-05-21  Jer Noble  <jer.noble@apple.com>
13446         Complete fix for enabling modern EME by default
13447         https://bugs.webkit.org/show_bug.cgi?id=185770
13448         <rdar://problem/40368220>
13450         Reviewed by Eric Carlson.
13452         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
13454 2018-05-18  Christopher Reid  <chris.reid@sony.com>
13456         Unreviewed, add myself as a WebKit committer.
13458         * Scripts/webkitpy/common/config/contributors.json:
13460 2018-05-21  Carlos Garcia Campos  <cgarcia@igalia.com>
13462         Unreviewed, rolling out r222967.
13464         It's not ready yet
13466         Reverted changeset:
13468         "[GTK][WPE] Add API to configure and enable resource load
13469         statistics"
13470         https://bugs.webkit.org/show_bug.cgi?id=177943
13471         https://trac.webkit.org/changeset/222967
13473 2018-05-20  Carlos Garcia Campos  <cgarcia@igalia.com>
13475         [GTK] MiniBrowser crashes when loading twice quickly
13476         https://bugs.webkit.org/show_bug.cgi?id=185763
13478         Reviewed by Michael Catanzaro.
13480         This is very difficult to reproduce manually, but it happens when running WebDriver tests where loads are very
13481         fast and multiple loads are done quickly. The problem is that we use an idle to reset the progress bar, but we
13482         don't reset it when a new load starts. We always reset the last idle on destroy, but if there's another one
13483         leaked, it will crash when scheduled if the window has already been destroyed.
13485         * MiniBrowser/gtk/BrowserWindow.c:
13486         (webViewLoadProgressChanged): Stop any pending reset task when progress != 1.
13488 2018-05-19  Sihui Liu  <sihui_liu@apple.com>
13490         Flaky API test WebKit.WKHTTPCookieStoreWithoutProcessPool: incorrect order of cookies
13491         https://bugs.webkit.org/show_bug.cgi?id=185624
13492         <rdar://problem/39111626>
13494         Reviewed by Chris Dumez.
13496         Modified expectation to make test more robust as cookies can be returned in different orders.
13498         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
13499         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
13500         (TEST):
13502 2018-05-18  Commit Queue  <commit-queue@webkit.org>
13504         Unreviewed, rolling out r231982.
13505         https://bugs.webkit.org/show_bug.cgi?id=185793
13507         Caused layout test failures (Requested by realdawei on
13508         #webkit).
13510         Reverted changeset:
13512         "Complete fix for enabling modern EME by default"
13513         https://bugs.webkit.org/show_bug.cgi?id=185770
13514         https://trac.webkit.org/changeset/231982
13516 2018-05-18  Eric Carlson  <eric.carlson@apple.com>
13518         Handle failure to extend sandbox gracefully
13519         https://bugs.webkit.org/show_bug.cgi?id=185779
13520         <rdar://problem/40316349>
13522         Unreviewed, fix test results.
13524         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
13525         (TEST_F):
13527 2018-05-18  Jer Noble  <jer.noble@apple.com>
13529         Complete fix for enabling modern EME by default
13530         https://bugs.webkit.org/show_bug.cgi?id=185770
13531         <rdar://problem/40368220>
13533         Reviewed by Eric Carlson.
13535         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
13537 2018-05-18  Eric Carlson  <eric.carlson@apple.com>
13539         Handle failure to extend sandbox gracefully
13540         https://bugs.webkit.org/show_bug.cgi?id=185779
13541         <rdar://problem/40316349>
13543         Reviewed by Brent Fulgham.
13545         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13546         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm: Added.
13547         (-[SimulateFailedSandboxMessageHandler userContentController:didReceiveScriptMessage:]):
13548         (-[SimulateFailedSandboxUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
13549         (-[SimulateFailedSandboxUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
13550         (MediaCaptureSimulateFailedSandbox::SetUp):
13551         (MediaCaptureSimulateFailedSandbox::loadTestAndWaitForMessage):
13552         (TEST_F):
13553         * TestWebKitAPI/Tests/WebKitCocoa/disableGetUserMedia.html:
13555 2018-05-18  Daniel Bates  <dabates@apple.com>
13557         "debug-safari --ios-simulator" creates lldb target to launch Mac Safari
13558         https://bugs.webkit.org/show_bug.cgi?id=185774
13560         Reviewed by Andy Estes.
13562         For now, the script debug-safari is not supported for WebKit for iOS. To
13563         fix this we differentiate between the Apple Mac port and Apple embedded
13564         ports.
13566         * Scripts/webkitdirs.pm:
13567         (safariPath): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
13568         (isAppleMacWebKit): Added.
13569         (isAppleCocoaWebKit): Write in terms of isAppleMacWebKit() and isEmbeddedWebKit().
13570         (launcherName): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
13571         (mobileSafariBundle): Substitute isIOSWebKit() for isAppleCocoaWebKit().
13572         (debugSafari): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
13573         (runSafari): Ditto.
13574         (runMiniBrowser): Ditto.
13575         (debugMiniBrowser): Ditto.
13576         (runWebKitTestRunner): Ditto.
13577         (debugWebKitTestRunner): Ditto.
13579 2018-05-18  Antoine Quint  <graouts@apple.com>
13581         [Web Animations] Turn Web Animations with CSS integration on for test runners
13582         https://bugs.webkit.org/show_bug.cgi?id=184819
13583         <rdar://problem/39597337>
13585         Unreviewed. Rolling out the patch for this bug, it caused some flaky timeouts for animation suspension tests.
13587         * DumpRenderTree/TestOptions.cpp:
13588         (TestOptions::TestOptions):
13589         * DumpRenderTree/TestOptions.h:
13590         * DumpRenderTree/mac/DumpRenderTree.mm:
13591         (runTest):
13592         (shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference): Deleted.
13593         * WebKitTestRunner/TestController.cpp:
13594         (WTR::TestController::resetPreferencesToConsistentValues):
13595         (WTR::updateTestOptionsFromTestHeader):
13596         * WebKitTestRunner/TestOptions.cpp:
13597         (WTR::TestOptions::TestOptions):
13598         (WTR::isLegacyAnimationEngineTestPath): Deleted.
13599         * WebKitTestRunner/TestOptions.h:
13601 2018-05-18  Fujii Hironori  <Hironori.Fujii@sony.com>
13603         [Win][MiniBrowser] Create MainWindow even in transparent mode
13604         https://bugs.webkit.org/show_bug.cgi?id=185597
13606         Reviewed by Per Arne Vollan.
13608         The current implementations doesn't create the MainWindow in
13609         transparent mode. The screenshot is in Bug 58300.
13611         There were three problems:
13612         - Can't control the WebView. ie. going backward and forward.
13613         - Can't quit the program.
13614         - It makes implementation complicated.
13616         * MiniBrowser/win/Common.cpp (resizeSubViews): Resize sub views
13617         even in the transparent mode.
13618         * MiniBrowser/win/WinMain.cpp:
13619         (wWinMain): Create the main window even in the transparent mode.
13621 2018-05-18  Antoine Quint  <graouts@apple.com>
13623         [Web Animations] Turn Web Animations with CSS integration on for test runners
13624         https://bugs.webkit.org/show_bug.cgi?id=184819
13625         <rdar://problem/39597337>
13627         Reviewed by Jon Lee.
13629         Make the test runners turn both the main Web Animations flag and the Web Animations CSS
13630         integration flag on.
13632         We also remove the ability to toggle the Web Animations CSS integration flag using an HTML
13633         comment directly at the top of the file since test runners now set the flag on by default
13634         and a dedicated directory exists for tests that need to run with this flag off.
13636         * DumpRenderTree/TestOptions.cpp:
13637         (TestOptions::TestOptions):
13638         * DumpRenderTree/TestOptions.h:
13639         * DumpRenderTree/mac/DumpRenderTree.mm:
13640         (shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference):
13641         (runTest):
13642         * WebKitTestRunner/TestController.cpp:
13643         (WTR::TestController::resetPreferencesToConsistentValues):
13644         (WTR::updateTestOptionsFromTestHeader):
13645         * WebKitTestRunner/TestOptions.cpp:
13646         (WTR::isLegacyAnimationEngineTestPath):
13647         (WTR::TestOptions::TestOptions):
13648         * WebKitTestRunner/TestOptions.h:
13650 2018-05-17  Nan Wang  <n_wang@apple.com>
13652         AX: [macOS] Expose the primary screen height through AX API
13653         https://bugs.webkit.org/show_bug.cgi?id=185742
13655         Reviewed by Chris Fleizach.
13657         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
13658         (attributesOfElement):
13659         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
13660         (WTR::attributesOfElement):
13662 2018-05-17  Commit Queue  <commit-queue@webkit.org>
13664         Unreviewed, rolling out r231912.
13665         https://bugs.webkit.org/show_bug.cgi?id=185750
13667         It is prompting the user when there is no WPT changes
13668         (Requested by bmac on #webkit).
13670         Reverted changeset:
13672         "Export changes to web-platform-test as part of the webkit-
13673         patch upload workflow"
13674         https://bugs.webkit.org/show_bug.cgi?id=184914
13675         https://trac.webkit.org/changeset/231912
13677 2018-05-17  Valerie R Young  <valerie@bocoup.com>
13679         test262/Runner.pm: expand $INC to find webkitdirs.pm
13680         https://bugs.webkit.org/show_bug.cgi?id=185739
13682         Reviewed by Michael Saboff.
13684         * Scripts/test262/Runner.pm:
13685         (getBuildPath):
13687 2018-05-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
13689         [WPE] Implement and enable FULLSCREEN_API
13690         https://bugs.webkit.org/show_bug.cgi?id=185676
13692         Reviewed by Å½an DoberÅ¡ek.
13694         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
13695         (testWebViewFullScreen):
13697 2018-05-17  Brendan McLoughlin  <brendan@bocoup.com>
13699         Export changes to web-platform-test as part of the webkit-patch upload workflow
13700         https://bugs.webkit.org/show_bug.cgi?id=184914
13702         Reviewed by Youenn Fablet.
13704         * Scripts/webkitpy/tool/commands/upload.py:
13705         (Upload):
13706         (CreateBug.execute):
13707         (WPTChangeExport):
13708         * Scripts/webkitpy/tool/steps/__init__.py:
13709         * Scripts/webkitpy/tool/steps/wptchangeexport.py: Added.
13710         (WPTChangeExport):
13711         (WPTChangeExport.options):
13712         (WPTChangeExport.run):
13713         * Scripts/webkitpy/w3c/common.py:
13714         * Scripts/webkitpy/w3c/test_exporter.py:
13715         (WebPlatformTestExporter):
13716         (WebPlatformTestExporter.__init__):
13717         (WebPlatformTestExporter.username):
13718         (WebPlatformTestExporter.token):
13719         (WebPlatformTestExporter._github):
13720         (WebPlatformTestExporter._wpt_fork_branch_github_url):
13721         (WebPlatformTestExporter._wpt_fork_remote):
13722         (WebPlatformTestExporter._wpt_fork_push_url):
13723         (WebPlatformTestExporter._git):
13724         (WebPlatformTestExporter._branch_name):
13725         (WebPlatformTestExporter._public_branch_name):
13726         (WebPlatformTestExporter.has_wpt_changes):
13727         (WebPlatformTestExporter._create_patch):
13728         (WebPlatformTestExporter.create_git_patch):
13729         (WebPlatformTestExporter._prompt_for_token):
13730         (WebPlatformTestExporter._prompt_for_username):
13731         (WebPlatformTestExporter._ensure_username_and_token):
13732         (WebPlatformTestExporter._validate_and_save_token):
13733         (WebPlatformTestExporter.push_to_wpt_fork):
13734         (WebPlatformTestExporter.make_pull_request):
13735         (WebPlatformTestExporter.delete_local_branch):
13736         (parse_args):
13737         (TestExporter): Deleted.
13738         (TestExporter.__init__): Deleted.
13739         (TestExporter._ensure_wpt_repository): Deleted.
13740         (TestExporter._fetch_wpt_repository): Deleted.
13741         (TestExporter._ensure_new_branch_name): Deleted.
13742         (TestExporter.download_and_commit_patch): Deleted.
13743         (TestExporter.clean): Deleted.
13744         (TestExporter.create_branch_with_patch): Deleted.
13745         (TestExporter.push_to_wpt_fork): Deleted.
13746         (TestExporter.make_pull_request): Deleted.
13747         (TestExporter.create_wpt_pull_request): Deleted.
13748         (TestExporter.delete_local_branch): Deleted.
13749         (TestExporter.create_git_patch): Deleted.
13750         (TestExporter.create_upload_remote_if_needed): Deleted.
13751         (TestExporter.do_export): Deleted.
13752         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
13753         (TestExporterTest.test_export):
13754         (TestExporterTest.test_export_with_specific_branch):
13755         (TestExporterTest):
13756         (TestExporterTest.test_export_interactive_mode):
13757         (TestExporterTest.test_export_invalid_token):
13758         (TestExporterTest.test_export_wrong_token):
13760 2018-05-17  Valerie R Young  <valerie@bocoup.com>
13762         test262/Runner.pm: look for jsc in path if cannot call webkit-build-directory
13763         https://bugs.webkit.org/show_bug.cgi?id=185650
13765         Reviewed by Michael Saboff.
13767         First, use jsc from CLI arg, then try to use webkit-build-directory,
13768         if that doesn't work, look for jsc in the $PATH
13770         * Scripts/test262/Runner.pm:
13771         (processCLI):
13772         (getBuildPath):
13773         (runTest):
13775 2018-05-16  Leo Balter  <leonardo.balter@gmail.com>
13777         Test262-Runner: Adds a --timeout option
13778         https://bugs.webkit.org/show_bug.cgi?id=185696
13780         Reviewed by Michael Saboff.
13782         The timeout option is used to set a timeout execution in ms for each test run in JSC.
13783         The passed value - if defined - will be used as the value for the JSC --watchdog arg.
13784         * Scripts/test262/Runner.pm:
13785         (processCLI):
13786         (runTest):
13788 2018-05-16  Leo Balter  <leonardo.balter@gmail.com>
13790         Test262-Runner: Set timer for each test run
13791         https://bugs.webkit.org/show_bug.cgi?id=185692
13793         Reviewed by Michael Saboff.
13795         Sets a high resolution timer for each execution call of JSC, reporting
13796         the time in the results report to allow identifying slow tests.
13797         * Scripts/test262/Runner.pm:
13798         (main):
13799         (processFile):
13800         (runTest):
13801         (processResult):
13803 2018-05-16  Andy VanWagoner  <andy@vanwagoner.family>
13805         Add support for Intl NumberFormat formatToParts
13806         https://bugs.webkit.org/show_bug.cgi?id=185375
13808         Reviewed by Yusuke Suzuki.
13810         Add flag for NumberFormat formatToParts.
13812         * Scripts/webkitperl/FeatureList.pm:
13813         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
13815 2018-05-14  Yusuke Suzuki  <utatane.tea@gmail.com>
13817         [Win] Use C++17 in MSVC
13818         https://bugs.webkit.org/show_bug.cgi?id=185232
13820         Reviewed by Alex Christensen.
13822         Do not use `using namespace std;`. In C++17, we have std::byte. This "byte"
13823         conflicts with ::byte defined in Windows' header.
13825         * DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp:
13826         (WindowedPluginTest::WindowedPluginTest):
13827         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
13828         (logEventProc):
13829         (stringEvent):
13830         (AccessibilityController::winNotificationReceived):
13831         * DumpRenderTree/win/TextInputController.cpp:
13832         (markedRangeCallback):
13833         (firstRectForCharacterRangeCallback):
13834         (selectedRangeCallback):
13835         * DumpRenderTree/win/TextInputController.h:
13836         * DumpRenderTree/win/TextInputControllerWin.cpp:
13837         (TextInputController::markedRange):
13838         (TextInputController::firstRectForCharacterRange):
13839         (TextInputController::selectedRange):
13841 2018-05-16  Sihui Liu  <sihui_liu@apple.com>
13843         Session cookies aren't reliably set when using default WKWebSiteDataStore
13844         https://bugs.webkit.org/show_bug.cgi?id=185624
13845         <rdar://problem/39111626>
13847         Reviewed by Geoffrey Garen.
13849         Modified and enabled WebKit.WKHTTPCookieStoreWithoutProcessPool.
13851         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
13852         (-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
13853         (TEST):
13855 2018-05-16  Valerie R Young  <valerie@bocoup.com>
13857         test262/Runner.pm: save to supplied expectation file if supplied
13858         https://bugs.webkit.org/show_bug.cgi?id=185660
13860         Reviewed by Michael Saboff.
13862         * Scripts/test262/Runner.pm:
13863         (processCLI):
13864         (main):
13866 2018-05-15  Ryan Haddad  <ryanhaddad@apple.com>
13868         Unreviewed, rolling out r231763.
13870         The test added with this change is failing an assertion.
13872         Reverted changeset:
13874         "NSEvent event trackers don't work from WebKitTestRunner"
13875         https://bugs.webkit.org/show_bug.cgi?id=185383
13876         https://trac.webkit.org/changeset/231763
13878 2018-05-15  David Kilzer  <ddkilzer@apple.com>
13880         TestWebKitAPI: Fix warnings found by new clang compiler
13881         <https://webkit.org/b/185631>
13883         Reviewed by Michael Catanzaro.
13885         * TestWebKitAPI/Tests/WTF/NakedPtr.cpp:
13886         (TestWebKitAPI::TEST):
13887         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
13888         (TestWebKitAPI::TEST):
13889         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
13890         (TestWebKitAPI::TEST):
13891         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
13892         (TestWebKitAPI::TEST):
13893         - Add #pragma statements to ignore the new
13894           -Wself-assign-overloaded warning and to ignore
13895           this as an unknown warning on older clang versions.  We want
13896           to keep these self assigments as this code is designed to test
13897           that use case.
13899         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
13900         (TestWebKitAPI::didFindStringMatches):
13901         - Replace the "rect = rect;" statement that was used to avoid an
13902           unused variable warning with two expectations.
13904         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
13905         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
13906         - Switch from -integerValue to -unsignedIntegerValue when
13907           comparing against _WKRectEdgeAll since it's an enum declared
13908           as an NSUInteger.
13910 2018-05-15  Michael Catanzaro  <mcatanzaro@igalia.com>
13912         Unreviewed, rolling out r230749
13914         This did not work as desired.
13916         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
13917         (TestWebKitAPI::TEST):
13919 2018-05-15  Antoine Quint  <graouts@apple.com>
13921         [Web Animations] Expose Web Animations CSS integration as an experimental feature
13922         https://bugs.webkit.org/show_bug.cgi?id=185647
13924         Reviewed by Dean Jackson.
13926         Rename the Web Animations CSS integration flag.
13928         * DumpRenderTree/TestOptions.cpp:
13929         (TestOptions::TestOptions):
13930         * DumpRenderTree/TestOptions.h:
13931         * DumpRenderTree/mac/DumpRenderTree.mm:
13932         (setWebPreferencesForTestOptions):
13933         * WebKitTestRunner/TestController.cpp:
13934         (WTR::TestController::resetPreferencesToConsistentValues):
13935         (WTR::updateTestOptionsFromTestHeader):
13936         * WebKitTestRunner/TestOptions.h:
13937         (WTR::TestOptions::hasSameInitializationOptions const):
13939 2018-05-14  Brady Eidson  <beidson@apple.com>
13941         Add an API test to guard against regressions while re-entering setDefersLoading:.
13942         <rdar://problem/37033737> and https://bugs.webkit.org/show_bug.cgi?id=185630
13944         Reviewed by Chris Dumez.
13946         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13947         * TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm: Added.
13948         (-[DoubleDefersNavigationDelegate _webView:navigation:didSameDocumentNavigation:]):
13949         (-[DoubleDefersNavigationDelegate webView:didFinishNavigation:]):
13950         (-[DefersScheme initWithBytes:]):
13951         (-[DefersScheme webView:startURLSchemeTask:]):
13952         (-[DefersScheme webView:stopURLSchemeTask:]):
13953         * TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoadingPlugin.mm: Added.
13954         (-[DoubleDefersLoadingPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
13955         (-[DoubleDefersLoadingPlugIn webProcessPlugInBrowserContextController:didSameDocumentNavigation:forFrame:]):
13956         (-[DoubleDefersLoadingPlugIn dealloc]):
13958 2018-05-14  Daniel Bates  <dabates@apple.com>
13960         [iOS] Add a test to ensure that setTimeout() does not fire more than expected when using UIWebView
13961         https://bugs.webkit.org/show_bug.cgi?id=185599
13962         <rdar://problem/22493890>
13964         Reviewed by Simon Fraser.
13966         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
13967         * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm: Added.
13968         (-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
13969         (-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
13970         (-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
13971         (TestWebKitAPI::TEST):
13972         * TestWebKitAPI/ios/set-timeout-function.html: Added.
13974 2018-05-14  Valerie R Young  <valerie@bocoup.com>
13976         test262/Runner.pm: small bugs in CLI and error codes
13977         https://bugs.webkit.org/show_bug.cgi?id=185629
13979         Reviewed by Michael Saboff.
13981         Fix two commandline args with use '-f', correct
13982         error code of failures.
13984         * Scripts/test262/Runner.pm:
13985         (processCLI):
13986         (main):
13988 2018-05-14  Ryan Haddad  <ryanhaddad@apple.com>
13990         Disable API tests that time out after pointer poisioning was disabled.
13991         https://bugs.webkit.org/show_bug.cgi?id=185586
13993         Unreviewed test gardening.
13995         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
13996         (TestWebKitAPI::TEST):
13997         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
13998         (TestWebKitAPI::TEST):
13999         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
14000         (TestWebKitAPI::TEST):
14001         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
14002         (TestWebKitAPI::TEST):
14004 2018-05-14  Leo Balter  <leonardo.balter@gmail.com>
14006         Test262-Runner: Fix RegExp for capturing tests metadata"
14007         https://bugs.webkit.org/show_bug.cgi?id=185622
14009         Reviewed by Michael Saboff.
14011         This patch fixes the RegExp used to capture each test metadata regarding their EOL characters for
14012         both LF and CRLF forms.
14014         The fix also allows the runner to capture the proper results from two specific files using CR and
14015         CRLF line terminators. They are updated in the expectations file.
14016         * Scripts/test262/Runner.pm:
14017         (parseData):
14019 2018-05-14  Jeremy Jones  <jeremyj@apple.com>
14021         NSEvent event trackers don't work from WebKitTestRunner
14022         https://bugs.webkit.org/show_bug.cgi?id=185383
14023         rdar://problem/40025045
14025         Reviewed by Simon Fraser.
14027         Post simulated wheel events to _sendEventToObservers: so they can be handled by NSEvent observers.
14028         NSEvent swipe tracking is used for webkit swipe navigation.
14030         * WebKitTestRunner/mac/EventSenderProxy.mm:
14031         (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
14033 2018-05-11  Leo Balter  <leonardo.balter@gmail.com>
14035         Test262 Runner should search for the Debug JSC by default
14036         https://bugs.webkit.org/show_bug.cgi?id=185562
14038         Reviewed by Michael Saboff.
14040         The Test262 Runner is now searching for the Debug build of JSC by
14041         default, not the Release build.
14043         This fix allows a similar call from the previous runner, making
14044         it compatible with the current build bot configuration parameters.
14046         This patch also adds some minor improvements the verbose mode output.
14048         * Scripts/test262/Runner.pm:
14049         (processCLI):
14050         (main):
14051         (getBuildPath):
14052         (processResult):
14054 2018-05-11  Charles Vazac  <cvazac@gmail.com>
14056         Runtime feature flag for Server-Timing
14057         https://bugs.webkit.org/show_bug.cgi?id=184758
14059         Reviewed by Youenn Fablet.
14061         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: added ENABLE_SERVER_TIMING.
14062         * DumpRenderTree/win/DumpRenderTree.cpp: enable Server Timing
14064 2018-05-11  Fujii Hironori  <Hironori.Fujii@sony.com>
14066         [Win][MiniBrowser] Move WK1 related code into MiniBrowser
14067         https://bugs.webkit.org/show_bug.cgi?id=185418
14069         Reviewed by Alex Christensen.
14071         All WK1 related code should be moved into MiniBrowser for the preparation
14072         of Bug 184770.
14074         This change moves the initilization code of MiniBrowse into MiniBrowser::init().
14076         * MiniBrowser/win/Common.cpp:
14077         (getAppDataFolder): Removed `static` keyword to be called from MiniBrowser.cpp.
14078         (setCacheFolder): This is only for WK1. Moved into MiniBrowser.cpp.
14079         * MiniBrowser/win/Common.h: Added.
14080         * MiniBrowser/win/MiniBrowser.cpp:
14081         (MiniBrowser::init): Moved the initilization code from wWinMain.
14082         (MiniBrowser::setCacheFolder): Moved from Common.cpp and made it a method.
14083         * MiniBrowser/win/MiniBrowser.h:
14084         (MiniBrowser::setCacheFolder): Changed to a private method.
14085         (MiniBrowser::subclassForLayeredWindow): Changed to a private method.
14086         * MiniBrowser/win/WinMain.cpp:
14087         (wWinMain): Moved MiniBrowse initilization code into MiniBrowser.cpp.
14089 2018-05-11  Brady Eidson  <beidson@apple.com>
14091         Make sure history navigations reuse the existing process when necessary.
14092         <rdar://problem/39746516> and https://bugs.webkit.org/show_bug.cgi?id=185532
14094         Reviewed by Ryosuke Niwa.
14096         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
14098 2018-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
14100         [JSC][GLIB] Add introspectable alternatives to functions using vargars
14101         https://bugs.webkit.org/show_bug.cgi?id=185508
14103         Reviewed by Michael Catanzaro.
14105         Add test cases for the new API.
14107         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
14108         (testJSCFunction):
14109         (testJSCObject):
14111 2018-05-10  Leo Balter  <leonardo.balter@gmail.com>
14113         [Build Bot] Restore configuration options to the Test262 Runner
14115         During the switch from the previous Test262 runner to the new one,
14116         a call for an extra configurations options got removed.
14118         This call is important to inform the script to find the debug or
14119         release build of JSC. It's being restored in this patch.
14121         https://bugs.webkit.org/show_bug.cgi?id=185513
14123         Reviewed by Yusuke Suzuki.
14125         * BuildSlaveSupport/build.webkit.org-config/steps.py:
14126         (RunTest262Tests):
14128 2018-05-10  Jonathan Bedard  <jbedard@apple.com>
14130         REGRESSION (r230998): Cannot stream API test output
14131         https://bugs.webkit.org/show_bug.cgi?id=185090
14133         Reviewed by Ryosuke Niwa.
14135         Change run-api-tests so that the stdout and stderr of a test will be printed
14136         before it's result. If -v is passed, the output of single test runs will be
14137         streamed. 
14139         * Scripts/webkitpy/api_tests/run_api_tests.py:
14140         (run): Use print_timestamps flag.
14141         (parse_args): Add timestamps option to print timestamps in the log.
14142         * Scripts/webkitpy/api_tests/runner.py:
14143         (Runner): Add running status.
14144         (Runner.__init__): Add number of workers and a flag to detect if a newline
14145         is needed at the beginning of a log line.
14146         (Runner.run): Turn off most logging coming from server process since it is
14147         not constructive for API tests.
14148         (Runner.handle): Add new log message to stream stdout and stderr instead of
14149         caching values until the test run finished.
14150         (_Worker._run_single_test): Log stdout and stderr in real time.
14151         (_Worker._run_shard_with_binary): Log stderr and stdout buffer before ending
14152         the test.
14153         (_Worker.post): Provide a post with explicitly enumerated argument names.
14154         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
14155         (MeteredStream.__init__): Differentiate verbose logging and logging with timestamps.
14156         (MeteredStream.write): Allow for verbose logging without timestamps.
14157         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
14158         (RegularTest): Add print_timestamps flag.
14159         (RegularTest.setUp):
14160         (RegularTest.test_logging_not_included):
14161         (VerboseTest.test_log_args):
14162         (VerboseWithOutTimestamp):
14163         (VerboseWithOutTimestamp.test_basic): Add test for verbose logging without timestamps.
14165 2018-05-10  Ryosuke Niwa  <rniwa@webkit.org>
14167         build-webkit can erroneously warn about Xcode being too old
14168         https://bugs.webkit.org/show_bug.cgi?id=185533
14170         Reviewed by Dan Bernstein.
14172         Don't assume the version number is always a single digit.
14174         * Scripts/webkitdirs.pm:
14175         (determineXcodeVersion):
14177 2018-05-10  Ross Kirsling  <ross.kirsling@sony.com>
14179         [WinCairo][Buildbot] Test bots need to acquire WinCairoRequirements.
14180         https://bugs.webkit.org/show_bug.cgi?id=185528
14182         Reviewed by Lucas Forschler.
14184         * BuildSlaveSupport/build.webkit.org-config/factories.py:
14185         (TestFactory.__init__):
14186         * BuildSlaveSupport/build.webkit.org-config/steps.py:
14187         (InstallWinCairoDependencies):
14189 2018-05-10  Michael Catanzaro  <mcatanzaro@igalia.com>
14191         Fix some -Wstring-op-truncation warnings
14192         https://bugs.webkit.org/show_bug.cgi?id=185496
14194         Reviewed by Alex Christensen.
14196         We have an off-by-one in the use of strncpy. The strings would not be null-terminated if
14197         the input was too long. Ensure the buffers are zero-initialized so we don't need to manually
14198         set the last bucket to NUL.
14200         * TestWebKitAPI/Tests/WTF/AtomicString.cpp:
14201         (TestWebKitAPI::testAtomicStringNumber):
14202         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
14203         (TestWebKitAPI::testStringNumberFixedPrecision):
14204         (TestWebKitAPI::testStringNumberFixedWidth):
14205         (TestWebKitAPI::testStringNumber):
14207 2018-05-10  Fujii Hironori  <Hironori.Fujii@sony.com>
14209         [Win][MiniBrowser] Add a separate WndProc for the layered window
14210         https://bugs.webkit.org/show_bug.cgi?id=185460
14212         Reviewed by Brent Fulgham.
14214         All WK1 related code should be moved into MiniBrowser for the
14215         preparation of Bug 184770.
14217         The layered window was using WndProc of the main window. The
14218         layered window is specific only for WK1. the main window will be
14219         shared among WK1 and WK2.
14221         This change add a new WndProc for the layer window.
14223         * MiniBrowser/win/Common.cpp:
14224         (WndProc): Removed code for the layered windows.
14225         (subclassForLayeredWindow): Moved into MiniBrowser.cpp.
14226         * MiniBrowser/win/MiniBrowser.cpp:
14227         (MiniBrowser::prepareViews): Removed the fourth argument `viewHwnd`.
14228         (viewWndProc): New WndProc for the layered windows.
14229         (MiniBrowser::subclassForLayeredWindow): Moved from Common.cpp.
14230         * MiniBrowser/win/MiniBrowser.h:
14231         (MiniBrowser::hwnd):
14232         * MiniBrowser/win/WinMain.cpp:
14233         (wWinMain): Added m_viewWnd.
14235 2018-05-10  Stephan Szabo  <stephan.szabo@sony.com>
14237         Support --verbose in run-javascriptcore-tests
14238         https://bugs.webkit.org/show_bug.cgi?id=185492
14240         Reviewed by Daniel Bates.
14242         * Scripts/run-javascriptcore-tests:
14243         (runJSCStressTests):
14245 2018-05-10  Valerie R Young  <valerie@bocoup.com>
14247         test262/Runner.pm: --failing-files uses results file not expectations
14248         https://bugs.webkit.org/show_bug.cgi?id=185395
14250         Reviewed by Michael Saboff.
14252         --failing-files arg now uses results file to find failing tests
14253         to rerun. It will look in the test262-results directory from whereever
14254         the script is run, or a results.yaml file can be supplied via command
14255         line argument.
14256         --expectations arg added for suppling expectation file.
14258         * Scripts/test262/Runner.pm:
14259         (processCLI):
14260         (main):
14261         (loadImportFile):
14262         (findAllFailing):
14264 2018-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
14266         [GTK] Add support for settings cookies policy and storage type in MiniBrowser
14267         https://bugs.webkit.org/show_bug.cgi?id=185506
14269         Reviewed by Philippe Normand.
14271         Useful for testing and debugging.
14273         * MiniBrowser/gtk/main.c:
14274         (main):
14276 2018-05-09  Chris Dumez  <cdumez@apple.com>
14278         Unreviewed Windows build fix after r231622.
14280         * DumpRenderTree/win/DumpRenderTree.cpp:
14281         (enableExperimentalFeatures):
14283 2018-05-09  Sihui Liu  <sihui_liu@apple.com>
14285         Update WebKit.WebsiteDataStoreCustomPaths after r231536
14286         https://bugs.webkit.org/show_bug.cgi?id=185486
14287         <rdar://problem/37214391>
14289         Reviewed by Chris Dumez.
14291         Update WebKit.WebsiteDataStoreCustomPaths as _syncNetworkProcessCookies is async now.
14293         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
14294         (TEST):
14296 2018-05-09  Leo Balter  <leonardo.balter@gmail.com>
14298         Test262-Runner: Improve the verbose output
14299         https://bugs.webkit.org/show_bug.cgi?id=185491
14301         Reviewed by Michael Saboff.
14303         * Scripts/test262/Import.pm:
14304         (transferFiles):
14305         * Scripts/test262/Runner.pm:
14306         (processResult):
14308 2018-05-09  Leo Balter  <leonardo.balter@gmail.com>
14310         Fix Test262 Runner to have DYLD_FRAMEWORK_PATH always set
14311         https://bugs.webkit.org/show_bug.cgi?id=185488
14313         Reviewed by Michael Saboff.
14315         * Scripts/test262/Runner.pm:
14316         (processCLI):
14317         (getBuildPath):
14318         (runTest):
14320 2018-05-09  Richard Houle  <rhoule@apple.com>
14322         [Cocoa] Some fields are not identified as [WKWebProcessPlugInNodeHandle isTextField]
14323         https://bugs.webkit.org/show_bug.cgi?id=185260
14324         <rdar://problem/39290394>
14326         Reviewed by Tim Horton.
14328         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
14329         * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm: Added.
14330         (-[InjectedBundleNodeHandleIsTextField isTextFieldForHTMLInputType:document:jsContext:]):
14331         (-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]):
14332         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14333         (-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
14335 2018-05-09  Thibault Saunier  <tsaunier@igalia.com>
14337         [tests][GStreamer]: Pass USE_PLAYBIN3 to the tests subprocess
14338         https://bugs.webkit.org/show_bug.cgi?id=185481
14340         Reviewed by Philippe Normand.
14342         [tests][GStreamer]: Pass USE_PLAYBIN3 to the tests subprocess
14344         * Scripts/webkitpy/port/gtk.py:
14345         (GtkPort.setup_environ_for_server):
14347 2018-05-09  Leo Balter  <leonardo.balter@gmail.com>
14349         Set build.webkit.org to use the new Test262-runner
14350         https://bugs.webkit.org/show_bug.cgi?id=184933
14352         Reviewed by Aakash Jain.
14354         * BuildSlaveSupport/build.webkit.org-config/steps.py:
14355         (RunTest262Tests):
14356         (RunTest262Tests.countFailures):
14357         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
14359 2018-05-09  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
14361         [GTK][JHBuild] LLVM 3.7.0 build is broken with GCC 8.1
14362         https://bugs.webkit.org/show_bug.cgi?id=185461
14364         Reviewed by Michael Catanzaro.
14366         JHBuild now compiles LLVM 6 and Mesa 18.0.3.
14368         * gtk/jhbuild.modules:
14370 2018-05-09  Michael Catanzaro  <mcatanzaro@igalia.com>
14372         Unreviewed. Update OptionsWPE.cmake and NEWS for 2.21.1 release.
14374         * wpe/manifest.txt.in: Distribute the NEWS.
14376 2018-05-09  Michael Catanzaro  <mcatanzaro@igalia.com>
14378         [WPE] Build cleanly with GCC 8 and ICU 60
14379         https://bugs.webkit.org/show_bug.cgi?id=185462
14381         Reviewed by Carlos Alberto Lopez Perez.
14383         * TestWebKitAPI/CMakeLists.txt: Fix weird build failure, we were missing a directory. Not
14384         sure why this was never noticed until now or why the bots are OK.
14385         * gtk/jhbuild.modules: Add upstream patch to avoid warnings inside G_DEFINE_TYPE.
14386         * gtk/patches/glib-cast-function-type.patch: Added.
14387         * wpe/jhbuild.modules: Add upstream patch to avoid warnings inside G_DEFINE_TYPE.
14388         * wpe/patches/glib-cast-function-type.patch: Added.
14390 2018-05-06  Yusuke Suzuki  <utatane.tea@gmail.com>
14392         [JSC][GTK][JSCONLY] Use capstone disassembler
14393         https://bugs.webkit.org/show_bug.cgi?id=185283
14395         Reviewed by Michael Catanzaro.
14397         * gtk/manifest.txt.in:
14398         * wpe/manifest.txt.in:
14400 2018-05-09  Antti Koivisto  <antti@apple.com>
14402         Add OptionSet::operator& and operator bool
14403         https://bugs.webkit.org/show_bug.cgi?id=185306
14405         Reviewed by Anders Carlsson.
14407         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
14408         (TestWebKitAPI::TEST):
14410 2018-05-08  Wenson Hsieh  <wenson_hsieh@apple.com>
14412         Consolidate WebContentReaderIOS and WebContentReaderMac into WebContentReaderCocoa
14413         https://bugs.webkit.org/show_bug.cgi?id=185340
14415         Reviewed by Tim Horton.
14417         Adds a new API test to verify that URLs written using -[NSPasteboard writeObjects:] are pasted as anchors with
14418         non-empty text in a contenteditable.
14420         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
14421         (TestWebKitAPI::TEST):
14423 2018-05-08  Valerie R Young  <valerie@bocoup.com>
14425         test262/Runner.pm: create results dir for results of test262 run
14426         https://bugs.webkit.org/show_bug.cgi?id=185392
14428         Reviewed by Michael Saboff.
14430         New directory test262-results created from where ever script is
14431         called.
14433         * Scripts/test262/Runner.pm:
14434         (processCLI):
14436 2018-05-08  Valerie R Young  <valerie@bocoup.com>
14438         test262/Runner.pm: lower number of processes per core
14439         https://bugs.webkit.org/show_bug.cgi?id=185426
14441         Reviewed by Michael Saboff.
14443         * Scripts/test262/Runner.pm:
14444         (getProcesses):
14446 2018-05-08  Leo Balter  <leonardo.balter@gmail.com>
14448         Test262-Runner: Add base Perl UnicodeData
14449         https://bugs.webkit.org/show_bug.cgi?id=185444
14451         Reviewed by Michael Saboff.
14453         * Scripts/test262/local/lib/perl5/unicore/lib/gc_sc/SpacePer.pl: Added.
14454         * Scripts/test262/local/lib/perl5/unicore/lib/gc_sc/Word.pl: Added.
14456 2018-05-08  Daniel Bates  <dabates@apple.com>
14458         Add tests to ensure that the Strong Password appearance is removed on form reset
14459         https://bugs.webkit.org/show_bug.cgi?id=185440
14461         Reviewed by Ryosuke Niwa.
14463         * TestWebKitAPI/Tests/WebKitCocoa/DidResignInputElementStrongPasswordAppearance.mm:
14464         (-[DidResignInputElementStrongPasswordAppearance webProcessPlugIn:didCreateBrowserContextController:]):
14465         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14466         (TEST):
14468 2018-05-08  Daniel Bates  <dabates@apple.com>
14470         Resign Strong Password appearance when text field value changes
14471         https://bugs.webkit.org/show_bug.cgi?id=185433
14472         <rdar://problem/39958508>
14474         Reviewed by Ryosuke Niwa.
14476         Add a unit test to ensure the injected bundle API and WebKit UI delegate SPI is invoked
14477         when the field has the Strong Password button and its value changes.
14479         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
14480         (testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript):
14481         (TEST):
14483 2018-05-06  Filip Pizlo  <fpizlo@apple.com>
14485         InPlaceAbstractState::beginBasicBlock shouldn't have to clear any abstract values
14486         https://bugs.webkit.org/show_bug.cgi?id=185365
14488         Reviewed by Saam Barati.
14489         
14490         Make it possible to measure compile times.
14491         
14492         Rolling back in after fixing cloop builds.
14494         * Scripts/run-jsc-benchmarks:
14496 2018-05-08  Wenson Hsieh  <wenson_hsieh@apple.com>
14498         [iOS] WKAttachmentTestsIOS.InsertDroppedItemProvidersInOrder fails after r231396
14499         https://bugs.webkit.org/show_bug.cgi?id=185414
14501         Reviewed by Tim Horton.
14503         Adjust a test expectation to check that the resulting DOM contains an attachment element,
14504         anchor element, and another attachment element in that order. This ensures that the test
14505         still passes, even after the anchor element is followed by a line break.
14507         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
14508         (TestWebKitAPI::TEST):
14510 2018-05-08  Commit Queue  <commit-queue@webkit.org>
14512         Unreviewed, rolling out r231491.
14513         https://bugs.webkit.org/show_bug.cgi?id=185434
14515         Setting the Created key on a cookie does not work yet, due a
14516         bug in CFNetwork (Requested by ggaren on #webkit).
14518         Reverted changeset:
14520         "[WKHTTPCookieStore getAllCookies] returns inconsistent
14521         creation time"
14522         https://bugs.webkit.org/show_bug.cgi?id=185041
14523         https://trac.webkit.org/changeset/231491
14525 2018-05-08  Valerie R Young  <valerie@bocoup.com>
14527         test262/Runner.pm: move input files to JSTests/test262
14528         https://bugs.webkit.org/show_bug.cgi?id=185389
14530         Reviewed by Michael Saboff.
14532         * Scripts/test262/Runner.pm:
14533         (processCLI):
14535 2018-05-08  Chris Dumez  <cdumez@apple.com>
14537         Unreviewed, simplify Speedometer fixes landed in r231489, r231483 & r231474.
14539         * Scripts/webkitpy/performance_tests/perftest.py:
14540         (PerfTest):
14542 2018-05-08  Ryan Haddad  <ryanhaddad@apple.com>
14544         Unreviewed, rolling out r231468.
14546         Broke the CLoop build
14548         Reverted changeset:
14550         "InPlaceAbstractState::beginBasicBlock shouldn't have to clear
14551         any abstract values"
14552         https://bugs.webkit.org/show_bug.cgi?id=185365
14553         https://trac.webkit.org/changeset/231468
14555 2018-05-08  Sihui Liu  <sihui_liu@apple.com>
14557         [WKHTTPCookieStore getAllCookies] returns inconsistent creation time
14558         https://bugs.webkit.org/show_bug.cgi?id=185041
14559         <rdar://problem/34684214>
14561         Reviewed by Geoffrey Garen.
14563         Add API test Coverage.
14565         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
14566         (TEST):
14568 2018-05-08  Chris Dumez  <cdumez@apple.com>
14570         Unreviewed, fix issue with running Speedometer PerfTest after r231450.
14572         * Scripts/webkitpy/performance_tests/perftest.py:
14573         (PerfTest):
14575 2018-05-08  Chris Dumez  <cdumez@apple.com>
14577         Unreviewed, fix issue with running Speedometer PerfTest after r231450.
14579         * Scripts/webkitpy/performance_tests/perftest.py:
14580         (PerfTest):
14582 2018-05-07  Chris Dumez  <cdumez@apple.com>
14584         Unreviewed, fix issue with running Speedometer PerfTest after r231450.
14586         * Scripts/webkitpy/performance_tests/perftest.py:
14587         (PerfTest):
14589 2018-05-06  Filip Pizlo  <fpizlo@apple.com>
14591         InPlaceAbstractState::beginBasicBlock shouldn't have to clear any abstract values
14592         https://bugs.webkit.org/show_bug.cgi?id=185365
14594         Reviewed by Saam Barati.
14595         
14596         Make it possible to measure compile times.
14598         * Scripts/run-jsc-benchmarks:
14600 2018-05-07  Leo Balter  <leonardo.balter@gmail.com>
14602         Test262-Runner: Add base module to the local deps - unicore/Exact.pl
14603         https://bugs.webkit.org/show_bug.cgi?id=185390
14605         Reviewed by Michael Saboff.
14607         * Scripts/test262/local/lib/perl5/unicore/Exact.pl: Added.
14609 2018-05-07  Jonathan Bedard  <jbedard@apple.com>
14611         Check for com.apple.datamigrator before declaring simulators booted
14612         https://bugs.webkit.org/show_bug.cgi?id=185315
14613         <rdar://problem/39986261>
14615         Reviewed by David Kilzer.
14617         * Scripts/webkitdirs.pm:
14618         (waitUntilProcessNotRunning): Wait until a process is not found.
14619         (relaunchIOSSimulator): Wait until com.apple.datamigrator stops running to declare
14620         a simulator booted.
14621         * Scripts/webkitpy/common/system/executive_mock.py:
14622         (MockExecutive2.__init__): Define _running_pids.
14623         * Scripts/webkitpy/xcode/simulated_device.py:
14624         (SimulatedDeviceManager.initialize_devices): Call wait_until_data_migration_is_done before
14625         declaring that devices have been booted, increase the timeout since data migration will frequently
14626         take longer than 60 seconds, especially with multiple simulators booting.
14627         (SimulatedDeviceManager.swap): Ditto.
14628         (SimulatedDeviceManager):
14629         (SimulatedDeviceManager.wait_until_data_migration_is_done): Wait until there are no com.apple.datamigrator
14630         processes running.
14632 2018-05-07  Daniel Bates  <dabates@apple.com>
14634         REGRESSION (r229955): run-webkit-tests runs tests in skipped directories and subdirectories of directory given on command line
14635         https://bugs.webkit.org/show_bug.cgi?id=185054
14636         <rdar://problem/39773209>
14638         Reviewed by Ryosuke Niwa.
14640         Fallback to MacPort.CURRENT_VERSION if we are not using a known named macOS and do not have Apple Additions.
14642         Darwin-based ports have OS version-specific test expectations and are certified to support running tests using
14643         the currently shipping OS by way of a hardcoded class variable CURRENT_VERSION. The run-webkit-tests script
14644         depends on the OS version to find the applicable TestExpectations files to parse to compute the list of skipped
14645         tests for the port.
14647         * Scripts/webkitpy/port/mac.py:
14648         (MacPort.__init__): Fall back to MacPort.CURRENT_VERSION if we are not using a known named macOS and do not
14649         have Apple Additions.
14650         * Scripts/webkitpy/port/mac_unittest.py:
14651         (MacTest.test_factory_with_future_version): Added.
14652         (MacTest.test_factory_with_future_version_and_apple_additions): Renamed from MacTest.test_factory_with_future_version()
14653         and added code to use the mock Apple Additions so that running this code with- and without- the real Apple Additions
14654         produces consistent results now that the Mac port's OS version falls back to MacPort.CURRENT_VERSION when Apple Additions
14655         is absent.
14657 2018-05-07  Brian Burg  <bburg@apple.com>
14659         Web Inspector: opt out of process swap on navigation if a Web Inspector frontend is connected
14660         https://bugs.webkit.org/show_bug.cgi?id=184861
14661         <rdar://problem/39153768>
14663         Reviewed by Timothy Hatcher.
14665         Add a new test that checks whether a new process is used for navigation when
14666         an Inspector is shown. Also check that the behavior reverts to normal after
14667         the Inspector has been closed.
14669         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
14671 2018-05-04  Wenson Hsieh  <wenson_hsieh@apple.com>
14673         [iOS] Multiple links in Mail are dropped in a single line, and are difficult to tell apart
14674         https://bugs.webkit.org/show_bug.cgi?id=185289
14675         <rdar://problem/35756912>
14677         Reviewed by Tim Horton and Darin Adler.
14679         Augment and rebaseline some iOS drag-and-drop API tests that handle dropping URLs as a part of multi-item drop
14680         sessions.
14682         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
14683         (TestWebKitAPI::TEST):
14685 2018-05-04  Timothy Hatcher  <timothy@apple.com>
14687         Deprecate legacy WebView and friends
14688         https://bugs.webkit.org/show_bug.cgi?id=185279
14689         rdar://problem/33268700
14691         Reviewed by Tim Horton.
14693         * MiniBrowser/Configurations/Base.xcconfig: Added GCC_PREPROCESSOR_DEFINITIONS
14694         to define DISABLE_LEGACY_WEBKIT_DEPRECATIONS.
14696 2018-05-04  Leo Balter  <leonardo.balter@gmail.com>
14698         Test262-Runner: Add base module to the local deps - unicore/PVA.pl
14699         https://bugs.webkit.org/show_bug.cgi?id=185314
14701         Reviewed by Michael Saboff.
14703         * Scripts/test262/local/lib/perl5/unicore/PVA.pl: Added.
14705 2018-05-04  Wenson Hsieh  <whsieh@berkeley.edu>
14707         REGRESSION: [ios-simulator] 3 WKWebViewAutofillTests API test failures seen with 11.3 SDK
14708         https://bugs.webkit.org/show_bug.cgi?id=184196
14709         <rdar://problem/39054481>
14711         Reviewed by Tim Horton.
14713         Removes some unnecessary workarounds to enable running app autofill tests against iOS versions
14714         earlier than 11.3. Also re-enables these tests.
14716         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
14717         (TestWebKitAPI::TEST):
14718         (-[UITextAutofillSuggestion initWithUsername:password:]): Deleted.
14719         (+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Deleted.
14721 2018-05-04  Myles C. Maxfield  <mmaxfield@apple.com>
14723         Text shaping in the simple path is flipped in the y direction
14724         https://bugs.webkit.org/show_bug.cgi?id=185062
14725         <rdar://problem/39778678>
14727         Reviewed by Simon Fraser.
14729         Huge thanks to Ulrike Rausch of LiebeFonts for contributing the test fonts!!!
14731         * Scripts/webkitpy/common/config/contributors.json:
14733 2018-05-04  Leo Balter  <leonardo.balter@gmail.com>
14735         Test262-Runner: place the processCLI inside the main call
14736         https://bugs.webkit.org/show_bug.cgi?id=185304
14738         Reviewed by Michael Saboff.
14740         * Scripts/test262/Runner.pm:
14741         (main):
14743 2018-05-04  Carlos Garcia Campos  <cgarcia@igalia.com>
14745         [GTK] Epiphany (GNOME Web) says "Error downloading: Service Unavailable." when trying to download an image from discogs.com
14746         https://bugs.webkit.org/show_bug.cgi?id=174730
14748         Reviewed by Michael Catanzaro.
14750         Update unit tests to check that User-Agent header is included in HTTP download requests.
14752         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
14753         (testDownloadRemoteFile):
14754         (testWebViewDownloadURI):
14755         (testPolicyResponseDownload):
14756         (testPolicyResponseDownloadCancel):
14757         (testDownloadMIMEType):
14758         (testContextMenuDownloadActions):
14760 2018-05-03  Ross Kirsling  <ross.kirsling@sony.com>
14762         [WinCairo] Test archive must use Python zipfile, just like build product.
14763         https://bugs.webkit.org/show_bug.cgi?id=185265
14765         Reviewed by Per Arne Vollan.
14767         * BuildSlaveSupport/test-result-archive:
14768         (archive_test_results):
14769         Copy over Win32-oriented archiving logic from built-product-archive.
14771 2018-05-03  Leo Balter  <leonardo.balter@gmail.com>
14773         cleanup modules usage for the Test262-Runner
14774         https://bugs.webkit.org/show_bug.cgi?id=185263
14776         Reviewed by Michael Saboff.
14778         * Scripts/test262-runner:
14779         * Scripts/test262/Runner.pm:
14780         (processCLI):
14782 2018-05-03  Valerie R Young  <valerie@bocoup.com>
14784         test262/Runner.pm: minor fixes
14785         https://bugs.webkit.org/show_bug.cgi?id=185250
14787         Reviewed by Michael Saboff.
14789         Add comments, change output and fix bug: unintended interpolation
14790         of filename when running jsc.
14792         * Scripts/test262/Runner.pm:
14793         (processCLI):
14794         (main):
14795         (runTest):
14797 2018-05-03  Chris Dumez  <cdumez@apple.com>
14799         Load hangs if the WebProcess fails to launch
14800         https://bugs.webkit.org/show_bug.cgi?id=185225
14801         <rdar://problem/38249058>
14803         Reviewed by Geoff Garen.
14805         Add API test coverage.
14807         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
14808         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: Added.
14809         (-[CrashOnStartNavigationDelegate _webView:webContentProcessDidTerminateWithReason:]):
14810         (-[CrashOnStartNavigationDelegate webView:didFinishNavigation:]):
14811         (-[CrashRecoveryScriptMessageHandler userContentController:didReceiveScriptMessage:]):
14812         (TEST):
14814 2018-05-03  Don Olmstead  <don.olmstead@sony.com>
14816         [WinCairo] Add JSC test bots
14817         https://bugs.webkit.org/show_bug.cgi?id=185234
14819         Reviewed by Per Arne Vollan.
14821         * BuildSlaveSupport/build.webkit.org-config/config.json:
14822         * BuildSlaveSupport/build.webkit.org-config/steps.py:
14823         (RunJavaScriptCoreTests.start):
14825 2018-05-03  Michael Catanzaro  <mcatanzaro@igalia.com>
14827         WebKit should send fake macOS user agent to docs.google.com
14828         https://bugs.webkit.org/show_bug.cgi?id=185165
14830         Reviewed by Carlos Garcia Campos.
14832         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
14833         (TestWebKitAPI::TEST):
14835 2018-05-03  Valerie R Young  <valerie@bocoup.com>
14837         test262/Runner.pm: performance improvements
14838         https://bugs.webkit.org/show_bug.cgi?id=185202
14840         Reviewed by Michael Saboff.
14842         Batch the tests by the number of processes, and give each process
14843         a file to save results to to avoid threading. Do not parallelize
14844         when running small sets of tests.
14846         * Scripts/test262/Runner.pm:
14847         (processCLI):
14848         (main):
14849         (processFile):
14850         (processResult):
14852 2018-05-03  Ryan Haddad  <ryanhaddad@apple.com>
14854         Unreviewed, rolling out r231253.
14856         The API test added with this change is crashing on the bots.
14858         Reverted changeset:
14860         "Web Inspector: opt out of process swap on navigation if a Web
14861         Inspector frontend is connected"
14862         https://bugs.webkit.org/show_bug.cgi?id=184861
14863         https://trac.webkit.org/changeset/231253
14865 2018-05-03  Carlos Garcia Campos  <cgarcia@igalia.com>
14867         REGRESSION(r222772): [GTK][WPE] WebProcess from WebKitGtk+ 2.19.9x SIGSEVs in WebKit::WebProcess::ensureNetworkProcessConnection() at Source/WebKit/WebProcess/WebProcess.cpp:1127
14868         https://bugs.webkit.org/show_bug.cgi?id=183348
14870         Reviewed by Michael Catanzaro.
14872         Add a test case to reproduce the crash.
14874         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
14875         (testWebViewCloseQuickly):
14876         (beforeAll):
14878 2018-05-02  Aditya Keerthi  <akeerthi@apple.com>
14880         Can't copy and paste URLs that have no title into Mail (macOS)
14881         https://bugs.webkit.org/show_bug.cgi?id=185205
14882         <rdar://problem/36352406>
14884         Reviewed by Tim Horton.
14886         Added test to verify behavior when copying and pasting a URL without a title.
14888         * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.html:
14889         * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
14890         (TestWebKitAPI::TEST):
14892 2018-05-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
14894         [GTK] Generate a JSC bundle on the 64 and 32 bit release bots and upload it to webkitgtk.org (follow-up fix)
14895         https://bugs.webkit.org/show_bug.cgi?id=184699
14897         Unreviewed follow-up fix after r231230.
14899         * Scripts/generate-jsc-bundle:
14900         (generate_wrapper_script): Quote the arguments passed to jsc.
14902 2018-05-02  Brian Burg  <bburg@apple.com>
14904         Web Inspector: opt out of process swap on navigation if a Web Inspector frontend is connected
14905         https://bugs.webkit.org/show_bug.cgi?id=184861
14906         <rdar://problem/39153768>
14908         Reviewed by Ryosuke Niwa.
14910         Add a new test that checks whether a new process is used for navigation when
14911         an Inspector is shown. Also check that the behavior reverts to normal after
14912         the Inspector has been closed.
14914         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
14916 2018-05-02  Valerie R Young  <valerie@bocoup.com>
14918         test262/Runner.pm: save summary to file
14919         https://bugs.webkit.org/show_bug.cgi?id=185200
14921         Reviewed by Michael Saboff.
14923         * Scripts/test262/Runner.pm:
14924         (processCLI):
14925         (main):
14926         (summarizeResults):
14928 2018-05-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
14930         [GTK] Generate a JSC bundle on the 64 and 32 bit release bots and upload it to webkitgtk.org
14931         https://bugs.webkit.org/show_bug.cgi?id=184699
14933         Reviewed by Gustavo Noronha Silva.
14935         This adds a new step for the GTK 64-bit release build bot and the
14936         GTK 32-bit release build&test bot.
14938         This step will be run as one of the lasts ones (after the product
14939         is built) and will execute the script generate-jsc-bundle.
14940         This script will take care of creating a JSC bundle and uploading
14941         it to a server defined on a configuration file that has to be
14942         deployed on the bots with the required server data and credentials
14943         for this upload.
14945         In this case, the built products should then be accessible at
14946         <https://webkitgtk.org/jsc-built-products>. But the implementation
14947         is not tied to any specific server. All the details about where
14948         to upload the file is done in configuration file that is kept
14949         private on each bot outside of the WebKit source tree.
14951         The script also supports generating a JSC bundle locally and not
14952         uploading it anywhere. This is the default mode of running.
14953         The remote upload will only be activated if a --remote-config-file
14954         parameter is passed (which is done from the buildbot config)
14956         * BuildSlaveSupport/build.webkit.org-config/config.json:
14957         * BuildSlaveSupport/build.webkit.org-config/factories.py:
14958         (BuildFactory):
14959         (BuildFactory.__init__):
14960         (TestFactory):
14961         (TestFactory.__init__):
14962         (BuildAndGenerateJSCBundleFactory):
14963         (BuildAndNonLayoutTestAndGenerateJSCBundleFactory):
14964         * BuildSlaveSupport/build.webkit.org-config/steps.py:
14965         (GenerateJSCBundle):
14966         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
14967         * Scripts/generate-jsc-bundle: Added.
14968         (ldd_get_libs_and_interpreter):
14969         (generate_readme):
14970         (generate_wrapper_script):
14971         (copy_and_remove_rpath):
14972         (createJSCBundle):
14973         (sha256sum):
14974         (uploadJSCBundle):
14975         (main):
14977 2018-05-01  Ryosuke Niwa  <rniwa@webkit.org>
14979         PSON: Make WebKitTestRunner work with process swap on navigation turned on
14980         https://bugs.webkit.org/show_bug.cgi?id=185111
14982         Reviewed by Chris Dumez.
14984         Add the basic support for running layout tests with process-swap-on-navigation turned on.
14986         First, move m_whatToDump, m_dumpPixels, m_waitToDump, and m_dumpFrameLoadCallbacks from WebContent process
14987         to UI process so that calls to waitUntilDone, dumpAsText, etc... persist across process swaps.
14989         In addition, initialize the injected bundle inside a new WebContent process when the first page is created.
14990         This instantiates objects such as TestRunner, GCController, etc... in the new process. The initialization
14991         can't be done in InjectedBundle::beginTesting because some steps in InjectedBundle::initialize require
14992         the current PageGroup and Page objects. We avoid clearing databases and app cache in this case.
14994         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
14995         (WTR::InjectedBundle::didCreatePage): Send "Initialization" message to UI process. This message returns
14996         all the dictionary values usually present in "BeginTest" message from UI process as well as "ResumeTesting"
14997         boolean which is set when this process was created as a result of a process swap on navgation. Invoke
14998         beginTesting with BegingTestingMode::Resume when this boolean is set.
14999         (WTR::InjectedBundle::didReceiveMessageToPage):
15000         (WTR::InjectedBundle::beginTesting): Don't clear database, app cache, etc... when initializing an injected
15001         bundle after a process swap on navigation.
15002         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
15003         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
15004         (WTR::InjectedBundlePage::dump):
15005         (WTR::InjectedBundlePage::frameDidChangeLocation):
15006         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
15007         (WTR::TestRunner::TestRunner):
15008         (WTR::TestRunner::shouldDumpPixels const): Added.
15009         (WTR::TestRunner::setDumpPixels): Added.
15010         (WTR::TestRunner::dumpAsText):
15011         (WTR::TestRunner::whatToDump const): Added.
15012         (WTR::TestRunner::setWhatToDump): Added.
15013         (WTR::TestRunner::waitUntilDone):
15014         (WTR::TestRunner::setWaitUntilDone): Added.
15015         (WTR::TestRunner::shouldWaitUntilDone): Added.
15016         (WTR::TestRunner::notifyDone):
15017         (WTR::TestRunner::forceImmediateCompletion):
15018         (WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Added.
15019         (WTR::TestRunner::shouldDumpFrameLoadCallbacks): Added.
15020         (WTR::TestRunner::setAudioResult):
15021         * WebKitTestRunner/InjectedBundle/TestRunner.h:
15022         (WTR::TestRunner::dumpChildFramesAsText):
15023         (WTR::TestRunner::dumpDOMAsWebArchive):
15024         (WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Moved to cpp.
15025         (WTR::TestRunner::whatToDump const): Moved to cpp.
15026         (WTR::TestRunner::shouldDumpMainFrameScrollPosition const):
15027         (WTR::TestRunner::shouldDumpPixels const): Moved to cpp.
15028         (WTR::TestRunner::shouldDumpFrameLoadCallbacks const): Moved to cpp.
15029         (WTR::TestRunner::waitToDump const): Renamed to shouldWaitUntilDone and moved to cpp.
15030         * WebKitTestRunner/TestInvocation.cpp:
15031         (WTR::TestInvocation::TestInvocation): Initialize m_dumpFrameLoadCallbacks here.
15032         (WTR::TestInvocation::shouldLogFrameLoadDelegates const): Deleted.
15033         (WTR::TestInvocation::createTestSettingsDictionary): Extracted from invoke().
15034         (WTR::TestInvocation::invoke): Sets m_startedTesting to true immediately afte sending "BeginTest" message.
15035         m_startedTesting is later used in didReceiveSynchronousMessageFromInjectedBundle to detect whether a given
15036         "Initialization" message is sent from a regular WebContent process (m_startedTesting is false) or the one
15037         started as a result of a process swap on navigation (m_startedTesting is true).
15038         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Added a bunch of new messgaes to
15039         support initializing the injected bundle in a process swapped after navigation and set/get messages for
15040         the states which must persist across process swaps within a test.
15041         * WebKitTestRunner/TestInvocation.h:
15042         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
15043         * Tools/WebKitTestRunner/WhatToDump.h:
15044         (WTR::WhatToDump): Added.
15046 2018-05-01  Leo Balter  <leonardo.balter@gmail.com>
15048         Auto save the results for Test262
15049         https://bugs.webkit.org/show_bug.cgi?id=184926
15051         Reviewed by Michael Saboff.
15053         * Scripts/test262/Runner.pm:
15054         (processCLI):
15055         (main):
15056         (parseError):
15057         (processResult):
15058         (summarizeResults):
15059         * Scripts/test262/config.yaml: Renamed from Tools/Scripts/test262/test262-config.yaml.
15061 2018-05-01  Jonathan Bedard  <jbedard@apple.com>
15063         webkitpy: SIGKILL right after SIGTERM causes orphaned processes with 'xcrun simctl spawn'
15064         https://bugs.webkit.org/show_bug.cgi?id=185164
15066         Reviewed by David Kilzer.
15068         * Scripts/webkitpy/common/system/executive.py:
15069         (Executive.kill_process): First attempt will always send a SIGTERM, all subsequent attempts will
15070         send a SIGKILL. A SIGKILL with not be sent if the process is not running to avoid orphaning childen.
15072 2018-05-01  Chris Dumez  <cdumez@apple.com>
15074         REGRESSION (r230919): API test WebKit.AutoLayoutIntegration is a flaky failure
15075         https://bugs.webkit.org/show_bug.cgi?id=184918
15076         <rdar://problem/39705516>
15078         Reviewed by Wenson Hsieh.
15080         Make sure provisional load has started before calling beginLayoutAtMinimumWidth
15081         on the AutoLayoutWKWebView to restore pre-r230919 behavior. The load now starts
15082         asynchronously because we ask the client if it is OK to do the load and the policy
15083         delegates are asynchronous nowadays.
15085         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
15086         (-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]):
15087         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
15088         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
15089         (-[TestNavigationDelegate webView:didStartProvisionalNavigation:]):
15090         (-[TestNavigationDelegate waitForDidStartProvisionalNavigation]):
15091         (-[WKWebView _test_waitForDidStartProvisionalNavigation]):
15093 2018-05-01  Ross Kirsling  <ross.kirsling@sony.com>
15095         [WinCairo] Align buildbot test stages with AppleWin.
15096         https://bugs.webkit.org/show_bug.cgi?id=185094
15098         Reviewed by Brent Fulgham.
15100         * BuildSlaveSupport/build.webkit.org-config/factories.py:
15101         (TestFactory.__init__):
15102         Do run API tests, don't run dashboard tests.
15104         * BuildSlaveSupport/build.webkit.org-config/steps.py:
15105         (RunUnitTests):
15106         Call run-api-tests with Python, not Perl (bugfix for r230998).
15108         * Scripts/webkitpy/port/win.py:
15109         (WinPort.environment_for_api_tests):
15110         Retrieve necessary Windows environment variables.
15112 2018-05-01  Eric Carlson  <eric.carlson@apple.com>
15114         [MediaStream] remove WK1 support
15115         https://bugs.webkit.org/show_bug.cgi?id=185136
15117         Reviewed by Youenn Fablet.
15119         * DumpRenderTree/mac/UIDelegate.mm:
15120         (-[UIDelegate webView:decidePolicyForUserMediaRequestFromOrigin:listener:]): Deleted.
15122 2018-05-01  Chris Dumez  <cdumez@apple.com>
15124         [WKTR] Move navigation policy for response decision from InjectedBundle to UIProcess
15125         https://bugs.webkit.org/show_bug.cgi?id=185157
15127         Reviewed by Geoffrey Garen.
15129         Move navigation policy for response decision from InjectedBundle to UIProcess. This is a more
15130         common configuration and should therefore be the configuration we test by default.
15132         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
15133         (WTR::InjectedBundlePage::decidePolicyForResponse):
15135 2018-05-01  Oleksandr Skachkov  <gskachkov@gmail.com>
15137         WebAssembly: add support for stream APIs - JavaScript API
15138         https://bugs.webkit.org/show_bug.cgi?id=183442
15140         Reviewed by Yusuke Suzuki and JF Bastien.
15142         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
15144 2018-04-30  Mark Lam  <mark.lam@apple.com>
15146         Apply PtrTags to the MetaAllocator and friends.
15147         https://bugs.webkit.org/show_bug.cgi?id=185110
15148         <rdar://problem/39533895>
15150         Reviewed by Saam Barati.
15152         Update the test to match MetaAllocator changes in WTF.
15154         * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
15155         (TestWebKitAPI::TEST_F):
15156         (WTF::tagForPtr):
15157         (WTF::ptrTagName):
15159 2018-04-30  Alex Christensen  <achristensen@webkit.org>
15161         Add WKUIDelegatePrivate equivalent of WKPageContextMenuClient getContextMenuFromProposedMenuAsync
15162         https://bugs.webkit.org/show_bug.cgi?id=180955
15164         Reviewed by Andy Estes.
15166         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
15167         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
15168         (-[ContextMenuImgWithVideoDelegate _webView:getContextMenuFromProposedMenu:forElement:userInfo:completionHandler:]):
15170 2018-04-30  JF Bastien  <jfbastien@apple.com>
15172         Use some C++17 features
15173         https://bugs.webkit.org/show_bug.cgi?id=185135
15175         Reviewed by Alex Christensen.
15177         * DumpRenderTree/PlatformMac.cmake:
15178         * gtk/ycm_extra_conf.py:
15179         (FlagsForFile):
15181 2018-04-30  Yusuke Suzuki  <utatane.tea@gmail.com>
15183         Use WordLock instead of std::mutex for Threading
15184         https://bugs.webkit.org/show_bug.cgi?id=185121
15186         Reviewed by Geoffrey Garen.
15188         * TestWebKitAPI/Tests/WTF/Signals.cpp:
15189         (TEST):
15191 2018-04-30  Michael Catanzaro  <mcatanzaro@igalia.com>
15193         [GTK] Webkit should spoof as Safari on a Mac when on Chase.com
15194         https://bugs.webkit.org/show_bug.cgi?id=185103
15196         Reviewed by Carlos Garcia Campos.
15198         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
15199         (TestWebKitAPI::TEST):
15201 2018-04-28  Sihui Liu  <sihui_liu@apple.com>
15203         [Cocoa] Set HTTPOnly flag when converting Cookie to NSHTTPCookie
15204         https://bugs.webkit.org/show_bug.cgi?id=185052
15206         Reviewed by Geoffrey Garen.
15208         Modified API test to provide correct test cases for HTTPOnly flag.
15210         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
15211         (TEST):
15213 2018-04-28  Rick Waldron  <waldron.rick@gmail.com>
15215         Token misspelled "tocken" in error message string
15216         https://bugs.webkit.org/show_bug.cgi?id=185030
15218         Reviewed by Saam Barati.
15220         * Scripts/test262/test262-expectations.yaml: Fix typo "tocken" => "token"
15222 2018-04-27  Stephan Szabo  <stephan.szabo@sony.com>
15224         [WinCairo] Support --no-copy for jsc tests in wincairo tests, add copying of dlls for copy case
15225         https://bugs.webkit.org/show_bug.cgi?id=185049
15227         Reviewed by Keith Miller.
15229         * Scripts/run-javascriptcore-tests:
15230         (runJSCStressTests):
15231         * Scripts/run-jsc-stress-tests:
15233 2018-04-26  Ryosuke Niwa  <rniwa@webkit.org>
15235         PSON: Triggering a navigation to an invalid URL creates a new WebContent process
15236         https://bugs.webkit.org/show_bug.cgi?id=185066
15238         Reviewed by Youenn Fablet.
15240         Added a new test case (ProcessSwap.NavigateToInvalidURL) for navigating to an invalid URL.
15241         WebKit should not swap WebContent process in this case.
15243         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
15244         (-[PSONNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
15245         (-[PSONUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
15247 2018-04-27  Nan Wang  <n_wang@apple.com>
15249         AX: Accessibility needs to know which part of the content view is visible on iOS
15250         https://bugs.webkit.org/show_bug.cgi?id=185085
15251         <rdar://problem/39801363>
15253         Reviewed by Chris Fleizach.
15255         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
15256         (WTR::AccessibilityUIElement::stringAttributeValue):
15258 2018-04-27  Wenson Hsieh  <wenson_hsieh@apple.com>
15260         [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
15261         https://bugs.webkit.org/show_bug.cgi?id=185050
15262         <rdar://problem/39624038>
15264         Reviewed by Tim Horton.
15266         Remove a test that's no longer useful, now that the SPI it was testing is gone. This functionality is now
15267         tested by the layout test added in this patch.
15269         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15270         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Removed.
15272 2018-04-26  Ryan Haddad  <ryanhaddad@apple.com>
15274         REGRESSION (r231039): RunUnitTests step reports disabled tests as failures
15275         https://bugs.webkit.org/show_bug.cgi?id=185061
15277         Reviewed by Aakash Jain.
15279         * BuildSlaveSupport/build.webkit.org-config/steps.py:
15280         (RunUnitTests.countFailures): Return the difference between the total number of tests run and the number that passed.
15281         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add a test.
15283 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
15285         Add release bots for WinCairo.
15286         https://bugs.webkit.org/show_bug.cgi?id=185042
15288         Reviewed by Lucas Forschler.
15290         * BuildSlaveSupport/build.webkit.org-config/config.json:
15291         Add a release build bot and two test bots, replacing the outdated WinCairo release bots.
15293 2018-04-26  Sihui Liu  <sihui_liu@apple.com>
15295         -[WKHTTPCookieStore deleteCookie:completionHandler:] doesn't delete cookies
15296         https://bugs.webkit.org/show_bug.cgi?id=184938
15297         <rdar://problem/34737395>
15299         Reviewed by Geoffrey Garen.
15301         Add API test coverage.
15303         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
15304         (TEST):
15306 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
15308         WinCairo test bots should run JSC tests with options for Windows command prompt.
15309         https://bugs.webkit.org/show_bug.cgi?id=185019
15311         Reviewed by Per Arne Vollan.
15313         * BuildSlaveSupport/build.webkit.org-config/steps.py:
15314         (RunJavaScriptCoreTests.start):
15316 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
15318         WinCairo WKL Debug Test bot is not using DRT.
15319         https://bugs.webkit.org/show_bug.cgi?id=185009
15321         Reviewed by Per Arne Vollan.
15323         * BuildSlaveSupport/build.webkit.org-config/config.json:
15325 2018-04-26  Per Arne Vollan  <pvollan@apple.com>
15327         Disable content filtering in minimal simulator mode
15328         https://bugs.webkit.org/show_bug.cgi?id=185027
15329         <rdar://problem/39736091>
15331         Reviewed by Jer Noble.
15333         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
15335 2018-04-26  Brady Eidson  <beidson@apple.com>
15337         Add a setting for keeping around all processes and always reusing them per-origin.
15338         <rdar://problem/39695798> and https://bugs.webkit.org/show_bug.cgi?id=185020
15340         Reviewed by Andy Estes.
15342         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
15344 2018-04-26  Andy VanWagoner  <thetalecrafter@gmail.com>
15346         [INTL] Implement Intl.PluralRules
15347         https://bugs.webkit.org/show_bug.cgi?id=184312
15349         Reviewed by JF Bastien.
15351         Added Intl.PluralRules feature flag.
15353         * Scripts/webkitperl/FeatureList.pm:
15354         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
15356 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
15358         [WPE] Build and link against latest WPEBackend and WPEBackend-fdo
15359         https://bugs.webkit.org/show_bug.cgi?id=184643
15361         Reviewed by Å½an DoberÅ¡ek.
15363         Add missing INCLUDE_DIRS in many places.
15365         Adapt to single-header WPE includes.
15367         Null-initialize padding to silence -Wmissing-field-initializers. (Yuck.)
15369         * TestWebKitAPI/PlatformWPE.cmake:
15370         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
15371         (testWebViewWebBackend):
15372         * TestWebKitAPI/glib/PlatformWPE.cmake:
15373         * WebKitTestRunner/EventSenderProxy.h:
15374         * WebKitTestRunner/PlatformWPE.cmake:
15375         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
15376         * wpe/HeadlessViewBackend/CMakeLists.txt:
15377         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp:
15378         * wpe/HeadlessViewBackend/HeadlessViewBackend.h:
15379         * wpe/jhbuild.modules:
15381 2018-04-25  Jonathan Bedard  <jbedard@apple.com>
15383         REGRESSION (r230998): Bot watcher's dashboard doesn't display number of API test failures
15384         https://bugs.webkit.org/show_bug.cgi?id=184982
15386         Rubber-stamped by Aakash Jain.
15388         Correctly count the number of API test failures.
15390         * BuildSlaveSupport/build.webkit.org-config/steps.py:
15391         (RunUnitTests.countFailures): Count the number of test failures for the new run-api-tests.
15392         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
15393         * Scripts/webkitpy/api_tests/manager.py:
15394         (Manager.run): Disabled tests are not run.
15396 2018-04-25  Jiewen Tan  <jiewen_tan@apple.com>
15398         Remove access to keychain from the WebContent process
15399         https://bugs.webkit.org/show_bug.cgi?id=184428
15400         <rdar://problem/13150903>
15402         Reviewed by Brent Fulgham.
15404         This patch does the followings:
15405         1. Added an API test for this patch.
15406         2. Instrument DumpRenderTree and WebKitTestRunner to take advantages of new SPIs.
15408         * DumpRenderTree/mac/UIDelegate.mm:
15409         (-[UIDelegate signedPublicKeyAndChallengeStringForWebView:]):
15410         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15411         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm: Added.
15412         (TestWebKitAPI::SSLKeyGeneratorTest::SetUp):
15413         (TestWebKitAPI::SSLKeyGeneratorTest::TearDown):
15414         (TestWebKitAPI::TEST_F):
15415         * WebKitTestRunner/TestController.cpp:
15416         (WTR::copySignedPublicKeyAndChallengeString):
15417         (WTR::TestController::createOtherPage):
15418         (WTR::TestController::createWebViewWithOptions):
15420 2018-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
15422         [Extra zoom mode] The search field on www.bing.com is missing label text
15423         https://bugs.webkit.org/show_bug.cgi?id=184975
15424         <rdar://problem/39723081>
15426         Reviewed by Tim Horton.
15428         Adds UIScriptController.formInputLabel, which asynchronously requests the input label text for the currently
15429         focused element in extra zoom mode.
15431         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
15432         (WTR::UIScriptController::formInputLabel const):
15433         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
15434         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
15435         (WTR::UIScriptController::formInputLabel const):
15436         * TestRunnerShared/UIScriptContext/UIScriptController.h:
15437         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
15438         (WTR::UIScriptController::formInputLabel const):
15440 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
15442         [WPE] Should load injected bundle from builddir in developer builds
15443         https://bugs.webkit.org/show_bug.cgi?id=184983
15445         Reviewed by Carlos Alberto Lopez Perez.
15447         Set WEBKIT_INJECTED_BUNDLE_PATH when running WPE MiniBrowser.
15449         * Scripts/run-minibrowser:
15451 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
15453         [WPE] libgstggtk.so broken in jhbuild environment
15454         https://bugs.webkit.org/show_bug.cgi?id=184984
15456         Reviewed by Carlos Alberto Lopez Perez.
15458         Don't pass --enable-glx=no when building libepoxy, to ensure it's compatible with
15459         gst-plugins-good.
15461         * wpe/jhbuild.modules:
15463 2018-04-25  Ryosuke Niwa  <rniwa@webkit.org>
15465         PSON: Don't create a new process when navigating to a blob URL, data URL, and about:blank
15466         https://bugs.webkit.org/show_bug.cgi?id=184962
15468         Reviewed by Youenn Fablet.
15470         Added four test cases for navigating to a blob URL, data URL, and about:blank with process-swap-on-navigation turned on.
15472         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
15473         (ProcessSwap.SameOriginBlobNavigation): Added.
15474         (ProcessSwap.CrossOriginBlobNavigation): Added.
15475         (ProcessSwap.NavigateToAboutBlank): Added.
15476         (ProcessSwap.NavigateToDataURL): Added.
15478 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
15480         [WPE] Remove deprecated functions and properties from the API
15481         https://bugs.webkit.org/show_bug.cgi?id=179295
15483         Reviewed by Å½an DoberÅ¡ek.
15485         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
15486         (testWebViewAuthenticationStorage): Disable this test for now. It will require some effort
15487         to rewrite LoadTrackingTest to not require the web view at construction time.
15488         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
15489         (testWebKitSettings): Don't test private browsing setting, which is gone.
15490         * TestWebKitAPI/glib/CMakeLists.txt: Disable TestCookieManager for now.
15492 2018-04-25  Andy Estes  <aestes@apple.com>
15494         [Mac] Number of drop items is always 0 when performing a DHTML drag
15495         https://bugs.webkit.org/show_bug.cgi?id=184943
15497         Reviewed by Ryosuke Niwa.
15499         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15500         * TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm:
15501         (-[DragInfo numberOfValidItemsForDrop]):
15502         (-[DragInfo setNumberOfValidItemsForDrop:]):
15503         (TestWebKitAPI::TEST):
15504         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Added.
15506 2018-04-25  Jonathan Bedard  <jbedard@apple.com>
15508         API test harness should be Python
15509         https://bugs.webkit.org/show_bug.cgi?id=181043
15510         <rdar://problem/36164410>
15512         Reviewed by David Kilzer.
15514         Run API tests from a Python script rather than Perl. The Python API tests have
15515         the same structure as the layout tests.
15517         * Scripts/run-api-tests: Changed from Perl to Python.
15518         * Scripts/webkitpy/api_tests: Added.
15519         * Scripts/webkitpy/api_tests/__init__.py: Added.
15520         * Scripts/webkitpy/api_tests/manager.py: Added.
15521         (Manager):
15522         (Manager.__init__):
15523         (Manager._test_list_from_output): Construct a list of tests from the output of
15524         TestWTF and TestWebKitAPI.
15525         (Manager._find_test_subset): Given a list of all possible tests and command line
15526         arguments, return a list of tests which match the provided arguments.
15527         (Manager._collect_tests): Run TestWTF and TestWebKitAPI with --gtest_list_tests
15528         to determine which tests will be run.
15529         (Manager._print_test_result): Formatted print of a test with it's output.
15530         (Manager._print_tests_result_with_status): Print all tests and output for tests
15531         which ran with a specified exit status.
15532         (Manager.run): Collect all tests, run them and then print results from the run.
15533         * Scripts/webkitpy/api_tests/run_api_tests.py: Added.
15534         (main): Parse arguments, construct a port, early exit for illegal ports and
15535         then run tests.
15536         (run): Setup logging and printing before using the Manager to run tests.
15537         (parse_args): Use argparse to define all options used by run-api-tests.
15538         * Scripts/webkitpy/api_tests/runner.py: Added.
15539         (Runner):
15540         (Runner.__init__):
15541         (Runner._shard_tests): Split tests so that each suite runs together.
15542         (Runner.command_for_port): Run a command on the device specified by the given
15543         port object. Once <https://bugs.webkit.org/show_bug.cgi?id=175204> is completed,
15544         this function would be entirely replaced by the server_process factory owned
15545         by the port object.
15546         (Runner.run): Run all shards in the message_pool.
15547         (Runner.handle): Handle reports from child processes.
15548         (Runner.result_map_by_status): Return a mapping of tests to output for tests
15549         which exit with a specific status.
15550         (_Worker):
15551         (_Worker.__init__):
15552         (_Worker._filter_noisy_output): Filter out objc warnings since these polite the log.
15553         (_Worker._run_single_test): Runs a single test in a single child process.
15554         (_Worker._run_shard_with_binary): Attempts to run a group of tests in the same
15555         child process. If this technique fails, the remaining tests are run singly.
15556         (_Worker.handle): Run the specified shard.
15557         * Scripts/webkitpy/port/base.py:
15558         (Port):
15559         (Port.check_api_test_build): Check if TestWTF and TestWebKitAPI are built.
15560         (Port.environment_for_api_tests): Return the environment needed to run
15561         the TestWebKitAPI binary.
15562         (Port. path_to_api_test_binaries): Return a list of the path to all binaries
15563         used when running API tests.
15564         (Port._build_api_tests): Build TestWTF and TestWebKitAPI if required.
15565         * Scripts/webkitpy/port/mac.py:
15566         (MacPort.environment_for_api_tests): Enable GuardMalloc for API tests.
15567         * Scripts/webkitpy/port/server_process.py: 
15568         (ServerProcess.pop_all_buffered_stdout):
15570 2018-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
15572         Incorrect number of WebDriver test failures shown in the bots
15573         https://bugs.webkit.org/show_bug.cgi?id=184959
15575         Reviewed by Michael Catanzaro.
15577         The regular expression we are using to get the number of failures from the log is matching a particular test
15578         error output. Improve the regular expression to avoid matching other strings in the log. Ensure that only
15579         matches at the beginning of lines and add spaces after Unexpected and before the (<failures>).
15581         * BuildSlaveSupport/build.webkit.org-config/steps.py:
15582         (RunWebDriverTests.commandComplete):
15584 2018-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
15586         [GTK] Implement MouseEvent.buttons
15587         https://bugs.webkit.org/show_bug.cgi?id=184913
15589         Reviewed by Å½an DoberÅ¡ek.
15591         Include the mouse buttons state in WTR synthesized events.
15593         * WebKitTestRunner/EventSenderProxy.h:
15594         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
15595         (WTR::EventSenderProxy::EventSenderProxy):
15596         (WTR::EventSenderProxy::createMouseButtonEvent):
15597         (WTR::EventSenderProxy::mouseDown):
15598         (WTR::EventSenderProxy::mouseUp):
15599         (WTR::EventSenderProxy::mouseMoveTo):
15601 2018-04-24  Pablo Saavedra  <psaavedra@igalia.com>
15603         [GTK][WPE] Fix triggered bot name on the WPE Debug Build bot
15604         https://bugs.webkit.org/show_bug.cgi?id=184954
15606         Reviewed by Michael Catanzaro.
15608         * BuildSlaveSupport/build.webkit.org-config/config.json:
15610 2018-04-24  Saam Barati  <sbarati@apple.com>
15612         Keep around a pre-warmed process when doing process swap on navigation
15613         https://bugs.webkit.org/show_bug.cgi?id=184765
15614         <rdar://problem/39685099>
15616         Reviewed by Ryosuke Niwa and Brady Eidson.
15618         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
15620 2018-04-24  Aakash Jain  <aakash_jain@apple.com>
15622         [build.webkit.org] unit-tests fail when passwords.json is missing
15623         https://bugs.webkit.org/show_bug.cgi?id=180390
15625         Reviewed by Carlos Alberto Lopez Perez.
15627         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
15628         (loadBuilderConfig): Add support for test_mode. Load mock passwords in test_mode.
15629         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
15630         (BuildBotConfigLoader._add_dependant_modules_to_sys_modules): Call _add_webkitpy_to_sys_path as well.
15631         (BuildBotConfigLoader._mock_open): Deleted.
15632         (BuildBotConfigLoader.load_config): Deleted.
15634 2018-04-24  John Wilander  <wilander@apple.com>
15636         From-Origin: Support for 'same' and 'same-site' response header, nested frame origin check
15637         https://bugs.webkit.org/show_bug.cgi?id=184560
15638         <rdar://problem/38901344>
15640         Reviewed by Youenn Fablet and Daniel Bates.
15642         This patch implements significant parts of https://github.com/whatwg/fetch/issues/687.
15643         We consume the From-Origin response header and only load the resource if:
15644         - The header is non-existent, empty, or invalid.
15645         - The header specifies 'same' and the resource's origin matches the originating
15646           document's origin and the origins up the frame tree.
15647         - The header specifies 'same-site' and the resource's eTLD+1 matches the originating
15648           document's eTLD+1 and the eTLD+1 of the documents up the frame tree.
15650         This feature is experimental and off by default.
15652         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15653         * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp: Added.
15654         (TestWebKitAPI::TEST):
15655             Tests for From-Origin header parsing.
15657 2018-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
15659         Unreviewed. Update W3C WebDriver imported tests.
15661         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
15662         (WebDriverW3CExecutor.__init__):
15664 2018-04-24  Zan Dobersek  <zdobersek@igalia.com>
15666         [WPE] Remove libgbm dependency
15667         https://bugs.webkit.org/show_bug.cgi?id=184906
15669         Reviewed by Carlos Garcia Campos.
15671         Stop searching for libgbm, using its compiler flags for the
15672         HeadlessViewBackend compilation and linking against the .so object.
15673         This is not necessary anymore after r230562 switched to a different
15674         backend implementation for testing.
15676         * wpe/HeadlessViewBackend/CMakeLists.txt:
15677         * wpe/install-dependencies:
15679 2018-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
15681         [GLIB] Make it possible to use a different timeout for slow test cases in GLib tests
15682         https://bugs.webkit.org/show_bug.cgi?id=184816
15684         Reviewed by Michael Catanzaro.
15686         Pass a function from api test runner to glib test runner to check if a test is slow and use the given slow
15687         timeout.
15689         * TestWebKitAPI/glib/TestExpectations.json:
15690         * glib/api_test_runner.py:
15691         (TestRunner._run_test_glib.is_slow_test):
15692         (TestRunner._run_test_glib):
15693         * glib/glib_test_runner.py:
15694         (GLibTestRunner.__init__):
15695         (GLibTestRunner._stop_timeout):
15696         (GLibTestRunner._subtest_start):
15697         (GLibTestRunner._subtest_end):
15699 2018-04-23  Wenson Hsieh  <wenson_hsieh@apple.com>
15701         [Extra zoom mode] REGRESSION(230860) Unable to change time input values using UI
15702         https://bugs.webkit.org/show_bug.cgi?id=184901
15703         <rdar://problem/39664797>
15705         Reviewed by Tim Horton.
15707         Introduce a new UIScriptController method to set the value of a currently focused input of type time, by
15708         interacting with the UI. See WebKit ChangeLogs for more detail.
15710         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
15711         (WTR::UIScriptController::setTimePickerValue):
15712         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
15713         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
15714         (WTR::UIScriptController::setTimePickerValue):
15715         * TestRunnerShared/UIScriptContext/UIScriptController.h:
15716         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
15717         (WTR::UIScriptController::setTimePickerValue):
15719 2018-04-23  Zalan Bujtas  <zalan@apple.com>
15721         [LayoutFormattingContext] Initial commit.
15722         https://bugs.webkit.org/show_bug.cgi?id=184896
15724         Reviewed by Antti Koivisto.
15726         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
15728 2018-04-23  Chris Dumez  <cdumez@apple.com>
15730         [WKTR] Move navigation policy decision from the injected bundle to the UIProcess
15731         https://bugs.webkit.org/show_bug.cgi?id=184801
15733         Reviewed by Geoffrey Garen.
15735         Move navigation policy decision from the injected bundle to the UIProcess in WebKitTestRunner.
15736         This is a more common configuration and therefore should be the default testing configuration.
15738         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
15739         (WTR::InjectedBundlePage::decidePolicyForNavigationAction):
15740         Always respond with 'PassThrough' in the InjectedBundle so the UIProcess
15741         is now asked for the policy decision.
15743 2018-04-23  Pablo Saavedra  <psaavedra@igalia.com>
15745         [GTK][WPE] Add Debug bots (build and tests) for WPE
15746         https://bugs.webkit.org/show_bug.cgi?id=184887
15748         Reviewed by Carlos Alberto Lopez Perez.
15750         Deployed 2 new bots for WPE Debug: wpe-linux-bot-3 and
15751         wpe-linux-bot-4
15753         Both bots have already the credentials ready to authenticated against
15754         build.webkit.org. They provides the bots for the "debug" configuration over
15755         the "WPE" platform and building for the "x86_64" architecture:
15756         WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests) 
15758         * BuildSlaveSupport/build.webkit.org-config/config.json:
15759         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
15761 2018-04-23  Chris Dumez  <cdumez@apple.com>
15763         HTML String load cannot be prevented by responding 'Cancel' asynchronously in decidePolicyForNavigationAction
15764         https://bugs.webkit.org/show_bug.cgi?id=184848
15765         <rdar://problem/39145306>
15767         Reviewed by Brady Eidson.
15769         Add API test coverage.
15771         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
15772         (-[DecidePolicyForNavigationActionController webView:decidePolicyForNavigationAction:decisionHandler:]):
15773         (TEST):
15775 2018-04-23  Michael Catanzaro  <mcatanzaro@igalia.com>
15777         [GTK][WPE] TestSSL fails due to additional TLS errors returned
15778         https://bugs.webkit.org/show_bug.cgi?id=184860
15780         Reviewed by Carlos Garcia Campos.
15782         Add script and config file for regenerating the test certificate.
15783         Regenerate it. TestSSL no longer fails on my machine.
15785         I do see a ton of network process crashes and JavaScript errors, none of
15786         which prevent the test from passing, but this commit only claims to fix
15787         the certificate validation portion of the test.
15789         * TestWebKitAPI/Tests/WebKitGLib/resources/generate-test-cert.sh: Added.
15790         * TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.conf: Added.
15791         * TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.pem:
15793 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15795         [GLIB] ERROR: Thread was unable to be detached when running /jsc/vm test in debug
15796         https://bugs.webkit.org/show_bug.cgi?id=184815
15798         Reviewed by Michael Catanzaro.
15800         This is because in the test we are calling both join and detach. We should only call join.
15802         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
15803         (testsJSCVirtualMachine):
15805 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15807         [GLIB] Test /jsc/prototypes crashes in debug
15808         https://bugs.webkit.org/show_bug.cgi?id=184814
15810         Reviewed by Michael Catanzaro.
15812         We should also call the constructor/destructor of Bar struct to ensure Foo is constructed.
15814         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
15815         (barCreate):
15816         (barFree):
15818 2018-04-20  Michael Catanzaro  <mcatanzaro@igalia.com>
15820         REGRESSION(r228088): [SOUP] Check TLS errors for WebSockets on GTlsConnection::accept-certificate
15821         https://bugs.webkit.org/show_bug.cgi?id=184804
15823         Reviewed by Carlos Garcia Campos.
15825         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
15826         (WebSocketTest::WebSocketTest):
15827         (WebSocketTest::~WebSocketTest):
15828         (WebSocketTest::serverWebSocketCallback):
15829         (WebSocketTest::webSocketTestResultCallback):
15830         (WebSocketTest::connectToServerAndWaitForEvents):
15831         (testWebSocketTLSErrors):
15832         (beforeAll):
15834 2018-04-20  Chris Dumez  <cdumez@apple.com>
15836         Unreviewed, update 2 more API tests after r230876.
15838         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
15839         (TEST):
15840         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
15841         (TestWebKitAPI::TEST):
15843 2018-04-20  Tim Horton  <timothy_horton@apple.com>
15845         Adjust geolocation feature flag
15846         https://bugs.webkit.org/show_bug.cgi?id=184856
15848         Reviewed by Wenson Hsieh.
15850         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
15852 2018-04-20  Chris Dumez  <cdumez@apple.com>
15854         REGRESSION (r229828): web view doesn’t update or respond to resizing until client calls policy decision handler
15855         https://bugs.webkit.org/show_bug.cgi?id=184210
15856         <rdar://problem/39072354>
15858         Reviewed by Wenson Hsieh.
15860         * TestWebKitAPI/Tests/WebKit/large-red-square-image.html:
15861         * TestWebKitAPI/Tests/WebKitCocoa/dragstart-change-selection-offscreen.html:
15862         Add viewport meta tags.
15864         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
15865         (-[WKWebView _test_waitForDidFinishNavigation]):
15866         Update _test_waitForDidFinishNavigation to wait for the next presentation update
15867         to make iOS API tests happy without having to modify each of them.
15869 2018-04-20  Timothy Hatcher  <timothy@apple.com>
15871         REGRESSION: API test WebKit.BackgroundColorSystemColor is failing
15873         https://bugs.webkit.org/show_bug.cgi?id=184849
15874         rdar://problem/39386405
15876         Reviewed by Brian Burg.
15878         * TestWebKitAPI/Tests/mac/BackgroundColor.mm:
15879         (TestWebKitAPI::TEST): Use CGColorEqualToColor since we might get a different
15880         CGColor pointer from NSColor each time.
15882 2018-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
15884         [Extra zoom mode] Injected bundle form client should be notified when editing text fields
15885         https://bugs.webkit.org/show_bug.cgi?id=184822
15886         <rdar://problem/38807319>
15888         Reviewed by Tim Horton.
15890         Add WebKitTestRunner support for listening to form editing SPI hooks in the injected bundle. The new layout test
15891         installs callbacks that listen for "begin editing", "end editing", and "text changed" calls to injected bundle
15892         SPI. See other ChangeLogs for more detail.
15894         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
15895         (WTR::UIScriptController::enterText):
15896         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
15898         Add UIScriptController support for simulating text entry in the currently focused element.
15900         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
15901         (WTR::UIScriptController::enterText):
15902         * TestRunnerShared/UIScriptContext/UIScriptController.h:
15903         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
15905         Add TestRunner bindings for registering injected bundle form client callbacks.
15907         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
15908         (WTR::handleTextDidChangeInTextField):
15909         (WTR::handleTextFieldDidBeginEditing):
15910         (WTR::handleTextFieldDidEndEditing):
15911         (WTR::InjectedBundle::didCreatePage):
15913         Set the injected bundle form editor client.
15915         (WTR::InjectedBundle::setUpInjectedBundleClients):
15916         (WTR::InjectedBundle::textDidChangeInTextField):
15917         (WTR::InjectedBundle::textFieldDidBeginEditing):
15918         (WTR::InjectedBundle::textFieldDidEndEditing):
15919         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
15920         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
15921         (WTR::TestRunner::installTextDidChangeInTextFieldCallback):
15922         (WTR::TestRunner::textDidChangeInTextFieldCallback):
15923         (WTR::TestRunner::installTextFieldDidBeginEditingCallback):
15924         (WTR::TestRunner::textFieldDidBeginEditingCallback):
15925         (WTR::TestRunner::installTextFieldDidEndEditingCallback):
15926         (WTR::TestRunner::textFieldDidEndEditingCallback):
15927         * WebKitTestRunner/InjectedBundle/TestRunner.h:
15928         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
15929         (WTR::UIScriptController::enterText):
15931 2018-04-20  Youenn Fablet  <youenn@apple.com>
15933         WebPage sometimes incorrectly rules out PDF as a mime type that can be showed
15934         https://bugs.webkit.org/show_bug.cgi?id=184369
15936         Reviewed by Chris Dumez.
15938         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
15939         (TEST):
15941 2018-04-20  Daniel Bates  <dabates@apple.com>
15943         Remove Strong Password decoration when text field type changes
15944         https://bugs.webkit.org/show_bug.cgi?id=184795
15945         <rdar://problem/38325108>
15947         Reviewed by Antti Koivisto.
15949         Add a unit test to ensure the injected bundle API and WebKit UI delegate SPI is invoked
15950         when the field has the Strong Password button and its type changes.
15952         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
15953         * TestWebKitAPI/Tests/WebKitCocoa/DidResignInputElementStrongPasswordAppearance.mm: Added.
15954         (didResignInputElementStrongPasswordAppearance):
15955         (-[DidResignInputElementStrongPasswordAppearance webProcessPlugIn:didCreateBrowserContextController:]):
15956         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
15957         (-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]):
15958         (-[DidResignInputElementStrongPasswordAppearanceDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
15959         (TEST):
15961 2018-04-20  Brady Eidson  <beidson@apple.com>
15963         Add a test to verify load/unload/pageshow/pagehide all work with process swapping.
15964         https://bugs.webkit.org/show_bug.cgi?id=184807
15966         Reviewed by Chris Dumez.
15968         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
15969         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
15971 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15973         Unreviewed. Mark TestJSC as slow in debug.
15975         Only /jsc/vm is slow, but GLib API test runner only checks the test binary for GLib tests.
15977         * TestWebKitAPI/glib/TestExpectations.json:
15979 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15981         [GTK] Local cross references are broken in API documentation
15982         https://bugs.webkit.org/show_bug.cgi?id=184771
15984         Reviewed by Michael Catanzaro.
15986         The problem is that gtkdoc-fixxref expects the links to be in the form html/modulename (like the installed
15987         ones), but we generate the documentation as modulename/html. So, links to WebKitDOM or JSC are generated as
15988         ../html/Foo. The rebase command considers html to be the module name in this case, creating broken links in all
15989         the cases.
15991         * gtk/gtkdoc.py:
15992         (GTKDoc._copy_doc_files_to_output_dir): We don't have any html dir in the source tree so, we are not copying
15993         anything here.
15994         (GTKDoc._run_gtkdoc_mkhtml): Create the html dir here using html/modulename instead now.
15995         (GTKDoc._run_gtkdoc_fixxref): Pass the new directory as module dir to gtkdoc-fixxref and fix several links for
15996         which gtkdoc-fixxref always uses absolute paths.
15997         * gtk/manifest.txt.in: Update the documentation html paths and include the JSC GLib API in the tarball too.
15999 2018-04-19  Brady Eidson  <beidson@apple.com>
16001         Make back forward cache work with process swapping.
16002         <rdar://problem/38676604> and https://bugs.webkit.org/show_bug.cgi?id=184793
16004         Reviewed by Chris Dumez.
16006         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
16008 2018-04-19  David Kilzer  <ddkilzer@apple.com>
16010         Enable Objective-C weak references
16011         <https://webkit.org/b/184789>
16012         <rdar://problem/39571716>
16014         Reviewed by Dan Bernstein.
16016         * ContentExtensionTester/Configurations/Base.xcconfig:
16017         (CLANG_ENABLE_OBJC_WEAK): Enable.
16018         * DumpRenderTree/mac/Configurations/Base.xcconfig:
16019         (CLANG_ENABLE_OBJC_WEAK): Enable.
16020         * ImageDiff/cg/Configurations/Base.xcconfig:
16021         (CLANG_ENABLE_OBJC_WEAK): Enable.
16022         * MiniBrowser/Configurations/Base.xcconfig:
16023         (CLANG_ENABLE_OBJC_WEAK): Enable.
16024         * TestWebKitAPI/Configurations/Base.xcconfig:
16025         (CLANG_ENABLE_OBJC_WEAK): Enable.
16026         * WebEditingTester/Configurations/Base.xcconfig:
16027         (CLANG_ENABLE_OBJC_ARC): Re-order.
16028         * WebKitLauncher/Configurations/Base.xcconfig: Add newline at
16029         end of file.
16030         (CLANG_ENABLE_OBJC_WEAK): Enable.
16031         * WebKitTestRunner/Configurations/Base.xcconfig:
16032         (CLANG_ENABLE_OBJC_WEAK): Enable.
16034 2018-04-19  Chris Dumez  <cdumez@apple.com>
16036         REGRESSION (r229133): decidePolicyForNavigationAction not called for loading an HTML string
16037         https://bugs.webkit.org/show_bug.cgi?id=184209
16038         <rdar://problem/39145306>
16040         Reviewed by Ryosuke Niwa.
16042         Add API test coverage.
16044         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
16045         (TEST):
16047 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
16049         [WinCairo][EWS] Build bot should clean user temp directory each time.
16050         https://bugs.webkit.org/show_bug.cgi?id=184761
16052         Reviewed by Lucas Forschler.
16054         * EWSTools/Start-Queue.ps1:
16055         Clean user's temp directory before each build, so that Windows git doesn't fill it up over time.
16057 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
16059         Buildbots using Python zipfile should enable compression
16060         https://bugs.webkit.org/show_bug.cgi?id=184759
16062         Reviewed by Lucas Forschler.
16064         * BuildSlaveSupport/built-product-archive:
16065         (createZipManually):
16066         Default is to archive without compressing, so tell it to compress as well. 
16068 2018-04-18  Nan Wang  <n_wang@apple.com>
16070         AX: [macOS] WebKit hangs when triggering an alert from an AOM increment event
16071         https://bugs.webkit.org/show_bug.cgi?id=184742
16073         Reviewed by Chris Fleizach.
16075         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
16076         (AccessibilityUIElement::increment):
16077         (AccessibilityUIElement::decrement):
16078         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
16079         (WTR::AccessibilityUIElement::asyncIncrement):
16080         (WTR::AccessibilityUIElement::asyncDecrement):
16081         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
16082         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
16083         (WTR::AccessibilityUIElement::increment):
16084         (WTR::AccessibilityUIElement::decrement):
16085         (WTR::AccessibilityUIElement::asyncIncrement):
16086         (WTR::AccessibilityUIElement::asyncDecrement):
16088 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
16090         Fix archive step for WinCairo build bot.
16091         https://bugs.webkit.org/show_bug.cgi?id=184715
16093         Reviewed by Lucas Forschler.
16095         * BuildSlaveSupport/built-product-archive:
16096         (archiveBuiltProduct):
16097         (extractBuiltProduct):
16099 2018-04-18  Sihui Liu  <sihui_liu@apple.com>
16101         REGRESSION: Using the reload button while offline pushes identical pages onto the back/forward list
16102         https://bugs.webkit.org/show_bug.cgi?id=184570
16103         <rdar://problem/34807323>
16105         Reviewed by Chris Dumez.
16107         Add API test coverage.
16109         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
16110         (TEST):
16112 2018-04-18  Chris Dumez  <cdumez@apple.com>
16114         Add support for converting a local window to a remote window
16115         https://bugs.webkit.org/show_bug.cgi?id=184515
16116         <rdar://problem/39011318>
16118         Reviewed by Ryosuke Niwa.
16120         * MiniBrowser/mac/AppDelegate.m:
16121         (defaultConfiguration):
16122         * MiniBrowser/mac/SettingsController.h:
16123         * MiniBrowser/mac/SettingsController.m:
16124         (-[SettingsController _populateMenu]):
16125         (-[SettingsController validateMenuItem:]):
16126         (-[SettingsController processSwapOnWindowOpenWithOpenerEnabled]):
16127         (-[SettingsController toggleProcessSwapOnWindowOpenWithOpener:]):
16128         Add menu entry in minibrowser to turn on process swap on cross-origin window.open().
16130         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
16131         Turn on process swap on cross-origin window.open() for corresponding test and update
16132         test to expect that a new WebProcess is created.
16134         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
16135         (WTR::InjectedBundlePage::decidePolicyForResponse):
16136         Add null checks for injectedBundle.testRunner(). When we swap process on navigation,
16137         the InjectedBundlePage::decidePolicyForResponse() gets called in the new process.
16138         In this new process, we have constructed a InjectedBundlePage for the page but we
16139         have not initialized the InjectedBundle members such as testRunner.
16141         * WebKitTestRunner/TestController.cpp:
16142         (WTR::TestController::createWebViewWithOptions):
16143         (WTR::updateTestOptionsFromTestHeader):
16144         * WebKitTestRunner/TestOptions.h:
16145         (WTR::TestOptions::hasSameInitializationOptions const):
16146         Add a way for layout tests to turn on process swap on navigation via a test header.
16148 2018-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
16150         Unreviewed, reland r230697, r230720, and r230724.
16151         https://bugs.webkit.org/show_bug.cgi?id=184600
16153         * Scripts/run-jsc-stress-tests:
16155 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
16157         [GLIB] Make it possible to handle JSCClass external properties not added to the prototype
16158         https://bugs.webkit.org/show_bug.cgi?id=184687
16160         Reviewed by Michael Catanzaro.
16162         Add test cases for the new API.
16164         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
16165         (fooCreate):
16166         (fooFree):
16167         (fooGetProperty):
16168         (fooSetProperty):
16169         (testJSCPromises):
16170         (testJSCGarbageCollector):
16171         (testsJSCVirtualMachine):
16172         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
16173         (windowObjectClearedCallback):
16175 2018-04-17  Wenson Hsieh  <wenson_hsieh@apple.com>
16177         [Extra zoom mode] Programmatically changing focus when an element already has focus is a confusing experience
16178         https://bugs.webkit.org/show_bug.cgi?id=184635
16179         <rdar://problem/39440642>
16181         Reviewed by Tim Horton.
16183         Add plumbing to support invoking `didHideKeyboardCallback` and `didShowKeyboardCallback` when (respectively)
16184         dismissing or presenting fullscreen input view controllers in extra zoom mode.
16186         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
16187         (-[TestRunnerWKWebView initWithFrame:configuration:]):
16188         (-[TestRunnerWKWebView dealloc]):
16189         (-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
16190         (-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
16191         (-[TestRunnerWKWebView _keyboardDidShow:]):
16192         (-[TestRunnerWKWebView _keyboardDidHide:]):
16193         (-[TestRunnerWKWebView _webView:didPresentFocusedElementViewController:]):
16194         (-[TestRunnerWKWebView _webView:didDismissFocusedElementViewController:]):
16196 2018-04-17  Michael Catanzaro  <mcatanzaro@igalia.com>
16198         [GTK] Webkit should spoof as Safari on a Mac for Outlook.com
16199         https://bugs.webkit.org/show_bug.cgi?id=184573
16201         Reviewed by Carlos Alberto Lopez Perez.
16203         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
16204         (TestWebKitAPI::TEST):
16206 2018-04-17  Fujii Hironori  <Hironori.Fujii@sony.com>
16208         [WinCairo][TestWebKitAPI] Implement PlatformWebView for TestWebKit
16209         https://bugs.webkit.org/show_bug.cgi?id=184524
16211         Reviewed by Alex Christensen.
16213         Resurrect PlatformWebView for Windows port which was removed in Bug 104607.
16215         * TestWebKitAPI/PlatformWebView.h:
16216         * TestWebKitAPI/PlatformWin.cmake:
16217         * TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Added.
16218         (TestWebKitAPI::InjectedBundleController::platformInitialize):
16219         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: Added.
16220         (TestWebKitAPI::Util::moduleDirectory):
16221         (TestWebKitAPI::Util::createInjectedBundlePath):
16222         (TestWebKitAPI::Util::createURLForResource):
16223         (TestWebKitAPI::Util::URLForNonExistentResource):
16224         (TestWebKitAPI::Util::isKeyDown):
16225         * TestWebKitAPI/win/PlatformWebViewWin.cpp: Added.
16226         (TestWebKitAPI::PlatformWebView::registerWindowClass):
16227         (TestWebKitAPI::PlatformWebView::PlatformWebView):
16228         (TestWebKitAPI::PlatformWebView::initialize):
16229         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
16230         (TestWebKitAPI::PlatformWebView::page const):
16231         (TestWebKitAPI::PlatformWebView::resizeTo):
16232         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
16233         (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
16234         (TestWebKitAPI::PlatformWebView::simulateRightClick):
16235         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
16236         (TestWebKitAPI::PlatformWebView::wndProc):
16237         * TestWebKitAPI/win/UtilitiesWin.cpp: Added.
16238         (TestWebKitAPI::Util::run):
16239         (TestWebKitAPI::Util::spinRunLoop):
16240         (TestWebKitAPI::Util::sleep):
16242 2018-04-17  Jonathan Bedard  <jbedard@apple.com>
16244         Fix hasher tests for system with 32 bit longs
16245         https://bugs.webkit.org/show_bug.cgi?id=184708
16246         <rdar://problem/39459977>
16248         Reviewed by Mark Lam.
16250         Some systems have 32 bit longs. The Hasher WTF tests should handle this case.
16252         * TestWebKitAPI/Tests/WTF/Hasher.cpp:
16253         (TestWebKitAPI::TEST):
16255 2018-04-17  Commit Queue  <commit-queue@webkit.org>
16257         Unreviewed, rolling out r230697, r230720, and r230724.
16258         https://bugs.webkit.org/show_bug.cgi?id=184717
16260         These caused multiple failures on the Test262 testers.
16261         (Requested by mlewis13 on #webkit).
16263         Reverted changesets:
16265         "[WebAssembly][Modules] Prototype wasm import"
16266         https://bugs.webkit.org/show_bug.cgi?id=184600
16267         https://trac.webkit.org/changeset/230697
16269         "[WebAssembly][Modules] Implement function import from wasm
16270         modules"
16271         https://bugs.webkit.org/show_bug.cgi?id=184689
16272         https://trac.webkit.org/changeset/230720
16274         "[JSC] Rename runWebAssembly to runWebAssemblySuite"
16275         https://bugs.webkit.org/show_bug.cgi?id=184703
16276         https://trac.webkit.org/changeset/230724
16278 2018-04-17  Jonathan Bedard  <jbedard@apple.com>
16280         Unreviewed rollout of r230632. Regression in memory usage.
16282         That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=184569.
16284         * DumpRenderTree/TestOptions.h:
16285         * DumpRenderTree/mac/DumpRenderTree.mm:
16286         (runTest):
16287         (shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference): Deleted.
16288         * WebKitTestRunner/TestController.cpp:
16289         (WTR::TestController::resetPreferencesToConsistentValues):
16290         * WebKitTestRunner/TestOptions.cpp:
16291         (WTR::TestOptions::TestOptions):
16292         (WTR::isLegacyAnimationEngineTestPath): Deleted.
16293         * WebKitTestRunner/TestOptions.h:
16295 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
16297         [JSC] Rename runWebAssembly to runWebAssemblySuite
16298         https://bugs.webkit.org/show_bug.cgi?id=184703
16300         Reviewed by JF Bastien.
16302         * Scripts/run-jsc-stress-tests:
16304 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
16306         [WebAssembly][Modules] Implement function import from wasm modules
16307         https://bugs.webkit.org/show_bug.cgi?id=184689
16309         Reviewed by JF Bastien.
16311         Add runWebAssemblyDirect, which runs wasm file directly.
16313         * Scripts/run-jsc-stress-tests:
16315 2018-04-17  Saam Barati  <sbarati@apple.com>
16317         Add system trace points for process launch and for initializeWebProcess
16318         https://bugs.webkit.org/show_bug.cgi?id=184669
16320         Reviewed by Simon Fraser.
16322         * Tracing/SystemTracePoints.plist:
16324 2018-04-17  Ross Kirsling  <ross.kirsling@sony.com>
16326         Add debug bots for WinCairo.
16327         https://bugs.webkit.org/show_bug.cgi?id=184663
16329         Reviewed by Lucas Forschler.
16331         * BuildSlaveSupport/build.webkit.org-config/config.json:
16332         Add a debug build bot and two debug test bots.
16334         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
16335         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
16336         Add a WinCairo category to build.webkit.org.
16338 2018-04-17  Zalan Bujtas  <zalan@apple.com>
16340         [LayoutReloaded] Set inline-block box position.
16341         https://bugs.webkit.org/show_bug.cgi?id=184690
16343         Reviewed by Antti Koivisto.
16345         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16346         (InlineFormattingContext.prototype._handleInlineBlock):
16347         * LayoutReloaded/Utils.js:
16348         (Utils._dumpBox):
16349         * LayoutReloaded/test/inline-block-with-fixed-width-height.html:
16351 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
16353         [GLIB] Add API to clear JSCContext uncaught exception
16354         https://bugs.webkit.org/show_bug.cgi?id=184685
16356         Reviewed by Å½an DoberÅ¡ek.
16358         Add test cases for the new API.
16360         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
16361         (testJSCExceptions):
16363 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
16365         [GLIB] Add API to query, delete and enumerate properties
16366         https://bugs.webkit.org/show_bug.cgi?id=184647
16368         Reviewed by Michael Catanzaro.
16370         Add test cases for the new API.
16372         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
16373         (testJSCObject):
16374         (testJSCClass):
16375         (testJSCPrototypes):
16377 2018-04-16  Zalan Bujtas  <zalan@apple.com>
16379         [LayoutReloaded] Add support for replaced box.
16380         https://bugs.webkit.org/show_bug.cgi?id=184680
16382         Reviewed by Antti Koivisto.
16384         Basic support for inline replaced.
16386         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16387         (InlineFormattingContext.prototype._handleInlineBox):
16388         (InlineFormattingContext.prototype._handleInlineBlock):
16389         (InlineFormattingContext.prototype._handleReplaced):
16390         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
16391         (Line.prototype.lastLineBox):
16392         (Line.prototype.addInlineBox):
16393         (Line.prototype.addInlineContainerBox): Deleted.
16394         * LayoutReloaded/TreeBuilder.js:
16395         (TreeBuilder.prototype._createAndAttachBox):
16396         * LayoutReloaded/Utils.js:
16397         (Utils._dumpBox):
16398         * LayoutReloaded/test/index.html:
16399         * LayoutReloaded/test/inline-simple-replaced.html: Added.
16401 2018-04-16  Zalan Bujtas  <zalan@apple.com>
16403         [LayoutReloaded] Minor InlineFormattingContext::layout() cleanup.
16404         https://bugs.webkit.org/show_bug.cgi?id=184679
16406         Reviewed by Antti Koivisto.
16408         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16409         (InlineFormattingContext):
16410         (InlineFormattingContext.prototype.layout):
16411         (InlineFormattingContext.prototype._handleInlineContainer):
16412         (InlineFormattingContext.prototype._handleInlineContent):
16413         (InlineFormattingContext.prototype._handleInlineBlock):
16414         (InlineFormattingContext.prototype._handleReplacedBox):
16415         (InlineFormattingContext.prototype._clearNeedsLayoutAndMoveToNextSibling):
16416         (InlineFormattingContext.prototype._handleInlineBlockContainer): Deleted.
16417         (InlineFormattingContext.prototype._clearAndMoveToNext): Deleted.
16419 2018-04-16  Zalan Bujtas  <zalan@apple.com>
16421         [LayoutReloaded] Introduce fragmentation state/context.
16422         https://bugs.webkit.org/show_bug.cgi?id=184677
16424         Reviewed by Antti Koivisto.
16426         State/context for fragmented content (multicol, regions, pagination etc).
16428         * LayoutReloaded/FormattingContext/FragmentationContext.js: Added.
16429         (FragmentationContext):
16430         * LayoutReloaded/FormattingState/FragmentationState.js: Added.
16431         (FragmentationState):
16432         (FragmentationState.prototype.formattingState):
16434 2018-04-16  Andy Estes  <aestes@apple.com>
16436         [iOS] Enable WKPDFView by default
16437         https://bugs.webkit.org/show_bug.cgi?id=184675
16438         <rdar://problem/27885452>
16440         Reviewed by Darin Adler.
16442         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
16444 2018-04-16  Leo Balter  <leonardo.balter@gmail.com>
16446         Perl-based Test262 runner
16447         https://bugs.webkit.org/show_bug.cgi?id=183343
16449         Reviewed by Michael Saboff.
16451         * Scripts/test262-helpers/README.md: Added.
16452         * Scripts/test262-helpers/agent.js: Added.
16453         (262.getGlobal):
16454         (262.setGlobal):
16455         (262.destroy):
16456         (262.IsHTMLDDA):
16457         * Scripts/test262-helpers/cpanfile: Added.
16458         * Scripts/test262-helpers/cpanfile.snapshot: Added.
16459         * Scripts/test262-helpers/test262-runner.pl: Added.
16460         (main):
16461         (processFile):
16462         (getScenarios):
16463         (addScenario):
16464         (compileTest):
16465         (runTest):
16466         (processResult):
16467         (getTempFile):
16468         (getContents):
16469         (parseData):
16470         (getHarness):
16471         * Scripts/test262-helpers/tests.log: Added.
16473 2018-04-15  Andy Estes  <aestes@apple.com>
16475         [iOS] Add API tests for PDF find-in-page
16476         https://bugs.webkit.org/show_bug.cgi?id=184634
16478         Reviewed by Dan Bernstein.
16480         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
16481         * TestWebKitAPI/Tests/WebKit/find.pdf: Added.
16482         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
16483         (-[TestFindDelegate findString]):
16484         (-[TestFindDelegate _webView:didCountMatches:forString:]):
16485         (-[TestFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
16486         (-[TestFindDelegate _webView:didFailToFindString:]):
16487         (loadWebView):
16488         (TEST):
16490 2018-04-13  Zalan Bujtas  <zalan@apple.com>
16492         [LayoutReloaded] Update class documentation
16493         https://bugs.webkit.org/show_bug.cgi?id=184625
16495         Reviewed by Antti Koivisto.
16497         * LayoutReloaded/DisplayTree/Box.js:
16498         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
16499         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
16500         * LayoutReloaded/FormattingContext/FloatingContext.js:
16501         * LayoutReloaded/FormattingContext/FormattingContext.js:
16502         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16503         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
16504         * LayoutReloaded/FormattingState/BlockFormattingState.js:
16505         * LayoutReloaded/FormattingState/FloatingState.js:
16506         * LayoutReloaded/FormattingState/FormattingState.js:
16507         * LayoutReloaded/FormattingState/InlineFormattingState.js:
16508         * LayoutReloaded/LayoutState.js:
16509         * LayoutReloaded/LayoutTree/BlockContainer.js:
16510         * LayoutReloaded/LayoutTree/Box.js:
16511         * LayoutReloaded/LayoutTree/Container.js:
16512         * LayoutReloaded/LayoutTree/InlineBox.js:
16513         * LayoutReloaded/LayoutTree/InlineContainer.js:
16514         * LayoutReloaded/LayoutTree/Text.js:
16515         * LayoutReloaded/misc/headers/BlockContainer.h: Removed.
16516         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Removed.
16517         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Removed.
16518         * LayoutReloaded/misc/headers/Box.h: Removed.
16519         * LayoutReloaded/misc/headers/Container.h: Removed.
16520         * LayoutReloaded/misc/headers/FloatingContext.h: Removed.
16521         * LayoutReloaded/misc/headers/FormattingContext.h: Removed.
16522         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Removed.
16523         * LayoutReloaded/misc/headers/InlineBox.h: Removed.
16524         * LayoutReloaded/misc/headers/LayoutContext.h: Removed.
16525         * LayoutReloaded/misc/headers/Line.h: Removed.
16526         * LayoutReloaded/misc/headers/Text.h: Removed.
16528 2018-04-13  Zalan Bujtas  <zalan@apple.com>
16530         [LayoutReloaded] Add simple implementation for FormattingState::markNeedsLayout()
16531         https://bugs.webkit.org/show_bug.cgi?id=184621
16533         Reviewed by Antti Koivisto.
16535         This is just a simple, mark ancestors dirty implementation.
16537         * LayoutReloaded/FormattingState/FormattingState.js:
16538         (FormattingState.prototype.markNeedsLayout):
16539         * LayoutReloaded/LayoutState.js:
16540         (LayoutState.prototype.markNeedsLayout):
16541         (LayoutState.prototype.setNeedsLayoutById): Deleted.
16542         (LayoutState.prototype.setNeedsLayout): Deleted.
16543         * LayoutReloaded/TreeBuilder.js:
16544         (TreeBuilder.prototype._createAndAttachBox):
16545         (TreeBuilder.prototype._findBox): Deleted.
16546         * LayoutReloaded/Utils.js:
16547         (Utils.layoutBoxById):
16548         * LayoutReloaded/test/index.html:
16549         * LayoutReloaded/test/simple-incremental-layout-with-static-content.html:
16551 2018-04-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
16553         [WPE] [webkitpy] The driver requirements should be checked before starting the tests
16554         https://bugs.webkit.org/show_bug.cgi?id=184595
16556         Reviewed by Michael Catanzaro.
16558         Ensure Driver.check_driver() is checked at check_sys_deps() time.
16560         * Scripts/webkitpy/port/wpe.py:
16561         (WPEPort.check_sys_deps):
16563 2018-04-13  Zalan Bujtas  <zalan@apple.com>
16565         Rebaseline LayoutReloaded patch file (collectRenderersWithNeedsLayout).
16567         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
16569 2018-04-13  Jonathan Bedard  <jbedard@apple.com>
16571         Boot fewer simulators in CI/EWS machines
16572         https://bugs.webkit.org/show_bug.cgi?id=184594
16573         <rdar://problem/39188082>
16575         Reviewed by Alexey Proskuryakov.
16577         This is a temporary workaround fro <rdar://problem/39393590>.
16579         * Scripts/webkitpy/xcode/simulated_device.py:
16580         (SimulatedDeviceManager): Treat simulators as taking 6 gigs instead of 2.
16582 2018-04-13  Brady Eidson  <beidson@apple.com>
16584         Introduce SuspendedPageProxy to keep old web processes around after their WebPageProxy has been swapped to a new one.
16585         https://bugs.webkit.org/show_bug.cgi?id=184559
16587         Reviewed by Alex Christensen.
16589         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
16591 2018-04-13  Chris Dumez  <cdumez@apple.com>
16593         input.webkitEntries does not work as expected when folder contains accented chars
16594         https://bugs.webkit.org/show_bug.cgi?id=184517
16595         <rdar://problem/39265537>
16597         Reviewed by Alex Christensen.
16599         Add API test coverage.
16601         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
16602         (TestWebKitAPI::TEST_F):
16604 2018-04-13  Thibault Saunier  <tsaunier@igalia.com>
16606         Update my emails ordering in contributors.json
16607         https://bugs.webkit.org/show_bug.cgi?id=184587
16609         Rubber-stamped by Philippe Normand.
16611         Bugzilla seems to pick up tsaunier@igalia.com which is not the one I use there.
16613         * Scripts/webkitpy/common/config/contributors.json:
16615 2018-04-13  Michael Catanzaro  <mcatanzaro@igalia.com>
16617         [WPE] xkbcommon: ERROR: failed to add default include path /home/mcatanzaro/Projects/WebKit/WebKitBuild/DependenciesWPE/Root/share/X11/xkb
16618         https://bugs.webkit.org/show_bug.cgi?id=184388
16620         Reviewed by Carlos Alberto Lopez Perez.
16622         Remove libxkbcommon from the JHBuild environment. We could alternatively add
16623         xkeyboard-config, but there doesn't seem to be any need to build libxkbcommon because I do
16624         not believe it depends on anything else in the JHBuild environment.
16626         * wpe/install-dependencies:
16627         * wpe/jhbuild.modules:
16629 2018-04-12  Antoine Quint  <graouts@apple.com>
16631         [Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by default
16632         https://bugs.webkit.org/show_bug.cgi?id=184569
16633         <rdar://problem/38671301>
16635         Reviewed by Jon Lee.
16637         We set the default value for the CSS Animations and CSS Transitions as Web Animations flag to true
16638         but override it to be false always in the LayoutTests/legacy-animation-engine directory.
16640         * DumpRenderTree/TestOptions.h:
16641         * DumpRenderTree/mac/DumpRenderTree.mm:
16642         (shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference):
16643         (runTest):
16644         * WebKitTestRunner/TestController.cpp:
16645         (WTR::TestController::resetPreferencesToConsistentValues):
16646         * WebKitTestRunner/TestOptions.cpp:
16647         (WTR::isLegacyAnimationEngineTestPath):
16648         (WTR::TestOptions::TestOptions):
16649         * WebKitTestRunner/TestOptions.h:
16651 2018-04-13  Carlos Garcia Campos  <cgarcia@igalia.com>
16653         [GLIB] Tests WTF_RefPtr.ReleaseInNonMainThread and WTF_RefPtr.ReleaseInNonMainThreadDestroyInMainThread are crashing since they were added
16654         https://bugs.webkit.org/show_bug.cgi?id=184531
16656         Reviewed by Michael Catanzaro.
16658         It's not a bug in WebKit, but in the tests. The problem is that those tests are using RunLoop::main() but main
16659         run loop hasn't been initialized. ReleaseInNonMainThread doesn't really need to initialize the main run loop if
16660         we change Util::run() to always use RunLop::current() instead of RunLoop::main(). But
16661         ReleaseInNonMainThreadDestroyInMainThread ends up scheduling a task to the main thread, and the generic
16662         implementation fo that uses RunLoop::main(), so we need to initialize the main loop in this case.
16664         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
16665         (TestWebKitAPI::TEST): Call RunLoop::initializeMainRunLoop().
16666         * TestWebKitAPI/glib/UtilitiesGLib.cpp:
16667         (TestWebKitAPI::Util::run): Use RunLop::current() to stop the current run loop.
16668         (TestWebKitAPI::Util::sleep): Ditto.
16670 2018-04-12  Zalan Bujtas  <zalan@apple.com>
16672         [LayoutReloaded] Add support for incremental layout
16673         https://bugs.webkit.org/show_bug.cgi?id=184578
16675         Reviewed by Antti Koivisto.
16677         * LayoutReloaded/Layout.js:
16678         (layout):
16679         * LayoutReloaded/LayoutState.js:
16680         (LayoutState.prototype.rootContainer):
16681         (LayoutState.prototype.setNeedsLayoutById):
16682         * LayoutReloaded/Utils.js:
16683         (Utils.layoutTreeDump):
16684         * LayoutReloaded/test/TestHarness.js:
16685         (verifyLayout):
16686         (runLayout):
16687         (verifyLayoutTreeDump): Deleted.
16688         * LayoutReloaded/test/index.html:
16689         * LayoutReloaded/test/simple-incremental-layout-with-static-content.html: Added.
16691 2018-04-12  Zalan Bujtas  <zalan@apple.com>
16693         [LayoutReloaded] Move root container ownership to layout state
16694         https://bugs.webkit.org/show_bug.cgi?id=184575
16696         Reviewed by Antti Koivisto.
16698         Now the root container is on the associated layout state (ICB only at this point though).
16700         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
16701         (BlockFormattingContext.prototype.layout):
16702         * LayoutReloaded/FormattingContext/FormattingContext.js:
16703         (FormattingContext.prototype._layoutOutOfFlowDescendants):
16704         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16705         (InlineFormattingContext.prototype._handleInlineBlockContainer):
16706         (InlineFormattingContext.prototype._handleFloatingBox):
16707         * LayoutReloaded/Layout.js:
16708         (layout):
16709         * LayoutReloaded/LayoutState.js:
16710         (LayoutState):
16711         (LayoutState.prototype.formattingContext):
16712         (LayoutState.prototype.establishedFormattingState):
16713         (LayoutState.prototype.formattingStateForBox):
16714         (LayoutState.prototype.needsLayout):
16715         (LayoutState.prototype.displayBox):
16716         (LayoutState.prototype._formattingContext):
16717         (LayoutState.prototype.layout): Deleted.
16718         (LayoutState.prototype.formattingStates): Deleted.
16719         (LayoutState.prototype.initialDisplayBox): Deleted.
16720         * LayoutReloaded/Utils.js:
16721         (Utils._dumpBox):
16722         (Utils._findDisplayBox): Deleted.
16724 2018-04-12  Jonathan Bedard  <jbedard@apple.com>
16726         Fix --build-directory flag for run-webkit-tests
16727         https://bugs.webkit.org/show_bug.cgi?id=184545
16728         <rdar://problem/39385080>
16730         Rubber-stamped by Aakash Jain.
16732         The --build-directory path does not work with iOS-Simulator.
16734         * Scripts/webkitpy/port/base.py:
16735         (Port._build_path): Use the port configuration to calculate the root directory.
16736         * Scripts/webkitpy/port/base_unittest.py:
16737         (PortTest.test_build_path): Test build directories for embedded configurations.
16739 2018-04-12  Ross Kirsling  <ross.kirsling@sony.com>
16741         pemfile.py should not assume POSIX line endings
16742         https://bugs.webkit.org/show_bug.cgi?id=184507
16744         Reviewed by Daniel Bates.
16746         * Scripts/webkitpy/common/system/pemfile.py:
16747         (_parse_pem_format):
16748         * Scripts/webkitpy/common/system/pemfile_unittest.py:
16749         (PemFileTest.test_parse_crlf):
16750         (PemFileTest.test_parse_cr):
16752 2018-04-12  Zalan Bujtas  <zalan@apple.com>
16754         [LayoutReloaded] Minor cleanup in LayoutSate
16755         https://bugs.webkit.org/show_bug.cgi?id=184546
16757         Reviewed by Antti Koivisto.
16759         * LayoutReloaded/FormattingContext/FormattingContext.js:
16760         (FormattingContext.isInFormattingContext):
16761         * LayoutReloaded/FormattingState/FormattingState.js:
16762         (FormattingState.prototype.displayBoxes):
16763         (FormattingState.prototype.displayBox):
16764         (FormattingState.prototype._markSubTreeNeedsLayout):
16765         (FormattingState):
16766         (FormattingState.prototype.displayBoxMap): Deleted.
16767         * LayoutReloaded/LayoutState.js:
16768         (LayoutState.prototype.formattingStateForBox):
16769         (LayoutState.prototype.needsLayout):
16770         (LayoutState.prototype.displayBox):
16771         (LayoutState.prototype._createFormattingState):
16772         (LayoutState):
16773         * LayoutReloaded/LayoutTree/Box.js:
16774         (Layout.Box.prototype.isFormattingContextDescendant): Deleted.
16775         * LayoutReloaded/LayoutTree/Container.js:
16776         (Layout.Container.prototype.isContainingBlockDescendant): Deleted.
16777         * LayoutReloaded/Utils.js:
16778         (Utils._findDisplayBox):
16780 2018-04-12  Zalan Bujtas  <zalan@apple.com>
16782         [LayoutReloaded] Introduce needsLayout to InlineFormattingContext
16783         https://bugs.webkit.org/show_bug.cgi?id=184538
16785         Reviewed by Antti Koivisto.
16787         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
16788         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
16789         (BlockFormattingContext):
16790         (BlockFormattingContext.prototype._firstInFlowChildWithNeedsLayout): Deleted.
16791         (BlockFormattingContext.prototype._nextInFlowSiblingWithNeedsLayout): Deleted.
16792         * LayoutReloaded/FormattingContext/FormattingContext.js:
16793         (FormattingContext.prototype._firstInFlowChildWithNeedsLayout):
16794         (FormattingContext.prototype._nextInFlowSiblingWithNeedsLayout):
16795         (FormattingContext):
16796         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
16797         (InlineFormattingContext.prototype.layout):
16798         (InlineFormattingContext.prototype._handleInlineContainer):
16799         (InlineFormattingContext.prototype._handleInlineBlockContainer):
16800         (InlineFormattingContext.prototype._handleInlineContent):
16801         (InlineFormattingContext.prototype._clearAndMoveToNext):
16802         (InlineFormattingContext):
16804 2018-04-12  Xabier Rodriguez Calvar  <calvaris@igalia.com>
16806         [GStreamer] Speed up GStreamer dependency build by removing examples compilation
16807         https://bugs.webkit.org/show_bug.cgi?id=184528
16809         Reviewed by Philippe Normand.
16811         * gstreamer/jhbuild.modules: Added --disable-examples for GStreamer package.
16813 2018-04-12  Zan Dobersek  <zdobersek@igalia.com>
16815         [WPE] Switch testing process to using WPEBackend-fdo
16816         https://bugs.webkit.org/show_bug.cgi?id=184357
16818         Reviewed by Carlos Alberto Lopez Perez.
16820         Switch WPE testing to using the WPEBackend-fdo implementation that
16821         depends on the WL_bind_wayland_display EGL extension, as defined under
16822         the freedesktop.org project.
16823         https://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/WL_bind_wayland_display.spec
16825         HeadlessViewBackend is refactored to use the WPEBackend-fdo API, but
16826         otherwise is not changed in functionality.
16828         Unit tests now have to unconditionally use HeadlessViewBackend as a
16829         wpe_view_backend provider, since WPEBackend-fdo does not provide a
16830         default wpe_view_backend implementation. Unit tests covering that are
16831         adjusted to instead use a mock wpe_view_backend interface.
16833         * Scripts/webkitdirs.pm:
16834         (builtDylibPathForName): Fix the libWPEWebKit.so name to also include
16835         the API version that was added in r230449.
16836         * Scripts/webkitpy/port/waylanddriver.py:
16837         (WaylandDriver._setup_environ_for_test): Export EGL_PLATFORM=wayland.
16838         * Scripts/webkitpy/port/wpe.py:
16839         (WPEPort._driver_class): Use WaylandDriver by default.
16840         * TestWebKitAPI/PlatformWebView.h:
16841         (): Deleted.
16842         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
16843         (testWebViewWebBackend):
16844         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
16845         (Test::createWebViewBackend):
16846         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
16847         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
16848         (TestWebKitAPI::PlatformWebView::initialize):
16849         * wpe/HeadlessViewBackend/CMakeLists.txt:
16850         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp:
16851         (getEGLDisplay):
16852         (HeadlessViewBackend::HeadlessViewBackend):
16853         (HeadlessViewBackend::~HeadlessViewBackend):
16854         (HeadlessViewBackend::backend const):
16855         (HeadlessViewBackend::createSnapshot):
16856         (HeadlessViewBackend::performUpdate):
16857         (HeadlessViewBackend::makeCurrent): Deleted.
16858         * wpe/HeadlessViewBackend/HeadlessViewBackend.h:
16859         * wpe/jhbuild.modules: Module name cleanup. Dyz version is bumped.
16861 2018-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
16863         [GTK] Switch to use always complex text code path
16864         https://bugs.webkit.org/show_bug.cgi?id=183285
16866         Reviewed by Michael Catanzaro.
16868         Keep the auto mode for the layout tests to avoid having to rebaseline a lot of tests.
16870         * WebKitTestRunner/gtk/main.cpp:
16871         (main): Set WEBKIT_FORCE_COMPLEX_TEXT to 0 unless it's already present in the environment.
16873 2018-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
16875         [GLIB] Handle strings containing null characters
16876         https://bugs.webkit.org/show_bug.cgi?id=184450
16878         Reviewed by Michael Catanzaro.
16880         Add test case for strings with null characters and update all calls to evaluate to pass the script length.
16882         * TestWebKitAPI/PlatformGTK.cmake:
16883         * TestWebKitAPI/PlatformWPE.cmake:
16884         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
16885         (testJSCBasic):
16886         (testJSCFunction):
16887         (testJSCObject):
16888         (testJSCClass):
16889         (testJSCPrototypes):
16890         (testJSCExceptions):
16891         (testJSCPromises):
16892         (testJSCGarbageCollector):
16893         (testJSCWeakValue):
16894         (testsJSCVirtualMachine):
16895         (testsJSCAutocleanups):
16896         * TestWebKitAPI/Tests/JavaScriptCore/glib/script.js: Added.
16897         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp:
16898         (DOMElementTest::testAutoFill):
16899         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp:
16900         (WebKitWebEditorTest::testSelectionChanged):
16901         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
16902         (WebKitFrameTest::testJavaScriptValues):
16903         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
16904         (consoleMessageSentCallback):
16905         (methodCallCallback):
16907 2018-04-11  Zan Dobersek  <zdobersek@igalia.com>
16909         [WPE] Make WebKitWebViewBackend object mandatory for webkit_web_view_new*() constructors
16910         https://bugs.webkit.org/show_bug.cgi?id=184513
16912         Reviewed by Michael Catanzaro.
16914         Update the WPE-specific testWebViewWebBackend() test case, removing the
16915         test that passes a null WebKitWebViewBackend object to the
16916         webkit_web_view_new() call.
16918         Helper createWebViewBackend() that's called via Test::createWebView()
16919         variations is updated to, in case of not using the headless backend,
16920         return a WebKitWebViewBackend instance that wraps around a
16921         default wpe_view_backend object.
16923         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
16924         (testWebViewWebBackend):
16925         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
16926         (Test::createWebViewBackend):
16928 2018-04-11  Zalan Bujtas  <zalan@apple.com>
16930         [LayoutReloaded] Introduce needsLayout flag
16931         https://bugs.webkit.org/show_bug.cgi?id=184527
16933         Reviewed by Antti Koivisto.
16935         Use the formatting state to mark boxes dirty.
16937         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
16938         (BlockFormattingContext.prototype.layout):
16939         (BlockFormattingContext.prototype._firstInFlowChildWithNeedsLayout):
16940         (BlockFormattingContext.prototype._nextInFlowSiblingWithNeedsLayout):
16941         (BlockFormattingContext):
16942         * LayoutReloaded/FormattingContext/FormattingContext.js:
16943         (FormattingContext.prototype._layoutOutOfFlowDescendants):
16944         * LayoutReloaded/FormattingState/FormattingState.js:
16945         (FormattingState):
16946         (FormattingState.prototype.markNeedsLayout):
16947         (FormattingState.prototype.clearNeedsLayout):
16948         (FormattingState.prototype.needsLayout):
16949         (FormattingState.prototype.layoutNeeded):
16950         (FormattingState.prototype._markSubTreeNeedsLayout):
16951         * LayoutReloaded/LayoutState.js:
16952         (LayoutState.prototype.formattingStateForBox):
16953         (LayoutState.prototype.setNeedsLayout):
16954         (LayoutState.prototype.needsLayout):
16955         * LayoutReloaded/LayoutTree/Box.js:
16956         (Layout.Box.prototype.isFormattingContextDescendant):
16957         * LayoutReloaded/LayoutTree/Container.js:
16958         (Layout.Container.prototype.isContainingBlockDescendant):
16960 2018-04-11  Jonathan Bedard  <jbedard@apple.com>
16962         Fix TestInvocation class for newer versions of clang.
16963         https://bugs.webkit.org/show_bug.cgi?id=184508
16964         <rdar://problem/39328648>
16966         Reviewed by Alexey Proskuryakov.
16968         Declare TestInvocation to be final so it does not require a virtual destructor.
16970         * WebKitTestRunner/TestInvocation.h:
16972 2018-04-10  Alex Christensen  <achristensen@webkit.org>
16974         IDN spoofing with Hebrew combining characters
16975         https://bugs.webkit.org/show_bug.cgi?id=184472
16976         <rdar://problem/39148687>
16978         Reviewed by Brent Fulgham.
16980         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
16981         (TestWebKitAPI::TEST):
16983 2018-04-11  Wenson Hsieh  <wenson_hsieh@apple.com>
16985         [Extra zoom mode] Missing label when focusing a <select> with a title attribute but no associated <label>
16986         https://bugs.webkit.org/show_bug.cgi?id=184352
16987         <rdar://problem/39237683>
16989         Reviewed by Andy Estes.
16991         Add support for UIScriptController::selectFormPopoverTitle, which returns the title of the current select
16992         popover's UITableViewController (for testing purposes).
16994         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
16995         (WTR::UIScriptController::selectFormPopoverTitle const):
16996         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
16997         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
16998         (WTR::UIScriptController::selectFormPopoverTitle const):
16999         * TestRunnerShared/UIScriptContext/UIScriptController.h:
17000         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
17001         (WTR::UIScriptController::selectFormPopoverTitle const):
17003 2018-04-10  Nan Wang  <n_wang@apple.com>
17005         AX: Expose strong password fields on iOS
17006         https://bugs.webkit.org/show_bug.cgi?id=184465
17007         <rdar://problem/39325104>
17009         Reviewed by Chris Fleizach.
17011         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
17012         (AccessibilityUIElement::boolAttributeValue):
17013         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
17014         (WTR::AccessibilityUIElement::boolAttributeValue):
17016 2018-04-10  Zalan Bujtas  <zalan@apple.com>
17018         [LayoutReloaded] Add support for out-of-flow descendants in inline formatting context.
17019         https://bugs.webkit.org/show_bug.cgi?id=184454
17021         Reviewed by Antti Koivisto.
17023         When the containing block of an out-of-flow positioned element establishes an inline formatting context.
17024         This is mostly about moving out-of-flow logic from BlockFormattingContext to the base class.
17026         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
17027         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
17028         (BlockFormattingContext):
17029         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants): Deleted.
17030         (BlockFormattingContext.prototype._computeOutOfFlowWidth): Deleted.
17031         (BlockFormattingContext.prototype._computeInFlowWidth): Deleted.
17032         (BlockFormattingContext.prototype._computeOutOfFlowHeight): Deleted.
17033         (BlockFormattingContext.prototype._computeOutOfFlowPosition): Deleted.
17034         (BlockFormattingContext.prototype._shrinkToFitWidth): Deleted.
17035         * LayoutReloaded/FormattingContext/FormattingContext.js:
17036         (FormattingContext.prototype._placeInFlowPositionedChildren):
17037         (FormattingContext.prototype._computeInFlowWidth):
17038         (FormattingContext.prototype._layoutOutOfFlowDescendants):
17039         (FormattingContext.prototype._computeOutOfFlowWidth):
17040         (FormattingContext.prototype._computeOutOfFlowHeight):
17041         (FormattingContext.prototype._computeOutOfFlowPosition):
17042         (FormattingContext.prototype._shrinkToFitWidth):
17043         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17044         (InlineFormattingContext.prototype.layout):
17045         (InlineFormattingContext.prototype._handleInlineContainer):
17046         (InlineFormattingContext.prototype._handleInlineBlockContainer):
17047         (InlineFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
17048         * LayoutReloaded/test/index.html:
17049         * LayoutReloaded/test/inline-with-out-of-flow-descendant.html: Added.
17051 2018-04-09  Zan Dobersek  <zdobersek@igalia.com>
17053         WKTR: Enable DOM cache, SW registration directory cleanup on non-Cocoa platforms
17054         https://bugs.webkit.org/show_bug.cgi?id=184414
17056         Reviewed by Michael Catanzaro.
17058         Enable clearServiceWorkerRegistrations(), clearDOMCache() and
17059         clearDOMCaches() implementations in WebKitTestRunner's TestController
17060         class for non-Cocoa platforms. Implementations depend on the generic
17061         WK2 C API that other ports can leverage as well.
17063         The clearDOMCache() and clearDOMCaches() calls are now operational for
17064         tests that invoke them. clearServiceWorkerRegistrations() and
17065         clearDOMCaches() are also called between each test, cleaning up relevant
17066         resources.
17068         The TestController::getAllStorageAccessEntries() stub for non-Cocoa
17069         platforms is moved into the main !PLATFORM(COCOA) block.
17071         * WebKitTestRunner/TestController.cpp:
17072         (WTR::TestController::getAllStorageAccessEntries):
17073         (WTR::clearServiceWorkerRegistrationsCallback):
17074         (WTR::TestController::clearServiceWorkerRegistrations):
17075         (WTR::clearDOMCacheCallback):
17076         (WTR::TestController::clearDOMCache):
17077         (WTR::TestController::clearDOMCaches):
17079 2018-04-09  Zalan Bujtas  <zalan@apple.com>
17081         [LayoutReloaded] Add support for relatively positioned containers in inline formatting context.
17082         https://bugs.webkit.org/show_bug.cgi?id=184439
17084         Reviewed by Antti Koivisto.
17086         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
17087         (BlockFormattingContext.prototype._placeInFlowPositionedChildren): Deleted.
17088         (BlockFormattingContext.prototype._computeInFlowPositionedPosition): Deleted.
17089         * LayoutReloaded/FormattingContext/FormattingContext.js:
17090         (FormattingContext.prototype._computeInFlowPositionedPosition):
17091         (FormattingContext.prototype._placeInFlowPositionedChildren):
17092         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17093         (InlineFormattingContext.prototype._placeInFlowPositionedChildren): Deleted.
17094         * LayoutReloaded/Utils.js:
17095         (Utils._dumpBox):
17096         (Utils._dumpLines.):
17097         (Utils._dumpLines):
17098         (Utils.precisionRoundWithDecimals):
17099         (Utils.precisionRound):
17100         (Utils):
17101         * LayoutReloaded/test/index.html:
17102         * LayoutReloaded/test/inline-with-relative-positioning.html: Added.
17104 2018-04-09  Zalan Bujtas  <zalan@apple.com>
17106         [LayoutReloaded] Remove Layout.InitialContainingBlock class
17107         https://bugs.webkit.org/show_bug.cgi?id=184436
17109         Reviewed by Antti Koivisto.
17111         * LayoutReloaded/LayoutTree/Box.js:
17112         (Layout.Box.prototype.establishesBlockFormattingContext):
17113         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Removed.
17114         * LayoutReloaded/TreeBuilder.js:
17115         (TreeBuilder.prototype.createTree):
17116         * LayoutReloaded/test/index.html:
17118 2018-04-09  Zalan Bujtas  <zalan@apple.com>
17120         [LayoutReloaded] Add support for inline-block.
17121         https://bugs.webkit.org/show_bug.cgi?id=184434
17123         Reviewed by Antti Koivisto.
17125         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17126         (InlineFormattingContext):
17127         (InlineFormattingContext.prototype.layout):
17128         (InlineFormattingContext.prototype._handleInlineContainer):
17129         (InlineFormattingContext.prototype._handleInlineBlockContainer):
17130         (InlineFormattingContext.prototype._handleInlineContent):
17131         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17132         (Line.prototype.addInlineContainerBox):
17133         (Line.prototype.addTextLineBox):
17134         (Line):
17135         * LayoutReloaded/LayoutTree/Box.js:
17136         (Layout.Box.prototype.isInlineBlockBox):
17137         * LayoutReloaded/Utils.js:
17138         (LayoutRect.prototype.growHorizontally):
17139         (Utils.isBlockContainerElement):
17140         (Utils.isInlineBlockElement):
17141         (Utils._dumpLines.):
17142         (Utils._dumpLines):
17143         * LayoutReloaded/test/index.html:
17144         * LayoutReloaded/test/inline-block-with-fixed-width-height.html: Added.
17146 2018-04-09  Timothy Hatcher  <timothy@apple.com>
17148         Add support for setting a background color on WKWebView and WKView
17149         https://bugs.webkit.org/show_bug.cgi?id=184426
17151         Reviewed by Wenson Hsieh.
17153         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17154         * TestWebKitAPI/Tests/mac/BackgroundColor.mm: Added.
17156 2018-04-09  Charlie Turner  <cturner@igalia.com>
17158         [WPE] Add some missing install dependencies
17159         https://bugs.webkit.org/show_bug.cgi?id=184383
17161         Reviewed by Michael Catanzaro.
17163         * wpe/install-dependencies:
17165 2018-04-09  Sihui Liu  <sihui_liu@apple.com>
17167         REGRESSION(r229929): localStorage is broken for WebInspector
17168         https://bugs.webkit.org/show_bug.cgi?id=184382
17169         <rdar://problem/39257355>
17171         Reviewed by Chris Dumez.
17173         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
17174         (TEST):
17175         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html:
17177 2018-04-09  Zan Dobersek  <zdobersek@igalia.com>
17179         Unreviewed follow-up to r230389.
17181         * WebKitTestRunner/TestController.cpp:
17182         (WTR::TestController::platformAdjustContext): Use the 'ServiceWorkers'
17183         subdirectory for the temporary testing-purpose SW registration directory
17184         like it's used in Cocoa's TestController, addressing the review comment
17185         that I forgot about.
17187 2018-04-08  Zan Dobersek  <zdobersek@igalia.com>
17189         Non-Cocoa ports use default directory for ServiceWorker data during testing
17190         https://bugs.webkit.org/show_bug.cgi?id=183784
17192         Reviewed by Youenn Fablet.
17194         * WebKitTestRunner/TestController.cpp:
17195         (WTR::TestController::platformAdjustContext): Set the service worker registration
17196         directory through the new WKWebsiteDataStore API for non-Cocoa ports.
17198 2018-04-08  Zalan Bujtas  <zalan@apple.com>
17200         [LayoutReloaded] Adjust line with inline container's margin border and padding
17201         https://bugs.webkit.org/show_bug.cgi?id=184409
17203         Reviewed by Antti Koivisto.
17205         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17206         (InlineFormattingContext.prototype.layout):
17207         (InlineFormattingContext.prototype._handleFloatingBox):
17208         (InlineFormattingContext.prototype._adjustLineForInlineContainerStart):
17209         (InlineFormattingContext.prototype._adjustLineForInlineContainerEnd):
17210         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17211         (Line.prototype.shrink):
17212         (Line.prototype.adjustWithOffset):
17213         (Line.prototype.moveContentHorizontally):
17214         (Line.prototype.addTextLineBox):
17215         (Line):
17216         (Line.prototype.addFloatingBox): Deleted.
17217         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
17218         * LayoutReloaded/test/index.html:
17219         * LayoutReloaded/test/inline-with-padding-border-margin-offsets.html: Added.
17221 2018-04-07  Zalan Bujtas  <zalan@apple.com>
17223         [LayoutReloaded] Add support for InlineContainer
17224         https://bugs.webkit.org/show_bug.cgi?id=184394
17226         Reviewed by Antti Koivisto.
17228         * LayoutReloaded/FormattingContext/FormattingContext.js:
17229         (FormattingContext.prototype._addToLayoutQueue):
17230         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17231         (InlineFormattingContext.prototype.layout):
17232         (InlineFormattingContext.prototype._handleInlineContent):
17233         (InlineFormattingContext.prototype._handleFloatingBox):
17234         (InlineFormattingContext.prototype._adjustLineForInlineContainerStart):
17235         (InlineFormattingContext.prototype._adjustLineForInlineContainerEnd):
17236         (InlineFormattingContext.prototype._placeInFlowPositionedChildren):
17237         (InlineFormattingContext.prototype._placeOutOfFlowDescendants):
17238         (InlineFormattingContext.prototype._createNewLine):
17239         (InlineFormattingContext.prototype._handleContent): Deleted.
17240         * LayoutReloaded/LayoutState.js:
17241         (LayoutState.prototype._createFormattingState):
17242         * LayoutReloaded/LayoutTree/Box.js:
17243         (Layout.Box.prototype.isContainer):
17244         (Layout.Box.prototype.isInlineContainer):
17245         (Layout.Box.prototype.isInlineBox):
17246         * LayoutReloaded/LayoutTree/Container.js:
17247         (Layout.Container.prototype.isContainer): Deleted.
17248         * LayoutReloaded/LayoutTree/InlineContainer.js: Added.
17249         (Layout.InlineContainer):
17250         * LayoutReloaded/TreeBuilder.js:
17251         (TreeBuilder.prototype._createAndAttachBox):
17252         * LayoutReloaded/Utils.js:
17253         (Utils._dumpBox):
17254         (Utils.precisionRound):
17255         (Utils):
17256         * LayoutReloaded/test/index.html:
17257         * LayoutReloaded/test/inline-content-simple2.html: Added.
17258         * LayoutReloaded/test/inline-floating1.html: Added.
17259         * LayoutReloaded/test/inline-formatting-context-floats1.html: Added.
17260         * LayoutReloaded/test/inline-formatting-context-floats2.html: Added.
17262 2018-04-07  Timothy Hatcher  <timothy@apple.com>
17264         Use the system's link color when system appearance is desired for a WebView.
17266         https://bugs.webkit.org/show_bug.cgi?id=184353
17267         rdar://problem/9420053
17269         Reviewed by Wenson Hsieh.
17271         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
17272         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm: Added.
17273         (TestWebKitAPI::WebKit::LinkColor):
17274         (TestWebKitAPI::WebKit::LinkColorWithSystemAppearance):
17276 2018-04-06  Zalan Bujtas  <zalan@apple.com>
17278         Rebaseline LayoutReloaded patch file.
17280         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
17282 2018-04-06  Fujii Hironori  <Hironori.Fujii@sony.com>
17284         [Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
17285         https://bugs.webkit.org/show_bug.cgi?id=184296
17287         Reviewed by Alex Christensen.
17289         * DumpRenderTree/win/EventSender.cpp:
17290         (mouseScrollBy): Removed the duplicated cScrollbarPixelsPerLine
17291         definition. Use WebCore::cScrollbarPixelsPerLine.
17293 2018-04-06  Zalan Bujtas  <zalan@apple.com>
17295         Rebaseline LayoutReloaded patch file.
17297         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
17299 2018-04-05  Youenn Fablet  <youenn@apple.com>
17301         Test expectation updater should handle Win bot results
17302         https://bugs.webkit.org/show_bug.cgi?id=184274
17304         Reviewed by Ryosuke Niwa.
17306         Add processing of win bot results.
17307         They will update platform/win results.
17309         Updated the script so that if there is no mac-wk2 results, it will still process specific results.
17311         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
17312         (TestExpectationUpdater.__init__):
17313         (TestExpectationUpdater._bot_type):
17314         (TestExpectationUpdater.do_update):
17315         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
17316         (MockAttachment):
17317         (MockAttachment.__init__):
17318         (MockAttachment.contents):
17319         (MockBugzilla):
17320         (MockBugzilla.__init__):
17321         (MockBugzilla.fetch_bug):
17322         (MockBugzilla.attachments):
17323         (MockZip):
17324         (MockZip.__init__):
17325         (MockZip.unzip):
17326         (MockZip.read):
17327         (TestExpectationUpdaterTest.test_update_test_expectations):
17328         (TestExpectationUpdaterTest):
17329         (TestExpectationUpdaterTest.test_update_win_future_test_expectations):
17331 2018-04-05  Zalan Bujtas  <zalan@apple.com>
17333         [LayoutReloaded] Fix static position for floating boxes when they don't fit the current line
17334         https://bugs.webkit.org/show_bug.cgi?id=184354
17336         Reviewed by Antti Koivisto.
17338         Do not shrink the current line with the floating box unless it is on the current line.
17340         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17341         (InlineFormattingContext.prototype._handleFloatingBox):
17342         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
17343         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17344         (Line.prototype.addFloatingBox):
17345         (Line):
17346         * LayoutReloaded/test/index.html:
17347         * LayoutReloaded/test/inline-with-right-floats3.html: Added.
17349 2018-04-05  Zalan Bujtas  <zalan@apple.com>
17351         [LayoutReloaded] Add support for right floating boxes in inline formatting context
17352         https://bugs.webkit.org/show_bug.cgi?id=184351
17354         Reviewed by Antti Koivisto.
17356         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17357         (InlineFormattingContext.prototype._handleFloatingBox):
17358         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
17359         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17360         (Line.prototype.addFloatingBox):
17361         (Line):
17362         * LayoutReloaded/test/index.html:
17363         * LayoutReloaded/test/inline-with-right-float-simple.html: Added.
17364         * LayoutReloaded/test/inline-with-right-floats2.html: Added.
17366 2018-04-05  Zalan Bujtas  <zalan@apple.com>
17368         [LayoutReloaded] Move floating box to the next line when needed
17369         https://bugs.webkit.org/show_bug.cgi?id=184349
17371         Reviewed by Antti Koivisto.
17373         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17374         (InlineFormattingContext.prototype.layout):
17375         (InlineFormattingContext.prototype._handleContent):
17376         (InlineFormattingContext.prototype._handleText):
17377         (InlineFormattingContext.prototype._handleFloatingBox):
17378         (InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
17379         (InlineFormattingContext):
17380         (InlineFormattingContext.prototype._handleFloatingBoxes): Deleted.
17381         (InlineFormattingContext.prototype._floatingBoxes): Deleted.
17382         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17383         (Line.prototype.addTextLineBox):
17384         (Line.prototype.addFloatingBox):
17385         (Line):
17386         * LayoutReloaded/Utils.js:
17387         (LayoutRect.prototype.moveHorizontally):
17388         (LayoutRect.prototype.moveVertically):
17389         * LayoutReloaded/test/index.html:
17390         * LayoutReloaded/test/inline-with-floats-when-they-dont-fit.html: Added.
17392 2018-04-05  Brady Eidson  <beidson@apple.com>
17394         Process Swap on Navigation causes many webpages to hang due to attempted process swap for iframe navigations.
17395         <rdar://problem/39162236> and https://bugs.webkit.org/show_bug.cgi?id=184318
17397         Reviewed by Andy Estes.
17399         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
17400         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
17401         (-[PSONScheme addMappingFromURLString:toData:]):
17402         (-[PSONScheme webView:startURLSchemeTask:]):
17404 2018-04-05  Yusuke Suzuki  <utatane.tea@gmail.com>
17406         [WTF] Remove StaticLock
17407         https://bugs.webkit.org/show_bug.cgi?id=184332
17409         Reviewed by Mark Lam.
17411         * DumpRenderTree/JavaScriptThreading.cpp:
17413 2018-04-05  Zalan Bujtas  <zalan@apple.com>
17415         [LayoutReloaded] Find the correct left edge for a line when floating boxes are in parent formatting context.
17416         https://bugs.webkit.org/show_bug.cgi?id=184330
17418         Reviewed by Antti Koivisto.
17420         In inline formatting context, the floating boxes can come from the parent (block) formatting context. Let's
17421         take them into account when computing the line edges.
17423         * LayoutReloaded/FormattingContext/FloatingContext.js:
17424         (FloatingContext.prototype.left):
17425         (FloatingContext.prototype.right):
17426         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17427         (InlineFormattingContext.prototype._createNewLine):
17428         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
17429         (InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
17430         (InlineFormattingContext.prototype._mapFloatingPosition): Deleted.
17431         * LayoutReloaded/test/index.html:
17432         * LayoutReloaded/test/multiple-left-floats-on-line-from-parent-formatting-context.html: Added.
17434 2018-04-05  Zalan Bujtas  <zalan@apple.com>
17436         [LayoutReloaded] Collect floating boxes in inline formatting context and layout them first.
17437         https://bugs.webkit.org/show_bug.cgi?id=184329
17439         Reviewed by Antti Koivisto.
17441         Let's do this for now. There might be some cases where this violates layout.
17443         * LayoutReloaded/FormattingContext/FormattingContext.js:
17444         (FormattingContext.prototype._outOfFlowDescendants):
17445         (FormattingContext):
17446         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17447         (InlineFormattingContext.prototype.layout):
17448         (InlineFormattingContext.prototype._handleFloatingBoxes):
17449         (InlineFormattingContext.prototype._handleFloatingBox):
17450         (InlineFormattingContext.prototype._floatingBoxes):
17451         (InlineFormattingContext):
17452         * LayoutReloaded/test/index.html:
17453         * LayoutReloaded/test/multiple-left-floats-on-line-simple.html: Added.
17455 2018-04-04  Youenn Fablet  <youenn@apple.com>
17457         WebRTC data channel only applications require capture permissions for direct connections
17458         https://bugs.webkit.org/show_bug.cgi?id=174500
17459         <rdar://problem/34134281>
17461         Reviewed by Eric Carlson.
17463         Adding options to enable MDNS ICE candidates.
17465         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
17466         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
17467         (WTR::TestRunner::setMediaDevicesEnabled):
17468         (WTR::TestRunner::setMDNSICECandidatesEnabled):
17469         * WebKitTestRunner/InjectedBundle/TestRunner.h:
17470         * WebKitTestRunner/TestController.cpp:
17471         (WTR::TestController::resetPreferencesToConsistentValues):
17473 2018-04-04  Ryan Haddad  <ryanhaddad@apple.com>
17475         Disable failing WKWebViewAutofillTests
17476         https://bugs.webkit.org/show_bug.cgi?id=184196
17478         Unreviewed test gardening.
17480         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
17481         (TestWebKitAPI::TEST):
17483 2018-04-04  Youenn Fablet  <youenn@apple.com>
17485         Introduce a ThreadSafeRefCounted parameter to ensure being destroyed on the main thread
17486         https://bugs.webkit.org/show_bug.cgi?id=183988
17488         Reviewed by Darin Adler.
17490         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
17491         (TestWebKitAPI::ThreadSafeRefCountedObject::create):
17492         (TestWebKitAPI::ThreadSafeRefCountedObject::~ThreadSafeRefCountedObject):
17493         (TestWebKitAPI::MainThreadSafeRefCountedObject::create):
17494         (TestWebKitAPI::MainThreadSafeRefCountedObject::~MainThreadSafeRefCountedObject):
17495         (TestWebKitAPI::TEST):
17497 2018-04-04  Ms2ger  <Ms2ger@igalia.com>
17499         Test gardening for GTK.
17500         https://bugs.webkit.org/show_bug.cgi?id=184298
17502         Unreviewed test gardening.
17504         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Add pointer to
17505         https://bugs.webkit.org/show_bug.cgi?id=184295.
17507 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
17509         ASSERTION FAILED: !m_mainFrame->coreFrame()->loader().frameHasLoaded() || !m_pendingNavigationID when reloading page while a page is loading
17510         https://bugs.webkit.org/show_bug.cgi?id=153210
17512         Reviewed by Alex Christensen.
17514         Add unit tests to WebKit C API and WebKitGLib.
17516         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
17517         (TestWebKitAPI::TEST):
17518         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
17519         (LoadTwiceAndReloadTest::reloadOnFinishLoad):
17520         (LoadTwiceAndReloadTest::LoadTwiceAndReloadTest):
17521         (LoadTwiceAndReloadTest::~LoadTwiceAndReloadTest):
17522         (LoadTwiceAndReloadTest::waitUntilFinished):
17523         (testWebViewLoadTwiceAndReload):
17524         (beforeAll):
17526 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
17528         [GTK] Test /webkit/WebKitWebPage/context-menu is failing since r229831
17529         https://bugs.webkit.org/show_bug.cgi?id=184260
17531         Reviewed by Michael Catanzaro.
17533         This is not a regression introduced in r229831, though, it's a bug in the test itself revealed by r229831. We
17534         should wait for the load to complete before trying to show the context menu.
17536         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
17537         (testContextMenuWebExtensionMenu):
17539 2018-04-03  Zalan Bujtas  <zalan@apple.com>
17541         [LayoutReloaded] Introduce floating to InlineFormattingContext
17542         https://bugs.webkit.org/show_bug.cgi?id=184288
17544         Reviewed by Antti Koivisto.
17546         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
17547         (BlockFormattingContext.prototype._computeFloatingWidth): Deleted.
17548         (BlockFormattingContext.prototype._computeFloatingHeight): Deleted.
17549         * LayoutReloaded/FormattingContext/FormattingContext.js:
17550         (FormattingContext.prototype._computeFloatingWidth):
17551         (FormattingContext.prototype._computeFloatingHeight):
17552         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17553         (InlineFormattingContext.prototype.layout):
17554         (InlineFormattingContext.prototype._handleFloatingBox):
17555         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
17556         (Line.prototype.addFloatingBox):
17557         (Line):
17558         * LayoutReloaded/test/float-is-inside-inline-formatting-context-simple.html: Added.
17559         * LayoutReloaded/test/index.html:
17561 2018-04-03  Youenn Fablet  <youenn@apple.com>
17563         NetworkResourceLoader does not need to expose all redirect response headers
17564         https://bugs.webkit.org/show_bug.cgi?id=184114
17565         <rdar://problem/39010557>
17567         Reviewed by Ryosuke Niwa.
17569         Add an option to dump the number of headers in a response.
17570         This allows validating that filtering does happen or not.
17572         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
17573         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
17574         (WTR::dumpResponseDescriptionSuitableForTestResult):
17575         (WTR::InjectedBundlePage::responseHeaderCount):
17576         (WTR::InjectedBundlePage::willSendRequestForFrame):
17577         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
17578         * WebKitTestRunner/InjectedBundle/TestRunner.h:
17579         (WTR::TestRunner::dumpAllHTTPRedirectedResponseHeaders):
17580         (WTR::TestRunner::shouldDumpAllHTTPRedirectedResponseHeaders const):
17581         * WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
17582         (WTR::InjectedBundlePage::responseHeaderCount):
17583         * WebKitTestRunner/TestController.cpp:
17584         (WTR::TestController::resetPreferencesToConsistentValues):
17586 2018-04-03  Andy Estes  <aestes@apple.com>
17588         [Mac] Prioritize file promises over filenames during drag and drop
17589         https://bugs.webkit.org/show_bug.cgi?id=184237
17590         <rdar://problem/38278076>
17592         Reviewed by Wenson Hsieh.
17594         * DumpRenderTree/mac/EventSendingController.mm:
17595         (-[EventSendingController beginDragWithFilePromises:]):
17597 2018-04-03  Brady Eidson  <beidson@apple.com>
17599         Make SessionStorage work with process swapping.
17600         https://bugs.webkit.org/show_bug.cgi?id=184270
17602         Reviewed by Andy Estes.
17604         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
17605         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
17607 2018-04-03  Chris Dumez  <cdumez@apple.com>
17609         Drop MainFrame class
17610         https://bugs.webkit.org/show_bug.cgi?id=184191
17612         Reviewed by Darin Adler.
17614         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
17616 2018-04-03  Charlie Turner  <cturner@igalia.com>
17618         [WPE] Add WPE port to garden-o-matic
17619         https://bugs.webkit.org/show_bug.cgi?id=182998
17621         Reviewed by Michael Catanzaro.
17623         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
17624         Add WPE as a port to check.
17625         (config.kPlatforms.string_appeared_here._builderApplies): Use less
17626         surprising equality operator.
17627         (config.kPlatforms.string_appeared_here.resultsDirectoryNameFromBuilderName):
17628         Ditto.
17629         (config.kPlatforms.string_appeared_here.resultsDirectoryForBuildNumber):
17630         Ditto.
17632 2018-04-03  Adrian Perez de Castro  <aperez@igalia.com>
17634         [GTK][JHBuild] Tools/gtk/install-dependencies: Replace libxfont with libxfont2 in Arch Linux
17635         https://bugs.webkit.org/show_bug.cgi?id=184258
17637         Reviewed by Carlos Alberto Lopez Perez.
17639         * gtk/install-dependencies: Use libxfont2 on Arch Linux as well.
17641 2018-04-02  Brady Eidson  <beidson@apple.com>
17643         Process swapping on navigation needs to handle server redirects.
17644         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
17646         Reviewed by Alex Christensen.
17648         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
17649         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
17650         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
17651         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
17652         (-[PSONScheme addRedirectFromURLString:toURLString:]):
17653         (-[PSONScheme webView:startURLSchemeTask:]):
17655 2018-04-02  Daniel Bates  <dabates@apple.com>
17657         Add infrastructure to relax SSL for allowed hosts in DumpRenderTree and WebKitTestRunner
17658         https://bugs.webkit.org/show_bug.cgi?id=184239
17660         Reviewed by Alexey Proskuryakov.
17662         Adds a new optional command line option --allow-any-certificate-for-allowed-hosts (defaults to disabled)
17663         to allow the allowed hosts to accept any HTTPS certificate. You can specify an allowed host
17664         by using the existing command line option --allowed-host.
17666         Currently both DumpRenderTree and WebKitTestRunner relax SSL certificate validation
17667         for 127.0.0.1 and localhost so that we can run HTTPS tests from these hosts using
17668         a self-signed certificate. They do not relax these restrictions for any allowed host,
17669         specified using the optional command line option --allowed-host. For testing purposes
17670         it is useful to be able to run a local HTTPS server with a self-signed certificate and
17671         mimic a non-localhost hostname (by adding an alias(es) for 127.0.0.1 to /etc/hosts).
17672         We should support relaxing SSL restrictions for such testing purposes.
17674         For example, to allow host example.test to present any HTTPS certificate when running
17675         tests you would invoke:
17677             run-webkit-tests --allowed-host example.test --additional-drt-flag '--allow-any-certificate-for-allowed-hosts'
17679         * DumpRenderTree/mac/DumpRenderTree.mm:
17680         (initializeGlobalsFromCommandLineOptions): Parse the command line option --allow-any-certificate-for-allowed-hosts.
17681         (dumpRenderTree): Allow any HTTPS certificate from each allowed host.
17682         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
17683         (WTR::InjectedBundle::didReceiveMessageToPage): Clear out the existing list of allowed hosts
17684         before appending entries to it to avoid growing the list of allowed hosts without bound. Call
17685         platformAllowAnyHTTPSCertificateForAllowedHosts() to apply SSL relaxation for each allowed host.
17686         * WebKitTestRunner/Options.cpp:
17687         (WTR::handleOptionAllowAnyHTTPSCertificateForAllowedHosts): Added.
17688         (WTR::handleOptionAllowedHost): Update code as needed now that Options::allowedHosts is a std::set.
17689         (WTR::OptionsHandler::OptionsHandler):
17690         * WebKitTestRunner/Options.h: Change the data type of allowedHosts from a std::vector to a std::set
17691         so that we can make use of the convenience functon std::set::find() in TestController::canAuthenticateAgainstProtectionSpace().
17692         * WebKitTestRunner/TestController.cpp:
17693         (WTR::TestController::initialize):
17694         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Allow any HTTPS certificate from each allowed host.
17695         * WebKitTestRunner/TestController.h:
17697 2018-04-02  Ryan Haddad  <ryanhaddad@apple.com>
17699         Unreviewed, rolling out r230174.
17701         Caused LayoutTests to exit early with assertion failures.
17703         Reverted changeset:
17705         "Process swapping on navigation needs to handle server
17706         redirects."
17707         https://bugs.webkit.org/show_bug.cgi?id=184142
17708         https://trac.webkit.org/changeset/230174
17710 2018-04-02  Daniel Bates  <dabates@apple.com>
17712         Remove pre-Network Session code path for allowing any HTTPS certificate on Mac and iOS
17713         https://bugs.webkit.org/show_bug.cgi?id=184242
17715         Reviewed by Alexey Proskuryakov.
17717         Following r227364 we use the Network Session (NSURLSession) code path by default in
17718         modern WebKit on Mac and iOS. That is, we no longer use {CF, NS}URLConnection in modern
17719         WebKit on these platforms. So, we can remove code that used NSURLRequest SPI to allow
17720         any HTTPS certificate from localhost and 127.0.0.1 when using {CF, NS}URLConnection.
17721         The equivalent functionality is implemented in TestController::canAuthenticateAgainstProtectionSpace().
17723         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
17724         (WTR::InjectedBundle::platformInitialize):
17725         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
17726         (WTR::InjectedBundle::platformInitialize):
17728 2018-04-02  Brady Eidson  <beidson@apple.com>
17730         Process swapping on navigation needs to handle server redirects.
17731         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
17733         Reviewed by Alex Christensen.
17735         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
17736         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
17737         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
17738         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
17739         (-[PSONScheme addRedirectFromURLString:toURLString:]):
17740         (-[PSONScheme webView:startURLSchemeTask:]):
17742 2018-04-02  Thibault Saunier  <tsaunier@igalia.com>
17744         webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
17745         https://bugs.webkit.org/show_bug.cgi?id=184036
17747         Reviewed by Philippe Normand.
17749         Those variables are for debug purpose and should not change the behaviour
17750         itself, and developers expect them to have effect.
17752         * Scripts/webkitpy/port/gtk.py:
17753         (GtkPort.setup_environ_for_server):
17755 2018-04-02  Daniel Bates  <dabates@apple.com>
17757         Remove Options constructor and use internal linkage for option handlers
17758         https://bugs.webkit.org/show_bug.cgi?id=184229
17760         Reviewed by Andy Estes.
17762         Use C++11 default initializer syntax to remove the need to explicitly have a constructor
17763         for the struct Options. Use internal linkage for option handler functions as these
17764         are never invoked outside the translation unit they are defined in.
17766         * WebKitTestRunner/Options.cpp:
17767         (WTR::handleOptionNoTimeout):
17768         (WTR::handleOptionVerbose):
17769         (WTR::handleOptionGcBetweenTests):
17770         (WTR::handleOptionPixelTests):
17771         (WTR::handleOptionPrintSupportedFeatures):
17772         (WTR::handleOptionComplexText):
17773         (WTR::handleOptionAcceleratedDrawing):
17774         (WTR::handleOptionRemoteLayerTree):
17775         (WTR::handleOptionShowWebView):
17776         (WTR::handleOptionShowTouches):
17777         (WTR::handleOptionAllowedHost):
17778         (WTR::handleOptionUnmatched):
17779         (WTR::Options::Options): Deleted.
17780         * WebKitTestRunner/Options.h:
17782 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
17784         Unreviewed GTK port dependencies fix after r230152.
17786         Add alsa library dependency for gtk.
17788         * gtk/install-dependencies:
17790 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
17792         [GTK] Make libwebrtc backend buildable for GTK  port
17793         https://bugs.webkit.org/show_bug.cgi?id=178860
17795         Reviewed by Youenn Fablet.
17797         * gstreamer/jhbuild.modules: Modified the libvpx module for the
17798         libwebrtc compilation.
17799         * gtk/install-dependencies: Add libevent as a system requirement.
17800         * Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third
17801         party libraries with reduced style checks.
17803 2018-04-01  Zalan Bujtas  <zalan@apple.com>
17805         [LayoutReloaded] Use containing block's contentBox left edge when the float is to the right.
17806         https://bugs.webkit.org/show_bug.cgi?id=184230
17808         Reviewed by Antti Koivisto.
17810         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17811         (InlineFormattingContext.prototype._mapFloatingPosition):
17812         (InlineFormattingContext):
17813         * LayoutReloaded/test/index.html:
17814         * LayoutReloaded/test/inline-formatting-context-with-floats2.html: Added.
17816 2018-04-01  Zalan Bujtas  <zalan@apple.com>
17818         [LayoutReloaded] Right floating box reduces available line width.
17819         https://bugs.webkit.org/show_bug.cgi?id=184226
17821         Reviewed by Antti Koivisto.
17823         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17824         (InlineFormattingContext.prototype._createNewLine):
17825         * LayoutReloaded/test/index.html:
17826         * LayoutReloaded/test/inline-with-floats-right-left-simple.html: Added.
17828 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17830         [LayoutReloaded] Floating box reduces line with in inline formatting context
17831         https://bugs.webkit.org/show_bug.cgi?id=184223
17833         Reviewed by Antti Koivisto.
17835         * LayoutReloaded/FormattingContext/FloatingContext.js:
17836         (FloatingContext.prototype.left):
17837         (FloatingContext.prototype.right):
17838         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
17839         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
17840         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
17841         (FloatingContext.prototype.formattingRoot):
17842         (FloatingContext.prototype._floatingState):
17843         (FloatingContext.prototype._formattingRoot): Deleted.
17844         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
17845         (InlineFormattingContext.prototype._createNewLine):
17846         (InlineFormattingContext.prototype._mapFloatingPosition):
17847         (InlineFormattingContext):
17848         * LayoutReloaded/FormattingState/FormattingState.js:
17849         (FormattingState.prototype.displayBox):
17850         (FormattingState):
17851         * LayoutReloaded/test/index.html:
17852         * LayoutReloaded/test/inline-formatting-context-with-floats.html: Added.
17854 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17856         [LayoutReloaded] InlineFormattingState should inherit the floating state from its parent formatting state
17857         https://bugs.webkit.org/show_bug.cgi?id=184220
17859         Reviewed by Antti Koivisto.
17861         If the block container box that initiates an inline formatting context also establishes a block context,
17862         create a new float state, otherwise use the existing one.
17864         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
17865         (BlockFormattingContext.prototype._contentHeight):
17866         * LayoutReloaded/FormattingState/InlineFormattingState.js:
17867         (InlineFormattingState):
17868         * LayoutReloaded/LayoutState.js:
17869         (LayoutState.prototype.establishedFormattingState):
17870         (LayoutState.prototype.formattingStateForBox):
17871         (LayoutState.prototype.formattingState): Deleted.
17872         * LayoutReloaded/Utils.js:
17874 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17876         [LayoutReloaded] FloatingContext does not need a parent formatting context.
17877         https://bugs.webkit.org/show_bug.cgi?id=184219
17879         Reviewed by Antti Koivisto.
17881         We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
17882         This is in preparation for being able to create a FloatingContext for an inline formatting context,
17883         when the inline context actually inherits the floating state from its formatting root.
17885         * LayoutReloaded/FormattingContext/FloatingContext.js:
17886         (FloatingContext):
17887         (FloatingContext.prototype._availableSpace):
17888         (FloatingContext.prototype._adjustedFloatingPosition):
17889         (FloatingContext.prototype._addFloatingBox):
17890         (FloatingContext.prototype._formattingContext): Deleted.
17891         * LayoutReloaded/FormattingContext/FormattingContext.js:
17892         (FormattingContext):
17894 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17896         [LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
17897         https://bugs.webkit.org/show_bug.cgi?id=184218
17899         Reviewed by Antti Koivisto.
17901         Now that Display.Box is in a tree context, we can't just clone it for the purpose of caching its absolute position.
17903         * LayoutReloaded/DisplayTree/Box.js:
17904         (Display.Box.prototype.clone): Deleted.
17905         * LayoutReloaded/FormattingContext/FloatingContext.js:
17906         (FloatingContext.prototype._positionForFloating):
17907         (FloatingContext.prototype._moveToNextVerticalPosition):
17908         (FloatingContext.prototype._availableSpace):
17909         (FloatingContext.prototype._findFloatingAtVerticalPosition):
17910         (FloatingContext.prototype._adjustedFloatingPosition):
17911         (FloatingContext.prototype._bottom):
17912         (FloatingContext.prototype._addFloatingBox):
17913         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
17914         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
17915         * LayoutReloaded/FormattingState/FloatingState.js:
17916         (FloatingState.prototype.addFloating):
17918 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17920         [LayoutReloaded] Remove all FormattingContext::absolute*Box functions.
17921         https://bugs.webkit.org/show_bug.cgi?id=184215
17923         Reviewed by Antti Koivisto.
17925         Use Display.Box instead.
17927         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
17928         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
17929         * LayoutReloaded/FormattingContext/FloatingContext.js:
17930         (FloatingContext.prototype._availableSpace):
17931         (FloatingContext.prototype._adjustedFloatingPosition):
17932         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
17933         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
17934         * LayoutReloaded/FormattingContext/FormattingContext.js:
17935         (FormattingContext.prototype.absoluteBorderBox): Deleted.
17936         (FormattingContext.prototype.absolutePaddingBox): Deleted.
17937         (FormattingContext.prototype.absoluteContentBox): Deleted.
17938         (FormattingContext.prototype._toAbsolutePosition): Deleted.
17939         (FormattingContext.prototype._toRootAbsolutePosition): Deleted.
17940         * LayoutReloaded/Utils.js:
17941         (Utils.mapPosition):
17942         (Utils.marginBox):
17943         (Utils.borderBox):
17944         (Utils.contentBox):
17946 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17948         [LayoutReloaded] Remove FormattingContext::absoluteMarginBox
17949         https://bugs.webkit.org/show_bug.cgi?id=184213
17951         Reviewed by Antti Koivisto.
17953         Display.Box already has the margin values.
17955         * LayoutReloaded/FormattingContext/FloatingContext.js:
17956         (FloatingContext.prototype._positionForFloating):
17957         (FloatingContext.prototype._addFloatingBox):
17958         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
17959         (FloatingContext.prototype._formattingRoot):
17960         * LayoutReloaded/FormattingContext/FormattingContext.js:
17961         (FormattingContext.prototype.absoluteMarginBox): Deleted.
17962         * LayoutReloaded/Utils.js:
17963         (Utils.marginBox):
17965 2018-03-31  Zalan Bujtas  <zalan@apple.com>
17967         [layoutReloaded] Introduce margin to Display.Box
17968         https://bugs.webkit.org/show_bug.cgi?id=184212
17970         Reviewed by Antti Koivisto.
17972         This is in preparation for moving margin box out of formatting context to Display.Box.
17974         * LayoutReloaded/DisplayTree/Box.js:
17975         (Display.Box):
17976         (Display.Box.prototype.setRect):
17977         (Display.Box.prototype.setTopLeft):
17978         (Display.Box.prototype.setTop):
17979         (Display.Box.prototype.setLeft):
17980         (Display.Box.prototype.setSize):
17981         (Display.Box.prototype.setWidth):
17982         (Display.Box.prototype.setHeight):
17983         (Display.Box.prototype.width):
17984         (Display.Box.prototype.setMarginTop):
17985         (Display.Box.prototype.setMarginLeft):
17986         (Display.Box.prototype.setMarginBottom):
17987         (Display.Box.prototype.setMarginRight):
17988         (Display.Box.prototype.marginTop):
17989         (Display.Box.prototype.marginLeft):
17990         (Display.Box.prototype.marginBottom):
17991         (Display.Box.prototype.marginRight):
17992         (Display.Box.prototype.marginBox):
17993         * LayoutReloaded/FormattingContext/FormattingContext.js:
17994         (FormattingContext.prototype.absoluteMarginBox):
17995         (FormattingContext.prototype._addToLayoutQueue):
17996         * LayoutReloaded/FormattingState/FormattingState.js:
17997         (FormattingState.prototype.createDisplayBox):
17999 2018-03-31  Zalan Bujtas  <zalan@apple.com>
18001         [LayoutReloaded] Add tree context to Display.Box
18002         https://bugs.webkit.org/show_bug.cgi?id=184211
18004         Reviewed by Antti Koivisto.
18006         This is preparation for using the Display.Box tree to resolve absolute coordinates.
18008         * LayoutReloaded/DisplayTree/Box.js:
18009         (Display.Box):
18010         (Display.Box.prototype.setParent):
18011         (Display.Box.prototype.setNextSibling):
18012         (Display.Box.prototype.setPreviousSibling):
18013         (Display.Box.prototype.setFirstChild):
18014         (Display.Box.prototype.setLastChild):
18015         (Display.Box.prototype.parent):
18016         (Display.Box.prototype.nextSibling):
18017         (Display.Box.prototype.previousSibling):
18018         (Display.Box.prototype.firstChild):
18019         (Display.Box.prototype.lastChild):
18020         * LayoutReloaded/FormattingState/FormattingState.js:
18021         (FormattingState.prototype.createDisplayBox):
18023 2018-03-30  Ryosuke Niwa  <rniwa@webkit.org>
18025         Copying a list from Microsoft Word to TinyMCE fails when mso-list is the first property
18026         https://bugs.webkit.org/show_bug.cgi?id=182938
18027         <rdar://problem/37683007>
18029         Reviewed by Wenson Hsieh.
18031         Added more assertions to PasteHTML.PreservesMSOList for preserving an inline style which starts with mso-list
18032         or the one which line-breaks right before it.
18034         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
18035         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html:
18037 2018-03-29  Ryosuke Niwa  <rniwa@webkit.org>
18039         Copying a list from Microsoft Word to TinyMCE fails when mso-list is on tags other than P
18040         https://bugs.webkit.org/show_bug.cgi?id=182954
18041         <rdar://problem/37713141>
18043         Reviewed by Wenson Hsieh.
18045         Added a test case for a HTML generated by Microsoft Word which sets mso-list on h4.
18047         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18048         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
18049         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-compat-mode.html: Fixed the file path.
18050         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-on-h4.html: Added.
18052 2018-03-29  Ross Kirsling  <ross.kirsling@sony.com>
18054         run-jsc-benchmarks should recognize Windows-style build directory structure.
18055         https://bugs.webkit.org/show_bug.cgi?id=184117
18057         Reviewed by Yusuke Suzuki.
18059         * Scripts/run-jsc-benchmarks:
18060         Allow not only bin/jsc but also bin64/jsc.exe.
18062 2018-03-29  Zalan Bujtas  <zalan@apple.com>
18064         [LayoutReloaded] Decouple formatting state and context lifetime.
18065         https://bugs.webkit.org/show_bug.cgi?id=184136
18067         Reviewed by Antti Koivisto.
18069         FormattingContext is about the layout logic. We don't need to hold on to it.
18071         * LayoutReloaded/FormattingContext/FloatingContext.js:
18072         (FloatingContext):
18073         (FloatingContext.prototype.computePosition):
18074         (FloatingContext.prototype._positionForClear):
18075         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
18076         (FloatingContext.prototype._addFloatingBox):
18077         (FloatingContext.prototype._formattingContext):
18078         (FloatingContext.prototype._formattingState):
18079         * LayoutReloaded/FormattingContext/FormattingContext.js:
18080         (FormattingContext):
18081         * LayoutReloaded/FormattingState/BlockFormattingState.js:
18082         (BlockFormattingState):
18083         * LayoutReloaded/FormattingState/FloatingState.js:
18084         (FloatingState):
18085         (FloatingState.prototype.addFloating):
18086         (FloatingState.prototype.formattingState):
18087         (FloatingState.prototype.formattingContext): Deleted.
18088         * LayoutReloaded/FormattingState/FormattingState.js:
18089         (FormattingState):
18090         (FormattingState.prototype.formattingContext): Deleted.
18091         * LayoutReloaded/FormattingState/InlineFormattingState.js:
18092         (InlineFormattingState):
18093         * LayoutReloaded/LayoutState.js:
18094         (LayoutState.prototype.layout):
18095         (LayoutState.prototype.formattingContext):
18097 2018-03-28  Zalan Bujtas  <zalan@apple.com>
18099         [LayoutReloaded] Introduce FloatingState.
18100         https://bugs.webkit.org/show_bug.cgi?id=184126
18102         Reviewed by Antti Koivisto.
18104         It holds the floating state (left/right floating stack) for a given formatting state (Block or Inline).
18105         (FormattingState -> FloatingState/FormattingContext -> FloatingContext)
18107         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
18108         (BlockFormattingContext):
18109         * LayoutReloaded/FormattingContext/FloatingContext.js:
18110         (FloatingContext):
18111         (FloatingContext.prototype.computePosition):
18112         (FloatingContext.prototype.bottom):
18113         (FloatingContext.prototype._positionForFloating):
18114         (FloatingContext.prototype._positionForClear):
18115         (FloatingContext.prototype._findInnerMostLeftAndRight):
18116         (FloatingContext.prototype._isEmpty):
18117         (FloatingContext.prototype._floatingState):
18118         (FloatingContext.prototype._formattingContext):
18119         (FloatingContext.prototype._lastFloating):
18120         (FloatingContext.prototype._leftFloatingStack):
18121         (FloatingContext.prototype._rightFloatingStack):
18122         (FloatingContext.prototype._addFloating): Deleted.
18123         * LayoutReloaded/FormattingContext/FormattingContext.js:
18124         (FormattingContext):
18125         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18126         (InlineFormattingContext):
18127         * LayoutReloaded/FormattingState/BlockFormattingState.js:
18128         (BlockFormattingState):
18129         * LayoutReloaded/FormattingState/FloatingState.js: Copied from Tools/LayoutReloaded/FormattingState/InlineFormattingState.js.
18130         (FloatingState):
18131         (FloatingState.prototype.addFloating):
18132         (FloatingState.prototype.leftFloatingStack):
18133         (FloatingState.prototype.rightFloatingStack):
18134         (FloatingState.prototype.lastFloating):
18135         (FloatingState.prototype.formattingContext):
18136         * LayoutReloaded/FormattingState/FormattingState.js:
18137         (FormattingState):
18138         (FormattingState.prototype.floatingState):
18139         * LayoutReloaded/FormattingState/InlineFormattingState.js:
18140         (InlineFormattingState):
18141         * LayoutReloaded/test/index.html:
18143 2018-03-28  Zalan Bujtas  <zalan@apple.com>
18145         [LayoutReloaded] Convert floating left/right stack display boxes absolute to the formatting context's root.
18146         https://bugs.webkit.org/show_bug.cgi?id=184123
18148         Reviewed by Antti Koivisto.
18150         1. The left/right floating array should hold the Display.Box (and not the Layout.Box)
18151         2. Clone the Display.Box and convert its rect absolute to the formatting context's root so that we
18152         don't have to keep converting the coordinates while computing the positions. 
18154         * LayoutReloaded/DisplayTree/Box.js:
18155         (Display.Box.prototype.clone):
18156         (Display.Box.prototype.setRect):
18157         * LayoutReloaded/FormattingContext/FloatingContext.js:
18158         (FloatingContext.prototype.computePosition):
18159         (FloatingContext.prototype._positionForFloating):
18160         (FloatingContext.prototype._addFloating):
18161         (FloatingContext.prototype._moveToNextVerticalPosition):
18162         (FloatingContext.prototype._availableSpace):
18163         (FloatingContext.prototype._findFloatingAtVerticalPosition):
18164         (FloatingContext.prototype._adjustedFloatingPosition):
18165         (FloatingContext.prototype._bottom):
18167 2018-03-28  Chris Dumez  <cdumez@apple.com>
18169         Unreviewed iOS build fix after r230060.
18171         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
18173 2018-03-28  Chris Dumez  <cdumez@apple.com>
18175         Unreviewed, disable new window.open() API tests introduced in r230051 on iOS.
18177         I will investigate if this is testable on iOS.
18179         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
18181 2018-03-28  Chris Dumez  <cdumez@apple.com>
18183         Do process swap when opening a cross-origin URL via window.open(url, '_blank', 'noopener')
18184         https://bugs.webkit.org/show_bug.cgi?id=183962
18185         <rdar://problem/38817833>
18187         Reviewed by Brady Eidson.
18189         Add API test coverage.
18191         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
18192         (-[PSONUIDelegate initWithNavigationDelegate:]):
18193         (-[PSONUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
18195 2018-03-28  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
18197         Add Carlos Eduardo Ramalho as contributor
18198         https://bugs.webkit.org/show_bug.cgi?id=184082
18200         Reviewed by Carlos Alberto Lopez Perez.
18202         * Scripts/webkitpy/common/config/contributors.json:
18204 2018-03-28  Wenson Hsieh  <wenson_hsieh@apple.com>
18206         [Extra zoom mode] Make boosted text autosizing values switchable at runtime
18207         https://bugs.webkit.org/show_bug.cgi?id=184092
18208         <rdar://problem/38939917>
18210         Reviewed by Tim Horton.
18212         Add an API test to check that toggling the boosted text autosizing preference causes text to lay out larger than
18213         it would with normal text autosizing.
18215         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18216         * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: Added.
18217         (TEST):
18219 2018-03-28  Zalan Bujtas  <zalan@apple.com>
18221         [LayoutReloaded] InlineFormattingContext::_handleText should support runs on multiple lines
18222         https://bugs.webkit.org/show_bug.cgi?id=184101
18224         Reviewed by Antti Koivisto.
18226         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18227         (InlineFormattingContext):
18228         (InlineFormattingContext.prototype.layout):
18229         (InlineFormattingContext.prototype._handleText):
18230         (InlineFormattingContext.prototype._createNewLine):
18231         * LayoutReloaded/test/index.html:
18232         * LayoutReloaded/test/simple-multiline-text.html: Added.
18234 2018-03-28  Zalan Bujtas  <zalan@apple.com>
18236         [LayoutReloaded] Add InlineTextBreaker::skipLeadingWhitespaceIfNeeded
18237         https://bugs.webkit.org/show_bug.cgi?id=184099
18239         Reviewed by Antti Koivisto.
18241         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
18243 2018-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
18245         [GLIB] Add JSCWeakValue to JavaScriptCore GLib API
18246         https://bugs.webkit.org/show_bug.cgi?id=184041
18248         Reviewed by Michael Catanzaro.
18250         Add test case for JSCWeakValue.
18252         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
18253         (weakValueClearedCallback):
18254         (testJSCWeakValue):
18255         (main):
18257 2018-03-27  Zalan Bujtas  <zalan@apple.com>
18259         [LayoutReloaded] Start using window.collectTextRuns() to layout text lines in inline formatting context
18260         https://bugs.webkit.org/show_bug.cgi?id=184070
18262         Reviewed by Antti Koivisto.
18264         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18265         (InlineFormattingContext.prototype._handleText):
18266         (InlineFormattingContext.prototype._commitLine):
18267         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
18268         (Line.prototype.addTextLineBox):
18269         (Line):
18270         (Line.prototype.addLineBox): Deleted.
18271         * LayoutReloaded/FormattingState/BlockFormattingState.js:
18272         (BlockFormattingState):
18273         * LayoutReloaded/FormattingState/FormattingState.js:
18274         (FormattingState.prototype.displayBox):
18275         (FormattingState):
18276         (FormattingState.prototype._setFormattingContext): Deleted.
18277         * LayoutReloaded/FormattingState/InlineFormattingState.js:
18278         (InlineFormattingState):
18279         * LayoutReloaded/LayoutTree/Text.js:
18280         (Text.prototype.content):
18281         * LayoutReloaded/Utils.js:
18282         (Utils.textRuns):
18283         (Utils.textRunsForLine):
18284         (Utils._dumpLines.):
18285         (Utils._dumpLines):
18286         * LayoutReloaded/test/simple-inline-text.html:
18288 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
18290         https://bugs.webkit.org/show_bug.cgi?id=183876
18291         <rdar://problem/38726459>
18292         
18293         Unreviewed, fix for the test added in r229995 in the iOS simulator.
18295         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm:
18296         (TestWebKitAPI::AVFoundationPref::testWithPreference):
18298 2018-03-27  Jiewen Tan  <jiewen_tan@apple.com>
18300         [WebAuthN] Implement authenticatorGetAssertion
18301         https://bugs.webkit.org/show_bug.cgi?id=183881
18302         <rdar://problem/37258628>
18304         Reviewed by Brent Fulgham.
18306         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
18307         (TestWebKitAPI::getTestKey):
18308         (TestWebKitAPI::addTestKeyToKeychain):
18309         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
18310         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
18311         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::LAEvaluateAccessControlFailedSwizzler):
18312         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::evaluateAccessControlFailed):
18313         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::LAEvaluateAccessControlPassedSwizzler):
18314         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::evaluateAccessControlPassed):
18315         (TestWebKitAPI::TEST):
18317 2018-03-27  Brian Burg  <bburg@apple.com>
18319         REGRESSION(r229937): WebDriver tests no longer run, test runner hangs when launching wpt web server
18320         https://bugs.webkit.org/show_bug.cgi?id=184056
18321         <rdar://problem/38925058>
18323         Reviewed by Timothy Hatcher and Youenn Fablet.
18325         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
18326         (WebDriverW3CWebServer.start):
18327         The config key used in upstream WPT has changed from 'host' to 'browser_host'.
18329 2018-03-27  Timothy Hatcher  <timothy@hatcher.name>
18331         Update my email address in contributors.json and scripts
18332         https://bugs.webkit.org/show_bug.cgi?id=184054
18334         * Scripts/validate-committer-lists:
18335         (CommitterListFromGit):
18336         * Scripts/webkitpy/common/config/contributors.json:
18338 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
18340         Make AVFoundationEnabled preference available on iOS
18341         https://bugs.webkit.org/show_bug.cgi?id=183876
18342         <rdar://problem/38726459>
18344         Reviewed by Youenn Fablet.
18346         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18347         * TestWebKitAPI/Tests/WebKit/video.html: Added.
18348         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm: Added.
18349         (-[PreferenceTestMessageHandler userContentController:didReceiveScriptMessage:]):
18350         (TestWebKitAPI::AVFoundationPref::SetUp):
18351         (TestWebKitAPI::AVFoundationPref::testWithPreference):
18352         (TestWebKitAPI::TEST_F):
18354 2018-03-26  Brent Fulgham  <bfulgham@apple.com>
18356         Warn against cookie access in the WebContent process using ProcessPrivilege assertions
18357         https://bugs.webkit.org/show_bug.cgi?id=183911
18358         <rdar://problem/38762306>
18360         Reviewed by Youenn Fablet.
18362         Add a set of ProcessPrivilege assertions to enforce the rule that the WebContent process
18363         should never call Cookie API directly. That should only happen in the Networking or
18364         UIProcess. 
18366         * DumpRenderTree/mac/DumpRenderTree.mm:
18367         (DumpRenderTreeMain):
18368         * TestWebKitAPI/TestsController.cpp:
18369         (TestWebKitAPI::TestsController::TestsController):
18370         * WebKitTestRunner/TestController.cpp:
18371         (WTR::TestController::initialize):
18373 2018-03-26  Zalan Bujtas  <zalan@apple.com>
18375         [LayoutReloaded] Add InlineText DOM interface and dependencies
18376         https://bugs.webkit.org/show_bug.cgi?id=184010
18378         Reviewed by Antti Koivisto.
18380         to help inline text layout.
18382         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
18384 2018-03-25  Carlos Garcia Campos  <cgarcia@igalia.com>
18386         [GTK][WPE] Add API to convert between DOM and JSCValue
18387         https://bugs.webkit.org/show_bug.cgi?id=183448
18389         Reviewed by Michael Catanzaro.
18391         Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the
18392         ones that test the deprecated API.
18394         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added.
18395         (DOMElementTest::create):
18396         (DOMElementTest::testAutoFill):
18397         (registerTests):
18398         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added.
18399         (WebKitWebEditorTest::create):
18400         (WebKitWebEditorTest::selectionChangedCallback):
18401         (WebKitWebEditorTest::testSelectionchanged):
18402         (registerTests):
18403         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
18404         (WebKitFrameTest::testJavaScriptValues):
18405         (registerTests):
18406         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h.
18407         (testWebKitDOMElementAutoFill):
18408         (beforeAll):
18409         (afterAll):
18410         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp.
18411         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
18412         (testWebKitFrameJavaScriptValues):
18413         (beforeAll):
18414         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
18415         (inputElementIsUserEdited):
18416         (testWebExtensionInputElementIsUserEdited):
18417         (testWebExtensionFormSubmissionSteps):
18418         (beforeAll):
18419         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
18420         (documentLoadedCallback):
18421         (serializeNode):
18422         (contextMenuCallback):
18423         (consoleMessageSentCallback):
18424         (formControlsAssociatedCallback):
18425         (willSubmitFormCallback):
18426         (pageCreatedCallback):
18427         (methodCallCallback):
18428         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
18429         (checkLeaks):
18430         (webProcessTestRunnerFinalize):
18431         (checkLeaksAtExit):
18432         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
18433         (AutocleanupsTest::testWebProcessAutocleanups):
18434         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
18435         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
18436         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
18437         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
18438         * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed.
18439         * TestWebKitAPI/glib/CMakeLists.txt:
18440         * TestWebKitAPI/glib/PlatformGTK.cmake:
18441         * TestWebKitAPI/glib/PlatformWPE.cmake:
18443 2018-03-24  Jonathan Bedard  <jbedard@apple.com>
18445         webkitpy: Unrecognized mac versions always use WebKitTestRunner
18446         https://bugs.webkit.org/show_bug.cgi?id=183681
18447         <rdar://problem/38509162>
18449         Reviewed by Daniel Bates.
18451         When an unrecognized version is used, we were unconditionally adding '-wk2'
18452         to the mac version name. This would mean that the port object would always
18453         use WebKitTestRunner as the driver, even if DumpRenderTree was explicitly
18454         requested.
18456         * Scripts/webkitpy/port/apple.py:
18457         (ApplePort.determine_full_port_name): Only add wk2 to port names if
18458         WebKitTestRunner is specified.
18459         * Scripts/webkitpy/port/mac.py:
18460         (MacPort.__init__): Compare length of split string, and do not treat wk2 as a
18461         version name.
18462         * Scripts/webkitpy/port/mac_unittest.py:
18463         (MacTest):
18464         (MacTest.test_factory_with_future_version): Confirm that future versions correctly
18465         assign the driver and have undefined version names.
18466         (MacTest.test_factory_with_portname_version): Confirm that general versions correctly assign
18467         the driver and have defined versions.
18468         (MacTest.test_factory_with_portname_wk2): Ensure that mac ports ending in 'wk2' set
18469         the driver to be WebKitTestRunner even if webkit_test_runner=False.
18471 2018-03-23  Zan Dobersek  <zdobersek@igalia.com>
18473         Fix the run-benchmark script, properly specifying the plan directory
18474         where the Skipped file is located.
18476         Rubber-stamped by Carlos Alberto Lopez Perez.
18478         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
18479         (start):
18481 2018-03-23  Tim Horton  <timothy_horton@apple.com>
18483         Fix the build with no pasteboard
18484         https://bugs.webkit.org/show_bug.cgi?id=183973
18486         Reviewed by Dan Bernstein.
18488         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18490 2018-03-23  Youenn Fablet  <youenn@apple.com>
18492         Update WPT tools to a1ec330
18493         https://bugs.webkit.org/show_bug.cgi?id=183934
18495         Reviewed by Chris Dumez.
18497         Update script to run WPT server  according updated WPT tools.
18499         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
18500         (main):
18501         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
18502         (base_http_url):
18503         (base_https_url):
18505 2018-03-23  Sihui Liu  <sihui_liu@apple.com>
18507         Local storage getItem() for an empty string returned UNDEFINED value.
18508         https://bugs.webkit.org/show_bug.cgi?id=69138
18509         <rdar://problem/13410974>
18511         Reviewed by Brady Eidson.
18513         Add API test coverage.
18515         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18516         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
18517         (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
18518         (TEST):
18519         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
18521 2018-03-23  Chris Dumez  <cdumez@apple.com>
18523         Promptly terminate service worker processes when they are no longer needed
18524         https://bugs.webkit.org/show_bug.cgi?id=183873
18525         <rdar://problem/38676995>
18527         Reviewed by Youenn Fablet.
18529         Add API test coverage.
18531         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
18533 2018-03-23  Brady Eidson  <beidson@apple.com>
18535         Go to back/forward list items after a process-swapped navigation.
18536         <rdar://problem/38690544> and https://bugs.webkit.org/show_bug.cgi?id=183920
18538         Reviewed by Andy Estes.
18540         Add a new API test that does some process-swapping navigations (including a back navigation)
18541         and verifies the state of the engine afterwards.
18543         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
18544         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
18545         (-[PSONScheme initWithBytes:]):
18546         (-[PSONScheme webView:startURLSchemeTask:]):
18547         (log):
18548         (function):
18549         (TEST): Deleted.
18551 2018-03-23  Brendan McLoughlin  <brendan@bocoup.com>
18553         Lint web-platform-tests changes with the wpt linter before exporting
18554         https://bugs.webkit.org/show_bug.cgi?id=183796
18556         Reviewed by Youenn Fablet.
18558         * Scripts/webkitpy/w3c/test_exporter.py:
18559         (TestExporter.__init__):
18560         (TestExporter.do_export):
18561         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
18562         (TestExporterTest.MockWPTLinter):
18563         (TestExporterTest.MockWPTLinter.__init__):
18564         (TestExporterTest.MockWPTLinter.lint):
18565         (TestExporterTest.test_export):
18566         (TestExporterTest.test_export_with_specific_branch):
18567         * Scripts/webkitpy/w3c/wpt_linter.py: Added.
18568         (WPTLinter):
18569         (WPTLinter.__init__):
18570         (WPTLinter.lint):
18572 2018-03-23  David Kilzer  <ddkilzer@apple.com>
18574         Stop using dispatch_set_target_queue()
18575         <https://webkit.org/b/183908>
18576         <rdar://problem/33553533>
18578         Reviewed by Daniel Bates.
18580         * Scripts/webkitpy/style/checkers/cpp.py:
18581         (check_language): Add check for use of
18582         dispatch_set_target_queue().
18583         (CppChecker): Add 'runtime/dispatch_set_target_queue' category.
18584         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
18585         (CppStyleTest): Add test.
18587 2018-03-23  Youenn Fablet  <youenn@apple.com>
18589         Allow fully whitelisted plug-ins to match non HTTP URLs
18590         https://bugs.webkit.org/show_bug.cgi?id=183938
18591         rdar://problem/38534312
18593         Reviewed by Chris Dumez.
18595         * TestWebKitAPI/Tests/WebCore/URL.cpp:
18596         (TestWebKitAPI::TEST_F):
18598 2018-03-23  JF Bastien  <jfbastien@apple.com>
18600         dump-class-layout is just wrong
18601         https://bugs.webkit.org/show_bug.cgi?id=183939
18603         Reviewed by Yusuke Suzuki.
18605         Looks like r229291 contained a half-renamed variable in it, so it
18606         just doesn't work.
18608         * Scripts/dump-class-layout:
18609         (verify_type):
18610         (verify_type_recursive):
18612 2018-03-23  Carlos Garcia Campos  <cgarcia@igalia.com>
18614         Unreviewed. Run JSC GLib API tests in GTK+ and WPE bots.
18616         The test runners were still considering the JSC tests as google tests, but they are now GLib tests.
18618         * Scripts/run-gtk-tests:
18619         (GtkTestRunner.is_glib_test):
18620         (GtkTestRunner.is_google_test):
18621         * Scripts/run-wpe-tests:
18622         (WPETestRunner.is_glib_test):
18623         (WPETestRunner.is_google_test):
18625 2018-03-22  Daniel Bates  <dabates@apple.com>
18627         Expose SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest() as WebKit SPI
18628         https://bugs.webkit.org/show_bug.cgi?id=183907
18629         <rdar://problem/38759127>
18631         Reviewed by Alex Christensen.
18633         Adds unit tests for the modern Objective-C and C SPI to ensure we do not regress it.
18635         We use the deprecated -[WKBrowsingContextController registerSchemeForCustomProtocol:]
18636         in both the modern Objective-C API and C API tests to share code. Once we no longer
18637         need to support the C API we should remove the tests and transition the modern Objective-
18638         C tests to use -[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:].
18640         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
18641         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: Added.
18642         (+[EchoURLProtocol canInitWithRequest:]):
18643         (+[EchoURLProtocol canonicalRequestForRequest:]):
18644         (+[EchoURLProtocol requestIsCacheEquivalent:toRequest:]):
18645         (-[EchoURLProtocol startLoading]):
18646         (-[EchoURLProtocol stopLoading]):
18647         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextController:didFailProvisionalLoadWithError:]):
18648         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextControllerDidFinishLoad:]):
18649         (TestWebKitAPI::TEST):
18651 2018-03-22  Adrian Perez de Castro  <aperez@igalia.com>
18653         [WPE] Enable WOFF2 support
18654         https://bugs.webkit.org/show_bug.cgi?id=178158
18656         Reviewed by Frédéric Wang.
18658         * wpe/jhbuild.modules: Add "brotli" and "woff2" to the JHBuild moduleset.
18660 2018-03-22  Brendan McLoughlin  <brendan@bocoup.com>
18662         Do not export web-platform-test files generated by the wpt importer to assist the webkit test runner
18663         https://bugs.webkit.org/show_bug.cgi?id=183916
18665         Reviewed by Youenn Fablet.
18667         * Scripts/webkitpy/w3c/test_exporter.py:
18668         (TestExporter.create_branch_with_patch):
18669         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
18670         (TestExporterTest.test_export):
18671         (TestExporterTest.test_export_with_specific_branch):
18673 2018-03-22  Tim Horton  <timothy_horton@apple.com>
18675         Improve readability of WebCore's OTHER_LDFLAGS
18676         https://bugs.webkit.org/show_bug.cgi?id=183909
18677         <rdar://problem/38760992>
18679         Reviewed by Dan Bernstein.
18681         * TestWebKitAPI/Configurations/Base.xcconfig:
18682         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18684 2018-03-21  Fujii Hironori  <Hironori.Fujii@sony.com>
18686         Unreviewed. Marked myself as a committer.
18688         * Scripts/webkitpy/common/config/contributors.json:
18690 2018-03-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
18692         Unreviewed, make the email address of Yoshiaki Jitsukawa all lower case.
18694         * Scripts/webkitpy/common/config/contributors.json:
18696 2018-03-21  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
18698         Unreviewed, add myself as a WebKit committer.
18700         * Scripts/webkitpy/common/config/contributors.json:
18702 2018-03-21  Chris Dumez  <cdumez@apple.com>
18704         ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash API test is failing with async delegates
18705         https://bugs.webkit.org/show_bug.cgi?id=183787
18707         Reviewed by Wenson Hsieh.
18709         Add API test coverage.
18711         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
18712         (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
18713         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationAction:decisionHandler:]):
18714         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationResponse:decisionHandler:]):
18715         (-[AsyncPolicyDelegateForInsetTest webViewWebContentProcessDidTerminate:]):
18716         (TestWebKitAPI::TEST):
18718 2018-03-21  Chris Dumez  <cdumez@apple.com>
18720         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
18721         https://bugs.webkit.org/show_bug.cgi?id=183858
18723         Reviewed by Wenson Hsieh.
18725         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
18726         instead of loadTestPageNamed because injecting script.
18728         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
18729         (TestWebKitAPI::TEST):
18731 2018-03-21  Zalan Bujtas  <zalan@apple.com>
18733         [LayoutReloaded] Enable formatting state for InlineFormattingContext
18734         https://bugs.webkit.org/show_bug.cgi?id=183853
18736         Reviewed by Antti Koivisto.
18738         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
18739         (BlockFormattingContext.prototype._contentHeight):
18740         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18741         (InlineFormattingContext):
18742         (InlineFormattingContext.prototype.layout):
18743         (InlineFormattingContext.prototype._createNewLine):
18744         * LayoutReloaded/LayoutState.js:
18745         (LayoutState.prototype.formattingState):
18746         * LayoutReloaded/README.md:
18747         * LayoutReloaded/Utils.js:
18748         (Utils._dumpTree):
18749         * LayoutReloaded/test/index.html:
18750         * LayoutReloaded/test/simple-inline-text.html: Added.
18752 2018-03-21  Zalan Bujtas  <zalan@apple.com>
18754         [LayoutReloaded] Move inline lines to InlineFormattingState.
18755         https://bugs.webkit.org/show_bug.cgi?id=183814
18757         Reviewed by Antti Koivisto.
18759         InlineFormattingContext is not supposed to hold state.
18761         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18762         (InlineFormattingContext):
18763         (InlineFormattingContext.prototype._commitLine):
18764         (InlineFormattingContext.prototype._createNewLine):
18765         (InlineFormattingContext.prototype.lines): Deleted.
18766         (InlineFormattingContext.prototype._initializeLine): Deleted.
18767         * LayoutReloaded/FormattingState/InlineFormattingState.js:
18768         (InlineFormattingState):
18769         (InlineFormattingState.prototype.lines):
18770         (InlineFormattingState.prototype.appendLine):
18772 2018-03-21  Ms2ger  <Ms2ger@igalia.com>
18774         [WPE] Disable most of TestWebKitFaviconDatabase.
18775         https://bugs.webkit.org/show_bug.cgi?id=183813
18777         Unreviewed test gardening.
18779         The relevant APIs were mostly removed in r223953, making this test
18780         time out consistently.
18782         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
18784 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
18786         [GTK][WPE] JSC bindings not introspectable
18787         https://bugs.webkit.org/show_bug.cgi?id=136989
18789         Reviewed by Michael Catanzaro.
18791         Use the new API instead of the deprecated one.
18793         * MiniBrowser/gtk/main.c:
18794         (aboutDataScriptMessageReceivedCallback):
18795         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
18796         (WebKitFrameTest::testJavaScriptContext):
18797         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
18798         (testWebViewRunJavaScript):
18799         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
18800         (consoleMessageSentCallback):
18801         (echoCallback):
18802         (windowObjectCleared):
18803         (methodCallCallback):
18804         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
18805         (runTest):
18806         (webProcessTestRunnerFinalize):
18807         (windowObjectClearedCallback):
18808         * TestWebKitAPI/glib/PlatformGTK.cmake:
18809         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
18810         (WebViewTest::javascriptResultToCString):
18811         (WebViewTest::javascriptResultToNumber):
18812         (WebViewTest::javascriptResultToBoolean):
18813         (WebViewTest::javascriptResultIsNull):
18814         (WebViewTest::javascriptResultIsUndefined):
18816 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
18818         [GTK][WPE] Initial implementation of JavaScriptCore glib bindings
18819         https://bugs.webkit.org/show_bug.cgi?id=164061
18821         Reviewed by Michael Catanzaro.
18823         Add unit tests for the new API and generate the API documentation with generate-gtkdoc.
18825         * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers.
18826         * TestWebKitAPI/PlatformGTK.cmake:
18827         * TestWebKitAPI/PlatformWPE.cmake:
18828         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added.
18829         (LeakChecker::~LeakChecker):
18830         (LeakChecker::watch):
18831         (ExceptionHandler::ExceptionHandler):
18832         (ExceptionHandler::~ExceptionHandler):
18833         (ExceptionHandler::push):
18834         (ExceptionHandler::pop):
18835         (jscContextGarbageCollect):
18836         (testJSCBasic):
18837         (testJSCTypes):
18838         (foo):
18839         (callback):
18840         (doubleAndSetInResult):
18841         (sumFunction):
18842         (testJSCFunction):
18843         (testJSCObject):
18844         (fooCreate):
18845         (fooCreateWithFoo):
18846         (fooFree):
18847         (setFoo):
18848         (getFoo):
18849         (setSibling):
18850         (getSibling):
18851         (multiplyFoo):
18852         (getMultiplyFoo):
18853         (getMultiplyFooAsync):
18854         (bazCreate):
18855         (testJSCClass):
18856         (barCreate):
18857         (barFree):
18858         (setBar):
18859         (getBar):
18860         (testJSCPrototypes):
18861         (createError):
18862         (testJSCExceptions):
18863         (testJSCPromises):
18864         (fooFreeAndLog):
18865         (testJSCGarbageCollector):
18866         (testsJSCVirtualMachine):
18867         (testsJSCAutocleanups):
18868         (main):
18869         * gtk/generate-gtkdoc:
18870         (get_generator_for_config):
18872 2018-03-20  Tim Horton  <timothy_horton@apple.com>
18874         Enable the minimal simulator feature flag when appropriate
18875         https://bugs.webkit.org/show_bug.cgi?id=183807
18877         Reviewed by Dan Bernstein.
18879         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
18881 2018-03-20  Zalan Bujtas  <zalan@apple.com>
18883         [LayoutReloaded] Disconnect Display.Box from Layout.Box
18884         https://bugs.webkit.org/show_bug.cgi?id=183805
18886         Reviewed by Antti Koivisto.
18888         Display.Box is only accessed through the FormattingState.
18890         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
18891         (BlockFormattingContext):
18892         (BlockFormattingContext.prototype.layout):
18893         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
18894         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
18895         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
18896         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
18897         * LayoutReloaded/FormattingContext/FormattingContext.js:
18898         (FormattingContext):
18899         (FormattingContext.prototype.formattingRoot):
18900         (FormattingContext.prototype.formattingState):
18901         (FormattingContext.prototype.layoutState):
18902         (FormattingContext.prototype._toAbsolutePosition):
18903         (FormattingContext.prototype._toRootAbsolutePosition):
18904         (FormattingContext.prototype._addToLayoutQueue):
18905         (FormattingContext.prototype.displayBox):
18906         (FormattingContext.prototype._outOfFlowDescendants):
18907         (FormattingContext.prototype.rootContainer): Deleted.
18908         (FormattingContext.prototype.layoutContext): Deleted.
18909         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
18910         (InlineFormattingContext):
18911         (InlineFormattingContext.prototype.layout):
18912         (InlineFormattingContext.prototype._initializeLine):
18913         * LayoutReloaded/FormattingState/BlockFormattingState.js:
18914         (BlockFormattingState):
18915         * LayoutReloaded/FormattingState/FormattingState.js:
18916         (FormattingState):
18917         (FormattingState.prototype.formattingRoot):
18918         (FormattingState.prototype.layoutState):
18919         (FormattingState.prototype.createDisplayBox):
18920         (FormattingState.prototype.displayBoxMap):
18921         (FormattingState.prototype.displayBox):
18922         (FormattingState.prototype.layoutContext): Deleted.
18923         * LayoutReloaded/FormattingState/InlineFormattingState.js:
18924         (InlineFormattingState):
18925         * LayoutReloaded/Layout.js:
18926         (layout):
18927         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
18928         * LayoutReloaded/LayoutState.js: Renamed from Tools/LayoutReloaded/LayoutContext.js.
18929         (LayoutState):
18930         (LayoutState.prototype.layout):
18931         (LayoutState.prototype._createFormattingState):
18932         (LayoutState.prototype.formattingStates):
18933         (LayoutState.prototype.initialDisplayBox):
18934         * LayoutReloaded/LayoutTree/Box.js:
18935         (Layout.Box.prototype.isOutOfFlowPositioned):
18936         (Layout.Box.prototype.containingBlock):
18937         (Layout.Box.prototype.setDisplayBox): Deleted.
18938         (Layout.Box.prototype.displayBox): Deleted.
18939         * LayoutReloaded/Utils.js:
18940         (Utils.layoutTreeDump):
18941         (Utils._findDisplayBox):
18942         (Utils._dumpBox):
18943         (Utils._dumpTree):
18944         * LayoutReloaded/misc/headers/BlockFormattingContext.h:
18945         * LayoutReloaded/misc/headers/FormattingContext.h:
18946         * LayoutReloaded/misc/headers/LayoutContext.h:
18947         * LayoutReloaded/test/index.html:
18949 2018-03-19  Ryosuke Niwa  <rniwa@webkit.org>
18951         Expose content attributes on _WKLinkIconParameters
18952         https://bugs.webkit.org/show_bug.cgi?id=183768
18954         Reviewed by Alex Christensen.
18956         Expanded the basic test case for _WKLinkIconParameters's properties including newly added "attributes".
18958         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
18959         (IconLoading.DefaultFavicon):
18961 2018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
18963         Add AssistedNodeInformation plumbing for form control placeholder text and label text
18964         https://bugs.webkit.org/show_bug.cgi?id=183802
18965         <rdar://problem/38686273>
18967         Reviewed by Tim Horton.
18969         Adds a new API test to exercise new placeholder and label SPI on _WKFocusedFormElement.
18971         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
18972         (-[InputDelegate _webView:focusShouldStartInputSession:]):
18973         (-[InputDelegate shouldStartInputSessionHandler]):
18974         (-[InputDelegate setShouldStartInputSessionHandler:]):
18975         (TEST):
18976         (-[FormSubmissionDelegate webView:startURLSchemeTask:]): Deleted.
18977         (-[FormSubmissionDelegate webView:stopURLSchemeTask:]): Deleted.
18978         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]): Deleted.
18980 2018-03-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
18982         [WinCairo] Fix to run-webkit-httpd from native Windows.
18983         https://bugs.webkit.org/show_bug.cgi?id=183605
18985         Reviewed by Daniel Bates.
18987         This fix is to run Apache HTTP server from native Windows. The environment is different
18988         from cygwin, which is used for AppleWin, in following points:
18989         - A temporary file behaves differently. It cannot reopen by anybody when indicated as 
18990           delete on close. To solve this situation, filesystem.mkdtemp() is used instead.
18991         - It's not unix so that `tail` command is not available. Replaced with python equivalent
18992           function.
18994         * Scripts/webkitpy/common/system/filesystem.py:
18995         (FileSystem.mkdtemp.TemporaryDirectory.__init__):
18996         (FileSystem.mkdtemp.TemporaryDirectory.__exit__): The existing contents would be deleted.
18997         (FileSystem.mkdtemp):
18998         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
18999         (parse_args):
19000         (run_server):
19001         (run_server_with_log_file):
19002         (follow_file):
19004 2018-03-20  Brady Eidson  <beidson@apple.com>
19006         First piece of process swapping on navigation.
19007         https://bugs.webkit.org/show_bug.cgi?id=183665
19009         Reviewed by Andy Estes.
19011         Expose the "swaps processes on navigation" setting in MiniBrowser UI for testing:
19013         * MiniBrowser/mac/AppDelegate.m:
19014         (defaultConfiguration):
19015         * MiniBrowser/mac/SettingsController.h:
19016         * MiniBrowser/mac/SettingsController.m:
19017         (-[SettingsController _populateMenu]):
19018         (-[SettingsController validateMenuItem:]):
19019         (-[SettingsController processSwapOnNavigationEnabled]):
19020         (-[SettingsController toggleProcessSwapOnNavigation:]):
19022         Makes sure the current behavior is tested:
19023         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19024         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Added.
19025         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
19026         (-[PSONScheme webView:startURLSchemeTask:]):
19027         (-[PSONScheme webView:stopURLSchemeTask:]):
19028         (TEST):
19030 2018-03-20  Chris Dumez  <cdumez@apple.com>
19032         QuickLook.NavigationDelegate API test is failing on iOS with async policy delegates
19033         https://bugs.webkit.org/show_bug.cgi?id=183791
19035         Reviewed by Alex Christensen.
19037         Add API test coverage.
19039         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
19040         (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
19041         (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
19042         (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
19043         (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]):
19044         (TEST):
19046 2018-03-20  Tim Horton  <timothy_horton@apple.com>
19048         Add and adopt WK_PLATFORM_NAME and adjust default feature defines
19049         https://bugs.webkit.org/show_bug.cgi?id=183758
19050         <rdar://problem/38017644>
19052         Reviewed by Dan Bernstein.
19054         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
19056 2018-03-20  Chris Dumez  <cdumez@apple.com>
19058         Unreviewed, rolling out r229726 and r229763.
19060         Caused some API test failures on iOS
19062         Reverted changesets:
19064         "Make policy decisions asynchronous"
19065         https://bugs.webkit.org/show_bug.cgi?id=180568
19066         https://trac.webkit.org/changeset/229726
19068         "Rebaseline three webarchive tests for WK2 after r229726."
19069         https://bugs.webkit.org/show_bug.cgi?id=180568
19070         https://trac.webkit.org/changeset/229763
19072 2018-03-20  Zalan Bujtas  <zalan@apple.com>
19074         [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
19075         https://bugs.webkit.org/show_bug.cgi?id=183779
19077         Reviewed by Antti Koivisto.
19079         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19080         (BlockFormattingContext.prototype._computeStaticPosition):
19081         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
19082         (BlockFormattingContext.prototype._computeFloatingWidth):
19083         (BlockFormattingContext.prototype._computeInFlowWidth):
19084         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
19085         (BlockFormattingContext.prototype._computeFloatingHeight):
19086         (BlockFormattingContext.prototype._computeInFlowHeight):
19087         (BlockFormattingContext.prototype._horizontalConstraint):
19088         (BlockFormattingContext.prototype._contentHeight):
19089         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
19090         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
19091         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19092         * LayoutReloaded/FormattingContext/FloatingContext.js:
19093         (FloatingContext.prototype.computePosition):
19094         (FloatingContext.prototype._positionForClear):
19095         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
19096         (FloatingContext.prototype._availableSpace):
19097         (FloatingContext.prototype._adjustedFloatingPosition):
19098         * LayoutReloaded/FormattingContext/FormattingContext.js:
19099         (FormattingContext):
19100         (FormattingContext.prototype.absoluteMarginBox):
19101         (FormattingContext.prototype.absoluteBorderBox):
19102         (FormattingContext.prototype.absolutePaddingBox):
19103         (FormattingContext.prototype.absoluteContentBox):
19104         (FormattingContext.prototype._toAbsolutePosition):
19105         (FormattingContext.prototype._toRootAbsolutePosition):
19106         (FormattingContext.prototype._addToLayoutQueue):
19107         (FormattingContext.prototype.displayBox):
19108         (FormattingContext.prototype._createDisplayBox): Deleted.
19109         (FormattingContext.prototype.toDisplayBox): Deleted.
19110         (FormattingContext.prototype.toLayoutBox): Deleted.
19111         * LayoutReloaded/FormattingState/FormattingState.js:
19112         (FormattingState):
19113         (FormattingState.prototype.createDisplayBox):
19114         (FormattingState.prototype.displayBox):
19116 2018-03-20  Zalan Bujtas  <zalan@apple.com>
19118         [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
19119         https://bugs.webkit.org/show_bug.cgi?id=183777
19121         Reviewed by Antti Koivisto.
19123         This is in preparation for moving out states from the formatting contexts.
19125         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19126         (BlockFormattingContext):
19127         * LayoutReloaded/FormattingContext/FormattingContext.js:
19128         (FormattingContext):
19129         (FormattingContext.prototype.layoutState):
19130         (FormattingContext.prototype.layoutContext):
19131         (FormattingContext.prototype.layout):
19132         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
19133         (InlineFormattingContext):
19134         * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
19135         (BlockFormattingState):
19136         * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
19137         (FormattingState):
19138         (FormattingState.prototype.formattingContext):
19139         (FormattingState.prototype.layoutContext):
19140         (FormattingState.prototype._setFormattingContext):
19141         * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
19142         (InlineFormattingState):
19143         * LayoutReloaded/LayoutContext.js:
19144         (LayoutContext):
19145         (LayoutContext.prototype.layout):
19146         (LayoutContext.prototype._createFormattingState):
19147         (LayoutContext.prototype._createFormattingContext): Deleted.
19148         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
19149         * LayoutReloaded/test/index.html:
19151 2018-03-19  Zalan Bujtas  <zalan@apple.com>
19153         [LayoutReloaded] Layout.Box should not create the formatting context.
19154         https://bugs.webkit.org/show_bug.cgi?id=183766
19156         Reviewed by Antti Koivisto.
19158         Since the formattingContext's lifetime is tied to the layout, the LayoutContext
19159         should construct it instead.
19161         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19162         (BlockFormattingContext):
19163         (BlockFormattingContext.prototype.layout):
19164         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
19165         (BlockFormattingContext.prototype._contentHeight):
19166         * LayoutReloaded/FormattingContext/FormattingContext.js:
19167         (FormattingContext):
19168         (FormattingContext.prototype.layoutContext):
19169         (FormattingContext.prototype.toDisplayBox):
19170         (FormattingContext.prototype._outOfFlowDescendants):
19171         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
19172         (InlineFormattingContext):
19173         (InlineFormattingContext.prototype.layout):
19174         * LayoutReloaded/Layout.js:
19175         (layout):
19176         * LayoutReloaded/LayoutContext.js:
19177         (LayoutContext.prototype.layout):
19178         (LayoutContext.prototype._createFormattingContext):
19179         (LayoutContext):
19180         (LayoutContext.prototype.layoutFormattingContext): Deleted.
19181         * LayoutReloaded/LayoutTree/Box.js:
19182         (Layout.Box):
19183         (Layout.Box.prototype.establishedFormattingContext): Deleted.
19184         * LayoutReloaded/misc/headers/Box.h:
19186 2018-03-19  Chris Dumez  <cdumez@apple.com>
19188         Have one service worker process per security origin
19189         https://bugs.webkit.org/show_bug.cgi?id=183600
19190         <rdar://problem/35280128>
19192         Reviewed by Brady Eidson.
19194         Add API test coverage.
19196         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
19198 2018-03-19  Zalan Bujtas  <zalan@apple.com>
19200         [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
19201         https://bugs.webkit.org/show_bug.cgi?id=183761
19203         Reviewed by Antti Koivisto.
19205         Display.Box has them.
19207         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19208         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
19209         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
19210         (BlockFormattingContext.prototype._horizontalConstraint):
19211         (BlockFormattingContext.prototype._contentHeight):
19212         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
19213         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19214         * LayoutReloaded/FormattingContext/FloatingContext.js:
19215         (FloatingContext.prototype._availableSpace):
19216         * LayoutReloaded/FormattingContext/FormattingContext.js:
19217         (FormattingContext.prototype.absoluteBorderBox):
19218         (FormattingContext.prototype.absolutePaddingBox):
19219         (FormattingContext.prototype.absoluteContentBox):
19220         * LayoutReloaded/LayoutTree/Box.js:
19221         (Layout.Box.prototype.isDescendantOf):
19222         (Layout.Box):
19223         (Layout.Box.prototype.borderBox): Deleted.
19224         (Layout.Box.prototype.paddingBox): Deleted.
19225         (Layout.Box.prototype.contentBox): Deleted.
19227 2018-03-19  Jiewen Tan  <jiewen_tan@apple.com>
19229         Unreviewed, another quick fix for r229699
19231         Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
19233         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
19234         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
19236 2018-03-19  Zalan Bujtas  <zalan@apple.com>
19238         [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
19239         https://bugs.webkit.org/show_bug.cgi?id=183750
19241         Reviewed by Antti Koivisto.
19243         * LayoutReloaded/DisplayTree/Box.js:
19244         (Display.Box.prototype.setTop):
19245         (Display.Box.prototype.paddingBox):
19246         (Display.Box.prototype.contentBox):
19247         (Display.Box):
19248         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19249         (BlockFormattingContext.prototype._computeStaticPosition):
19250         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
19251         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19252         * LayoutReloaded/FormattingContext/FormattingContext.js:
19253         (FormattingContext.prototype.absoluteMarginBox):
19254         (FormattingContext.prototype.absoluteBorderBox):
19255         (FormattingContext.prototype.absolutePaddingBox):
19256         (FormattingContext.prototype.absoluteContentBox):
19257         (FormattingContext.prototype._toAbsolutePosition):
19258         (FormattingContext.prototype._toRootAbsolutePosition):
19259         (FormattingContext.prototype.toDisplayBox):
19260         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
19261         (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
19262         (Layout.InitialBlockContainer):
19263         (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
19264         (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
19265         * LayoutReloaded/Utils.js:
19266         (Utils.isStaticallyPositioned):
19268 2018-03-19  Chris Dumez  <cdumez@apple.com>
19270         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
19271         https://bugs.webkit.org/show_bug.cgi?id=183702
19272         <rdar://problem/38566060>
19274         Reviewed by Alex Christensen.
19276         Add API test coverage.
19278         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
19279         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
19280         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
19281         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
19282         (TEST):
19284 2018-03-19  Daniel Bates  <dabates@apple.com>
19286         test-webkitpy no longer runs WebKit2 tests
19287         https://bugs.webkit.org/show_bug.cgi?id=183724
19289         Reviewed by Alexey Proskuryakov.
19291         The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
19293         * Scripts/webkitpy/test/main.py:
19294         (main):
19296 2018-03-19  Daniel Bates  <dabates@apple.com>
19298         Make run-webkit-app work for non-GUI apps
19299         https://bugs.webkit.org/show_bug.cgi?id=183701
19301         Reviewed by Lucas Forschler.
19303         Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
19304         and launch it using open(1) as we currently do.
19306         Note that open(1) is meant for launching GUI apps. Standard output and standard error are
19307         not sent to the tty when using open(1) to launch a non-GUI app.
19309         * Scripts/run-webkit-app: We make the assumption that 
19310         * Scripts/webkitdirs.pm:
19311             - Define and export constant DO_NOT_USE_OPEN_COMMAND.
19313 2018-03-19  Daniel Bates  <dabates@apple.com>
19315         run-webkit-app -g does not work
19316         https://bugs.webkit.org/show_bug.cgi?id=183699
19318         Reviewed by Lucas Forschler.
19320         Check for the optional command line argument -g/--guard-malloc before taking the
19321         first argument passed to be the path to the app to run.
19323         * Scripts/run-webkit-app:
19325 2018-03-18  Commit Queue  <commit-queue@webkit.org>
19327         Unreviewed, rolling out r229689.
19328         https://bugs.webkit.org/show_bug.cgi?id=183735
19330         Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
19331         unload-crash.html to fail with async delegates (Requested by
19332         cdumez_ on #webkit).
19334         Reverted changeset:
19336         "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
19337         async policy delegates"
19338         https://bugs.webkit.org/show_bug.cgi?id=183702
19339         https://trac.webkit.org/changeset/229689
19341 2018-03-18  Zalan Bujtas  <zalan@apple.com>
19343         [LayoutReloaded] Remove left/right width/height getters from Layout.Box
19344         https://bugs.webkit.org/show_bug.cgi?id=183734
19346         Reviewed by Antti Koivisto.
19348         ...and use Display.Box instead.
19350         * LayoutReloaded/DisplayTree/Box.js:
19351         (Display.Box.prototype.bottomRight):
19352         (Display.Box.prototype.size):
19353         (Display.Box.prototype.height):
19354         (Display.Box.prototype.width):
19355         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19356         (BlockFormattingContext.prototype._computeStaticPosition):
19357         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
19358         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
19359         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19360         * LayoutReloaded/FormattingContext/FloatingContext.js:
19361         (FloatingContext.prototype._positionForClear):
19362         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
19363         (FloatingContext.prototype._adjustedFloatingPosition):
19364         * LayoutReloaded/FormattingContext/FormattingContext.js:
19365         (FormattingContext.prototype.absoluteMarginBox):
19366         (FormattingContext.prototype.absoluteBorderBox):
19367         (FormattingContext.prototype.absolutePaddingBox):
19368         (FormattingContext.prototype.absoluteContentBox):
19369         (FormattingContext.prototype._toAbsolutePosition):
19370         (FormattingContext.prototype._toRootAbsolutePosition):
19371         * LayoutReloaded/LayoutTree/Box.js:
19372         (Layout.Box.prototype.rect): Deleted.
19373         (Layout.Box.prototype.topLeft): Deleted.
19374         (Layout.Box.prototype.bottomRight): Deleted.
19375         * LayoutReloaded/Utils.js:
19376         (Utils._dumpBox):
19377         (Utils.mapToContainer): Deleted.
19379 2018-03-18  Zalan Bujtas  <zalan@apple.com>
19381         [LayoutReloaded] Remove left/right width/height setters from Layout.Box
19382         https://bugs.webkit.org/show_bug.cgi?id=183731
19384         Reviewed by Antti Koivisto.
19386         ...and use Display.Box instead.
19388         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19389         (BlockFormattingContext.prototype._computeStaticPosition):
19390         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
19391         (BlockFormattingContext.prototype._computeFloatingWidth):
19392         (BlockFormattingContext.prototype._computeInFlowWidth):
19393         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
19394         (BlockFormattingContext.prototype._computeFloatingHeight):
19395         (BlockFormattingContext.prototype._computeInFlowHeight):
19396         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
19397         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19398         * LayoutReloaded/FormattingContext/FloatingContext.js:
19399         (FloatingContext.prototype.computePosition):
19400         * LayoutReloaded/FormattingContext/FormattingContext.js:
19401         (FormattingContext.prototype._toDisplayBox):
19402         (FormattingContext.prototype._toLayoutBox):
19403         * LayoutReloaded/Layout.js:
19404         (layout):
19405         * LayoutReloaded/LayoutTree/Box.js:
19406         (Layout.Box.prototype.setTopLeft): Deleted.
19407         (Layout.Box.prototype.setSize): Deleted.
19408         (Layout.Box.prototype.setWidth): Deleted.
19409         (Layout.Box.prototype.setHeight): Deleted.
19411 2018-03-18  Zalan Bujtas  <zalan@apple.com>
19413         [LayoutReloaded] Collect out-of-flow positioned boxes for a given formatting context.
19414         https://bugs.webkit.org/show_bug.cgi?id=183730
19416         Reviewed by Antti Koivisto.
19418         Collect and layout out-of-flow positioned boxes as the final step of the formatting context layout.
19420         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19421         (BlockFormattingContext.prototype.layout):
19422         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
19423         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
19424         (BlockFormattingContext.prototype._placePositionedDescendants): Deleted.
19425         (BlockFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
19426         * LayoutReloaded/FormattingContext/FormattingContext.js:
19427         (FormattingContext.prototype._toAbsolutePosition):
19428         (FormattingContext.prototype._outOfFlowDescendants):
19429         (FormattingContext):
19430         * LayoutReloaded/LayoutTree/Box.js:
19431         (Layout.Box.prototype.nextInFlowOrFloatSibling):
19432         (Layout.Box.prototype.isDescendantOf):
19433         * LayoutReloaded/LayoutTree/Container.js:
19434         (Layout.Container.prototype.firstInFlowOrFloatChild):
19435         (Layout.Container.prototype.hasInFlowOrFloatChild):
19436         (Layout.Container.prototype.outOfFlowDescendants):
19437         (Layout.Container):
19438         * LayoutReloaded/Utils.js:
19439         (Utils.isDescendantOf): Deleted.
19440         (Utils.collectOutOfFlowDescendants): Deleted.
19442 2018-03-17  Jiewen Tan  <jiewen_tan@apple.com>
19444         [WebAuthN] Implement authenticatorMakeCredential
19445         https://bugs.webkit.org/show_bug.cgi?id=183527
19446         <rdar://problem/35275886>
19448         Reviewed by Brent Fulgham.
19450         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19451         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added.
19452         (TestWebKitAPI::getTestKey):
19453         (TestWebKitAPI::cleanUpKeychain):
19454         (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler):
19455         (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy):
19456         (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler):
19457         (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy):
19458         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler):
19459         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
19460         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler):
19461         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
19462         (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag):
19463         (TestWebKitAPI::TEST):
19465 2018-03-17  Zalan Bujtas  <zalan@apple.com>
19467         [LayoutReloaded] BlockFormattingContext::placePositionedDescendants takes care of both in- and out-of-flow placement
19468         https://bugs.webkit.org/show_bug.cgi?id=183727
19470         Reviewed by Antti Koivisto.
19472         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19473         (BlockFormattingContext.prototype.layout):
19474         (BlockFormattingContext.prototype._placePositionedDescendants):
19475         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
19476         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
19477         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
19478         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Added.
19479         * LayoutReloaded/test/index.html:
19480         * LayoutReloaded/test/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
19482 2018-03-17  Zalan Bujtas  <zalan@apple.com>
19484         [LayoutReloaded] Ensure that positioning happens within the formatting context
19485         https://bugs.webkit.org/show_bug.cgi?id=183722
19487         Reviewed by Antti Koivisto.
19489         All sizing and positioning need to happen in the formatting context that the box lives in
19490         including the final position of in- and out-of-flow descendants.
19492         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19493         (BlockFormattingContext.prototype.layout):
19494         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
19495         * LayoutReloaded/LayoutTree/Box.js:
19496         (Layout.Box.prototype.establishesBlockFormattingContext):
19497         (Layout.Box.prototype.isPositioned):
19498         (Layout.Box.prototype.isRelativelyPositioned):
19499         (Layout.Box.prototype.isAbsolutelyPositioned):
19500         (Layout.Box.prototype.isOutOfFlowPositioned):
19501         (Layout.Box.prototype.containingBlock):
19502         (Layout.Box.prototype.isRelativePositioned): Deleted.
19503         (Layout.Box.prototype.isAbsolutePositioned): Deleted.
19504         * LayoutReloaded/Utils.js:
19505         (Utils.isRelativelyPositioned):
19506         (Utils.isAbsolutelyPositioned):
19507         (Utils.isRelativePositioned): Deleted.
19508         (Utils.isAbsolutePositioned): Deleted.
19509         * LayoutReloaded/misc/headers/Box.h:
19511 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
19513         Unreviewed, rolling out r229688.
19515         There's a solution that doesn't require this SPI.
19517         Reverted changeset:
19519         "Add SPI to expose width and height anchors for WKWebView's
19520         content view"
19521         https://bugs.webkit.org/show_bug.cgi?id=183711
19522         https://trac.webkit.org/changeset/229688
19524 2018-03-16  Zalan Bujtas  <zalan@apple.com>
19526         [LayoutReloaded] Move move functions to the base class from BlockFormattingContext
19527         https://bugs.webkit.org/show_bug.cgi?id=183719
19529         Reviewed by Antti Koivisto.
19531         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19532         (BlockFormattingContext):
19533         (BlockFormattingContext.prototype.layout):
19534         (BlockFormattingContext.prototype._shrinkToFitWidth):
19535         (BlockFormattingContext.prototype._toAbsolutePosition): Deleted.
19536         (BlockFormattingContext.prototype._needsLayout): Deleted.
19537         (BlockFormattingContext.prototype._addToLayoutQueue): Deleted.
19538         (BlockFormattingContext.prototype._nextInLayoutQueue): Deleted.
19539         (BlockFormattingContext.prototype._removeFromLayoutQueue): Deleted.
19540         (BlockFormattingContext.prototype._createDisplayBox): Deleted.
19541         (BlockFormattingContext.prototype._toDisplayBox): Deleted.
19542         (BlockFormattingContext.prototype._toLayoutBox): Deleted.
19543         * LayoutReloaded/FormattingContext/FormattingContext.js:
19544         (FormattingContext):
19545         (FormattingContext.prototype._toAbsolutePosition):
19546         (FormattingContext.prototype._descendantNeedsLayout):
19547         (FormattingContext.prototype._addToLayoutQueue):
19548         (FormattingContext.prototype._nextInLayoutQueue):
19549         (FormattingContext.prototype._removeFromLayoutQueue):
19550         (FormattingContext.prototype._createDisplayBox):
19551         (FormattingContext.prototype._toDisplayBox):
19552         (FormattingContext.prototype._toLayoutBox):
19553         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
19554         (InlineFormattingContext.prototype.layout):
19556 2018-03-16  Chris Dumez  <cdumez@apple.com>
19558         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
19559         https://bugs.webkit.org/show_bug.cgi?id=183702
19561         Reviewed by Alex Christensen.
19563         Add API test coverage.
19565         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
19566         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
19567         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
19568         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
19569         (TEST):
19571 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
19573         Add SPI to expose width and height anchors for WKWebView's content view
19574         https://bugs.webkit.org/show_bug.cgi?id=183711
19575         <rdar://problem/38562899>
19577         Reviewed by Tim Horton.
19579         Adds an API test exercising the new SPI.
19581         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
19582         (checkCGRect):
19583         (TEST):
19585 2018-03-16  Chris Dumez  <cdumez@apple.com>
19587         WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates
19588         https://bugs.webkit.org/show_bug.cgi?id=183679
19590         Reviewed by Alex Christensen.
19592         Add API test coverage.
19594         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
19595         (TestWebKitAPI::decidePolicyForNavigationAction):
19596         (TestWebKitAPI::decidePolicyForResponse):
19597         (TestWebKitAPI::TEST):
19599 2018-03-16  Zalan Bujtas  <zalan@apple.com>
19601         [LayoutReloaded] Introduce Display.Box
19602         https://bugs.webkit.org/show_bug.cgi?id=183700
19604         Reviewed by Antti Koivisto.
19606         Display.Box objects will end up in the display(box) tree. Currently
19607         they are just hanging off of the Layout.Box objects.
19609         * LayoutReloaded/DisplayTree/Box.js: Added.
19610         (Display.Box):
19611         (Display.Box.prototype.rect):
19612         (Display.Box.prototype.top):
19613         (Display.Box.prototype.left):
19614         (Display.Box.prototype.bottom):
19615         (Display.Box.prototype.right):
19616         (Display.Box.prototype.topLeft):
19617         (Display.Box.prototype.bottomRight):
19618         (Display.Box.prototype.setTopLeft):
19619         (Display.Box.prototype.setSize):
19620         (Display.Box.prototype.setWidth):
19621         (Display.Box.prototype.setHeight):
19622         (Display.Box.prototype.borderBox):
19623         (Display.Box.prototype.paddingBox):
19624         (Display.Box.prototype.contentBox):
19625         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19626         (BlockFormattingContext):
19627         (BlockFormattingContext.prototype.layout):
19628         (BlockFormattingContext.prototype._toAbsolutePosition):
19629         (BlockFormattingContext.prototype._needsLayout):
19630         (BlockFormattingContext.prototype._addToLayoutQueue):
19631         (BlockFormattingContext.prototype._nextInLayoutQueue):
19632         (BlockFormattingContext.prototype._removeFromLayoutQueue):
19633         (BlockFormattingContext.prototype._createDisplayBox):
19634         (BlockFormattingContext.prototype._toDisplayBox):
19635         (BlockFormattingContext.prototype._toLayoutBox):
19636         * LayoutReloaded/Layout.js:
19637         (layout):
19638         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
19639         * LayoutReloaded/LayoutTree/Box.js:
19640         (Layout.Box):
19641         (Layout.Box.prototype.setDisplayBox):
19642         (Layout.Box.prototype.displayBox):
19643         (Layout.Box.prototype.rect):
19644         (Layout.Box.prototype.setTopLeft):
19645         (Layout.Box.prototype.setSize):
19646         (Layout.Box.prototype.setWidth):
19647         (Layout.Box.prototype.setHeight):
19648         (Layout.Box.prototype.borderBox):
19649         (Layout.Box.prototype.paddingBox):
19650         (Layout.Box.prototype.contentBox):
19651         * LayoutReloaded/test/index.html:
19653 2018-03-16  Chris Dumez  <cdumez@apple.com>
19655         URLSchemeHandler.Basic API test fails with async policy delegates
19656         https://bugs.webkit.org/show_bug.cgi?id=183678
19658         Reviewed by Alex Christensen.
19660         Add API test coverage.
19662         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
19663         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
19664         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
19665         (TEST):
19667 2018-03-16  Zalan Bujtas  <zalan@apple.com>
19669         [LayoutReloaded] Utils.computed* functions should just take node instead of box.
19670         https://bugs.webkit.org/show_bug.cgi?id=183697
19672         Reviewed by Antti Koivisto.
19674         This is in preparation for introducing the display tree.
19676         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19677         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
19678         (BlockFormattingContext.prototype._computeFloatingWidth):
19679         (BlockFormattingContext.prototype._computeInFlowWidth):
19680         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
19681         (BlockFormattingContext.prototype._computeFloatingHeight):
19682         (BlockFormattingContext.prototype._computeInFlowHeight):
19683         (BlockFormattingContext.prototype._shrinkToFitWidth):
19684         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
19685         (BlockMarginCollapse._nonCollapsedMarginTop):
19686         (BlockMarginCollapse._nonCollapsedMarginBottom):
19687         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
19688         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
19689         * LayoutReloaded/FormattingContext/FormattingContext.js:
19690         (FormattingContext.prototype.marginTop):
19691         (FormattingContext.prototype.marginLeft):
19692         (FormattingContext.prototype.marginBottom):
19693         (FormattingContext.prototype.marginRight):
19694         * LayoutReloaded/LayoutTree/Box.js:
19695         (Layout.Box.prototype.paddingBox):
19696         (Layout.Box.prototype.contentBox):
19697         (Layout.Box):
19698         * LayoutReloaded/Utils.js:
19699         (Utils.computedMarginTop):
19700         (Utils.computedMarginLeft):
19701         (Utils.computedMarginBottom):
19702         (Utils.computedMarginRight):
19703         (Utils.computedBorderTopLeft):
19704         (Utils.computedBorderBottomRight):
19705         (Utils.computedPaddingTopLeft):
19706         (Utils.computedPaddingBottomRight):
19707         (Utils.computedBorderAndPaddingTop):
19708         (Utils.computedBorderAndPaddingLeft):
19709         (Utils.computedBorderAndPaddingBottom):
19710         (Utils.computedBorderAndPaddingRight):
19711         (Utils.computedHorizontalBorderAndPadding):
19712         (Utils.computedVerticalBorderAndPadding):
19713         (Utils.computedLineHeight):
19714         (Utils.hasClearLeft):
19715         (Utils.hasClearRight):
19716         (Utils.hasClearBoth):
19718 2018-03-15  Zalan Bujtas  <zalan@apple.com>
19720         [LayoutReloaded] Should never need to go beyond the root container when asking for the containing block.
19721         https://bugs.webkit.org/show_bug.cgi?id=183691
19723         Reviewed by Antti Koivisto.
19725         While laying out the boxes in a block formatting context, if we happen to need
19726         to get to the containing block of a box to compute geometry, it should always be a
19727         descendant of the root container (or the root container itself).
19728         Nothing outside of the formatting context should be able to impact the boxes inside.
19730         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19731         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19732         (BlockFormattingContext.prototype._toAbsolutePosition):
19733         (BlockFormattingContext):
19734         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
19735         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
19736         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
19737         * LayoutReloaded/LayoutTree/Box.js:
19738         (Layout.Box.prototype.isRootBox):
19739         (Layout.Box.prototype.isRootElement): Deleted.
19740         * LayoutReloaded/Utils.js:
19741         (Utils.isDescendantOf):
19742         (Utils.mapStaticToAbsolute): Deleted.
19743         * LayoutReloaded/misc/headers/Box.h:
19745 2018-03-15  Wenson Hsieh  <wenson_hsieh@apple.com>
19747         [iOS WK2] Hit-testing fails when specifying a large top content inset
19748         https://bugs.webkit.org/show_bug.cgi?id=183648
19749         <rdar://problem/38421894>
19751         Reviewed by Tim Horton.
19753         Adds four new API tests to verify that adding top or bottom content insets to the WKWebView's scroll view does
19754         not cause the DOMWindow's innerHeight to shrink. Currently, doing so would cause the innerHeight to be reported
19755         as (viewHeight - inset.top) or (viewHeight - inset.bottom).
19757         See WebKit ChangeLog for more details.
19759         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
19760         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: Added.
19761         (TestWebKitAPI::TEST):
19763 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
19765         Add unit-test for NetworkTransaction URLError handling
19766         https://bugs.webkit.org/show_bug.cgi?id=183664
19768         Reviewed by Alexey Proskuryakov.
19770         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
19771         (NetworkTransactionTest._raise_URLError): Method to raise URLError.
19772         (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
19773         (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
19775 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
19777         EWS should print the URL in logs on URLError
19778         https://bugs.webkit.org/show_bug.cgi?id=183651
19780         Reviewed by Alexey Proskuryakov.
19782         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
19783         (Bugzilla.open_url): Pass the url.
19784         * Scripts/webkitpy/common/net/networktransaction.py:
19785         (NetworkTransaction.run): Accept optional url parameter and print it on URLError.
19787 2018-03-15  Zalan Bujtas  <zalan@apple.com>
19789         [LayoutReloaded] Introduce Layout namespace
19790         https://bugs.webkit.org/show_bug.cgi?id=183659
19792         Reviewed by Antti Koivisto.
19794         This is in preparation for introducing the display tree.
19795         Box -> Layout.Box
19797         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19798         (BlockFormattingContext.prototype.layout):
19799         (BlockFormattingContext.prototype.computeWidth):
19800         (BlockFormattingContext.prototype.computeHeight):
19801         (BlockFormattingContext.prototype.marginTop):
19802         (BlockFormattingContext.prototype.marginBottom):
19803         (BlockFormattingContext.prototype._computeStaticPosition):
19804         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
19805         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
19806         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
19807         (BlockFormattingContext.prototype._computeFloatingWidth):
19808         (BlockFormattingContext.prototype._computeInFlowWidth):
19809         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
19810         (BlockFormattingContext.prototype._computeFloatingHeight):
19811         (BlockFormattingContext.prototype._computeInFlowHeight):
19812         (BlockFormattingContext.prototype._horizontalConstraint):
19813         (BlockFormattingContext.prototype._contentHeight):
19814         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
19815         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
19816         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
19817         (BlockFormattingContext.prototype._shrinkToFitWidth):
19818         (BlockFormattingContext):
19819         (BlockFormattingContext.prototype._computeHorizontalConstraint): Deleted.
19820         (BlockFormattingContext.prototype._computeContentHeight): Deleted.
19821         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
19822         (BlockMarginCollapse.marginTop):
19823         (BlockMarginCollapse.marginBottom):
19824         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
19825         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
19826         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
19827         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
19828         (BlockMarginCollapse._nonCollapsedMarginTop):
19829         (BlockMarginCollapse._nonCollapsedMarginBottom):
19830         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
19831         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
19832         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
19833         (BlockMarginCollapse):
19834         * LayoutReloaded/FormattingContext/FloatingContext.js:
19835         (FloatingContext.prototype.computePosition):
19836         (FloatingContext.prototype._positionForClear):
19837         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
19838         * LayoutReloaded/FormattingContext/FormattingContext.js:
19839         (FormattingContext.prototype.computeWidth):
19840         (FormattingContext.prototype.computeHeight):
19841         (FormattingContext.prototype.marginTop):
19842         (FormattingContext.prototype.marginLeft):
19843         (FormattingContext.prototype.marginBottom):
19844         (FormattingContext.prototype.marginRight):
19845         (FormattingContext.prototype.absoluteMarginBox):
19846         (FormattingContext.prototype.absoluteBorderBox):
19847         (FormattingContext.prototype.absolutePaddingBox):
19848         (FormattingContext.prototype.absoluteContentBox):
19849         (FormattingContext):
19850         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
19851         (InlineFormattingContext.prototype.layout):
19852         * LayoutReloaded/LayoutTree/BlockContainer.js:
19853         (BlockContainer): Deleted.
19854         (BlockContainer.prototype.establishesInlineFormattingContext): Deleted.
19855         * LayoutReloaded/LayoutTree/Box.js:
19856         (Box): Deleted.
19857         (Box.prototype.id): Deleted.
19858         (Box.prototype.setRendererName): Deleted.
19859         (Box.prototype.name): Deleted.
19860         (Box.prototype.node): Deleted.
19861         (Box.prototype.parent): Deleted.
19862         (Box.prototype.nextSibling): Deleted.
19863         (Box.prototype.nextInFlowSibling): Deleted.
19864         (Box.prototype.previousSibling): Deleted.
19865         (Box.prototype.previousInFlowSibling): Deleted.
19866         (Box.prototype.setParent): Deleted.
19867         (Box.prototype.setNextSibling): Deleted.
19868         (Box.prototype.setPreviousSibling): Deleted.
19869         (Box.prototype.rect): Deleted.
19870         (Box.prototype.topLeft): Deleted.
19871         (Box.prototype.bottomRight): Deleted.
19872         (Box.prototype.setTopLeft): Deleted.
19873         (Box.prototype.setSize): Deleted.
19874         (Box.prototype.setWidth): Deleted.
19875         (Box.prototype.setHeight): Deleted.
19876         (Box.prototype.isContainer): Deleted.
19877         (Box.prototype.isBlockLevelBox): Deleted.
19878         (Box.prototype.isBlockContainerBox): Deleted.
19879         (Box.prototype.isInlineLevelBox): Deleted.
19880         (Box.prototype.setIsAnonymous): Deleted.
19881         (Box.prototype.isAnonymous): Deleted.
19882         (Box.prototype.establishesFormattingContext): Deleted.
19883         (Box.prototype.establishedFormattingContext): Deleted.
19884         (Box.prototype.establishesBlockFormattingContext): Deleted.
19885         (Box.prototype.establishesInlineFormattingContext): Deleted.
19886         (Box.prototype.isPositioned): Deleted.
19887         (Box.prototype.isRelativePositioned): Deleted.
19888         (Box.prototype.isAbsolutePositioned): Deleted.
19889         (Box.prototype.isFixedPositioned): Deleted.
19890         (Box.prototype.isInFlow): Deleted.
19891         (Box.prototype.isOutOfFlowPositioned): Deleted.
19892         (Box.prototype.isInFlowPositioned): Deleted.
19893         (Box.prototype.isFloatingPositioned): Deleted.
19894         (Box.prototype.isFloatingOrOutOfFlowPositioned): Deleted.
19895         (Box.prototype.isRootElement): Deleted.
19896         (Box.prototype.containingBlock): Deleted.
19897         (Box.prototype.borderBox): Deleted.
19898         (Box.prototype.paddingBox): Deleted.
19899         (Box.prototype.contentBox): Deleted.
19900         * LayoutReloaded/LayoutTree/Container.js:
19901         (Container): Deleted.
19902         (Container.prototype.isContainer): Deleted.
19903         (Container.prototype.setFirstChild): Deleted.
19904         (Container.prototype.setLastChild): Deleted.
19905         (Container.prototype.firstChild): Deleted.
19906         (Container.prototype.firstInFlowChild): Deleted.
19907         (Container.prototype.lastChild): Deleted.
19908         (Container.prototype.lastInFlowChild): Deleted.
19909         (Container.prototype.hasChild): Deleted.
19910         (Container.prototype.hasInFlowChild): Deleted.
19911         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
19912         (InitialBlockContainer): Deleted.
19913         (InitialBlockContainer.prototype.establishesBlockFormattingContext): Deleted.
19914         (InitialBlockContainer.prototype.paddingBox): Deleted.
19915         (InitialBlockContainer.prototype.contentBox): Deleted.
19916         * LayoutReloaded/LayoutTree/InlineBox.js:
19917         (InlineBox): Deleted.
19918         (InlineBox.prototype.setText): Deleted.
19919         (InlineBox.prototype.text): Deleted.
19920         * LayoutReloaded/TreeBuilder.js:
19921         (TreeBuilder.prototype.createTree):
19922         (TreeBuilder.prototype._createAndAttachBox):
19923         * LayoutReloaded/Utils.js:
19924         (Utils._dumpBox):
19926 2018-03-14  Chris Fleizach  <cfleizach@apple.com>
19928         AX: Implement accessible dismiss action on iOS
19929         https://bugs.webkit.org/show_bug.cgi?id=183352
19930         <rdar://problem/38161500>
19932         Reviewed by Zalan Bujtas.
19934         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
19935         (WTR::AccessibilityUIElement::dismiss const):
19936         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
19937         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
19938         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
19939         (WTR::AccessibilityUIElement::dismiss):
19941 2018-03-14  Youenn Fablet  <youenn@apple.com>
19943         Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
19944         https://bugs.webkit.org/show_bug.cgi?id=183481
19946         Reviewed by Eric Carlson.
19948         * Scripts/webkitpy/style/checker.py: Do not check style.
19950 2018-03-14  Brendan McLoughlin  <brendan@bocoup.com>
19952         Add label on github when exporting wpt tests to w3c/web-platform-test repo
19953         https://bugs.webkit.org/show_bug.cgi?id=183575
19955         Reviewed by Youenn Fablet.
19957         * Scripts/webkitpy/w3c/test_exporter.py:
19958         (TestExporter.make_pull_request):
19959         (parse_args):
19960         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
19961         (TestExporterTest.test_export):
19963 2018-03-14  Zalan Bujtas  <zalan@apple.com>
19965         [LayoutReloaded] Add InlineBox dump
19966         https://bugs.webkit.org/show_bug.cgi?id=183625
19968         Reviewed by Antti Koivisto.
19970         Right now line boxes live off of the inline formatting context but that's temporary and
19971         they will be moved over to the BoxTree.
19973         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
19974         (BlockFormattingContext.prototype._computeContentHeight):
19975         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
19976         (InlineFormattingContext):
19977         (InlineFormattingContext.prototype.lines):
19978         (InlineFormattingContext.prototype.layout):
19979         (InlineFormattingContext.prototype._handleText):
19980         (InlineFormattingContext.prototype._commitLine):
19981         (InlineFormattingContext.prototype._initializeLine):
19982         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
19983         (Line):
19984         (Line.prototype.isEmpty):
19985         (Line.prototype.rect):
19986         (Line.prototype.lineBoxes):
19987         (Line.prototype.addLineBox):
19988         (Line.prototype.appendFragment): Deleted.
19989         * LayoutReloaded/README.md:
19990         * LayoutReloaded/Utils.js:
19991         (Utils.computedLineHeight):
19992         (Utils.isBlockContainerElement):
19993         (Utils.textHeight):
19994         (Utils._dumpBox):
19995         (Utils._dumpLines.):
19996         (Utils._dumpLines):
19997         (Utils._dumpTree):
19998         (Utils.precisionRound):
19999         (Utils):
20000         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
20001         * LayoutReloaded/test/index.html:
20003 2018-03-14  Tim Horton  <timothy_horton@apple.com>
20005         Fix the build after r229567
20007         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20009 2018-03-13  Jer Noble  <jer.noble@apple.com>
20011         [iOS] Muted media playback can interrupt out-of-process audio
20012         https://bugs.webkit.org/show_bug.cgi?id=183606
20013         <rdar://problem/37466253>
20015         Reviewed by Eric Carlson.
20017         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20018         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
20019         (TestWebKitAPI::TEST):
20020         * TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-paused-audio-and-playing-muted.html: Added.
20022 2018-03-13  Ross Kirsling  <ross.kirsling@sony.com>
20024         [Win] Layout Test fast/html/menuitem-element.html is failing.
20025         https://bugs.webkit.org/show_bug.cgi?id=179299
20027         Reviewed by Per Arne Vollan.
20029         * DumpRenderTree/win/DumpRenderTree.cpp:
20030         (setWebPreferencesForTestOptions):
20031         Recognize test option "enableMenuItemElement".
20033 2018-03-12  Tim Horton  <timothy_horton@apple.com>
20035         Stop using SDK conditionals to control feature definitions
20036         https://bugs.webkit.org/show_bug.cgi?id=183430
20037         <rdar://problem/38251619>
20039         Reviewed by Dan Bernstein.
20041         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20042         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Renamed.
20044 2018-03-12  Ross Kirsling  <ross.kirsling@sony.com>
20046         [DRT] TestOptions should not be ObjC.
20047         https://bugs.webkit.org/show_bug.cgi?id=183487
20049         Reviewed by Per Arne Vollan.
20051         * DumpRenderTree/CMakeLists.txt:
20052         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
20053         * DumpRenderTree/PlatformMac.cmake:
20054         Move TestOptions to platform-agnostic sources.
20056         * DumpRenderTree/TestOptions.h:
20057         * DumpRenderTree/TestOptions.cpp: Renamed from Tools/DumpRenderTree/TestOptions.mm.
20058         * DumpRenderTree/mac/DumpRenderTree.mm:
20059         Remove NSURL dependency and align with WTR as much as possible.
20061         * DumpRenderTree/win/DumpRenderTree.cpp:
20062         Consume TestOptions (recognizing just the ones that have WebPreferences defined for now).
20064 2018-03-12  Yoav Weiss  <yoav@yoav.ws>
20066         Runtime flag for link prefetch and remove link subresource.
20067         https://bugs.webkit.org/show_bug.cgi?id=183540
20069         Reviewed by Chris Dumez.
20071         Remove the LINK_PREFETCH build time flag.
20073         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
20075 2018-03-12  Wenson Hsieh  <wenson_hsieh@apple.com>
20077         REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller
20078         https://bugs.webkit.org/show_bug.cgi?id=183549
20079         <rdar://problem/34960698>
20081         Reviewed by Andy Estes.
20083         Add TestWebKitAPI support for testing WKWebViews embedded within presented view controllers, and use this to
20084         check that dismissing an action sheet does not additionally cause the view controller being used to present the
20085         web view to also dismiss.
20087         * TestWebKitAPI/ClassMethodSwizzler.h: Added.
20088         * TestWebKitAPI/ClassMethodSwizzler.mm: Added.
20089         (TestWebKitAPI::ClassMethodSwizzler::ClassMethodSwizzler):
20090         (TestWebKitAPI::ClassMethodSwizzler::~ClassMethodSwizzler):
20092         Add ClassMethodSwizzler, an RAII which swizzles an Objective-C class method over its lifetime.
20094         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20095         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
20097         Add a new API test that loads a view controller which embeds a WKWebView, and verifies that presenting and then
20098         dismissing an action sheet from that web view does not cause the view controller to also dismiss.
20100         (TestWebKitAPI::setOverrideViewControllerForFullscreenPresentation):
20101         (TestWebKitAPI::overrideViewControllerForFullscreenPresentation):
20103         Mock +[UIViewController _viewControllerForFullScreenPresentationFromView:] to return the web view. This works
20104         around the fact that TestWebKitAPI is not a UI application, so certain pieces of UIKit API and SPI need to be
20105         stubbed or mocked to simulate being a UI application. We can remove these workarounds once
20106         https://webkit.org/b/175204 is addressed, and TestWebKitAPI becomes a UI application that can actually maintain
20107         a root view controller and key window.
20109         (TestWebKitAPI::TEST):
20110         * TestWebKitAPI/cocoa/TestWKWebView.h:
20111         * TestWebKitAPI/cocoa/TestWKWebView.mm:
20112         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
20114         Add a new initializer for TestWKWebView that doesn't force the view to be hosted within a UIWindow. This is used
20115         by TestWKWebViewController to create a TestWKWebView in -loadView.
20117         * TestWebKitAPI/ios/TestWKWebViewController.h: Added.
20118         * TestWebKitAPI/ios/TestWKWebViewController.mm: Added.
20119         (-[TestWKWebViewControllerWindow _beginKeyWindowDeferral]):
20120         (-[TestWKWebViewControllerWindow _endKeyWindowDeferral]):
20122         Stub out these methods to prevent UIKit from hitting assertions when making this UIWindow the key window. This
20123         can also be removed once TestWebKitAPI is a UI application.
20125         (-[TestWKWebViewController initWithFrame:configuration:]):
20126         (-[TestWKWebViewController loadView]):
20127         (-[TestWKWebViewController webView]):
20128         (-[TestWKWebViewController dismissViewControllerAnimated:completion:]):
20129         (-[TestWKWebViewController dismissalHandler]):
20130         (-[TestWKWebViewController setDismissalHandler:]):
20132         Add a UIViewController helper subclass whose -view is a WKWebView. The new API test presents this view
20133         controller. Tests may also provide a dismissalHandler, which is invoked when the view controller is being
20134         dismissed. The new API test uses this hook to verify that the view controller containing the web view isn't also
20135         dismissed after the action sheet goes away.
20137         * TestWebKitAPI/ios/UIKitSPI.h:
20139 2018-03-12  Basuke Suzuki  <Basuke.Suzuki@sony.com>
20141         [webkitpy] Remove openssl command dependency.
20142         https://bugs.webkit.org/show_bug.cgi?id=183494
20144         Reviewed by Ryosuke Niwa.
20146         Added Python implementation of PEM file perser and switched to use that
20147         from external `openssl` command.
20149         * Scripts/webkitpy/common/system/pemfile.py: Added.
20150         (load):
20151         (BadFormatError):
20152         (Pem):
20153         (Pem.__init__):
20154         (Pem.get):
20155         (Pem.get_all):
20156         (Pem.certificate):
20157         (Pem.private_key):
20158         (Pem.csr):
20159         (Pem.certificate_request):
20160         (Pem.certificate_signing_request):
20161         (_parse_pem_format):
20162         (_parse_pem_format.find_begin):
20163         (_parse_pem_format.find_end):
20164         (_parse_pem_format.sections):
20165         * Scripts/webkitpy/common/system/pemfile_unittest.py: Added.
20166         (PemFileTest):
20167         (PemFileTest.test_parse):
20168         (PemFileTest.test_parse_bad_format):
20169         * Scripts/webkitpy/port/base.py:
20170         (Port.start_websocket_server):
20171         (Port._extract_certificate_from_pem): Deleted.
20172         (Port._extract_private_key_from_pem): Deleted.
20174 2018-03-12  Javier Fernandez  <jfernandez@igalia.com>
20176         Remove GridLayout runtime flag
20177         https://bugs.webkit.org/show_bug.cgi?id=183484
20179         Reviewed by Myles C. Maxfield.
20181         The Grid Layout feature has been enabled by default for almost a
20182         year, so I think it's time to remove the runtime flag and the
20183         codepath run when the feature is disabled.
20185         * DumpRenderTree/mac/DumpRenderTree.mm:
20186         (enableExperimentalFeatures):
20188 2018-03-12  Antoine Quint  <graouts@apple.com>
20190         [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
20191         https://bugs.webkit.org/show_bug.cgi?id=183504
20192         <rdar://problem/38372965>
20194         Reviewed by Jon Lee.
20196         Add a new <!-- webkit-test-runner --> flag to enable the CSS Animations and CSS Transitions
20197         as Web Animations runtime flag in the new tests we've created for this feature.
20199         * DumpRenderTree/TestOptions.h:
20200         * DumpRenderTree/TestOptions.mm:
20201         (TestOptions::TestOptions):
20202         * DumpRenderTree/mac/DumpRenderTree.mm:
20203         (setWebPreferencesForTestOptions):
20204         * WebKitTestRunner/TestController.cpp:
20205         (WTR::TestController::resetPreferencesToConsistentValues):
20206         (WTR::updateTestOptionsFromTestHeader):
20207         * WebKitTestRunner/TestOptions.h:
20208         (WTR::TestOptions::hasSameInitializationOptions const):
20210 2018-03-11  Zalan Bujtas  <zalan@apple.com>
20212         [LayoutReloaded] Add Line class for InlineFormattingContext -and move files around.
20213         https://bugs.webkit.org/show_bug.cgi?id=183551
20215         Reviewed by Wenson Hsieh.
20217         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js: Renamed from Tools/LayoutReloaded/BlockFormattingContext.js.
20218         (BlockFormattingContext):
20219         (BlockFormattingContext.prototype.layout):
20220         (BlockFormattingContext.prototype.computeWidth):
20221         (BlockFormattingContext.prototype.computeHeight):
20222         (BlockFormattingContext.prototype.marginTop):
20223         (BlockFormattingContext.prototype.marginBottom):
20224         (BlockFormattingContext.prototype._computeStaticPosition):
20225         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
20226         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
20227         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
20228         (BlockFormattingContext.prototype._computeFloatingWidth):
20229         (BlockFormattingContext.prototype._computeInFlowWidth):
20230         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
20231         (BlockFormattingContext.prototype._computeFloatingHeight):
20232         (BlockFormattingContext.prototype._computeInFlowHeight):
20233         (BlockFormattingContext.prototype._computeHorizontalConstraint):
20234         (BlockFormattingContext.prototype._computeContentHeight):
20235         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
20236         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
20237         (BlockFormattingContext.prototype._shrinkToFitWidth):
20238         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js: Renamed from Tools/LayoutReloaded/BlockMarginCollapse.js.
20239         (BlockMarginCollapse.marginTop):
20240         (BlockMarginCollapse.marginBottom):
20241         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
20242         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
20243         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
20244         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
20245         (BlockMarginCollapse._nonCollapsedMarginTop):
20246         (BlockMarginCollapse._nonCollapsedMarginBottom):
20247         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
20248         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
20249         (BlockMarginCollapse._marginValue):
20250         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
20251         (BlockMarginCollapse):
20252         * LayoutReloaded/FormattingContext/FloatingContext.js: Renamed from Tools/LayoutReloaded/FloatingContext.js.
20253         (FloatingContext):
20254         (FloatingContext.prototype.computePosition):
20255         (FloatingContext.prototype.bottom):
20256         (FloatingContext.prototype._positionForFloating):
20257         (FloatingContext.prototype._positionForClear):
20258         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
20259         (FloatingContext.prototype._addFloating):
20260         (FloatingContext.prototype._findInnerMostLeftAndRight):
20261         (FloatingContext.prototype._moveToNextVerticalPosition):
20262         (FloatingContext.prototype._availableSpace):
20263         (FloatingContext.prototype._findFloatingAtVerticalPosition):
20264         (FloatingContext.prototype._isEmpty):
20265         (FloatingContext.prototype._adjustedFloatingPosition):
20266         (FloatingContext.prototype._bottom):
20267         (FloatingContext.prototype._formattingContext):
20268         * LayoutReloaded/FormattingContext/FormattingContext.js: Renamed from Tools/LayoutReloaded/FormattingContext.js.
20269         (FormattingContext):
20270         (FormattingContext.prototype.rootContainer):
20271         (FormattingContext.prototype.floatingContext):
20272         (FormattingContext.prototype.layout):
20273         (FormattingContext.prototype.computeWidth):
20274         (FormattingContext.prototype.computeHeight):
20275         (FormattingContext.prototype.marginTop):
20276         (FormattingContext.prototype.marginLeft):
20277         (FormattingContext.prototype.marginBottom):
20278         (FormattingContext.prototype.marginRight):
20279         (FormattingContext.prototype.absoluteMarginBox):
20280         (FormattingContext.prototype.absoluteBorderBox):
20281         (FormattingContext.prototype.absolutePaddingBox):
20282         (FormattingContext.prototype.absoluteContentBox):
20283         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js: Renamed from Tools/LayoutReloaded/InlineFormattingContext.js.
20284         (InlineFormattingContext):
20285         (InlineFormattingContext.prototype.layout):
20286         (InlineFormattingContext.prototype._handleInlineBox):
20287         (InlineFormattingContext.prototype._handleText):
20288         (InlineFormattingContext.prototype._commitLine):
20289         (InlineFormattingContext.prototype._line):
20290         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js: Copied from Tools/LayoutReloaded/InitialBlockContainer.js.
20291         (Line):
20292         (Line.prototype.isEmpty):
20293         (Line.prototype.availableWidth):
20294         (Line.prototype.appendFragment):
20295         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
20296         * LayoutReloaded/LayoutTree/BlockContainer.js: Renamed from Tools/LayoutReloaded/BlockContainer.js.
20297         (BlockContainer):
20298         (BlockContainer.prototype.establishesInlineFormattingContext):
20299         * LayoutReloaded/LayoutTree/Box.js: Renamed from Tools/LayoutReloaded/Box.js.
20300         (Box):
20301         (Box.prototype.id):
20302         (Box.prototype.setRendererName):
20303         (Box.prototype.name):
20304         (Box.prototype.node):
20305         (Box.prototype.parent):
20306         (Box.prototype.nextSibling):
20307         (Box.prototype.nextInFlowSibling):
20308         (Box.prototype.previousSibling):
20309         (Box.prototype.previousInFlowSibling):
20310         (Box.prototype.setParent):
20311         (Box.prototype.setNextSibling):
20312         (Box.prototype.setPreviousSibling):
20313         (Box.prototype.rect):
20314         (Box.prototype.topLeft):
20315         (Box.prototype.bottomRight):
20316         (Box.prototype.setTopLeft):
20317         (Box.prototype.setSize):
20318         (Box.prototype.setWidth):
20319         (Box.prototype.setHeight):
20320         (Box.prototype.isContainer):
20321         (Box.prototype.isBlockLevelBox):
20322         (Box.prototype.isBlockContainerBox):
20323         (Box.prototype.isInlineLevelBox):
20324         (Box.prototype.setIsAnonymous):
20325         (Box.prototype.isAnonymous):
20326         (Box.prototype.establishesFormattingContext):
20327         (Box.prototype.establishedFormattingContext):
20328         (Box.prototype.establishesBlockFormattingContext):
20329         (Box.prototype.establishesInlineFormattingContext):
20330         (Box.prototype.isPositioned):
20331         (Box.prototype.isRelativePositioned):
20332         (Box.prototype.isAbsolutePositioned):
20333         (Box.prototype.isFixedPositioned):
20334         (Box.prototype.isInFlow):
20335         (Box.prototype.isOutOfFlowPositioned):
20336         (Box.prototype.isInFlowPositioned):
20337         (Box.prototype.isFloatingPositioned):
20338         (Box.prototype.isFloatingOrOutOfFlowPositioned):
20339         (Box.prototype.isRootElement):
20340         (Box.prototype.containingBlock):
20341         (Box.prototype.borderBox):
20342         (Box.prototype.paddingBox):
20343         (Box.prototype.contentBox):
20344         * LayoutReloaded/LayoutTree/Container.js: Renamed from Tools/LayoutReloaded/Container.js.
20345         (Container):
20346         (Container.prototype.isContainer):
20347         (Container.prototype.setFirstChild):
20348         (Container.prototype.setLastChild):
20349         (Container.prototype.firstChild):
20350         (Container.prototype.firstInFlowChild):
20351         (Container.prototype.lastChild):
20352         (Container.prototype.lastInFlowChild):
20353         (Container.prototype.hasChild):
20354         (Container.prototype.hasInFlowChild):
20355         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Renamed from Tools/LayoutReloaded/InitialBlockContainer.js.
20356         (InitialBlockContainer):
20357         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
20358         (InitialBlockContainer.prototype.paddingBox):
20359         (InitialBlockContainer.prototype.contentBox):
20360         * LayoutReloaded/LayoutTree/InlineBox.js: Renamed from Tools/LayoutReloaded/InlineBox.js.
20361         (InlineBox):
20362         (InlineBox.prototype.setText):
20363         (InlineBox.prototype.text):
20364         * LayoutReloaded/LayoutTree/Text.js: Renamed from Tools/LayoutReloaded/Text.js.
20365         (Text):
20366         (Text.prototype.node):
20367         (Text.prototype.content):
20368         (Text.prototype.length):
20369         * LayoutReloaded/Utils.js:
20370         (Utils.nextBreakingOpportunity):
20371         (Utils.measureText):
20372         * LayoutReloaded/misc/headers/Line.h: Copied from Tools/LayoutReloaded/misc/headers/Text.h.
20373         * LayoutReloaded/misc/headers/Text.h:
20374         * LayoutReloaded/test/border-simple.html:
20375         * LayoutReloaded/test/index.html:
20377 2018-03-10  Wenson Hsieh  <wenson_hsieh@apple.com>
20379         [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
20380         https://bugs.webkit.org/show_bug.cgi?id=183485
20381         <rdar://problem/38041984>
20383         Reviewed by Ryosuke Niwa.
20385         Add new API tests to cover scenarios in which we paste image data alongside text data.
20387         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
20388         (TestWebKitAPI::TEST):
20389         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
20390         (TestWebKitAPI::TEST):
20392 2018-03-09  Zalan Bujtas  <zalan@apple.com>
20394         [LayoutReloaded] Initial commit -block formatting context.
20395         https://bugs.webkit.org/show_bug.cgi?id=183462
20397         Reviewed by Antti Koivisto.
20399         See README.md
20401         * LayoutReloaded/BlockContainer.js: Added.
20402         (BlockContainer):
20403         (BlockContainer.prototype.establishesInlineFormattingContext):
20404         * LayoutReloaded/BlockFormattingContext.js: Added.
20405         (BlockFormattingContext):
20406         (BlockFormattingContext.prototype.layout):
20407         (BlockFormattingContext.prototype.computeWidth):
20408         (BlockFormattingContext.prototype.computeHeight):
20409         (BlockFormattingContext.prototype.marginTop):
20410         (BlockFormattingContext.prototype.marginBottom):
20411         (BlockFormattingContext.prototype._computeStaticPosition):
20412         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
20413         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
20414         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
20415         (BlockFormattingContext.prototype._computeFloatingWidth):
20416         (BlockFormattingContext.prototype._computeInFlowWidth):
20417         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
20418         (BlockFormattingContext.prototype._computeFloatingHeight):
20419         (BlockFormattingContext.prototype._computeInFlowHeight):
20420         (BlockFormattingContext.prototype._computeHorizontalConstraint):
20421         (BlockFormattingContext.prototype._computeContentHeight):
20422         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
20423         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
20424         (BlockFormattingContext.prototype._shrinkToFitWidth):
20425         * LayoutReloaded/BlockMarginCollapse.js: Added.
20426         (BlockMarginCollapse.marginTop):
20427         (BlockMarginCollapse.marginBottom):
20428         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
20429         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
20430         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
20431         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
20432         (BlockMarginCollapse._nonCollapsedMarginTop):
20433         (BlockMarginCollapse._nonCollapsedMarginBottom):
20434         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
20435         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
20436         (BlockMarginCollapse._marginValue):
20437         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
20438         (BlockMarginCollapse):
20439         * LayoutReloaded/Box.js: Added.
20440         (Box):
20441         (Box.prototype.id):
20442         (Box.prototype.setRendererName):
20443         (Box.prototype.name):
20444         (Box.prototype.node):
20445         (Box.prototype.parent):
20446         (Box.prototype.nextSibling):
20447         (Box.prototype.nextInFlowSibling):
20448         (Box.prototype.previousSibling):
20449         (Box.prototype.previousInFlowSibling):
20450         (Box.prototype.setParent):
20451         (Box.prototype.setNextSibling):
20452         (Box.prototype.setPreviousSibling):
20453         (Box.prototype.rect):
20454         (Box.prototype.topLeft):
20455         (Box.prototype.bottomRight):
20456         (Box.prototype.setTopLeft):
20457         (Box.prototype.setSize):
20458         (Box.prototype.setWidth):
20459         (Box.prototype.setHeight):
20460         (Box.prototype.isContainer):
20461         (Box.prototype.isBlockLevelBox):
20462         (Box.prototype.isBlockContainerBox):
20463         (Box.prototype.isInlineLevelBox):
20464         (Box.prototype.setIsAnonymous):
20465         (Box.prototype.isAnonymous):
20466         (Box.prototype.establishesFormattingContext):
20467         (Box.prototype.establishedFormattingContext):
20468         (Box.prototype.establishesBlockFormattingContext):
20469         (Box.prototype.establishesInlineFormattingContext):
20470         (Box.prototype.isPositioned):
20471         (Box.prototype.isRelativePositioned):
20472         (Box.prototype.isAbsolutePositioned):
20473         (Box.prototype.isFixedPositioned):
20474         (Box.prototype.isInFlow):
20475         (Box.prototype.isOutOfFlowPositioned):
20476         (Box.prototype.isInFlowPositioned):
20477         (Box.prototype.isFloatingPositioned):
20478         (Box.prototype.isFloatingOrOutOfFlowPositioned):
20479         (Box.prototype.isRootElement):
20480         (Box.prototype.containingBlock):
20481         (Box.prototype.borderBox):
20482         (Box.prototype.paddingBox):
20483         (Box.prototype.contentBox):
20484         * LayoutReloaded/Container.js: Added.
20485         (Container):
20486         (Container.prototype.isContainer):
20487         (Container.prototype.setFirstChild):
20488         (Container.prototype.setLastChild):
20489         (Container.prototype.firstChild):
20490         (Container.prototype.firstInFlowChild):
20491         (Container.prototype.lastChild):
20492         (Container.prototype.lastInFlowChild):
20493         (Container.prototype.hasChild):
20494         (Container.prototype.hasInFlowChild):
20495         * LayoutReloaded/FloatingContext.js: Added.
20496         (FloatingContext):
20497         (FloatingContext.prototype.computePosition):
20498         (FloatingContext.prototype.bottom):
20499         (FloatingContext.prototype._positionForFloating):
20500         (FloatingContext.prototype._positionForClear):
20501         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
20502         (FloatingContext.prototype._addFloating):
20503         (FloatingContext.prototype._findInnerMostLeftAndRight):
20504         (FloatingContext.prototype._moveToNextVerticalPosition):
20505         (FloatingContext.prototype._availableSpace):
20506         (FloatingContext.prototype._findFloatingAtVerticalPosition):
20507         (FloatingContext.prototype._isEmpty):
20508         (FloatingContext.prototype._adjustedFloatingPosition):
20509         (FloatingContext.prototype._bottom):
20510         (FloatingContext.prototype._formattingContext):
20511         * LayoutReloaded/FormattingContext.js: Added.
20512         (FormattingContext):
20513         (FormattingContext.prototype.rootContainer):
20514         (FormattingContext.prototype.floatingContext):
20515         (FormattingContext.prototype.layout):
20516         (FormattingContext.prototype.computeWidth):
20517         (FormattingContext.prototype.computeHeight):
20518         (FormattingContext.prototype.marginTop):
20519         (FormattingContext.prototype.marginLeft):
20520         (FormattingContext.prototype.marginBottom):
20521         (FormattingContext.prototype.marginRight):
20522         (FormattingContext.prototype.absoluteMarginBox):
20523         (FormattingContext.prototype.absoluteBorderBox):
20524         (FormattingContext.prototype.absolutePaddingBox):
20525         (FormattingContext.prototype.absoluteContentBox):
20526         * LayoutReloaded/InitialBlockContainer.js: Added.
20527         (InitialBlockContainer):
20528         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
20529         (InitialBlockContainer.prototype.paddingBox):
20530         (InitialBlockContainer.prototype.contentBox):
20531         * LayoutReloaded/InlineBox.js: Added.
20532         (InlineBox):
20533         (InlineBox.prototype.setText):
20534         (InlineBox.prototype.text):
20535         * LayoutReloaded/InlineFormattingContext.js: Added.
20536         (InlineFormattingContext):
20537         (InlineFormattingContext.prototype.layout):
20538         (InlineFormattingContext.prototype._handleInlineBox):
20539         (InlineFormattingContext.prototype._handleText):
20540         * LayoutReloaded/Layout.js: Added.
20541         (layout):
20542         * LayoutReloaded/LayoutContext.js: Added.
20543         (LayoutContext):
20544         (LayoutContext.prototype.layoutFormattingContext):
20545         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata: Added.
20546         * LayoutReloaded/LayoutReloaded.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
20547         * LayoutReloaded/README.md: Added.
20548         * LayoutReloaded/Text.js: Added.
20549         (Text):
20550         * LayoutReloaded/TreeBuilder.js: Added.
20551         (TreeBuilder.prototype.createTree):
20552         (TreeBuilder.prototype._createAndAttachBox):
20553         (TreeBuilder.prototype._appendChild):
20554         (TreeBuilder.prototype._findBox):
20555         (TreeBuilder.prototype._findNode):
20556         (TreeBuilder):
20557         * LayoutReloaded/Utils.js: Added.
20558         (LayoutPoint):
20559         (LayoutPoint.prototype.setLeft):
20560         (LayoutPoint.prototype.setTop):
20561         (LayoutPoint.prototype.left):
20562         (LayoutPoint.prototype.top):
20563         (LayoutPoint.prototype.shiftLeft):
20564         (LayoutPoint.prototype.shiftTop):
20565         (LayoutPoint.prototype.moveBy):
20566         (LayoutPoint.prototype.equal):
20567         (LayoutPoint.prototype.clone):
20568         (LayoutSize):
20569         (LayoutSize.prototype.setWidth):
20570         (LayoutSize.prototype.setHeight):
20571         (LayoutSize.prototype.width):
20572         (LayoutSize.prototype.height):
20573         (LayoutSize.prototype.growBy):
20574         (LayoutSize.prototype.shrinkBy):
20575         (LayoutSize.prototype.isEmpty):
20576         (LayoutSize.prototype.equal):
20577         (LayoutSize.prototype.clone):
20578         (LayoutRect):
20579         (LayoutRect.prototype.setTop):
20580         (LayoutRect.prototype.setLeft):
20581         (LayoutRect.prototype.setBottom):
20582         (LayoutRect.prototype.setRight):
20583         (LayoutRect.prototype.left):
20584         (LayoutRect.prototype.top):
20585         (LayoutRect.prototype.bottom):
20586         (LayoutRect.prototype.right):
20587         (LayoutRect.prototype.setTopLeft):
20588         (LayoutRect.prototype.topLeft):
20589         (LayoutRect.prototype.topRight):
20590         (LayoutRect.prototype.bottomRight):
20591         (LayoutRect.prototype.setWidth):
20592         (LayoutRect.prototype.setHeight):
20593         (LayoutRect.prototype.setSize):
20594         (LayoutRect.prototype.size):
20595         (LayoutRect.prototype.width):
20596         (LayoutRect.prototype.height):
20597         (LayoutRect.prototype.growBy):
20598         (LayoutRect.prototype.shrinkBy):
20599         (LayoutRect.prototype.moveBy):
20600         (LayoutRect.prototype.isEmpty):
20601         (LayoutRect.prototype.equal):
20602         (LayoutRect.prototype.intersects):
20603         (LayoutRect.prototype.contains):
20604         (LayoutRect.prototype.clone):
20605         (ASSERT_NOT_REACHED):
20606         (ASSERT):
20607         (Utils.computedValue):
20608         (Utils.propertyIsAuto):
20609         (Utils.isWidthAuto):
20610         (Utils.isHeightAuto):
20611         (Utils.isTopAuto):
20612         (Utils.isLeftAuto):
20613         (Utils.isBottomAuto):
20614         (Utils.isRightAuto):
20615         (Utils.width):
20616         (Utils.height):
20617         (Utils.top):
20618         (Utils.bottom):
20619         (Utils.left):
20620         (Utils.right):
20621         (Utils.hasBorderTop):
20622         (Utils.hasBorderBottom):
20623         (Utils.hasPaddingTop):
20624         (Utils.hasPaddingBottom):
20625         (Utils.computedMarginTop):
20626         (Utils.computedMarginLeft):
20627         (Utils.computedMarginBottom):
20628         (Utils.computedMarginRight):
20629         (Utils.computedBorderTopLeft):
20630         (Utils.computedBorderBottomRight):
20631         (Utils.computedPaddingTopLeft):
20632         (Utils.computedPaddingBottomRight):
20633         (Utils.computedBorderAndPaddingTop):
20634         (Utils.computedBorderAndPaddingLeft):
20635         (Utils.computedBorderAndPaddingBottom):
20636         (Utils.computedBorderAndPaddingRight):
20637         (Utils.computedHorizontalBorderAndPadding):
20638         (Utils.computedVerticalBorderAndPadding):
20639         (Utils.hasClear):
20640         (Utils.hasClearLeft):
20641         (Utils.hasClearRight):
20642         (Utils.hasClearBoth):
20643         (Utils.isBlockLevelElement):
20644         (Utils.isBlockContainerElement):
20645         (Utils.isInlineLevelElement):
20646         (Utils.isTableElement):
20647         (Utils.isRelativePositioned):
20648         (Utils.isAbsolutePositioned):
20649         (Utils.isFixedPositioned):
20650         (Utils.isOverflowVisible):
20651         (Utils.isFloatingPositioned):
20652         (Utils.isFloatingLeft):
20653         (Utils.mapToContainer):
20654         (Utils.mapStaticToAbsolute):
20655         (Utils.collectOutOfFlowDescendants):
20656         (Utils.nextBreakingOpportunity):
20657         (Utils.measureText):
20658         (Utils.layoutTreeDump):
20659         (Utils._dumpBox):
20660         (Utils._dumpTree):
20661         (Utils):
20662         * LayoutReloaded/misc/LayoutReloadedWebKit.patch: Added.
20663         * LayoutReloaded/misc/headers/BlockContainer.h: Added.
20664         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Added.
20665         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Added.
20666         * LayoutReloaded/misc/headers/Box.h: Added.
20667         * LayoutReloaded/misc/headers/Container.h: Added.
20668         * LayoutReloaded/misc/headers/FloatingContext.h: Added.
20669         * LayoutReloaded/misc/headers/FormattingContext.h: Added.
20670         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Added.
20671         * LayoutReloaded/misc/headers/InlineBox.h: Added.
20672         * LayoutReloaded/misc/headers/LayoutContext.h: Added.
20673         * LayoutReloaded/misc/headers/Text.h: Added.
20674         * LayoutReloaded/test/TestHarness.js: Added.
20675         (verifyLayoutTreeDump):
20676         (runLayout):
20677         * LayoutReloaded/test/absolute-auto-with-sibling-margin-bottom.html: Added.
20678         * LayoutReloaded/test/absolute-bottom.html: Added.
20679         * LayoutReloaded/test/absolute-height-stretch.html: Added.
20680         * LayoutReloaded/test/absolute-left-auto.html: Added.
20681         * LayoutReloaded/test/absolute-left-right-top-bottom-auto.html: Added.
20682         * LayoutReloaded/test/absolute-nested.html: Added.
20683         * LayoutReloaded/test/absolute-nested2.html: Added.
20684         * LayoutReloaded/test/absolute-simple.html: Added.
20685         * LayoutReloaded/test/absolute-width-shrink-to-fit.html: Added.
20686         * LayoutReloaded/test/absolute-width-stretch.html: Added.
20687         * LayoutReloaded/test/absolute-with-inline-preferred-width.html: Added.
20688         * LayoutReloaded/test/absolute-with-static-block-position-nested.html: Added.
20689         * LayoutReloaded/test/almost-intruding-left-float-simple.html: Added.
20690         * LayoutReloaded/test/border-simple.html: Added.
20691         * LayoutReloaded/test/fixed-nested.html: Added.
20692         * LayoutReloaded/test/float-left-when-container-has-padding-margin.html: Added.
20693         * LayoutReloaded/test/floating-box-clear-both-simple.html: Added.
20694         * LayoutReloaded/test/floating-box-clear-right-simple.html: Added.
20695         * LayoutReloaded/test/floating-box-left-and-right-multiple-with-top-offset.html: Added.
20696         * LayoutReloaded/test/floating-box-left-and-right-multiple.html: Added.
20697         * LayoutReloaded/test/floating-box-right-simple.html: Added.
20698         * LayoutReloaded/test/floating-box-with-clear-siblings.html: Added.
20699         * LayoutReloaded/test/floating-box-with-clear-simple.html: Added.
20700         * LayoutReloaded/test/floating-box-with-new-formatting-context.html: Added.
20701         * LayoutReloaded/test/floating-box-with-relative-positioned-sibling.html: Added.
20702         * LayoutReloaded/test/floating-left-right-simple.html: Added.
20703         * LayoutReloaded/test/floating-left-right-with-all-margins.html: Added.
20704         * LayoutReloaded/test/floating-lefts-and-rights-simple.html: Added.
20705         * LayoutReloaded/test/floating-multiple-lefts-in-body.html: Added.
20706         * LayoutReloaded/test/floating-multiple-lefts-multiple-lines.html: Added.
20707         * LayoutReloaded/test/floating-multiple-lefts.html: Added.
20708         * LayoutReloaded/test/floating-sizing.html: Added.
20709         * LayoutReloaded/test/floating-sizing2.html: Added.
20710         * LayoutReloaded/test/floating-sizing3.html: Added.
20711         * LayoutReloaded/test/floating-with-new-block-formatting-context.html: Added.
20712         * LayoutReloaded/test/index.html: Added.
20713         * LayoutReloaded/test/inline-content-simple.html: Added.
20714         * LayoutReloaded/test/intruding-left-float-simple.html: Added.
20715         * LayoutReloaded/test/margin-collapse-bottom-bottom.html: Added.
20716         * LayoutReloaded/test/margin-collapse-bottom-nested.html: Added.
20717         * LayoutReloaded/test/margin-collapse-first-last-are-floating.html: Added.
20718         * LayoutReloaded/test/margin-collapse-simple.html: Added.
20719         * LayoutReloaded/test/margin-collapse-top-nested.html: Added.
20720         * LayoutReloaded/test/margin-collapse-when-child-has-padding-border.html: Added.
20721         * LayoutReloaded/test/margin-collapse-with-block-formatting-context.html: Added.
20722         * LayoutReloaded/test/margin-collapse-with-block-formatting-context2.html: Added.
20723         * LayoutReloaded/test/margin-left-right-sizing-out-of-flow.html: Added.
20724         * LayoutReloaded/test/margin-left-right-sizing.html: Added.
20725         * LayoutReloaded/test/margin-propagation-simple-content-height.html: Added.
20726         * LayoutReloaded/test/margin-sibling-collapse-propagated.html: Added.
20727         * LayoutReloaded/test/margin-simple.html: Added.
20728         * LayoutReloaded/test/negative-margin-simple.html: Added.
20729         * LayoutReloaded/test/padding-nested.html: Added.
20730         * LayoutReloaded/test/padding-simple.html: Added.
20731         * LayoutReloaded/test/relative-auto-with-parent-offset.html: Added.
20732         * LayoutReloaded/test/relative-auto.html: Added.
20733         * LayoutReloaded/test/relative-bottom.html: Added.
20734         * LayoutReloaded/test/relative-right.html: Added.
20735         * LayoutReloaded/test/relative-siblings.html: Added.
20736         * LayoutReloaded/test/relative-simple.html: Added.
20738 2018-03-09  Stephan Szabo  <stephan.szabo@sony.com>
20740         WebKitTestRunner: Do not build accessibility files/idl when !HAVE(ACCESSIBILITY)
20741         https://bugs.webkit.org/show_bug.cgi?id=183516
20743         Reviewed by Alex Christensen.
20745         * WebKitTestRunner/CMakeLists.txt:
20747 2018-03-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
20749         [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
20750         https://bugs.webkit.org/show_bug.cgi?id=183265
20752         Reviewed by Daniel Bates.
20754         Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
20755         Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
20756         and stopping httpd server from the script.
20758         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
20759         (LayoutTestApacheHttpd.__init__):
20760         (LayoutTestApacheHttpd._copy_apache_config_file):
20761         (LayoutTestApacheHttpd):
20762         (LayoutTestApacheHttpd.platform):
20763         (LayoutTestApacheHttpd._spawn_process):
20764         (LayoutTestApacheHttpd._stop_running_server):
20765         (LayoutTestApacheHttpd._run):
20766         (LayoutTestApacheHttpd._server_error):
20767         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
20768         (HttpServerBase.aliases):
20769         (HttpServerBase):
20770         (HttpServerBase._build_alias_path_pairs):
20771         (HttpServerBase._build_alias_path_pairs._make_path):
20772         * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
20773         (TestHttpServerBase.test_corrupt_pid_file):
20774         (TestHttpServerBase):
20775         (TestHttpServerBase.test_build_alias_path_pairs):
20776         * Scripts/webkitpy/port/base.py:
20777         (Port._apache_config_file_name_for_platform):
20778         * Scripts/webkitpy/port/port_testcase.py:
20779         (test_apache_config_file_name_for_platform):
20780         * Scripts/webkitpy/port/win.py:
20781         (WinPort._path_to_apache):
20782         (WinCairoPort.default_baseline_search_path):
20783         (WinCairoPort):
20784         (WinCairoPort.check_httpd):
20786 2018-03-09  Carlos Garcia Campos  <cgarcia@igalia.com>
20788         [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form
20789         https://bugs.webkit.org/show_bug.cgi?id=183510
20791         Reviewed by Michael Catanzaro.
20793         Update the test to use WebKitDOMElement instead and fix a memory leak.
20795         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
20796         (handleFormSubmissionCallback):
20797         (willSubmitFormCallback):
20799 2018-03-08  Stephan Szabo  <stephan.szabo@sony.com>
20801         WebKitTestRunner: Don't use accessibility controller when !HAVE(ACCESSIBILITY)
20802         https://bugs.webkit.org/show_bug.cgi?id=183475
20804         Reviewed by Youenn Fablet.
20806         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
20807         (WTR::InjectedBundle::done):
20808         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
20809         (WTR::InjectedBundlePage::didClearWindowForFrame):
20811 2018-03-08  Ms2ger  <Ms2ger@igalia.com>
20813         [WPE] Update expectations for API tests
20814         https://bugs.webkit.org/show_bug.cgi?id=183434
20816         Unreviewed test gardening.
20818         * TestWebKitAPI/glib/TestExpectations.json:
20820 2018-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
20822         [GTK][WPE] Leak checker is not working in WebKitGLib web process tests
20823         https://bugs.webkit.org/show_bug.cgi?id=183404
20825         Reviewed by Michael Catanzaro.
20827         This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect
20828         that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but
20829         that's no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage
20830         collection later. In the case of tests that never happens because the web process finishes quickly after the
20831         test. We need to force a garbage collection at some point when the web page is destroyed. We can't use the
20832         WebKitWebPage destroy signal, since we are also checking that WebKitWebPage isn't leaked. The
20833         API::InjectedBundle::Client::willDestroyPage() always happen when the page is closed, even if WebKitWebPage is
20834         still alive, so we can force the GC at that point. The only problem is that the frame is detached right after
20835         that point, so we can't check WebKitFrame leaks. The only frame in the tests is the main one, so we can assume
20836         that if WebKitWebPage is released, the frame is too.
20838         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
20839         (WebKitFrameTest::testMainFrame): Stop checking we don't leak WebKitFrame.
20840         (WebKitFrameTest::testURI): Ditto.
20841         (WebKitFrameTest::testJavaScriptContext): Ditto.
20842         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
20843         (testWebKitFrameMainFrame): Use new WebViewTest::runWebProcessTest() API.
20844         (testWebKitFrameURI): Ditto.
20845         (testWebKitFrameJavaScriptContext): Ditto.
20846         (webkitFrameTestRun): Deleted.
20847         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
20848         (runTest): We no longer need the special case for dom-cache test.
20849         (windowObjectClearedCallback): Only expose test runner object to JavaScript when loading tests.
20850         (webkit_web_extension_initialize): Call webkitWebExtensionSetGarbageCollectOnPageDestroy() to ensure a garbage
20851         collection is performed when the page is closing.
20852         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
20853         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): Fix memory leak,
20854         webkit_dom_client_rect_list_item() returns a full reference.
20855         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
20856         (testWebProcessAutocleanups):Use new WebViewTest::runWebProcessTest() API.
20857         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
20858         (testWebKitDOMClientRectDivBoundingClientRectPosition): Use new WebViewTest::runWebProcessTest() API.
20859         (testWebKitDOMClientRectDivClientRectsPositionAndLength): Use new WebViewTest::runWebProcessTest() API.
20860         (prepareDOMForClientRectPositionTests): Deleted.
20861         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
20862         (testWebKitDOMNodeHierarchyNavigation): Use new WebViewTest::runWebProcessTest() API.
20863         (testWebKitDOMNodeInsertion): Ditto.
20864         (testWebKitDOMNodeTagNamesNodeList): Ditto.
20865         (testWebKitDOMNodeTagNamesHTMLCollection): Ditto.
20866         (testWebKitDOMObjectCache): We no longer need to run the test several times, since runWebProcessTest() loads
20867         about blank after every test.
20868         (prepareDOMForTagNamesTests): Deleted.
20869         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
20870         (testWebKitDOMNodeFilterTreeWalker): Use new WebViewTest::runWebProcessTest() API.
20871         (testWebKitDOMNodeFilterNodeIterator): Ditto.
20872         (runTest): Deleted.
20873         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
20874         (testWebKitDOMXPathNSResolverNative): Use new WebViewTest::runWebProcessTest() API.
20875         (testWebKitDOMXPathNSResolverCustom): Ditto.
20876         * TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp:
20877         (testWebKitWebEditorSelectionChanged): Use new WebViewTest::runWebProcessTest() API.
20878         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
20879         (WebViewTest::runWebProcessTest): It now receives the contents, so it automatically loads the view using
20880         "webprocess://test" as base URI, used to detect tests in the web process. It also loads about:blank after every
20881         test to ensure that window object is cleared.
20882         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
20884 2018-03-07  Youenn Fablet  <youenn@apple.com>
20886         Match unsupported plugins based on domains and not origin
20887         https://bugs.webkit.org/show_bug.cgi?id=183384
20889         Reviewed by Chris Dumez.
20891         * TestWebKitAPI/Tests/WebCore/URL.cpp:
20892         (TestWebKitAPI::TEST_F):
20893         * WebKitTestRunner/TestController.cpp:
20894         (WTR::TestController::setPluginSupportedMode): Update to whitelist
20895         localhost and not http://localhost:8080
20897 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
20899         webkitpy: Allow apple_additions() to define additional ports
20900         https://bugs.webkit.org/show_bug.cgi?id=183412
20901         <rdar://problem/38232353>
20903         Reviewed by Aakash Jain.
20905         * Scripts/webkitpy/port/factory.py:
20906         (PortFactory.get): Allow apple_additions to define port classes to be used
20907         in run-webkit-tests.
20909 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
20911         webkitpy: Remove obsolete function from MockAppleAdditions
20912         https://bugs.webkit.org/show_bug.cgi?id=183415
20913         <rdar://problem/38236407>
20915         Reviewed by Aakash Jain.
20917         * Scripts/webkitpy/port/port_testcase.py:
20918         (bind_mock_apple_additions.MockAppleAdditions):
20919         (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Deleted.
20920         (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Deleted.
20922 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
20924         webkitpy: --dedicated-simulators does not boot the correct number of simulators
20925         https://bugs.webkit.org/show_bug.cgi?id=183409
20926         <rdar://problem/38224631>
20928         Reviewed by Aakash Jain.
20930         * Scripts/webkitpy/port/ios_simulator.py:
20931         (IOSSimulatorPort.default_child_processes): When not using dedicated simulators,
20932         we should use the number of booted simulators as our default child processes.
20934 2018-03-07  Alejandro G. Castro  <alex@igalia.com>
20936         Make NetworkRTCResolver port agnostic
20937         https://bugs.webkit.org/show_bug.cgi?id=178855
20939         Reviewed by Youenn Fablet.
20941         Added new unit tests for he resolve and stopResolve functions. We need to compile them for the
20942         other platforms when the APIs are supported.
20944         * TestWebKitAPI/PlatformGTK.cmake:
20945         * TestWebKitAPI/Tests/WebCore/DNS.cpp:
20947 2018-03-06  Youenn Fablet  <youenn@apple.com>
20949         didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
20950         https://bugs.webkit.org/show_bug.cgi?id=183299
20951         <rdar://problem/37547029>
20953         Reviewed by Alex Christensen.
20955         Add support for checking whether this callback is called.
20956         Used in the added layout test.
20958         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
20959         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
20960         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
20961         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
20962         * WebKitTestRunner/InjectedBundle/TestRunner.h:
20963         * WebKitTestRunner/TestController.cpp:
20964         (WTR::TestController::createOtherPage):
20965         (WTR::TestController::resetStateToConsistentValues):
20966         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation):
20967         * WebKitTestRunner/TestController.h:
20968         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation const):
20969         (WTR::TestController::clearDidReceiveServerRedirectForProvisionalNavigation):
20970         * WebKitTestRunner/TestInvocation.cpp:
20971         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
20973 2018-03-06  Chris Dumez  <cdumez@apple.com>
20975         fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
20976         https://bugs.webkit.org/show_bug.cgi?id=183345
20978         Reviewed by Alex Christensen.
20980         Add layout test infrastructure so a test can know when didCancelClientRedirectForFrame has
20981         been called. The tests used to rely on a 0-timer but this does not work when the client
20982         responds to the navigation policy asynchronously.
20984         * DumpRenderTree/TestRunner.cpp:
20985         (getDidCancelClientRedirect):
20986         (TestRunner::staticValues):
20987         * DumpRenderTree/TestRunner.h:
20988         (TestRunner::didCancelClientRedirect const):
20989         (TestRunner::setDidCancelClientRedirect):
20990         * DumpRenderTree/mac/FrameLoadDelegate.mm:
20991         (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
20992         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
20993         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
20994         (WTR::InjectedBundlePage::didCancelClientRedirectForFrame):
20995         * WebKitTestRunner/InjectedBundle/TestRunner.h:
20996         (WTR::TestRunner::didCancelClientRedirect const):
20997         (WTR::TestRunner::setDidCancelClientRedirect):
20999 2018-03-06  Zan Dobersek  <zdobersek@igalia.com>
21001         REGRESSION(r229309): s_exceptionInstructions allocation change causing crashes in LLInt on WPE
21002         https://bugs.webkit.org/show_bug.cgi?id=183366
21004         Reviewed by Michael Catanzaro.
21006         Have the TestRunnerInjectedBundle CMake library link against libraries
21007         in the WebKitTestRunnerInjectedBundle_LIBRARIES list, and not the
21008         WebKitTestRunner_LIBRARIES list, which is used for the WebKitTestRunner
21009         executable. This allows narrowing down the libraries to only those that
21010         are necessary for the injected bundle shared object.
21012         The GTK+ port already has this list specified, adding one for the WPE
21013         port.
21015         * WebKitTestRunner/CMakeLists.txt:
21016         Link the TestRunnerInjectedBundle library against the libraries in the
21017         WebKitTestRunnerInjectedBundle_LIBRARIES list.
21018         * WebKitTestRunner/PlatformWPE.cmake:
21019         Specify the WebKitTestRunnerInjectedBundle_LIBRARIES list, including the
21020         basic system dependencies, WebCoreTestSupport and WebKit. This follows
21021         the GTK+ port.
21023 2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>
21025         [ARM] Disable tests that run out of memory
21026         https://bugs.webkit.org/show_bug.cgi?id=182699
21028         Reviewed by Å½an DoberÅ¡ek.
21030         Add run mode to allow running modules.yaml-tests without
21031         disabling LLInt for specific tests.
21033         * Scripts/run-jsc-stress-tests:
21035 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
21037         Fix std::make_unique / new[] using system malloc
21038         https://bugs.webkit.org/show_bug.cgi?id=182975
21040         Reviewed by JF Bastien.
21042         * TestWebKitAPI/CMakeLists.txt:
21043         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21044         * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: Copied from Source/WebKit/Platform/win/LoggingWin.cpp.
21045         (TestWebKitAPI::NonTrivialDestructor::NonTrivialDestructor):
21046         (TestWebKitAPI::NonTrivialDestructor::~NonTrivialDestructor):
21047         (TestWebKitAPI::NonTrivialDestructor::setLog):
21048         (TestWebKitAPI::TEST):
21050 2018-03-05  Myles C. Maxfield  <mmaxfield@apple.com>
21052         DumpRenderTree build fix
21054         Unreviewed.
21056         * DumpRenderTree/mac/LayoutTestHelper.m:
21058 2018-03-05  Andy Estes  <aestes@apple.com>
21060         [Mac] Teach WebCore::Pasteboard about file promise drags
21061         https://bugs.webkit.org/show_bug.cgi?id=183314
21062         <rdar://problem/38105493>
21064         Reviewed by Darin Adler.
21066         * DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
21067         * DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
21068         (-[DumpRenderTreeFileDraggingSource initWithPromisedFileURLs:]):
21069         (-[DumpRenderTreeFileDraggingSource dealloc]):
21071         Taught DumpRenderTreeFileDraggingSource to store the promised file URLs.
21073         * DumpRenderTree/mac/DumpRenderTree.mm:
21074         (runTest):
21076         Called +[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers] after running a test.
21078         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
21079         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
21080         (-[DumpRenderTreeFilePromiseReceiver initWithPromisedUTIs:]):
21081         (-[DumpRenderTreeFilePromiseReceiver fileTypes]):
21082         (-[DumpRenderTreeFilePromiseReceiver fileNames]):
21083         (-[DumpRenderTreeFilePromiseReceiver dealloc]):
21084         (copyFile):
21085         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
21087         We can't instantiate real NSFilePromiseReceivers in DumpRenderTree. They rely on the
21088         pasteboard server to generate unique file URLs, which is incompatible with our swizzled
21089         NSPasteboard.
21091         Instead, create a subclass of NSFilePromiseReceiver that implements its own promise resolution.
21092         -receivePromisedFilesAtDestination:... asks its DumpRenderTreeFileDraggingSource for the
21093         array of file URLs, then copies each to the destination directory on the specified operation
21094         queue. It emulates how NSPasteboard tries to find a unique destination name by appending
21095         numbers to the file name.
21097         All receivers are collected in a global array that is cleared when each test finishes.
21098         DumpRenderTreeFilePromiseReceiver will delete the files it copied in -dealloc.
21100         (+[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers]):
21101         (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
21102         
21103         If NSFilesPromisePboardType is on the pasteboard and classArray contains
21104         NSFilePromiseReceiver, construct a DumpRenderTreeFilePromiseReceiver, add it to the array of
21105         all file promise receivers, then wrap it in an NSDraggingItem and call block.
21107         * DumpRenderTree/mac/EventSendingController.mm:
21108         (+[EventSendingController isSelectorExcludedFromWebScript:]):
21109         (+[EventSendingController webScriptNameForSelector:]):
21110         (-[EventSendingController beginDragWithFilePromises:]):
21112         Implement eventSender.beginDragWithFilePromises() by placing file UTIs on the pasteboard
21113         with type NSFilesPromisePboardType, creating a DumpRenderTreeFileDraggingSource with the
21114         file URLs, and creating a new DumpRenderTreeDraggingInfo and passing it to
21115         -[WebView draggingEntered:].
21117 2018-03-05  Aakash Jain  <aakash_jain@apple.com>
21119         [webkitpy] Bugzilla class should use NetworkTransaction for network operations
21120         https://bugs.webkit.org/show_bug.cgi?id=183222
21122         Reviewed by Alexey Proskuryakov.
21124         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
21125         (Bugzilla.open_url): Method which uses NetworkTransaction for opening url.
21126         (Bugzilla.fetch_user): Used self.open_url instead of directly calling browser.open().
21127         (Bugzilla.add_user_to_groups): Ditto.
21128         (Bugzilla._fetch_bug_page): Ditto.
21129         (Bugzilla.fetch_attachment_contents): Ditto.
21130         (Bugzilla.get_bug_id_for_attachment_id): Ditto.
21131         (Bugzilla.authenticate): Ditto.
21132         (Bugzilla.add_attachment_to_bug): Ditto.
21133         (Bugzilla.add_patch_to_bug): Ditto.
21134         (Bugzilla.create_bug): Ditto.
21135         (Bugzilla.clear_attachment_flags): Ditto.
21136         (Bugzilla.set_flag_on_attachment): Ditto.
21137         (Bugzilla.obsolete_attachment): Ditto.
21138         (Bugzilla.add_cc_to_bug): Ditto.
21139         (Bugzilla.post_comment_to_bug): Ditto.
21140         (Bugzilla.close_bug_as_fixed): Ditto.
21141         (Bugzilla.reassign_bug): Ditto.
21142         (Bugzilla.reopen_bug): Ditto.
21143         (Bugzilla._fetch_bug_page_by_url): Deleted, not required anymore.
21144         * Scripts/webkitpy/common/net/networktransaction.py:
21145         (NetworkTransaction.run): Added a FIXME.
21147 2018-03-05  Joseph Pecoraro  <pecoraro@apple.com>
21149         dump-class-layout mishandles duplicates base classes and miscomputes padding
21150         https://bugs.webkit.org/show_bug.cgi?id=183311
21152         Reviewed by Simon Fraser.
21154         * Scripts/dump-class-layout:
21155         (verify_type):
21156         (verify_type_recursive):
21157         Keep a list of seen (offset, type) that we have output and don't re-output them.
21158         The Python types list the base classes as members multiple times as you iterate
21159         through the members, so just ignore them if we have seem them already at a
21160         specific offset.
21162 2018-03-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
21164         [GTK][Wayland] The GTK Wayland bot exits early because of assertions related with libsecret since r221925
21165         https://bugs.webkit.org/show_bug.cgi?id=183330
21167         Reviewed by Michael Catanzaro.
21169         Add libsecret to the JHBuild and build it only when the system version is
21170         less than 0.18.6 (unreleased as of writing this) in order to cherry pick
21171         a fix for a bug that causes crashes with layout tests.
21173         * gtk/jhbuild.modules:
21174         * gtk/patches/libsecret-secret-methods-Don-t-unref-NULL-when-search-fails.patch: Added.
21176 2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>
21178         [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
21179         https://bugs.webkit.org/show_bug.cgi?id=183143
21181         Reviewed by Carlos Garcia Campos.
21183         Implement ::setWindowIsKey() by keeping a second window to be
21184         presented when the webview's window is to lose its key status.
21186         * WebKitTestRunner/PlatformWebView.h:
21187         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
21188         (WTR::PlatformWebView::PlatformWebView):
21189         (WTR::PlatformWebView::~PlatformWebView):
21190         (WTR::PlatformWebView::setWindowIsKey):
21192 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
21194         Unreviewed, attempt to fix Apple port build
21196         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
21198 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
21200         Unreviewed, attempt to fix WPE build
21202         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
21203         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
21204         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
21205         (WTR::PlatformWebView::windowSnapshotImage):
21206         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
21207         (WTR::TestController::platformRunUntil):
21209 2018-03-04  Yusuke Suzuki  <utatane.tea@gmail.com>
21211         [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
21212         https://bugs.webkit.org/show_bug.cgi?id=183312
21214         Reviewed by Mark Lam.
21216         Remove wtf/CurrentTime.h include pragma.
21218         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
21219         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
21220         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
21221         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
21222         * TestWebKitAPI/Tests/WTF/Condition.cpp:
21223         * TestWebKitAPI/Tests/WTF/Signals.cpp:
21224         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
21225         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
21226         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
21227         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
21228         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
21229         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21231 2018-03-04  Tim Horton  <timothy_horton@apple.com>
21233         Make !ENABLE(DATA_DETECTION) iOS build actually succeed
21234         https://bugs.webkit.org/show_bug.cgi?id=183283
21235         <rdar://problem/38062148>
21237         Reviewed by Sam Weinig.
21239         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
21241 2018-03-02  Chris Dumez  <cdumez@apple.com>
21243         Converting a load to a download does not work with async policy delegates
21244         https://bugs.webkit.org/show_bug.cgi?id=183254
21245         <rdar://problem/38035334>
21247         Reviewed by Youenn Fablet.
21249         Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
21250         delegate asynchronously.
21252         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
21253         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
21254         (WTR::InjectedBundlePage::decidePolicyForResponse):
21255         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21256         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
21257         * WebKitTestRunner/InjectedBundle/TestRunner.h:
21258         (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
21259         * WebKitTestRunner/TestController.cpp:
21260         (WTR::TestController::resetStateToConsistentValues):
21261         (WTR::TestController::decidePolicyForNavigationResponse):
21262         * WebKitTestRunner/TestController.h:
21263         (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
21264         * WebKitTestRunner/TestInvocation.cpp:
21265         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
21267 2018-03-01  Youenn Fablet  <youenn@apple.com>
21269         Add API test to validate setting of service worker and cache storage directories
21270         https://bugs.webkit.org/show_bug.cgi?id=182543
21272         Reviewed by Chris Dumez.
21274         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
21276 2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>
21278         [Win][DRT] Implement setSpatialNavigationEnabled.
21279         https://bugs.webkit.org/show_bug.cgi?id=183166
21281         Reviewed by Per Arne Vollan.
21283         * DumpRenderTree/TestRunner.cpp:
21284         (setSpatialNavigationEnabledCallback):
21285         * DumpRenderTree/win/DumpRenderTree.cpp:
21286         (resetWebPreferencesToConsistentValues):
21287         * DumpRenderTree/win/TestRunnerWin.cpp:
21288         (TestRunner::setSpatialNavigationEnabled):
21290 2018-03-01  Basuke Suzuki  <Basuke.Suzuki@sony.com>
21292         [webkitpy] Use shell=False to launch apache http server.
21293         https://bugs.webkit.org/show_bug.cgi?id=183191
21295         Reviewed by Aakash Jain.
21297         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
21298         (LayoutTestApacheHttpd.__init__):
21299         (LayoutTestApacheHttpd._run):
21301 2018-03-01  Chris Dumez  <cdumez@apple.com>
21303         Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
21305         We no longer do policy checks for 'about:blank'.
21307         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
21308         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
21309         (TEST):
21311 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
21313         [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
21314         https://bugs.webkit.org/show_bug.cgi?id=183184
21315         <rdar://problem/37958594>
21317         Reviewed by Aakash Jain.
21319         Unlisted Apple versions can't run webkitpy tests because they don't
21320         have specified port names.
21322         * Scripts/webkitpy/port/apple.py:
21323         (ApplePort.determine_full_port_name): Return valid port name for unnamed
21324         versions.
21325         * Scripts/webkitpy/port/base.py:
21326         (Port.version_name): Check both public and internal version mapping
21327         when returning a version name.
21328         * Scripts/webkitpy/port/mac.py:
21329         (MacPort.__init__): If no os version is defined, use the current version.
21331 2018-02-28  John Wilander  <wilander@apple.com>
21333         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
21334         https://bugs.webkit.org/show_bug.cgi?id=183218
21335         <rdar://problem/37992388>
21337         Reviewed by Brent Fulgham.
21339         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
21340             Added two new testRunner functions:
21341             - setStatisticsVeryPrevalentResource()
21342             - isStatisticsVeryPrevalentResource()
21343         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21344         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
21345         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
21346         * WebKitTestRunner/InjectedBundle/TestRunner.h:
21347         * WebKitTestRunner/TestController.cpp:
21348         (WTR::TestController::setStatisticsVeryPrevalentResource):
21349         (WTR::TestController::isStatisticsVeryPrevalentResource):
21350         * WebKitTestRunner/TestController.h:
21351         * WebKitTestRunner/TestInvocation.cpp:
21352         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
21354 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
21356         [webkitpy] Remove concept of 'future' versions (Follow-up fix)
21357         https://bugs.webkit.org/show_bug.cgi?id=183184
21358         <rdar://problem/37958594>
21360         Reviewed by David Kilzer.
21362         The factory also relies on future in a non-obvious way.
21364         * Scripts/webkitpy/common/system/platforminfo.py:
21365         (PlatformInfo.os_version_name): Check both public and internal version mapping
21366         when returning a version name.
21367         * Scripts/webkitpy/common/system/platforminfo_mock.py:
21368         (MockPlatformInfo.os_version_name): Ditto.
21370 2018-02-28  Zan Dobersek  <zdobersek@igalia.com>
21372         Unreviewed WPE fixup after r229080.
21374         Add empty definitions for two AccessibilityUIElement methods,
21375         avoiding undefined symbols in the WKTR injected bundle.
21377         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
21378         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
21379         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21381 2018-02-27  Jonathan Bedard  <jbedard@apple.com>
21383         Remove concept of 'future'
21384         https://bugs.webkit.org/show_bug.cgi?id=183184
21385         <rdar://problem/37958594>
21387         Reviewed by Aakash Jain.
21389         Remove concept of 'future' from expectations and instead
21390         use a system of inheritance centered around the current version
21391         of an OS for Mac and iOS.
21393         Inheritance works like so:
21395         | ....
21396         V Future
21397         > High Sierra (mac)
21398         ^ mac-sierra
21399         | mac-elcapitan
21400         | ....
21402         This does not change expectation inheritance for any currently running
21403         configurations, it generalizes the logic already used.
21405         * Scripts/webkitpy/common/version_name_map.py:
21406         (VersionNameMap.__init__): Remove all future versions.
21407         (VersionNameMap.mapping_for_platform): Return empty dicts instead of
21408         asserting.
21409         * Scripts/webkitpy/port/apple.py:
21410         (ApplePort):
21411         (ApplePort._allowed_versions): Return all available versions.
21412         (ApplePort._generate_all_test_configurations): Instead of picking from a set
21413         of allowed versions, assume that every specified version is allowed.
21414         (ApplePort._port_name_with_version): Deleted.
21415         * Scripts/webkitpy/port/darwin.py: Add CURRENT_VERSION overridden by subclasses.
21416         (DarwinPort):
21417         * Scripts/webkitpy/port/ios.py:
21418         (IOSPort):
21419         (IOSPort.default_baseline_search_path): Use system of inheritance centered around
21420         the current version.
21421         * Scripts/webkitpy/port/mac.py:
21422         (MacPort):
21423         (MacPort.__init__): Use current version by default.
21424         (MacPort.default_baseline_search_path): Use system of inheritance centered around
21425         the current version.
21426         (MacPort.configuration_specifier_macros): Use the same set of version names
21427         supported in default_baseline_search_path.
21428         * Scripts/webkitpy/port/mac_unittest.py:
21429         (MacTest.test_versions): Remove 'future' tests.
21431 2018-02-27  Michael Catanzaro  <mcatanzaro@igalia.com>
21433         Unreviewed GTK test gardening
21435         * TestWebKitAPI/glib/TestExpectations.json:
21437 2018-02-27  Doug Russell  <doug@getitdownonpaper.com>
21439         AX: Spell check and style attributes should be optional when fetching attributed string
21440         https://bugs.webkit.org/show_bug.cgi?id=160744
21442         Reviewed by Chris Fleizach.
21444         The overhead of fetching a spell checked attributed string via AX API is substantial. 
21445         In some cases on the order of 7/8 of the total time spent fetching the string.
21447         This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).
21449         AXAttributedStringForTextMarkerRange will remain unchanged.
21451         * DumpRenderTree/AccessibilityUIElement.cpp:
21452         (attributedStringForTextMarkerRangeCallback):
21453         (attributedStringForTextMarkerRangeWithOptionsCallback):
21454         (AccessibilityUIElement::attributedStringForTextMarkerRange):
21455         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21456         (AccessibilityUIElement::getJSClass):
21457         * DumpRenderTree/AccessibilityUIElement.h:
21458         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
21459         (AccessibilityUIElement::attributedStringForTextMarkerRange):
21460         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21461         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
21462         (createJSStringRef):
21463         (AccessibilityUIElement::attributedStringForTextMarkerRange):
21464         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21465         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
21466         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
21467         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
21468         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
21469         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21470         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
21471         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
21472         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21473         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
21474         (WTR::createJSStringRef):
21475         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
21476         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
21478 2018-02-27  Daniel Bates  <dabates@apple.com>
21480         Standardize terminology for marked text
21481         https://bugs.webkit.org/show_bug.cgi?id=180999
21483         Reviewed by Zalan Bujtas.
21485         The name MarkerSubrange is a misnomer for a data structure that associates a text subrange with a type
21486         and optional document marker. In particular, a MarkerSubrange may not always correspond to a document
21487         marker. For instance, selected text is represented using a MarkerSubrange that does not have a
21488         corresponding document marker. Let's standardize on the phrase "marked text" as the canonical way to
21489         describe these tagged text subranges.
21491         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21492         * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: Added.
21493         (WebCore::operator<<):
21494         (TestWebKitAPI::TEST):
21495         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Removed.
21497 2018-02-27  Aakash Jain  <aakash_jain@apple.com>
21499         webkitpy Bugzilla transactions should retry on URLError
21500         https://bugs.webkit.org/show_bug.cgi?id=183156
21502         Reviewed by Alexey Proskuryakov.
21504         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
21505         (Bugzilla): Use NetworkTransaction.
21506         (Bugzilla._fetch_bug_page_by_url):
21507         (Bugzilla.bug_id_for_attachment_id):
21508         (Bugzilla.get_bug_id_for_attachment_id):
21510 2018-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
21512         [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior
21513         https://bugs.webkit.org/show_bug.cgi?id=183100
21514         <rdar://problem/37840987>
21516         Reviewed by Tim Horton.
21518         Add API tests that exercise -_setMinimumAllowedLayoutWidth: and -_setForceHorizontalViewportShrinkToFit:. See
21519         WebKit ChangeLog for more detail.
21521         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21522         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Added.
21523         (TestWebKitAPI::while):
21524         (viewportTestPageMarkup):
21525         (TestWebKitAPI::TEST):
21527 2018-02-27  Yusuke Suzuki  <utatane.tea@gmail.com>
21529         Unreviewed, skip FTL tests if FTL is disabled
21530         https://bugs.webkit.org/show_bug.cgi?id=183071
21532         * Scripts/run-jsc-stress-tests:
21534 2018-02-26  Don Olmstead  <don.olmstead@sony.com>
21536         Fix WebCore includes within WebKitLegacy
21537         https://bugs.webkit.org/show_bug.cgi?id=183147
21539         Reviewed by Tim Horton.
21541         * MiniBrowser/win/ResourceLoadDelegate.cpp:
21543 2018-02-26  Yousuke Kimoto  <yousuke.kimoto@sony.com>
21545         [WinCairo] WebKit2_C.h should be included for TestWebKit
21546         https://bugs.webkit.org/show_bug.cgi?id=182682
21548         Reviewed by Yusuke Suzuki.
21550         * TestWebKitAPI/config.h:
21552 2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>
21554         [WK2] http/tests/navigation/new-window-redirect-history.html crashes
21555         https://bugs.webkit.org/show_bug.cgi?id=127683
21557         Reviewed by Dan Bernstein.
21559         m_previousTestBackForwardListItem was null for the new window.
21560         m_previousTestBackForwardListItem is initialized only for the main
21561         window in InjectedBundlePage::prepare.
21563         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
21564         (WTR::InjectedBundlePage::dumpBackForwardList):
21565         Do null-check of m_previousTestBackForwardListItem.
21567 2018-02-25  Alexey Proskuryakov  <ap@apple.com>
21569         Various crashes in WebKitTestRunner, especially when system is under heavy load
21570         https://bugs.webkit.org/show_bug.cgi?id=183109
21572         Reviewed by Tim Horton.
21574         WebKitTestRunner had many places where it sent messages to WebContent with a timeout,
21575         but it didn't handle the timeout when it did occur. Nearly all of those would result
21576         in logic errors and failing tests, and most would even result in stack corruption,
21577         as the response handler modified local variables.
21579         There is only one timeout scenario that we actually mean to handle in WKTR. That's
21580         when a test freezes after it is done (e.g. an infinite loop in beforeunload) - we don't
21581         want to blame the next test for freezing, so we silently relaunch WebContent.
21582         Everything else is cargo cult code that never worked.
21584         This patch addresses the crashes, and actually makes tests pass a lot more on an
21585         overloaded system.
21587         * WebKitTestRunner/TestController.cpp:
21588         (WTR::TestController::resetStateToConsistentValues): Moved m_doneResetting assignment
21589         to where it's actually needed, for clarity.
21590         (WTR::TestController::reattachPageToWebProcess): This function used to always hit
21591         and ignore message timeout, as m_doneResetting is only updated by navigation callback
21592         when the state is Resetting. This change makes it faster.
21593         (WTR::TestController::platformResetStateToConsistentValues): Style fix.
21594         (WTR::TestController::clearServiceWorkerRegistrations): Timing out here wasn't
21595         handled in a meaningful manner, and would even corrupt the stack.
21596         (WTR::TestController::clearDOMCache): Ditto.
21597         (WTR::TestController::clearDOMCaches): Ditto.
21598         (WTR::TestController::hasDOMCache): Ditto.
21599         (WTR::TestController::domCacheSize): Ditto.
21600         (WTR::TestController::isStatisticsPrevalentResource): Ditto.
21601         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Ditto.
21602         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Ditto.
21603         (WTR::TestController::isStatisticsHasHadUserInteraction): Ditto.
21604         (WTR::TestController::isStatisticsGrandfathered): Ditto.
21605         (WTR::TestController::statisticsUpdateCookiePartitioning): Ditto.
21606         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Ditto.
21607         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Ditto.
21608         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
21609         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Ditto.
21611         * WebKitTestRunner/TestInvocation.cpp:
21612         (WTR::TestInvocation::shortTimeout const): Made shortTimeout shorter (on a hunch).
21613         (WTR::TestInvocation::invoke): Removed a timeout waiting for initial response. There
21614         is never a logical reason for such a timeout, as we always have a new or responsive
21615         WebContent process here.
21616         (WTR::TestInvocation::dumpResults): Removed another timeout that we don't know how to
21617         properly handle.
21618         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Removed assignment to
21619         m_errorMessage, which had no effect in this context.
21621         * WebKitTestRunner/TestInvocation.h: Removed no longer used code.
21623         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
21624         (WTR::TestController::cocoaResetStateToConsistentValues): Use a named constant for
21625         no timeout.
21626         
21627         * WebKitTestRunner/ios/TestControllerIOS.mm:
21628         (WTR::TestController::platformConfigureViewForTest): Removed a useless timeout.
21629         Not sure if timing out here would corrupt the stack or not, but there is no reason
21630         to impose arbitrary limits on individual steps of a test.
21632         * WebKitTestRunner/mac/TestControllerMac.mm:
21633         (WTR::TestController::platformConfigureViewForTest): Use a named constant for
21634         no timeout.
21636 2018-02-25  Ali Juma  <ajuma@chromium.org>
21638         Unreviewed. Change my status to committer.
21640         * Scripts/webkitpy/common/config/contributors.json:
21642 2018-02-25  Chris Dumez  <cdumez@apple.com>
21644         Service workers do not work well inside Web.app
21645         https://bugs.webkit.org/show_bug.cgi?id=183105
21646         <rdar://problem/37864140>
21648         Reviewed by Youenn Fablet.
21650         Add API test coverage.
21652         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
21654 2018-02-25  Aakash Jain  <aakash_jain@apple.com>
21656         [build.webkit.org] unit-tests fail if buildbot 0.8.6p1 is not installed locally
21657         https://bugs.webkit.org/show_bug.cgi?id=183103
21659         Reviewed by Alexey Proskuryakov.
21661         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed extra imports.
21663 2018-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
21665         Unreviewed, fix the TestWebKitAPI build after r228825.
21667         I removed a `>= iOS 11` check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
21668         builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
21670         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
21672 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
21674         Remove currentTime() / currentTimeMS()
21675         https://bugs.webkit.org/show_bug.cgi?id=183052
21677         Reviewed by Mark Lam.
21679         * DumpRenderTree/TestRunner.cpp:
21680         (preciseTimeCallback):
21681         * DumpRenderTree/mac/TestRunnerMac.mm:
21682         (TestRunner::setMockGeolocationPosition):
21683         * TestWebKitAPI/Tests/WTF/Condition.cpp:
21684         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
21685         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
21686         * WebKitTestRunner/GeolocationProviderMock.cpp:
21687         (WTR::GeolocationProviderMock::setPosition):
21688         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21689         (WTR::TestRunner::preciseTime):
21691 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
21693         Remove sleep(double) and sleepMS(double) interfaces
21694         https://bugs.webkit.org/show_bug.cgi?id=183038
21696         Reviewed by Mark Lam.
21698         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
21699         (PluginTest::indicateTestFailure):
21700         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
21701         (EvaluteJSWithinNPP_New::NPP_New):
21702         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
21703         (InvokeDestroysPluginWithinNPP_New::NPP_New):
21704         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
21705         * TestWebKitAPI/Tests/WTF/Signals.cpp:
21706         (TEST):
21707         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
21708         (TestWebKitAPI::testThreadGroup):
21709         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
21710         (TestWebKitAPI::TEST):
21711         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
21712         (TestWebKitAPI::TEST):
21713         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
21714         (TestWebKitAPI::TEST):
21715         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
21716         (TestWebKitAPI::Util::sleep):
21718 2018-02-21  Don Olmstead  <don.olmstead@sony.com>
21720         [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
21721         https://bugs.webkit.org/show_bug.cgi?id=182883
21723         Reviewed by Per Arne Vollan.
21725         * DumpRenderTree/config.h:
21726         * TestWebKitAPI/config.h:
21728 2018-02-21  Michael Catanzaro  <mcatanzaro@igalia.com>
21730         [GTK] Unsafe g_setenv use in MiniBrowser main
21731         https://bugs.webkit.org/show_bug.cgi?id=182978
21733         Reviewed by Carlos Garcia Campos.
21735         setenv (and g_setenv) will randomly crash if called too late.
21737         * MiniBrowser/gtk/main.c:
21738         (main):
21740 2018-02-21  Aakash Jain  <aakash_jain@apple.com>
21742         webkitpy NetworkTransaction should retry on URLError
21743         https://bugs.webkit.org/show_bug.cgi?id=182987
21745         Reviewed by Alexey Proskuryakov.
21747         * Scripts/webkitpy/common/net/networktransaction.py:
21748         (NetworkTransaction.run): Retry on urllib2.URLError.
21750 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
21752         [WTR][WPE] Correct the process names in TestController.
21753         https://bugs.webkit.org/show_bug.cgi?id=178700
21755         Reviewed by Michael Catanzaro.
21757         Similar to r228731 for GTK.
21759         * Scripts/webkitpy/port/wpe.py:
21760         (WPEPort._get_crash_log): removed the code to convert WebProcess name.
21761         * WebKitTestRunner/TestController.cpp: return the correct process names for WPE.
21762         (WTR::TestController::webProcessName):
21763         (WTR::TestController::networkProcessName):
21764         (WTR::TestController::databaseProcessName):
21766 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
21768         [ATK] Remove attributeSet variable from AccessibilityUIElement::attributedStringForRange().
21769         https://bugs.webkit.org/show_bug.cgi?id=183000
21771         Reviewed by Joanmarie Diggs.
21773         It is never initialized, but is passed to atk_attribute_set_free.
21774         This caused a crash in accessibility/content-editable-as-textarea.html on the debug bots.
21776         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
21777         (WTR::AccessibilityUIElement::attributedStringForRange):
21779 2018-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
21781         [Cocoa] Make system-ui obey the user-installed-font policy
21782         https://bugs.webkit.org/show_bug.cgi?id=182860
21783         <rdar://problem/36158249>
21785         Reviewed by Antti Koivisto.
21787         Create a font, FakeHelvetica-ArmenianCharacter.ttf, which supports a particular Armenian
21788         character which isn't isn't supported by any other font on the system.
21790         * WebKitTestRunner/FakeHelvetica-ArmenianCharacter.ttf:
21791         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
21793 2018-02-20  Timothy Horton  <timothy_horton@apple.com>
21795         Try to fix the 32-bit build after r228857
21797         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
21798         (WTR::UIScriptController::firstResponderSuppressionForWebView):
21800 2018-02-20  Nan Wang  <n_wang@apple.com>
21802         AX: Keyboard focus not following VoiceOver cursor into web content or within web content.
21803         https://bugs.webkit.org/show_bug.cgi?id=182752
21804         <rdar://problem/37518233>
21806         Reviewed by Ryosuke Niwa.
21808         * DumpRenderTree/mac/UIScriptControllerMac.mm:
21809         (WTR::UIScriptController::firstResponderSuppressionForWebView):
21810         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
21811         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
21812         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
21813         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
21814         (WTR::UIScriptController::firstResponderSuppressionForWebView):
21815         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
21816         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
21817         * TestRunnerShared/UIScriptContext/UIScriptController.h:
21818         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
21819         (WTR::UIScriptController::firstResponderSuppressionForWebView):
21820         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
21821         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
21823 2018-02-20  Fujii Hironori  <Hironori.Fujii@sony.com>
21825         [GTK] jhbuild: Remove gtk-doc
21826         https://bugs.webkit.org/show_bug.cgi?id=182956
21828         Reviewed by Michael Catanzaro.
21830         jhbuild doesn't need to build gtk-doc because major LTS Linux
21831         distributions have gtk-doc v1.25, and
21832         Tools/gtk/install-dependencies installs gtk-doc.
21834         * gtk/jhbuild.modules: Removed gtk-doc.
21836 2018-02-20  Tim Horton  <timothy_horton@apple.com>
21838         Introduce HAVE(IOSURFACE_ACCELERATOR)
21839         https://bugs.webkit.org/show_bug.cgi?id=182955
21840         <rdar://problem/37699510>
21842         Reviewed by Sam Weinig.
21844         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
21845         (createBitmapContextFromWebView):
21846         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
21847         (WTR::PlatformWebView::windowSnapshotImage):
21849 2018-02-20  Chris Dumez  <cdumez@apple.com>
21851         Provisional load may get committed before receiving the decidePolicyForNavigationResponse response
21852         https://bugs.webkit.org/show_bug.cgi?id=182720
21853         <rdar://problem/37515204>
21855         Reviewed by Alex Christensen.
21857         Add API test coverage.
21859         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm:
21860         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
21861         (TestWebKitAPI::TEST):
21863 2018-02-20  Nan Wang  <n_wang@apple.com>
21865         AX: AOM: Dispatch accessibleclick event
21866         https://bugs.webkit.org/show_bug.cgi?id=180898
21867         <rdar://problem/36086710>
21869         Reviewed by Ryosuke Niwa.
21871         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
21872         (WTR::AccessibilityUIElement::syncPress):
21873         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
21874         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
21875         (WTR::AccessibilityUIElement::syncPress):
21877 2018-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
21879         [iOS 11.3 Beta] Can't copy a URL from Safari and paste it into the Gmail app
21880         https://bugs.webkit.org/show_bug.cgi?id=182952
21881         <rdar://problem/37636190>
21883         Reviewed by Tim Horton.
21885         Adds a new iOS copy/paste test that copies an anchor element via action sheet, and checks that upon pasting,
21886         both "text/plain" and "text/uri-list" are provided. Additionally tweaks an existing iOS drag and drop test to
21887         check for the same behavior.
21889         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
21890         (TestWebKitAPI::TEST):
21891         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
21892         (TestWebKitAPI::TEST):
21894 2018-02-20  Philippe Normand  <pnormand@igalia.com>
21896         [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser
21897         https://bugs.webkit.org/show_bug.cgi?id=173655
21899         Reviewed by Xabier Rodriguez-Calvar.
21901         The FIXME in GStreamerUtilities.cpp asks to pass the command line
21902         parameters to the GStreamer initialization function.
21904         Based on initial patch by: Vanessa Chipirrás Navalón  <vchipirras@igalia.com>
21906         * MiniBrowser/gtk/main.c:
21907         (main): Add the group containing the Gstreamer options that the console displays.
21909 2018-02-19  Fujii Hironori  <Hironori.Fujii@sony.com>
21911         [WTR][GTK] crash log backtrace doesn't show symbol names for DatabaseProcess and NetworkProcess
21912         https://bugs.webkit.org/show_bug.cgi?id=182953
21914         Reviewed by Carlos Garcia Campos.
21916         * Scripts/webkitpy/port/gtk.py:
21917         (GtkPort._get_crash_log): Removed the code to convert WebProcess name.
21918         * WebKitTestRunner/TestController.cpp:
21919         (WTR::TestController::webProcessName): Return the correct program name for GTK+ port.
21920         (WTR::TestController::networkProcessName): Ditto.
21921         (WTR::TestController::databaseProcessName): Ditto.
21923 2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>
21925         Unreviewed, rolling out r228696.
21927         The API test added with this change is timing out on macOS.
21929         Reverted changeset:
21931         "Null pointer dereference in
21932         WebPageProxy::urlSchemeHandlerForScheme()"
21933         https://bugs.webkit.org/show_bug.cgi?id=182905
21934         https://trac.webkit.org/changeset/228696
21936 2018-02-16  Ryosuke Niwa  <rniwa@webkit.org>
21938         Add an entitlement check for service worker on iOS
21939         https://bugs.webkit.org/show_bug.cgi?id=182865
21940         <rdar://problem/37505903>
21942         Reviewed by Brady Eidson.
21944         Added the service worker entitlements to WebKitTestRunner and TestWebKitAPI on iOS.
21946         * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
21947         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
21948         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
21949         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
21951 2018-02-16  Youenn Fablet  <youenn@apple.com>
21953         Allow specifying which plug-ins are supported
21954         https://bugs.webkit.org/show_bug.cgi?id=182748
21956         Reviewed by Chris Dumez.
21958         Add support for a test runner API to specificy supported plug-ins.
21960         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
21961         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
21962         (WTR::TestRunner::setPluginsAsUnsupported):
21963         * WebKitTestRunner/InjectedBundle/TestRunner.h:
21964         * WebKitTestRunner/TestController.cpp:
21965         (WTR::TestController::resetStateToConsistentValues):
21966         (WTR::TestController::setPluginsAsUnsupported):
21967         * WebKitTestRunner/TestController.h:
21968         * WebKitTestRunner/TestInvocation.cpp:
21969         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
21971 2018-02-16  Per Arne Vollan  <pvollan@apple.com>
21973         Implement stopping of run loop in the WebContent process when using NSRunLoop.
21974         https://bugs.webkit.org/show_bug.cgi?id=182499
21975         <rdar://problem/37247424>
21977         Reviewed by Brent Fulgham.
21979         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
21980         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm: Added.
21981         (TEST):
21983 2018-02-15  Alexey Proskuryakov  <ap@apple.com>
21985         Speed up dSYM generation on build.webkit.org with -gline-tables-only
21986         https://bugs.webkit.org/show_bug.cgi?id=182841
21987         rdar://problem/34579649
21989         Reviewed by Aakash Jain.
21991         Build speed and binary size improvements are so substantial that I'm willing to make
21992         CI builds less suitable for debugging, which is not a common scenario anyway.
21993         Crash logs will still have line numbers in them.
21995         * BuildSlaveSupport/build.webkit.org-config/steps.py: (CompileWebKit.start):
21997 2018-02-15  Don Olmstead  <don.olmstead@sony.com>
21999         WebCore headers should not be included relatively within dependent projects
22000         https://bugs.webkit.org/show_bug.cgi?id=182805
22002         Reviewed by Chris Dumez.
22004         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
22005         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
22006         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
22007         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
22008         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
22009         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
22011 2018-02-15  Tomas Popela  <tpopela@redhat.com>
22013         run-jsc-stress-tests - skip a test if any of the run commands evals to skip
22014         https://bugs.webkit.org/show_bug.cgi?id=182729
22016         If multiple run commands are specified and one of them evals to skip,
22017         then the test is not skipped, because the run is scheduled while
22018         evaluating other commands.
22020         Remember if the test is going to be skipped - if yes, just stop
22021         evaluating the other run commands.
22023         Reviewed by Saam Barati.
22025         * Scripts/run-jsc-stress-tests:
22027 2018-02-14  Charlie Turner  <cturner@igalia.com>
22029         Get Garden-O-Matic running again.
22030         https://bugs.webkit.org/show_bug.cgi?id=179089
22032         Reviewed by Carlos Alberto Lopez Perez.
22034         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
22035         (parseCommitData): Author field is not always spelled 'author' these days.
22036         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
22037         No longer have a 32-bit builder.
22038         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
22039         (ui.perf.View.base.init): createElement has a required parameter these days.
22040         * Scripts/webkitpy/tool/commands/gardenomatic.py:
22041         (GardenOMatic): Override use_globs so that platform lookup in config.js works.
22043 2018-02-14  Don Olmstead  <don.olmstead@sony.com>
22045         Remove unused ForwardingHeaders directories from Tools
22046         https://bugs.webkit.org/show_bug.cgi?id=182813
22048         Reviewed by Konstantin Tokarev.
22050         * DumpRenderTree/ForwardingHeaders/runtime/ArrayBufferView.h: Removed.
22051         * DumpRenderTree/ForwardingHeaders/runtime/JSArrayBufferView.h: Removed.
22052         * DumpRenderTree/ForwardingHeaders/runtime/JSExportMacros.h: Removed.
22053         * DumpRenderTree/ForwardingHeaders/runtime/TypedArrayInlines.h: Removed.
22054         * TestWebKitAPI/ForwardingHeaders/WebCore/LayoutUnit.h: Removed.
22056 2018-02-14  Daniel Bates  <dabates@apple.com>
22058         Disallow cross-origin subresources from asking for credentials
22059         https://bugs.webkit.org/show_bug.cgi?id=182579
22060         <rdar://problem/36162271>
22062         Reviewed by Andy Estes.
22064         Add test option allowCrossOriginSubresourcesToAskForCredential (defaults to false)
22065         so that tests can toggle between the old behavior and new behavior.
22067         * DumpRenderTree/TestOptions.h:
22068         * DumpRenderTree/TestOptions.mm:
22069         (TestOptions::TestOptions):
22070         * DumpRenderTree/mac/DumpRenderTree.mm:
22071         (setWebPreferencesForTestOptions):
22072         * WebKitTestRunner/TestController.cpp:
22073         (WTR::TestController::resetPreferencesToConsistentValues):
22074         (WTR::updateTestOptionsFromTestHeader):
22075         * WebKitTestRunner/TestOptions.h:
22076         (WTR::TestOptions::hasSameInitializationOptions const):
22078 2018-02-12  Ryosuke Niwa  <rniwa@webkit.org>
22080         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
22081         https://bugs.webkit.org/show_bug.cgi?id=182564
22083         Reviewed by Wenson Hsieh.
22085         Updated assertions to make sure the trailing "}" of @list rules is includd in the style, the "style" element
22086         is wrapped by "head" element (not present in the pasted markup since the fragment parsing algorithm strips away),
22087         and the style content is enclosed in "<!--" and "-->".
22089         Also use execCommand('insertHTML', ~) to insert the HTML obtained via dataTransfer.getData instead of innerHTML
22090         to make sure our pasting code preserves the special style element for MSO list quirks.
22092         Finally, added two more test cases for pasting content from Microsoft Word's compatibility mode.
22094         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
22095         (TEST):
22096         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
22097         (TEST):
22099 2018-02-14  Ross Kirsling  <ross.kirsling@sony.com>
22101         [Tools] --wincairo should imply --64-bit by default.
22102         https://bugs.webkit.org/show_bug.cgi?id=182753
22104         Reviewed by Daniel Bates.
22106         WinCairo does not currently support 32-bit and `--wincairo` itself should refer to a working platform.
22107         This patch ensures x64 is determined correctly for `build-webkit --no-ninja` and `run-webkit-tests`.
22109         * Scripts/webkitdirs.pm:
22110         (determinePassedArchitecture):
22111         (shouldBuild32Bit):
22112         (determineShouldBuild32Bit):
22113         (determineIsWin64):
22114         * Scripts/webkitpy/common/config/ports.py:
22115         (WinCairoPort.build_webkit_command):
22116         * Scripts/webkitpy/common/config/ports_unittest.py:
22117         (DeprecatedPortTest.test_wincairo_port):
22118         * Scripts/webkitpy/port/win.py:
22119         (WinCairoPort):
22121 2018-02-13  Commit Queue  <commit-queue@webkit.org>
22123         Unreviewed, rolling out r228431.
22124         https://bugs.webkit.org/show_bug.cgi?id=182766
22126         Regressed CMake build stability (Requested by dolmstead on
22127         #webkit).
22129         Reverted changeset:
22131         "[CMake] Make WebCore headers copies"
22132         https://bugs.webkit.org/show_bug.cgi?id=182512
22133         https://trac.webkit.org/changeset/228431
22135 2018-02-13  Don Olmstead  <don.olmstead@sony.com>
22137         [CMake] Make WebCore headers copies
22138         https://bugs.webkit.org/show_bug.cgi?id=182512
22140         Reviewed by Keith Miller.
22142         * DumpRenderTree/CMakeLists.txt:
22143         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
22144         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
22145         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
22146         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
22147         * TestWebKitAPI/PlatformGTK.cmake:
22148         * TestWebKitAPI/PlatformWPE.cmake:
22149         * TestWebKitAPI/PlatformWin.cmake:
22150         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
22151         (loadResourceIntoBuffer):
22152         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
22153         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
22154         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
22155         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
22156         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
22158 2018-02-13  Chris Dumez  <cdumez@apple.com>
22160         REGRESSION (r228299): Broke reader mode in Safari
22161         https://bugs.webkit.org/show_bug.cgi?id=182697
22162         <rdar://problem/37399012>
22164         Reviewed by Ryosuke Niwa.
22166         Add API test coverage for responding asynchronously to the decidePolicyForNavigationResponse
22167         delegate.
22169         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22170         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm: Added.
22171         (-[TestAsyncNavigationDelegate webView:didFinishNavigation:]):
22172         (-[TestAsyncNavigationDelegate webView:didFailNavigation:withError:]):
22173         (-[TestAsyncNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
22174         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
22175         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
22176         (TestWebKitAPI::TEST):
22178 2018-02-12  John Wilander  <wilander@apple.com>
22180         Resource Load Statistics: Classify resources as prevalent based on redirects to other prevalent resources
22181         https://bugs.webkit.org/show_bug.cgi?id=182664
22182         <rdar://problem/37372572>
22184         Reviewed by Brent Fulgham.
22186         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
22187         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
22188         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom):
22189         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo):
22190         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom):
22191         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22192         * WebKitTestRunner/TestController.cpp:
22193         (WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
22194         (WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
22195         (WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
22196         * WebKitTestRunner/TestController.h:
22197         * WebKitTestRunner/TestInvocation.cpp:
22198         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
22200 2018-02-12  Ross Kirsling  <ross.kirsling@sony.com>
22202         download-latest-github-release .py should not use "browser download URL".
22203         https://bugs.webkit.org/show_bug.cgi?id=182646
22205         Reviewed by Per Arne Vollan.
22207         * Scripts/download-latest-github-release.py:
22208         Download request should be a proper GitHub API call and should actually include the token when applicable.
22209         (Also clean up usage of args and print while we're in here.)
22211 2018-02-12  Per Arne Vollan  <pvollan@apple.com>
22213         EWS should run Windows tests.
22214         https://bugs.webkit.org/show_bug.cgi?id=177967
22216         Reviewed by Lucas Forschler.
22218         This will help catch regressions at an early stage.
22220         * Scripts/webkitpy/common/config/ews.json:
22222 2018-02-08  Ryosuke Niwa  <rniwa@webkit.org>
22224         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
22225         https://bugs.webkit.org/show_bug.cgi?id=182564
22227         Reviewed by Wenson Hsieh.
22229         Added tests for pasting HTML with list items generated by Microsoft Word as well as HTML which looks like
22230         the one generated by Microsoft Word but missing a proper "html" element at the beginning.
22232         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22233         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added test cases.
22234         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm: Added test cases.
22235         (msoListMarkupWithoutProperHTMLElement): Added.
22236         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html: Added.
22238 2018-02-09  Don Olmstead  <don.olmstead@sony.com>
22240         [CMake] Make PAL headers copies
22241         https://bugs.webkit.org/show_bug.cgi?id=182645
22243         Reviewed by Alex Christensen.
22245         * TestWebKitAPI/CMakeLists.txt:
22247 2018-02-08  Wenson Hsieh  <wenson_hsieh@apple.com>
22249         Pasting from Excel no longer provides text/html data
22250         https://bugs.webkit.org/show_bug.cgi?id=182636
22251         <rdar://problem/37087060>
22253         Reviewed by Ryosuke Niwa.
22255         Add new API tests to exercise pasting images with various other content types on macOS, and when dropping images
22256         and HTML markup on iOS. See the WebCore ChangeLog for more detail.
22258         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22259         * TestWebKitAPI/Tests/WebKitCocoa/DataTransfer.html: Added.
22261         Add a new API test harness that dumps various bits of information about a DataTransfer upon paste and drop.
22262         While somewhat similar to some existing harnesses, this makes a distinction between the raw HTML data on the
22263         pasteboard and the actual result of inserting said HTML into the DOM. This allows us to check that the HTML has
22264         been sanitized, while making checks for the actual content of the HTML robust against inline style changes.
22266         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
22267         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: Added.
22269         Add a new test suite to exercise pasting mixed content types. In these test cases, the pasteboard contains a
22270         file, with some combination of plain text, rich text, and URLs.
22272         (imagePath):
22273         (writeTypesAndDataToPasteboard):
22275         Add a helper to write a var-arg list of content types and data to the general NSPasteboard.
22277         (setUpWebView):
22278         (markupString):
22279         (TestWebKitAPI::TEST):
22280         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
22281         (TestWebKitAPI::testIconImageData):
22282         (TestWebKitAPI::TEST):
22283         * TestWebKitAPI/cocoa/TestWKWebView.h:
22285         Move a private declaration of -[WKWebView paste:] out to TestWKWebView.h, so that it can be shared across
22286         multiple tests. Currently, it only resides in PasteImage.mm, but I need it in PasteMixedContent.mm as well.
22288 2018-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
22290         Add a way to check if a host is an IP address
22291         https://bugs.webkit.org/show_bug.cgi?id=182427
22293         Reviewed by Alex Christensen.
22295         Add unit test for URL::hostIsIPAddress().
22297         * TestWebKitAPI/Tests/WebCore/URL.cpp:
22298         (TestWebKitAPI::TEST_F):
22300 2018-02-09  Philippe Normand  <pnormand@igalia.com>
22302         [GStreamer] Layout test fast/replaced/border-radius-clip.html crashes with GStreamer-CRITICAL **: gst_segment_to_stream_time: assertion 'segment->format == format' failed in gst_segment_to_stream_time()
22303         https://bugs.webkit.org/show_bug.cgi?id=176802
22305         Reviewed by Xabier Rodriguez-Calvar.
22307         * gstreamer/jhbuild.modules:
22308         * gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Added.
22310 2018-02-09  Philippe Normand  <pnormand@igalia.com>
22312         [JHBuild] Update Mesa to version 17
22313         https://bugs.webkit.org/show_bug.cgi?id=182599
22315         Reviewed by Carlos Alberto Lopez Perez.
22317         * gtk/jhbuild.modules: Update Mesa (and its dependencies, hopefully) to version 17.3.3.
22319 2018-02-08  Chris Dumez  <cdumez@apple.com>
22321         There should be a way to disable [OverrideBuiltins] behavior in a given DOMWrapperWorld
22322         https://bugs.webkit.org/show_bug.cgi?id=182524
22323         <rdar://problem/9057327>
22325         Reviewed by Ryosuke Niwa.
22327         Add API test coverage.
22329         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22330         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp: Added.
22331         (TestWebKitAPI::runJavaScriptAlert):
22332         (TestWebKitAPI::TEST):
22333         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp: Added.
22334         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::InjectedBundleDisableOverrideBuiltinsBehaviorTest):
22335         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize):
22336         * TestWebKitAPI/Tests/WebKit/override-builtins-test.html: Added.
22338 2018-02-08  Michael Catanzaro  <mcatanzaro@igalia.com>
22340         TestController should not exercise cocoa-specific resource load statistics APIs
22341         https://bugs.webkit.org/show_bug.cgi?id=182355
22343         Reviewed by Alex Christensen.
22345         Remove unnecessary use of platform-specific APIs in the TestController, since there are
22346         cross-platform APIs to do the same thing.
22348         Also, ensure callbacks execute before returning from TestController's functions, since
22349         otherwise the tests are guaranteed to be flaky at best, and also since there's nothing to
22350         prevent the TestController from being destroyed before the callbacks execute.
22352         * WebKitTestRunner/TestController.cpp:
22353         (WTR::resourceStatisticsVoidResultCallback):
22354         (WTR::resourceStatisticsBooleanResultCallback):
22355         (WTR::TestController::isStatisticsPrevalentResource):
22356         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
22357         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
22358         (WTR::TestController::isStatisticsHasHadUserInteraction):
22359         (WTR::TestController::isStatisticsGrandfathered):
22360         (WTR::TestController::statisticsUpdateCookiePartitioning):
22361         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
22362         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
22363         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
22364         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
22365         (WTR::resourceStatisticsCallback): Deleted.
22366         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback): Deleted.
22367         * WebKitTestRunner/TestController.h:
22368         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
22369         (WTR::toNSString): Deleted.
22370         (WTR::TestController::setStatisticsLastSeen): Deleted.
22371         (WTR::TestController::setStatisticsPrevalentResource): Deleted.
22372         (WTR::TestController::isStatisticsPrevalentResource): Deleted.
22373         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Deleted.
22374         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Deleted.
22375         (WTR::TestController::setStatisticsHasHadUserInteraction): Deleted.
22376         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
22377         (WTR::TestController::isStatisticsHasHadUserInteraction): Deleted.
22378         (WTR::TestController::setStatisticsGrandfathered): Deleted.
22379         (WTR::TestController::isStatisticsGrandfathered): Deleted.
22380         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin): Deleted.
22381         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin): Deleted.
22382         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo): Deleted.
22383         (WTR::TestController::setStatisticsTimeToLiveUserInteraction): Deleted.
22384         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
22385         (WTR::TestController::statisticsProcessStatisticsAndDataRecords): Deleted.
22386         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
22387         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
22388         (WTR::TestController::statisticsSubmitTelemetry): Deleted.
22389         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Deleted.
22390         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Deleted.
22391         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
22392         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Deleted.
22393         (WTR::TestController::setStatisticsGrandfatheringTime): Deleted.
22394         (WTR::TestController::setStatisticsMaxStatisticsEntries): Deleted.
22395         (WTR::TestController::setStatisticsPruneEntriesDownTo): Deleted.
22396         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Deleted.
22397         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Deleted.
22398         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Deleted.
22399         (WTR::TestController::statisticsResetToConsistentState): Deleted.
22401 2018-02-08  Jonathan Bedard  <jbedard@apple.com>
22403         webkit-patch suggest-reviewers dies with AttributeError: 'NoneType' object has no attribute 'revision'
22404         https://bugs.webkit.org/show_bug.cgi?id=182584
22406         Reviewed by Daniel Bates.
22408         It is possible that a specific revision has an empty ChangeLog. In this case, Checkout.commit_info_for_revision
22409         will return 'None'. Checkout.recent_commit_infos_for_files should never return a set with 'None' in it.
22411         * Scripts/webkitpy/common/checkout/checkout.py:
22412         (Checkout.recent_commit_infos_for_files): Remove any empty commit information from the set.
22413         * Scripts/webkitpy/common/checkout/checkout_unittest.py: Add a file which references an empty ChangeLog.
22415 2018-02-08  Matt Lewis  <jlewis3@apple.com>
22417         Unreviewed, rolling out r228261.
22419         This broke an internal build
22421         Reverted changeset:
22423         "Add a way to check if a host is an IP address"
22424         https://bugs.webkit.org/show_bug.cgi?id=182427
22425         https://trac.webkit.org/changeset/228261
22427 2018-02-08  Commit Queue  <commit-queue@webkit.org>
22429         Unreviewed, rolling out r228267, r228268, and r228269.
22430         https://bugs.webkit.org/show_bug.cgi?id=182601
22432         jhbuild socks (Requested by philn on #webkit).
22434         Reverted changesets:
22436         "[JHBuild] Update Mesa to version 17"
22437         https://bugs.webkit.org/show_bug.cgi?id=182599
22438         https://trac.webkit.org/changeset/228267
22440         "Unreviewed, GTK build fix attempt after r228267."
22441         https://trac.webkit.org/changeset/228268
22443         "Unreviewed, final GTK build fix attempt after r228267."
22444         https://trac.webkit.org/changeset/228269
22446 2018-02-08  Philippe Normand  <pnormand@igalia.com>
22448         Unreviewed, final GTK build fix attempt after r228267.
22450         * gtk/jhbuild.modules: sha256sum for libdrm was for the tar.gz archive. Oops.
22452 2018-02-08  Philippe Normand  <pnormand@igalia.com>
22454         Unreviewed, GTK build fix attempt after r228267.
22456         * gtk/jhbuild.modules: Update to libdrm version 2.4.89, Mesa 17 requires at least version 2.4.75.
22458 2018-02-08  Philippe Normand  <pnormand@igalia.com>
22460         [JHBuild] Update Mesa to version 17
22461         https://bugs.webkit.org/show_bug.cgi?id=182599
22463         Reviewed by Carlos Alberto Lopez Perez.
22465         * gtk/jhbuild.modules: Update Mesa to version 17.3.3.
22467 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
22469         Add a way to check if a host is an IP address
22470         https://bugs.webkit.org/show_bug.cgi?id=182427
22472         Reviewed by Alex Christensen.
22474         Add unit test for URL::hostIsIPAddress().
22476         * TestWebKitAPI/Tests/WebCore/URL.cpp:
22477         (TestWebKitAPI::TEST_F):
22479 2018-02-07  Tim Horton  <timothy_horton@apple.com>
22481         Evernote device management web view sometimes displays at the wrong scale
22482         https://bugs.webkit.org/show_bug.cgi?id=182590
22483         <rdar://problem/36633687>
22485         Reviewed by Simon Fraser.
22487         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
22488         * TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/WKScrollViewDelegateCrash.mm.
22489         (-[TestDelegateForScrollView dealloc]):
22490         (TestWebKitAPI::TEST):
22491         (-[WKScrollViewDelegateWithViewForZoomingOverridden viewForZoomingInScrollView:]):
22492         Add a test that failed before the change that ensures that we don't
22493         consult the external delegate for viewForZoomingInScrollView:, and that
22494         we succesfully update the scale even if it matches that of the view
22495         the external delegate returns for viewForZoomingInScrollView:.
22497 2018-02-07  Wenson Hsieh  <wenson_hsieh@apple.com>
22499         REGRESSION(r226396): File paths are inserted when dropping image files
22500         https://bugs.webkit.org/show_bug.cgi?id=182557
22501         <rdar://problem/37294120>
22503         Reviewed by Ryosuke Niwa.
22505         Tweak some image pasting API tests to ensure that file paths are not inserted when pasting images backed by
22506         file paths on disk.
22508         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
22509         (TEST):
22511 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
22513         [GTK] Enable WebKit.GeolocationTransitionTo{High,Low}Accuracy tests
22514         https://bugs.webkit.org/show_bug.cgi?id=125068
22516         Unreviewed test gardening.
22518         They do not appear to have failed since we started running them again in r226944.
22520         * TestWebKitAPI/glib/TestExpectations.json:
22522 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
22524         [GTK] Enable WebKit.InjectedBundleFrameHitTest test
22525         https://bugs.webkit.org/show_bug.cgi?id=120303
22527         Unreviewed test gardening.
22529         It does not appear to have failed since we started running it again in r226944.
22531         * TestWebKitAPI/glib/TestExpectations.json:
22533 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
22535         [GTK] Enable WebKit.ForceRepaint test
22536         https://bugs.webkit.org/show_bug.cgi?id=105532
22538         Unreviewed test gardening.
22540         It does not appear to have failed since we started running it again in r226944.
22542         * TestWebKitAPI/glib/TestExpectations.json:
22544 2018-02-07  Philippe Normand  <pnormand@igalia.com>
22546         [JHBuild] Add libva in moduleset
22547         https://bugs.webkit.org/show_bug.cgi?id=182384
22549         Reviewed by Xabier Rodriguez-Calvar.
22551         * gstreamer/jhbuild.modules: Add libva and disable spurious message output.
22552         * gtk/install-dependencies: Remove libva from dependencies.
22553         * wpe/install-dependencies: Ditto.
22555 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
22557         [GTK] Enable WebKit.NewFirstVisuallyNonEmptyLayoutFrames test
22558         https://bugs.webkit.org/show_bug.cgi?id=85037
22560         Unreviewed test gardening.
22562         It does not appear to have failed since we started running it again in r226944.
22564         * TestWebKitAPI/glib/TestExpectations.json:
22566 2018-02-06  Leo Balter  <leonardo.balter@gmail.com>
22568         Nit fix for ruby script called through Perl
22569         https://bugs.webkit.org/show_bug.cgi?id=182552
22571         Reviewed by Yusuke Suzuki.
22573         * BuildSlaveSupport/build.webkit.org-config/steps.py:
22574         (RunTest262Tests):
22576 2018-02-06  Don Olmstead  <don.olmstead@sony.com>
22578         Remove WebCore/ForwardingHeaders directory
22579         https://bugs.webkit.org/show_bug.cgi?id=182347
22581         Reviewed by Keith Miller.
22583         * WebKitTestRunner/TestController.cpp:
22585 2018-02-06  Ross Kirsling  <ross.kirsling@sony.com>
22587         webkit-patch upload should ask for confirmation before creating a new bug
22588         https://bugs.webkit.org/show_bug.cgi?id=182551
22590         Reviewed by Daniel Bates.
22592         It is quite easy to paste unintended text into the bug number prompt. This creates a junk bug with an uneditable
22593         first comment, which could result in embarrassment or potentially even a proprietary information leak.
22595         * Scripts/webkitpy/tool/commands/upload_unittest.py:
22596         (test_prepare):
22597         * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
22598         (PromptForBugOrTitle):
22599         (PromptForBugOrTitle.options):
22600         (PromptForBugOrTitle.run):
22602 2018-02-06  Youenn Fablet  <youenn@apple.com>
22604         HasServiceWorkerRegistration bit should be sent when creating a new page
22605         https://bugs.webkit.org/show_bug.cgi?id=182410
22607         Reviewed by Chris Dumez.
22609         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
22611 2018-02-06  Andres Gomez  <agomez@igalia.com>
22613         [GTK][WPE] Add dependencies watching lists for WKGTK+ and WPE
22614         https://bugs.webkit.org/show_bug.cgi?id=182346
22616         Reviewed by Michael Catanzaro.
22618         Loren, Carlos and Andres are interested on the WKGTK+ dependencies
22619         watchlist since they are running WKGTK+ EWS.
22621         Similarly, Adrian and Carlos are running a WPE EWS.
22623         * Scripts/webkitpy/common/config/watchlist: Added WPEDependencies
22624           and WebKitGTKDependencies watchlists with the proper people.
22626 2018-02-06  Andres Gomez  <agomez@igalia.com>
22628         Unreviewed, canonicalize contributors.json
22630         After Thibault's addition, automatic checks complain about
22631         contributors.json with:
22633         "[...] Use "validate-committer-lists --canonicalize" to reformat
22634         it. [...]"
22636         * Scripts/webkitpy/common/config/contributors.json: Canonicalize.
22638 2018-02-06  Andres Gomez  <agomez@igalia.com>
22640         Unreviewed, add Lorenzo Tilve to contributors.json
22642         We need to add Loren to the contributors list in order to CC him
22643         in Bugzilla.
22645         * Scripts/webkitpy/common/config/contributors.json: Added Lorenzo
22646           Tilve.
22648 2018-02-05  Yousuke Kimoto  <yousuke.kimoto@sony.com>
22650         [WinCairo] Refine WebKitLegacy and WebKit build for wincairo
22651         https://bugs.webkit.org/show_bug.cgi?id=182478
22653         Reviewed by Alex Christensen.
22655         For TestWebKitAPI, sources related to WebKitLegacy are built
22656         at WebKit build. Those files should be reffered for WebKitLegacy build.
22658         * TestWebKitAPI/PlatformWin.cmake:
22660 2018-02-05  Daniel Bates  <dabates@apple.com>
22662         REGRESSION (r217572): run-webkit-tests exits without emitting newline character
22663         https://bugs.webkit.org/show_bug.cgi?id=182360
22665         Rubber-stamped by Aakash Jain.
22667         Fixes an annoyance where run-webkit-tests always exits without printing a newline character.
22668         In the terminal this looks like:
22670             $ Tools/Scripts/run-webkit-tests
22671             Expected to fail, but passed: (7)
22672             ...
22673             Stopping WebSocket server ...$
22675         This bug was caused by code added in r217572 to stop all run-webkit-tests started servers (e.g. an HTTP
22676         server) from an at-exit handler. When run-webkit-tests runs successfully (i.e. without error or
22677         control-C interruption) we would stop all such servers twice: once as part of ending the test
22678         run and once from the at-exit handler. The latter never prints a trailing newline character hence
22679         the state of the terminal (as depicted above). Instead LayoutTestRunner.stop_servers() should only
22680         stop servers that it started in LayoutTestRunner.start_servers().
22682         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
22683         (LayoutTestRunner.__init__):
22684         (LayoutTestRunner.start_servers):
22685         (LayoutTestRunner.stop_servers):
22686         Only start servers that run-webkit-tests has not already started and only stop servers that
22687         run-webkit-tests started.
22689         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
22690         (LayoutTestRunnerTests.test_servers_started.is_websocket_server_running):
22691         (LayoutTestRunnerTests.test_servers_started):
22692         (LayoutTestRunnerTests.test_servers_started.is_websocket_servers_running): Deleted.
22693         Update due to rename below.
22695         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
22696         (is_web_socket_server_running): Added.
22697         (PyWebSocket.is_running): Deleted.
22699         * Scripts/webkitpy/port/base.py:
22700         (Port.is_http_server_running): Check if we already started the server ourself.
22701         (Port.is_websocket_server_running): Formerly named is_websocket_servers_running. Modified
22702         to check if we already started the server ourself. Take a similar approach as the other
22703         Port.is_*_running methods and only check if an existing WebSocket server is running on the
22704         non-secure server port. This is a simple heuristic and should be sufficient in practice.
22705         (Port.is_wpt_server_running): Check if we already started the server ourself.
22706         (Port.is_websocket_servers_running): Deleted; renamed to is_websocket_server_running().
22708 2018-02-05  Daniel Bates  <dabates@apple.com>
22710         prepare-ChangeLog gets confused about Python docstrings that contain the word "class" or "def"
22711         https://bugs.webkit.org/show_bug.cgi?id=182405
22713         Reviewed by David Kilzer.
22715         String literal statements, including docstrings, do not demarcate a new scope in Python.
22716         So, do not treat them like they do when building up the list of modified functions.
22718         * Scripts/prepare-ChangeLog:
22719         (get_function_line_ranges_for_python):
22720         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
22721         The expected ending line number for the last "pass" statement inside the scope of Class5 changed
22722         from 97 to 98 because empty lines do not effect scope. This is consistent with the parsing
22723         of the second "pass" statement in the scope of class Class5. A "pass" is a null operation that
22724         is used as a syntactic placeholder when a statement is required. Ideally we would make
22725         the parsing code smarter so as to avoid emitting ranges for "pass" statements that serve
22726         not syntactic purpose.
22727         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py:
22728         (Class5):
22729         (Class6):
22730         (Class6.__init__):
22731         (Class7):
22732         (Class7.__init__):
22733         (Class8):
22734         (Class8.__init__):
22735         Add some more tests.
22737 2018-02-05  Matt Lewis  <jlewis3@apple.com>
22739         Unreviewed, rolling out r228086.
22741         This introduced a failure with API test
22742         URLTest.HostIsIPAddress.
22744         Reverted changeset:
22746         "Add a way to check if a host is an IP address"
22747         https://bugs.webkit.org/show_bug.cgi?id=182427
22748         https://trac.webkit.org/changeset/228086
22750 2018-02-05  John Wilander  <wilander@apple.com>
22752         Storage Access API: Add testRunner.getAllStorageAccessEntries() to make testing easier and more explicit
22753         https://bugs.webkit.org/show_bug.cgi?id=181601
22754         <rdar://problem/36475837>
22756         Reviewed by Alex Christensen.
22758         http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html
22759         was found to be flaky. With the testRunner.hasStorageAccessEntry() getter
22760         it's possible to check access even if a frame doesn't respond timely to
22761         postMessage after detach and attach.
22763         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
22764         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
22765         (WTR::InjectedBundle::didReceiveMessageToPage):
22766         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
22767         (WTR::TestRunner::setStorageAccessAPIEnabled):
22768             Just moved for source file grouping.
22769         (WTR::TestRunner::getAllStorageAccessEntries):
22770         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback):
22771         * WebKitTestRunner/InjectedBundle/TestRunner.h:
22772         * WebKitTestRunner/TestController.cpp:
22773         (WTR::TestController::getAllStorageAccessEntries):
22774             Note that this is just stubbed out, i.e. not implemented.
22775         * WebKitTestRunner/TestController.h:
22776         * WebKitTestRunner/TestInvocation.cpp:
22777         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
22778         (WTR::TestInvocation::didReceiveAllStorageAccessEntries):
22779         * WebKitTestRunner/TestInvocation.h:
22780         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
22781         (WTR::TestController::getAllStorageAccessEntries):
22782             This is the Cocoa-specific version of this test infrastructure.
22784 2018-02-05  Basuke Suzuki  <Basuke.Suzuki@sony.com>
22786         [Win] Enable multi CPU building on MSBuild.
22787         https://bugs.webkit.org/show_bug.cgi?id=182446
22789         Compiling itself already uses multi cores, but other stuff is still on single core.
22790         This patch enables that by passing an argument to MSBuild.exe.
22792         Reviewed by Alex Christensen.
22794         * Scripts/webkitdirs.pm:
22795         (determineNumberOfCPUs):
22796         (buildVisualStudioProject):
22798 2018-02-05  Alicia Boya García  <aboya@igalia.com>
22800         Fix bug in MediaTime comparison for negative values with different scale.
22801         https://bugs.webkit.org/show_bug.cgi?id=182433
22803         Improved test coverage for MediaTime::compare().
22805         Reviewed by Xabier Rodriguez-Calvar.
22807         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
22808         (TestWebKitAPI::TEST):
22810 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
22812         [SOUP] WebSockets must use system proxy settings
22813         https://bugs.webkit.org/show_bug.cgi?id=126384
22815         Reviewed by Michael Catanzaro.
22817         Check also WebSockets in /webkit2/WebKitWebContext/proxy.
22819         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
22820         (ProxyTest::webSocketProxyServerCallback):
22821         (ProxyTest::ProxyTest):
22822         (ProxyTest::webSocketConnected):
22823         (ProxyTest::createWebSocketAndWaitUntilConnected):
22824         (webSocketServerCallback):
22825         (testWebContextProxySettings):
22826         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
22827         (WebKitTestServer::~WebKitTestServer):
22828         (WebKitTestServer::addWebSocketHandler):
22829         (WebKitTestServer::removeWebSocketHandler):
22830         (WebKitTestServer::getWebSocketURIForPath const):
22831         (WebKitTestServer::getURIForPath const):
22832         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
22833         (WebKitTestServer::baseURI const):
22834         (WebKitTestServer::baseWebSocketURI const):
22836 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
22838         Add a way to check if a host is an IP address
22839         https://bugs.webkit.org/show_bug.cgi?id=182427
22841         Reviewed by Alex Christensen.
22843         Add unit test for URL::hostIsIPAddress().
22845         * TestWebKitAPI/Tests/WebCore/URL.cpp:
22846         (TestWebKitAPI::TEST_F):
22848 2018-02-03  Charlie Turner  <cturner@igalia.com>
22850         Add libmount to WPE dependencies
22851         https://bugs.webkit.org/show_bug.cgi?id=182345
22853         Reviewed by Michael Catanzaro.
22855         * wpe/install-dependencies:
22857 2018-02-02  Youenn Fablet  <youenn@apple.com>
22859         W3C test exporter should allow exporting newly added files
22860         https://bugs.webkit.org/show_bug.cgi?id=182369
22862         Reviewed by Ryosuke Niwa.
22864         * Scripts/webkitpy/common/checkout/scm/git.py:
22865         (Git.apply_mail_patch):
22867 2018-02-02  David Quesada  <david_quesada@apple.com>
22869         WebAppManifest scope should default to the containing directory of start_url if 'scope' is not specified
22870         https://bugs.webkit.org/show_bug.cgi?id=182363
22871         rdar://problem/37093498
22873         Reviewed by Ryosuke Niwa.
22875         Updated ApplicationManifestParserTests to account for the new default scope behavior.
22877         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
22878         (assertManifestHasDefaultValues):
22879         (TEST_F):
22881 2018-02-02  Youenn Fablet  <youenn@apple.com>
22883         Clearing all service worker registrations should wait for importing service worker registration to finish
22884         https://bugs.webkit.org/show_bug.cgi?id=182407
22886         Reviewed by Chris Dumez.
22888         Make sure we finish clearing service worker registrations before running tests.
22890         * WebKitTestRunner/TestController.cpp:
22891         (WTR::TestController::resetStateToConsistentValues):
22892         (WTR::ClearServiceWorkerRegistrationsCallbackContext::ClearServiceWorkerRegistrationsCallbackContext):
22893         (WTR::clearServiceWorkerRegistrationsCallback):
22894         (WTR::TestController::clearServiceWorkerRegistrations):
22895         * WebKitTestRunner/TestController.h:
22897 2018-02-02  Youenn Fablet  <youenn@apple.com>
22899         Configure serviceWorkerRegistrationDirectory on the web site data store and move it to a Caches subfolder as a default
22900         https://bugs.webkit.org/show_bug.cgi?id=182403
22902         Reviewed by Alex Christensen.
22904         * WebKitTestRunner/TestController.cpp:
22905         (WTR::TestController::generateContextConfiguration const):
22906         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
22907         (WTR::initializeWebViewConfiguration):
22909 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
22911         [GTK] WebDriver: tests step always times out in the bot
22912         https://bugs.webkit.org/show_bug.cgi?id=182437
22914         Reviewed by Carlos Alberto Lopez Perez.
22916         The process itself is not timing out, but the buildbot step is. This is because we are leaking the Xvfb
22917         processes. We should ensure that only one driver is executed and it's stopped before the process finishes.
22919         * Scripts/run-webdriver-tests: Call teardown() after run().
22920         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
22921         (WebDriverSeleniumExecutor.__init__): Receive the env directly instead of the display driver.
22922         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
22923         (WebDriverTestRunner.__init__): Use the driver class directly instead of using the DriverProxy. Get the env from
22924         the display driver once and pass it to the test runners.
22925         (WebDriverTestRunner.teardown): Stop the display server.
22926         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
22927         (WebDriverTestRunnerSelenium.__init__): Receive the env directly instead of the display driver.
22928         (WebDriverTestRunnerSelenium.collect_tests): Pass the env to the executor.
22929         (WebDriverTestRunnerSelenium.run): Ditto.
22930         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
22931         (WebDriverTestRunnerW3C.__init__): Receive the env directly instead of the display driver.
22932         (WebDriverTestRunnerW3C.run): Pass the env to the executor.
22933         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
22934         (WebDriverW3CExecutor.__init__): Receive the env directly instead of the display driver.
22936 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
22938         Unreviewed, rolling out r227999.
22940         It didn't fix the problem
22942         Reverted changeset:
22944         "Unreviewed. Try to avoid webdriver tests step timing out in
22945         the bots."
22946         https://trac.webkit.org/changeset/227999
22948 2018-02-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
22950         Start timeout for the run-buildbot-test script is too aggressive
22951         https://bugs.webkit.org/show_bug.cgi?id=182429
22953         Reviewed by Carlos Garcia Campos.
22955         15 seconds is not enough waiting for the update database process
22956         to complete on a system backed with rotational HDDs. Raise it to 60.
22958         * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py:
22959         (wait_for_master_ready):
22961 2018-02-02  Carlos Alberto Lopez Perez  <clopez@igalia.com>
22963         re-add ARM JSCOnly bots on buildbot waterfall
22964         https://bugs.webkit.org/show_bug.cgi?id=182428
22966         Reviewed by Csaba Osztrogonác.
22968         * BuildSlaveSupport/build.webkit.org-config/config.json:
22969         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
22971 2018-02-02  Csaba Osztrogonác  <ossy@webkit.org>
22973         Remove ARM JSCOnly bots from buildbot waterfall
22974         https://bugs.webkit.org/show_bug.cgi?id=182398
22976         Reviewed by Alexey Proskuryakov.
22978         * BuildSlaveSupport/build.webkit.org-config/config.json:
22979         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
22981 2018-02-02  Carlos Garcia Campos  <cgarcia@igalia.com>
22983         Unreviewed. Try to avoid webdriver tests step timing out in the bots.
22985         This is another speculative workaround. Carlos Lopez suggested to use os._exit() instead of sys.exit() as a
22986         workaround for a bug in python2.7 when using multiprocess module.
22988         * Scripts/run-webdriver-tests:
22990 2018-02-01  Youenn Fablet  <youenn@apple.com>
22992         Delay service worker process creation until actually needed by SWServer
22993         https://bugs.webkit.org/show_bug.cgi?id=182301
22995         Reviewed by Chris Dumez.
22997         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
22998         (function):
23000 2018-02-01  Aakash Jain  <aakash_jain@apple.com>
23002         Bubbles intermittently disappear from bot watchers dashboard
23003         https://bugs.webkit.org/show_bug.cgi?id=182085
23005         Reviewed by Alexey Proskuryakov.
23007         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
23008         (BuildbotIteration.prototype.failureLogURL): failureLogURL doesn't depend on step in Buildbot 0.9.
23009         Return the Build Page URL for Buildbot Buildbot 0.9. Earlier code was also doing the same using a
23010         confusing if (!this._firstFailedStep.logs) statement which is always false for Buildbot 0.9.
23012 2018-02-01  Carlos Garcia Campos  <cgarcia@igalia.com>
23014         [GTK] Problem with Washington Post images
23015         https://bugs.webkit.org/show_bug.cgi?id=181421
23017         Reviewed by Carlos Alberto Lopez Perez.
23019         Add test case for the new user agent quirk.
23021         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
23022         (TestWebKitAPI::TEST):
23024 2018-02-01  Carlos Garcia Campos  <cgarcia@igalia.com>
23026         [GTK] MiniBrowser settings are just a list of names
23027         https://bugs.webkit.org/show_bug.cgi?id=182005
23029         Reviewed by Sergio Villar Senin.
23031         The default size we are using is too small to show the values column, and the window is not resizable because
23032         GObjectClass::constructed() is not called in the parent class.
23034         * MiniBrowser/gtk/BrowserSettingsDialog.c:
23035         (browser_settings_dialog_init): Use 600x400 as default size.
23036         (browserSettingsDialogConstructed): Chain up to parent constructed.
23038 2018-01-31  Andres Gomez  <agomez@igalia.com>
23040         Unreviewed. Remove WebInspectorUI watchlist and remove myself from 2 watchlists more
23042         * Scripts/webkitpy/common/config/watchlist:
23044 2018-01-31  Per Arne Vollan  <pvollan@apple.com>
23046         Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
23047         https://bugs.webkit.org/show_bug.cgi?id=181204
23048         <rdar://problem/36256274>
23050         Reviewed by Ryosuke Niwa.
23052         Implement 'testRunner.forceImmediateCompletion()' for WK1.
23054         * DumpRenderTree/TestRunner.cpp:
23055         (forceImmediateCompletionCallback):
23056         (TestRunner::staticFunctions):
23058 2018-01-31  Alex Christensen  <achristensen@webkit.org>
23060         Unreviewed, rolling out r227942.
23062         r227875 should not have been rolled out.
23064         Reverted changeset:
23066         "Unreviewed, rolling out r227875."
23067         https://bugs.webkit.org/show_bug.cgi?id=182357
23068         https://trac.webkit.org/changeset/227942
23070 2018-01-31  Michael Catanzaro  <mcatanzaro@igalia.com>
23072         Unreviewed, rolling out r227875.
23073         https://bugs.webkit.org/show_bug.cgi?id=182357
23075         Missing cross-platform TestController implementation
23077         Reverted changeset:
23079         "Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()"
23080         https://bugs.webkit.org/show_bug.cgi?id=181958
23081         https://trac.webkit.org/changeset/227875
23083         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
23084         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
23085         (WTR::InjectedBundle::didReceiveMessageToPage):
23086         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
23087         (WTR::TestRunner::statisticsUpdateCookiePartitioning):
23088         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
23089         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
23090         * WebKitTestRunner/InjectedBundle/TestRunner.h:
23091         * WebKitTestRunner/TestInvocation.cpp:
23092         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
23093         * WebKitTestRunner/TestInvocation.h:
23094         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
23095         (WTR::TestController::statisticsUpdateCookiePartitioning):
23096         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
23098 2018-01-31  Michael Catanzaro  <mcatanzaro@igalia.com>
23100         REGRESSION(r227223): http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html, http/tests/resourceLoadStatistics/grandfathering.html timing out on GTK, WPE
23101         https://bugs.webkit.org/show_bug.cgi?id=182222
23103         Reviewed by Alex Christensen.
23105         Use the new API to notify when resource load statistics deletion is complete.
23107         * WebKitTestRunner/TestController.cpp:
23108         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
23109         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
23110         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
23112 2018-01-31  Ryosuke Niwa  <rniwa@webkit.org>
23114         Add the support for running StyleBench to run-benchmark
23115         https://bugs.webkit.org/show_bug.cgi?id=182323
23117         Reviewed by Antti Koivisto.
23119         Added the plan file and the patch needed to run StyleBench using run-benchmark as of r227863.
23121         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/StyleBench.patch: Added.
23122         * Scripts/webkitpy/benchmark_runner/data/plans/stylebench.plan: Added.
23124 2018-01-31  Wenson Hsieh  <wenson_hsieh@apple.com>
23126         [iOS WK2] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing after an SDK update
23127         https://bugs.webkit.org/show_bug.cgi?id=182339
23128         <rdar://problem/36041396>
23130         Reviewed by Andy Estes.
23132         This API test wasn't meant to be dependent on the size of an image generated using UIImagePNGRepresentation().
23133         To make this test robust against changes to image encoding, write the raw data to the test folder instead and
23134         check against the length of the data written.
23136         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
23137         (testIconImageData):
23138         (runTestWithTemporaryFolder):
23139         (TestWebKitAPI::TEST):
23141 2018-01-31  Dan Bernstein  <mitz@apple.com>
23143         [macOS] MiniBrowser isn’t app-sandboxed
23144         https://bugs.webkit.org/show_bug.cgi?id=182147
23146         Reviewed by Sam Weinig.
23148         Enable App Sandbox and add a temporary exception allowing read access to all files.
23150         * MiniBrowser/Configurations/Base.xcconfig: Enabled ad-hoc code signing.
23151         * MiniBrowser/Configurations/MiniBrowser.xcconfig: Specified the entitlements file to use.
23152         * MiniBrowser/MiniBrowser.entitlements: Added. Enables App Sandbox with outbound networking
23153           and read access from /.
23154         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Added reference to new file.
23156 2018-01-31  Philippe Normand  <pnormand@igalia.com>
23158         [JHBuild] Add gstreamer-vaapi in moduleset
23159         https://bugs.webkit.org/show_bug.cgi?id=182283
23161         Reviewed by Carlos Alberto Lopez Perez.
23163         GStreamer-VAAPI is required for hardware-accelerated video
23164         playback support on Intel and AMD (using radeosi driver)
23165         platforms.
23167         * gstreamer/jhbuild.modules: Add gstreamer-vaapi.
23168         * gtk/install-dependencies: Install libva.
23169         * wpe/install-dependencies: Ditto.
23170         * Scripts/webkitpy/port/gtk.py:
23171         (GtkPort.setup_environ_for_server): Disable va-api support when
23172         testing because it's incompatible with Mesa's softGL driver.
23174 2018-01-31  Charlie Turner  <cturner@igalia.com>
23176         [WPE] Update jhbuild dependencies
23177         https://bugs.webkit.org/show_bug.cgi?id=182286
23179         This upgrades the following packages,
23180         glib 2.44.1 -> 2.54.3
23181         glib-networking 2.42.0 -> 2.54.1
23182         libsoup 2.48.0 -> 2.60.3
23184         The initial reason for performing these upgrades was that when
23185         visiting https://youtube.com, WPE was getting TLS certificate
23186         errors. After upgrading glib-networking, these were fixed, but the
23187         upgrade introduced dependencies on newer versions of the other
23188         packages upgraded in this commit.
23190         The upgrade to glib caused a linking error in gstreamer, the
23191         following errors were being logged during linking,
23193         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_script_from_script'
23194         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_get_unicode_funcs'
23195         //usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined reference to `hb_glib_script_to_script'
23197         This was fixed by adding the glib package built in the jhbuild to
23198         harfbuzz.
23200         Finally, the upgrade of glib caused the glib-warning-fix.patch to
23201         no longer apply, so this patch was removed.
23203         Reviewed by Michael Catanzaro.
23205         * wpe/jhbuild.modules: Added dependecies.
23206         * wpe/patches/glib-warning-fix.patch: Removed.
23208 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
23210         Unreviewed, rolling out r227782.
23212         It didn't fix the problem
23214         Reverted changeset:
23216         "Unreviewed. Try to avoid webdriver tests step timing out in
23217         the bots."
23218         https://trac.webkit.org/changeset/227782
23220 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
23222         WebDriver: add domains to server config in w3c tests
23223         https://bugs.webkit.org/show_bug.cgi?id=182294
23225         Reviewed by Carlos Alberto Lopez Perez.
23227         Several cookie tests expect server_config to have a domains key.
23229         Fixes: imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_domain_cookie
23230                imported/w3c/webdriver/tests/cookies/add_cookie.py::test_add_session_cookie_with_leading_dot_character_in_domain
23232         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
23233         (WebDriverW3CExecutor.__init__):
23235 2018-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
23237         Unreviewed. Update W3C WebDriver imported tests.
23239         Show full pytest failure logs.
23241         pytest truncates long lists when printing a failed assertion.
23242         This is not great for debugging and arguably it should be the
23243         default to show the full diff when comparing lists.
23245         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
23246         (run):
23248 2018-01-30  John Wilander  <wilander@apple.com>
23250         Add callbacks to testRunner.statisticsSetShouldPartitionCookiesForHost() and testRunner.statisticsUpdateCookiePartitioning()
23251         https://bugs.webkit.org/show_bug.cgi?id=181958
23252         https://bugs.webkit.org/show_bug.cgi?id=182072
23253         <rdar://problem/36801804>
23254         <rdar://problem/36845795>
23256         Reviewed by Brent Fulgham.
23258         Because of the asynchronous nature of XPC and cookies,
23259         we need callbacks in these TestRunner functions so that
23260         the layout tests can wait for state changes to finish
23261         before checking test conditions.
23263         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
23264         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
23265         (WTR::InjectedBundle::didReceiveMessageToPage):
23266         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
23267         (WTR::TestRunner::statisticsUpdateCookiePartitioning):
23268         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
23269         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback):
23270         * WebKitTestRunner/InjectedBundle/TestRunner.h:
23271         * WebKitTestRunner/TestInvocation.cpp:
23272         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost):
23273         * WebKitTestRunner/TestInvocation.h:
23274         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
23275         (WTR::TestController::statisticsUpdateCookiePartitioning):
23276         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
23278 2018-01-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
23280         [webkitpy] Config file for apache is copied twice.
23281         https://bugs.webkit.org/show_bug.cgi?id=182131
23283         Reviewed by Daniel Bates.
23285         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
23286         (LayoutTestApacheHttpd.__init__):
23287         (LayoutTestApacheHttpd._copy_apache_config_file):
23288         (LayoutTestApacheHttpd._get_apache_config_file_path): Deleted.
23290 2018-01-30  Don Olmstead  <don.olmstead@sony.com>
23292         JSExports.h should be included as <JavaScriptCore/JSExportMacros.h>
23293         https://bugs.webkit.org/show_bug.cgi?id=182312
23295         Reviewed by Michael Catanzaro.
23297         * DumpRenderTree/config.h:
23298         * TestWebKitAPI/config.h:
23299         * WebKitTestRunner/config.h:
23301 2018-01-30  Wenson Hsieh  <wenson_hsieh@apple.com>
23303         [iOS] API test UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations fails after r223440
23304         https://bugs.webkit.org/show_bug.cgi?id=182307
23305         <rdar://problem/36041485>
23307         Reviewed by Ryosuke Niwa.
23309         Adjusts a failing API test that we forgot to rebaseline after r223440, which ensures that the result of reading
23310         "text/html" from the DataTransfer is sanitized markup. To do this, teach the test harness
23311         (dump-datatransfer-types.html) to ignore inline styles in markup if a flag is set, and then set that flag in
23312         UIPasteboardTests.DataTransferGetDataWhenPastingPlatformRepresentations.
23314         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html:
23315         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
23316         (TestWebKitAPI::TEST):
23318 2018-01-30  Sergio Villar Senin  <svillar@igalia.com>
23320         [WebVR][GTK][WPE] Exclude OpenVR from tarballs
23321         https://bugs.webkit.org/show_bug.cgi?id=182284
23323         Reviewed by Michael Catanzaro.
23325         * gtk/manifest.txt.in: Added ThirdParty/openvr to exclusions.
23326         * wpe/manifest.txt.in: Ditto.
23328 2018-01-30  Yusuke Suzuki  <utatane.tea@gmail.com>
23330         Unreviewed, try to fix JSCOnly build
23331         https://bugs.webkit.org/show_bug.cgi?id=177202
23333         * CMakeLists.txt:
23335 2018-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
23337         Unreviewed. Try to avoid webdriver tests step timing out in the bots.
23339         The process itself doesn't seem to be timing out, but the buildbot is always reporting the step as finished
23340         after timeout. I think there's a race condition or something in buildbot, and it keeps watching the json log
23341         file even when it has already been written. This is a speculative workaround, assuming that's the problem, that
23342         creates the json file before running the tests. I'll revert this if it doesn't fix the issue in the end.
23344         * Scripts/run-webdriver-tests:
23345         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
23346         (WebDriverTestRunner.dump_results_to_json_file):
23348 2018-01-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
23350         [WinCairo] Fix forwarding header conflict of WebKit on WinCairo
23351         https://bugs.webkit.org/show_bug.cgi?id=177202
23353         Reviewed by Alex Christensen.
23355         * CMakeLists.txt:
23357 2018-01-29  Alex Christensen  <achristensen@webkit.org>
23359         Clean up API after bugs 178240 and 176474
23360         https://bugs.webkit.org/show_bug.cgi?id=182259
23362         Reviewed by Dan Bernstein.
23364         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
23365         (TEST):
23366         (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
23368 2018-01-29  Jiewen Tan  <jiewen_tan@apple.com>
23370         [WebAuthN] Add a compile-time feature flag
23371         https://bugs.webkit.org/show_bug.cgi?id=182211
23372         <rdar://problem/36936365>
23374         Reviewed by Brent Fulgham.
23376         * Scripts/webkitperl/FeatureList.pm:
23377         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
23379 2018-01-29  Brady Eidson  <beidson@apple.com>
23381         Make the API test added in r227737 be Mac-only.
23383         Unreviewed gardening.
23385         * TestWebKitAPI/Tests/WebKitCocoa/MessagePortProviders.mm:
23387 2018-01-29  Matt Lewis  <jlewis3@apple.com>
23389         Unreviewed, rolling out r227731.
23391         This caused and assertion failure in API tests.
23393         Reverted changeset:
23395         "Layout Test fast/events/beforeunload-dom-manipulation-
23396         crash.html is crashing"
23397         https://bugs.webkit.org/show_bug.cgi?id=181204
23398         https://trac.webkit.org/changeset/227731
23400 2018-01-29  Youenn Fablet  <youenn@apple.com>
23402         WPT test exporter should add WebKit export in its PR description
23403         https://bugs.webkit.org/show_bug.cgi?id=182246
23405         Reviewed by Chris Dumez.
23407         Updating PR description body to contain the words 'WebKit export'.
23408         That way, WPT PR bot will mark the PR as reviewed downstream.
23410         * Scripts/webkitpy/w3c/test_exporter.py:
23411         (TestExporter.__init__):
23412         (TestExporter.make_pull_request):
23413         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
23414         (TestExporterTest.test_export):
23416 2018-01-29  Ryosuke Niwa  <rniwa@webkit.org>
23418         Add the support for running Speedometer 2.0 to run-benchmark
23419         https://bugs.webkit.org/show_bug.cgi?id=182231
23421         Reviewed by Antti Koivisto.
23423         Made it possible to run Speedometer 2.0 using run-benchmark. To do this, this patch adds the ability to
23424         aggregate results using the differently aggregated values of subtests. In particular, Speedometer 2.0
23425         requires aggregating the geometric mean out of total time spent in each suite.
23427         Also added --show-iteration-values to show individual measured values in each iteration.
23429         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
23430         (BenchmarkResults.format): Added show_iteration_values as an option.
23431         (BenchmarkResults._format_tests): Ditto.
23432         (BenchmarkResults._format_values): Ditto. Added the code to show the measured values for each iteration
23433         when show_iteration_values is set to True. We don't emit the unit in each value so that the list of values
23434         is easily parsable as a JSON array.
23435         (BenchmarkResults._format_values.format_scaled): Added. A helper function.
23436         (BenchmarkResults._subtest_values_by_config_iteration): Added the support for aggregating values using
23437         the aggregated values of a subtest even when they were computed using a different aggregator if the subtest
23438         had exactly one aggregator.
23439         (BenchmarkResults._lint_results):
23440         (BenchmarkResults._lint_subtest_results): Replaced parent_needing_aggregation, which is set to the parent
23441         test's name only when the parent test had an aggregator, by self-explanatory parent_test and
23442         parent_aggregator_list.
23443         (BenchmarkResults._lint_aggregator_list): Ditto. Added raise an exception when a test has an aggregator but
23444         its subtest doesn't specify the same aggregator or it has more than one aggregators, making it ambiguous.
23445         (BenchmarkResults._lint_configuration):
23446         * Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
23447         (test_format_values_with_no_unit_scaling): Added.
23448         (test_format_values_with_iteration_values): Added.
23449         (test_format_values_with_no_unit_scaling_and_iteration_values): Added.
23450         (test_aggregate_results_from_another_aggregator): Added.
23451         (test_lint_results): Added a test case.
23452         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
23453         (BenchmarkRunner.__init__): Added show_iteration_values as an argument.
23454         (BenchmarkRunner._run_benchmark): Ditto.
23455         (BenchmarkRunner.show_results): Ditto.
23456         * Scripts/webkitpy/benchmark_runner/data/patches/webserver/Speedometer2.patch: Added.
23457         * Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan: Added.
23458         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
23459         (parse_args): Added --show-iteration-values as a boolean argument.
23460         (run_benchmark_plan): Ditto.
23461         (start): Ditto.
23462         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
23463         (WebServerBenchmarkRunner.__init__): Ditto.
23465 2018-01-29  Brady Eidson  <beidson@apple.com>
23467         Make it possible for apps that use both WK1 and WK2 to use MessagePorts.
23468         https://bugs.webkit.org/show_bug.cgi?id=182229
23470         Reviewed by Chris Dumez.
23472         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23473         * TestWebKitAPI/Tests/WebKitCocoa/MessagePortProviders.mm: Added.
23475 2018-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
23477         WebDriver: properly recover w3c tests after a webdriver server crash
23478         https://bugs.webkit.org/show_bug.cgi?id=182242
23480         Reviewed by Carlos Alberto Lopez Perez.
23482         When a test makes the webdriver server crash, all other subsequent tests fail because they still try to send
23483         messages to the server, gettin connection refused errors all the time. Selenium tests handle this correctly by
23484         relaunching the server after every test failure, because other failures, even when not crashing the server,
23485         might leave it in an bad state. WPT runner does the same for test files, it uses a subprocess to run the tests
23486         and when any subtest fails, a new subsprocess is used for the following test file. We could do the same.
23488         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
23489         (WebDriverTestRunnerW3C.run): Restart the executor if any subtest failed.
23490         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
23491         (WebDriverW3CExecutor.__init__): Save timeout and expectations and do not import pytest.
23492         (WebDriverW3CExecutor.setup): Create a subprocess to run the tests.
23493         (WebDriverW3CExecutor.teardown): Send a message to the subprocess to terminate.
23494         (WebDriverW3CExecutor._runner): Run the tests using pytest runner.
23495         (WebDriverW3CExecutor.run): Send a message to the subprocess to run the given test and return the results message.
23497 2018-01-29  Per Arne Vollan  <pvollan@apple.com>
23499         Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing
23500         https://bugs.webkit.org/show_bug.cgi?id=181204
23501         <rdar://problem/36256274>
23503         Reviewed by Ryosuke Niwa.
23505         Implement 'testRunner.forceImmediateCompletion()' for WK1.
23507         * DumpRenderTree/TestRunner.cpp:
23508         (forceImmediateCompletionCallback):
23509         (TestRunner::staticFunctions):
23511 2018-01-29  Frederic Wang  <fwang@igalia.com>
23513         Unreviewed, add myself to some watch lists.
23515         * Scripts/webkitpy/common/config/watchlist:
23517 2018-01-27  Dan Bernstein  <mitz@apple.com>
23519         HaveInternalSDK includes should be "#include?"
23520         https://bugs.webkit.org/show_bug.cgi?id=179670
23522         * DumpRenderTree/mac/Configurations/Base.xcconfig:
23524 2018-01-26  Chris Dumez  <cdumez@apple.com>
23526         Make sure service worker code does not launch a StorageProcess unnecessarily
23527         https://bugs.webkit.org/show_bug.cgi?id=182192
23528         <rdar://problem/36927427>
23530         Reviewed by Geoffrey Garen.
23532         Add API test coverage.
23534         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
23536 2018-01-26  Chris Dumez  <cdumez@apple.com>
23538         Offlined content does not work for apps on home screen
23539         https://bugs.webkit.org/show_bug.cgi?id=182070
23540         <rdar://problem/36843906>
23542         Reviewed by Youenn Fablet.
23544         Add API test coverage to make sure an already registered service worker is able to intercept
23545         the very first load.
23547         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
23548         (-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]):
23550 2018-01-26  Chris Nardi  <cnardi@chromium.org>
23552         Addressing post-review comments after r226614
23553         https://bugs.webkit.org/show_bug.cgi?id=182151
23555         Reviewed by Myles C. Maxfield.
23557         * TestWebKitAPI/Tests/WTF/TextBreakIterator.cpp:
23558         (TestWebKitAPI::TEST):
23560 2018-01-25  Per Arne Vollan  <pvollan@apple.com>
23562         Unreviewed, rolling out r224920.
23564         Some Win EWS bots are not coming back up after starting reboot.
23566         * EWSTools/start-queue-win.sh:
23568 2018-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
23570         WebDriver: simplify the tests json report
23571         https://bugs.webkit.org/show_bug.cgi?id=182171
23573         Reviewed by Carlos Alberto Lopez Perez.
23575         We are duplicating the test name in every subtest name. WPT already changed the format to remove the test name
23576         form the subtest name. We should do the same for simplicity and compatibility with WPT.
23578         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
23579         (WebDriverTestRunner.dump_results_to_json_file):
23581 2018-01-25  Alex Christensen  <achristensen@webkit.org>
23583         REGRESSION (r221899): Web Content process hangs when webpage tries to make a new window if the WKWebView doesn’t have a UI delegate
23584         https://bugs.webkit.org/show_bug.cgi?id=182152
23586         Reviewed by Joseph Pecoraro.
23588         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
23589         (-[NoUIDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
23590         (TEST):
23592 2018-01-25  Youenn Fablet  <youenn@apple.com>
23594         WebPluginInfoProvider should handle null host queries
23595         https://bugs.webkit.org/show_bug.cgi?id=182112
23597         Reviewed by Chris Dumez.
23599         * TestWebKitAPI/Tests/WebKitCocoa/PluginLoadClientPolicies.mm:
23600         (TEST):
23602 2018-01-25  Basuke Suzuki  <Basuke.Suzuki@sony.com>
23604         [webkitpy] Stop modifying path information only when running on Cygwin
23605         https://bugs.webkit.org/show_bug.cgi?id=182136
23607         On LayoutTestApacheHttpd, some path configuration is modified when platform
23608         is Windows. This modification is only required for AppleWin running on Cygwin.
23609         WinCairo uses native Windows environment, so the condition should be changed.
23611         Reviewed by Per Arne Vollan.
23613         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
23614         (LayoutTestApacheHttpd.__init__):
23615         (LayoutTestApacheHttpd._get_apache_config_file_path):
23617 2018-01-25  Eric Carlson  <eric.carlson@apple.com>
23619         REGRESSION(r227457): Release assert in updateLayout while destructing a media element
23620         https://bugs.webkit.org/show_bug.cgi?id=182038
23621         <rdar://problem/36812083>
23623         Reviewed by Jer Noble.
23625         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
23626         (TestWebKitAPI::TEST): Show/hide page so controls are always updated.
23628 2018-01-24  Daniel Bates  <dabates@apple.com>
23630         webkit-patch upload emits irrelevant simulator warnings
23631         https://bugs.webkit.org/show_bug.cgi?id=181702
23632         <rdar://problem/36556359>
23634         Reviewed by Aakash Jain.
23636         Remove warning when a person explicitly passes --child-processes with a value greater than
23637         the default number of simulator instances webkitpy would have used had --child-processes
23638         been omitted. Moreover, the placement of the warning logic to support printing such a message
23639         (in the IOSSimulatorPort constructor) caused side effects that may print other warning messages.
23641         By default, webkitpy will parallelize running tests using the maximum number of simulator
23642         instances that can be supported based on available system resources at the time run-webkit-tests
23643         is invoked. It seems reasonable to assume that a person that explicitly overrides this default
23644         by specifying --child-processes knows what they are doing. The effects of picking a large
23645         value be obvious, the system may become sluggish.
23647         As a side benefit of this change we no longer will emit simulator warnings whenever the iOS
23648         simulator port is instantiated by non-layout test related code (e.g. check-webkit-style).
23650         * Scripts/webkitpy/port/ios_simulator.py:
23651         (IOSSimulatorPort.__init__):
23653 2018-01-25  Sergio Villar Senin  <svillar@igalia.com>
23655         [WebVR][GTK][WPE] Remove the WebVR public API added in r227518
23656         https://bugs.webkit.org/show_bug.cgi?id=182102
23658         Reviewed by Carlos Garcia Campos.
23660         * MiniBrowser/gtk/main.c:
23661         (main): Removed the call to set_enable_webvr().
23663 2018-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
23665         WebDriver: add support for slow tests
23666         https://bugs.webkit.org/show_bug.cgi?id=182095
23668         Reviewed by Carlos Alberto Lopez Perez.
23670         Add timeout mark to slow tests.
23672         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
23673         (TestExpectationsMarker.__init__): Save the timeout.
23674         (TestExpectationsMarker.pytest_collection_modifyitems): If test is slow use timeout * 5.
23675         (run): Pass timeout to TestExpectationsMarker constructor.
23677 2018-01-24  Alex Christensen  <achristensen@webkit.org>
23679         Gracefully recover from NetworkProcess crashes in private browsing
23680         https://bugs.webkit.org/show_bug.cgi?id=182073
23681         <rdar://problem/36572023>
23683         Reviewed by Geoff Garen.
23685         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23686         * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm: Added.
23687         (-[CrashDelegate webView:didFinishNavigation:]):
23688         (-[CrashDelegate webView:didFailProvisionalNavigation:withError:]):
23689         (-[CrashDelegate webView:didFailNavigation:withError:]):
23690         (TEST):
23692 2018-01-24  Ali Juma  <ajuma@chromium.org>
23694         REGRESSION (r227430): ASSERTION FAILED: !self.zoomToScaleCompletionHandler in TestRunnerWKWebView::zoomToScale
23695         https://bugs.webkit.org/show_bug.cgi?id=182052
23697         Reviewed by Simon Fraser.
23699         Don't set zoomToScaleCompletionHandler in zoomToScale:animated when calling the completion handler
23700         immediately.
23702         Test: fast/visual-viewport/viewport-dimensions.html
23704         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
23705         (-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):
23707 2018-01-24  Alex Christensen  <achristensen@webkit.org>
23709         Remove pre-Sierra-OS-specific code in Tools
23710         https://bugs.webkit.org/show_bug.cgi?id=182034
23712         Reviewed by Tim Horton.
23714         * DumpRenderTree/mac/DumpRenderTree.mm:
23715         (setDefaultsToConsistentValuesForTesting):
23716         * MiniBrowser/mac/BrowserWindowController.m:
23717         (-[BrowserWindowController windowDidLoad]):
23718         (-[BrowserWindowController share:]):
23719         * MiniBrowser/mac/MiniBrowser_Prefix.pch:
23720         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
23721         (-[EventStreamPlayer playbackTimerFired:]):
23722         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23723         * TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
23724         * TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
23725         * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
23726         (TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
23727         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
23728         (WTR::InjectedBundle::platformInitialize):
23729         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
23730         (WTR::initializeWebViewConfiguration):
23732 2018-01-24  Alexey Proskuryakov  <ap@apple.com>
23734         REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
23735         https://bugs.webkit.org/show_bug.cgi?id=181400
23736         <rdar://problem/36358768>
23738         Reviewed by Joseph Pecoraro.
23740         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove incorrect option.
23742         * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options):
23743         Always disable poisoning when running with --leaks, as this should work locally,
23744         not just on bots.
23746 2018-01-24  Daniel Bates  <dabates@apple.com>
23748         REGRESSION (r226138): Selecting a line that ends with zero-width joiner (ZWJ) may cause text transformation
23749         https://bugs.webkit.org/show_bug.cgi?id=181993
23750         <rdar://problem/36421080>
23752         Reviewed by David Hyatt.
23754         Remove unit test for overlap strategy FrontmostWithLongestEffectiveRange
23755         as we no longer support this strategy.
23757         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
23759 2018-01-24  David Kilzer  <ddkilzer@apple.com>
23761         check-webkit-style reports false-positive whitespace/braces warning about blocks with return types as arguments in Objective-C
23762         <https://webkit.org/b/182015>
23763         <rdar://problem/36449728>
23765         Reviewed by Tim Horton.
23767         * Scripts/webkitpy/style/checkers/cpp.py:
23768         (regex_for_lambdas_and_blocks): Update regex to include
23769         optional return type for block argument in Objective-C.
23770         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
23771         (WebKitStyleTest.test_braces): Add test.
23773 2018-01-24  Ms2ger  <Ms2ger@igalia.com>
23775         WPE-focused test gardening.
23776         https://bugs.webkit.org/show_bug.cgi?id=182051
23778         Unreviewed test gardening.
23780         * TestWebKitAPI/glib/TestExpectations.json: TestWebKitFindController failure was fixed in r227418.
23782 2018-01-23  Mark Lam  <mark.lam@apple.com>
23784         Update Poisoned pointers to take a Poison class instead of a uintptr_t&.
23785         https://bugs.webkit.org/show_bug.cgi?id=182017
23786         <rdar://problem/36795513>
23788         Reviewed by Filip Pizlo and JF Bastien.
23790         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
23791         (TestWebKitAPI::TEST):
23792         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
23793         (TestWebKitAPI::TEST):
23794         (TestWebKitAPI::passWithRef):
23795         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
23796         (TestWebKitAPI::TEST):
23797         (TestWebKitAPI::f1):
23798         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
23799         (TestWebKitAPI::TEST):
23800         (TestWebKitAPI::poisonedPtrFoo):
23801         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
23802         (TestWebKitAPI::TEST):
23803         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
23804         (TestWebKitAPI::TEST):
23806 2018-01-18  Sergio Villar Senin  <svillar@igalia.com>
23808         [WebVR] Add OpenVR to the tree and to the build
23809         https://bugs.webkit.org/show_bug.cgi?id=177298
23811         Reviewed by Å½an DoberÅ¡ek.
23813         * Scripts/webkitpy/style/checker.py: Added openvr to the list of third party libraries
23814         with reduced style checks.
23816 2018-01-24  Chris Nardi  <cnardi@chromium.org>
23818         Add Chris Nardi to contributors list
23819         https://bugs.webkit.org/show_bug.cgi?id=182029
23821         Reviewed by Antti Koivisto.
23823         * Scripts/webkitpy/common/config/contributors.json:
23825 2018-01-22  Ryosuke Niwa  <rniwa@webkit.org>
23827         Mac Sierra perf bots have been failing due to CG errors
23828         https://bugs.webkit.org/show_bug.cgi?id=181955
23830         Reviewed by Antti Koivisto.
23832         Ignore the CoreGraphics error messages on macOS Sierra.
23834         Also added tests for ignoring lines in stdout and stderr.
23836         * Scripts/webkitpy/performance_tests/perftest.py:
23837         (PerfTest.run_failed): Refactored for clarity.
23838         (PerfTest):
23839         (PerfTest.filter_ignored_lines): Added.
23840         (PerfTest._lines_to_ignore): Renamed from _lines_to_ignore_in_parser_result since these regular expressions
23841         are now used to ignore lines in other kinds of tests than parser tests.
23842         (PerfTest._errors_to_ignore_in_sierra): Added.
23843         (PerfTest._filter_output): Added the code to ignore errors only on macOS Sierra.
23844         * Scripts/webkitpy/performance_tests/perftest_unittest.py:
23845         (test_parse_output_with_ignored_stdout): Added.
23846         (test_parse_output_with_ignored_stderr): Added.
23847         (test_parse_output_with_ignored_stderr.MockPortWithSierraName): Added.
23849 2018-01-23  Eric Carlson  <eric.carlson@apple.com>
23851         Resign NowPlaying status when no media element is eligible
23852         https://bugs.webkit.org/show_bug.cgi?id=181914
23853         <rdar://problem/35294116>
23855         Reviewed by Jer Noble.
23857         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
23858         (-[NowPlayingTestWebView hasActiveNowPlayingSession]):
23859         (TestWebKitAPI::TEST):
23860         * TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
23862 2018-01-23  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
23864         [WinCairo] Use 64-bit toolset
23865         https://bugs.webkit.org/show_bug.cgi?id=181979
23867         Reviewed by Alex Christensen.
23869         Use 64-bit toolset for 64-bit build in order to improve build time. 
23871         * Scripts/webkitdirs.pm:
23872         (generateBuildSystemFromCMakeProject):
23874 2018-01-23  Simon Fraser  <simon.fraser@apple.com>
23876         Element with position:fixed stops scrolling at the bottom of the page, but is painted in the right place on Chacos.com.
23877         https://bugs.webkit.org/show_bug.cgi?id=181741
23878         rdar://problem/36593581
23880         Reviewed by Tim Horton.
23881         
23882         If zoomToScale:animated: is called with the current zoom level, call the callback
23883         rather than doing nothing.
23885         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
23886         (-[TestRunnerWKWebView zoomToScale:animated:completionHandler:]):
23888 2018-01-23  Basuke Suzuki  <Basuke.Suzuki@sony.com>
23890         Add ignore_errors keyword argument to Executive.run_command() for replacing the common pattern of error_handler usage
23891         https://bugs.webkit.org/show_bug.cgi?id=180820
23893         Reviewed by David Kilzer.
23895         * Scripts/webkitpy/common/checkout/scm/git.py:
23896         (Git.in_working_directory):
23897         (Git.clone):
23898         (Git.read_git_config):
23899         (Git.apply_reverse_diff):
23900         * Scripts/webkitpy/common/checkout/scm/scm.py:
23901         (SCM.run):
23902         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
23903         * Scripts/webkitpy/common/checkout/scm/svn.py:
23904         (SVNRepository.has_authorization_for_realm):
23905         * Scripts/webkitpy/common/net/credentials_unittest.py:
23906         * Scripts/webkitpy/common/system/abstractexecutive.py:
23907         (AbstractExecutive.run_command):
23908         * Scripts/webkitpy/common/system/executive.py:
23909         (Executive.kill_process.is):
23910         (Executive.running_pids):
23911         (Executive.kill_all):
23912         (Executive.run_command):
23913         * Scripts/webkitpy/common/system/executive_mock.py:
23914         (MockExecutive.run_command):
23915         (MockExecutive2.run_command):
23916         * Scripts/webkitpy/common/system/executive_unittest.py:
23917         (ExecutiveTest.test_run_command_with_bad_command.run_bad_command):
23918         * Scripts/webkitpy/common/system/platforminfo.py:
23919         (PlatformInfo.xcode_sdk_version):
23920         * Scripts/webkitpy/layout_tests/servers/http_server.py:
23921         (Lighttpd._check_and_kill):
23922         * Scripts/webkitpy/port/base.py:
23923         (Port._symbols_string):
23924         * Scripts/webkitpy/port/gtk.py:
23925         (GtkPort.setup_environ_for_server):
23926         * Scripts/webkitpy/port/win.py:
23927         (WinPort._runtime_feature_list):
23928         (WinPort.read_registry_value):
23929         * Scripts/webkitpy/port/win_unittest.py:
23930         (WinPortTest.test_runtime_feature_list):
23931         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
23932         * Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
23934 2018-01-23  Commit Queue  <commit-queue@webkit.org>
23936         Unreviewed, rolling out r227279 and r227373.
23937         https://bugs.webkit.org/show_bug.cgi?id=181988
23939         The LayoutTest crash fix introduced an API test failure.
23940         (Requested by ryanhaddad on #webkit).
23942         Reverted changesets:
23944         "Resign NowPlaying status when no media element is eligible"
23945         https://bugs.webkit.org/show_bug.cgi?id=181914
23946         https://trac.webkit.org/changeset/227279
23948         "Resign NowPlaying status when no media element is eligible"
23949         https://bugs.webkit.org/show_bug.cgi?id=181914
23950         https://trac.webkit.org/changeset/227373
23952 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
23954         Unreviewed. Add test case for slow in test_expectations.py.
23956         I forgot to also check slow tests in test_expectations.py unit tests.
23958         * Scripts/webkitpy/common/test_expectations_unittest.py:
23959         (assert_slow):
23960         (test_build_type):
23961         (test_slow):
23963 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
23965         Unreviewed. Mark test WTF_Lock.ManyContendedShortSections as slow.
23967         * TestWebKitAPI/glib/TestExpectations.json:
23969 2018-01-22  Ryosuke Niwa  <rniwa@webkit.org>
23971         Blob conversion and sanitization doesn't work with Microsoft Word for Mac 2011
23972         https://bugs.webkit.org/show_bug.cgi?id=181616
23973         <rdar://problem/36484908>
23975         Reviewed by Wenson Hsieh.
23977         Added tests to make sure we sanitize plain HTML, not just web archives,
23978         when and only when custom pasteboard data is enabled.
23980         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
23981         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added.
23982         (writeHTMLToPasteboard): Added.
23983         (createWebViewWithCustomPasteboardDataSetting): Added.
23985 2018-01-22  Alexey Proskuryakov  <ap@apple.com>
23987         REGRESSION (r226485): Many new wasm leaks detected by the leaks bot
23988         https://bugs.webkit.org/show_bug.cgi?id=181400
23989         rdar://problem/36358768
23991         Reviewed by JF Bastien.
23993         * BuildSlaveSupport/build.webkit.org-config/config.json: Disable poisoning on the leaks bot.
23995 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
23997         [GTK] Test /webkit/WebKitWebsiteData/resource-load-statistics is failing since r227223
23998         https://bugs.webkit.org/show_bug.cgi?id=181929
24000         Reviewed by Michael Catanzaro.
24002         The test is checking that the resource load stats file is deleted after clearing website data. Since r227223,
24003         the website data completion callback is not called immediately, and a new file is created when the operation
24004         finishes. We need to check that the file was removing after calling clear.
24006         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
24007         (fileChangedCallback):
24008         (testWebsiteDataResourceLoadStatistics):
24010 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
24012         Reviewed GTK gardening. Mark /webkit/WebKitWebView/mouse-target as fail too.
24014         * TestWebKitAPI/glib/TestExpectations.json:
24016 2018-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
24018         Unreviewed GTK+ gardening. Fix /webkit/WebKitConsoleMessage/network-error.
24020         Partially revert r226782, the fix was wrong for the GLib version we currently use.
24022         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
24023         (testWebKitConsoleMessageNetworkError):
24025 2018-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
24027         Unreviewed. Remove unused verbose mode from GLib API tests runner.
24029         * glib/api_test_runner.py:
24030         (add_options):
24032 2018-01-21  Wenson Hsieh  <wenson_hsieh@apple.com>
24034         Add a new feature flag for EXTRA_ZOOM_MODE and reintroduce AdditionalFeatureDefines.h
24035         https://bugs.webkit.org/show_bug.cgi?id=181918
24037         Reviewed by Tim Horton.
24039         Add EXTRA_ZOOM_MODE to FeatureDefines.xconfig (off by default).
24041         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
24043 2018-01-21  Eric Carlson  <eric.carlson@apple.com>
24045         Resign NowPlaying status when no media element is eligible
24046         https://bugs.webkit.org/show_bug.cgi?id=181914
24047         <rdar://problem/35294116>
24049         Reviewed by Jer Noble.
24051         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
24052         (-[NowPlayingTestWebView hasActiveNowPlayingSession]):
24053         (TestWebKitAPI::TEST):
24054         * TestWebKitAPI/Tests/WebKitCocoa/large-video-test-now-playing.html:
24056 2018-01-21  Aakash Jain  <aakash_jain@apple.com>
24058         Fix broken unit-tests after r227192
24059         https://bugs.webkit.org/show_bug.cgi?id=181909
24061         Reviewed by Carlos Garcia Campos.
24063         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
24065 2018-01-20  Chris Dumez  <cdumez@apple.com>
24067         API test URLSchemeHandler.Leaks1 is timing out on iOS simulator debug
24068         https://bugs.webkit.org/show_bug.cgi?id=174984
24069         <rdar://problem/33665676>
24071         Reviewed by Alexey Proskuryakov.
24073         Disable URLSchemeHandler.Leaks1 API test on iOS as it sometimes times out.
24075         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
24076         (TEST):
24078 2018-01-20  Brian Burg  <bburg@apple.com>
24080         WebDriver: fix some nits that prevent running W3C tests on Mac
24081         https://bugs.webkit.org/show_bug.cgi?id=181864
24083         Reviewed by Carlos Garcia Campos.
24085         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
24086         (WebDriverW3CWebServer.__init__): _wsout needs to always be defined,
24087         as we assume that the property exists later.
24089         (WebDriverW3CWebServer.stop): If the temporary file doesn't
24090         exist for some reason, the remove call will raise and exception.
24091         Gracefully handle the case where the file isn't created due to
24092         a problem/exception that happened elsewhere.
24094 2018-01-19  Ling Ho  <lingcherd_ho@apple.com>
24096         Move Bingdings EWS and Webkitpy EWS queues to High Sierra on buildbot dashboard.
24097         https://bugs.webkit.org/show_bug.cgi?id=181881
24099         Reviewed by Alexey Proskuryakov.
24101         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
24102         (BubbleQueueServer):
24103         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
24104         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
24105         (table.queue-grid tr.platform.mac-os-x-elcapitan img.logo): Deleted.
24107 2018-01-19  Youenn Fablet  <youenn@apple.com>
24109         Do not go to the storage process when registering a service worker client if there is no service worker registered
24110         https://bugs.webkit.org/show_bug.cgi?id=181740
24111         <rdar://problem/36650400>
24113         Reviewed by Chris Dumez.
24115         Add support for internals inside API tests.
24117         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24118         * TestWebKitAPI/Tests/InjectInternals_Bundle.cpp: Added.
24119         (TestWebKitAPI::InternalsInjectedBundleTest::InternalsInjectedBundleTest):
24120         (TestWebKitAPI::InternalsInjectedBundleTest::initialize):
24121         (TestWebKitAPI::InternalsInjectedBundleTest::didCreatePage):
24122         (TestWebKitAPI::InternalsInjectedBundleTest::didClearWindowForFrame):
24123         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
24124         (setConfigurationInjectedBundlePath):
24125         (-[RegularPageMessageHandler userContentController:didReceiveScriptMessage:]):
24127 2018-01-19  John Wilander  <wilander@apple.com>
24129         Resource Load Statistics: Implement callback support for removal of WebsiteDataType::ResourceLoadStatistics
24130         https://bugs.webkit.org/show_bug.cgi?id=181822
24131         https://bugs.webkit.org/show_bug.cgi?id=175263
24132         https://bugs.webkit.org/show_bug.cgi?id=178536
24133         https://bugs.webkit.org/show_bug.cgi?id=181223
24134         https://bugs.webkit.org/show_bug.cgi?id=181482
24135         <rdar://problem/33491222>
24136         <rdar://problem/33805293>
24137         <rdar://problem/36332683>
24138         <rdar://problem/36549026>
24140         Reviewed by Alex Christensen.
24142         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
24143         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
24144         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
24145         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
24146         * WebKitTestRunner/InjectedBundle/TestRunner.h:
24147         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
24148         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
24149         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
24151 2018-01-19  Jonathan Bedard  <jbedard@apple.com>
24153         run-webkit-tests fails when there is a curly brace in Xcode build output
24154         https://bugs.webkit.org/show_bug.cgi?id=181254
24155         <rdar://problem/36453374>
24157         Reviewed by Daniel Bates.
24159         * Scripts/webkitpy/port/base.py:
24160         (Port._run_script): Encode script output before logging it.
24162 2018-01-19  Chris Dumez  <cdumez@apple.com>
24164         Service worker registrations restored from disk may not be reused when the JS calls register() again
24165         https://bugs.webkit.org/show_bug.cgi?id=181810
24166         <rdar://problem/36591711>
24168         Reviewed by Youenn Fablet.
24170         Add API test coverage.
24172         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
24173         (-[SWMessageHandlerForRestoreFromDiskTest initWithExpectedMessage:]):
24174         (-[SWMessageHandlerForRestoreFromDiskTest userContentController:didReceiveScriptMessage:]):
24176 2018-01-19  Ryan Haddad  <ryanhaddad@apple.com>
24178         Remove El Capitan queues from flakiness dashboard
24179         https://bugs.webkit.org/show_bug.cgi?id=181860
24181         Reviewed by Aakash Jain.
24183         * TestResultServer/static-dashboards/builders.jsonp:
24185 2018-01-19  Keith Miller  <keith_miller@apple.com>
24187         HaveInternalSDK includes should be "#include?"
24188         https://bugs.webkit.org/show_bug.cgi?id=179670
24190         Reviewed by Dan Bernstein.
24192         * MiniBrowser/Configurations/Base.xcconfig:
24193         * MobileMiniBrowser/Configurations/Base.xcconfig:
24194         * TestWebKitAPI/Configurations/Base.xcconfig:
24195         * WebKitTestRunner/Configurations/Base.xcconfig:
24197 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
24199         WebDriver: driver environment not passed to pytest when running w3c tests
24200         https://bugs.webkit.org/show_bug.cgi?id=181852
24202         Reviewed by Carlos Alberto Lopez Perez.
24204         That's why color codes are not used in the bots log for selenium tests but they appear in w3c tests.
24206         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
24207         (WebDriverW3CExecutor.run):
24209 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
24211         [GTK] WebDriver: wayland display no used in wayland bot
24212         https://bugs.webkit.org/show_bug.cgi?id=181851
24214         Reviewed by Carlos Alberto Lopez Perez.
24216         We need to handle the additionalArguments property in the WebDriverTests step.
24218         * BuildSlaveSupport/build.webkit.org-config/steps.py:
24219         (RunWebDriverTests.start):
24221 2018-01-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
24223         [GTK] TERM environment variable is not passed to the test driver.
24224         https://bugs.webkit.org/show_bug.cgi?id=181847
24226         Rubber-stamped by by Carlos Garcia Campos.
24228         * Scripts/webkitpy/port/base.py:
24229         (Port.to.setup_environ_for_server):
24231 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
24233         WebDriver: run-webdriver-tests is crashing in the bots when creating results json file
24234         https://bugs.webkit.org/show_bug.cgi?id=181844
24236         Reviewed by Carlos Alberto Lopez Perez.
24238         We always try to create the directory where to store the json file, but when the filename is given directly,
24239         like in the bots, the current dir is used.
24241         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
24242         (WebDriverTestRunner.dump_results_to_json_file): Do not try to create the directory if dirname() returns an
24243         empty string.
24245 2018-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
24247         [GTK] WebDriver tests are running outside the jhbuild env
24248         https://bugs.webkit.org/show_bug.cgi?id=181842
24250         Reviewed by Å½an DoberÅ¡ek.
24252         We need to enter jhbuild env in run-webdriver-tests.
24254         * Scripts/run-webdriver-tests:
24256 2018-01-18  Carlos Garcia Campos  <cgarcia@igalia.com>
24258         [GTK] Run WebDriver tests in the bots
24259         https://bugs.webkit.org/show_bug.cgi?id=181787
24261         Reviewed by Michael Catanzaro.
24263         Add a step to run WebDriver tests in the GTK test bots. The new step is not GTK specific, but only added to the
24264         factory for the GTK port for now.
24266         * BuildSlaveSupport/build.webkit.org-config/factories.py:
24267         (TestFactory.__init__):
24268         * BuildSlaveSupport/build.webkit.org-config/steps.py:
24269         (RunWebDriverTests):
24270         (RunWebDriverTests.start):
24271         (RunWebDriverTests.commandComplete):
24272         (RunWebDriverTests.evaluateCommand):
24273         (RunWebDriverTests.getText):
24274         (RunWebDriverTests.getText2):
24276 2018-01-18  Basuke Suzuki  <Basuke.Suzuki@sony.com>
24278         [WinCairo] Pass correct url for http test to test driver.
24279         https://bugs.webkit.org/show_bug.cgi?id=181814
24281         Reviewed by Alex Christensen.
24283         * Scripts/webkitpy/port/driver.py:
24284         (Driver):
24285         (Driver.http_test_path_to_uri):
24286         (Driver.is_secure_path):
24287         (Driver.http_base_url):
24288         (Driver.uri_to_test):
24290 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
24292         Unreviewed, update the triggerable name for 'sierra-release-perf-tests'
24294         * BuildSlaveSupport/build.webkit.org-config/config.json:
24296 2018-01-18  Dan Bernstein  <mitz@apple.com>
24298         [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
24299         https://bugs.webkit.org/show_bug.cgi?id=181803
24301         Reviewed by Tim Horton.
24303         * DumpRenderTree/mac/Configurations/Base.xcconfig: Updated.
24304         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Ditto.
24305         * ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
24306         * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Ditto.
24307         * MiniBrowser/Configurations/Base.xcconfig: Ditto.
24308         * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
24309         * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
24310         * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
24311         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals
24312           helpers.
24313         * TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build
24314           settings useful for defining settings that depend on the target macOS version.
24315         * WebKitTestRunner/Configurations/Base.xcconfig: Updated.
24316         * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Updated.
24318 2018-01-18  Ling Ho  <lingcherd_ho@apple.com>
24320         Remove Opensource El Capitan queues from buildbot
24321         https://bugs.webkit.org/show_bug.cgi?id=181712
24323         Reviewed by Aakash Jain.
24325         * BuildSlaveSupport/build.webkit.org-config/config.json:
24326         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
24327         (WebKitBuildbot):
24328         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
24330 2018-01-18  Chris Dumez  <cdumez@apple.com>
24332         Service Workers restored from persistent storage have 'redundant' state
24333         https://bugs.webkit.org/show_bug.cgi?id=181749
24334         <rdar://problem/36556486>
24336         Reviewed by Youenn Fablet.
24338         Add API test coverage.
24340         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
24341         (-[SWMessageHandlerForFetchTest userContentController:didReceiveScriptMessage:]):
24343 2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
24345         [GTK] AX: Two layout tests crash with error 'g_strstr_len: assertion 'haystack != NULL' failed' in Accessibility::UIElement::url
24346         https://bugs.webkit.org/show_bug.cgi?id=176796
24348         Reviewed by Chris Fleizach.
24350         Add sanity check that we have a URL before calling g_strstr_len().
24352         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
24353         (WTR::AccessibilityUIElement::url):
24355 2018-01-18  Ryan Haddad  <ryanhaddad@apple.com>
24357         Add triggers for Sierra test262 and perf queues
24358         https://bugs.webkit.org/show_bug.cgi?id=181799
24360         Reviewed by Aakash Jain.
24362         * BuildSlaveSupport/build.webkit.org-config/config.json:
24364 2018-01-18  Wenson Hsieh  <wenson_hsieh@apple.com>
24366         [iOS] Specify -[NSURL _title] for the associated URL when copying an image element
24367         https://bugs.webkit.org/show_bug.cgi?id=181783
24368         <rdar://problem/35785445>
24370         Reviewed by Ryosuke Niwa.
24372         Augments an existing API test and adds a new test to make sure that the resulting NSItemProvider's NSURL when
24373         copying an image contains a relevant title.
24375         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
24376         (TestWebKitAPI::TEST):
24377         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
24378         * TestWebKitAPI/ios/UIKitSPI.h:
24380 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24382         WebDriver: ignore the driver in selenium test names when getting expectations
24383         https://bugs.webkit.org/show_bug.cgi?id=181738
24385         Reviewed by Carlos Alberto Lopez Perez.
24387         In selenium tests, the driver is added as a parameter to every test which results in tests names like
24388         foo[DriverName] or foo[DriverName-param2] in case of tests using more parameters. We don't want to include the
24389         driver name in the test expectations file, so we need to remove it when querying the expectations.
24391         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
24392         (TestExpectationsMarker.__init__): Save the param to ignore.
24393         (TestExpectationsMarker._item_name): Return the name of the test without the para to ignore.
24394         (TestExpectationsMarker.pytest_collection_modifyitems): Use _item_name().
24395         (run): Pass param to ignore to TestExpectationsMarker().
24396         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
24397         (WebDriverSeleniumExecutor.__init__): Save the driver name.
24398         (WebDriverSeleniumExecutor.run): Pass the driver name as param to ignore.
24400 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24402         [GTK][WPE] Show unit tests unexpectedly passing in the bots
24403         https://bugs.webkit.org/show_bug.cgi?id=181726
24405         Reviewed by Michael Catanzaro.
24407         Now that we have the info, let's show it also in the bots.
24409         * BuildSlaveSupport/build.webkit.org-config/steps.py:
24410         (RunGLibAPITests.commandComplete):
24412 2018-01-17  Ling Ho  <lingcherd_ho@apple.com>
24414         Fix broken unittest after r227048
24415         https://bugs.webkit.org/show_bug.cgi?id=181760
24417         Reviewed by Aakash Jain.
24420 2018-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
24422         WEBKIT_FRAMEWORK should not modify file-global include directories
24423         https://bugs.webkit.org/show_bug.cgi?id=181656
24425         Reviewed by Konstantin Tokarev.
24427         * TestWebKitAPI/PlatformWPE.cmake:
24428         * TestWebKitAPI/glib/CMakeLists.txt:
24430 2018-01-17  Alicia Boya García  <aboya@igalia.com>
24432         Unreviewed, mark Alicia as committer in contributors.json
24434         * Scripts/webkitpy/common/config/contributors.json:
24436 2018-01-17  Youenn Fablet  <youenn@apple.com>
24438         Put fetch Request.keepalive behind a runtime flag
24439         https://bugs.webkit.org/show_bug.cgi?id=181592
24441         Reviewed by Chris Dumez.
24443         * DumpRenderTree/mac/DumpRenderTree.mm:
24444         (enableExperimentalFeatures):
24445         * DumpRenderTree/win/DumpRenderTree.cpp:
24446         (enableExperimentalFeatures):
24447         * WebKitTestRunner/TestController.cpp:
24448         (WTR::TestController::resetPreferencesToConsistentValues):
24450 2018-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
24452         Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
24453         https://bugs.webkit.org/show_bug.cgi?id=181637
24454         <rdar://problem/36508471>
24456         Reviewed by Tim Horton.
24458         Add 2 new API tests to exercise injected bundle SPI for supplying replacement URLs when pasting an image, and an
24459         attributed string containing multiple NSTextAttachments. See WebKit and WebCore ChangeLogs for more detail.
24461         * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm:
24462         (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
24463         (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:replacementURLForResource:mimeType:]):
24465         Implement the new Objective-C bundle SPI to look up the incoming MIME type in the dictionary supplied via the
24466         "MIMETypeToReplacementURLMap" bundle initialization parameter, and return it.
24468         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
24469         (webViewForTestingAttachments):
24470         (-[TestWKWebView tagsInBody]):
24471         (-[TestWKWebView expectElementTagsInOrder:]):
24472         (-[TestWKWebView expectElementTag:toComeBefore:]):
24474         Add a test helper to check that the given list of element tags appears in the document body. Also, reimplement
24475         the existing -expectElementTag:toComeBefore: as a special case of -expectElementTagsInOrder:.
24477         (TestWebKitAPI::TEST):
24478         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
24479         (WTR::InjectedBundlePage::InjectedBundlePage):
24481 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24483         WebDriver: add support for test expectations
24484         https://bugs.webkit.org/show_bug.cgi?id=180420
24486         Reviewed by Carlos Alberto Lopez Perez.
24488         Add support for parsing test expectations from a JSON file and mark tests on collection accordingly.
24490         * Scripts/run-webdriver-tests: Get the retval from process_results().
24491         * Scripts/webkitpy/thirdparty/__init__.py:
24492         (AutoinstallImportHook._install_pytest): Install also py because pytest needs it.
24493         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
24494         (TestExpectationsMarker): Plugin to mark tests based on given expectations.
24495         (TestExpectationsMarker.__init__): Initialize expectations.
24496         (TestExpectationsMarker.pytest_collection_modifyitems): Mark tests if needed,
24497         (run): Create and use TestExpectationsMarker plugin.
24498         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
24499         (WebDriverSeleniumExecutor.run): Pass expectations to pytest_runner.
24500         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
24501         (WebDriverTestRunner.__init__): Create a TestExpectations and pass it to the runners.
24502         (WebDriverTestRunner.run): Do not count results here.
24503         (WebDriverTestRunner.process_results): Rename print_results() as process_results() since it now returns the
24504         amount of failures. Printing the test summary while processing results will be made optional in a follow up
24505         patch.
24506         (WebDriverTestRunner.process_results.report): Return the amount of failures.
24507         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
24508         (WebDriverTestRunnerSelenium.__init__): Initialize _expectations.
24509         (WebDriverTestRunnerSelenium.collect_tests): Do not include skipped tests.
24510         (WebDriverTestRunnerSelenium.run): Stop returning the tests count.
24511         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
24512         (WebDriverTestRunnerW3C.__init__): Initialize _expectations.
24513         (WebDriverTestRunnerW3C.collect_tests): Do not include skipped tests.
24514         (WebDriverTestRunnerW3C._scan_directory): Ditto.
24515         (WebDriverTestRunnerW3C.run): Stop returning the tests count.
24516         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
24517         (WebDriverW3CExecutor.run): Pass expectations to pytest_runner.
24519 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24521         Unreviewed WPE gardening. Mark some known unit test failures.
24523         * TestWebKitAPI/glib/TestExpectations.json:
24525 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24527         [GTK][WPE] Use the same subtest names in GTK and WPE unit tests
24528         https://bugs.webkit.org/show_bug.cgi?id=181724
24530         Reviewed by Philippe Normand.
24532         We currently use /webkit2/foo/bar for GTK and /wpe/foo/bar for WPE. Many of the tests are common, so there's no
24533         reason to use different names. This way we can refer to the same test names for both and we can share the
24534         expectations in the TestExpectations.json file.
24536         * TestWebKitAPI/glib/TestExpectations.json:
24537         * TestWebKitAPI/glib/WebKitGLib/TestMain.h: Use /webkit/foo/bar in GTK and WPE.
24539 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24541         Unreviewed. Increase the slow timeout of GTK and WPE unit tests.
24543         We are using now a lower default timeout, so multiplying by 5 is no longer enough for some of the WTF
24544         tests. Multiply by 10 so that we get the same slow timeout as before, 50.
24546         * glib/api_test_runner.py:
24547         (TestRunner._run_test_glib):
24548         (TestRunner._run_google_test):
24550 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24552         [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
24553         https://bugs.webkit.org/show_bug.cgi?id=179914
24555         Reviewed by Å½an DoberÅ¡ek.
24557         Add two scripts to be run by dist-check step when releasing. One is to detect symbols duplicated in
24558         libjavascriptcoregtk and libwebkit2gtk that should be included to the version script. The other one is to ensure
24559         all symbols listed in the script are present in the library.
24561         * Scripts/check-for-global-bss-symbols-in-webkigtk-libs: Added.
24562         (bss_symbols):
24563         * Scripts/check-for-invalid-symbols-in-version-script: Added.
24564         (script_symbols):
24565         * Scripts/make-dist:
24566         (Distcheck.build):
24567         (Distcheck):
24568         (Distcheck.check_symbols):
24569         (Distcheck.check):
24571 2018-01-17  Carlos Garcia Campos  <cgarcia@igalia.com>
24573         [GTK][WPE] Propagate the parameters when restarting glib api tests after a crash
24574         https://bugs.webkit.org/show_bug.cgi?id=181722
24576         Reviewed by Å½an DoberÅ¡ek.
24578         I forgot to pass the parameters to run() when restarting.
24580         * glib/glib_test_runner.py:
24581         (GLibTestRunner.run):
24583 2018-01-16  Fujii Hironori  <Hironori.Fujii@sony.com>
24585         [CMake] Remove WebCoreDerivedSources library target
24586         https://bugs.webkit.org/show_bug.cgi?id=181664
24588         Reviewed by Carlos Garcia Campos.
24590         * TestWebKitAPI/PlatformWPE.cmake: Do not link WebCoreDerivedSources.
24591         * TestWebKitAPI/PlatformWin.cmake: Ditto.
24593 2018-01-16  Ling Ho  <lingcherd_ho@apple.com>
24595         Move Debug Test262, Release Test262 and Performance queues to Sierra
24596         https://bugs.webkit.org/show_bug.cgi?id=181692
24598         Unreviewed
24600 2018-01-16  Zach Li  <zachli@apple.com>
24602         Add pop-up policy support in website policies.
24603         https://bugs.webkit.org/show_bug.cgi?id=181544.
24604         rdar://problem/30521400.
24606         Reviewed by Alex Christensen.
24608         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24609         Added pop-up-check.html.
24611         * TestWebKitAPI/Tests/WebKit/pop-up-check.html: Added.
24613         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
24614         (-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
24615         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
24616         (-[PopUpPoliciesDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
24617         (TEST):
24619 2018-01-16  Wenson Hsieh  <wenson_hsieh@apple.com>
24621         [Attachment Support] Provide the `src` of an attachment to the UI delegate when an attachment is inserted
24622         https://bugs.webkit.org/show_bug.cgi?id=181638
24623         <rdar://problem/36508702>
24625         Reviewed by Dan Bernstein.
24627         Tweak an existing API test to check that the `src` of an attachment element inserted via script matches the
24628         `source` provided to the UI delegate via -[WKUIDelegate _webView:didInsertAttachment:withSource:].
24630         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
24631         (-[AttachmentUpdateObserver init]):
24632         (-[AttachmentUpdateObserver sourceForIdentifier:]):
24633         (-[AttachmentUpdateObserver _webView:didInsertAttachment:withSource:]):
24634         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectSourceForIdentifier):
24635         (TestWebKitAPI::TEST):
24636         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]): Deleted.
24638 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
24640         Unreviewed. Fix GTK unit tests execution in the bots after r226967.
24642         I forgot to pass the environment to the GLibTestRunner and Xvfb was not used in the bots.
24644         * glib/api_test_runner.py:
24645         (TestRunner._run_test_glib): Pass env to GLibTestRunner.
24646         * glib/glib_test_runner.py:
24647         (GLibTestRunner.run): Use given env.
24649 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
24651         [GTK][WPE] Stop passing --verbose to run-api-tests from the bots
24652         https://bugs.webkit.org/show_bug.cgi?id=181676
24654         Reviewed by Carlos Alberto Lopez Perez.
24656         The option was removed in r226967.
24658         * BuildSlaveSupport/build.webkit.org-config/steps.py:
24659         (RunGtkAPITests):
24660         (RunWPEAPITests):
24662 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
24664         Unreviewed. Temporarily bring back --verbose option of api_test_runner.py.
24666         The bots are still passing that option and the step is failing because it was removed in r226967.
24668         * glib/api_test_runner.py:
24669         (add_options):
24671 2018-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
24673         [GTK][WPE] Improve the way glib tests are run
24674         https://bugs.webkit.org/show_bug.cgi?id=181674
24676         Reviewed by Å½an DoberÅ¡ek.
24678         Stop using gtester external program and use our own tester from python directly. This way we no longer need to
24679         parse the tests output to get the results which is causing problems in WPE bot. We can now differentiate between
24680         tests failing due to an expected assert in the test and unexpected crashes.
24681         This also fixes a bug in previous code where we failed to properly detect tests timing out, because gtester was
24682         not showing the subtest name in stdout in case of timeouts.
24683         I've lowered the default timeout from 10 to 5, since we are now properly handling the timeout for every test
24684         case. I've also removed the verbose option, since it was only used by gtester and we now always show the result
24685         of every test case.
24687         * glib/api_test_runner.py:
24688         (TestRunner._run_test_glib): Use GLibTestRunner.
24689         (TestRunner._run_google_test): Wrote tests timing out to stdout too.
24690         (add_options):
24691         * glib/glib_test_runner.py: Added.
24692         (TestTimeout):
24693         (Message):
24694         (Message.__init__):
24695         (Message.create):
24696         (Message.create.read_unsigned):
24697         (Message.create.read_double):
24698         (Message.create.read_string):
24699         (GLibTestRunner):
24700         (GLibTestRunner.__init__):
24701         (GLibTestRunner._process_data):
24702         (GLibTestRunner._process_message):
24703         (GLibTestRunner._read_from_pipe):
24704         (GLibTestRunner._read_from_stderr):
24705         (GLibTestRunner._start_timeout):
24706         (GLibTestRunner._start_timeout._alarm_handler):
24707         (GLibTestRunner._stop_timeout):
24708         (GLibTestRunner._subtest_start):
24709         (GLibTestRunner._subtest_message):
24710         (GLibTestRunner._subtest_stderr):
24711         (GLibTestRunner._subtest_end):
24712         (GLibTestRunner.run):
24714 2018-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
24716         Unreviewed, add Thibault to contributors.json
24718         It's a bit weird to add someone here before their first contribution, but this affects
24719         Bugzilla autocomplete, and that is serious business.
24721         * Scripts/webkitpy/common/config/contributors.json:
24723 2018-01-15  JF Bastien  <jfbastien@apple.com>
24725         Remove makePoisonedUnique
24726         https://bugs.webkit.org/show_bug.cgi?id=181630
24727         <rdar://problem/36498623>
24729         Reviewed by Mark Lam.
24731         Update tests.
24733         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
24734         (TestWebKitAPI::TEST):
24735         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
24736         (TestWebKitAPI::TEST):
24738 2018-01-15  Adrian Perez de Castro  <aperez@igalia.com>
24740         [GTK][JHBuild] Tools/gtk/install-dependencies: Package libxfont does not exist anymore in Arch Linux
24741         https://bugs.webkit.org/show_bug.cgi?id=181476
24743         Reviewed by Michael Catanzaro.
24745         Update to xorg-server 1.19.6 which depends on libxfont2, and change
24746         the lists of packages to install libxfont2-devel (or equivalent).
24748         * gtk/install-dependencies:
24749         * gtk/jhbuild.modules:
24751 2018-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
24753         [GTK][WPE] Add support for unit test expectations
24754         https://bugs.webkit.org/show_bug.cgi?id=181589
24756         Reviewed by Michael Catanzaro.
24758         We currently have a way to skip tests by annotating them in the api test runner script. The main problem of this
24759         approach is that we skip tests when they fail in the bots and we never notice if they stop failing, keeping the
24760         tests skipped forever. This is indeed the case of several WebKit2 C API tests. Annotating skipped tests in the
24761         script itself is not a good idea either.
24763         This patch adds a generic TestExpectations class for simple tests based on tests with subtests, like our unit
24764         tests, but also WebDriver tests. It parses a json file with the tests and subtests expectations and provides
24765         convenient methods to query them.
24767         * Scripts/run-gtk-tests:
24768         (GtkTestRunner): Remove all Skipped and Slow tests marked here.
24769         * Scripts/run-wpe-tests:
24770         (WPETestRunner): Ditto.
24771         * Scripts/webkitpy/common/test_expectations.py: Added.
24772         (TestExpectations):
24773         (TestExpectations.__init__):
24774         (TestExpectations._port_name_for_expected):
24775         (TestExpectations._expected_value):
24776         (TestExpectations.skipped_tests):
24777         (TestExpectations.skipped_subtests):
24778         (TestExpectations._expectation_value):
24779         (TestExpectations.is_slow):
24780         (TestExpectations.get_expectation):
24781         * Scripts/webkitpy/common/test_expectations_unittest.py: Added.
24782         (MockTestExpectations):
24783         (MockTestExpectations.__init__):
24784         (MockTestExpectations.is_skip):
24785         (ExpectationsTest):
24786         (assert_exp):
24787         (assert_not_exp):
24788         (assert_bad_exp):
24789         (assert_skip):
24790         (test_basic):
24791         (test_skip):
24792         (test_flaky):
24793         (test_build_type):
24794         * TestWebKitAPI/glib/TestExpectations.json: Added.
24795         * glib/api_test_runner.py:
24796         (TestRunner): Remove SkippedTest implementation.
24797         (TestRunner.__init__): Create a TestExpectations.
24798         (TestRunner._test_cases_to_skip): Use TestExpectations to check skipped tests.
24799         (TestRunner._should_run_test_program): Ditto.
24800         (TestRunner._run_test_glib): Use TestExpectations to check if test suite is slow.
24801         (TestRunner._run_test_glib.parse_line.set_test_result): Register also tests passing.
24802         (TestRunner._run_google_test): Use TestExpectations to check if test cases is slow and register tests passing.
24803         (TestRunner.run_tests): Check if actual result is the expected one and register also unexpected passes.
24804         (TestRunner.run_tests.report): Helper to write report to stdout.
24806 2018-01-13  Mark Lam  <mark.lam@apple.com>
24808         Replace all use of ConstExprPoisoned with Poisoned.
24809         https://bugs.webkit.org/show_bug.cgi?id=181542
24810         <rdar://problem/36442138>
24812         Reviewed by JF Bastien.
24814         1. Converted tests to using new uintptr_t& poison type.
24815         2. Added tests for Poisoned comparison operators.
24817         * TestWebKitAPI/CMakeLists.txt:
24818         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24819         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Removed.
24820         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
24821         (TestWebKitAPI::TEST):
24822         (TestWebKitAPI::initializeTestPoison): Deleted.
24823         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
24824         (TestWebKitAPI::TEST):
24825         (TestWebKitAPI::passWithRef):
24826         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
24827         (TestWebKitAPI::TEST):
24828         (TestWebKitAPI::f1):
24829         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
24830         (TestWebKitAPI::TEST):
24831         (TestWebKitAPI::poisonedPtrFoo):
24832         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
24833         (TestWebKitAPI::TEST):
24834         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
24835         (TestWebKitAPI::TEST):
24837 2018-01-13  David Kilzer  <ddkilzer@apple.com>
24839         check-webkit-style: false positive for [whitespace/braces] with os_log format string
24840         <https://webkit.org/b/181606>
24842         Reviewed by Darin Adler.
24844         * Scripts/webkitpy/style/checkers/cpp.py:
24845         (check_spacing): Modify regular expression to ignore
24846         os_log format strings like '%{public}'.
24847         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
24848         (CppStyleTest.test_spacing_before_braces): Add os_log
24849         format string test.
24851 2018-01-12  Wenson Hsieh  <wenson_hsieh@apple.com>
24853         [macOS] API tests ChangeAttachmentDataUpdatesWithInPlaceDisplay and InPlaceVideoAttachmentInsertionWithinList are failing
24854         https://bugs.webkit.org/show_bug.cgi?id=181626
24856         Reviewed by Joseph Pecoraro.
24858         Make the web view for WKAttachmentTests slightly bigger to avoid size clamping behavior introduced in r226915.
24859         Additionally, write a new API test covering the change in r226915.
24861         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
24862         (webViewForTestingAttachments):
24863         (TestWebKitAPI::TEST):
24865 2018-01-12  Alex Christensen  <achristensen@webkit.org>
24867         History state should be updated during client redirects with asynchronous policy decisions
24868         https://bugs.webkit.org/show_bug.cgi?id=181358
24869         <rdar://problem/35547689>
24871         Reviewed by Andy Estes.
24873         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
24874         (-[AsyncPolicyDecisionDelegate webView:didFinishNavigation:]):
24875         (-[AsyncPolicyDecisionDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
24876         (TEST):
24878 2018-01-12  Jonathan Bedard  <jbedard@apple.com>
24880         webkitpy: Refactor simulator code (Part 4)
24881         https://bugs.webkit.org/show_bug.cgi?id=180555
24882         <rdar://problem/36131381>
24884         Reviewed by Aakash Jain.
24886         Move new_simulated_device.py to simulated_device.py.
24888         * Scripts/webkitpy/port/ios_simulator.py: Update import statement.
24889         * Scripts/webkitpy/xcode/new_simulated_device.py: Removed.
24890         * Scripts/webkitpy/xcode/new_simulated_device_unittest.py: Removed.
24891         * Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device.py.
24892         * Scripts/webkitpy/xcode/simulated_device_unittest.py: Copied from Tools/Scripts/webkitpy/xcode/new_simulated_device_unittest.py.
24894 2018-01-12  Alex Christensen  <achristensen@webkit.org>
24896         REGRESSION (r226818): API test WebKitLegacy.LoadInvalidURLRequest is failing
24897         https://bugs.webkit.org/show_bug.cgi?id=181595
24899         This test was testing behavior of an invalid URL that WebCore parses but NSURL does not.
24900         It was using example.com<> but after r226479 < and > are considered invalid by WebCore.
24901         I change the < and > to $ to make this test pass and continue to test what it used to.
24903         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.html:
24904         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
24905         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
24907 2018-01-11  Keith Miller  <keith_miller@apple.com>
24909         Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION
24910         https://bugs.webkit.org/show_bug.cgi?id=181573
24912         Reviewed by Simon Fraser.
24914         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
24916 2018-01-11  Jiewen Tan  <jiewen_tan@apple.com>
24918         [WebAuthN] Import a CBOR coder from Chromium
24919         https://bugs.webkit.org/show_bug.cgi?id=181522
24920         <rdar://problem/36055729>
24922         Reviewed by Brent Fulgham.
24924         This patch also imports all unit tests into our API tests to ensure all
24925         workarounds and modification against the original codebase doesn't change
24926         any original functionalities.
24928         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
24929         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: Added.
24930         (TestWebKitAPI::TEST):
24931         * TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp: Added.
24932         (TestWebKitAPI::TEST):
24933         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp: Added.
24934         (TestWebKitAPI::eq):
24935         Workarounds applied.
24936         (TestWebKitAPI::TEST):
24938 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
24940         webkitpy: Use partially disambiguated type in SimulatedDeviceManager._disambiguate_device_type
24941         https://bugs.webkit.org/show_bug.cgi?id=181538
24942         <rdar://problem/36440580>
24944         Reviewed by Aakash Jain.
24946         When disambiguating a device type, it is possible that the provided device type is sufficiently
24947         ambiguous that the comparisons against complete device types without a disambiguated hardware_family
24948         will result in a failure to disambiguate the type.
24950         * Scripts/webkitpy/xcode/new_simulated_device.py:
24951         (SimulatedDeviceManager._disambiguate_device_type):
24953 2018-01-11  Brent Fulgham  <bfulgham@apple.com>
24955         REGRESSION(r219530): ResourceLoadStatisticsPersistentStorage should be read-only in ephemeral sessions
24956         https://bugs.webkit.org/show_bug.cgi?id=181136
24957         <rdar://problem/36116604>
24959         Reviewed by Chris Dumez.
24961         Add a new API test to confirm that ResourceLoadStatistics can be turned on safely for ephemeral
24962         browsing sessions.
24964         * Scripts/run-gtk-tests:
24965         (GtkTestRunner): Unskip test now that it passes.
24966         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
24967         (TEST): Add new WebsiteDataStoreEphemeral test.
24969 2018-01-11  Ryan Haddad  <ryanhaddad@apple.com>
24971         Unreviewed, rolling out r226816.
24973         This change broke LayoutTests on the bots.
24975         Reverted changeset:
24977         "run-webkit-tests fails when there is a curly brace in Xcode
24978         build output"
24979         https://bugs.webkit.org/show_bug.cgi?id=181254
24980         https://trac.webkit.org/changeset/226816
24982 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
24984         webkitpy: Fix flakey webserver tests
24985         https://bugs.webkit.org/show_bug.cgi?id=181555
24986         <rdar://problem/36448273>
24988         Reviewed by Aakash Jain.
24990         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
24991         (LayoutTestRunnerTests.test_servers_started): Add and bind custom checks to
24992         determine if a specific server is running.
24994 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
24996         Commit queue failed to land a bug, 'NoneType' object has no attribute 'strip'
24997         https://bugs.webkit.org/show_bug.cgi?id=181561
24998         <rdar://problem/36452652>
25000         Reviewed by Aakash Jain.
25002         BeautifulSoup.find may return None, this case should be gracefully handled.
25004         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
25005         (BugzillaQueries._parse_result_count):
25006         (BugzillaQueries._fetch_bugs_from_advanced_query): Added logging.
25008 2018-01-11  Alexey Proskuryakov  <ap@apple.com>
25010         run-webkit-tests fails when there is a curly brace in Xcode build output
25011         https://bugs.webkit.org/show_bug.cgi?id=181254
25013         Reviewed by Daniel Bates.
25015         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
25016         (MeteredStream.write):
25018 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
25020         webkitpy: Reimplement simulator code (Part 3)
25021         https://bugs.webkit.org/show_bug.cgi?id=180555
25022         <rdar://problem/36131381>
25024         Reviewed by Aakash Jain.
25026         Remove old simulator code.
25028         * Scripts/webkitpy/xcode/__init__.py: Remove import statement.
25029         * Scripts/webkitpy/xcode/simulated_device.py: Removed.
25030         * Scripts/webkitpy/xcode/simulator.py: Removed.
25031         * Scripts/webkitpy/xcode/simulator_unittest.py: Removed.
25033 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
25035         [Attachment Support] Support moving attachment elements in editable areas using drag and drop
25036         https://bugs.webkit.org/show_bug.cgi?id=181337
25037         <rdar://problem/36324813>
25039         Reviewed by Tim Horton.
25041         Add 3 new API tests for attachment element dragging.
25043         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25044         (-[TestWKWebView expectElementTag:toComeBefore:]):
25045         (-[NSItemProvider expectType:withData:]):
25046         (TestWebKitAPI::TEST):
25048 2018-01-11  Jonathan Bedard  <jbedard@apple.com>
25050         REGRESSION(r225856): Incorrectly managing 'future' baseline_search_paths. 
25051         https://bugs.webkit.org/show_bug.cgi?id=179621
25052         <rdar://problem/35589585>
25054         Unreviewed infrastructure fix.
25056         * Scripts/webkitpy/port/mac.py:
25057         (MacPort.default_baseline_search_path): Include 'future' in the version_fallback
25058         list if we are the VERSION_MAX, which usually corresponds with future.
25060 2018-01-11  Filip Pizlo  <fpizlo@apple.com>
25062         CodeBlocks should be in IsoSubspaces
25063         https://bugs.webkit.org/show_bug.cgi?id=180884
25065         Reviewed by Saam Barati.
25066         
25067         Remove some less important benchmarks from the default run. Doing run-jsc-benchmarks
25068         shouldn't take a long time due to benchmarks we don't optimize for.
25069         
25070         * Scripts/run-jsc-benchmarks:
25072 2018-01-11  Ms2ger  <Ms2ger@igalia.com>
25074         Test gardening for GTK.
25075         https://bugs.webkit.org/show_bug.cgi?id=181477
25077         Unreviewed test gardening.
25079         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Correct the file name.
25080         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Adjust the expected console message.
25082 2018-01-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
25084         Add the new JSCOnly bot to the scheduler.
25085         https://bugs.webkit.org/show_bug.cgi?id=181487
25087         Unreviewed follow-up patch after r226729
25089         On r226729 I missed to add the new JSCOnly bot the default scheduler.
25090         This is needed to make the bot automatically pick each commit for testing.
25092         * BuildSlaveSupport/build.webkit.org-config/config.json:
25094 2018-01-11  Wenson Hsieh  <wenson_hsieh@apple.com>
25096         [Attachment Support] Support dragging attachment elements out as files on iOS
25097         https://bugs.webkit.org/show_bug.cgi?id=181199
25098         <rdar://problem/36299316>
25100         Reviewed by Tim Horton, Andy Estes and Joseph Pecoraro.
25102         Add support in the drag and drop simulator for testing blob-backed attachment element dragging, and also add new
25103         attachment API tests.
25105         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25106         (-[NSItemProvider expectType:withData:]):
25107         (TestWebKitAPI::TEST):
25109         Add two new WKAttachmentTests to exercise dragging data- and file-backed blobs via attachment elements. These
25110         tests first insert attachments via drop or WKWebView SPI, and then drag these attachments out and use the
25111         -expectType:withData: helper to inspect the item providers created from the drag source.
25113         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25114         (TestWebKitAPI::TEST):
25115         * TestWebKitAPI/ios/DataInteractionSimulator.h:
25116         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
25117         (-[MockDragSession localContext]):
25118         (-[MockDragSession setLocalContext:]):
25119         (-[DataInteractionSimulator _resetSimulatedState]):
25120         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
25121         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
25122         (-[DataInteractionSimulator _advanceProgress]):
25123         (-[DataInteractionSimulator endDataTransfer]):
25125         Make some tweaks to the iOS drag and drop simulator. In particular, this patch (1) adds a new hook to tell
25126         WebKit that data transfers have been completed, (2) fixes incorrect drop proposal handling when returning
25127         UIDropOperationForbidden by replacing _shouldPerformOperation with a UIDropProposal, and (3) teach the
25128         MockDragSession to hold on to a localContext.
25130 2018-01-11  Ali Juma  <ajuma@chromium.org>
25132         Unreviewed. Add Ali Juma as contributor
25134         * Scripts/webkitpy/common/config/contributors.json:
25136 2018-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
25138         Unreviewed. Update Selenium WebDriver imported tests.
25140         New version of selenium uses command line options to pass driver and browser binaries to pytest instead of
25141         environment variables.
25143         * Scripts/webkitpy/webdriver_tests/pytest_runner.py:
25144         (collect): Reorder the arguments to make pytest happy.
25145         (run): Ditto.
25146         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
25147         (WebDriverSeleniumExecutor.__init__): Add driver binary, browser binary and browser args as arguments.
25149 2018-01-11  Ling Ho  <lingcherd_ho@apple.com>
25151         Move Commit Queue and EWS Queues to Sierra on Bot Watcher's Dasboard
25152         https://bugs.webkit.org/show_bug.cgi?id=181492
25153         <rdar://problem/36359679>
25155         Reviewed by Alexey Proskuryakov. 
25157 2018-01-10  Adrian Perez de Castro  <aperez@igalia.com>
25159         [GTK] Tools/gtk/install-dependencies: Packages geoclue, ruby-highline, xorg-utils do not exist in Arch Linux
25160         https://bugs.webkit.org/show_bug.cgi?id=181475
25162         Reviewed by Michael Catanzaro.
25164         * gtk/install-dependencies: Update package list for Arch Linux, extend
25165         message shown at end of installation with additional tips.
25167 2018-01-10  Wenson Hsieh  <wenson_hsieh@apple.com>
25169         REGRESSION(r222507): Composition highlight doesn't render when using IME
25170         https://bugs.webkit.org/show_bug.cgi?id=181485
25171         <rdar://problem/35896516>
25173         Reviewed by Ryosuke Niwa.
25175         Add a `suppressUnderline` argument to TextInputController.setMarkedText. This suppresses the custom underlines
25176         rendered when testing IME on iOS in WebKit2. In this new test, suppressing underline rendering is needed to
25177         allow rendering composition backgrounds (see InlineTextBox::paint).
25179         * DumpRenderTree/ios/TextInputControllerIOS.m:
25180         (+[TextInputController isSelectorExcludedFromWebScript:]):
25181         (+[TextInputController webScriptNameForSelector:]):
25182         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
25183         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
25184         * DumpRenderTree/mac/TextInputControllerMac.m:
25185         (+[TextInputController isSelectorExcludedFromWebScript:]):
25186         (+[TextInputController webScriptNameForSelector:]):
25187         (-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]):
25188         (-[TextInputController setMarkedText:selectedFrom:length:]): Deleted.
25189         * WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
25190         * WebKitTestRunner/InjectedBundle/TextInputController.cpp:
25191         (WTR::TextInputController::setMarkedText):
25192         * WebKitTestRunner/InjectedBundle/TextInputController.h:
25194 2018-01-10  JF Bastien  <jfbastien@apple.com>
25196         Poison small JSObject derivatives which only contain pointers
25197         https://bugs.webkit.org/show_bug.cgi?id=181483
25198         <rdar://problem/36407127>
25200         Reviewed by Mark Lam.
25202         Test the new move-assign and move-copy from unique_ptr, as well as
25203         nullptr_t ctors.
25205         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
25206         (TestWebKitAPI::TEST):
25207         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
25208         (TestWebKitAPI::TEST):
25209         * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
25210         (TestWebKitAPI::TEST):
25212 2018-01-10  Chris Dumez  <cdumez@apple.com>
25214         Multiple http/wpt/beacon/contentextensions/ test are flaky.
25215         https://bugs.webkit.org/show_bug.cgi?id=179256
25216         <rdar://problem/35401978>
25218         Reviewed by Alex Christensen.
25220         Update WebKitTestRunner to set a temporary path for content extensions so that its WKTR
25221         instance gets its own folder to avoid conflicts and flakiness.
25223         * WebKitTestRunner/mac/TestControllerMac.mm:
25224         (WTR::TestController::platformConfigureViewForTest):
25226 2018-01-10  Tim Horton  <timothy_horton@apple.com>
25228         REGRESSION (r213590): Swipe from edge to go to previous page is significantly slower than tapping back button on Twitter
25229         https://bugs.webkit.org/show_bug.cgi?id=181269
25230         <rdar://problem/35110344>
25232         Reviewed by Simon Fraser.
25234         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
25235         (WTR::UIScriptController::beginBackSwipe):
25236         (WTR::UIScriptController::completeBackSwipe):
25237         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
25238         (WTR::UIScriptController::beginBackSwipe):
25239         (WTR::UIScriptController::completeBackSwipe):
25240         (WTR::UIScriptController::overridePreference):
25241         (WTR::UIScriptController::replaceTextAtRange):
25242         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
25243         (WTR::PlatformWebView::setNavigationGesturesEnabled):
25244         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
25245         (WTR::UIScriptController::beginBackSwipe):
25246         (WTR::UIScriptController::completeBackSwipe):
25247         Implement beginBackSwipe and completeBackSwipe on iOS (they already
25248         exist on Mac) in terms of the new WKWebView testing SPI.
25250 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
25252         REGRESSION (r226715): ignore WARNING output in linter tests
25253         https://bugs.webkit.org/show_bug.cgi?id=181486
25254         <rdar://problem/36408847>
25256         Reviewed by Aakash Jain.
25258         Linter unit tests should not be interested in logs at the the INFO or WARNING levels.
25260         * Scripts/webkitpy/common/system/outputcapture.py:
25261         (OutputCapture.__init__): Pass logging level to be captured.
25262         * Scripts/webkitpy/style/main_unittest.py:
25263         (ExpectationLinterInStyleCheckerTest.test_no_linter_errors): Capture logging at the ERROR level.
25264         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line): Ditto.
25265         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_no_edit): Ditto.
25266         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_edit_in_file): Ditto.
25267         (ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_only_deletes): Ditto.
25268         (ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Ditto.
25269         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file): Ditto.
25270         (ExpectationLinterInStyleCheckerTest.test_linter_deleted_file_no_edit): Ditto.
25272 2018-01-10  Carlos Alberto Lopez Perez  <clopez@igalia.com>
25274         Add a JSCOnly MIPS buildbot
25275         https://bugs.webkit.org/show_bug.cgi?id=181487
25277         Reviewed by Michael Catanzaro.
25279         Add the new bot configs definitions for the master and update the unit tests.
25281         * BuildSlaveSupport/build.webkit.org-config/config.json:
25282         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
25284 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
25286         REGRESSION (r226715): don't re-check number of simulators in child processes
25287         https://bugs.webkit.org/show_bug.cgi?id=181484
25288         <rdar://problem/36407151>
25290         Reviewed by Aakash Jain.
25292         * Scripts/webkitpy/port/ios_simulator.py:
25293         (IOSSimulatorPort.__init__): Skip the number of simulators check if simulators
25294         are already initialized.
25296 2018-01-10  Commit Queue  <commit-queue@webkit.org>
25298         Unreviewed, rolling out r226667 and r226673.
25299         https://bugs.webkit.org/show_bug.cgi?id=181488
25301         This caused a flaky crash. (Requested by mlewis13 on #webkit).
25303         Reverted changesets:
25305         "CodeBlocks should be in IsoSubspaces"
25306         https://bugs.webkit.org/show_bug.cgi?id=180884
25307         https://trac.webkit.org/changeset/226667
25309         "REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
25310         https://bugs.webkit.org/show_bug.cgi?id=180884
25311         https://trac.webkit.org/changeset/226673
25313 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
25315         Follow-up fix to r226715
25316         https://bugs.webkit.org/show_bug.cgi?id=180555
25317         <rdar://problem/36131381>
25319         Unreviewed infrastructure fix.
25321         * Scripts/webkitpy/xcode/new_simulated_device.py:
25322         (SimulatedDeviceManager._create_or_find_device_for_request): Use _delete instead
25323         of delete.
25325 2018-01-10  Jonathan Bedard  <jbedard@apple.com>
25327         webkitpy: Refactor simulator code (Part 2)
25328         https://bugs.webkit.org/show_bug.cgi?id=180555
25329         <rdar://problem/36131381>
25331         Reviewed by Aakash Jain.
25333         The patch leverages the SimulatedDeviceManager when running layout tests.
25334         This patch is primarily code removal, since much of the IOSSimulatorPort
25335         was dedicated to managing simulators. The removed code is either now owned by the
25336         SimulatedDeviceManager (and committed in Part 1) or supported a technique to
25337         boot multiple simulators which was made obsolete in Xcode 9.
25339         * Scripts/webkitpy/layout_tests/controllers/manager.py:
25340         (Manager._custom_device_for_test.in): Device names now have spaces in them,
25341         strip those spaces.
25342         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
25343         (parse_args): Remove '--runtime' flag, this is achieved with the --version flag.
25344         * Scripts/webkitpy/port/ios.py:
25345         (IOSPort.__init__): The _current_device idiom is no longer required since the
25346         SimulatedDeviceManager keeps track of any previously booted devices.
25347         (IOSPort.target_host): Even when only a single device is used, it will be accessed
25348         through the array of managed devices.
25349         (IOSPort.using_multiple_devices): Deleted.
25350         * Scripts/webkitpy/port/ios_device.py:
25351         (IOSDevicePort.using_multiple_devices): Deleted.
25352         * Scripts/webkitpy/port/ios_simulator.py:
25353         (IOSSimulatorPort): Remove constants required to manage simulators, change device
25354         class strings so they can be parsed by the DeviceType class.
25355         (IOSSimulatorPort.__init__): Determine the number of processes to use by checking
25356         the number of simulators currently booted, the number of child processes specified
25357         and the maximum number of simulators supported by this system.
25358         (IOSSimulatorPort._device_for_worker_number_map):Return the array of initialized
25359         devices owned by the SimulatedDeviceManager.
25360         (IOSSimulatorPort.ios_version): Remove support for the --runtime option.
25361         (IOSSimulatorPort.default_child_processes): Use the SimulatedDeviceManager to check
25362         the maximum number of supported simulators on this system.
25363         (IOSSimulatorPort._create_devices): Construct a list of device requests with a
25364         request for each child process and send this list to the SimulatedDeviceManager to
25365         initialize the devices.
25366         (IOSSimulatorPort.clean_up_test_run):
25367         (IOSSimulatorPort.check_sys_deps): Check that there are simulators running the
25368         specified version of iOS.
25369         (IOSSimulatorPort.reset_preferences):
25370         (IOSSimulatorPort.simulator_runtime): Deleted.
25371         (IOSSimulatorPort.simulator_device_type): Deleted.
25372         (IOSSimulatorPort._teardown_managed_simulators): Deleted.
25373         (IOSSimulatorPort.use_multiple_simulator_apps): Deleted.
25374         (IOSSimulatorPort._create_simulators): Deleted.
25375         (IOSSimulatorPort._quit_ios_simulator): Deleted.
25376         (IOSSimulatorPort._using_dedicated_simulators): Deleted.
25377         (IOSSimulatorPort.using_multiple_devices): Deleted.
25378         (IOSSimulatorPort._create_device): Deleted.
25379         (IOSSimulatorPort.get_simulator_path): Deleted.
25380         (IOSSimulatorPort._createSimulatorApps): Deleted.
25381         (IOSSimulatorPort._createSimulatorApp): Deleted.
25382         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
25383         (TestRebaseline.test_rebaseline): Filter out commands run when determining the
25384         maximum number of simulators run on this system.
25385         (TestRebaselineExpectations.test_rebaseline_expectations): Ditto.
25386         * Scripts/webkitpy/xcode/new_simulated_device.py:
25387         (SimulatedDeviceManager._does_fulfill_request): Fixed log statement.
25389 2018-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>
25391         WebDriver: run-webdriver-tests doesn't handle test names with a '/' correctly
25392         https://bugs.webkit.org/show_bug.cgi?id=181474
25394         Reviewed by Carlos Alberto Lopez Perez.
25396         We use os.path.basename() to get the subtest name. If the test name contains a slash we get part of the subtest
25397         name as the name.
25399         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
25400         (WebDriverTestRunnerW3C._subtest_name): Helper function to get the subtest name.
25401         (WebDriverTestRunnerW3C.run): Use _subtest_name() instead of os.path.basename().
25403 2018-01-09  Andy Estes  <aestes@apple.com>
25405         [Xcode] Use the Apple Internal SDK if available when building ImageDiff
25406         https://bugs.webkit.org/show_bug.cgi?id=181459
25408         Reviewed by Dan Bernstein.
25410         * ImageDiff/cg/Configurations/Base.xcconfig:
25412 2018-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
25414         font-display:fallback can cause a visual flash (which is supposed to be impossible)
25415         https://bugs.webkit.org/show_bug.cgi?id=181374
25417         Reviewed by Simon Fraser.
25419         The test requires Palatino.
25421         * DumpRenderTree/mac/DumpRenderTree.mm:
25422         (allowedFontFamilySet):
25423         * WebKitTestRunner/mac/TestControllerMac.mm:
25424         (WTR::allowedFontFamilySet):
25426 2018-01-09  Saam Barati  <sbarati@apple.com>
25428         Give some slack in display-profiler-outputs computation of the terminal window's number of columns
25429         https://bugs.webkit.org/show_bug.cgi?id=181449
25431         Reviewed by JF Bastien.
25433         This allows me to Cmd+f in my terminal to search for things without
25434         having the results become misaligned.
25436         * Scripts/display-profiler-output:
25438 2018-01-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
25440         [webkitpy] PlatformInfo should have default argument for casual use
25441         https://bugs.webkit.org/show_bug.cgi?id=180827
25443         Reviewed by David Kilzer.
25445         PlatformInfo should be the only way to check platform specific thing instead
25446         of sys.platform or other various checks. If there is something you want to check,
25447         it should be placed in PlatformInfo.
25449         Currently to instantiate PlatformInfo, it requires arguments, which is usually
25450         sys, platform and Executive(). They are straight forward and should be handled
25451         by default arguments. Then we can instantiate PlatformInfo more casual.
25453         * Scripts/webkitpy/common/system/platforminfo.py:
25454         (PlatformInfo): Use relative module path import
25455         (PlatformInfo.__init__):
25456         (PlatformInfo.executive): Lazy instantiation of Executive()
25457         (PlatformInfo.total_bytes_memory): Accessing via above property
25458         (PlatformInfo.xcode_sdk_version): Ditto
25459         (PlatformInfo.xcode_simctl_list): Ditto
25460         (PlatformInfo.xcode_version): Ditto
25461         (PlatformInfo._win_version_str): Ditto
25462         * Scripts/webkitpy/common/system/systemhost.py:
25463         (SystemHost.__init__):
25464         * Scripts/webkitpy/common/system/user.py:
25465         (User.__init__):
25467 2018-01-09  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
25469         [Win] Remove workaround for Bug 176442 after stopping MSVC 2015 support
25470         https://bugs.webkit.org/show_bug.cgi?id=176443
25472         Reviewed by Darin Adler.
25474         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
25475         (TEST):
25477 2018-01-09  Frederic Wang  <fwang@igalia.com.fr>
25479         check-webkit-style: Verify syntax for WK_API_AVAILABLE
25480         https://bugs.webkit.org/show_bug.cgi?id=181394
25482         Reviewed by Darin Adler.
25484         A common syntax error for WK_API_AVAILABLE is to write ios(WK_MAC_TBA)
25485         as the second parameter instead of ios(WK_IOS_TBA). This generally
25486         builds for iOS on EWS but not when using the public SDK. See r224057,
25487         r223207 and r226211 for example. This patch adds a basic style check
25488         for that macro to prevent this kind of mistake.
25490         * Scripts/webkitpy/style/checkers/cpp.py:
25491         (check_min_versions_of_wk_api_available): New function to verify the parameters of WX_API_AVAILABLE.
25492         (check_style): Run new style check.
25493         (CppChecker): Add build type for the new style check.
25494         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
25495         (WebKitStyleTest.test_min_versions_of_wk_api_available): Add tests for the new style check.
25497 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
25499         [Attachment Support] Expose HTMLAttachmentElement.uniqueIdentifier to bindings
25500         https://bugs.webkit.org/show_bug.cgi?id=181420
25501         <rdar://problem/36365827>
25503         Reviewed by Alex Christensen.
25505         Adjusts some existing API tests to verify that attachment elements' uniqueIdentifiers match the uniqueIdentifier
25506         of corresponding _WKAttachments.
25508         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25509         (TestWebKitAPI::TEST):
25511 2018-01-08  Alex Christensen  <achristensen@webkit.org>
25513         Add WKNavigationDelegate SPI exposing WebProcess crash reason
25514         https://bugs.webkit.org/show_bug.cgi?id=181410
25515         <rdar://problem/36167199>
25517         Reviewed by Wenson Hsieh.
25519         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
25520         (-[CrashReasonDelegate _webView:webContentProcessDidTerminateWithReason:]):
25521         (TEST):
25523 2018-01-08  Alex Christensen  <achristensen@webkit.org>
25525         Add SPI for WKOpenPanelParameters._acceptedMIMETypes and _acceptedFileExtensions
25526         https://bugs.webkit.org/show_bug.cgi?id=181408
25527         <rdar://problem/35884960>
25529         Reviewed by Tim Horton.
25531         * TestWebKitAPI/Tests/WebKitCocoa/RunOpenPanel.mm:
25532         (-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
25534 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
25536         [Attachment Support] Expose file name and content type of WKAttachment
25537         https://bugs.webkit.org/show_bug.cgi?id=181390
25538         <rdar://problem/36336837>
25540         Reviewed by Tim Horton.
25542         Adjusts some existing tests in WKAttachmentTests to exercise -requestInfo:.
25544         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25545         (-[_WKAttachment synchronouslyRequestInfo:]):
25546         (-[_WKAttachment synchronouslyRequestData:]):
25548         Reimplement this in terms of -synchronouslyRequestInfo:.
25550         (-[_WKAttachment expectRequestedDataToBe:]):
25551         (TestWebKitAPI::TEST):
25553 2018-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
25555         Copying, pasting, and then deleting an attachment element breaks attachment data requests
25556         https://bugs.webkit.org/show_bug.cgi?id=181365
25557         <rdar://problem/36340647>
25559         Reviewed by Tim Horton.
25561         Adds two new attachment API tests to verify that copying and pasting an existing attachment inserts an
25562         attachment element that may be edited independently of the original attachment. See WebCore/ChangeLog for more
25563         detail.
25565         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25566         (TestWebKitAPI::TEST):
25568 2018-01-08  Youenn Fablet  <youenn@apple.com>
25570         navigator.onLine does not work inside service workers
25571         https://bugs.webkit.org/show_bug.cgi?id=181079
25572         <rdar://problem/36178606>
25574         Reviewed by Darin Adler.
25576         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
25577         (WTR::InjectedBundle::initialize): Setting service worker creation callback to inject ServiceWorkerInternals object.
25579 2018-01-07  Saam Barati  <sbarati@apple.com>
25581         Add total exits and total compilations sorting mode to the "full" command in display-profiler-output
25582         https://bugs.webkit.org/show_bug.cgi?id=181372
25584         Reviewed by Filip Pizlo.
25586         Adding these sorting modes makes it easier to analyze functions
25587         that recompile a lot and exit a lot.
25589         * Scripts/display-profiler-output:
25591 2018-01-06  Julien Brianceau  <julien.brianceau@gmail.com>
25593         Unreviewed, remove my Cisco email from contributors.json
25595         * Scripts/webkitpy/common/config/contributors.json:
25597 2018-01-05  JF Bastien  <jfbastien@apple.com>
25599         WebAssembly: poison JS object's secrets
25600         https://bugs.webkit.org/show_bug.cgi?id=181339
25601         <rdar://problem/36325001>
25603         Reviewed by Mark Lam.
25605         Update tests for swap(Poisoned<k, T>, T*)
25607         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
25608         (TestWebKitAPI::TEST):
25609         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
25610         (TestWebKitAPI::TEST):
25611         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
25612         (TestWebKitAPI::TEST):
25614 2018-01-05  Wenson Hsieh  <wenson_hsieh@apple.com>
25616         REGRESSION(r226396) DataInteractionTests: ContentEditableToContentEditable and ContentEditableToTextarea are failing
25617         https://bugs.webkit.org/show_bug.cgi?id=181359
25619         Reviewed by Tim Horton.
25621         Ensure that these tests still pass using older SDKs.
25623         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25624         (TestWebKitAPI::TEST):
25626 2018-01-05  Alex Christensen  <achristensen@webkit.org>
25628         Rebase API test after r226469
25629         https://bugs.webkit.org/show_bug.cgi?id=181308
25631         * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
25632         (-[LoadInvalidURLNavigationActionDelegate webView:didFailProvisionalNavigation:withError:]):
25633         A URL with < or > in it is now recognized as invalid by WebKit.  This is intentional, and matches our behavior before enabling the new URLParser.
25635 2018-01-05  Alex Christensen  <achristensen@webkit.org>
25637         Restrict navigation-time WKWebsiteDataStore swapping to main frame navigations
25638         https://bugs.webkit.org/show_bug.cgi?id=181217
25640         Reviewed by Tim Horton.
25642         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
25643         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
25644         (TEST):
25646 2018-01-05  Alex Christensen  <achristensen@webkit.org>
25648         Add WKBundleFrameCreateFrameHandle
25649         https://bugs.webkit.org/show_bug.cgi?id=181232
25650         <rdar://problem/35926696>
25652         Reviewed by Tim Horton.
25654         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
25655         * TestWebKitAPI/Tests/WebKitCocoa/FrameHandleSerialization.mm: Added.
25656         (mouseDidMoveOverElement):
25657         (-[FrameHandleSerialization webProcessPlugIn:didCreateBrowserContextController:]):
25658         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
25659         (-[MouseMoveOverElementDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
25660         (TEST):
25662 2018-01-05  Chris Fleizach  <cfleizach@apple.com>
25664         iOS: Build fix after r226432.
25665         
25666         Unreviewed. Stop duplicating speakAs symbols for iOS.
25668         * DumpRenderTree/AccessibilityUIElement.cpp:
25669         (AccessibilityUIElement::speakAs):
25671 2018-01-05  Javier Fernandez  <jfernandez@igalia.com>
25673         Unreviewed, added myself as WebKit reviewer
25675         * Scripts/webkitpy/common/config/contributors.json:
25677 2018-01-05  Claudio Saavedra  <csaavedra@igalia.com>
25679         WPE: Build fix after r226432.
25681         Unreviewed. Rename ::speak() to ::speakAs().
25682         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
25683         (WTR::AccessibilityUIElement::speakAs):
25684         (WTR::AccessibilityUIElement::speak): Deleted.
25686 2018-01-04  Chris Fleizach  <cfleizach@apple.com>
25688         AX: Implement updated CSS3 Speech for 'speak' and 'speak-as' properties
25689         https://bugs.webkit.org/show_bug.cgi?id=180361
25691         Reviewed by Zalan Bujtas.
25693         * DumpRenderTree/AccessibilityUIElement.cpp:
25694         (speakAsCallback):
25695         (AccessibilityUIElement::speakAs):
25696         (AccessibilityUIElement::getJSClass):
25697         (speakCallback): Deleted.
25698         (AccessibilityUIElement::speak): Deleted.
25699         * DumpRenderTree/AccessibilityUIElement.h:
25700         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
25701         (AccessibilityUIElement::speakAs):
25702         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
25703         (AccessibilityUIElement::speakAs):
25704         (AccessibilityUIElement::speak): Deleted.
25705         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
25706         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
25707         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
25708         (WTR::AccessibilityUIElement::speakAs):
25709         (WTR::AccessibilityUIElement::speak): Deleted.
25710         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
25711         (WTR::AccessibilityUIElement::speakAs):
25712         (WTR::AccessibilityUIElement::speak): Deleted.
25714 2018-01-04  Jonathan Bedard  <jbedard@apple.com>
25716         REGRESSION (r226395): test-webkitperl test expectations incorrect
25717         https://bugs.webkit.org/show_bug.cgi?id=181307
25718         <rdar://problem/36306558>
25720         Rubber-stamped by Aakash Jain.
25722         r226395 added two lines towards the beginning of
25723         Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl, the line
25724         numbers in the test expectations need to update.
25726         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests-expected.txt:
25728 2018-01-04  Tim Horton  <timothy_horton@apple.com>
25730         WKWebView loses minimum layout size overrides that happen while the process is terminated
25731         https://bugs.webkit.org/show_bug.cgi?id=181306
25732         <rdar://problem/34398288>
25734         Reviewed by Dan Bernstein.
25736         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
25737         (TEST):
25738         Add a test that calling _overrideLayoutParametersWithMinimumLayoutSize
25739         while the process is terminated results in the page getting the correct
25740         minimum layout size.
25742 2018-01-04  Eric Carlson  <eric.carlson@apple.com>
25744         [MediaStream] Add Mock screen capture source
25745         https://bugs.webkit.org/show_bug.cgi?id=181291
25746         <rdar://problem/36298164>
25748         Reviewed by Dean Jackson.
25750         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test.
25751         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
25752         * TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
25754 2018-01-04  Lucas Forschler  <lforschler@apple.com>
25756         <rdar://problem/36300930> Change proxy server setting on master config to reach s3 servers
25758         Reviewed by Ling Ho.
25760         * BuildSlaveSupport/build.webkit.org-config/steps.py:
25762 2018-01-03  Wenson Hsieh  <wenson_hsieh@apple.com>
25764         [Attachment Support] Create attachment elements when dropping files on iOS
25765         https://bugs.webkit.org/show_bug.cgi?id=181192
25766         <rdar://problem/36280945>
25768         Reviewed by Tim Horton.
25770         Adds 3 new API tests to exercise different use cases of dropping content as attachment elements when the runtime
25771         switch is enabled. See below for more details.
25773         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
25774         (-[NSItemProvider registerData:type:]):
25775         (platformCopyPNG):
25776         (TestWebKitAPI::TEST):
25777         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
25779         Fix some currently failing iOS drag and drop tests. In this case, there's no reason RTFD should appear in the
25780         source item provider when dragging rich text *without* attachments, so this should have been a check for just
25781         kUTTypeRTF instead.
25783         (TestWebKitAPI::TEST):
25785         Tests a few cases of inserting attachment elements via drop:
25786         1.  We should distinguish between drops containing rich/plain text files from just dropping rich/plain text.
25787             Instead of inserting the contents as inline web content, this should generate attachment elements.
25788         2.  Test the fallback mechanism for inserting attachment elements. If the preferred presentation style is not
25789             explicitly set, but there's nothing WebKit would otherwise do with the dropped content, then we should fall
25790             back to inserting the content as an attachment.
25791         3.  Test that if multiple attachments and inline item providers are present, WebKit will respect the order in
25792             which they were inserted by the source (as opposed to, for instance, putting all of the attachments in front
25793             or at the end).
25795         * TestWebKitAPI/cocoa/TestWKWebView.h:
25796         * TestWebKitAPI/cocoa/TestWKWebView.mm:
25797         (-[TestWKWebView objectByEvaluatingJavaScript:]):
25799         Add a helper method to return an object that represents the result of evaluating some given script, and rewrite
25800         -stringByEvaluatingJavaScript to just turn around and call this.
25802         (-[TestWKWebView stringByEvaluatingJavaScript:]):
25804 2018-01-03  Ting-Wei Lan  <lantw44@gmail.com>
25806         Replace hard-coded paths in shebangs with #!/usr/bin/env
25807         https://bugs.webkit.org/show_bug.cgi?id=181040
25809         Reviewed by Alex Christensen.
25811         * BuildSlaveSupport/build-launcher-app:
25812         * BuildSlaveSupport/build-launcher-dmg:
25813         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
25814         * BuildSlaveSupport/built-product-archive:
25815         * BuildSlaveSupport/clean-build:
25816         * BuildSlaveSupport/delete-stale-build-files:
25817         * BuildSlaveSupport/download-built-product:
25818         * BuildSlaveSupport/gtk/buildbot/log/run:
25819         * BuildSlaveSupport/gtk/buildbot/run:
25820         * BuildSlaveSupport/gtk/pulseaudio/run:
25821         * BuildSlaveSupport/kill-old-processes:
25822         * BuildSlaveSupport/test-result-archive:
25823         * BuildSlaveSupport/win/kill-old-processes:
25824         * Scripts/SpacingHeuristics.pm:
25825         * Scripts/add-include:
25826         * Scripts/build-api-tests:
25827         * Scripts/build-dumprendertree:
25828         * Scripts/build-imagediff:
25829         * Scripts/build-jsc:
25830         * Scripts/build-webkit:
25831         * Scripts/build-webkittestrunner:
25832         * Scripts/check-Xcode-source-file-types:
25833         * Scripts/check-dom-results:
25834         * Scripts/check-for-exit-time-destructors:
25835         * Scripts/check-for-global-initializers:
25836         * Scripts/check-for-inappropriate-objc-class-names:
25837         * Scripts/check-for-weak-vtables-and-externals:
25838         * Scripts/clean-header-guards:
25839         * Scripts/compare-timing-files:
25840         * Scripts/configure-xcode-for-ios-development:
25841         * Scripts/copy-webkitlibraries-to-product-directory:
25842         * Scripts/create-exports:
25843         * Scripts/debug-minibrowser:
25844         * Scripts/debug-safari:
25845         * Scripts/debug-test-runner:
25846         * Scripts/do-file-rename:
25847         * Scripts/do-webcore-rename:
25848         * Scripts/dump-webkit-tests-run:
25849         * Scripts/ensure-valid-python:
25850         * Scripts/execAppWithEnv:
25851         * Scripts/extract-localizable-js-strings:
25852         * Scripts/filter-build-webkit:
25853         * Scripts/find-extra-includes:
25854         * Scripts/fix-blink-patch:
25855         * Scripts/generate-coverage-data:
25856         * Scripts/git-add-reviewer:
25857         * Scripts/jsc-stress-test-helpers/js-exception-fuzz:
25858         * Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz:
25859         * Scripts/jsc-stress-test-helpers/js-osr-exit-fuzz:
25860         * Scripts/make-new-script-test:
25861         * Scripts/make-script-test-wrappers:
25862         * Scripts/package-root:
25863         * Scripts/parse-malloc-history:
25864         * Scripts/report-include-statistics:
25865         * Scripts/resolve-ChangeLogs:
25866         * Scripts/run-api-tests:
25867         * Scripts/run-bindings-tests:
25868         * Scripts/run-content-extension-tester:
25869         * Scripts/run-iexploder-tests:
25870         * Scripts/run-javascriptcore-tests:
25871         * Scripts/run-jsc:
25872         * Scripts/run-leaks:
25873         * Scripts/run-mangleme-tests:
25874         * Scripts/run-minibrowser:
25875         * Scripts/run-pageloadtest:
25876         * Scripts/run-regexp-tests:
25877         * Scripts/run-safari:
25878         * Scripts/run-sunspider:
25879         * Scripts/run-test-runner:
25880         * Scripts/run-webkit-app:
25881         * Scripts/run-webkit-httpd:
25882         * Scripts/run-webkit-websocketserver:
25883         * Scripts/set-webkit-configuration:
25884         * Scripts/show-pretty-diff:
25885         * Scripts/sort-Xcode-project-file:
25886         * Scripts/split-file-by-class:
25887         * Scripts/sunspider-compare-results:
25888         * Scripts/svn-apply:
25889         * Scripts/svn-unapply:
25890         * Scripts/test-webkit-scripts:
25891         * Scripts/test-webkitperl:
25892         * Scripts/update-iexploder-cssproperties:
25893         * Scripts/update-javascriptcore-test-results:
25894         * Scripts/update-webkit:
25895         * Scripts/update-webkit-auxiliary-libs:
25896         * Scripts/update-webkit-dependency:
25897         * Scripts/update-webkit-libs-jhbuild:
25898         * Scripts/update-webkit-localizable-strings:
25899         * Scripts/update-webkit-support-libs:
25900         * Scripts/update-webkitgtk-libs:
25901         * Scripts/update-webkitwpe-libs:
25902         * Scripts/webkit-build-directory:
25903         * Scripts/webkitperl/LoadAsModule.pm:
25904         * Scripts/webkitperl/VCSUtils_unittest/decodeGitBinaryPatch.pl:
25905         * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatch.pl:
25906         * Scripts/webkitperl/VCSUtils_unittest/fixChangeLogPatchThenSetChangeLogDateAndReviewer.pl:
25907         * Scripts/webkitperl/VCSUtils_unittest/fixSVNPatchForAdditionWithHistory.pl:
25908         * Scripts/webkitperl/VCSUtils_unittest/generatePatchCommand.pl:
25909         * Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl:
25910         * Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl:
25911         * Scripts/webkitperl/VCSUtils_unittest/parseDiff.pl:
25912         * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
25913         * Scripts/webkitperl/VCSUtils_unittest/parseDiffWithMockFiles.pl:
25914         * Scripts/webkitperl/VCSUtils_unittest/parseFirstEOL.pl:
25915         * Scripts/webkitperl/VCSUtils_unittest/parseGitDiffHeader.pl:
25916         * Scripts/webkitperl/VCSUtils_unittest/parsePatch.pl:
25917         * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl:
25918         * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl:
25919         * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl:
25920         * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl:
25921         * Scripts/webkitperl/VCSUtils_unittest/parseUnifiedDiffHeader.pl:
25922         * Scripts/webkitperl/VCSUtils_unittest/prepareParsedPatch.pl:
25923         * Scripts/webkitperl/VCSUtils_unittest/removeEOL.pl:
25924         * Scripts/webkitperl/VCSUtils_unittest/runCommand.pl:
25925         * Scripts/webkitperl/VCSUtils_unittest/runPatchCommand.pl:
25926         * Scripts/webkitperl/VCSUtils_unittest/setChangeLogDateAndReviewer.pl:
25927         * Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl:
25928         * Scripts/webkitperl/auto-version_unittest/versionStampTests.pl:
25929         * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
25930         * Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl:
25931         * Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl:
25932         * Scripts/webkitperl/prepare-ChangeLog_unittest/generateFunctionLists.pl:
25933         * Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:
25934         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/perl_unittests.pl:
25935         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl:
25936         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl:
25937         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl:
25938         * Scripts/webkitperl/webkitdirs_unittest/appendToEnvironmentVariableList.pl:
25939         * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRef.pl:
25940         * Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl:
25941         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl:
25942         * Scripts/webkitperl/webkitdirs_unittest/prependToEnvironmentVariableList.pl:
25943         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
25944         * ccache/ccache-clang:
25945         * ccache/ccache-clang++:
25946         * ccache/ccache-wrapper:
25947         * gtk/install-dependencies:
25948         * iExploder/iexploder-1.3.2/htdocs/iexploder.cgi:
25949         * iExploder/iexploder-1.3.2/htdocs/webserver.rb:
25950         * iExploder/iexploder-1.3.2/tools/lasthit.rb:
25951         * iExploder/iexploder-1.3.2/tools/osx_last_crash.rb:
25952         * iExploder/iexploder-1.3.2/tools/showtest.rb:
25953         * iExploder/iexploder-1.7.2/src/browser_harness.rb:
25954         * iExploder/iexploder-1.7.2/src/iexploder.cgi:
25955         * iExploder/iexploder-1.7.2/src/webserver.rb:
25956         * iExploder/iexploder-1.7.2/tools/lasthit.rb:
25957         * iExploder/iexploder-1.7.2/tools/osx_last_crash.rb:
25958         * wpe/install-dependencies:
25960 2018-01-03  Simon Fraser  <simon.fraser@apple.com>
25962         filter-build-webkit filters out useful compiler error lines
25963         https://bugs.webkit.org/show_bug.cgi?id=179864
25965         Reviewed by Tim Horton.
25967         Don't filter out lines that contain information about build errors by always showing lines
25968         after a line that contains "note:" or "error:".
25970         * Scripts/filter-build-webkit:
25971         (shouldShowSubsequentLine):
25972         (shouldIgnoreLine):
25974 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
25976         REGRESSION(r226366): [GTK] Broke TestBackForwardList and TestWebKitWebView
25977         https://bugs.webkit.org/show_bug.cgi?id=173915
25979         Unreviewed follow-up. Fix /webkit2/WebKitWebView/session-state-with-form-data and
25980         /webkit2/WebKitWebView/submit-form. The form ID may be NULL, but we can't put NULL into a
25981         GVariant unless we use maybe types, and maybe types are incompatible with D-Bus. So use an
25982         empty string in this case.
25984         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
25985         (emitFormSubmissionEvent):
25987 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
25989         [GTK] Add web process API to detect when form is submitted via JavaScript
25990         https://bugs.webkit.org/show_bug.cgi?id=173915
25992         Reviewed by Carlos Garcia Campos.
25994         Test it.
25996         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
25997         (FormSubmissionTest::FormSubmissionTest):
25998         (FormSubmissionTest::~FormSubmissionTest):
25999         (FormSubmissionTest::testFormSubmissionResult):
26000         (FormSubmissionTest::willSendDOMEventCallback):
26001         (FormSubmissionTest::willCompleteCallback):
26002         (FormSubmissionTest::runJavaScriptAndWaitUntilFormSubmitted):
26003         (testWebExtensionFormSubmissionSteps):
26004         (beforeAll):
26005         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
26006         (DelayedSignal::DelayedSignal):
26007         (emitFormSubmissionEvent):
26008         (handleFormSubmissionCallback):
26009         (willSubmitFormCallback):
26010         (pageCreatedCallback):
26012 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
26014         Unreviewed, skip broken API test /webkit2/WebKitWebsiteData/databases
26015         https://bugs.webkit.org/show_bug.cgi?id=181251
26017         * Scripts/run-gtk-tests:
26018         (GtkTestRunner):
26020 2018-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
26022         Unreviewed, skip broken API test /webkit2/WebKitWebsiteData/ephemeral
26023         https://bugs.webkit.org/show_bug.cgi?id=181136
26025         * Scripts/run-gtk-tests:
26026         (GtkTestRunner):
26028 2018-01-02  Brent Fulgham  <bfulgham@apple.com>
26030         [macOS, iOS] Adopt new secure coding APIs in WebKit
26031         https://bugs.webkit.org/show_bug.cgi?id=181085
26032         <rdar://problem/34837397>
26034         Reviewed by Tim Horton.
26036         Update API tests to use secure coding wherever possible. Currently, NSView/UIView-based classes are not
26037         capable of supporting NSSecureCoding, so pass through the current coding routines.
26039         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Updated for NSSecureCoding.
26040         * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:
26041         (encodeAndDecode): Check if class supports the NSSecureCoding protocol and use non-secure coding
26042         routines if necessary.
26043         (TEST): Updated for NSSecureCoding.
26044         * TestWebKitAPI/Tests/mac/EarlyKVOCrash.mm:
26045         (TestWebKitAPI::TEST): Updated for NSSecureCoding.
26047 2017-12-28  Yusuke Suzuki  <utatane.tea@gmail.com>
26049         Remove std::chrono completely
26050         https://bugs.webkit.org/show_bug.cgi?id=181186
26052         Reviewed by Alex Christensen.
26054         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
26055         (WTR::TestController::platformRunUntil):
26057 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
26059         REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
26060         https://bugs.webkit.org/show_bug.cgi?id=181231
26062         Reviewed by Alex Christensen.
26064         Implement TestController APIs needed by ResourceLoadStatistics tests.
26066         * WebKitTestRunner/TestController.cpp:
26067         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
26068         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
26070 2018-01-02  Tim Horton  <timothy_horton@apple.com>
26072         Disable WKAttachmentTests if UIPasteboard.itemProviders is not available
26073         https://bugs.webkit.org/show_bug.cgi?id=181219
26075         Reviewed by Wenson Hsieh.
26077         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
26079 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
26081         Add a WebAuthentication runtime feature flag
26082         https://bugs.webkit.org/show_bug.cgi?id=181220
26083         <rdar://problem/36055305>
26085         Reviewed by Brent Fulgham.
26087         Renames the CredentialManagement runtime feature flag into WebAuthentication.
26089         * DumpRenderTree/TestOptions.h:
26090         * DumpRenderTree/TestOptions.mm:
26091         (TestOptions::TestOptions):
26092         * DumpRenderTree/mac/DumpRenderTree.mm:
26093         (enableExperimentalFeatures):
26094         (setWebPreferencesForTestOptions):
26095         * WebKitTestRunner/TestController.cpp:
26096         (WTR::TestController::resetPreferencesToConsistentValues):
26097         (WTR::updateTestOptionsFromTestHeader):
26098         * WebKitTestRunner/TestOptions.h:
26099         (WTR::TestOptions::hasSameInitializationOptions const):
26101 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
26103         [Attachment Support] Don't Blob-convert images and attachments with https:, http: or data: urls
26104         https://bugs.webkit.org/show_bug.cgi?id=181143
26105         <rdar://problem/36200381>
26107         Reviewed by Tim Horton.
26109         Add a new API test to ensure that a copied image with a data URL does not get pasted as an attachment when
26110         attachment elements are enabled.
26112         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
26113         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
26114         (TestWebKitAPI::TEST):
26116 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
26118         Update Credential Management API for WebAuthentication
26119         https://bugs.webkit.org/show_bug.cgi?id=181082
26120         <rdar://problem/36055239>
26122         Reviewed by Brent Fulgham.
26124         Enable Credential Management API for testing.
26126         * DumpRenderTree/TestOptions.h:
26127         * WebKitTestRunner/TestOptions.h:
26129 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
26131         [GTK] Test /webkit2/WebKitWebExtension/form-controls-associated-signal is flaky
26132         https://bugs.webkit.org/show_bug.cgi?id=168194
26134         Reviewed by Carlos Garcia Campos.
26136         Fix an assertion and unskip the test. The order that form controls are associated is not
26137         guaranteed.
26139         * Scripts/run-gtk-tests:
26140         (GtkTestRunner):
26141         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
26142         (didAssociateFormControlsCallback):
26144 2018-01-02  Alex Christensen  <achristensen@webkit.org>
26146         Use new WebsiteDataStore passed in through decidePolicyForNavigation SPI
26147         https://bugs.webkit.org/show_bug.cgi?id=180897
26148         <rdar://problem/35535328>
26150         Reviewed by Brent Fulgham.
26152         Test two forms of storage to be sure we are using a different WebsiteDataStore: cookies and sessionStorage.
26154         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
26155         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
26156         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
26157         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
26158         (websiteDataStoreTestWebView):
26159         (TEST):
26161 == Rolled over to ChangeLog-2018-01-01 ==