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