Add some new patterns to filter-build-webkit
[WebKit-https.git] / Tools / ChangeLog
1 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Add some new patterns to filter-build-webkit
4         https://bugs.webkit.org/show_bug.cgi?id=170429
5
6         Reviewed by Alexey Proskuryakov.
7
8         * Scripts/filter-build-webkit:
9         (setOutputFormatOption):
10
11 2017-04-03  Wenson Hsieh  <wenson_hsieh@apple.com>
12
13         Data interaction should register type identifiers in order of priority
14         https://bugs.webkit.org/show_bug.cgi?id=170428
15         <rdar://problem/30633296>
16
17         Reviewed by Tim Horton.
18
19         Augments existing unit tests to check for the existence and priority of type identifiers in the UIItemProviders
20         created upon starting data interaction. Also fixes a race condition in one of the unit tests and adds a new unit
21         test for data interaction from a textarea to an input.
22
23         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
24         (checkTypeIdentifierPrecedesOtherTypeIdentifier):
25         (TestWebKitAPI::TEST):
26         * TestWebKitAPI/ios/DataInteractionSimulator.h:
27         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
28         (-[DataInteractionSimulator _advanceProgress]):
29         (-[DataInteractionSimulator sourceItemProviders]):
30         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
31
32 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
33
34         [GTK][JHBuild] Update mesa repository url for tarballs
35         https://bugs.webkit.org/show_bug.cgi?id=170431
36
37         Reviewed by Michael Catanzaro.
38
39         * gtk/jhbuild.modules:
40
41 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
42
43         TestWebKitAPI: Warning: Multiple build commands for Ahem.ttf
44         https://bugs.webkit.org/show_bug.cgi?id=170430
45
46         Reviewed by Alexey Proskuryakov.
47
48         * TestWebKitAPI/Tests/mac/Ahem.ttf: Removed.
49         Eliminate one of the copies of Ahem.ttf.
50
51         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
52         Once eliminated, there is now only one Ahem.ttf that is copied
53         to the Resources bundle. Drive-by sort the project file.
54
55 2017-04-03  Simon Fraser  <simon.fraser@apple.com>
56
57         Allow MiniBrowser windows to receive local file drags again
58         https://bugs.webkit.org/show_bug.cgi?id=170422
59
60         Reviewed by Wenson Hsieh.
61
62         Adopt the new UIDelegate SPI to allow drops.
63
64         * MiniBrowser/mac/WK2BrowserWindowController.m:
65         (-[WK2BrowserWindowController _webView:dragDestinationActionMaskForDraggingInfo:]):
66
67 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
68
69         [GTK][JHBuild] Fetch libvpx from a release tarball instead of git
70         https://bugs.webkit.org/show_bug.cgi?id=170426
71
72         Reviewed by Michael Catanzaro.
73
74         * gtk/jhbuild.modules:
75
76 2017-04-03  Nan Wang  <n_wang@apple.com>
77
78         AX: Expose link children when doing search predication on iOS
79         https://bugs.webkit.org/show_bug.cgi?id=170424
80         <rdar://problem/31413335>
81
82         Reviewed by Chris Fleizach.
83
84         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
85         (AccessibilityUIElement::uiElementForSearchPredicate):
86         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
87         (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
88
89 2017-04-03  Brian Burg  <bburg@apple.com>
90
91         run-safari should support launching with custom language and locale
92         https://bugs.webkit.org/show_bug.cgi?id=170397
93
94         Reviewed by Alexey Proskuryakov.
95
96         Hook up -AppleLanguages and -AppleLocale to command line options.
97
98         * Scripts/webkitdirs.pm:
99         (printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
100         (argumentsForRunAndDebugMacWebKitApp):
101
102 2017-04-03  Jonathan Bedard  <jbedard@apple.com>
103
104         webkitpy: Provide option to skip install
105         https://bugs.webkit.org/show_bug.cgi?id=170344
106
107         Reviewed by Alexey Proskuryakov.
108
109         Installing can take time for on device testing.  Provide an option to skip install
110         and use whatever driver is currently installed on the device or simulator.
111
112         * Scripts/webkitpy/port/base.py:
113         (Port.check_build): Do not check driver if skipping install.
114         * Scripts/webkitpy/port/factory.py:
115         (platform_options): Add '--no-install' option.
116         * Scripts/webkitpy/port/ios.py:
117         (IOSPort.setup_test_run): Check install option before installing.
118
119 2017-04-03  Keith Miller  <keith_miller@apple.com>
120
121         WebAssembly: Update spec tests
122         https://bugs.webkit.org/show_bug.cgi?id=170361
123
124         Rubber-stamped by Saam Barati.
125
126         Update the runner to know the new wasm spec test harness code.
127
128         * Scripts/run-jsc-stress-tests:
129
130 2017-04-01  Alexey Proskuryakov  <ap@apple.com>
131
132         Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.
133
134         Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
135         https://bugs.webkit.org/show_bug.cgi?id=170365
136
137         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
138
139 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
140
141         Mac cmake buildfix after 214586.
142         https://bugs.webkit.org/show_bug.cgi?id=170381
143
144         Unreviewed speculative buildfix.
145
146         * WebKitTestRunner/PlatformMac.cmake:
147
148 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
149
150         Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
151         https://bugs.webkit.org/show_bug.cgi?id=161675
152
153         * WebKitTestRunner/PlatformMac.cmake:
154
155 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
156
157         webkitpy: Add target host concept
158         https://bugs.webkit.org/show_bug.cgi?id=170186
159         <rdar://problem/31301797>
160
161         Reviewed by Alexey Proskuryakov.
162
163         Adding the idea of a target host. Target hosts are objects conforming to the
164         structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
165         Target hosts are the hosts associated with a worker process.
166
167         * Scripts/webkitpy/common/system/filesystem.py:
168         (FileSystem.map_base_host_path): Convert a path from an absolute path on the base
169         host to an absolute path on this host.
170         (FileSystem.move_to_base_host): Move file from this host to the base host.
171         (FileSystem.move_from_base_host): Move file from the base host to this host.
172         (FileSystem.copy_to_base_host): Copy file from this host to the base host.
173         (FileSystem.copy_from_base_host): Copy file from the base host to this host.
174         * Scripts/webkitpy/common/system/filesystem_mock.py:
175         (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
176         host to an absolute path on this host.
177         (MockFileSystem.move_to_base_host): Move file from this host to the base host.
178         (MockFileSystem.move_from_base_host): Move file from the base host to this host.
179         (MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
180         (MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
181         * Scripts/webkitpy/port/base.py:
182         (Port.target_host): Return host determined by worker number.
183         (Port.abspath_for_test): Accept optional target_host argument to return location
184         of test on a target host.
185         (Port._driver_tempdir): Accept optional target_host argument to return a temporary
186         directory on a target host.
187         (Port.sample_process): Accept optional target_host argument to sample process on
188         a target host.
189         * Scripts/webkitpy/port/darwin.py:
190         (DarwinPort.sample_process): Run sample process on target host.
191         (DarwinPort.sample_file_path): Accept directory for file.
192         (DarwinPort.spindump_file_path): Ditto.
193         * Scripts/webkitpy/port/darwin_testcase.py:
194         (DarwinTest.test_spindump): Check file movement.
195         (DarwinTest.test_sample_process): Ditto.
196         (DarwinTest.test_sample_process_exception):
197         * Scripts/webkitpy/port/driver.py:
198         (Driver.__init__): Add and set self._target_host variable.
199         (Driver._start): Pass target host to _driver_tempdir().
200         (Driver.stop): Call the target host's rmtree.
201         (Driver._check_for_driver_timeout): Pass target host to sample_process.
202         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
203         (Driver._command_from_driver_input): Pass target host to abspath_for_test and map
204         layout test directory to target host.
205         * Scripts/webkitpy/port/ios.py:
206         (IOSPort):
207         (IOSPort.target_host): Replaced device_for_worker_number.
208         (IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
209         (IOSPort.device_for_worker_number): Replaced with target_host.
210         * Scripts/webkitpy/port/server_process.py:
211         (ServerProcess.__init__): Accept target_host instead of worker_number.
212         (ServerProcess._start): Replace _host with _target_host.
213         (ServerProcess._handle_timeout): Ditto.
214         (ServerProcess._kill): Ditto.
215         * Scripts/webkitpy/port/simulator_process.py:
216         (SimulatorProcess.__init__): Accept target_host instead of worker_number.
217         (SimulatorProcess._start): Replace _device with _target_host.
218         (SimulatorProcess.stop): Ditto.
219         (SimulatorProcess._kill): Deleted.
220
221 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
222
223         Unreviewed fix after r214569
224         https://bugs.webkit.org/show_bug.cgi?id=170255
225
226         Unreviewed infrastructure fix.
227
228         * Scripts/webkitpy/port/ios.py:
229         (IOSPort.clean_up_test_run): Check if the device is defined before teardown.
230
231 2017-03-31  Andy Estes  <aestes@apple.com>
232
233         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
234         https://bugs.webkit.org/show_bug.cgi?id=170365
235         <rdar://problem/29205721>
236
237         Reviewed by Tim Horton.
238
239         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
240         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
241         (TEST): Re-enabled the test, which now passes.
242
243 2017-03-31  Tim Horton  <timothy_horton@apple.com>
244
245         Mail can get stuck underneath FindController::findStringMatches after searching in a long message
246         https://bugs.webkit.org/show_bug.cgi?id=170326
247         <rdar://problem/30330395>
248
249         Reviewed by Simon Fraser.
250
251         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
252         (TEST):
253
254 2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
255
256         Unreviewed. Fix WTR crashes in GTK+ port after r214413.
257
258         Fixes: http/tests/ssl/upgrade-origin-usage.html
259                http/tests/websocket/tests/hybi/network-process-crash-error.html
260                http/tests/websocket/tests/hybi/simple-wss.html
261
262         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
263         (WTR::TestController::platformContext): Return the context.
264
265 2017-03-30  Sam Weinig  <sam@webkit.org>
266
267         Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
268         https://bugs.webkit.org/show_bug.cgi?id=170315
269
270         Reviewed by Simon Fraser.
271
272         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
273         * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
274         Add test showing the completion handler is called.
275
276 2017-03-30  Filip Pizlo  <fpizlo@apple.com>
277
278         Air should support linear scan for optLevel<2
279         https://bugs.webkit.org/show_bug.cgi?id=170161
280
281         Reviewed by Saam Barati.
282         
283         This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
284         pipeline.
285
286         * Scripts/run-jsc-stress-tests:
287
288 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
289
290         Support tvOS and watchOS in webkitdirs.pm
291         https://bugs.webkit.org/show_bug.cgi?id=170267
292
293         Reviewed by Alexey Proskuryakov.
294
295         * Scripts/webkitdirs.pm:
296         (determineXcodeSDK): Evaluate sdk for tvos and watchos.
297         (xcodeSDKPlatformName): Added support for tvos and watchos.
298         (determinePortName): Same.
299         (isAppleCocoaWebKit): Same.
300         (willUseAppleTVDeviceSDK): Added.
301         (willUseAppleTVSimulatorSDK): Added.
302         (willUseWatchDeviceSDK): Added.
303         (willUseWatchSimulatorSDK): Added.
304         (isTVOSWebKit): Added.
305         (isWATCHOSWebKit): Added.
306         (isIOSLikeWebKit): Added.
307
308 2017-03-30  Wenson Hsieh  <wenson_hsieh@apple.com>
309
310         [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active
311         https://bugs.webkit.org/show_bug.cgi?id=170291
312         <rdar://problem/31301388>
313
314         Reviewed by Tim Horton.
315
316         Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as
317         well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the
318         shared UIApplication, and verify that data interaction completes successfully.
319
320         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
321         (TestWebKitAPI::TEST):
322         * TestWebKitAPI/ios/DataInteractionSimulator.h:
323         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
324         (-[DataInteractionSimulatorApplication _cancelAllTouches]):
325         (-[DataInteractionSimulator initWithWebView:]):
326         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
327         (-[DataInteractionSimulator runFrom:to:]):
328         (-[DataInteractionSimulator _advanceProgress]):
329         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
330
331 2017-03-30  Per Arne Vollan  <pvollan@apple.com>
332
333         [Win] Pass close_fds = True in Python popen call.
334         https://bugs.webkit.org/show_bug.cgi?id=170172
335
336         Reviewed by Brent Fulgham.
337
338         This was previously not supported on Windows, but in Python 2.7.10 it is.
339
340         * Scripts/webkitpy/common/system/executive.py:
341         (Executive._should_close_fds):
342         * Scripts/webkitpy/port/server_process.py:
343         (ServerProcess._start):
344
345 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
346
347         Change my status to be a WebKit reviewer.
348
349         Unreviewed status update edit.
350
351         * Scripts/webkitpy/common/config/contributors.json:
352
353 2017-03-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
354
355         Change my status to be a WebKit reviewer.
356
357         Unreviewed status update edit.
358
359         * Scripts/webkitpy/common/config/contributors.json:
360
361 2017-03-29  Tim Horton  <timothy_horton@apple.com>
362
363         Swipe gesture tests don't work on macOS Sierra
364         https://bugs.webkit.org/show_bug.cgi?id=161675
365         <rdar://problem/23379930>
366
367         Reviewed by Darin Adler.
368
369         * DumpRenderTree/mac/UIScriptControllerMac.mm:
370         (WTR::UIScriptController::platformPlayBackEventStream):
371         (WTR::UIScriptController::beginBackSwipe):
372         (WTR::UIScriptController::completeBackSwipe):
373         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
374         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
375         (eventIsOfType):
376         (eventIsOfTypes):
377         (eventIsOfGestureType):
378         (eventIsOfGestureTypes):
379         (+[EventSerializer dictionaryForEvent:relativeToTime:]):
380         (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
381         (+[EventSerializer playEventStream:inWindow:completionHandler:]):
382         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
383         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
384         (beginSwipeBackEventStream):
385         (completeSwipeBackEventStream):
386         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
387         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
388         (WTR::UIScriptController::playBackEventStream):
389         (WTR::UIScriptController::beginBackSwipe):
390         (WTR::UIScriptController::completeBackSwipe):
391         (WTR::UIScriptController::platformPlayBackEventStream):
392         (WTR::UIScriptController::platformClearAllCallbacks): Deleted.
393         * TestRunnerShared/UIScriptContext/UIScriptController.h:
394         * TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
395         * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
396         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
397         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
398         (WTR::playBackEvents):
399         (WTR::UIScriptController::beginBackSwipe):
400         (WTR::UIScriptController::completeBackSwipe):
401         (WTR::UIScriptController::platformPlayBackEventStream):
402
403 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
404
405         webkitpy: Robust test clean-up
406         https://bugs.webkit.org/show_bug.cgi?id=170255
407
408         Reviewed by Alexey Proskuryakov.
409
410         On-device testing is the motivation for this change.  Failure to run clean-up functions can
411         result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
412         test run.  Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
413
414         * Scripts/webkitpy/layout_tests/controllers/manager.py:
415         (Manager._set_up_run): Clean up test run if set-up fails.
416         * Scripts/webkitpy/port/ios.py:
417         (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
418
419 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
420
421         Simulator testing stops after the first crash
422         <rdar://problem/31325362>
423
424         Unreviewed infrastructure fix.
425
426         * Scripts/webkitpy/xcode/simulated_device.py:
427         (SimulatedDevice):
428         (SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
429
430 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
431
432         webkitpy: Standardize web-server port definitions
433         https://bugs.webkit.org/show_bug.cgi?id=170144
434         <rdar://problem/31284026>
435
436         Reviewed by Daniel Bates.
437
438         Default web-server ports should be declared in global variables.
439         Add functions to web-servers which return the ports these servers
440         are using so that other tools can forward them.
441
442         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
443         (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
444         * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
445         (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
446         * Scripts/webkitpy/layout_tests/servers/http_server.py:
447         (Lighttpd.__init__): Use shared constants in http_server_base.py.
448         (Lighttpd._prepare_config): Ditto.
449         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
450         (HttpServerBase): Add default port constants.
451         (HttpServerBase.ports_to_forward): Add function to return ports used for http server.
452         * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
453         (TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
454         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
455          (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
456         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
457         (PyWebSocket): Make default port values public.
458         (PyWebSocket.__init__): Use public default port.
459         (PyWebSocket.ports_to_forward): Return port used in an array.
460         * Scripts/webkitpy/port/base.py:
461         (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
462         (Port.to.start_websocket_server): Use PyWebSocket port constants.
463
464 2017-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>
465
466         Links with empty hrefs should not be drag sources
467         https://bugs.webkit.org/show_bug.cgi?id=170241
468         <rdar://problem/31305505>
469
470         Reviewed by Tim Horton.
471
472         Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
473
474         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
475         (TestWebKitAPI::TEST):
476         * TestWebKitAPI/ios/DataInteractionSimulator.h:
477
478         Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
479
480         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
481         (-[DataInteractionSimulator phase]):
482
483 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
484
485         Use TCP instead of FIFOs for Simulator/Device communication
486         https://bugs.webkit.org/show_bug.cgi?id=169419
487         <rdar://problem/30949615>
488
489         Reviewed by Alexey Proskuryakov.
490
491         Using TCP instead of FIFOs when communicating with devices allows the device being tested
492         to be on a different machine then the one handling the management of the test run.
493
494         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
495         * DumpRenderTree/mac/DumpRenderTree.mm:
496         (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
497         * Scripts/webkitpy/port/device.py:
498         (Device.__init__): Initialize the listening_socket.
499         (Device.listening_port): Return port of listening socket.
500         (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
501         fro testing.
502         (Device.finished_testing): Close listening socket associated with this device, call the
503         platform device's finished_testing function if it exists.
504         * Scripts/webkitpy/port/ios.py:
505         (IOSPort.setup_test_run): Prepare each device for testing.
506         (IOSPort.clean_up_test_run): Notify each device that testing has completed.
507         * Scripts/webkitpy/port/ios_simulator.py:
508         (IOSSimulatorPort): Work around device persistence bug.
509         (IOSSimulatorPort.__init__): Ditto.
510         * Scripts/webkitpy/port/simulator_process.py:
511         (SimulatorProcess):
512         (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
513         Python 2’s makefile.
514         (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
515         (SimulatorProcess.ReadFileSocket.close): Close file and then socket;
516         (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
517         (SimulatorProcess.__getattr__): Expose all file attributes.
518         (SimulatorProcess._accept_connection_create_file): Wait for connection from server and
519         create and return a file-like object from the incoming connection.
520         (SimulatorProcess._start): Use TCP connections instead of FIFOs.
521         (SimulatorProcess._start.handler): Output server port in timeout exception.
522         (SimulatorProcess._reset): Deleted.
523         * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
524         (connectToServer): Return socket connected to the provided server address.
525         (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
526         TCP server running on localhost.
527         (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
528         * TestRunnerShared/IOSLayoutTestCommunication.h: Added.
529         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
530         * WebKitTestRunner/ios/TestControllerIOS.mm:
531         (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
532         instead of using FIFOs.
533         (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
534
535 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
536
537         webkitpy: Add IOSDevicePort and IOSPort tests
538         https://bugs.webkit.org/show_bug.cgi?id=170206
539         <rdar://problem/31308364>
540
541         Reviewed by Alexey Proskuryakov.
542
543         * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
544         * Scripts/webkitpy/port/ios_device_unittest.py: Added.
545         (iosDeviceTest): Contains tests for the IOSDevicePort.
546         (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
547         (iosDeviceTest.test_operating_system): Check for the correct operating system.
548         * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
549         (iosSimulatorTest): Inherit from ios_testcase.
550         (iosSimulatorTest.make_port): Ditto.
551         (iosSimulatorTest.test_get_crash_log): Ditto.
552         * Scripts/webkitpy/port/ios_testcase.py: Added.
553         (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
554         (iOSTest.test_driver_name): Tests for iOS app driver.
555         (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
556         * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
557         * Scripts/webkitpy/port/port_testcase.py:
558         (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
559         (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
560         (PortTestCase.test_diff_image_crashed): Ditto.
561
562 2017-03-28  Jason Marcell  <jmarcell@apple.com>
563
564         Fix `index-expected.txt` for dashboard test results.
565         https://bugs.webkit.org/show_bug.cgi?id=170214
566
567         Reviewed by Alexey Proskuryakov.
568
569         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
570
571 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
572
573         Bot watcher's dashboard has separate settings for "mac" and "macos"
574         https://bugs.webkit.org/show_bug.cgi?id=170164
575
576         Reviewed by Tim Horton.
577
578         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
579         (Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
580
581 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
582
583         Fix dashboard test results on the dashboard
584         https://bugs.webkit.org/show_bug.cgi?id=170158
585
586         Reviewed by Tim Horton.
587
588         Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
589         further improved, as it's not super readable, but stdio is entirely useless in this context.
590
591         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
592         (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
593
594         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
595         Fixed a typo in step name, so that it's actually treated as productive.
596
597         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
598         (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
599         (BuildbotTesterQueueView.prototype.update):
600         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
601         Added special handling for dashboard test results.
602
603 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
604
605         Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
606         https://bugs.webkit.org/show_bug.cgi?id=170193
607
608         Reviewed by Alexey Proskuryakov.
609
610         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
611         Fixed the order of arguments.
612
613 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
614
615         Dashboard tests fails to fetch the revision from commits
616         https://bugs.webkit.org/show_bug.cgi?id=170191
617
618         Reviewed by Alexey Proskuryakov.
619
620         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
621         Added recordedCommitIndicesByRevisionNumber.
622         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
623         (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
624
625 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
626
627         Safari crashes when attempting to close tab that is displaying PDF
628         https://bugs.webkit.org/show_bug.cgi?id=170201
629         <rdar://problem/31242019>
630
631         Reviewed by Wenson Hsieh.
632
633         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
634         (TEST):
635         Add a test for doAfterNextStablePresentationUpdate just like the existing
636         non-stable one.
637
638 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
639
640         webkitpy: Use host pattern for devices
641         https://bugs.webkit.org/show_bug.cgi?id=170121
642
643         Reviewed by Daniel Bates.
644
645         Devices should be treated like hosts throughout webkitpy
646         so that more code can be re-used.  Add the needed properties
647         and use executive over custom implemented polling/killing
648         functions.
649
650         * Scripts/webkitpy/port/device.py:
651         (Device):
652         (Device.executive): Add optional executive property.
653         (Device.filesystem): Add optional filesystem property.
654         (Device.user): Add optional user property.
655         (Device.platform): Add optional platform property.
656         (Device.workspace): Add optional workspace property.
657         (Device.poll): Deleted.
658         * Scripts/webkitpy/port/simulator_process.py:
659         (SimulatorProcess.Popen.poll): Use the devices executive.
660         (SimulatorProcess.stop): Ditto.
661         (SimulatorProcess._kill): Ditto.
662         * Scripts/webkitpy/xcode/simulated_device.py:
663         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
664         and workspace to the platform device.
665         (SimulatedDevice.poll): Deleted.
666
667 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
668
669         Dashboard test fails with error: latestIterationGetter is not a function
670         https://bugs.webkit.org/show_bug.cgi?id=170167
671
672         Reviewed by Alexey Proskuryakov.
673
674         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
675         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
676
677 2017-03-27  Lucas Forschler  <lforschler@apple.com>
678
679         Another test v8.
680
681 2017-03-27  Lucas Forschler  <lforschler@apple.com>
682
683         Another test v7.
684
685 2017-03-27  Lucas Forschler  <lforschler@apple.com>
686
687         Another test v6.
688
689 2017-03-27  Lucas Forschler  <lforschler@apple.com>
690
691         Another test v5.
692
693 2017-03-27  Lucas Forschler  <lforschler@apple.com>
694
695         Another test v4.
696
697 2017-03-27  Lucas Forschler  <lforschler@apple.com>
698
699         Another test v3.
700
701 2017-03-27  Lucas Forschler  <lforschler@apple.com>
702
703         Another test v2.
704
705 2017-03-27  Lucas Forschler  <lforschler@apple.com>
706
707         Another test.
708
709 2017-03-27  Lucas Forschler  <lforschler@apple.com>
710
711         <rdar://problem/30949128>
712         Update build.webkit.org to use port 16000 for PBChangeSource.
713         
714         Reviewed by Alexey Proskuryakov.
715
716         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
717
718 2017-03-27  Jason Marcell  <jmarcell@apple.com>
719
720         Bots should run the dashboard tests
721         https://bugs.webkit.org/show_bug.cgi?id=168994
722
723         Reviewed by Daniel Bates and David Kilzer.
724
725         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
726
727         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
728         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
729         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
730         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
731         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
732         (ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results.
733         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
734         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
735         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
736
737 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
738
739         webkitpy: Look for 'ios' test expectations for IOSPorts
740         https://bugs.webkit.org/show_bug.cgi?id=169413
741
742         Reviewed by Alexey Proskuryakov.
743
744         Test expectations for iOS tests should include the 'ios' folder.  Modify
745         default_baseline_search_path to include 'ios' folder and derivatives for
746         IOSPort.
747
748         * Scripts/webkitpy/port/ios.py:
749         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
750         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
751         (IOSPort.test_expectations_file_position): Added for testing.
752         * Scripts/webkitpy/port/ios_simulator.py:
753         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
754         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
755
756 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
757
758         REGRESSION: Reseting _device_map on each child process
759         <rdar://problem/31274476>
760
761         Unreviewed infrastructure fix.
762
763         * Scripts/webkitpy/port/ios_simulator.py:
764         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
765         (IOSSimulatorPort.__init__): Use shared class variable
766         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
767         (IOSSimulatorPort._create_devices): Ditto.
768         (IOSSimulatorPort._quit_ios_simulator): Ditto.
769         (IOSSimulatorPort.clean_up_test_run): Ditto.
770
771 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
772
773         REGRESSION: Failing to iterate over Simulator.managed_devices map
774         <rdar://problem/31274476>
775
776         Unreviewed infrastructure fix.
777
778         * Scripts/webkitpy/port/ios_simulator.py:
779         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
780
781 2017-03-27  Alex Christensen  <achristensen@webkit.org>
782
783         Make WebSockets work in network process
784         https://bugs.webkit.org/show_bug.cgi?id=169930
785
786         Reviewed by Youenn Fablet.
787
788         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
789         Add terminateNetworkProcess for the new test
790         http/tests/websocket/tests/hybi/network-process-crash-error.html
791         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
792         (WTR::TestRunner::setAllowsAnySSLCertificate):
793         (WTR::TestRunner::terminateNetworkProcess):
794         * WebKitTestRunner/InjectedBundle/TestRunner.h:
795         * WebKitTestRunner/TestController.cpp:
796         (WTR::TestController::setAllowsAnySSLCertificate):
797         (WTR::TestController::terminateNetworkProcess):
798         * WebKitTestRunner/TestController.h:
799         * WebKitTestRunner/TestInvocation.cpp:
800         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
801         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
802         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
803         (WTR::TestController::platformContext):
804         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
805         (WTR::TestController::platformContext):
806         (WTR::TestController::platformLibraryPathForTesting):
807         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
808         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
809         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
810         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
811         which tests that wss works, but our test certificate has an invalid certificate chain.
812         We want production software to not have the ability to have its security weakened, so this
813         is a test code path that is only implemented in WebKitTestRunner.
814
815 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
816
817         webkitpy: Use generalized device instead of platform specific one
818         https://bugs.webkit.org/show_bug.cgi?id=170078
819
820         Reviewed by Daniel Bates.
821
822         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
823         should remain persistent.  Changing Device to a more explicit interface.
824         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
825         wrapping SimulatedDevices.
826
827         * Scripts/webkitpy/port/device.py: Added.
828         (Device):
829         (Device.__init__): Construct with platform device.
830         (Device.install_app): Install app at app path on platform device.
831         (Device.launch_app): Launch app with bundle ID on platform device.
832         (Device.poll): Poll platform device.
833         (Device.udid): Access platform device UDID.
834         (Device.__nonzero__): Check if instantiated with a valid platform device.
835         (Device.__eq__): Compare by udid.
836         (Device.__ne__): Ditto.
837         (Device.__repr__): Print out platform_device representation.
838         * Scripts/webkitpy/port/ios_simulator.py:
839         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
840         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
841         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
842         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
843         device map.
844         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
845         * Scripts/webkitpy/xcode/device.py: Removed.
846         * Scripts/webkitpy/xcode/simulated_device.py:
847         (SimulatedDevice):
848         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
849         (SimulatedDevice.__eq__): Compare two simulated devices.
850         (SimulatedDevice.__ne__): Ditto.
851         (SimulatedDevice.__repr__): Print name and udid.
852
853 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
854
855         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
856         https://bugs.webkit.org/show_bug.cgi?id=170059
857
858         Reviewed by Carlos Garcia Campos.
859
860         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
861         the only use of the method in this same file ignores the returned value anyway.
862
863 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
864
865         webkitpy should be able to run API tests
866         https://bugs.webkit.org/show_bug.cgi?id=170028
867
868         Reviewed by Alexey Proskuryakov.
869
870         * Scripts/webkitpy/common/config/ports.py:
871         (DeprecatedPort.run_api_tests_command): Added.
872         * Scripts/webkitpy/port/base.py:
873         (Port.api_results_directory): Added.
874         * Scripts/webkitpy/tool/steps/runtests.py:
875         (RunTests.run): Check if we should be running API tests.
876         (RunTests._run_api_tests): Generate script to run API tests with json output.
877         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
878
879 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
880
881         Add JSON results for API tests
882         https://bugs.webkit.org/show_bug.cgi?id=170021
883
884         Reviewed by Alexey Proskuryakov.
885
886         * Scripts/run-api-tests:
887         (runTestsBySuite): Appends failures and timeouts to JSON data.
888         (writeJsonDataIfApplicable): Writes JSON data to a file.
889
890 2017-03-24  Lucas Forschler  <lforschler@apple.com>
891
892         update committer_auth.py to be python 2.7 compliant
893         https://bugs.webkit.org/show_bug.cgi?id=170063
894         
895         Reviewed by Alexey Proskuryakov.
896
897         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
898         (CommitterAuth.authenticate):
899             convert e.message to e.args[0]
900
901 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
902
903         webkitpy: Parse JSON results from run-api-tests
904         https://bugs.webkit.org/show_bug.cgi?id=170062
905
906         Reviewed by Alexey Proskuryakov.
907
908         * Scripts/webkitpy/common/net/apitestresults.py: Added.
909         (APITestResults): Structure to represent API test results.
910         (APITestResults.__init__):
911         (APITestResults.intersection): Return the failures common to both sets of results.
912         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
913         (APITestResults.equals): Return True if both results were the same.
914         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
915         (APITestResults.all_passed): Return True if everything passed.
916         (APITestResults.failing_tests): List of tests that didn't pass.
917         (APITestResults.did_exceed_test_failure_limit): Always False.
918         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
919         (APITestResultsTest): Unit tests.
920         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
921         (APITestResultsReader): Read contents of JSON results file.
922
923 2017-03-24  Alex Christensen  <achristensen@webkit.org>
924
925         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
926         https://bugs.webkit.org/show_bug.cgi?id=169167
927
928         Reviewed by Simon Fraser.
929
930         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
931         (TestWebKitAPI::TEST_F):
932         Test an example of a selector that was incorrectly determined to be invalid.
933
934 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
935
936         Increase timeout for booting simulators.
937         <rdar://problem/31080009>
938
939         Unreviewed infrastructure fix.
940
941         * Scripts/webkitpy/xcode/simulator.py:
942         (Simulator.wait_until_device_is_booted): Increase timeout.
943         (Simulator.wait_until_device_is_in_state): Increase timeout.
944
945 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
946
947         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
948
949         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
950         in our unit tests to work.
951
952         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
953         (testWebViewJavaScriptDialogs):
954
955 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
956
957         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
958         https://bugs.webkit.org/show_bug.cgi?id=170001
959
960         Reviewed by Michael Catanzaro.
961
962         Ignore style of xdgmime sources.
963
964         * Scripts/webkitpy/tool/steps/checkstyle.py:
965
966 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
967
968         Dragging on a large image should not revert to a file icon if data interaction is enabled
969         https://bugs.webkit.org/show_bug.cgi?id=170018
970         <rdar://problem/31184508>
971
972         Reviewed by Tim Horton.
973
974         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
975         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
976
977         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
978         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
979         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
980         (TestWebKitAPI::TEST):
981
982 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
983
984         Update WinCairoRequirements.zip
985         https://bugs.webkit.org/show_bug.cgi?id=169950
986
987         Reviewed by Alex Christensen.
988
989         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
990
991 == Rolled over to ChangeLog-2017-03-23 ==