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