7cac232b856e1dea449f450b06b956d35b5f354a
[WebKit-https.git] / Tools / ChangeLog
1 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
2
3         Change my status to be a WebKit reviewer.
4
5         Unreviewed status update edit.
6
7         * Scripts/webkitpy/common/config/contributors.json:
8
9 2017-03-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
10
11         Change my status to be a WebKit reviewer.
12
13         Unreviewed status update edit.
14
15         * Scripts/webkitpy/common/config/contributors.json:
16
17 2017-03-29  Tim Horton  <timothy_horton@apple.com>
18
19         Swipe gesture tests don't work on macOS Sierra
20         https://bugs.webkit.org/show_bug.cgi?id=161675
21         <rdar://problem/23379930>
22
23         Reviewed by Darin Adler.
24
25         * DumpRenderTree/mac/UIScriptControllerMac.mm:
26         (WTR::UIScriptController::platformPlayBackEventStream):
27         (WTR::UIScriptController::beginBackSwipe):
28         (WTR::UIScriptController::completeBackSwipe):
29         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
30         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
31         (eventIsOfType):
32         (eventIsOfTypes):
33         (eventIsOfGestureType):
34         (eventIsOfGestureTypes):
35         (+[EventSerializer dictionaryForEvent:relativeToTime:]):
36         (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
37         (+[EventSerializer playEventStream:inWindow:completionHandler:]):
38         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
39         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
40         (beginSwipeBackEventStream):
41         (completeSwipeBackEventStream):
42         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
43         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
44         (WTR::UIScriptController::playBackEventStream):
45         (WTR::UIScriptController::beginBackSwipe):
46         (WTR::UIScriptController::completeBackSwipe):
47         (WTR::UIScriptController::platformPlayBackEventStream):
48         (WTR::UIScriptController::platformClearAllCallbacks): Deleted.
49         * TestRunnerShared/UIScriptContext/UIScriptController.h:
50         * TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
51         * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
52         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
53         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
54         (WTR::playBackEvents):
55         (WTR::UIScriptController::beginBackSwipe):
56         (WTR::UIScriptController::completeBackSwipe):
57         (WTR::UIScriptController::platformPlayBackEventStream):
58
59 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
60
61         webkitpy: Robust test clean-up
62         https://bugs.webkit.org/show_bug.cgi?id=170255
63
64         Reviewed by Alexey Proskuryakov.
65
66         On-device testing is the motivation for this change.  Failure to run clean-up functions can
67         result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
68         test run.  Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
69
70         * Scripts/webkitpy/layout_tests/controllers/manager.py:
71         (Manager._set_up_run): Clean up test run if set-up fails.
72         * Scripts/webkitpy/port/ios.py:
73         (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
74
75 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
76
77         Simulator testing stops after the first crash
78         <rdar://problem/31325362>
79
80         Unreviewed infrastructure fix.
81
82         * Scripts/webkitpy/xcode/simulated_device.py:
83         (SimulatedDevice):
84         (SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
85
86 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
87
88         webkitpy: Standardize web-server port definitions
89         https://bugs.webkit.org/show_bug.cgi?id=170144
90         <rdar://problem/31284026>
91
92         Reviewed by Daniel Bates.
93
94         Default web-server ports should be declared in global variables.
95         Add functions to web-servers which return the ports these servers
96         are using so that other tools can forward them.
97
98         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
99         (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
100         * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
101         (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
102         * Scripts/webkitpy/layout_tests/servers/http_server.py:
103         (Lighttpd.__init__): Use shared constants in http_server_base.py.
104         (Lighttpd._prepare_config): Ditto.
105         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
106         (HttpServerBase): Add default port constants.
107         (HttpServerBase.ports_to_forward): Add function to return ports used for http server.
108         * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
109         (TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
110         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
111          (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
112         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
113         (PyWebSocket): Make default port values public.
114         (PyWebSocket.__init__): Use public default port.
115         (PyWebSocket.ports_to_forward): Return port used in an array.
116         * Scripts/webkitpy/port/base.py:
117         (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
118         (Port.to.start_websocket_server): Use PyWebSocket port constants.
119
120 2017-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>
121
122         Links with empty hrefs should not be drag sources
123         https://bugs.webkit.org/show_bug.cgi?id=170241
124         <rdar://problem/31305505>
125
126         Reviewed by Tim Horton.
127
128         Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
129
130         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
131         (TestWebKitAPI::TEST):
132         * TestWebKitAPI/ios/DataInteractionSimulator.h:
133
134         Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
135
136         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
137         (-[DataInteractionSimulator phase]):
138
139 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
140
141         Use TCP instead of FIFOs for Simulator/Device communication
142         https://bugs.webkit.org/show_bug.cgi?id=169419
143         <rdar://problem/30949615>
144
145         Reviewed by Alexey Proskuryakov.
146
147         Using TCP instead of FIFOs when communicating with devices allows the device being tested
148         to be on a different machine then the one handling the management of the test run.
149
150         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
151         * DumpRenderTree/mac/DumpRenderTree.mm:
152         (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
153         * Scripts/webkitpy/port/device.py:
154         (Device.__init__): Initialize the listening_socket.
155         (Device.listening_port): Return port of listening socket.
156         (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
157         fro testing.
158         (Device.finished_testing): Close listening socket associated with this device, call the
159         platform device's finished_testing function if it exists.
160         * Scripts/webkitpy/port/ios.py:
161         (IOSPort.setup_test_run): Prepare each device for testing.
162         (IOSPort.clean_up_test_run): Notify each device that testing has completed.
163         * Scripts/webkitpy/port/ios_simulator.py:
164         (IOSSimulatorPort): Work around device persistence bug.
165         (IOSSimulatorPort.__init__): Ditto.
166         * Scripts/webkitpy/port/simulator_process.py:
167         (SimulatorProcess):
168         (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
169         Python 2’s makefile.
170         (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
171         (SimulatorProcess.ReadFileSocket.close): Close file and then socket;
172         (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
173         (SimulatorProcess.__getattr__): Expose all file attributes.
174         (SimulatorProcess._accept_connection_create_file): Wait for connection from server and
175         create and return a file-like object from the incoming connection.
176         (SimulatorProcess._start): Use TCP connections instead of FIFOs.
177         (SimulatorProcess._start.handler): Output server port in timeout exception.
178         (SimulatorProcess._reset): Deleted.
179         * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
180         (connectToServer): Return socket connected to the provided server address.
181         (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
182         TCP server running on localhost.
183         (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
184         * TestRunnerShared/IOSLayoutTestCommunication.h: Added.
185         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
186         * WebKitTestRunner/ios/TestControllerIOS.mm:
187         (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
188         instead of using FIFOs.
189         (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
190
191 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
192
193         webkitpy: Add IOSDevicePort and IOSPort tests
194         https://bugs.webkit.org/show_bug.cgi?id=170206
195         <rdar://problem/31308364>
196
197         Reviewed by Alexey Proskuryakov.
198
199         * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
200         * Scripts/webkitpy/port/ios_device_unittest.py: Added.
201         (iosDeviceTest): Contains tests for the IOSDevicePort.
202         (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
203         (iosDeviceTest.test_operating_system): Check for the correct operating system.
204         * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
205         (iosSimulatorTest): Inherit from ios_testcase.
206         (iosSimulatorTest.make_port): Ditto.
207         (iosSimulatorTest.test_get_crash_log): Ditto.
208         * Scripts/webkitpy/port/ios_testcase.py: Added.
209         (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
210         (iOSTest.test_driver_name): Tests for iOS app driver.
211         (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
212         * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
213         * Scripts/webkitpy/port/port_testcase.py:
214         (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
215         (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
216         (PortTestCase.test_diff_image_crashed): Ditto.
217
218 2017-03-28  Jason Marcell  <jmarcell@apple.com>
219
220         Fix `index-expected.txt` for dashboard test results.
221         https://bugs.webkit.org/show_bug.cgi?id=170214
222
223         Reviewed by Alexey Proskuryakov.
224
225         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
226
227 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
228
229         Bot watcher's dashboard has separate settings for "mac" and "macos"
230         https://bugs.webkit.org/show_bug.cgi?id=170164
231
232         Reviewed by Tim Horton.
233
234         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
235         (Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
236
237 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
238
239         Fix dashboard test results on the dashboard
240         https://bugs.webkit.org/show_bug.cgi?id=170158
241
242         Reviewed by Tim Horton.
243
244         Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
245         further improved, as it's not super readable, but stdio is entirely useless in this context.
246
247         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
248         (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
249
250         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
251         Fixed a typo in step name, so that it's actually treated as productive.
252
253         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
254         (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
255         (BuildbotTesterQueueView.prototype.update):
256         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
257         Added special handling for dashboard test results.
258
259 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
260
261         Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
262         https://bugs.webkit.org/show_bug.cgi?id=170193
263
264         Reviewed by Alexey Proskuryakov.
265
266         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
267         Fixed the order of arguments.
268
269 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
270
271         Dashboard tests fails to fetch the revision from commits
272         https://bugs.webkit.org/show_bug.cgi?id=170191
273
274         Reviewed by Alexey Proskuryakov.
275
276         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
277         Added recordedCommitIndicesByRevisionNumber.
278         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
279         (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
280
281 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
282
283         Safari crashes when attempting to close tab that is displaying PDF
284         https://bugs.webkit.org/show_bug.cgi?id=170201
285         <rdar://problem/31242019>
286
287         Reviewed by Wenson Hsieh.
288
289         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
290         (TEST):
291         Add a test for doAfterNextStablePresentationUpdate just like the existing
292         non-stable one.
293
294 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
295
296         webkitpy: Use host pattern for devices
297         https://bugs.webkit.org/show_bug.cgi?id=170121
298
299         Reviewed by Daniel Bates.
300
301         Devices should be treated like hosts throughout webkitpy
302         so that more code can be re-used.  Add the needed properties
303         and use executive over custom implemented polling/killing
304         functions.
305
306         * Scripts/webkitpy/port/device.py:
307         (Device):
308         (Device.executive): Add optional executive property.
309         (Device.filesystem): Add optional filesystem property.
310         (Device.user): Add optional user property.
311         (Device.platform): Add optional platform property.
312         (Device.workspace): Add optional workspace property.
313         (Device.poll): Deleted.
314         * Scripts/webkitpy/port/simulator_process.py:
315         (SimulatorProcess.Popen.poll): Use the devices executive.
316         (SimulatorProcess.stop): Ditto.
317         (SimulatorProcess._kill): Ditto.
318         * Scripts/webkitpy/xcode/simulated_device.py:
319         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
320         and workspace to the platform device.
321         (SimulatedDevice.poll): Deleted.
322
323 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
324
325         Dashboard test fails with error: latestIterationGetter is not a function
326         https://bugs.webkit.org/show_bug.cgi?id=170167
327
328         Reviewed by Alexey Proskuryakov.
329
330         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
331         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
332
333 2017-03-27  Lucas Forschler  <lforschler@apple.com>
334
335         Another test v8.
336
337 2017-03-27  Lucas Forschler  <lforschler@apple.com>
338
339         Another test v7.
340
341 2017-03-27  Lucas Forschler  <lforschler@apple.com>
342
343         Another test v6.
344
345 2017-03-27  Lucas Forschler  <lforschler@apple.com>
346
347         Another test v5.
348
349 2017-03-27  Lucas Forschler  <lforschler@apple.com>
350
351         Another test v4.
352
353 2017-03-27  Lucas Forschler  <lforschler@apple.com>
354
355         Another test v3.
356
357 2017-03-27  Lucas Forschler  <lforschler@apple.com>
358
359         Another test v2.
360
361 2017-03-27  Lucas Forschler  <lforschler@apple.com>
362
363         Another test.
364
365 2017-03-27  Lucas Forschler  <lforschler@apple.com>
366
367         <rdar://problem/30949128>
368         Update build.webkit.org to use port 16000 for PBChangeSource.
369         
370         Reviewed by Alexey Proskuryakov.
371
372         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
373
374 2017-03-27  Jason Marcell  <jmarcell@apple.com>
375
376         Bots should run the dashboard tests
377         https://bugs.webkit.org/show_bug.cgi?id=168994
378
379         Reviewed by Daniel Bates and David Kilzer.
380
381         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
382
383         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
384         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
385         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
386         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
387         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
388         (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.
389         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
390         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
391         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
392
393 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
394
395         webkitpy: Look for 'ios' test expectations for IOSPorts
396         https://bugs.webkit.org/show_bug.cgi?id=169413
397
398         Reviewed by Alexey Proskuryakov.
399
400         Test expectations for iOS tests should include the 'ios' folder.  Modify
401         default_baseline_search_path to include 'ios' folder and derivatives for
402         IOSPort.
403
404         * Scripts/webkitpy/port/ios.py:
405         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
406         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
407         (IOSPort.test_expectations_file_position): Added for testing.
408         * Scripts/webkitpy/port/ios_simulator.py:
409         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
410         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
411
412 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
413
414         REGRESSION: Reseting _device_map on each child process
415         <rdar://problem/31274476>
416
417         Unreviewed infrastructure fix.
418
419         * Scripts/webkitpy/port/ios_simulator.py:
420         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
421         (IOSSimulatorPort.__init__): Use shared class variable
422         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
423         (IOSSimulatorPort._create_devices): Ditto.
424         (IOSSimulatorPort._quit_ios_simulator): Ditto.
425         (IOSSimulatorPort.clean_up_test_run): Ditto.
426
427 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
428
429         REGRESSION: Failing to iterate over Simulator.managed_devices map
430         <rdar://problem/31274476>
431
432         Unreviewed infrastructure fix.
433
434         * Scripts/webkitpy/port/ios_simulator.py:
435         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
436
437 2017-03-27  Alex Christensen  <achristensen@webkit.org>
438
439         Make WebSockets work in network process
440         https://bugs.webkit.org/show_bug.cgi?id=169930
441
442         Reviewed by Youenn Fablet.
443
444         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
445         Add terminateNetworkProcess for the new test
446         http/tests/websocket/tests/hybi/network-process-crash-error.html
447         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
448         (WTR::TestRunner::setAllowsAnySSLCertificate):
449         (WTR::TestRunner::terminateNetworkProcess):
450         * WebKitTestRunner/InjectedBundle/TestRunner.h:
451         * WebKitTestRunner/TestController.cpp:
452         (WTR::TestController::setAllowsAnySSLCertificate):
453         (WTR::TestController::terminateNetworkProcess):
454         * WebKitTestRunner/TestController.h:
455         * WebKitTestRunner/TestInvocation.cpp:
456         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
457         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
458         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
459         (WTR::TestController::platformContext):
460         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
461         (WTR::TestController::platformContext):
462         (WTR::TestController::platformLibraryPathForTesting):
463         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
464         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
465         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
466         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
467         which tests that wss works, but our test certificate has an invalid certificate chain.
468         We want production software to not have the ability to have its security weakened, so this
469         is a test code path that is only implemented in WebKitTestRunner.
470
471 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
472
473         webkitpy: Use generalized device instead of platform specific one
474         https://bugs.webkit.org/show_bug.cgi?id=170078
475
476         Reviewed by Daniel Bates.
477
478         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
479         should remain persistent.  Changing Device to a more explicit interface.
480         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
481         wrapping SimulatedDevices.
482
483         * Scripts/webkitpy/port/device.py: Added.
484         (Device):
485         (Device.__init__): Construct with platform device.
486         (Device.install_app): Install app at app path on platform device.
487         (Device.launch_app): Launch app with bundle ID on platform device.
488         (Device.poll): Poll platform device.
489         (Device.udid): Access platform device UDID.
490         (Device.__nonzero__): Check if instantiated with a valid platform device.
491         (Device.__eq__): Compare by udid.
492         (Device.__ne__): Ditto.
493         (Device.__repr__): Print out platform_device representation.
494         * Scripts/webkitpy/port/ios_simulator.py:
495         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
496         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
497         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
498         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
499         device map.
500         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
501         * Scripts/webkitpy/xcode/device.py: Removed.
502         * Scripts/webkitpy/xcode/simulated_device.py:
503         (SimulatedDevice):
504         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
505         (SimulatedDevice.__eq__): Compare two simulated devices.
506         (SimulatedDevice.__ne__): Ditto.
507         (SimulatedDevice.__repr__): Print name and udid.
508
509 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
510
511         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
512         https://bugs.webkit.org/show_bug.cgi?id=170059
513
514         Reviewed by Carlos Garcia Campos.
515
516         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
517         the only use of the method in this same file ignores the returned value anyway.
518
519 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
520
521         webkitpy should be able to run API tests
522         https://bugs.webkit.org/show_bug.cgi?id=170028
523
524         Reviewed by Alexey Proskuryakov.
525
526         * Scripts/webkitpy/common/config/ports.py:
527         (DeprecatedPort.run_api_tests_command): Added.
528         * Scripts/webkitpy/port/base.py:
529         (Port.api_results_directory): Added.
530         * Scripts/webkitpy/tool/steps/runtests.py:
531         (RunTests.run): Check if we should be running API tests.
532         (RunTests._run_api_tests): Generate script to run API tests with json output.
533         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
534
535 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
536
537         Add JSON results for API tests
538         https://bugs.webkit.org/show_bug.cgi?id=170021
539
540         Reviewed by Alexey Proskuryakov.
541
542         * Scripts/run-api-tests:
543         (runTestsBySuite): Appends failures and timeouts to JSON data.
544         (writeJsonDataIfApplicable): Writes JSON data to a file.
545
546 2017-03-24  Lucas Forschler  <lforschler@apple.com>
547
548         update committer_auth.py to be python 2.7 compliant
549         https://bugs.webkit.org/show_bug.cgi?id=170063
550         
551         Reviewed by Alexey Proskuryakov.
552
553         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
554         (CommitterAuth.authenticate):
555             convert e.message to e.args[0]
556
557 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
558
559         webkitpy: Parse JSON results from run-api-tests
560         https://bugs.webkit.org/show_bug.cgi?id=170062
561
562         Reviewed by Alexey Proskuryakov.
563
564         * Scripts/webkitpy/common/net/apitestresults.py: Added.
565         (APITestResults): Structure to represent API test results.
566         (APITestResults.__init__):
567         (APITestResults.intersection): Return the failures common to both sets of results.
568         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
569         (APITestResults.equals): Return True if both results were the same.
570         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
571         (APITestResults.all_passed): Return True if everything passed.
572         (APITestResults.failing_tests): List of tests that didn't pass.
573         (APITestResults.did_exceed_test_failure_limit): Always False.
574         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
575         (APITestResultsTest): Unit tests.
576         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
577         (APITestResultsReader): Read contents of JSON results file.
578
579 2017-03-24  Alex Christensen  <achristensen@webkit.org>
580
581         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
582         https://bugs.webkit.org/show_bug.cgi?id=169167
583
584         Reviewed by Simon Fraser.
585
586         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
587         (TestWebKitAPI::TEST_F):
588         Test an example of a selector that was incorrectly determined to be invalid.
589
590 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
591
592         Increase timeout for booting simulators.
593         <rdar://problem/31080009>
594
595         Unreviewed infrastructure fix.
596
597         * Scripts/webkitpy/xcode/simulator.py:
598         (Simulator.wait_until_device_is_booted): Increase timeout.
599         (Simulator.wait_until_device_is_in_state): Increase timeout.
600
601 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
602
603         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
604
605         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
606         in our unit tests to work.
607
608         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
609         (testWebViewJavaScriptDialogs):
610
611 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
612
613         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
614         https://bugs.webkit.org/show_bug.cgi?id=170001
615
616         Reviewed by Michael Catanzaro.
617
618         Ignore style of xdgmime sources.
619
620         * Scripts/webkitpy/tool/steps/checkstyle.py:
621
622 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
623
624         Dragging on a large image should not revert to a file icon if data interaction is enabled
625         https://bugs.webkit.org/show_bug.cgi?id=170018
626         <rdar://problem/31184508>
627
628         Reviewed by Tim Horton.
629
630         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
631         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
632
633         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
634         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
635         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
636         (TestWebKitAPI::TEST):
637
638 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
639
640         Update WinCairoRequirements.zip
641         https://bugs.webkit.org/show_bug.cgi?id=169950
642
643         Reviewed by Alex Christensen.
644
645         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
646
647 == Rolled over to ChangeLog-2017-03-23 ==