[Attachment Support] Support dragging attachment elements out as files on macOS
[WebKit-https.git] / Tools / ChangeLog
1 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         [Attachment Support] Support dragging attachment elements out as files on macOS
4         https://bugs.webkit.org/show_bug.cgi?id=181294
5         <rdar://problem/36298801>
6
7         Reviewed by Tim Horton.
8
9         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
10         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
11         elements.
12
13         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
14         (-[TestWKWebView attachmentElementMidPoint]):
15
16         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
17         attachment element in the document.
18
19         (TestWebKitAPI::TEST):
20
21         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
22         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
23         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
24         attachment elements around in a document by using drag and drop.
25
26         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
27         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
28         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
29         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
30         (-[DragAndDropSimulator dealloc]):
31         (-[DragAndDropSimulator runFrom:to:]):
32         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
33
34         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
35         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
36         updates asynchronously. This matches AppKit behavior.
37
38         (-[DragAndDropSimulator continueDragSession]):
39
40         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
41         itself until the progress reaches 1.
42
43         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
44         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
45
46         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
47
48         (-[DragAndDropSimulator insertedAttachments]):
49         (-[DragAndDropSimulator removedAttachments]):
50         (-[DragAndDropSimulator draggingSession]):
51         (-[DragAndDropSimulator receivePromisedFiles]):
52
53         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
54         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
55
56         (-[DragAndDropSimulator endDataTransfer]):
57
58         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
59
60         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
61         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
62
63         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
64
65 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
66
67         [iOS] Add support for the inputmode attribute
68         https://bugs.webkit.org/show_bug.cgi?id=183621
69
70         Reviewed by Tim Horton.
71
72         Added an API test to verify that the correct UIKeyboardType is set depending on
73         the type, inputmode, and pattern specified for an input field.
74
75         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
76         (TestWebKitAPI::TEST):
77         * TestWebKitAPI/ios/UIKitSPI.h:
78
79 2018-08-22  Alex Christensen  <achristensen@webkit.org>
80
81         Fix API test on Sierra after r235139
82         https://bugs.webkit.org/show_bug.cgi?id=188810
83
84         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
85         (TEST):
86
87 2018-08-22  David Kilzer  <ddkilzer@apple.com>
88
89         Move files in WebCore project to match Xcode folder structure
90         <https://webkit.org/b/188851>
91
92         Reviewed by Tim Horton.
93
94         * Scripts/extract-localizable-strings:
95         * Scripts/update-webkit-localizable-strings:
96         - Update to match new location of extract-localizable-strings.pl.
97
98 2018-08-21  Alex Christensen  <achristensen@webkit.org>
99
100         Roll out r235139 and r235146
101         https://bugs.webkit.org/show_bug.cgi?id=188805
102
103         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
104         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
105
106 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
107
108         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
109         https://bugs.webkit.org/show_bug.cgi?id=188715
110         <rdar://problem/43541790>
111
112         Reviewed by Tim Horton.
113
114         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
115         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
116
117         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
118         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
119         (TestWebKitAPI::TEST):
120
121 2018-08-21  Alex Christensen  <achristensen@webkit.org>
122
123         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
124         https://bugs.webkit.org/show_bug.cgi?id=188821
125
126         Reviewed by Simon Fraser.
127
128         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
129         (TestWebKitAPI::didLayout):
130         (TestWebKitAPI::TEST):
131
132 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
133
134         [WHLSL] Call expressions shouldn't have type arguments
135         https://bugs.webkit.org/show_bug.cgi?id=188770
136
137         Reviewed by Filip Pizlo.
138
139         Call expressions only had type arguments for casts, becuase native types can have type arguments.
140         However, instead of putting those type arguments on the CallExpression, we should parse the casted
141         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
142
143         Test: casts
144
145         * WebGPUShadingLanguageRI/CallExpression.js:
146         (CallExpression):
147         (CallExpression.prototype.get name):
148         (CallExpression.resolve):
149         (CallExpression.prototype.get typeArguments): Deleted.
150         (CallExpression.prototype.becomeCast): Deleted.
151         * WebGPUShadingLanguageRI/NameResolver.js:
152         (NameResolver.prototype.visitCallExpression):
153         * WebGPUShadingLanguageRI/Parse.js:
154         (parseConstexpr):
155         (parseTypeDef):
156         (parseLeftOperatorCall):
157         (parseCallExpression.let.parseArguments):
158         (parsePossiblePrefix):
159         (parsePossibleRelationalEquality):
160         (parseLeftLogicalExpression):
161         (parseIfStatement):
162         (parseWhile):
163         (parseFor):
164         (parseDo):
165         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
166         * WebGPUShadingLanguageRI/Rewriter.js:
167         (Rewriter.prototype.visitCallExpression):
168
169 2018-08-21  Alex Christensen  <achristensen@webkit.org>
170
171         Translate WebKit.LimitTitleSize API test into ObjC
172         https://bugs.webkit.org/show_bug.cgi?id=188810
173
174         Reviewed by Andy Estes.
175
176         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
177         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
178
179         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
180         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
181         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
182         (TEST):
183         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
184         (TestWebKitAPI::TEST): Deleted.
185
186 2018-08-21  Alex Christensen  <achristensen@webkit.org>
187
188         Remove unused shouldKeepCurrentBackForwardListItemInList check
189         https://bugs.webkit.org/show_bug.cgi?id=188805
190
191         Reviewed by Andy Estes.
192
193         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
194         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
195
196 2018-08-21  Alex Christensen  <achristensen@webkit.org>
197
198         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
199         https://bugs.webkit.org/show_bug.cgi?id=188813
200
201         Reviewed by Andy Estes.
202
203         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
204         (TestWebKitAPI::didLayout):
205         (TestWebKitAPI::setPageLoaderClient):
206         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
207         (TestWebKitAPI::didFinishNavigation):
208         (TestWebKitAPI::didLayout):
209         (TestWebKitAPI::setPageLoaderClient):
210         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
211         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
212         (TestWebKitAPI::didLayout):
213         (TestWebKitAPI::setPageLoaderClient):
214
215 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
216
217         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
218         https://bugs.webkit.org/show_bug.cgi?id=188496
219         <rdar://problem/43216836>
220
221         Reviewed by Tim Horton.
222
223         Adjusts existing attachment API tests. See below for more detail.
224
225         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
226         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
227         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
228         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
229         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
230
231         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
232         update an existing attachment with a file wrapper.
233
234         (-[_WKAttachment expectRequestedDataToBe:]):
235         (TestWebKitAPI::TEST):
236
237         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
238         Also augment an existing test to check that an attachment element which has been copied and pasted within the
239         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
240         backed by the same NSFileWrapper that was originally used to insert the attachment.
241
242         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
243         editable area inserts attachment elements into the document and notifies the UI client with the inserted
244         attachment data.
245
246         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
247         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
248         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
249         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
250
251         Move off of -_webView:didInsertAttachment:.
252
253         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
254
255 2018-08-21  David Kilzer  <ddkilzer@apple.com>
256
257         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
258         <https://webkit.org/b/188755>
259
260         Reviewed by Andy Estes.
261
262         * Scripts/sort-Xcode-project-file: Fix regular expression to
263         make `mainGroup` name optional.
264
265 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
266
267         Unreviewed, add myself to committers list.
268
269         * Scripts/webkitpy/common/config/contributors.json:
270
271 2018-08-21  Antti Koivisto  <antti@apple.com>
272
273         Allow creating WeakPtrs to const objects
274         https://bugs.webkit.org/show_bug.cgi?id=188785
275
276         Reviewed by Geoffrey Garen.
277
278         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
279         (TestWebKitAPI::Base::weakPtrFactory const):
280         (TestWebKitAPI::TEST):
281         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
282
283 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
284
285         [WebGL] Contexts are not updated when display configuration changed.
286         https://bugs.webkit.org/show_bug.cgi?id=188750
287
288         Reviewed by Brent Fulgham.
289
290         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
291         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
292         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
293         * WebKitTestRunner/InjectedBundle/TestRunner.h:
294         * WebKitTestRunner/TestController.cpp:
295         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
296         * WebKitTestRunner/TestController.h:
297         * WebKitTestRunner/TestInvocation.cpp:
298         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
299
300 2018-08-21  John Wilander  <wilander@apple.com>
301
302         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
303         https://bugs.webkit.org/show_bug.cgi?id=188757
304         <rdar://problem/38713390>
305
306         Reviewed by Alex Christensen.
307
308         These changes add the new WebKitTestRunner function
309         isStatisticsRegisteredAsSubresourceUnder().
310
311         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
312         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
313         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
314         * WebKitTestRunner/InjectedBundle/TestRunner.h:
315         * WebKitTestRunner/TestController.cpp:
316         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
317         * WebKitTestRunner/TestController.h:
318         * WebKitTestRunner/TestInvocation.cpp:
319         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
320
321 2018-08-21  Alex Christensen  <achristensen@webkit.org>
322
323         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
324         https://bugs.webkit.org/show_bug.cgi?id=188797
325
326         Reviewed by Tim Horton.
327
328         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
329         (TestWebKitAPI::didFinishNavigation):
330         (TestWebKitAPI::TEST):
331         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
332         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
333         (TestWebKitAPI::didSameDocumentNavigation):
334         (TestWebKitAPI::TEST):
335         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
336         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
337         (TestWebKitAPI::didFailProvisionalNavigation):
338         (TestWebKitAPI::TEST):
339         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
340         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
341         (TestWebKitAPI::didStartProvisionalNavigation):
342         (TestWebKitAPI::didCommitNavigation):
343         (TestWebKitAPI::didFinishNavigation):
344         (TestWebKitAPI::TEST):
345         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
346         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
347         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
348         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
349         (TestWebKitAPI::didStartProvisionalNavigation):
350         (TestWebKitAPI::didCommitNavigation):
351         (TestWebKitAPI::didFinishNavigation):
352         (TestWebKitAPI::TEST):
353         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
354         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
355         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
356         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
357         (TestWebKitAPI::renderingProgressDidChange):
358         (TestWebKitAPI::TEST):
359         (TestWebKitAPI::didLayout): Deleted.
360         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
361         (TestWebKitAPI::didFinishNavigation):
362         (TestWebKitAPI::renderingProgressDidChange):
363         (TestWebKitAPI::setPageLoaderClient):
364         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
365         (TestWebKitAPI::didLayout): Deleted.
366         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
367         (TestWebKitAPI::State::State):
368         (TestWebKitAPI::didStartProvisionalNavigation):
369         (TestWebKitAPI::didCommitNavigation):
370         (TestWebKitAPI::didFinishNavigation):
371         (TestWebKitAPI::decidePolicyForNavigationAction):
372         (TestWebKitAPI::decidePolicyForResponse):
373         (TestWebKitAPI::TEST):
374         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
375         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
376         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
377         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
378         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
379         (TestWebKitAPI::didSameDocumentNavigation):
380         (TestWebKitAPI::TEST):
381         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
382         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
383         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
384         (TestWebKitAPI::TEST):
385         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
386         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
387         (TestWebKitAPI::didFinishLoad):
388         (TestWebKitAPI::TEST):
389         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
390         (TestWebKitAPI::didFinishNavigation):
391         (TestWebKitAPI::TEST):
392         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
393         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
394         (TestWebKitAPI::didFinishLoad):
395         (TestWebKitAPI::TEST):
396         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
397         (WebKit2_CommandBackForwardTestWKView::SetUp):
398         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
399
400 2018-08-20  Alex Christensen  <achristensen@webkit.org>
401
402         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
403         https://bugs.webkit.org/show_bug.cgi?id=188771
404
405         Reviewed by Tim Horton.
406
407         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
408         (TestWebKitAPI::didFinishNavigation):
409         (TestWebKitAPI::TEST):
410         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
411         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
412         (TestWebKitAPI::didFinishNavigation):
413         (TestWebKitAPI::TEST):
414         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
415         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
416         (TestWebKitAPI::didFinishNavigation):
417         (TestWebKitAPI::setPageLoaderClient):
418         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
419         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
420         (TestWebKitAPI::TEST):
421         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
422         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
423         (TestWebKitAPI::didFinishNavigation):
424         (TestWebKitAPI::setPageLoaderClient):
425         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
426         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
427         (TestWebKitAPI::didFinishNavigation):
428         (TestWebKitAPI::setClients):
429         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
430         * TestWebKitAPI/Tests/WebKit/Find.cpp:
431         (TestWebKitAPI::didFinishNavigation):
432         (TestWebKitAPI::TEST):
433         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
434         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
435         (TestWebKitAPI::didFinishNavigation):
436         (TestWebKitAPI::TEST):
437         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
438         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
439         (TestWebKitAPI::didFinishNavigation):
440         (TestWebKitAPI::TEST):
441         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
442         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
443         (TestWebKitAPI::didFinishNavigation):
444         (TestWebKitAPI::TEST):
445         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
446         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
447         (TestWebKitAPI::didFinishNavigation):
448         (TestWebKitAPI::TEST):
449         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
450         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
451         (TestWebKitAPI::didFinishNavigation):
452         (TestWebKitAPI::setPageLoaderClient):
453         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
454         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
455         (TestWebKitAPI::didFinishNavigation):
456         (TestWebKitAPI::TEST):
457         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
458         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
459         (TestWebKitAPI::didFinishLoadForFrame):
460         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
461         (TestWebKitAPI::didFinishNavigation):
462         (TestWebKitAPI::loadAlternateHTMLString):
463         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
464         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
465         (TestWebKitAPI::didFinishNavigation):
466         (TestWebKitAPI::TEST):
467         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
468         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
469         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
470         (TestWebKitAPI::didFinishLoad):
471         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
472         (TestWebKitAPI::didFinishNavigation):
473         (TestWebKitAPI::setPageLoaderClient):
474         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
475         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
476         (TestWebKitAPI::didFinishNavigation):
477         (TestWebKitAPI::setPageLoaderClient):
478         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
479         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
480         (TestWebKitAPI::didFinishLoadForFrame):
481         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
482         (TestWebKitAPI::TEST):
483         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
484         (TestWebKitAPI::TEST):
485         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
486         (TestWebKitAPI::didFinishLoad):
487         (TestWebKitAPI::TEST):
488         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
489         (TestWebKitAPI::didFinishNavigation):
490         (TestWebKitAPI::setPageLoaderClient):
491         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
492         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
493         (TestWebKitAPI::didFinishNavigation):
494         (TestWebKitAPI::setPageLoaderClient):
495         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
496         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
497         (TestWebKitAPI::didFinishNavigation):
498         (TestWebKitAPI::TEST):
499         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
500         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
501         (TestWebKitAPI::didFinishNavigation):
502         (TestWebKitAPI::TEST):
503         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
504         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
505         (TestWebKitAPI::didFailProvisionalNavigation):
506         (TestWebKitAPI::TEST):
507         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
508         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
509         (TestWebKitAPI::didFinishNavigation):
510         (TestWebKitAPI::TEST):
511         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
512         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
513         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
514         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
515         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
516         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
517         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
518         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
519         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
520         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
521         (TestWebKitAPI::didFinishNavigation):
522         (TestWebKitAPI::setPageLoaderClient):
523         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
524         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
525         (TestWebKitAPI::didFinishNavigation):
526         (TestWebKitAPI::setPageLoaderClient):
527         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
528         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
529         (TestWebKitAPI::didFinishNavigation):
530         (TestWebKitAPI::setPageLoaderClient):
531         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
532         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
533         (TestWebKitAPI::didFinishNavigation):
534         (TestWebKitAPI::setUpClients):
535         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
536         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
537         (TestWebKitAPI::didFinishNavigation):
538         (TestWebKitAPI::setPageLoaderClient):
539         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
540         * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
541         (TestWebKitAPI::didFinishNavigation):
542         (TestWebKitAPI::TEST):
543         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
544         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
545         (TestWebKitAPI::didFinishNavigation):
546         (TestWebKitAPI::TEST):
547         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
548         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
549         (TestWebKitAPI::didFinishNavigation):
550         (TestWebKitAPI::TEST):
551         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
552         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
553         (TestWebKitAPI::didFinishNavigation):
554         (TestWebKitAPI::TEST):
555         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
556         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
557         (TestWebKitAPI::didFinishNavigation):
558         (TestWebKitAPI::TEST):
559         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
560         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
561         (TestWebKitAPI::didFinishNavigation):
562         (TestWebKitAPI::TEST):
563         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
564         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
565         (TestWebKitAPI::didFinishNavigation):
566         (TestWebKitAPI::TEST):
567         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
568         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
569         (didFinishNavigation):
570         (TestWebKitAPI::TEST):
571         (didFinishLoadForFrame): Deleted.
572         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
573         (didFinishNavigation):
574         (TestWebKitAPI::TEST):
575         (didFinishLoadForFrame): Deleted.
576         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
577         (TestWebKitAPI::didFinishNavigation):
578         (TestWebKitAPI::TEST):
579         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
580         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
581         (TestWebKitAPI::didFinishNavigation):
582         (TestWebKitAPI::setPageLoaderClient):
583         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
584
585 2018-08-21  Adrian Perez de Castro  <aperez@igalia.com>
586
587         [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
588         https://bugs.webkit.org/show_bug.cgi?id=188782
589
590         Reviewed by Michael Catanzaro.
591
592         Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
593         environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
594
595         * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
596         release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
597         * wpe/jhbuild.modules: Ditto.
598
599 2018-08-21  Michael Catanzaro  <mcatanzaro@igalia.com>
600
601         [Flatpak] Update to GNOME master runtime
602         https://bugs.webkit.org/show_bug.cgi?id=188731
603
604         Reviewed by Philippe Normand.
605
606         The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
607         runtime, but I don't think there's any need to stick with the stable runtime when we have
608         the ability to pin to a particular version of the master runtime. There are also several
609         advantages to switching to the master runtime.
610
611         * flatpak/files/httpd-autogen.sh: Removed.
612         * flatpak/flatpakutils.py:
613         (WebkitFlatpak.clean_args):
614         * flatpak/org.webkit.GTK.yaml:
615         * flatpak/org.webkit.WebKit.yaml:
616         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
617         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
618
619 2018-08-20  Jonathan Bedard  <jbedard@apple.com>
620
621         WebKitTestRunner: Add watchOS entitlements
622         https://bugs.webkit.org/show_bug.cgi?id=188758
623
624         Reviewed by Tim Horton.
625
626         watchOS needs an additional entitlement to open up a socket for on-device testing.
627
628         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
629         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
630         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
631
632 2018-08-20  Thomas Denney  <tdenney@apple.com>
633
634         [WHLSL] Remove generics from the interpreter
635         https://bugs.webkit.org/show_bug.cgi?id=187988
636
637         Reviewed by Myles C. Maxfield.
638
639         This patch completely removes generic and protocol support from WHLSL
640         whilst adding back any features that were originally implemented with
641         generics.
642
643         Many of the changes in this patch just remove occurrences of type
644         arguments and type parameters --- although there are some cases where
645         they have been deliberately left in --- as well as removing tests only
646         relevant to those features. These changes are not listed below.
647
648         * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
649         * WebGPUShadingLanguageRI/AutoWrapper.js:
650         (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
651         * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
652         vectors have many constructors for different scalar and vector types.
653         These were originally implemented with generics.
654         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
655         equality operator for built-in vectors, again this was removed with
656         generics.
657         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
658         Built-in vectors only support the getter and setter, and not the ander.
659         * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
660         * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
661         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
662         * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
663         instantiating functions which cannot be discovered earlier in
664         preparation because their types are absent (specifically support for the
665         operator &[] for array references and the length operator for array
666         references). Previously support for these was implemented with generics.
667         (CallExpression.resolve):
668         (CallExpression.prototype.resolve):
669         (CallExpression.prototype._resolveByInstantiation):
670         (CallExpression.prototype._resolveToOperatorAnderIndexer):
671         (CallExpression.prototype._resolveToOperatorLength):
672         (CallExpression.prototype.resolveToOverload):
673         (CallExpression.prototype.becomeCast):
674         (CallExpression.prototype.toString):
675         (CallExpression):
676         * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
677         We support syntax like vector<int, 2>(a, b) for constructing vectors;
678         this new preparation step resolves them to specific constructors.
679         * WebGPUShadingLanguageRI/CallFunction.js:
680         * WebGPUShadingLanguageRI/Checker.js:
681         * WebGPUShadingLanguageRI/ConstexprFolder.js:
682         * WebGPUShadingLanguageRI/CreateLiteralType.js:
683         * WebGPUShadingLanguageRI/ExpressionFinder.js:
684         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
685         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
686         * WebGPUShadingLanguageRI/Func.js:
687         * WebGPUShadingLanguageRI/FuncDef.js:
688         * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
689         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
690         * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
691         * WebGPUShadingLanguageRI/Inliner.js: Ditto.
692         * WebGPUShadingLanguageRI/Intrinsics.js:
693         * WebGPUShadingLanguageRI/Lexer.js:
694         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
695         * WebGPUShadingLanguageRI/NameContext.js:
696         (NameContext.prototype.add):
697         (NameContext.prototype.get let):
698         (NameContext.underlyingThings.prototype.else):
699         (NameContext.prototype.resolveFuncOverload):
700         * WebGPUShadingLanguageRI/NameFinder.js:
701         * WebGPUShadingLanguageRI/NameResolver.js:
702         (NameResolver.prototype.visitFunc):
703         (NameResolver.prototype.visitFuncDef):
704         (NameResolver.prototype.visitTypeDef):
705         (NameResolver.prototype.visitStructType):
706         (NameResolver.prototype.visitTypeRef):
707         (NameResolver.prototype.visitCallExpression):
708         (NameResolver.prototype.visitVectorType):
709         (NameResolver):
710         (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
711         (NameResolver.prototype.visitProtocolDecl): Deleted.
712         * WebGPUShadingLanguageRI/NativeFunc.js:
713         (NativeFunc):
714         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
715         * WebGPUShadingLanguageRI/NativeType.js:
716         (NativeType):
717         (NativeType.prototype.get name):
718         (NativeType.prototype.toString):
719         (NativeType.prototype.get typeParameters): Deleted.
720         (NativeType.prototype.instantiate): Deleted.
721         * WebGPUShadingLanguageRI/Node.js:
722         (Node.prototype.commit):
723         (Node):
724         (Node.prototype.substitute): Deleted.
725         (Node.prototype.substituteToUnification): Deleted.
726         * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
727         implemented with generics.
728         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
729         * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
730         * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
731         generics and protocols.
732         * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
733         * WebGPUShadingLanguageRI/Program.js:
734         (Program):
735         (Program.prototype.get types):
736         (Program.prototype.add):
737         (Program.prototype.get protocols): Deleted.
738         * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
739         * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
740         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
741         * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
742         * WebGPUShadingLanguageRI/ResolveNames.js:
743         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
744         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
745         (resolveTypeDefsInProtocols): Deleted.
746         * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
747         * WebGPUShadingLanguageRI/SPIRV.html:
748         * WebGPUShadingLanguageRI/SPIRVCodegen.js:
749         * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
750         * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
751         (StructLayoutBuilder):
752         * WebGPUShadingLanguageRI/StructType.js:
753         * WebGPUShadingLanguageRI/SwizzleOp.js:
754         (SwizzleOp):
755         (SwizzleOp.prototype.get baseTypeName):
756         (SwizzleOp.prototype.toString):
757         (SwizzleOp.functions.):
758         (SwizzleOp.functions):
759         (SwizzleOp.prototype.instantiateImplementation):
760         (SwizzleOp.allSwizzleOperators.): Deleted.
761         (SwizzleOp.allSwizzleOperators): Deleted.
762         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
763         previously implemented with generics.
764         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
765         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
766         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
767         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
768         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
769         (synthesizeStructAccessors.setupImplementationData):
770         (synthesizeStructAccessors.createFieldType):
771         (synthesizeStructAccessors.createTypeRef):
772         (synthesizeStructAccessors.setupAnder):
773         (synthesizeStructAccessors):
774         (synthesizeStructAccessors.createTypeParameters): Deleted.
775         (synthesizeStructAccessors.): Deleted.
776         * WebGPUShadingLanguageRI/Test.html:
777         * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
778         tests for changed language features.
779         * WebGPUShadingLanguageRI/Type.js:
780         * WebGPUShadingLanguageRI/TypeDef.js:
781         * WebGPUShadingLanguageRI/TypeDefResolver.js:
782         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
783         * WebGPUShadingLanguageRI/TypeRef.js:
784         * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
785         * WebGPUShadingLanguageRI/UnificationContext.js:
786         * WebGPUShadingLanguageRI/VectorType.js: Added.
787         * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
788         * WebGPUShadingLanguageRI/WSL.md: Removed description of
789         generics/protocols.
790         * WebGPUShadingLanguageRI/WrapChecker.js:
791         (WrapChecker):
792         (WrapChecker.visitConstexprTypeParameter): Deleted.
793         (WrapChecker.prototype.visitFuncParameter): Deleted.
794         (WrapChecker.prototype.visitTypeVariable): Deleted.
795         * WebGPUShadingLanguageRI/index.html:
796
797 2018-08-20  Thomas Denney  <tdenney@apple.com>
798
799         Added Thomas Denney to contributors.json.
800         https://bugs.webkit.org/show_bug.cgi?id=188525
801
802         Reviewed by Myles C. Maxfield.
803
804         * Scripts/webkitpy/common/config/contributors.json:
805
806 2018-08-20  Bernhard M. Wiedemann  <bwiedemann@suse.de>
807
808         [GTK] Sort inspector GResource manifest to ensure reproducible builds
809         https://bugs.webkit.org/show_bug.cgi?id=188738
810
811         Reviewed by Michael Catanzaro.
812
813         * glib/generate-inspector-gresource-manifest.py:
814         (get_filenames): sort list of input files
815
816 2018-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
817
818         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
819         https://bugs.webkit.org/show_bug.cgi?id=184271
820         <rdar://problem/39256708>
821
822         Reviewed by Andy Estes.
823
824         This API test is failing when run against older macOS builds, where custom pasteboard
825         data is not enabled by default.
826
827         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
828         (TestWebKitAPI::TEST):
829
830 2018-08-20  Claudio Saavedra  <csaavedra@igalia.com>
831
832         Add WPE Debug configuration to the flakiness dashboard
833         https://bugs.webkit.org/show_bug.cgi?id=188743
834
835         Reviewed by Michael Catanzaro.
836
837         * TestResultServer/static-dashboards/builders.jsonp:
838         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
839
840 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
841
842         [GLIB] Add API to throw exceptions using printf formatted strings
843         https://bugs.webkit.org/show_bug.cgi?id=188698
844
845         Reviewed by Michael Catanzaro.
846
847         Add cases to test the new API.
848
849         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
850         (createFormattedError):
851         (createCustomFormattedError):
852         (testJSCExceptions):
853
854 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
855
856         [GLIB] Complete the JSCException API
857         https://bugs.webkit.org/show_bug.cgi?id=188695
858
859         Reviewed by Michael Catanzaro.
860
861         Add cases to test the new API.
862
863         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
864         (testJSCCheckSyntax):
865         (createCustomError):
866         (testJSCExceptions):
867
868 2018-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
869
870         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
871         https://bugs.webkit.org/show_bug.cgi?id=184271
872         <rdar://problem/39256708>
873
874         Reviewed by Ryosuke Niwa.
875
876         Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
877         matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
878
879         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
880         (TestWebKitAPI::TEST):
881         (imagePath): Deleted.
882         (writeTypesAndDataToPasteboard): Deleted.
883         (setUpWebView): Deleted.
884         (markupString): Deleted.
885
886         Make this test file no longer exclusive to macOS.
887
888         * TestWebKitAPI/cocoa/TestWKWebView.h:
889         * TestWebKitAPI/cocoa/TestWKWebView.mm:
890         (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
891
892         Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
893
894         (-[TestWKWebView synchronouslyLoadHTMLString:]):
895
896 2018-08-17  Jonathan Bedard  <jbedard@apple.com>
897
898         Add back --wtf-only to run-api-tests
899         https://bugs.webkit.org/show_bug.cgi?id=187893
900         <rdar://problem/42483983>
901
902         Reviewed by Aakash Jain.
903
904         When doing WTF development, it is not necessary to build or run all of the API
905         tests. Generally, if a user has specified a specific binary (or binaries) that
906         they are interested in testing, it is not necessary to check all API test binaries.
907
908         * Scripts/webkitpy/api_tests/manager.py:
909         (Manager._collect_tests): Only use the binaries matching the program arguments
910         when collecting tests.
911         (Manager._binaries_for_arguments): Generate a list of binaries which match the
912         program arguments.
913         (Manager.run): Pass a list binaries to check.
914         * Scripts/webkitpy/api_tests/run_api_tests.py:
915         (parse_args):
916         * Scripts/webkitpy/port/base.py:
917         (Port.check_api_test_build): If the caller specifies which API test binaries it
918         requires, only check the ones specified.
919         (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
920         (Port._build_api_tests): Allow the caller to only build the WTF API tests.
921         * Scripts/webkitpy/port/win.py:
922         (WinPort.path_to_api_test_binaries):
923
924 2018-08-17  Jer Noble  <jer.noble@apple.com>
925
926         REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
927         https://bugs.webkit.org/show_bug.cgi?id=188470
928         <rdar://problem/43144969>
929
930         Reviewed by Alex Christensen.
931
932         On a loaded server, the WebContent process may send the "playing" message before the
933         UIProcess has a chance to register a listener for that message. Restructure the tests
934         so that the listener is registered before the page is loaded.
935
936         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
937         (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
938         (TEST_F):
939
940 2018-08-16  Wenson Hsieh  <wenson_hsieh@apple.com>
941
942         [macOS] [WK2] Add infrastructure to test receiving file promises on drop
943         https://bugs.webkit.org/show_bug.cgi?id=188583
944
945         Reviewed by Andy Estes.
946
947         Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
948         NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
949         concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
950         introduces 3 new macOS tests. See below for more details.
951
952         A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
953         future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
954         DumpRenderTree, and make this code shared among all three testing harnesses.
955
956         Tests:  DragAndDropTests.DragImageElementIntoFileUpload
957                 DragAndDropTests.DragPromisedImageFileIntoFileUpload
958                 DragAndDropTests.DragImageFileIntoFileUpload
959
960         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
961         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
962         (TEST):
963
964         Drive-by fix: Replace NSMakePoint with CGPointMake.
965
966         * TestWebKitAPI/Tests/WebKitCocoa/image-and-file-upload.html:
967
968         Add a new test page consisting of an image and a "file upload" area that updates exercises DataTransfer API to
969         load the dropped image.
970
971         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
972         (waitForConditionWithLogging):
973
974         Add a helper function to wait for a condition to evaluate to true. To make failures more informative,
975         additionally add a mechanism to log a warning message after a given timeout, if the condition has yet to be met.
976
977         (TEST):
978
979         Add new tests to exercise a few cases of file upload in WebKit, including: (1) dragging from an image element,
980         (2) dragging files written to the pasteboard as promises, and (3) files written to the pasteboard as file URLs.
981
982         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
983
984         Surface the new functionality provided by the file promise receiver mock via two new methods on
985         DragAndDropSimulator to (1) write files as file promises to the pasteboard, and (2) write files as file paths
986         directly to the pasteboard.
987
988         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
989         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
990         (-[DragAndDropSimulator externalPromisedFiles]):
991         (getFilePathsAndTypeIdentifiers):
992         (-[DragAndDropSimulator writePromisedFiles:]):
993         (-[DragAndDropSimulator writeFiles:]):
994         * TestWebKitAPI/mac/TestDraggingInfo.h:
995         * TestWebKitAPI/mac/TestDraggingInfo.mm:
996         (-[TestDraggingInfo initWithDragAndDropSimulator:]):
997         (-[TestDraggingInfo filePromiseReceivers]):
998         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
999
1000         Implement this by invoking the given block with a TestFilePromiseReceiver. While all other classes are
1001         unhandled by this testing code, WebKit only calls into this with [NSFilePromiseReceiver class], this is
1002         currently sufficient for testing purposes.
1003
1004         * TestWebKitAPI/mac/TestFilePromiseReceiver.h: Copied from Tools/TestWebKitAPI/mac/TestDraggingInfo.h.
1005         * TestWebKitAPI/mac/TestFilePromiseReceiver.mm: Added.
1006         (-[TestFilePromiseReceiver initWithPromisedTypeIdentifiers:dragAndDropSimulator:]):
1007         (-[TestFilePromiseReceiver fileTypes]):
1008         (-[TestFilePromiseReceiver fileNames]):
1009         (-[TestFilePromiseReceiver dealloc]):
1010         (-[TestFilePromiseReceiver draggingSource]):
1011         (-[TestFilePromiseReceiver setDraggingSource:]):
1012         (fileNameWithNumericSuffix):
1013         (copyFile):
1014
1015         Add a helper to copy a file into a destination directory. Used to implement the main functionality of our
1016         NSFilePromiseReceiver subclass, which copies the files specified by test code into the directory determined by
1017         WebKit.
1018
1019         (-[TestFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
1020
1021 2018-08-16  Alex Christensen  <achristensen@webkit.org>
1022
1023         Add entitlement to MiniBrowser to allow it to communicate with com.apple.Safari.SafeBrowsing.Service
1024         https://bugs.webkit.org/show_bug.cgi?id=188677
1025
1026         Reviewed by Tim Horton.
1027
1028         * MiniBrowser/MiniBrowser.entitlements:
1029         SSBLookupContext lookUpURL:completionHandler: fails to communicate with its service without this entitlement
1030         on released operating systems.  See <rdar://problem/42749777>
1031
1032 2018-08-16  Jer Noble  <jer.noble@apple.com>
1033
1034         Add option to run-api-tests to force running of DISABLED tests.
1035         https://bugs.webkit.org/show_bug.cgi?id=188674
1036
1037         Reviewed by Joseph Pecoraro.
1038
1039         * Scripts/webkitpy/api_tests/run_api_tests.py:
1040         (parse_args):
1041         * Scripts/webkitpy/api_tests/runner.py:
1042         (Runner.command_for_port):
1043         (_Worker._run_single_test):
1044
1045 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
1046
1047         [ews-build] Separate queues for Builders and Testers - macOS High Sierra
1048         https://bugs.webkit.org/show_bug.cgi?id=188540
1049
1050         Reviewed by Lucas Forschler.
1051
1052         * BuildSlaveSupport/ews-build/config.json: Splitted few macOS queues into builders and testers. 
1053
1054 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
1055
1056         [ews-build] Add build steps ArchiveTestResults, UploadTestResults and ExtractTestResults
1057         https://bugs.webkit.org/show_bug.cgi?id=188666
1058
1059         Reviewed by Lucas Forschler.
1060
1061         * BuildSlaveSupport/ews-build/steps.py:
1062         (ArchiveTestResults): Build step to Archive the test results.
1063         (UploadTestResults): Build step to upload the archive.
1064         (ExtractTestResults): Build step to unzip the archive on server and generate a link.
1065         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
1066         (ExpectMasterShellCommand): Copied from other similar internal code.
1067
1068 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
1069
1070         [ews-build] Separate queues for Builders and Testers - macOS Sierra
1071         https://bugs.webkit.org/show_bug.cgi?id=188516
1072
1073         Reviewed by Lucas Forschler.
1074
1075         * BuildSlaveSupport/ews-build/config.json: Splitted macOS Sierra Release queues into builders and testers.
1076         * BuildSlaveSupport/ews-build/factories.py: Used appropriate base classes for builders and testers.
1077
1078 2018-08-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1079
1080         [Win][DumpRenderTree] Remove error message for duplicated tests.
1081         https://bugs.webkit.org/show_bug.cgi?id=188662
1082
1083         Reviewed by Per Arne Vollan.
1084
1085         This was added to track down an issue where the same tests appeared
1086         to be run multiple times. This turned out to not be the case.
1087         See https://bugs.webkit.org/show_bug.cgi?id=166760 .
1088
1089         * DumpRenderTree/win/DumpRenderTree.cpp:
1090         (runTest):
1091
1092 2018-08-16  Alex Christensen  <achristensen@webkit.org>
1093
1094         Re-introduce assertion removed in r234890
1095         https://bugs.webkit.org/show_bug.cgi?id=188611
1096
1097         Reviewed by Geoffrey Garen.
1098
1099         * TestWebKitAPI/Tests/WTF/Vector.cpp:
1100         (TestWebKitAPI::TEST):
1101
1102 2018-08-16  Jer Noble  <jer.noble@apple.com>
1103
1104         Add Experimental Feature support for SourceBuffer.changeType()
1105         https://bugs.webkit.org/show_bug.cgi?id=188626
1106         <rdar://problem/43356021>
1107
1108         Reviewed by Eric Carlson.
1109
1110         * DumpRenderTree/mac/DumpRenderTree.mm:
1111         (enableExperimentalFeatures):
1112         (resetWebPreferencesToConsistentValues):
1113         * WebKitTestRunner/TestController.cpp:
1114         (WTR::TestController::resetPreferencesToConsistentValues):
1115
1116 2018-08-16  Aditya Keerthi  <akeerthi@apple.com>
1117
1118         Support drag-and-drop for input[type=color]
1119         https://bugs.webkit.org/show_bug.cgi?id=188464
1120
1121         Reviewed by Wenson Hsieh.
1122
1123         Added five cross-platform API tests, to verify that dragging and dropping with
1124         color inputs changes the value of the drop target if and only if both inputs are
1125         enabled. Also tests that the change and input events are fired when changing the
1126         value of a color input through drag and drop. 
1127
1128         Additionally, added a macOS-specific test to verify that dropping an item with
1129         NSColorPboardType changes the value of the color input.
1130
1131         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1132         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
1133         (TestWebKitAPI::TEST):
1134         * TestWebKitAPI/Tests/WebKitCocoa/color-drop.html: Added.
1135         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
1136         (TestWebKitAPI::TEST):
1137
1138 2018-08-16  Antti Koivisto  <antti@apple.com>
1139
1140         Use OptionSet for ActivityState::Flags
1141         https://bugs.webkit.org/show_bug.cgi?id=188554
1142
1143         Reviewed by Brent Fulgham.
1144
1145         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1146         (TestWebKitAPI::TEST):
1147
1148 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1149
1150         [GTK] MiniBrowser: web view doesn't get the focus when new window is created
1151         https://bugs.webkit.org/show_bug.cgi?id=188546
1152
1153         Reviewed by Michael Catanzaro.
1154
1155         When a new window is created, the first widget of the windo is getting the focus, the toolbar in this case. We
1156         always want the WebView to grab the focus. In case of new empty tab, we want to the URL bar to be focused
1157         instead. This was causing failures in WebDriver tests that create a popup window with an input element that is
1158         filled with send keys command. The input element is marked as focused in the DOM, but the actual focused widget
1159         is the toolbar, so key events are sent to the toolbar instead of the web view.
1160
1161         * MiniBrowser/gtk/BrowserWindow.c:
1162         (webViewCreate):
1163         (newTabCallback):
1164         (openPrivateWindow):
1165         (browser_window_get_or_create_web_view_for_automation):
1166
1167 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1168
1169         Unreviewed. Fix WebDriver tests after r234839.
1170
1171         New pytest requires to autoinstall attrs too.
1172
1173         * Scripts/webkitpy/thirdparty/__init__.py:
1174         (AutoinstallImportHook._install_pytest):
1175
1176 2018-08-15  Ansh Shukla  <ansh_shukla@apple.com>
1177
1178         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
1179         https://bugs.webkit.org/show_bug.cgi?id=186870
1180         <rdar://problem/41314410>
1181
1182         Reviewed by Alex Christensen.
1183
1184         * WebKitTestRunner/TestController.cpp:
1185         (WTR::toString):
1186         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
1187         (WTR::TestController::didReceiveAuthenticationChallenge):
1188
1189 2018-08-15  Ben Richards  <benton_richards@apple.com>
1190
1191         We should cache the compiled sandbox profile in a data vault
1192         https://bugs.webkit.org/show_bug.cgi?id=184991
1193
1194         Reviewed by Ryosuke Niwa.
1195
1196         Added trace points for sandbox initialization
1197
1198         * Tracing/SystemTracePoints.plist:
1199
1200 2018-08-15  Ryan Haddad  <ryanhaddad@apple.com>
1201
1202         Unreviewed, rolling out r234870.
1203
1204         The test introduced with this change is a flaky failure.
1205
1206         Reverted changeset:
1207
1208         "NSURLAuthenticationMethodOAuth challenges are surfaced to
1209         clients in -didReceiveAuthenticationChallenge as
1210         NSURLAuthenticationMethodDefault"
1211         https://bugs.webkit.org/show_bug.cgi?id=186870
1212         https://trac.webkit.org/changeset/234870
1213
1214 2018-08-15  Jonathan Bedard  <jbedard@apple.com>
1215
1216         WebKitTestRunner should support watch devices
1217         https://bugs.webkit.org/show_bug.cgi?id=188570
1218
1219         Reviewed by Alex Christensen.
1220
1221         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
1222
1223 2018-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
1224
1225         [Attachment SPI] Remove attachment display mode options
1226         https://bugs.webkit.org/show_bug.cgi?id=188596
1227
1228         Reviewed by Dan Bernstein.
1229
1230         Remove API tests and API test helpers for verifying the behavior of in-place media attachment elements.
1231
1232         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1233         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
1234         (TestWebKitAPI::TEST):
1235         (testVideoData): Deleted.
1236         (displayOptionsWithMode): Deleted.
1237         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]): Deleted.
1238
1239 2018-08-14  Devin Rousso  <drousso@apple.com>
1240
1241         Unreviewed, change my emails.
1242
1243         * Scripts/webkitpy/common/config/contributors.json:
1244         * Scripts/webkitpy/common/config/watchlist:
1245
1246 2018-08-14  Saam barati  <sbarati@apple.com>
1247
1248         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
1249         https://bugs.webkit.org/show_bug.cgi?id=188582
1250
1251         Reviewed by Sam Weinig.
1252
1253         * TestWebKitAPI/Tests/WTF/HashMap.cpp:
1254         (TestWebKitAPI::TEST):
1255
1256 2018-08-14  Zalan Bujtas  <zalan@apple.com>
1257
1258         [LFC][Floating] Add support for negative clearance.
1259         https://bugs.webkit.org/show_bug.cgi?id=188555
1260
1261         Reviewed by Simon Fraser.
1262
1263         * LayoutReloaded/misc/LFC-passing-tests.txt:
1264
1265 2018-08-14 Sihui Liu <sihui_liu@apple.com>
1266
1267         Crash in WebKit::filterPreloadHSTSEntry via NetworkProcess::getHostNamesWithHSTSCache
1268         https://bugs.webkit.org/show_bug.cgi?id=188576
1269         <rdar://problem/43148977>
1270
1271         Reviewed by Alex Christensen.
1272
1273         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1274         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Added.
1275         (TEST):
1276
1277 2018-08-14  Alex Christensen  <achristensen@webkit.org>
1278
1279         isValidCSSSelector is unsafe to be called from a non-main thread
1280         https://bugs.webkit.org/show_bug.cgi?id=188581
1281         <rdar://problem/40517358>
1282
1283         Reviewed by Sam Weinig.
1284
1285         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1286         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
1287         (TestWebKitAPI::checkCompilerError):
1288
1289 2018-08-14  Ansh Shukla  <ansh_shukla@apple.com>
1290
1291         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
1292         https://bugs.webkit.org/show_bug.cgi?id=186870
1293         <rdar://problem/41314410>
1294
1295         Reviewed by Alex Christensen.
1296
1297         * WebKitTestRunner/TestController.cpp:
1298         (WTR::toString):
1299         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
1300         (WTR::TestController::didReceiveAuthenticationChallenge):
1301
1302 2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
1303
1304         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
1305         https://bugs.webkit.org/show_bug.cgi?id=187973
1306
1307         Reviewed by Alex Christensen.
1308
1309         In LayoutTests, test names have been canonicalized in Unix style
1310         since Bug 63597, for example 'fast/css/001.html'. But Bug 179219,
1311         Bug 179572, Bug 180660, and Bug 181814 have changed to use
1312         os.path.seq instead of slash if Windows Python is used.
1313
1314         Revert parts of those changes. Change relative_test_filename to
1315         return a slash-separated test name as chromium_win.py used to do.
1316
1317         This change fixes all 41 test-webkitpy failures in WinCairo port.
1318
1319         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1320         (TestExpectationParser._parse_line): Do not convert test names with normpath.
1321         * Scripts/webkitpy/port/base.py:
1322         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
1323         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
1324         (Port.abspath_for_test): Replace self.TEST_PATH_SEPARATOR with self.host.filesystem.sep.
1325         * Scripts/webkitpy/port/driver.py:
1326         (Driver): Use '/' instead of os.sep.
1327         * Scripts/webkitpy/port/win.py:
1328         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
1329
1330 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
1331
1332         [ews-build] Add build step to run WK1 layout-test
1333         https://bugs.webkit.org/show_bug.cgi?id=188498
1334
1335         Reviewed by Lucas Forschler.
1336
1337         * BuildSlaveSupport/ews-build/steps.py:
1338         (RunWebKit1Tests): Class to run WebKit1Tests.
1339         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
1340
1341 2018-08-14  Patrick Griffis  <pgriffis@igalia.com>
1342
1343         [Flatpak] Fix --cmakeargs
1344         https://bugs.webkit.org/show_bug.cgi?id=188567
1345
1346         Reviewed by Michael Catanzaro.
1347
1348         * flatpak/flatpakutils.py:
1349         (WebkitFlatpak.setup_dev_env):
1350
1351 2018-08-14  Darshan Kadu  <dkadu@igalia.com>
1352
1353         Enhancement request: Make export-w3c-test-changes add the PR to "See Also" links
1354         https://bugs.webkit.org/show_bug.cgi?id=186140
1355
1356         Reviewed by Youenn Fablet.
1357
1358         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"
1359         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
1360         (Bugzilla.post_comment_to_bug):
1361         Modified mock for see_also parameter
1362         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
1363         (MockBugzilla.post_comment_to_bug):
1364         Made following unit tests to have see_also in bug comment
1365         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
1366         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
1367         (SheriffTest.test_post_blame_comment_on_bug):
1368         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
1369         * Scripts/webkitpy/tool/commands/queues_unittest.py:
1370         * Scripts/webkitpy/tool/commands/upload_unittest.py:
1371         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
1372         * Scripts/webkitpy/w3c/test_exporter.py:
1373         (WebPlatformTestExporter.make_pull_request):
1374         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
1375         (TestExporterTest.MockBugzilla.post_comment_to_bug):
1376         (TestExporterTest.test_export):
1377
1378 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
1379
1380         [ews-build] Add support for max_builds parameter for workers
1381         https://bugs.webkit.org/show_bug.cgi?id=188531
1382
1383         Reviewed by Lucas Forschler.
1384
1385         * BuildSlaveSupport/ews-build/loadConfig.py:
1386         (loadBuilderConfig): Added support for max_builds.
1387
1388 2018-08-14  Zalan Bujtas  <zalan@apple.com>
1389
1390         [LFC][Floating] Adjust vertical position with non-collapsing previous sibling margin.
1391         https://bugs.webkit.org/show_bug.cgi?id=188543
1392
1393         Reviewed by Antti Koivisto.
1394
1395         * LayoutReloaded/misc/LFC-passing-tests.txt:
1396
1397 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1398
1399         Unreviewed. Fix WebDriver tests after r234839.
1400
1401         New pytest requires to autoinstall more_itertools and six too.
1402
1403         * Scripts/webkitpy/thirdparty/__init__.py:
1404         (AutoinstallImportHook._install_pytest):
1405
1406 2018-08-14  Tomas Popela  <tpopela@redhat.com>
1407
1408         [GTK] Minibrowser: Add labels for buttons
1409         https://bugs.webkit.org/show_bug.cgi?id=188549
1410
1411         Reviewed by Carlos Garcia Campos.
1412
1413         So they are accessible easier (i.e. while testing WebKitGTK+ through Minibrowser in Dogtail).
1414
1415         * MiniBrowser/gtk/BrowserWindow.c:
1416         (webViewIsLoadingChanged):
1417         (browserWindowSetupEditorToolbar):
1418         (browser_window_init):
1419
1420 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1421
1422         Unreviewed. Fix WebDriver tests after r234839.
1423
1424         New pytest requires to autoinstall atomicwrites too.
1425
1426         * Scripts/webkitpy/thirdparty/__init__.py:
1427         (AutoinstallImportHook._install_pytest):
1428
1429 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1430
1431         Unreviewed. Fix WebDriver tests after r234839.
1432
1433         New pytest requires to autoinstall pluggy and funcsigs too.
1434
1435         * Scripts/webkitpy/thirdparty/__init__.py:
1436         (AutoinstallImportHook._install_pytest):
1437
1438 2018-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1439
1440         Unreviewed. Update W3C WebDriver imported tests.
1441
1442         Bump pytest version to 3.6.2.
1443
1444         * Scripts/webkitpy/thirdparty/__init__.py:
1445         (AutoinstallImportHook._install_pytest):
1446
1447 2018-08-13  Thomas Denney  <tdenney@apple.com>
1448
1449         Allow the substring 'me' in contributor names and email addresses
1450         https://bugs.webkit.org/show_bug.cgi?id=188538
1451
1452         Reviewed by Tim Horton.
1453
1454         A test didn't permit the string "me" in email addresses or names of contributors.
1455
1456         * Scripts/webkitpy/common/config/committers_unittest.py:
1457         (CommittersTest.test_contributors_by_fuzzy_match):
1458
1459 2018-08-13  Commit Queue  <commit-queue@webkit.org>
1460
1461         Unreviewed, rolling out r234812.
1462         https://bugs.webkit.org/show_bug.cgi?id=188536
1463
1464         broke the build (Requested by ThomasDenney on #webkit).
1465
1466         Reverted changeset:
1467
1468         "Added Thomas Denney to contributors.json."
1469         https://bugs.webkit.org/show_bug.cgi?id=188525
1470         https://trac.webkit.org/changeset/234812
1471
1472 2018-08-13  Sihui Liu  <sihui_liu@apple.com>
1473
1474         Avoid timeout resulted from calling waitUntilDone when test is not running
1475         https://bugs.webkit.org/show_bug.cgi?id=188389
1476
1477         Reviewed by Chris Dumez.
1478
1479         If test is not running, we should not set the waitUntilDone flag, or it may cause subsequent tests timeout.
1480
1481         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1482         (WTR::TestRunner::waitUntilDone):
1483
1484 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1485
1486         [WK2] [macOS] Implement a mechanism to test drag and drop
1487         https://bugs.webkit.org/show_bug.cgi?id=181898
1488         <rdar://problem/39181698>
1489
1490         Reviewed by Simon Fraser.
1491
1492         Implements the currently stubbed DragAndDropSimulator on macOS, and introduces a new API test for r227266. See
1493         comments below for more detail.
1494
1495         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1496         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
1497
1498         Introduce a file for cross-platform drag and drop tests, currently for iOS and macOS. Additionally add a test
1499         for r227266, which was fixed earlier this year but could not be tested due to a lack of testing mechanism on
1500         macOS in WebKit2.
1501
1502         (TEST):
1503         * TestWebKitAPI/Tests/WebKitCocoa/full-page-dropzone.html: Added.
1504
1505         Minor tweaks to this test page to add "dragover" and "drop" event handlers.
1506
1507         * TestWebKitAPI/Tests/WebKitCocoa/image-in-link-and-input.html:
1508         * TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: Added.
1509
1510         Add a new test page that includes a link embedded within an iframe below a plain text input.
1511
1512         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: Added.
1513         (TEST):
1514         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm.
1515
1516         Move only existing WebKit2 macOS drag and drop test (DragAndDropPasteboardTests.NumberOfValidItemsForDrop) out
1517         of DragAndDropPasteboardTests.mm and into a new file, DragAndDropTestsMac.mm. Additionally, rename
1518         DragAndDropPasteboardTests to LegacyDragAndDropTests, since it now only contains two legacy WebView tests for
1519         drag and drop.
1520
1521         (+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
1522         (-[FrameLoadCompletionListener initWithCompletionBlock:]):
1523         (-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
1524         (-[DragSource draggingSourceOperationMaskForLocal:]):
1525         (-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
1526         (-[DragInfo lastMousePosition]):
1527         (-[DragInfo setLastMousePosition:]):
1528         (-[DragInfo draggingDestinationWindow]):
1529         (-[DragInfo draggingSourceOperationMask]):
1530         (-[DragInfo draggingLocation]):
1531         (-[DragInfo draggedImageLocation]):
1532         (-[DragInfo draggedImage]):
1533         (-[DragInfo draggingPasteboard]):
1534         (-[DragInfo draggingSource]):
1535         (-[DragInfo draggingSequenceNumber]):
1536         (-[DragInfo slideDraggedImageTo:]):
1537         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
1538         (-[DragInfo draggingFormation]):
1539         (-[DragInfo setDraggingFormation:]):
1540         (-[DragInfo animatesToDestination]):
1541         (-[DragInfo setAnimatesToDestination:]):
1542         (-[DragInfo numberOfValidItemsForDrop]):
1543         (-[DragInfo setNumberOfValidItemsForDrop:]):
1544         (-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
1545         (-[DragInfo springLoadingHighlight]):
1546         (-[DragInfo resetSpringLoading]):
1547         (TestWebKitAPI::getTestImage):
1548         (TestWebKitAPI::webViewAfterPerformingDragOperation):
1549         (TestWebKitAPI::TEST):
1550         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Removed.
1551         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1552
1553         Flesh out some of the DragAndDropSimulator API for macOS, exposing (among other things) the drag pasteboard,
1554         the current NSDraggingInfo, the initial location of the drag image, and the drag image itself.
1555
1556         * TestWebKitAPI/cocoa/TestWKWebView.h:
1557         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1558         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
1559         (-[TestWKWebView mouseUpAtPoint:]):
1560         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
1561         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
1562         (-[TestWKWebView mouseEnterAtPoint:]):
1563         (-[TestWKWebView mouseExitAtPoint:]):
1564         (-[TestWKWebView mouseDragToPoint:]):
1565         (-[TestWKWebView _mouseEventWithType:atLocation:]):
1566         (-[TestWKWebView _mouseEventWithType:atLocation:flags:timestamp:clickCount:]):
1567
1568         Add TestWKWebView helpers to send MouseMove, MouseEnter and MouseDrag NSEvents to the web view. Additionally,
1569         rename parameter names to these helpers to make it more obvious that these locations are all in NSWindow
1570         coordinates.
1571
1572         (-[TestWKWebView typeCharacter:]):
1573
1574         Drive-by style fix: put this opening brace on the beginning of the next line.
1575
1576         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1577         (-[DragAndDropSimulator initWithWebViewFrame:]):
1578         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
1579         (-[DragAndDropSimulator webView]):
1580
1581         Small iOS DragAndDropSimulator adjustments for new DragAndDropSimulator interfaces.
1582
1583         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1584         (-[DragAndDropTestWKWebView initWithFrame:configuration:simulator:]):
1585
1586         Introduce a WKWebView subclass for testing drag and drop that overrides `-dragImage:at:offset:…`, and instead
1587         allows DragAndDropSimulator to take over the drag.
1588
1589         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
1590
1591         Override this entry point into drag and drop code, and instead call out to the DragAndDropSimulator to
1592         coordinate the drag.
1593
1594         (-[DragAndDropTestWKWebView waitForPendingMouseEvents]):
1595
1596         Helper method to wait for the web process to finish handling all in-flight mouse events.
1597
1598         (defaultExternalDragImage):
1599
1600         Set this image as the default drag image when simulating an incoming drag session from outside of the web view.
1601
1602         (-[DragAndDropSimulator initWithWebViewFrame:]):
1603         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
1604         (-[DragAndDropSimulator flipAboutXAxisInHostWindow:]):
1605
1606         Helper method to flip a given point about the X axis of the window.
1607
1608         (-[DragAndDropSimulator locationInViewForCurrentProgress]):
1609
1610         Map a progress value (between 0 and 1) to a drag location.
1611
1612         (-[DragAndDropSimulator initialProgressForMouseDrag]):
1613
1614         Determines the initial progress value when initiation a drag in web content. This is the initial progress
1615         required to ensure that the first mouse drag event exceeds the drag distance hysteresis and causes any drag
1616         (if applicable) to begin.
1617
1618         (-[DragAndDropSimulator runFrom:to:]):
1619         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
1620
1621         Helper to coordinate drag updates in both the cases where we're simulating a drag session entering from outside
1622         of the web view, and in the case where we've initiated a drag from the web view itself.
1623
1624         (-[DragAndDropSimulator webView]):
1625         (-[DragAndDropSimulator setExternalDragPasteboard:]):
1626         (-[DragAndDropSimulator externalDragPasteboard]):
1627
1628         Just like its iOS counterpart (setExternalItemProviders:), setting an external drag pasteboard on macOS puts the
1629         DragAndDropSimulator in a mode that simulates a drag coming in from outside the web view, using the given
1630         pasteboard.
1631
1632         (-[DragAndDropSimulator setExternalDragImage:]):
1633         (-[DragAndDropSimulator externalDragImage]):
1634
1635         May be optionally set when specifying an external drag pasteboard to specify the drag image used. If no external
1636         drag image is specified, falls back to the default image returned by `defaultExternalDragImage()`.
1637
1638         (-[DragAndDropSimulator draggingInfo]):
1639         (-[DragAndDropSimulator willEndDraggingHandler]):
1640         (-[DragAndDropSimulator setWillEndDraggingHandler:]):
1641
1642         Hook to allow tests to run logic right before performing the drop (if the current drag operation is not none) or
1643         ending the drag session without performing a drag operation.
1644
1645         (-[DragAndDropSimulator initWithWebView:]): Deleted.
1646         (-[DragAndDropSimulator dealloc]): Deleted.
1647         (-[DragAndDropSimulator phase]): Deleted.
1648         * TestWebKitAPI/mac/TestDraggingInfo.h: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
1649         * TestWebKitAPI/mac/TestDraggingInfo.mm: Added.
1650
1651         Mock object conforming to NSDraggingInfo that is passed to WKWebView when invoking -draggingUpdated:,
1652         -draggingEntered: and -draggingExited:.
1653
1654         (-[TestDraggingInfo draggingPasteboard]):
1655         (-[TestDraggingInfo setDraggingPasteboard:]):
1656         (-[TestDraggingInfo draggingSource]):
1657         (-[TestDraggingInfo setDraggingSource:]):
1658         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
1659         (-[TestDraggingInfo draggingDestinationWindow]):
1660         (-[TestDraggingInfo draggedImage]):
1661         (-[TestDraggingInfo setDraggedImage:]):
1662         (-[TestDraggingInfo slideDraggedImageTo:]):
1663         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
1664         (-[TestDraggingInfo resetSpringLoading]):
1665
1666         Empty method stubs, to be implemented in the future as needed.
1667
1668 2018-08-13  Thomas Denney  <tdenney@apple.com>
1669
1670         Added Thomas Denney to contributors.json.
1671         https://bugs.webkit.org/show_bug.cgi?id=188525
1672
1673         Reviewed by Myles C. Maxfield.
1674
1675         * Scripts/webkitpy/common/config/contributors.json:
1676
1677 2018-08-13  Antti Koivisto  <antti@apple.com>
1678
1679         Meaning of OptionSet::contains is unclear when used with OptionSet argument
1680         https://bugs.webkit.org/show_bug.cgi?id=188501
1681
1682         Reviewed by Anders Carlsson.
1683
1684         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1685         (TestWebKitAPI::TEST):
1686
1687 2018-08-13  Commit Queue  <commit-queue@webkit.org>
1688
1689         Unreviewed, rolling out r234747.
1690         https://bugs.webkit.org/show_bug.cgi?id=188524
1691
1692         plugin processes crash on launch (Requested by smfr on
1693         #webkit).
1694
1695         Reverted changeset:
1696
1697         "We should cache the compiled sandbox profile in a data vault"
1698         https://bugs.webkit.org/show_bug.cgi?id=184991
1699         https://trac.webkit.org/changeset/234747
1700
1701 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1702
1703         [iOS] Dragging a non-editable text selection into a plain text input inserts HTML markup
1704         https://bugs.webkit.org/show_bug.cgi?id=188485
1705         <rdar://problem/43168784>
1706
1707         Reviewed by Tim Horton.
1708
1709         Add a new API test to verify that dropping selected non-editable rich text into a textarea inserts text as
1710         expected, rather than markup.
1711
1712         It's somewhat interesting to note that this particular use case isn't exercised by any existing tests; the
1713         closest test is DragAndDropTests.ContentEditableToTextarea, which drags a rich text selection from a
1714         contenteditable element to a text area. However, due to logic in `DragController::concludeEditDrag` that handles
1715         drag and drop across editable content differently than drag and drop from non-editable to editable content, the
1716         bug that is fixed here doesn't surface in that existing test.
1717
1718         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1719         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-and-textarea.html: Added.
1720         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1721         (TestWebKitAPI::TEST):
1722
1723 2018-08-13  Alex Christensen  <achristensen@webkit.org>
1724
1725         Use a 1-byte enum class for TextDirection
1726         https://bugs.webkit.org/show_bug.cgi?id=188350
1727
1728         Reviewed by Simon Fraser.
1729
1730         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
1731         (TestWebKitAPI::TEST_F):
1732         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
1733         (WebCore::operator<<):
1734         (TestWebKitAPI::TEST):
1735         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
1736         (TEST_F):
1737
1738 2018-08-13  Zalan Bujtas  <zalan@apple.com>
1739
1740         [LFC][Floating] Add basic clearance support
1741         https://bugs.webkit.org/show_bug.cgi?id=188492
1742
1743         Reviewed by Antti Koivisto.
1744
1745         * LayoutReloaded/misc/LFC-passing-tests.txt:
1746
1747 2018-08-12  Zalan Bujtas  <zalan@apple.com>
1748
1749         [LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
1750         https://bugs.webkit.org/show_bug.cgi?id=188487
1751
1752         Reviewed by Antti Koivisto.
1753
1754         * LayoutReloaded/misc/LFC-passing-tests.txt:
1755
1756 2018-08-11  Aakash Jain  <aakash_jain@apple.com>
1757
1758         [ews-build] Separate queues for Builders and Testers - iOS
1759         https://bugs.webkit.org/show_bug.cgi?id=188396
1760
1761         Reviewed by Lucas Forschler.
1762
1763         * BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
1764         Also added ews121 and ews122 to match with current EWS configuration.
1765         * BuildSlaveSupport/ews-build/factories.py:
1766         (TestsFactory): Base classes for various Test factories.
1767         (TestsFactory.getProduct): Download and extract the archive.
1768
1769 2018-08-10  Daniel Bates  <dabates@apple.com>
1770
1771         webkit-patch setup-git-clone should set Git core editor to commit-log-editor
1772         https://bugs.webkit.org/show_bug.cgi?id=188473
1773
1774         Reviewed by Ryosuke Niwa.
1775
1776         Have "webkit-patch setup-git-clone" set the Git core editor to "perl Tools/Scripts/commit-log-editor --regenerate-log"
1777         so that the Git commit message is generated from the ChangeLog for developers that manually
1778         generate their ChangeLog using prepare-ChangeLog.
1779
1780         * Scripts/webkitpy/tool/commands/setupgitclone.py:
1781         (SetupGitClone.execute):
1782
1783 2018-08-10  Truitt Savell  <tsavell@apple.com>
1784
1785         Unreviewed, rolling out r234749.
1786
1787         Caused all perf tests to fail in Sierra
1788
1789         Reverted changeset:
1790
1791         "[webkitpy][Win] LayoutTests: test names should be Unix style,
1792         separated by slash not backslash"
1793         https://bugs.webkit.org/show_bug.cgi?id=187973
1794         https://trac.webkit.org/changeset/234749
1795
1796 2018-08-10  David Fenton  <david_fenton@apple.com>
1797
1798         Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio.
1799         https://bugs.webkit.org/show_bug.cgi?id=188470.
1800
1801         Unreviewed test gardening, disabling the tests.
1802
1803         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
1804         (TEST_F):
1805
1806 2018-08-10  Joseph Pecoraro  <pecoraro@apple.com>
1807
1808         Eliminate remaining instances of "ElCapitan" from LayoutTests / Tools
1809         https://bugs.webkit.org/show_bug.cgi?id=188458
1810
1811         Reviewed by Alex Christensen.
1812
1813         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1814         (TestExpectationParser):
1815         * TestResultServer/static-dashboards/flakiness_dashboard.js:
1816
1817 2018-08-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1818
1819         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
1820         https://bugs.webkit.org/show_bug.cgi?id=187973
1821
1822         Reviewed by Alex Christensen.
1823
1824         In LayoutTests, test names have been canonicalized in Unix style
1825         since Bug 63597, for example 'fast/css/001.html'. But, Bug 179219,
1826         Bug 179572, Bug 180660 and Bug 181814 have changed to use
1827         os.path.seq instead of slash if Windows Python is used.
1828
1829         Revert parts of those changes. Change relative_test_filename to
1830         return a slash sperated test name as well as chromium_win.py used
1831         to do.
1832
1833         This change fixes all 41 test-webkitpy failures in WinCairo port.
1834
1835         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1836         (TestExpectationParser._parse_line): Do not convert a test name by using normpath.
1837         * Scripts/webkitpy/port/base.py:
1838         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
1839         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
1840         (Port.abspath_for_test): Split test_name with TEST_PATH_SEPARATOR.
1841         * Scripts/webkitpy/port/driver.py:
1842         (Driver): Use '/' instead of os.sep.
1843         * Scripts/webkitpy/port/win.py:
1844         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
1845
1846 2018-08-09  Thomas Denney  <tdenney@apple.com>
1847
1848         [WHLSL] Add individual test durations to output
1849         https://bugs.webkit.org/show_bug.cgi?id=188448
1850
1851         Reviewed by Myles C. Maxfield.
1852
1853         * WebGPUShadingLanguageRI/Test.js: Add timing output.
1854
1855 2018-08-09  Ben Richards  <benton_richards@apple.com>
1856
1857         We should cache the compiled sandbox profile in a data vault
1858         https://bugs.webkit.org/show_bug.cgi?id=184991
1859
1860         Reviewed by Ryosuke Niwa.
1861
1862         Added trace points for sandbox initialization
1863
1864         * Tracing/SystemTracePoints.plist:
1865
1866 2018-08-09  Jer Noble  <jer.noble@apple.com>
1867
1868         Video playback is using more power
1869         https://bugs.webkit.org/show_bug.cgi?id=188452
1870         <rdar://problem/42298937>
1871
1872         Reviewed by Eric Carlson.
1873
1874         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
1875         (PreferredAudioBufferSize::createView):
1876         (PreferredAudioBufferSize::preferredAudioBufferSize const):
1877         (TEST_F):
1878
1879 2018-08-09  Alex Christensen  <achristensen@webkit.org>
1880
1881         REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
1882         https://bugs.webkit.org/show_bug.cgi?id=188453
1883         <rdar://problem/43102553>
1884
1885         Reviewed by Chris Dumez
1886
1887         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1888         (TEST):
1889         (+[NullLookupContext sharedLookupContext]):
1890         (TestWebKitAPI::TEST): Deleted.
1891
1892 2018-08-09  Alex Christensen  <achristensen@webkit.org>
1893
1894         WKURLSchemeHandler crashes when sent errors with sync XHR
1895         https://bugs.webkit.org/show_bug.cgi?id=188358
1896
1897         Reviewed by Chris Dumez.
1898
1899         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1900         (-[SyncErrorScheme webView:startURLSchemeTask:]):
1901         (-[SyncErrorScheme webView:stopURLSchemeTask:]):
1902         (-[SyncErrorScheme webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1903
1904 2018-08-09  Per Arne Vollan  <pvollan@apple.com>
1905
1906         REGRESSION(r234652): fast/scrolling/rtl-scrollbars-animation-property.html is failing
1907         https://bugs.webkit.org/show_bug.cgi?id=188397
1908
1909         Reviewed by Tim Horton.
1910
1911         After r234652, [NSScroller preferredScrollerStyle] is called in the UI process, and we need to set the same
1912         user defaults related to scrollbars in the UI process as we do in the WebProcess.
1913
1914         * WebKitTestRunner/mac/main.mm:
1915         (setDefaultsToConsistentValuesForTesting):
1916
1917 2018-08-09  Wenson Hsieh  <wenson_hsieh@apple.com>
1918
1919         [iOS WK2] Rename and refactor DataInteractionTests and DataInteractionSimulator
1920         https://bugs.webkit.org/show_bug.cgi?id=188439
1921
1922         Reviewed by Andy Estes and Megan Gardner.
1923
1924         Refactor DataInteractionSimulator (currently used for drag and drop testing on iOS) so that it exists across
1925         macOS and iOS, and rename it to DragAndDropSimulator. Additionally, rename DataInteractionTests to
1926         DragAndDropTests.
1927
1928         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1929         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1930         (TestWebKitAPI::TEST):
1931         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm.
1932         (testIconImage):
1933         (testZIPArchive):
1934         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
1935         (-[TestWKWebView editorContainsImageElement]):
1936         (-[TestWKWebView editorValue]):
1937         (makeCGRectValue):
1938         (checkCGRectIsEqualToCGRectWithLogging):
1939         (checkSelectionRectsWithLogging):
1940         (checkRichTextTypePrecedesPlainTextType):
1941         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
1942         (checkTypeIdentifierIsRegisteredAtIndex):
1943         (checkEstimatedSize):
1944         (checkSuggestedNameAndEstimatedSize):
1945         (checkStringArraysAreEqual):
1946         (checkDragCaretRectIsContainedInRect):
1947         (checkJSONWithLogging):
1948         (testIconImageData):
1949         (runTestWithTemporaryTextFile):
1950         (runTestWithTemporaryFolder):
1951         (TestWebKitAPI::TEST):
1952         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
1953         (TestWebKitAPI::testDragAndDropOntoTargetElements):
1954         (TestWebKitAPI::testIconImageData):
1955         * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.h.
1956         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.mm.
1957         (-[WKWebView dropInteractionDelegate]):
1958         (-[WKWebView dragInteractionDelegate]):
1959         (-[WKWebView dropInteraction]):
1960         (-[WKWebView dragInteraction]):
1961         (-[MockDragDropSession initWithItems:location:window:allowMove:]):
1962         (-[MockDragDropSession allowsMoveOperation]):
1963         (-[MockDragDropSession isRestrictedToDraggingApplication]):
1964         (-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
1965         (-[MockDragDropSession canLoadObjectsOfClass:]):
1966         (-[MockDragDropSession canLoadObjectsOfClasses:]):
1967         (-[MockDragDropSession items]):
1968         (-[MockDragDropSession setItems:]):
1969         (-[MockDragDropSession addItems:]):
1970         (-[MockDragDropSession locationInView:]):
1971         (-[MockDropSession initWithProviders:location:window:allowMove:]):
1972         (-[MockDropSession isLocal]):
1973         (-[MockDropSession progress]):
1974         (-[MockDropSession setProgressIndicatorStyle:]):
1975         (-[MockDropSession progressIndicatorStyle]):
1976         (-[MockDropSession operationMask]):
1977         (-[MockDropSession localDragSession]):
1978         (-[MockDropSession hasItemsConformingToTypeIdentifier:]):
1979         (-[MockDropSession canCreateItemsOfClass:]):
1980         (-[MockDropSession loadObjectsOfClass:completion:]):
1981         (-[MockDragSession initWithWindow:allowMove:]):
1982         (-[MockDragSession localOperationMask]):
1983         (-[MockDragSession externalOperationMask]):
1984         (-[MockDragSession session]):
1985         (-[MockDragSession localContext]):
1986         (-[MockDragSession setLocalContext:]):
1987         (dragAndDropEventNames):
1988         (-[DragAndDropSimulatorApplication _cancelAllTouches]):
1989         (-[DragAndDropSimulator initWithWebView:]):
1990         (-[DragAndDropSimulator dealloc]):
1991         (-[DragAndDropSimulator _resetSimulatedState]):
1992         (-[DragAndDropSimulator observedEventNames]):
1993         (-[DragAndDropSimulator simulateAllTouchesCanceled:]):
1994         (-[DragAndDropSimulator runFrom:to:]):
1995         (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
1996         (-[DragAndDropSimulator finalSelectionRects]):
1997         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
1998         (-[DragAndDropSimulator _enqueuePendingAdditionalItemRequestLocations]):
1999         (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
2000         (-[DragAndDropSimulator _advanceProgress]):
2001         (-[DragAndDropSimulator _currentLocation]):
2002         (-[DragAndDropSimulator _scheduleAdvanceProgress]):
2003         (-[DragAndDropSimulator sourceItemProviders]):
2004         (-[DragAndDropSimulator externalItemProviders]):
2005         (-[DragAndDropSimulator setExternalItemProviders:]):
2006         (-[DragAndDropSimulator phase]):
2007         (-[DragAndDropSimulator liftPreviews]):
2008         (-[DragAndDropSimulator lastKnownDragCaretRect]):
2009         (-[DragAndDropSimulator waitForInputSession]):
2010         (-[DragAndDropSimulator insertedAttachments]):
2011         (-[DragAndDropSimulator removedAttachments]):
2012         (-[DragAndDropSimulator endDataTransfer]):
2013         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
2014         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
2015         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
2016         (-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
2017         (-[DragAndDropSimulator _webView:willPerformDropWithSession:]):
2018         (-[DragAndDropSimulator _webView:didInsertAttachment:]):
2019         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
2020         (-[DragAndDropSimulator _webView:focusShouldStartInputSession:]):
2021         (-[DragAndDropSimulator _webView:didStartInputSession:]):
2022         * TestWebKitAPI/ios/UIKitSPI.h:
2023         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: Added.
2024         (-[DragAndDropSimulator initWithWebView:]):
2025         (-[DragAndDropSimulator dealloc]):
2026         (-[DragAndDropSimulator runFrom:to:]):
2027         (-[DragAndDropSimulator insertedAttachments]):
2028         (-[DragAndDropSimulator removedAttachments]):
2029
2030 2018-08-09  Sihui Liu  <sihui_liu@apple.com>
2031
2032         REGRESSION (r232083): WKWebView loses first-party cookies on iOS
2033         https://bugs.webkit.org/show_bug.cgi?id=188443
2034         <rdar://problem/42991584>
2035
2036         Reviewed by Chris Dumez.
2037
2038         Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS.
2039
2040         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
2041
2042 2018-08-09  Ross Kirsling  <ross.kirsling@sony.com>
2043
2044         Unreviewed follow-up fix for r234720.
2045
2046         * Scripts/webkitpy/bindings/main.py:
2047         (BindingsTests.close_and_remove):
2048         (BindingsTests.main):
2049         Return to the original approach, since this seems to be the simplest cross-platform solution.
2050
2051 2018-08-09  Ali Juma  <ajuma@chromium.org>
2052
2053         Import WPTs for IntersectionObserver
2054         https://bugs.webkit.org/show_bug.cgi?id=188416
2055
2056         Reviewed by Simon Fraser.
2057
2058         Enable IntersectionObserver in DumpRenderTree. 
2059
2060         * DumpRenderTree/mac/DumpRenderTree.mm:
2061         (enableExperimentalFeatures):
2062         (setWebPreferencesForTestOptions):
2063         * WebKitTestRunner/TestController.cpp:
2064         (WTR::TestController::resetPreferencesToConsistentValues):
2065
2066 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
2067
2068         run-bindings-tests is not Win32-compatible
2069         https://bugs.webkit.org/show_bug.cgi?id=188424
2070
2071         Reviewed by Fujii Hironori.
2072
2073         * Scripts/webkitpy/bindings/main.py:
2074         (BindingsTests.main):
2075         Stop leaking file descriptors.
2076         (See https://www.logilab.org/blogentry/17873 for details, though the solution here is even simpler.)
2077
2078 2018-08-08  Alex Christensen  <achristensen@webkit.org>
2079
2080         Fix possible null dereference in WebBackForwardList::restoreFromState
2081         https://bugs.webkit.org/show_bug.cgi?id=188418
2082         <rdar://problem/42531726>
2083
2084         Reviewed by Chris Dumez.
2085
2086         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
2087         (TestWebKitAPI::TEST):
2088
2089 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
2090
2091         run-builtins-generator-tests does not correctly handle CRLFs from stderr
2092         https://bugs.webkit.org/show_bug.cgi?id=188392
2093
2094         Reviewed by Fujii Hironori.
2095
2096         Background:
2097         file.write converts LF to os.linesep, so if the input string contains CRLF, we end up writing CRCRLF to the file.
2098
2099         * Scripts/webkitpy/common/system/executive.py:
2100         (Executive.run_command):
2101         Normalize CRLF to LF in decoded stdout/stderr data, so that we don't return consumers a platform-specific string.
2102
2103 2018-08-08  Aditya Keerthi  <akeerthi@apple.com>
2104
2105         Unreviewed, add myself to committers list.
2106
2107         * Scripts/webkitpy/common/config/contributors.json:
2108
2109 2018-08-08  Commit Queue  <commit-queue@webkit.org>
2110
2111         Unreviewed, rolling out r234314, r234320, and r234321.
2112         https://bugs.webkit.org/show_bug.cgi?id=188414
2113
2114         Caused email sign in issue (Requested by ryanhaddad on
2115         #webkit).
2116
2117         Reverted changesets:
2118
2119         "Remove unused WKNavigationDelegatePrivate
2120         decidePolicyForNavigationAction SPI"
2121         https://bugs.webkit.org/show_bug.cgi?id=188077
2122         https://trac.webkit.org/changeset/234314
2123
2124         "Fix API tests after r234314"
2125         https://bugs.webkit.org/show_bug.cgi?id=188077
2126         https://trac.webkit.org/changeset/234320
2127
2128         "Fix API tests after r234314"
2129         https://bugs.webkit.org/show_bug.cgi?id=188077
2130         https://trac.webkit.org/changeset/234321
2131
2132 2018-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2133
2134         [iOS] fast/events/ios/contenteditable-autocapitalize.html is a flaky failure
2135         https://bugs.webkit.org/show_bug.cgi?id=188401
2136         <rdar://problem/32542300>
2137
2138         Reviewed by Ryosuke Niwa.
2139
2140         When run individually, fast/events/ios/contenteditable-autocapitalize.html passes consistently; however, when
2141         run right after another layout test that finishes while the keyboard is shown, this test sometimes fails. This
2142         is because each of the three steps of this test ends when UIScriptController's `didHideKeyboardCallback` is
2143         invoked, and if the keyboard only begins to dismiss after the previous test completes, we have a race. When the
2144         keyboard finishes dismissing after the UI script is evaluated, it will trigger UI script completion early and
2145         skip over one of the steps in the layout test, resulting in a text diff failure.
2146
2147         To fix this, add a mechanism in WebKitTestRunner to wait until the keyboard is dismissed (with a short timeout)
2148         as a part of resetting test controller state, before moving on to the next layout test.
2149
2150         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
2151         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2152         (-[TestRunnerWKWebView didStartFormControlInteraction]):
2153         (-[TestRunnerWKWebView didEndFormControlInteraction]):
2154
2155         Use these hooks to keep track of whether the previous test is presenting any form input UI.
2156
2157         (-[TestRunnerWKWebView isInteractingWithFormControl]):
2158         * WebKitTestRunner/ios/TestControllerIOS.mm:
2159         (WTR::handleKeyboardWillHideNotification):
2160         (WTR::handleKeyboardDidHideNotification):
2161         (WTR::TestController::platformInitialize):
2162         (WTR::TestController::platformDestroy):
2163
2164         Register during initialization (and unregister during teardown) for keyboard hiding notifications, to keep track
2165         of when the keyboard dismissal animation ends.
2166
2167         (WTR::TestController::platformResetStateToConsistentValues):
2168
2169         Make a couple of tweaks here: (1) if form input UI is being shown, tell the web view to resign first responder,
2170         which causes the field to lose focus. (2) If necessary, wait for the current keyboard dismissal animation to
2171         finish. This includes any keyboard dismissal animations triggered as a result of step (1).
2172
2173 2018-08-05  Darin Adler  <darin@apple.com>
2174
2175         [Cocoa] More tweaks and refactoring to prepare for ARC
2176         https://bugs.webkit.org/show_bug.cgi?id=188245
2177
2178         Reviewed by Dan Bernstein.
2179
2180         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Use const void* for a
2181         CFTypeRef instead of void*.
2182
2183         * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
2184         (createCoreAnimationLayer): Use CFBridgingRetain.
2185
2186         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
2187         (AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging casts.
2188         (AccessibilityUIElement::textMarkerRangeForElement): Ditto.
2189         (AccessibilityUIElement::selectedTextMarkerRange): Ditto.
2190         (AccessibilityUIElement::textMarkerRangeLength): Ditto.
2191         (AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
2192         (AccessibilityUIElement::indexForTextMarker): Ditto.
2193         (AccessibilityUIElement::textMarkerForIndex): Ditto.
2194         (AccessibilityUIElement::isTextMarkerValid): Ditto.
2195         (AccessibilityUIElement::previousTextMarker): Ditto.
2196         (AccessibilityUIElement::nextTextMarker): Ditto.
2197         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2198         (createJSStringRef): Ditto.
2199         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2200         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2201         (AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
2202         (AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
2203         (AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
2204         (AccessibilityUIElement::endTextMarkerForBounds): Ditto.
2205         (AccessibilityUIElement::startTextMarkerForBounds): Ditto.
2206         (AccessibilityUIElement::textMarkerForPoint): Ditto.
2207         (AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
2208         (AccessibilityUIElement::startTextMarker): Ditto.
2209         (AccessibilityUIElement::endTextMarker): Ditto.
2210         (AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
2211         (AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
2212         (AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
2213         (AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
2214         (AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
2215         (AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
2216         (AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
2217         (AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
2218         (AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
2219         (AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
2220         (AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
2221
2222         * DumpRenderTree/mac/DumpRenderTree.mm:
2223         (resetWebPreferencesToConsistentValues): Use bridging cast.
2224         (dumpFramesAsText): Ditto.
2225         (dumpBackForwardListForAllWindows): Use a modern for loop instead of
2226         CFArray functions to iterate the array.
2227         (dump): Use bridging cast.
2228         (runTest): Ditto.
2229
2230         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2231         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
2232         (toUTI): Return a RetainPtr<CFStringRef>.
2233         (-[LocalPasteboard types]): Use the above and bridging casts.
2234         (-[LocalPasteboard availableTypeFromArray:]): Ditto.
2235         (-[LocalPasteboard setData:forType:]): Ditto.
2236         (-[LocalPasteboard dataForType:]): Ditto.
2237         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
2238         instead of CFPropertyList.
2239         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
2240         CFStringCreateExternalRepresentation.
2241
2242         * DumpRenderTree/mac/MockGeolocationProvider.h: Put CFTypeRef in a HashSet
2243         instead of an Objective-C object pointer type.
2244         * DumpRenderTree/mac/MockGeolocationProvider.mm:
2245         (-[MockGeolocationProvider registerWebView:]): Update for above.
2246         (-[MockGeolocationProvider unregisterWebView:]): Ditto.
2247         (-[MockGeolocationProvider timerFired]): Ditto.
2248
2249         * DumpRenderTree/mac/MockWebNotificationProvider.h: Use CFTypeRef in
2250         HashMap and HashSet instead of an Objective-C object pointer type.
2251         * DumpRenderTree/mac/MockWebNotificationProvider.mm:
2252         (-[MockWebNotificationProvider registerWebView:]): Update for above.
2253         (-[MockWebNotificationProvider unregisterWebView:]): Ditto.
2254         (-[MockWebNotificationProvider showNotification:fromWebView:]): Ditto.
2255         (-[MockWebNotificationProvider cancelNotification:]): Ditto.
2256         (-[MockWebNotificationProvider simulateWebNotificationClick:]): Ditto.
2257
2258         * DumpRenderTree/mac/ObjCPlugin.m:
2259         (-[JSObjC retainObject:]): Use CFRetain instead of -[NSObject retain].
2260
2261         * DumpRenderTree/mac/TestRunnerMac.mm:
2262         (TestRunner::addDisallowedURL): Use bridging cast.
2263         (TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
2264         (TestRunner::clearApplicationCacheForOrigin): Ditto.
2265         (originsArrayToJS): Ditto.
2266         (TestRunner::copyDecodedHostName): Ditto.
2267         (TestRunner::copyEncodedHostName): Ditto.
2268         (TestRunner::queueLoad): Ditto.
2269         (TestRunner::setDomainRelaxationForbiddenForURLScheme): Ditto.
2270         (TestRunner::setMockGeolocationPositionUnavailableError): Ditto.
2271         (TestRunner::setUserStyleSheetLocation): Ditto.
2272         (TestRunner::setValueForUser): Ditto.
2273         (TestRunner::overridePreference): Ditto.
2274         (TestRunner::execCommand): Ditto.
2275         (TestRunner::findString): Ditto.
2276         (TestRunner::isCommandEnabled): Ditto.
2277         (TestRunner::addOriginAccessWhitelistEntry): Ditto.
2278         (TestRunner::removeOriginAccessWhitelistEntry): Ditto.
2279         (TestRunner::addUserScript): Ditto.
2280         (TestRunner::addUserStyleSheet): Ditto.
2281         (TestRunner::evaluateInWebInspector): Ditto.
2282         (TestRunner::evaluateScriptInIsolatedWorld): Ditto.
2283         (TestRunner::authenticateSession): Ditto.
2284         (TestRunner::grantWebNotificationPermission): Ditto.
2285         (TestRunner::denyWebNotificationPermission): Ditto.
2286         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
2287         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Ditto.
2288
2289         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2290         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging cast.
2291         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
2292         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
2293         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
2294         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
2295         (WTR::AccessibilityUIElement::selectedTextMarkerRange): Ditto.
2296         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
2297         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
2298         (WTR::AccessibilityUIElement::endTextMarkerForBounds): Ditto.
2299         (WTR::AccessibilityUIElement::startTextMarkerForBounds): Ditto.
2300         (WTR::AccessibilityUIElement::textMarkerForPoint): Ditto.
2301         (WTR::AccessibilityUIElement::textMarkerForIndex): Ditto.
2302         (WTR::AccessibilityUIElement::startTextMarker): Ditto.
2303         (WTR::AccessibilityUIElement::endTextMarker): Ditto.
2304         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
2305         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
2306         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
2307         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
2308         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
2309         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
2310         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
2311         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
2312         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
2313         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
2314
2315         * WebKitTestRunner/PlatformMac.cmake: Added WebKitTestRunnerWindow.h and .mm files.
2316         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Ditto.
2317
2318         * WebKitTestRunner/mac/EventSenderProxy.mm: Add include of WebKitTestRunnerWindow.h
2319         so we can use the type and know it inherits from NSWindow.
2320
2321         * WebKitTestRunner/mac/PlatformWebViewMac.mm: Add include of WebKitTestRunnerWindow.h
2322         so we can use the type and know it inherits from NSWindow. Moved WebKitTestRunnerWindow
2323         class into a separate file.
2324         (WTR::PlatformWebView::keyWindow): Call +[WebKitTestRunnerWindow _WTR_keyWindow]
2325         instead of have a second copy of the implementation.
2326
2327         * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Add include of WebKitTestRunnerWindow.h
2328         so we can use the type and know it inherits from NSWindow. Also removed "using namespace".
2329         (+[WebKitTestRunnerEvent mouseLocation]): Updated for above.
2330
2331         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
2332         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
2333         (-[LocalPasteboard availableTypeFromArray:]): Use modern for loop.
2334         (-[LocalPasteboard setData:forType:]): Reordered method to be a tiny bit more efficient.
2335         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
2336         instead of CFPropertyList.
2337         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
2338         CFStringCreateExternalRepresentation.
2339
2340         * WebKitTestRunner/mac/WebKitTestRunnerWindow.h: Moved declaration of
2341         WebKitTestRunnerWindow here so it can be included by files that need to know
2342         what the type is and that it inherits from NSWindow.
2343
2344         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm: Added. Moved implementation here.
2345         (+[WebKitTestRunnerWindow _WTR_keyWindow]): Use modern for loop instead of the old,
2346         messier implementation.
2347
2348 2018-08-07  Alex Christensen  <achristensen@webkit.org>
2349
2350         Add a test for using SafeBrowsing
2351         https://bugs.webkit.org/show_bug.cgi?id=188290
2352
2353         Reviewed by Chris Dumez.
2354
2355         Swizzle out SSBLookupContext to write tests for how WebKit responds when it responds in different ways.
2356         We don't do anything with its results in WebKit yet, but when we do I'll add the expected behavior to this test.
2357
2358         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2359         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: Added.
2360         (-[SafeBrowsingDelegate webView:didFinishNavigation:]):
2361         (TestWebKitAPI::TEST):
2362
2363 2018-08-07  Lucas Forschler  <lforschler@apple.com>
2364
2365         If there's a Radar in the ChangeLog, webkit-patch upload/create-bug should put the radar in the bug and set InRadar
2366         https://bugs.webkit.org/show_bug.cgi?id=188235
2367
2368         Reviewed by Daniel Bates, Kocsen Chung, and Aakash Jain.
2369
2370         * Scripts/webkitpy/common/checkout/changelog.py: 
2371         (ChangeLogEntry): Teach the ChangeLog tools how to parse a radar_id
2372         * Scripts/webkitpy/common/checkout/changelog_unittest.py: Test out the new _parse_radar_id functionality
2373         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2374         (Bugzilla.add_keyword_to_bug): Add logic to add keywords using the changeform
2375         * Scripts/webkitpy/tool/commands/upload.py:
2376         (Upload): Teach the upload step how to add radar information when creating a new bug.
2377         * Scripts/webkitpy/tool/steps/__init__.py:
2378         * Scripts/webkitpy/tool/steps/addradar.py: Added.
2379         (AddRadar):
2380         (AddRadar.run): Contains the logic to add the radar information to bugzilla.
2381         * Scripts/webkitpy/tool/steps/createbug.py:
2382         (CreateBug.run): set a "created_new_bug" state when creating a new bugzilla bug.
2383
2384 2018-08-07  Wenson Hsieh  <wenson_hsieh@apple.com>
2385
2386         Post-review feedback after r234614.
2387         https://bugs.webkit.org/show_bug.cgi?id=188322
2388         <rdar://problem/42455270>
2389
2390         Reviewed by Sam Weinig.
2391
2392         Use std::round instead of roundl — there's no reason to go from double to long double precision when rounding.
2393
2394         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2395         (rounded):
2396
2397 2018-08-07  Don Olmstead  <don.olmstead@sony.com>
2398
2399         [MiniBrowser][Win] Allow selection of recent user agents
2400         https://bugs.webkit.org/show_bug.cgi?id=188371
2401
2402         Reviewed by Fujii Hironori.
2403
2404         Updates the user agent spoofing strings to the latest released
2405         versions and adds Microsoft Edge's user agent.
2406
2407         Moves the menu item selection to the common base class, BrowserWindow
2408         to support user agent spoofing in a WebKitLegacyBrowserWindow and
2409         WebKitBrowserWindow.
2410
2411         * MiniBrowser/win/BrowserWindow.cpp: Added.
2412         (BrowserWindow::setUserAgent):
2413         * MiniBrowser/win/BrowserWindow.h:
2414         * MiniBrowser/win/CMakeLists.txt:
2415         * MiniBrowser/win/MainWindow.cpp:
2416         (MainWindow::toggleMenuItem):
2417         * MiniBrowser/win/MiniBrowserLib.rc:
2418         * MiniBrowser/win/MiniBrowserLibResource.h:
2419         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2420         * MiniBrowser/win/WebKitBrowserWindow.h:
2421         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
2422         (WebKitLegacyBrowserWindow::setUserAgent):
2423         * MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2424
2425 2018-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
2426
2427         Unreviewed, add a new address to my configuration
2428
2429         * Scripts/webkitpy/common/config/contributors.json:
2430
2431 2018-08-06  David Quesada  <david_quesada@apple.com>
2432
2433         webkitdirs.pm should default to iPhone SE for 64-bit testing
2434         https://bugs.webkit.org/show_bug.cgi?id=188361
2435
2436         Reviewed by Daniel Bates.
2437
2438         Use iPhone SE as the default iOS Simulator device type. This corresponds to the change to webkitpy in r234467.
2439
2440         * Scripts/webkitdirs.pm:
2441         (findOrCreateSimulatorForIOSDevice):
2442         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2443         (parse_args):
2444             Update the help text for --device-type to reflect the new default device.
2445
2446 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2447
2448         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
2449         https://bugs.webkit.org/show_bug.cgi?id=188322
2450         <rdar://problem/42455270>
2451
2452         Reviewed by Tim Horton.
2453
2454         Fixes an API test added in r234600, which had incorrect test expectations — namely, the width of the caret rect
2455         was not in content view coordinates, unlike the x, y, and height.
2456
2457         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2458         (rounded):
2459         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
2460         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
2461         (TestWebKitAPI::TEST):
2462
2463 2018-08-06  Ryan Haddad  <ryanhaddad@apple.com>
2464
2465         Unreviewed, rolling out r234569.
2466
2467         Breaks internal builds.
2468
2469         Reverted changeset:
2470
2471         "We should cache the compiled sandbox profile in a data vault"
2472         https://bugs.webkit.org/show_bug.cgi?id=184991
2473         https://trac.webkit.org/changeset/234569
2474
2475 2018-08-06  Fujii Hironori  <Hironori.Fujii@sony.com>
2476
2477         [Win][DLLLauncher] Remove --highDPI switch
2478         https://bugs.webkit.org/show_bug.cgi?id=188255
2479
2480         Reviewed by Yusuke Suzuki.
2481
2482         Bug 149417 has added `--highDPI` switch to make MiniBrowser DPI
2483         aware. But, Bug 158733 has made MiniBrowser always DPI aware. It
2484         became useless since the change. Remove the switch.
2485
2486         This change fixes the issue all dump render tree tests are failing
2487         in WinCairo port if high DPI display is connected.
2488
2489         * MiniBrowser/win/Common.cpp:
2490         (parseCommandLine): Removed `--highDPI` switch.
2491         * win/DLLLauncher/DLLLauncherMain.cpp:
2492         (wWinMain): Do not call SetProcessDPIAware.
2493         (shouldUseHighDPI): Deleted.
2494
2495 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2496
2497         [iOS] Tests that try to interact with the QuickType bar time out on iOS 11+
2498         https://bugs.webkit.org/show_bug.cgi?id=188335
2499         <rdar://problem/32542437> and <rdar://problem/32542433>
2500
2501         Reviewed by Tim Horton.
2502
2503         Remove a UIScriptController helper method that attempted to wait for QuickType buttons to appear, and then send
2504         touch events to the buttons. These were only used for the two tests which this patch refactors. See the
2505         LayoutTests ChangeLog for more detail.
2506
2507         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2508         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
2509         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2510         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2511         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
2512         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
2513         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2514         * TestRunnerShared/spi/UIKitTestSPI.h:
2515
2516         Remove an internal class declaration that is now unnecessary.
2517
2518         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2519         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
2520         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
2521
2522 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2523
2524         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
2525         https://bugs.webkit.org/show_bug.cgi?id=188322
2526         <rdar://problem/42455270>
2527
2528         Reviewed by Tim Horton.
2529
2530         Adds plumbing in UIScriptController to grab the start and end selection handle rects for use in the new layout
2531         test. Also adds new API tests to verify that when a web view resigns first responder, both caret and range
2532         selection views are hidden, and when first responder status is restored, both caret and range selection views
2533         are made visible again.
2534
2535         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2536         (WTR::UIScriptController::selectionStartGrabberViewRect const):
2537         (WTR::UIScriptController::selectionEndGrabberViewRect const):
2538         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2539         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2540         (WTR::UIScriptController::selectionStartGrabberViewRect const):
2541         (WTR::UIScriptController::selectionEndGrabberViewRect const):
2542         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2543         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2544         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
2545         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
2546         (webViewWithAutofocusedInput):
2547
2548         Pull out some common logic for creating a web view that allows programmatic focus to present the keyboard, and
2549         immediately loading a web page with an autofocusing text field.
2550
2551         (TestWebKitAPI::TEST):
2552         * TestWebKitAPI/cocoa/TestWKWebView.h:
2553         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2554         (-[TestWKWebView caretViewRectInContentCoordinates]):
2555         (-[TestWKWebView selectionViewRectsInContentCoordinates]):
2556         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2557         (WTR::UIScriptController::selectionStartGrabberViewRect const):
2558         (WTR::UIScriptController::selectionEndGrabberViewRect const):
2559
2560 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2561
2562         [iOS] Layout tests that send HID events cause WebKitTestRunner to crash on recent SDKs
2563         https://bugs.webkit.org/show_bug.cgi?id=188334
2564         <rdar://problem/40630074>
2565
2566         Reviewed by Tim Horton.
2567
2568         To mark the end of previously dispatched IOHID events, HIDEventGenerator currently sends a vendor-defined event
2569         and stores the completion callback ID for the previously dispatched events as vendor-defined data. When this
2570         vendor-defined marker event is handled by the application, we then read the callback ID back from the event, map
2571         it to a completion block, and invoke the completion block to signal that the previous HID event has been
2572         processed.
2573
2574         This callback ID is an unsigned, so we tell IOKit that we need `sizeof(unsigned)` (4 bytes) to store it. On
2575         shipping software, IOKit clamps this to a minimum of 8 bytes, i.e. `sizeof(CFIndex)`. When we later call
2576         IOHIDEventGetIntegerValue to read the value of our vendor-defined data as a CFIndex, we get our expected
2577         callback ID because the buffer was clamped to 8 bytes.
2578
2579         However, on recent iOS SDKs that contain the fix for <rdar://problem/20082284>, IOKit no longer clamps the size
2580         of the vendor-defined data buffer to 8 bytes. This means that when we try to use IOHIDEventGetIntegerValue to
2581         read our callback ID back, we end up getting a CFIndex where the lower 4 bytes are the callback ID we wrote, and
2582         the upper 4 bytes are garbage. In the case where any of these upper 4 bytes are non-zero, we fail to map the
2583         callback ID to a completion handler, and so we never finish dispatching the HID event, causing an exception to
2584         be thrown.
2585
2586         To fix this, we adjust callback ID to be a CFIndex, which matches IOHIDEventGetIntegerValue's return type.
2587
2588         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2589         (+[HIDEventGenerator nextEventCallbackID]):
2590         (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]):
2591
2592         Also refactor a bit of `-_sendMarkerHIDEventWithCompletionBlock:` by using auto and move semantics.
2593
2594 2018-08-03  Ben Richards  <benton_richards@apple.com>
2595
2596         We should cache the compiled sandbox profile in a data vault
2597         https://bugs.webkit.org/show_bug.cgi?id=184991
2598
2599         Reviewed by Ryosuke Niwa.
2600
2601         Added trace points for sandbox initialization
2602
2603         * Tracing/SystemTracePoints.plist:
2604
2605 2018-08-03  David Fenton  <david_fenton@apple.com>
2606
2607         Unreviewed, rolling out r234517.
2608
2609         Caused API test failures on iOS
2610
2611         Reverted changeset:
2612
2613         "[Cocoa] setCookie API fails to set session cookies for
2614         defaultDataStore if processPool created but not used"
2615         https://bugs.webkit.org/show_bug.cgi?id=188209
2616         https://trac.webkit.org/changeset/234517
2617
2618 2018-08-03  Ben Richards  <benton_richards@apple.com>
2619
2620         Add configuration for automatic process pre-warming
2621         https://bugs.webkit.org/show_bug.cgi?id=187108
2622
2623         Reviewed by Ryosuke Niwa.
2624
2625         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.
2626
2627         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2628         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
2629         (TEST):
2630         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2631         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm:
2632         (TEST):
2633
2634 2018-08-03  Aakash Jain  <aakash_jain@apple.com>
2635
2636         [ews-build] Add build step to Check Patch Relevance
2637         https://bugs.webkit.org/show_bug.cgi?id=188295
2638
2639         Reviewed by Lucas Forschler.
2640
2641         * BuildSlaveSupport/ews-build/steps.py:
2642         (CheckPatchRelevance): Added step to check patch relevance.
2643         (CheckPatchRelevance._patch_is_relevant): Checks if the patch is relevant.
2644         (CheckPatchRelevance._get_patch): Retrieves the patch from buildbot.
2645         (CheckPatchRelevance._addToLog): Add the log message.
2646         (CheckPatchRelevance.start):
2647         * BuildSlaveSupport/ews-build/factories.py: Added CheckPatchRelevance step appropriately.
2648
2649 2018-08-03  Jer Noble  <jer.noble@apple.com>
2650
2651         Unreviewed gardening; r234534 changed the policy for what audio session is set when a
2652         media element is paused. Updating the test to reflect the new policy.
2653
2654         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
2655         (TestWebKitAPI::TEST):
2656
2657 2018-08-03  Zalan Bujtas  <zalan@apple.com>
2658
2659         [LFC][Floating] Now that the document renderer belongs to "complicated cases", adjust viewport stretching.
2660         https://bugs.webkit.org/show_bug.cgi?id=188306
2661
2662         Reviewed by Antti Koivisto.
2663
2664         * LayoutReloaded/misc/LFC-passing-tests.txt:
2665
2666 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2667
2668         [WPE] Use the new key mapper API from WPEBackend
2669         https://bugs.webkit.org/show_bug.cgi?id=188216
2670
2671         Reviewed by Žan Doberšek.
2672
2673         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2674         (WTR::EventSenderProxy::keyDown): Use wpe_input_xkb_context_get_entries_for_key_code() to get the hardware key
2675         code.
2676         * wpe/backends/WindowViewBackend.cpp:
2677         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2678         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
2679         (WPEToolingBackends::WindowViewBackend::modifiers const):
2680         * wpe/backends/WindowViewBackend.h:
2681
2682 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2683
2684         [WPE] Implement MouseEvent.buttons
2685         https://bugs.webkit.org/show_bug.cgi?id=187998
2686
2687         Reviewed by Žan Doberšek.
2688
2689         Pass modifiers to mouse events.
2690
2691         * WebKitTestRunner/EventSenderProxy.h:
2692         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2693         (WTR::senderButtonToWPEButton):
2694         (WTR::modifierForButton):
2695         (WTR::EventSenderProxy::mouseDown):
2696         (WTR::EventSenderProxy::mouseUp):
2697         (WTR::EventSenderProxy::mouseMoveTo):
2698         (WTR::EventSenderProxy::mouseScrollBy):
2699         (WTR::wkEventModifiersToWPE):
2700         (WTR::wpeKeySymForKeyRef):
2701         (WTR::EventSenderProxy::keyDown):
2702         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
2703         * wpe/backends/WindowViewBackend.cpp:
2704         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
2705         (WPEToolingBackends::WindowViewBackend::modifiers const):
2706         * wpe/backends/WindowViewBackend.h:
2707
2708 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2709
2710         [WPE] Use WPE key symbols and new API instead of xkbcommon and the key mapper
2711         https://bugs.webkit.org/show_bug.cgi?id=188093
2712
2713         Reviewed by Žan Doberšek.
2714
2715         * MiniBrowser/wpe/main.cpp: Use WPE key symbols.
2716         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2717         (WTR::wpeKeySymForKeyRef): Use WPE key symbols and wpe_unicode_to_key_code().
2718         (WTR::EventSenderProxy::keyDown): Do not set unicode char to the event since it was removed.
2719         * flatpak/org.webkit.WPE.yaml: Bump WPEBackend and WPEBackend-fdo versions.
2720         * wpe/backends/WindowViewBackend.cpp:
2721         (WPEToolingBackends::WindowViewBackend::handleKeyEvent): Do not set unicode char to the event since it was removed.
2722         * wpe/jhbuild.modules: Bump WPEBackend and WPEBackend-fdo versions.
2723
2724 2018-08-02  Nan Wang  <n_wang@apple.com>
2725
2726         AX: [iOS] add support to return the attributed string under the element
2727         https://bugs.webkit.org/show_bug.cgi?id=188276
2728         <rdar://problem/42872357>
2729
2730         Reviewed by Chris Fleizach.
2731
2732         * DumpRenderTree/AccessibilityUIElement.cpp:
2733         (attributedStringForElementCallback):
2734         (AccessibilityUIElement::getJSClass):
2735         * DumpRenderTree/AccessibilityUIElement.h:
2736         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2737         (AccessibilityUIElement::attributedStringForElement):
2738         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
2739         (WTR::AccessibilityUIElement::attributedStringForElement):
2740         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2741         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2742         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2743         (WTR::AccessibilityUIElement::attributedStringForElement):
2744
2745 2018-08-02  Ryan Haddad  <ryanhaddad@apple.com>
2746
2747         Skip API test DataInteractionTests.CustomActionSheetPopover on current SDKs.
2748         https://bugs.webkit.org/show_bug.cgi?id=175204
2749
2750         Unreviewed test gardening.
2751
2752         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2753
2754 2018-08-02  Sihui Liu  <sihui_liu@apple.com>
2755
2756         [Cocoa] setCookie API fails to set session cookies for defaultDataStore if processPool created but not used
2757         https://bugs.webkit.org/show_bug.cgi?id=188209
2758
2759         Reviewed by Geoffrey Garen.
2760
2761         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
2762         (TEST):
2763
2764 2018-08-02  Dan Bernstein  <mitz@apple.com>
2765
2766         Fixed WebKit.AttrStyle timing out on build.webkit.org.
2767
2768         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Changed from a URL that requires network
2769           access to one that doesn’t.
2770         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
2771         (TEST): Updated expected value.
2772
2773 2018-08-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2774
2775         [iOS] Keyboard becomes unresponsive after pressing delete while pressing down on a character key with accents
2776         https://bugs.webkit.org/show_bug.cgi?id=188251
2777         <rdar://problem/37842108>
2778
2779         Reviewed by Tim Horton.
2780
2781         Adds a new API test to verify that clients (in this case, UIKit) is allowed to invoke
2782         -handleKeyWebEvent:withCompletionHandler: within the completion block of a prior invocation.
2783
2784         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2785         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Added.
2786         (TestWebKitAPI::TEST):
2787         * TestWebKitAPI/Tests/ios/TestInputDelegate.h: Added.
2788
2789         Pull some logic used to force an input session to start out from an existing API test file
2790         (WKWebViewAutofillTests) and into a separate helper class that is used by both the existing API tests and the
2791         new keyboard input test.
2792
2793         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2794         (-[AutofillTestView initWithFrame:]):
2795         (TestWebKitAPI::TEST):
2796         (-[TestInputDelegate init]): Deleted.
2797         (-[TestInputDelegate _webView:focusShouldStartInputSession:]): Deleted.
2798         * TestWebKitAPI/ios/UIKitSPI.h:
2799
2800         Add some UIKit SPI utilized by the new API test.
2801
2802 2018-08-01  Dan Bernstein  <mitz@apple.com>
2803
2804         Optionally expose Attr::style to JavaScript
2805         https://bugs.webkit.org/show_bug.cgi?id=188226
2806         <rdar://problem/42818113>
2807
2808         Reviewed by Darin Adler.
2809
2810         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2811         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Added.
2812         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm: Added.
2813         (TEST):
2814
2815 2018-08-02  David Fenton  <david_fenton@apple.com>
2816
2817         Unreviewed, rolling out r234489.
2818
2819         Caused 50+ crashes and 60+ API failures on iOS
2820
2821         Reverted changeset:
2822
2823         "[WTF] Rename String::format to String::deprecatedFormat"
2824         https://bugs.webkit.org/show_bug.cgi?id=188191
2825         https://trac.webkit.org/changeset/234489
2826
2827 2018-08-01  Ross Kirsling  <ross.kirsling@sony.com>
2828
2829         TestWTF.WTF_NeverDestroyed.Construct output differs for MSVC in Debug mode
2830         https://bugs.webkit.org/show_bug.cgi?id=188244
2831
2832         Reviewed by Daniel Bates.
2833
2834         Follow-up to r234179. MSVC chooses not to inline the lambda in Debug mode. 
2835
2836         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
2837
2838 2018-08-01  Tomas Popela  <tpopela@redhat.com>
2839
2840         [WTF] Rename String::format to String::deprecatedFormat
2841         https://bugs.webkit.org/show_bug.cgi?id=188191
2842
2843         Reviewed by Darin Adler.
2844
2845         It should be replaced with string concatenation.
2846
2847         * DumpRenderTree/win/DumpRenderTree.cpp:
2848         (applicationId):
2849         (main):
2850         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
2851         (TestWebKitAPI::Util::createURLForResource):
2852         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2853         (WTR::cacheTestRunnerCallback):
2854         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
2855         (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
2856         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2857         (WTR::AccessibilityUIElement::attributedStringForRange):
2858         (WTR::AccessibilityUIElement::url):
2859         (WTR::stringAtOffset):
2860         * WebKitTestRunner/TestController.cpp:
2861         (WTR::TestController::didReceiveAuthenticationChallenge):
2862         (WTR::TestController::downloadDidFail):
2863         (WTR::originUserVisibleName):
2864         (WTR::userMediaOriginHash):
2865         (WTR::TestController::didNavigateWithNavigationData):
2866         (WTR::TestController::didPerformClientRedirect):
2867         (WTR::TestController::didPerformServerRedirect):
2868         (WTR::TestController::didUpdateHistoryTitle):
2869
2870 2018-08-01  Nan Wang  <n_wang@apple.com>
2871
2872         AX: AOM: Add ARIA IDL Attribute Reflection
2873         https://bugs.webkit.org/show_bug.cgi?id=184676
2874         <rdar://problem/39476882>
2875
2876         Reviewed by Chris Fleizach.
2877
2878         * DumpRenderTree/mac/DumpRenderTree.mm:
2879         (enableExperimentalFeatures):
2880         * WebKitTestRunner/TestController.cpp:
2881         (WTR::TestController::resetPreferencesToConsistentValues):
2882
2883 2018-08-01  Jonathan Bedard  <jbedard@apple.com>
2884
2885         Use iPhone SE as the default simulated device
2886         https://bugs.webkit.org/show_bug.cgi?id=188227
2887
2888         Reviewed by Aakash Jain.
2889
2890         * Scripts/webkitpy/port/ios_simulator.py:
2891         (IOSSimulatorPort):
2892
2893 2018-08-01  Commit Queue  <commit-queue@webkit.org>
2894
2895         Unreviewed, rolling out r234443 and r234445.
2896         https://bugs.webkit.org/show_bug.cgi?id=188224
2897
2898         Revision caused 3 api failures across all platforms.
2899         (Requested by Truitt on #webkit).
2900
2901         Reverted changesets:
2902
2903         "Add configuration for automatic process pre-warming"
2904         https://bugs.webkit.org/show_bug.cgi?id=187108
2905         https://trac.webkit.org/changeset/234443
2906
2907         "Add configuration for automatic process pre-warming"
2908         https://bugs.webkit.org/show_bug.cgi?id=187108
2909         https://trac.webkit.org/changeset/234445
2910
2911 2018-07-31  Ben Richards  <benton_richards@apple.com>
2912
2913         Add configuration for automatic process pre-warming
2914         https://bugs.webkit.org/show_bug.cgi?id=187108
2915
2916         Reviewed by Ryosuke Niwa.
2917
2918         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.
2919
2920         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2921         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2922         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Added.
2923         (TEST):
2924
2925 2018-07-31  John Wilander  <wilander@apple.com>
2926
2927         Resource Load Statistics: Remove partitioned cookies for reduced complexity, lower memory footprint, and ability to support more platforms
2928         https://bugs.webkit.org/show_bug.cgi?id=188109
2929         <rdar://problem/42664391>
2930
2931         Reviewed by Brent Fulgham, Chris Dumez, and Alex Christensen.
2932
2933         This patch removes cookie partitioning which reduces the model to just
2934         blocked cookies (in third-party contexts) and first-party cookie access.
2935
2936         Several of the changes are renaming to reflect that there are no more
2937         cookie partitions.
2938
2939         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2940            Removed or renamed functions to reflect that there are no more
2941            partitioned cookies.
2942         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2943         (WTR::InjectedBundle::didReceiveMessageToPage):
2944         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2945         (WTR::TestRunner::statisticsUpdateCookieBlocking):
2946         (WTR::TestRunner::statisticsCallDidSetBlockCookiesForHostCallback):
2947         (WTR::TestRunner::setCookieStoragePartitioningEnabled): Deleted.
2948         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction): Deleted.
2949         (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
2950         (WTR::TestRunner::statisticsUpdateCookiePartitioning): Deleted.
2951         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost): Deleted.
2952         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
2953         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2954         * WebKitTestRunner/TestController.cpp:
2955         (WTR::TestController::statisticsUpdateCookieBlocking):
2956         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
2957         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
2958         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
2959         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
2960         * WebKitTestRunner/TestController.h:
2961         * WebKitTestRunner/TestInvocation.cpp:
2962         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2963         (WTR::TestInvocation::didSetBlockCookiesForHost):
2964         (WTR::TestInvocation::didSetHasHadUserInteraction):
2965         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
2966         (WTR::TestInvocation::didSetHasHadNonRecentUserInteraction): Deleted.
2967         * WebKitTestRunner/TestInvocation.h:
2968         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2969         (WTR::initializeWebViewConfiguration):
2970
2971 2018-07-31  Alex Christensen  <achristensen@webkit.org>
2972
2973         Build fix.  Remove unused variable.
2974
2975         * TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp:
2976         (TestWebKitAPI::TEST):
2977         transform was never used. It was introduced in r205871
2978         Apparently I'm the first one to build in a certain configuration that found it.
2979
2980 2018-07-31  Fujii Hironori  <Hironori.Fujii@sony.com>
2981
2982         server_process.py should print returncode in debug log if the process crashed
2983         https://bugs.webkit.org/show_bug.cgi?id=188160
2984
2985         Reviewed by Konstantin Tokarev.
2986
2987         * Scripts/webkitpy/port/server_process.py:
2988         (ServerProcess.has_crashed): Put self._proc.returncode into the debug log message.
2989
2990 2018-07-31  Tomas Popela  <tpopela@redhat.com>
2991
2992         [WTF] String::formatWithArguments() is unused
2993         https://bugs.webkit.org/show_bug.cgi?id=187955
2994
2995         Reviewed by Darin Adler.
2996
2997         Remove tests for WTF::String::formatWithArguments() as it's unused and
2998         we are removing it.
2999
3000         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
3001
3002 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
3003
3004         [ews-build] Fix typo in builder name for Bindings-tests-EWS.
3005
3006         * BuildSlaveSupport/ews-build/config.json: Changed 'tests' to 'Tests' to make it consistent with
3007         other builders.
3008
3009 2018-07-30 Aakash Jain  <aakash_jain@apple.com>
3010
3011         [ews-build] Add support for API tests in OpenSource EWS
3012         https://bugs.webkit.org/show_bug.cgi?id=188156
3013
3014         Reviewed by Lucas Forschler.
3015
3016         * BuildSlaveSupport/ews-build/config.json:
3017         * BuildSlaveSupport/ews-build/factories.py:
3018         (BuildFactory.__init__): Added triggers parameter.
3019         (BuildFactory): If trigger is defined, create and upload archive and trigger appropriate queues.
3020         (BuildFactory.propertiesToPassToTriggers): Pass all the required properties to triggered queue.
3021         (APITestsFactory): Factory for running API tests.
3022         * BuildSlaveSupport/ews-build/steps.py:
3023         (ConfigureBuild.start): Set the property only if property is defined in config.json. Also set the 
3024         source of the property.
3025
3026 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
3027
3028         [ews-build] loadConfig should ensure that the triggers are valid
3029         https://bugs.webkit.org/show_bug.cgi?id=188134
3030
3031         Reviewed by Lucas Forschler.
3032
3033         * BuildSlaveSupport/ews-build/loadConfig.py:
3034         (checkValidBuilder): Added a check to ensure that the builder doesn't refernce non-existing scheduler.
3035         (checkValidSchedulers): Ensures that the scheduler is not un-used.
3036         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests.
3037
3038 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
3039
3040         Unreviewed, fix typo in test expectations and mark another test as timing out
3041
3042         * TestWebKitAPI/glib/TestExpectations.json:
3043
3044 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
3045
3046         More unreviewed GTK test gardening
3047
3048         * TestWebKitAPI/glib/TestExpectations.json:
3049
3050 2018-07-27  Simon Fraser  <simon.fraser@apple.com>
3051
3052         Be more conservative with compositing layer creation when memory is low
3053         https://bugs.webkit.org/show_bug.cgi?id=187866
3054         rdar://problem/42366345
3055
3056         Reviewed by Zalan Bujtas.
3057         
3058         When process physical footprint is above a fraction of the jetsam limit, be more conservative in making
3059         compositing layers. We avoid compositing for these situations:
3060         1. Layers with 3D transforms which are affine (like translateZ(0)).
3061         2. Layers with will-change
3062         3. Layers for canvases (other than WebGL/WebGPU)
3063         
3064         We reuse some macOS code in MemoryPressureHandler() but choose different thresholds for iOS,
3065         falling into "conservative mode" at 50% of jetsam limit, and "strict mode" at 65%.
3066         Compositing chooses to be more conservative in either "conservative" or "strict" memory modes.
3067         
3068         Plumb through a "compositingPolicyOverride" both so that on-device testing isn't
3069         flakily falling into a different mode, and so that we can impose the conservative
3070         mode for testing.
3071
3072         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3073         (WTR::InjectedBundlePage::prepare):
3074
3075 2018-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>
3076
3077         Unreviewed GTK test gardening
3078
3079         * TestWebKitAPI/glib/TestExpectations.json:
3080
3081 2018-07-27  Alex Christensen  <achristensen@webkit.org>
3082
3083         Fix API tests after r234314
3084         https://bugs.webkit.org/show_bug.cgi?id=188077
3085
3086         Make API tests use new delegate method.
3087
3088         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3089         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3090         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3091
3092 2018-07-27  Alex Christensen  <achristensen@webkit.org>
3093
3094         Fix API tests after r234314
3095         https://bugs.webkit.org/show_bug.cgi?id=188077
3096
3097         Make API tests use new delegate method.
3098
3099         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3100         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3101         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3102         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3103         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3104         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
3105         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3106         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3107         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3108         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3109         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
3110
3111 2018-07-26  Andy VanWagoner  <andy@vanwagoner.family>
3112
3113         [INTL] Remove INTL sub-feature compile flags
3114         https://bugs.webkit.org/show_bug.cgi?id=188081
3115
3116         Reviewed by Michael Catanzaro.
3117
3118         * Scripts/webkitperl/FeatureList.pm:
3119         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3120
3121 2018-07-26  Chris Dumez  <cdumez@apple.com>
3122
3123         Loading a file URL and then issuing a reload right away causes the load to fail due to sandboxing
3124         https://bugs.webkit.org/show_bug.cgi?id=188078
3125         <rdar://problem/42562493>
3126
3127         Reviewed by Geoff Garen.
3128
3129         Add API test coverage. It exercises the right code path but unfortunately is not yet a regression
3130         test because TestWebKitAPI does not appear to be sandboxed (rdar://problem/42638129).
3131
3132         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3133         * TestWebKitAPI/Tests/WebKitCocoa/LoadFileThenReload.mm: Added.
3134         (-[LoadFileThenReloadDelegate webView:didFinishNavigation:]):
3135         (-[LoadFileThenReloadDelegate webView:didFailProvisionalNavigation:withError:]):
3136         (-[LoadFileThenReloadDelegate webView:didFailNavigation:withError:]):
3137         (TEST):
3138
3139 2018-07-26  Aaron Chu  <aaron_chu@apple.com>
3140
3141         Add Aaron Chu as a committer to contributors.json
3142         https://bugs.webkit.org/show_bug.cgi?id=188066
3143
3144         Unreviwed. Added myself as committer.
3145
3146         * Scripts/webkitpy/common/config/contributors.json:
3147
3148 2018-07-26  Aakash Jain  <aakash_jain@apple.com>
3149
3150         [ews-build] Add build step to run API Tests
3151         https://bugs.webkit.org/show_bug.cgi?id=188079
3152
3153         Reviewed by Lucas Forschler.
3154
3155         * BuildSlaveSupport/ews-build/steps.py:
3156         (TestWithFailureCount): Common class for various tests with failure count.
3157         (TestWithFailureCount.start): Configure Buildbot's logobserver.
3158         (TestWithFailureCount.commandComplete): Updates the failure count.
3159         (TestWithFailureCount.evaluateCommand): Set the step status appropriately.
3160         (TestWithFailureCount.getResultSummary): Set the step summary appropriately.
3161         (RunAPITests): Build step to run API tests.
3162         (RunAPITests.countFailures): Count the failures by parsing the output.
3163         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3164
3165 2018-07-26  Ross Kirsling  <ross.kirsling@sony.com>
3166
3167         String(View) should have a splitAllowingEmptyEntries function instead of a flag parameter
3168         https://bugs.webkit.org/show_bug.cgi?id=187963
3169
3170         Reviewed by Alex Christensen.
3171
3172         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
3173         Add tests for String::split and String::splitAllowingEmptyEntries.
3174
3175         * TestWebKitAPI/Tests/WTF/StringView.cpp:
3176         * WebKitTestRunner/TestController.cpp:
3177         (WTR::updateTestOptionsFromTestHeader):
3178         Update split/splitAllowingEmptyEntries usage.
3179
3180 2018-07-26  Commit Queue  <commit-queue@webkit.org>
3181
3182         Unreviewed, rolling out r234181 and r234189.
3183         https://bugs.webkit.org/show_bug.cgi?id=188075
3184
3185         These are not needed right now (Requested by thorton on
3186         #webkit).
3187
3188         Reverted changesets:
3189
3190         "Enable Web Content Filtering on watchOS"
3191         https://bugs.webkit.org/show_bug.cgi?id=187979
3192         https://trac.webkit.org/changeset/234181
3193
3194         "HAVE(PARENTAL_CONTROLS) should be true on watchOS"
3195         https://bugs.webkit.org/show_bug.cgi?id=187985
3196         https://trac.webkit.org/changeset/234189
3197
3198 2018-07-04  Darin Adler  <darin@apple.com>
3199
3200         Improve WebGPU implementation, including using Metal Objective-C protocols more simply and correctly
3201         https://bugs.webkit.org/show_bug.cgi?id=187333
3202
3203         Reviewed by Sam Weinig.
3204
3205         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: Updated.
3206         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Updated.
3207         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm: Updated.
3208         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: Updated.
3209         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: Updated.
3210
3211 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
3212
3213         [ews-build] Add build steps DownloadBuiltProduct and ExtractBuiltProduct
3214         https://bugs.webkit.org/show_bug.cgi?id=188031
3215
3216         Reviewed by Lucas Forschler.
3217
3218         * BuildSlaveSupport/ews-build/steps.py:
3219         (DownloadBuiltProduct): Added build step DownloadBuiltProduct.
3220         (ExtractBuiltProduct): Added build step ExtractBuiltProduct.
3221         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3222
3223 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
3224
3225         [ews-build] Add build step UploadBuiltProduct
3226         https://bugs.webkit.org/show_bug.cgi?id=188016
3227
3228         Reviewed by Lucas Forschler.
3229
3230         * BuildSlaveSupport/ews-build/steps.py:
3231         (UploadBuiltProduct): Added build step UploadBuiltProduct.
3232         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
3233
3234 2018-07-25  Aakash Jain  <aakash_jain@apple.com>
3235
3236         [ews-build] Add build step ArchiveBuiltProduct
3237         https://bugs.webkit.org/show_bug.cgi?id=188014
3238
3239         Reviewed by Lucas Forschler.
3240
3241         * BuildSlaveSupport/ews-build/steps.py:
3242         (ArchiveBuiltProduct): Added build step ArchiveBuiltProduct.
3243         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3244
3245 2018-07-25  Chris Dumez  <cdumez@apple.com>
3246
3247         navigator.userAgent may return outdated value after webView.customUserAgent is set
3248         https://bugs.webkit.org/show_bug.cgi?id=188009
3249         <rdar://problem/42566456>
3250
3251         Reviewed by Alex Christensen.
3252
3253         Add API test coverage.
3254
3255         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3256         * TestWebKitAPI/Tests/WebKitCocoa/CustomUserAgent.mm: Added.
3257         (TEST):
3258
3259 2018-07-25  Charlie Turner  <cturner@igalia.com>
3260
3261         [Flatpak] Pass more environment variables to sandbox
3262         https://bugs.webkit.org/show_bug.cgi?id=188002
3263
3264         Reviewed by Michael Catanzaro.
3265
3266         * flatpak/flatpakutils.py:
3267         (WebkitFlatpak.run_in_sandbox):
3268
3269 2018-07-25  Zan Dobersek  <zdobersek@igalia.com>
3270
3271         [WPE] Switch ViewBackend to using wpe_view_backend_exportable_fdo_egl APIs
3272         https://bugs.webkit.org/show_bug.cgi?id=187997
3273
3274         Reviewed by Carlos Garcia Campos.
3275
3276         Instead of the raw wpe_view_backend_exportable_fdo API, switch to using
3277         the EGL-oriented API that simply serves EGLImageKHR objects instead of
3278         raw buffer resources. This allows us not to wrangle with creating and
3279         managing lifetime of the same EGLImageKHR by ourselves.
3280
3281         ViewBackend now defines a wpe_view_backend_exportable_fdo_egl_client
3282         struct and uses wpe_view_backend_exportable_fdo_egl_create() to create
3283         the exportable object. This means that for each frame we're served an
3284         EGLImageKHR object that is passed on to the displayBuffer()
3285         implementation.
3286
3287         HeadlessViewBackend now just manages the pending and committed image
3288         objects. Width and height values used during pixel data retrieval are
3289         gathered from the ViewBackend's size that was specified when
3290         constructed.
3291
3292         WindowViewBackend similarly only manages the committed image object,
3293         not having to create an equivalent EGLImageKHR object from the raw
3294         buffer resource anymore.
3295
3296         Unused EGL entrypoints in both HeadlessViewBackend and WindowViewBackend
3297         classes are removed, and destructors for both classes are made virtual.
3298
3299         The WPEBackend-fdo version is bumped in order to have the EGL-specific
3300         export API available.
3301
3302         * flatpak/org.webkit.WPE.yaml:
3303         * wpe/backends/HeadlessViewBackend.cpp:
3304         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
3305         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
3306         (WPEToolingBackends::HeadlessViewBackend::createSnapshot):
3307         (WPEToolingBackends::HeadlessViewBackend::performUpdate):
3308         (WPEToolingBackends::HeadlessViewBackend::displayBuffer):
3309         * wpe/backends/HeadlessViewBackend.h:
3310         * wpe/backends/ViewBackend.cpp:
3311         (WPEToolingBackends::ViewBackend::initialize):
3312         * wpe/backends/ViewBackend.h:
3313         * wpe/backends/WindowViewBackend.cpp:
3314         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
3315         (WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
3316         (WPEToolingBackends::WindowViewBackend::displayBuffer):
3317         * wpe/backends/WindowViewBackend.h:
3318         * wpe/jhbuild.modules:
3319
3320 2018-07-24  Thomas Denney  <tdenney@apple.com>
3321
3322         Remove support for the double type from WHLSL
3323         https://bugs.webkit.org/show_bug.cgi?id=187977
3324
3325         Reviewed by Myles C. Maxfield.
3326
3327         * WebGPUShadingLanguageRI/All.js: Removed DoubleLiteral.js and DoubleLiteralType.js include.
3328         * WebGPUShadingLanguageRI/DoubleLiteral.js: Removed.
3329         * WebGPUShadingLanguageRI/DoubleLiteralType.js: Removed.
3330         * WebGPUShadingLanguageRI/Intrinsics.js: Removed double arithmetic functions.
3331         * WebGPUShadingLanguageRI/Parse.js:
3332         (parseTerm): Removed parsing of double literals.
3333         * WebGPUShadingLanguageRI/SPIRV.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
3334         * WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed double type logic.
3335         * WebGPUShadingLanguageRI/StandardLibrary.js: Removed double type declarations.
3336         * WebGPUShadingLanguageRI/Test.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
3337         * WebGPUShadingLanguageRI/Test.js: Removed tests that test doubles or ported them to use floats.
3338         * WebGPUShadingLanguageRI/index.html: Removed DoubleLiteral.js and DoubleLiteralType.js include.
3339
3340 2018-07-24  Tim Horton  <timothy_horton@apple.com>
3341
3342         Enable Web Content Filtering on watchOS
3343         https://bugs.webkit.org/show_bug.cgi?id=187979
3344         <rdar://problem/42559346>
3345
3346         Reviewed by Wenson Hsieh.
3347
3348         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3349
3350 2018-07-24  Daniel Bates  <dabates@apple.com>
3351
3352         Move-constructing NeverDestroyed should move construct underlying object instead of copy constructing it
3353         https://bugs.webkit.org/show_bug.cgi?id=187971
3354
3355         Reviewed by Saam Barati.
3356
3357         Add unit tests to cover move constructing a NeverDestroyed with a non-const and const data type
3358         as well as invoking makeNeverDestroyed() with the result of a function that returns a move-only
3359         data type.
3360
3361         * TestWebKitAPI/CMakeLists.txt:
3362         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3363         * TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.cpp: Added.
3364         (TestWebKitAPI::MoveOnlyLifecycleLogger::MoveOnlyLifecycleLogger):
3365         (TestWebKitAPI::MoveOnlyLifecycleLogger::~MoveOnlyLifecycleLogger):
3366         (TestWebKitAPI::MoveOnlyLifecycleLogger::operator=):
3367         (TestWebKitAPI::MoveOnlyLifecycleLogger::setName):
3368         (TestWebKitAPI::TEST):
3369         * TestWebKitAPI/Tests/WTF/MoveOnlyLifecycleLogger.h: Added.
3370         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
3371         (TestWebKitAPI::TEST):
3372
3373 2018-07-24  Thomas Denney  <tdenney@apple.com>
3374         Minor changes to the WHLSL interpreter to support the new compiler
3375         https://bugs.webkit.org/show_bug.cgi?id=187728
3376
3377         Reviewed by Myles C. Maxfield.
3378
3379         This bug contains small changes that are make minor changes to the
3380         behaviour of the existing interpreter (the tests are unaffected and all
3381         still pass).
3382
3383         * WebGPUShadingLanguageRI/EnumType.js:
3384         (EnumType.prototype.get isEnum): Property added to EnumType and Type
3385         * WebGPUShadingLanguageRI/Evaluator.js: Correct typo
3386         * WebGPUShadingLanguageRI/Func.js:
3387         (Func.prototype.get isEntryPoint): Add boolean property
3388         * WebGPUShadingLanguageRI/FuncInstantiator.js:
3389         (FuncInstantiator.prototype.get instances): Public accessor for existing
3390         private field
3391         * WebGPUShadingLanguageRI/FunctionLikeBlock.js: Refactored the class so
3392         that it directly wraps a Func instance (therefore the only interface
3393         change is to the constructor and the addition of the func accessor).
3394         This change allows the de-inlining of functions.
3395         (FunctionLikeBlock):
3396         (FunctionLikeBlock.prototype.get func):
3397         (FunctionLikeBlock.prototype.get returnType):
3398         (FunctionLikeBlock.prototype.get parameters):
3399         (FunctionLikeBlock.prototype.get body):
3400         * WebGPUShadingLanguageRI/Inliner.js: Use the new FunctionLikeBlock
3401         constructor
3402         (Inliner.prototype.visitCallExpression):
3403         (Inliner):
3404         * WebGPUShadingLanguageRI/Intrinsics.js: Migrate the swizzle operators
3405         to native functions (with additional support in StandardLibrary.js).
3406         This reduces first-time compile-time from around 4s to around 0.1s.
3407         (Intrinsics):
3408         * WebGPUShadingLanguageRI/Lexer.js: Ensure that the parsing of multiline
3409         comments completes correctly
3410         (Lexer.prototype.next):
3411         (Lexer):
3412         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Addition of type
3413         property, which is based on the type of the lValue and the semantics of
3414         the language (the @ operator yields an array reference with the thread
3415         scope).
3416         (MakeArrayRefExpression):
3417         (MakeArrayRefExpression.prototype.get type):
3418         * WebGPUShadingLanguageRI/NativeFunc.js: Add setter/getter for
3419         implementationData to support swizzle operator change
3420         (NativeFunc.prototype.get implementationData):
3421         (NativeFunc.prototype.set implementationData):
3422         * WebGPUShadingLanguageRI/Rewriter.js: Use new FunctionLikeBlock
3423         constructor
3424         (Rewriter.prototype.visitFunctionLikeBlock):
3425         * WebGPUShadingLanguageRI/StandardLibrary.js:
3426         (_generateSwizzle): Deleted.
3427         * WebGPUShadingLanguageRI/SwizzleOp.js: Introduces a new class for
3428         carrying metadata about swizzle operators so that they are implemented
3429         as native functions rather than generated at compile time.
3430         (SwizzleOp):
3431         (SwizzleOp.prototype.get outSize):
3432         (SwizzleOp.prototype.get components):
3433         (SwizzleOp.prototype.get inSize):
3434         (SwizzleOp.prototype.toString):
3435         (SwizzleOp.allSwizzleOperators.):
3436         (SwizzleOp.allSwizzleOperators):
3437         * WebGPUShadingLanguageRI/StandardLibrary.js: +        (SwizzleOp):
3438         (SwizzleOp.prototype.get outSize):
3439         (SwizzleOp.prototype.get components):
3440         (SwizzleOp.prototype.get inSize):
3441         (SwizzleOp.prototype.toString):
3442         (generateSwizzles):
3443         (_generateSwizzle): Deleted.
3444         * WebGPUShadingLanguageRI/Type.js: Addition of isEnum property, as
3445         above.
3446         (Type.prototype.get isEnum):
3447
3448 2018-07-24  Ryan Haddad  <ryanhaddad@apple.com>
3449
3450         Unreviewed, rolling out r234121.
3451
3452         Caused perf test failures.
3453
3454         Reverted changeset:
3455
3456         "We should cache the compiled sandbox profile in a data vault"
3457         https://bugs.webkit.org/show_bug.cgi?id=184991
3458         https://trac.webkit.org/changeset/234121
3459
3460 2018-07-24  Thibault Saunier  <tsaunier@igalia.com>
3461
3462         [Flatpak] Add openh264 as needed by WebRTC
3463         https://bugs.webkit.org/show_bug.cgi?id=187956
3464
3465         Reviewed by Philippe Normand.
3466
3467         * flatpak/org.webkit.WebKit.yaml:
3468
3469 2018-07-24  Ross Kirsling  <ross.kirsling@sony.com>
3470
3471         WebCore::URL::hostIsIPAddress needs a Windows implementation
3472         https://bugs.webkit.org/show_bug.cgi?id=187859
3473
3474         Reviewed by Fujii Hironori.
3475
3476         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3477         Check for a few other ways an IP address could be invalid.
3478
3479 2018-07-24  Charlie Turner  <cturner@igalia.com>
3480
3481         [Flatpak] Avoid consuming unknown arguments in flatpak wrapper
3482         https://bugs.webkit.org/show_bug.cgi?id=187951
3483
3484         When running run-webkit-tests --wpe --debug, it was observed that
3485         both self.platform != 'wpe' and self.debug != True. This turned
3486         out to be because of the "args" argument consuming the remainder
3487         of future arguments that came after it. Since the first argument
3488         to load_from_args was the test script to run, it would end up
3489         never processing the other arguments supplied to the wrapper
3490         script.
3491
3492         Tested this by rebuilding GTK in debug mode, running the
3493         minibrowser with various extra options, and running some tests
3494         with various extra options.
3495
3496         Reviewed by Michael Catanzaro.
3497
3498         * flatpak/flatpakutils.py:
3499         (WebkitFlatpak.load_from_args):
3500
3501 2018-07-24  Thibault Saunier  <tsaunier@igalia.com>
3502
3503         [Flatpak] Remove now unnecessary 'hacks' for running tests
3504         https://bugs.webkit.org/show_bug.cgi?id=187608
3505
3506         Reviewed by Philippe Normand.
3507
3508         We used to need to not share X11 with the sandbox when running tests
3509         but it is not needed anymore as we do not mount `/tmp` on `/tmp` in the
3510         sandbox (we mount it on `/run/host/tmp` now).
3511
3512         This has the advantage of making running the MiniBrowser to display test
3513         results working again.
3514
3515         * flatpak/flatpakutils.py:
3516         (WebkitFlatpak.clean_args):
3517         (WebkitFlatpak.run_in_sandbox):
3518         (WebkitFlatpak._cleanup_faltpak_args_for_tests_if_needed): Deleted.
3519
3520 2018-07-23  Fujii Hironori  <Hironori.Fujii@sony.com>
3521
3522         webkitpy.port.server_process_unittest.TestServerProcess.test_basic failed on Windows Python
3523         https://bugs.webkit.org/show_bug.cgi?id=187581
3524
3525         Reviewed by Daniel Bates.
3526
3527         There are two failures in this test case:
3528         1. proc.poll() doesn't return 0.
3529         2. stderr is not output.
3530
3531         For failure #1, this is expected. the process should not exit at
3532         the time. proc.poll() should return None because the process is
3533         still alive.
3534
3535         This change added a new test to check proc.poll() becomes 0 after
3536         the process successfully exits.
3537
3538         For failure #2, stderr is not flushed even though stdout is
3539         flushed. This change uses '-u' command switch to force stdin,
3540         stdout and stderr to be totally unbuffered.
3541
3542         * Scripts/webkitpy/port/server_process_unittest.py:
3543         (TestServerProcess.test_basic): Added -u command switch. Do not
3544         flush stdout. Removed the special condition for Windows. Add a new
3545         test to check proc.poll() returns 0.
3546         (TestServerProcess.test_process_crashing): Added -u command
3547         switch. Do not flush stdout.
3548
3549 2018-07-23  Ross Kirsling  <ross.kirsling@sony.com>
3550
3551         WTF::StringView::split should have an allowEmptyEntries flag
3552         https://bugs.webkit.org/show_bug.cgi?id=187864
3553
3554         Reviewed by Konstantin Tokarev.
3555
3556         * TestWebKitAPI/Tests/WTF/StringView.cpp: Add test.
3557
3558 2018-07-23  Ben Richards  <benton_richards@apple.com>
3559
3560         We should cache the compiled sandbox profile in a data vault
3561         https://bugs.webkit.org/show_bug.cgi?id=184991
3562
3563         Reviewed by Ryosuke Niwa.
3564
3565         Added trace points for sandbox initialization
3566
3567         * Tracing/SystemTracePoints.plist:
3568
3569 2018-07-23  Zalan Bujtas  <zalan@apple.com>
3570
3571         DRT relies on [webView display] to call -viewWillDraw on the WebHTMLView
3572         https://bugs.webkit.org/show_bug.cgi?id=187924
3573         <rdar://problem/41745884>
3574
3575         Reviewed by Simon Fraser.
3576
3577         WebKit relies on -viewWillDraw getting called on WebHTMLView, even though that view has not been marked as needing display.
3578
3579         * DumpRenderTree/mac/PixelDumpSupportMac.mm:
3580         (createBitmapContextFromWebView):
3581
3582 2018-07-23  Chris Dumez  <cdumez@apple.com>
3583
3584         WebResourceLoadStatisticsStore fails to unregister itself as a MessageReceiver in its destructor
3585         https://bugs.webkit.org/show_bug.cgi?id=187910
3586         <rdar://problem/42356526>
3587
3588         Reviewed by Brent Fulgham.
3589
3590         Add API test coverage.
3591
3592         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3593         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
3594         (-[DisableITPDuringNavigationDelegate webView:didCommitNavigation:]):
3595         (-[DisableITPDuringNavigationDelegate webView:didFinishNavigation:]):
3596         (TEST):
3597         * TestWebKitAPI/Tests/WebKitCocoa/notify-resourceLoadObserver.html: Added.
3598
3599 2018-07-23  Daniel Bates  <dabates@apple.com>
3600
3601         test-webkitpy should take configuration command line options
3602         https://bugs.webkit.org/show_bug.cgi?id=187872
3603
3604         Reviewed by David Kilzer.
3605
3606         Add --debug and --release optional command line options and teach the test bots to invoke test-webkitpy
3607         with the appropriate configuration. At the moment these options are only meaningful on Mac since they
3608         effect the configuration lldbWebKitTester is built with and we only build lldbWebKitTester on Mac.
3609
3610         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3611         (RunPythonTests): Pass the configuration to test-webkitpy. On Mac this will effect
3612         how lldbWebKitTester is built. All other ports do not make use of the specified configuration.
3613         * Scripts/webkitpy/test/main.py:
3614         (_build_lldb_webkit_tester): Modified to take the configuration to build lldbWebKitTester. If
3615         the specified configuration is None then we fall back to using the default configuration (as set
3616         by script set-webkit-configuration).
3617         (Tester._parse_args): Add command line options --debug and --release to build lldbWebKitTester
3618         with a Debug configuration and a Release configuration, respectively
3619         (Tester._run_tests): Pass the configuration to build lldbWebKitTester that we parsed from
3620         the command line options. It may be None if neither --debug nor --release were passed.
3621
3622 2018-07-23  Commit Queue  <commit-queue@webkit.org>
3623
3624         Unreviewed, rolling out r233030.
3625         https://bugs.webkit.org/show_bug.cgi?id=187904
3626
3627         Broke tarball builds (Requested by mcatanzaro on #webkit).
3628
3629         Reverted changeset:
3630
3631         "run-gtk-tests (glib/common.py) cannot determine build
3632         directory when webKitBranchBuild=true"
3633         https://bugs.webkit.org/show_bug.cgi?id=185643
3634         https://trac.webkit.org/changeset/233030
3635
3636 2018-07-21  Simon Fraser  <simon.fraser@apple.com>
3637
3638         Fix lldb summarizers for HashMaps and HashSets
3639         https://bugs.webkit.org/show_bug.cgi?id=187883
3640
3641         Reviewed by Dan Bates.
3642         
3643         HashMap and HashSet summarizers were broken in various ways.
3644         
3645         The 'type summary add -x' regexp needs to match at the start and end of the string
3646         to avoid finding types nested inside other templates.
3647         
3648         The HashTable synthetic child code incorrectly used the type of the key, rather than
3649         the value when synthesizing children.
3650         
3651         Add HashMap and HashSet summarizers.
3652
3653         I tried to get synthetic children working directly for HashMap and HashSet, but was unable.
3654
3655         * lldb/lldbWebKitTester/main.cpp:
3656         (testSummaryProviders):
3657         * lldb/lldb_webkit.py:
3658         (__lldb_init_module):
3659         (__lldb_init_module.lldb_webkit):
3660         (WTFHashMap_SummaryProvider):
3661         (WTFHashSet_SummaryProvider):
3662         (WebCoreColorProvider._to_string_extended):
3663         (WebCoreURLProvider.to_string):
3664         (WTFHashMapProvider):
3665         (WTFHashMapProvider.__init__):
3666         (WTFHashMapProvider.tableSize):
3667         (WTFHashMapProvider.keyCount):
3668         (WTFHashSetProvider):
3669         (WTFHashSetProvider.__init__):
3670         (WTFHashSetProvider.tableSize):
3671         (WTFHashSetProvider.keyCount):
3672         (WTFHashTableProvider.tableSize):
3673         (WTFHashTableProvider):
3674         (WTFHashTableProvider.keyCount):
3675         (WTFHashTableProvider.get_child_at_index):
3676         (WTFHashTableProvider.update):
3677         * lldb/lldb_webkit_unittest.py:
3678         (TestSummaryProviders.serial_test_WTFVectorProvider_empty_vector):
3679         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
3680         (TestSummaryProviders):
3681         (TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
3682         (TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
3683         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
3684
3685 2018-07-21  Simon Fraser  <simon.fraser@apple.com>
3686
3687         Add lldb formatters for WebCore geometry types
3688         https://bugs.webkit.org/show_bug.cgi?id=187884
3689
3690         Reviewed by Daniel Bates.
3691         
3692         Add lldb formatters for IntPoint, IntSize, IntRect, FloatPoint, FloatSize, FloatRect
3693         and LayoutRect.
3694         
3695         Testing is blocked by webkit.org/b/187872.
3696
3697         * lldb/lldbWebKitTester/main.cpp:
3698         (testSummaryProviders):
3699         * lldb/lldb_webkit.py:
3700         (__lldb_init_module.lldb_webkit):
3701         (__lldb_init_module):
3702         (WebCoreLayoutRect_SummaryProvider):
3703         (WebCoreIntSize_SummaryProvider):
3704         (WebCoreIntPoint_SummaryProvider):
3705         (WebCoreFloatSize_SummaryProvider):
3706         (WebCoreFloatPoint_SummaryProvider):
3707         (WebCoreIntRect_SummaryProvider):
3708         (WebCoreFloatRect_SummaryProvider):
3709         (WebCoreLayoutRectProvider):
3710         (WebCoreLayoutRectProvider.__init__):
3711         (WebCoreLayoutRectProvider.get_x):
3712         (WebCoreLayoutRectProvider.get_y):
3713         (WebCoreLayoutRectProvider.get_width):
3714         (WebCoreLayoutRectProvider.get_height):
3715         (WebCoreIntPointProvider):
3716         (WebCoreIntPointProvider.__init__):
3717         (WebCoreIntPointProvider.get_x):
3718         (WebCoreIntPointProvider.get_y):
3719         (WebCoreIntSizeProvider):
3720         (WebCoreIntSizeProvider.__init__):
3721         (WebCoreIntSizeProvider.get_width):
3722         (WebCoreIntSizeProvider.get_height):
3723         (WebCoreIntRectProvider):
3724         (WebCoreIntRectProvider.__init__):
3725         (WebCoreIntRectProvider.get_x):
3726         (WebCoreIntRectProvider.get_y):
3727         (WebCoreIntRectProvider.get_width):
3728         (WebCoreIntRectProvider.get_height):
3729         (WebCoreFloatPointProvider):
3730         (WebCoreFloatPointProvider.__init__):
3731         (WebCoreFloatPointProvider.get_x):
3732         (WebCoreFloatPointProvider.get_y):
3733         (WebCoreFloatSizeProvider):
3734         (WebCoreFloatSizeProvider.__init__):
3735         (WebCoreFloatSizeProvider.get_width):
3736         (WebCoreFloatSizeProvider.get_height):
3737         (WebCoreFloatRectProvider):
3738         (WebCoreFloatRectProvider.__init__):
3739         (WebCoreFloatRectProvider.get_x):
3740         (WebCoreFloatRectProvider.get_y):
3741         (WebCoreFloatRectProvider.get_width):
3742         (WebCoreFloatRectProvider.get_height):
3743
3744 2018-07-20  John Wilander  <wilander@apple.com>
3745
3746         Resource Load Statistics: Enable basic functionality in experimental debug mode
3747         https://bugs.webkit.org/show_bug.cgi?id=187835
3748         <rdar://problem/42408590>
3749
3750         Reviewed by Chris Dumez.
3751
3752         This patch makes the experimental ITP Debug Mode feature work, at least
3753         to a basic level. All of the changes to TestRunner are to support the
3754         layout tests for the functionality.
3755
3756         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3757         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3758         (WTR::InjectedBundle::didReceiveMessageToPage):
3759         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3760         (WTR::TestRunner::setStatisticsDebugMode):
3761         (WTR::TestRunner::statisticsCallDidSetDebugModeCallback):
3762         (WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode):
3763         (WTR::TestRunner::statisticsCallDidSetPrevalentResourceForDebugModeCallback):
3764         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3765         * WebKitTestRunner/TestController.cpp:
3766         (WTR::TestController::setStatisticsDebugMode):
3767         (WTR::TestController::setStatisticsPrevalentResourceForDebugMode):
3768         * WebKitTestRunner/TestController.h:
3769         * WebKitTestRunner/TestInvocation.cpp:
3770         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3771         (WTR::TestInvocation::didSetStatisticsDebugMode):
3772         (WTR::TestInvocation::didSetPrevalentResourceForDebugMode):
3773         * WebKitTestRunner/TestInvocation.h:
3774
3775 2018-07-20  Ryosuke Niwa  <rniwa@apple.com>
3776
3777         Picking a color from the color panel for typing attributes needs to inverse transform through color-filter
3778         https://bugs.webkit.org/show_bug.cgi?id=187846
3779
3780         Reviewed by Simon Fraser.
3781
3782         Fixed the bug that testRunner.execCommand was using the second argument as the value.
3783
3784         The second argument, aShowDefaultUI, should always be ignored in testRunner.execCommand,
3785         and the third argument should be used as the value. DumpRenderTree's implementation does this already.
3786
3787         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3788         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3789         (WTR::TestRunner::execCommand):
3790         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3791
3792 2018-07-20  Dean Jackson  <dino@apple.com>
3793
3794         Accidentally checked in the wrong version of these files.
3795
3796         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
3797         * lldb/lldbWebKitTester/main.cpp:
3798         (testSummaryProviders):
3799         * lldb/lldb_webkit_unittest.py:
3800         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
3801         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color): Deleted.
3802         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color): Deleted.
3803         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color): Deleted.
3804         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color): Deleted.
3805         (TestSummaryProviders.serial_test_WebCoreColorProvider_semantic_color): Deleted.
3806
3807 2018-07-20  Dean Jackson  <dino@apple.com>
3808
3809         Provide an lldb type summary for WebCore::Color
3810         https://bugs.webkit.org/show_bug.cgi?id=187776
3811
3812         Reviewed by Dan Bates.
3813
3814         This time without the tests because we don't want to build
3815         all of WebKit just for python tests.
3816
3817         * lldb/lldb_webkit.py: Add a Color summary provider.
3818         (__lldb_init_module):
3819         (WebCoreColor_SummaryProvider):
3820         (WebCoreColorProvider):
3821         (WebCoreColorProvider.__init__):
3822         (WebCoreColorProvider._is_extended):
3823         (WebCoreColorProvider._is_valid):
3824         (WebCoreColorProvider._is_semantic):
3825         (WebCoreColorProvider._to_string_extended):
3826         (WebCoreColorProvider.to_string):
3827
3828 2018-07-20  Brady Eidson  <beidson@apple.com>
3829
3830         Add WKNavigation/WKNavigationAction related SPI.
3831         https://bugs.webkit.org/show_bug.cgi?id=187826
3832
3833         Reviewed by Chris Dumez.
3834
3835         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
3836         (-[NavigationActionHasNavigationDelegate webView:didFinishNavigation:]):
3837         (-[NavigationActionHasNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3838         (TEST):
3839
3840 2018-07-20  Commit Queue  <commit-queue@webkit.org>
3841
3842         Unreviewed, rolling out r233943, r233988, r234004, and
3843         r234012.
3844         https://bugs.webkit.org/show_bug.cgi?id=187856
3845
3846         webkitpy tests are failing to build lldbWebKitTester
3847         (Requested by ryanhaddad on #webkit).
3848
3849         Reverted changesets:
3850
3851         "Provide an lldb type summary for WebCore::Color"
3852         https://bugs.webkit.org/show_bug.cgi?id=187776
3853         https://trac.webkit.org/changeset/233943
3854
3855         "Provide an lldb type summary for WebCore::Color"
3856         https://bugs.webkit.org/show_bug.cgi?id=187776
3857         https://trac.webkit.org/changeset/233988
3858
3859         "Provide an lldb type summary for WebCore::Color"
3860         https://bugs.webkit.org/show_bug.cgi?id=187776
3861         https://trac.webkit.org/changeset/234004
3862
3863         "Provide an lldb type summary for WebCore::Color"
3864         https://bugs.webkit.org/show_bug.cgi?id=187776
3865         https://trac.webkit.org/changeset/234012
3866
3867 2018-07-20  Philippe Normand  <pnormand@igalia.com>
3868
3869         [GTK][WPE] enable-media-capabilities websetting
3870         https://bugs.webkit.org/show_bug.cgi?id=187847
3871
3872         Reviewed by Carlos Garcia Campos.
3873
3874         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3875         (testWebKitSettings): Unit test for the new enable-media-capabilities setting.
3876
3877 2018-07-19  Carlos Garcia Campos  <cgarcia@igalia.com>
3878
3879         [GLIB] jsc_context_evaluate_in_object() should receive an instance when a JSCClass is given
3880         https://bugs.webkit.org/show_bug.cgi?id=187798
3881
3882         Reviewed by Michael Catanzaro.
3883
3884         Update test cases to the new API and use a destroy function and vtable in the test case of calling
3885         jsc_context_evaluate_in_object() with a JSCClass.
3886
3887         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3888         (testJSCEvaluateInObject):
3889
3890 2018-07-19  Ross Kirsling  <ross.kirsling@sony.com>
3891
3892         TestWTF.WTF.StringConcatenate_Unsigned fails for unsigned short on Windows
3893         https://bugs.webkit.org/show_bug.cgi?id=187712
3894
3895         Reviewed by Fujii Hironori.
3896
3897         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
3898         Mark result of unsigned short test case as platform-specific,
3899         since Windows' behavior is actually *less* surprising here.
3900
3901 2018-07-19  Lucas Forschler  <lforschler@apple.com>
3902
3903         Teach the AWS Lambda to use the [minified]-platforms database
3904         https://bugs.webkit.org/show_bug.cgi?id=187817
3905         
3906         Reviewed by David Kilzer.
3907
3908         * WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py:
3909         (lambda_handler): Add support for the platforms.webkit.org database
3910         * WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py:
3911         (lambda_handler): Add support for the minified-platforms.webkit.org database
3912
3913 2018-07-19  Dean Jackson  <dino@apple.com>
3914
3915         Provide an lldb type summary for WebCore::Color
3916         https://bugs.webkit.org/show_bug.cgi?id=187776
3917
3918         Dan Bates helped me with this attempted fix. Fingers crossed!
3919
3920         * Scripts/build-lldbwebkittester:
3921
3922 2018-07-19  Stephan Szabo  <stephan.szabo@sony.com>
3923
3924         [WinCairo] Support DEVELOPER_MODE for allowing inspection of web inspector
3925         https://bugs.webkit.org/show_bug.cgi?id=187786
3926
3927         Reviewed by Fujii Hironori.
3928
3929         * Scripts/webkitdirs.pm:
3930         (generateBuildSystemFromCMakeProject): Turn on DEVELOPER_MODE
3931         for WinCairo builds.
3932
3933 2018-07-19  Dean Jackson  <dino@apple.com>
3934
3935         Provide an lldb type summary for WebCore::Color
3936         https://bugs.webkit.org/show_bug.cgi?id=187776
3937
3938         Another attempted build fix for Debug.
3939
3940         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
3941         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
3942
3943 2018-07-19  Thomas Denney  <tdenney@apple.com>
3944
3945         [WHLSL] The interpreter doesn't support boolean short-circuiting
3946         https://bugs.webkit.org/show_bug.cgi?id=187779
3947
3948         Reviewed by Alex Christensen.
3949
3950         * WebGPUShadingLanguageRI/Evaluator.js:
3951         (Evaluator.prototype.visitLogicalExpression): RHS is only evaluated when necessary
3952         * WebGPUShadingLanguageRI/Test.js:
3953         (tests.booleanShortcircuiting): Adds 4 tests for the evaluation of logical expresions
3954
3955 2018-07-19  Dean Jackson  <dino@apple.com>
3956
3957         Provide an lldb type summary for WebCore::Color
3958         https://bugs.webkit.org/show_bug.cgi?id=187776
3959
3960         Attempted build fix.
3961
3962         * lldb/lldbWebKitTester/Configurations/Base.xcconfig:
3963
3964 2018-07-19  Brady Eidson  <beidson@apple.com>
3965
3966         Add an SPI policy action to allow clients to explicitly ask for a new process on a navigation.
3967         https://bugs.webkit.org/show_bug.cgi?id=187789
3968
3969         Reviewed by Andy Estes.
3970
3971         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3972         (-[PSONNavigationDelegate init]):
3973         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3974
3975 2018-07-19  Thibault Saunier  <tsaunier@igalia.com>
3976
3977         [Flatpak] Let flatpak process handle SIGINT
3978         https://bugs.webkit.org/show_bug.cgi?id=187521
3979
3980         Reviewed by Philippe Normand.
3981
3982         Ensuring that flatpak process ends properly and that the sandbox is teard down.
3983         It also avoids showing usless backtrace to the end user and makes gdb
3984         much more usable.
3985
3986         Also make flatpakutils not verbose by default
3987
3988         * flatpak/flatpakutils.py:
3989         (disable_signals):
3990         (WebkitFlatpak.run_in_sandbox):
3991         (WebkitFlatpak.run_gdb):
3992
3993 2018-07-18  Stephan Szabo  <stephan.szabo@sony.com>
3994
3995         Unreviewed. Fix contributors entry.
3996
3997         * Scripts/webkitpy/common/config/contributors.json:
3998
3999 2018-07-18  Dean Jackson  <dino@apple.com>
4000
4001         Provide an lldb type summary for WebCore::Color
4002         https://bugs.webkit.org/show_bug.cgi?id=187776
4003
4004         Reviewed by Dan Bates.
4005
4006         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Link against WebKit
4007             to get to WebCore.
4008         * lldb/lldbWebKitTester/main.cpp:
4009         (testSummaryProviders): Create some Color objects for testing.
4010
4011         * lldb/lldb_webkit.py: Add a Color summary provider.
4012         (__lldb_init_module):
4013         (WebCoreColor_SummaryProvider):
4014         (WebCoreColorProvider):
4015         (WebCoreColorProvider.__init__):
4016         (WebCoreColorProvider._is_extended):
4017         (WebCoreColorProvider._is_valid):
4018         (WebCoreColorProvider._is_semantic):
4019         (WebCoreColorProvider._to_string_extended):
4020         (WebCoreColorProvider.to_string):
4021
4022         * lldb/lldb_webkit_unittest.py: Tests.
4023         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
4024         (TestSummaryProviders):
4025         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color):
4026         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color):
4027         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color):
4028         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color):
4029
4030 2018-07-18  Truitt Savell  <tsavell@apple.com>
4031
4032         Unreviewed, rolling out r233934.
4033
4034         Revision caused 5 webkitpy failures on Mac and broke webkitpy
4035         testing on iOS simulator
4036
4037         Reverted changeset:
4038
4039         "Provide an lldb type summary for WebCore::Color"
4040         https://bugs.webkit.org/show_bug.cgi?id=187776
4041         https://trac.webkit.org/changeset/233934
4042
4043 2018-07-18  Chris Dumez  <cdumez@apple.com>
4044
4045         REGRESSION (r233897): CrashTracer: com.apple.WebKit.WebContent.Development at com.apple.WebKit: WKBooleanGetValue + 9
4046         https://bugs.webkit.org/show_bug.cgi?id=187784
4047         <rdar://problem/42329230>
4048
4049         Reviewed by Brady Eidson.
4050
4051         When process swapping on navigation, WebPageProxy::reattachToWebProcess() unregisters the page as a MessageReceiver
4052         from the old WebProcessProxy and registers itself as a MessageReceiver for the new WebProcessProxy instead. This
4053         means that after this point, IPC sent by the previous WebProcess to its WebPageProxy will fail.
4054
4055         When we process swap, we also navigate the page in the old WebProcess to about:blank, when the navigation to
4056         about:blank would complete, the WebKitTestRunner's injected bundle would try and send IPC to the WebPageProxy
4057         which would fail and would cause WKBundlePagePostSynchronousMessageForTesting() to return a null result. WKTR
4058         would crash when dereferencing this null result. This patch addresses this by dealing with the potential null
4059         result.
4060
4061         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
4062         (WTR::InjectedBundle::shouldProcessWorkQueue const):
4063
4064 2018-07-18  Dean Jackson  <dino@apple.com>
4065
4066         Provide an lldb type summary for WebCore::Color
4067         https://bugs.webkit.org/show_bug.cgi?id=187776
4068
4069         Reviewed by Dan Bates.
4070
4071         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: Link against WebKit
4072             to get to WebCore.
4073         * lldb/lldbWebKitTester/main.cpp:
4074         (testSummaryProviders): Create some Color objects for testing.
4075
4076         * lldb/lldb_webkit.py: Add a Color summary provider.
4077         (__lldb_init_module):
4078         (WebCoreColor_SummaryProvider):
4079         (WebCoreColorProvider):
4080         (WebCoreColorProvider.__init__):
4081         (WebCoreColorProvider._is_extended):
4082         (WebCoreColorProvider._is_valid):
4083         (WebCoreColorProvider._is_semantic):
4084         (WebCoreColorProvider._to_string_extended):
4085         (WebCoreColorProvider.to_string):
4086
4087         * lldb/lldb_webkit_unittest.py: Tests.
4088         (TestSummaryProviders.serial_test_WTFVectorProvider_vector_size_and_capacity):
4089         (TestSummaryProviders):
4090         (TestSummaryProviders.serial_test_WebCoreColorProvider_invalid_color):
4091         (TestSummaryProviders.serial_test_WebCoreColorProvider_extended_color):
4092         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgb_color):
4093         (TestSummaryProviders.serial_test_WebCoreColorProvider_rgba_color):
4094
4095 2018-07-18  Stephan Szabo  <stephan.szabo@sony.com>
4096
4097         Adding myself to contributors.json
4098
4099         Unreviewed contributors.json change.
4100
4101         * Scripts/webkitpy/common/config/contributors.json:
4102
4103 2018-07-18  Jer Noble  <jer.noble@apple.com>
4104
4105         -_beginAnimatedResizeWithUpdates: can leave view in bad state if called during an existing animation
4106         https://bugs.webkit.org/show_bug.cgi?id=187739
4107         <rdar://problem/42304518>
4108
4109         Reviewed by Tim Horton.
4110
4111         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
4112         (TEST):
4113
4114 2018-07-18  Jer Noble  <jer.noble@apple.com>
4115
4116         PiP from Element Fullscreen should match AVKit's behavior
4117         https://bugs.webkit.org/show_bug.cgi?id=187623
4118         <rdar://problem/41212379>
4119
4120         Reviewed by Jon Lee.
4121
4122         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4123         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html: Added.
4124         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm: Added.
4125         (-[ExitFullscreenOnEnterPiPUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
4126         (-[ExitFullscreenOnEnterPiPUIDelegate _webViewDidEnterFullscreen:]):
4127         (-[ExitFullscreenOnEnterPiPUIDelegate _webViewDidExitFullscreen:]):
4128         (TestWebKitAPI::TEST):
4129
4130 2018-07-18  Aakash Jain  <aakash_jain@apple.com>
4131
4132         [ews-build] Add build step to run layout-test
4133         https://bugs.webkit.org/show_bug.cgi?id=187674
4134
4135         Reviewed by Lucas Forschler.
4136
4137         * BuildSlaveSupport/ews-build/steps.py:
4138         (RunWebKitTests): Added build step to run layout-tests. This is similar to current EWS.
4139         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
4140         * BuildSlaveSupport/ews-build/factories.py: Added build-step to run layout-test in iOSSimulatorFactory.
4141
4142 2018-07-18  Wenson Hsieh  <wenson_hsieh@apple.com>
4143
4144         Add SPI to defer running async script until after document load
4145         https://bugs.webkit.org/show_bug.cgi?id=187748
4146         <rdar://problem/42317378>
4147
4148         Reviewed by Ryosuke Niwa and Tim Horton.
4149
4150         Add an API test to verify that when the deferred async script configuration is set, async scripts will be
4151         executed after the DOMContentLoaded event.
4152
4153         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4154         * TestWebKitAPI/Tests/WebKitCocoa/RunScriptAfterDocumentLoad.mm: Added.
4155         (TEST):
4156
4157 2018-07-18  Charlie Turner  <cturner@igalia.com>
4158
4159         [WPE] Update WPEBackend in flatpak
4160         https://bugs.webkit.org/show_bug.cgi?id=187753
4161
4162         r233763 updated WPEBackend for the jhbuild, but not the flatpak. This
4163         caused WPE_BACKEND_CHECK_VERSION to not be defined, triggering a bug
4164         in the version guard,
4165
4166         #if defined(WPE_BACKEND_CHECK_VERSION) && WPE_BACKEND_CHECK_VERSION(0, 2, 0)
4167
4168         This doesn't work as intended, since the C preprocessor first expands
4169         all macro arguments in the #if expression before evaluating the
4170         expression. When WPE_BACKEND_CHECK_VERSION is not defined, this will
4171         lead to a syntax error and some head scratching.
4172
4173         A future patch should address the buggy macro check, when it is
4174         decided whether the assume the macro is always defined and bump
4175         the API requirements on WPEBackend, or to move the check into two
4176         conditionals to avoid the expansion problem.
4177
4178         Unreviewed build fix.
4179         
4180         * flatpak/org.webkit.WPE.yaml:
4181
4182 2018-07-18  Simon Fraser  <simon.fraser@apple.com>
4183
4184         Fix the parsing of colors in attributed string tests, and make it possible to dump the typing attributes
4185         https://bugs.webkit.org/show_bug.cgi?id=187747
4186
4187         Reviewed by Ryosuke Niwa.
4188         
4189         Add textInputController.attributedStringForTyping(), which returns a one-character
4190         attributed string whose attributes are the typing attributes, making it possible to
4191         test -[WebView typingAttributes].
4192         
4193         Sadly WebCore's convertObjcValueToValue() doesn't know how to convert NSDictionary,
4194         so we can't return -typingAttributes directly.
4195
4196         * DumpRenderTree/mac/TextInputControllerMac.m:
4197         (+[TextInputController isSelectorExcludedFromWebScript:]):
4198         (-[TextInputController attributedStringForTyping]):
4199
4200 2018-07-18  Carlos Garcia Campos  <cgarcia@igalia.com>
4201
4202         [GLIB] Add jsc_context_check_syntax() to GLib API
4203         https://bugs.webkit.org/show_bug.cgi?id=187694
4204
4205