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