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