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