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