7dafe8f7ac68685c84af9332de31e046c83a10ea
[WebKit-https.git] / Tools / ChangeLog
1 2017-05-01  David Kilzer  <ddkilzer@apple.com>
2
3         REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
4
5         Unreviewed.
6
7         Follow-up fix for:
8         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
9         https://bugs.webkit.org/show_bug.cgi?id=171486
10
11         * Scripts/webkitpy/style/checkers/cpp.py:
12         (check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to
13         match and capture the function name.  The latter also mistakenly
14         matches C-preprocessor directives.
15         (CppChecker.categories): Add 'runtime/soft-linked-alloc', which
16         is a requirement for the CppChecker class.
17
18 2017-05-01  Carlos Garcia Campos  <cgarcia@igalia.com>
19
20         [GTK] Add automation session API
21         https://bugs.webkit.org/show_bug.cgi?id=171428
22
23         Reviewed by Carlos Alberto Lopez Perez.
24
25         Add an automation mode to MiniBrowser using the new API and add a unit test too.
26
27         * MiniBrowser/gtk/BrowserWindow.c:
28         (webViewTitleChanged):
29         (webViewDecidePolicy):
30         (newTabCallback):
31         (openPrivateWindow):
32         (browserWindowFinalize):
33         (browser_window_init):
34         (browser_window_get_or_create_web_view_for_automation):
35         * MiniBrowser/gtk/BrowserWindow.h:
36         * MiniBrowser/gtk/main.c:
37         (createBrowserTab):
38         (createWebViewForAutomationCallback):
39         (automationStartedCallback):
40         (main):
41         * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
42         * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added.
43         (testAutomationSessionRequestSession):
44         (beforeAll):
45         (afterAll):
46
47 2017-04-30  Dan Bernstein  <mitz@apple.com>
48
49         [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
50         https://bugs.webkit.org/show_bug.cgi?id=171486
51
52         Reviewed by Sam Weinig.
53
54         * Scripts/webkitpy/style/checkers/cpp.py:
55         (check_soft_link_class_alloc): Added. Looks for [get…Class() alloc] and suggests
56           alloc…Instance() instead.
57         (check_style): Invoke new check.
58
59 2017-04-30  Brady Eidson  <beidson@apple.com>
60
61         More fixing after r215991
62         https://bugs.webkit.org/show_bug.cgi?id=171483
63
64         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
65         (TEST):
66
67 2017-04-30  Brady Eidson  <beidson@apple.com>
68
69         Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI.
70         <rdar://problem/31906397> and https://bugs.webkit.org/show_bug.cgi?id=171483
71
72         Reviewed by Geoff Garen (and kind of Andy Estes).
73
74         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
75         (TEST):
76
77 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
78
79         [ATK] Implement support for aria-autocomplete
80         https://bugs.webkit.org/show_bug.cgi?id=171167
81
82         Reviewed by Chris Fleizach.
83
84         Add "AXSupportsAutoCompletion" attribute so the presence of
85         ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.
86
87         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
88         (WTR::AccessibilityUIElement::boolAttributeValue):
89
90 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
91
92         [ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE
93         https://bugs.webkit.org/show_bug.cgi?id=171170
94
95         Reviewed by Chris Fleizach.
96
97         Add "AXInterfaceTable" attribute to test which elements implement AtkTable.
98
99         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
100         (WTR::AccessibilityUIElement::boolAttributeValue):
101
102 2017-04-30  Joanmarie Diggs  <jdiggs@igalia.com>
103
104         [ATK] Emit object:state-changed:busy event when aria-busy value changes
105         https://bugs.webkit.org/show_bug.cgi?id=171181
106
107         Reviewed by Chris Fleizach.
108
109         Add handler for AXElementBusyChanged notifications.
110
111         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
112
113 2017-04-29  Aakash Jain  <aakash_jain@apple.com>
114
115         Use PEP8 style guide for raising exceptions in webkitpy.
116         https://bugs.webkit.org/show_bug.cgi?id=171439
117
118         Reviewed by Daniel Bates.
119
120         As per https://www.python.org/dev/peps/pep-0008/
121         "When raising an exception in Python 2, use raise ValueError('message') 
122         instead of the older form raise ValueError, 'message'"
123
124         * Scripts/webkitpy/common/net/irc/ircbot.py: Using new style for raising exceptions.
125         * Scripts/webkitpy/common/thread/messagepump.py: Same.
126         * Scripts/webkitpy/tool/bot/queueengine.py: Same.
127         * Scripts/webkitpy/tool/commands/queues.py: Same.
128         * Scripts/webkitpy/tool/commands/stepsequence.py: Same.
129         * Scripts/webkitpy/tool/multicommandtool.py: Same.
130         * Scripts/webkitpy/tool/steps/abstractstep.py: Same.
131
132 2017-04-28  Simon Fraser  <simon.fraser@apple.com>
133
134         Add system trace points for Document::updateTouchEventRegions()
135         https://bugs.webkit.org/show_bug.cgi?id=171470
136         rdar://problem/31901239
137
138         Reviewed by Tim Horton.
139
140         Add trace markers for updateTouchEventRegions.
141
142         * Tracing/SystemTracePoints.plist:
143
144 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
145
146         webkitpy: Add apple_additions to webkitpy to insert Internal tools
147         https://bugs.webkit.org/show_bug.cgi?id=170461
148         <rdar://problem/31433077>
149
150         Reviewed by Daniel Bates.
151
152         Allow a package to be pulled in by run-webkit-tests which provides an interface to
153         run layout tests on an iOS device.  If this package is not available, throw an
154         exception when attempting to run layout tests on an iOS device.
155
156         * Scripts/webkitpy/port/config.py:
157         (apple_additions): Import apple_additions package.
158         * Scripts/webkitpy/port/device.py:
159         (Device.install_dylibs): Pass a directory with all the frameworks and dylibs to be
160         installed on a device.
161         (Device.prepare_for_testing): Pass a list of ports to forward from the device to the
162         host, the bundle id of the app to be used for testing and a path to the layout test
163         directory to be mounted on the device.
164         (Device.finished_testing):
165         * Scripts/webkitpy/port/factory.py:
166         (platform_options): Add apple_additions platform options if apple_additions exists.
167         * Scripts/webkitpy/port/ios.py:
168         (IOSPort.setup_test_run): Install dylibs and frameworks on the device, pass ports
169         to forward, the bundle ID of the testing app and the layout tests directory to
170         each device.
171         * Scripts/webkitpy/port/ios_device.py:
172         (IOSDevicePort):
173         (IOSDevicePort.default_child_processes): Query apple_additions for the number of child
174         processes to be run.
175         (IOSDevicePort.using_multiple_devices): Always assume multiple devices are used. When
176         a single device is used, it is still accessed through an array.
177         (IOSDevicePort._device_for_worker_number_map): Query apple_additions for the device
178         for worker number map.
179         (IOSDevicePort._driver_class): Query apple_additions for the test driver.
180         (IOSDevicePort.determine_full_port_name): Use class variable over hard-coded string.
181         (IOSDevicePort.check_for_leaks): No implementation for iOSDevicePort.
182         (IOSDevicePort.look_for_new_crash_logs): Ditto.
183         (IOSDevicePort.look_for_new_samples): Ditto.
184         (IOSDevicePort.sample_process): Ditto.
185         (IOSDevicePort._build_driver_flags): Use class variable over hard-coded string.
186         (IOSDevicePort._create_devices): Check that devices are available for testing and check
187         that we have enough devices for each child process.
188         (IOSDevicePort.clean_up_test_run): Have apple_additions preform any needed clean up.
189         * Scripts/webkitpy/port/ios_device_unittest.py:
190         (IOSDeviceTest.test_operating_system):
191         (IOSDeviceTest.test_spindump): Override method from DarwinTest.
192         (IOSDeviceTest.test_sample_process): Ditto.
193         (IOSDeviceTest.test_sample_process_exception): Ditto.
194
195 2017-04-28  Wenson Hsieh  <wenson_hsieh@apple.com>
196
197         Fix and re-enable data interaction unit tests
198         https://bugs.webkit.org/show_bug.cgi?id=171446
199         <rdar://problem/31820646>
200
201         Reviewed by Tim Horton.
202
203         Enables all DataInteractionTests, and adjusts file upload tests to no longer write to a temporary file before
204         registering with the UIItemProvider, and instead just register data directly via
205         -registerDataRepresentationForTypeIdentifier:visibility:loadHandler:.
206
207         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
208         (TestWebKitAPI::TEST):
209         (temporaryURLForDataInteractionFileLoad): Deleted.
210         (cleanUpDataInteractionTemporaryPath): Deleted.
211         (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): Deleted.
212         * TestWebKitAPI/ios/DataInteractionSimulator.h:
213         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
214
215 2017-04-28  Brady Eidson  <beidson@apple.com>
216
217         Teach the DatabaseProcess to be fully SessionID aware
218         https://bugs.webkit.org/show_bug.cgi?id=171451
219
220         Reviewed by Geoffrey Garen.
221
222         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
223
224 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
225
226         Unreviewed follow-up to r214705.
227
228         shut.copytree will fail if given a file as an argument instead of a directory.
229
230         * Scripts/webkitpy/common/system/filesystem.py:
231         (FileSystem.copy_to_base_host): Use copytree when source is a directory and copyfile
232         when source is a file.
233         (FileSystem.copy_from_base_host): Ditto.
234
235 2017-04-28  Chris Dumez  <cdumez@apple.com>
236
237         Update DOMTokenList.replace() to match the latest DOM specification
238         https://bugs.webkit.org/show_bug.cgi?id=171388
239
240         Reviewed by Alex Christensen.
241
242         Add API test coverage for new Vector API.
243
244         * TestWebKitAPI/Tests/WTF/Vector.cpp:
245         (TestWebKitAPI::TEST):
246
247 2017-04-28  Jonathan Bedard  <jbedard@apple.com>
248
249         WebKitTestRunner/DumpRenderTree prevent device from sleeping
250         https://bugs.webkit.org/show_bug.cgi?id=170731
251
252         Reviewed by Alex Christensen.
253
254         While running layout tests on a device, the device should not be put asleep.
255
256         * DumpRenderTree/mac/DumpRenderTree.mm:
257         (dumpRenderTree): Disable idle timer.
258         * WebKitTestRunner/ios/TestControllerIOS.mm:
259         (WTR::TestController::platformInitialize): Ditto.
260
261 2017-04-28  Brady Eidson  <beidson@apple.com>
262
263         Start of support for multiple WebsiteDataStore/SessionIDs per process
264         https://bugs.webkit.org/show_bug.cgi?id=171422
265
266         Reviewed by Geoffrey Garen.
267
268         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
269         (TEST):
270
271 2017-04-28  Youenn Fablet  <youenn@apple.com>
272
273         Adding a runtime flag specific to MediaDevices
274         https://bugs.webkit.org/show_bug.cgi?id=171433
275
276         Reviewed by Geoffrey Garen.
277
278         Updating WTR and DRT as peer connection and media stream runtime flags are enabled by default.
279         Setting media devices runtime flag to true for WTR and DRT.
280
281         * DumpRenderTree/mac/DumpRenderTree.mm:
282         (enableExperimentalFeatures):
283         (resetWebPreferencesToConsistentValues):
284         * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp:
285         (TestWebKitAPI::TEST):
286         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
287         (TestWebKitAPI::TEST):
288         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
289         (WTR::InjectedBundle::beginTesting):
290         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
291         (WTR::TestRunner::setMediaDevicesEnabled):
292         (WTR::TestRunner::setMediaStreamEnabled): Deleted.
293         (WTR::TestRunner::setPeerConnectionEnabled): Deleted.
294         * WebKitTestRunner/InjectedBundle/TestRunner.h:
295         * WebKitTestRunner/TestController.cpp:
296         (WTR::TestController::resetPreferencesToConsistentValues):
297
298 2017-04-28  Dean Jackson  <dino@apple.com>
299
300         [WebGPU] Label MTLCommandQueues with a prefix for internal telemetry
301         https://bugs.webkit.org/show_bug.cgi?id=171441
302         <rdar://problem/31826915>
303
304         Reviewed by Tim Horton.
305
306         Add an API test for GPUCommandQueue, exercising creation
307         and setting the label.
308
309         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
310         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Added.
311         (TestWebKitAPI::TEST_F):
312
313 2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>
314
315         [ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL
316         https://bugs.webkit.org/show_bug.cgi?id=171188
317
318         Reviewed by Chris Fleizach.
319
320         Add "AXModal" attribute string so that we can test the state's exposure.
321
322         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
323         (WTR::AccessibilityUIElement::boolAttributeValue):
324
325 2017-04-28  Joanmarie Diggs  <jdiggs@igalia.com>
326
327         [ATK] GridCellRole should implement AtkTableCell (regression?)
328         https://bugs.webkit.org/show_bug.cgi?id=171179
329
330         Reviewed by Chris Fleizach.
331
332         Add new "AXInterfaceTableCell" attribute so that we can test whether or
333         not there is an implementation of AtkTableCell (i.e. without risking false
334         negatives from bugs in the interface's implementation).
335
336         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
337         (WTR::AccessibilityUIElement::boolAttributeValue):
338
339 2017-04-27  Carlos Garcia Campos  <cgarcia@igalia.com>
340
341         Move UUID from WebCore/platform to WTF
342         https://bugs.webkit.org/show_bug.cgi?id=171372
343
344         Reviewed by Michael Catanzaro.
345
346         * WebKitTestRunner/TestController.cpp:
347
348 2017-04-27  Alex Christensen  <achristensen@webkit.org>
349
350         Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration
351         https://bugs.webkit.org/show_bug.cgi?id=171399
352
353         Reviewed by Brady Eidson.
354
355         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html:
356         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
357         (TEST):
358
359 2017-04-27  Ryan Haddad  <ryanhaddad@apple.com>
360
361         Disable flaky API test WKWebView.SetOverrideContentSecurityPolicyWithEmptyStringForPageWithCSP.
362         https://bugs.webkit.org/show_bug.cgi?id=167914
363
364         Unreviewed test gardening.
365
366         * TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm:
367         (TEST):
368
369 2017-04-26  Saam Barati  <sbarati@apple.com>
370
371         Add some more testing modes for Wasm tests now that we have tier up
372         https://bugs.webkit.org/show_bug.cgi?id=171360
373
374         Reviewed by Keith Miller.
375
376         Lets enable the FTL on all Wasm tests. Let's also run each
377         test with and without CJIT.
378
379         * Scripts/run-jsc-stress-tests:
380
381 2017-04-26  Aakash Jain  <aakash_jain@apple.com>
382
383         JSC EWS Patch Relevance skips few JSC scripts
384         https://bugs.webkit.org/show_bug.cgi?id=171351
385
386         Reviewed by Alexey Proskuryakov.
387
388         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
389         (CheckPatchRelevance): Added few jsc related scripts.
390
391 2017-04-26  Youenn Fablet  <youenn@apple.com>
392
393         Test importer should delete obsolete files based on w3c-import.log
394         https://bugs.webkit.org/show_bug.cgi?id=171348
395
396         Reviewed by Chris Dumez.
397
398         * Scripts/webkitpy/w3c/test_importer.py:
399         (TestImporter.do_import): Removing dangling -expected.txt files in regular import mode.
400         (TestImporter.remove_deleted_files): Fixing according w3c-import.log current format.
401         * Scripts/webkitpy/w3c/test_importer_unittest.py:
402         (test_remove_obsolete_content):
403
404 2017-04-26  Jonathan Bedard  <jbedard@apple.com>
405
406         REGRESSION (r213926): We're sometimes trying to start WebKitTestRunner without proper DYLD variables
407         <rdar://problem/31816459>
408
409         Unreviewed infrastructure fix.
410
411         Some of our iOS Simulator bots are slow and will register crashes due to an incorrect
412         DYLD_FRAMEWORK_PATH when installing an app.
413
414         * Scripts/webkitpy/port/ios.py:
415         (IOSPort.setup_test_run): Pass DYLD_FRAMEWORK_PATH to app on install.
416
417 2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>
418
419         [ATK] Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE
420         https://bugs.webkit.org/show_bug.cgi?id=171163
421
422         Reviewed by Chris Fleizach.
423
424         Add support for state-change notifications for ATK_STATE_ACTIVE.
425
426         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
427
428 2017-04-26  Jonathan Bedard  <jbedard@apple.com>
429
430         webkitpy: Teardown iOS Simulators on exit if managed Simulators are still running
431         https://bugs.webkit.org/show_bug.cgi?id=171293
432
433         Reviewed by Aakash Jain.
434
435         We should make an effort to teardown simulators which we booted even when an exception is
436         thrown while booting. Make some IOSSimulatorPort functions into static methods and register
437         one of these functions to be run at exit to ensure any devices webkitpy is managing gets
438         torn down.
439
440         * Scripts/webkitpy/layout_tests/controllers/manager.py:
441         (Manager._set_up_run): Rely on exit handlers to teardown, not exceptions.
442         * Scripts/webkitpy/port/ios_simulator.py:
443         (IOSSimulatorPort._teardown_managed_simulators): Function run on exit which will kill all
444         iOS simulators and teardown and managed devices.
445         (IOSSimulatorPort._create_simulators): Register teardown function.
446         (IOSSimulatorPort.clean_up_test_run): Move device teardown to _teardown_managed_simulators.
447         (IOSSimulatorPort._remove_device): Deleted.
448
449 2017-04-26  Joanmarie Diggs  <jdiggs@igalia.com>
450
451         [ATK] Implement support for new ARIA 1.1 values of aria-haspopup
452         https://bugs.webkit.org/show_bug.cgi?id=171164
453
454         Reviewed by Chris Fleizach.
455
456         hasPopup() should return whether or not ATK_STATE_HAS_POPUP is in the
457         AtkStateSet; not what is found in the AtkObject's attributes.
458
459         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
460         (WTR::AccessibilityUIElement::hasPopup):
461
462 2017-04-25  Alex Christensen  <achristensen@webkit.org>
463
464         Encoded filename should be decoded for WKContentExtension.identifier
465         https://bugs.webkit.org/show_bug.cgi?id=171316
466
467         Reviewed by Andy Estes.
468
469         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
470         * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm.
471         (TEST_F):
472         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Removed.
473
474 2017-04-25  Alex Christensen  <achristensen@webkit.org>
475
476         REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set
477         https://bugs.webkit.org/show_bug.cgi?id=171297
478         <rdar://problem/31530719>
479
480         Reviewed by Geoffrey Garen.
481
482         * TestWebKitAPI/PlatformWebView.h:
483         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
484         * TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Added.
485         (TestWebKitAPI::didFinishLoadForFrame):
486         (TestWebKitAPI::mouseDidMoveOverElement):
487         (TestWebKitAPI::setClients):
488         (TestWebKitAPI::TEST):
489         * TestWebKitAPI/mac/PlatformWebViewMac.mm:
490         (TestWebKitAPI::PlatformWebView::simulateRightClick):
491         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
492
493 2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
494
495         Unreviewed, temporarily disable the data interaction unit tests.
496
497         The API around data interaction will change significantly in the near future, and
498         these tests will begin to fail. These will be reenabled once the bots are on an SDK
499         that supports the updated data interaction API.
500
501         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
502         * TestWebKitAPI/ios/DataInteractionSimulator.h:
503         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
504
505 2017-04-25  Brent Fulgham  <bfulgham@apple.com>
506
507         Limit allowed size of document.title to avoid locking WebKit clients
508         https://bugs.webkit.org/show_bug.cgi?id=165113
509         <rdar://problem/28324389>
510
511         Reviewed by Darin Adler.
512
513         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
514         * TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Added.
515         * TestWebKitAPI/Tests/WebKit2/set-long-title.html: Added.
516         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm: Added.
517
518 2017-04-25  John Wilander  <wilander@apple.com>
519
520         Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting
521         https://bugs.webkit.org/show_bug.cgi?id=171295
522         <rdar://problem/31823818>
523
524         Reviewed by Brent Fulgham.
525
526         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
527         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
528         (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree):
529         (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler):
530         (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
531         * WebKitTestRunner/InjectedBundle/TestRunner.h:
532         * WebKitTestRunner/TestController.cpp:
533         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
534         (WTR::TestController::statisticsFireShouldPartitionCookiesHandler):
535         (WTR::TestController::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
536         * WebKitTestRunner/TestController.h:
537         * WebKitTestRunner/TestInvocation.cpp:
538         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
539
540 2017-04-25  Tim Horton  <timothy_horton@apple.com>
541
542         Try to fix the WKTR build after r215758
543
544         * Scripts/build-webkittestrunner:
545
546 2017-04-25  Daniel Bates  <dabates@apple.com>
547
548         Remove more EFL code
549         https://bugs.webkit.org/show_bug.cgi?id=171288
550
551         Rubber-stamped by Simon Fraser.
552
553         The EFL port is no longer in the WebKit OpenSource Project repository. Remove more code
554         that was part of the EFL port.
555
556         * CMakeLists.txt:
557         * DumpRenderTree/AccessibilityController.h:
558         * DumpRenderTree/AccessibilityUIElement.cpp:
559         (AccessibilityUIElement::getJSClass):
560         * DumpRenderTree/AccessibilityUIElement.h:
561         * DumpRenderTree/DumpRenderTree.h:
562         * DumpRenderTree/cairo/PixelDumpSupportCairo.h:
563         * ImageDiff/efl/ImageDiff.cpp: Removed.
564         * MiniBrowser/efl/CMakeLists.txt: Removed.
565         * MiniBrowser/efl/main.c: Removed.
566         * Scripts/build-dumprendertree:
567         * Scripts/build-jsc:
568         * Scripts/build-webkit:
569         * Scripts/build-webkittestrunner:
570         * Scripts/run-minibrowser:
571         * Scripts/update-webkit-libs-jhbuild:
572         * Scripts/update-webkitefl-libs: Removed.
573         * Scripts/webkitdirs.pm:
574         (argumentsForConfiguration):
575         (extractNonMacOSHostConfiguration):
576         (executableProductDir):
577         (builtDylibPathForName):
578         (determinePortName):
579         (launcherPath):
580         (launcherName):
581         (getJhbuildPath):
582         (wrapperPrefixIfNeeded):
583         (generateBuildSystemFromCMakeProject):
584         (buildCMakeProjectOrExit):
585         (isEfl): Deleted.
586         * Scripts/webkitperl/FeatureList.pm:
587         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl:
588         * Scripts/webkitpy/common/config/ports.py:
589         (DeprecatedPort.port):
590         (GtkWK2Port.run_webkit_tests_command):
591         (EflWK2Port): Deleted.
592         (EflWK2Port.build_webkit_command): Deleted.
593         * Scripts/webkitpy/port/builders.py:
594         * Scripts/webkitpy/port/efl.py: Removed.
595         * Scripts/webkitpy/port/efl_unittest.py: Removed.
596         * Scripts/webkitpy/port/factory.py:
597         (platform_options):
598         (PortFactory):
599         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
600         (TestExpectationsTestCase.test_determine_port_from_expectations_path):
601         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
602         (TestRebaselineTest.test_baseline_directory):
603         (TestRebaselineExpectations.test_rebaseline_expectations):
604         * TestWebKitAPI/PlatformEfl.cmake: Removed.
605         * TestWebKitAPI/PlatformWebView.h:
606         * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
607         (TestWebKitAPI::TEST):
608         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed.
609         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed.
610         * TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed.
611         * TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed.
612         * TestWebKitAPI/efl/InjectedBundleController.cpp: Removed.
613         * TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
614         * TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
615         * TestWebKitAPI/efl/main.cpp: Removed.
616         * WebKitTestRunner/EventSenderProxy.h:
617         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
618         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
619         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
620         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
621         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
622         (WTR::EventSendingController::contextClick):
623         * WebKitTestRunner/InjectedBundle/TestRunner.h:
624         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
625         (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
626         (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
627         * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed.
628         * WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed.
629         * WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed.
630         * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
631         * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed.
632         * WebKitTestRunner/PlatformEfl.cmake: Removed.
633         * WebKitTestRunner/PlatformWebView.h:
634         * WebKitTestRunner/TestController.cpp:
635         (WTR::TestController::resetStateToConsistentValues):
636         * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
637         * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
638         * WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
639         * WebKitTestRunner/efl/main.cpp: Removed.
640         * efl/install-dependencies: Removed.
641         * efl/jhbuild-optional.modules: Removed.
642         * efl/jhbuild.modules: Removed.
643         * efl/jhbuildrc: Removed.
644         * efl/patches/evas-fix-build-with-giflib5.patch: Removed.
645         * efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed.
646         * efl/patches/gst-libav.patch: Removed.
647         * efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
648         * efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
649         * efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
650         * efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed.
651         * gtk/manifest.txt.in:
652
653 2017-04-25  Daniel Bates  <dabates@apple.com>
654
655         [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
656         https://bugs.webkit.org/show_bug.cgi?id=136452
657         <rdar://problem/23412620>
658
659         Reviewed by Brent Fulgham.
660
661         Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms.
662
663         * Scripts/webkitperl/FeatureList.pm: Also do not enable nosniff on EFL
664         as the EFL port is no longer in the WebKit OpenSource repository.
665         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
666
667 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
668
669         Unreviewed follow-up to r215739 and r215740.
670
671         * gtk/jhbuild.modules: List the libgcrypt patch that has to be applied.
672         This (and r215740) was supposed to land in r215739, but I managed to
673         specify the previous version of the patch.
674
675 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
676
677         Unreviewed follow-up to r215739.
678
679         * gtk/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Add the missing
680         libgcrypt patch that enforces the use of /dev/urandom.
681
682 2017-04-25  Zan Dobersek  <zdobersek@igalia.com>
683
684         [GTK] Add libgpg-error, libgcrypt libraries to JHBuild
685         https://bugs.webkit.org/show_bug.cgi?id=171270
686
687         Reviewed by Michael Catanzaro.
688
689         * gtk/jhbuild.modules: Add the latest stable versions of libgpg-error and libgcrypt
690         libraries to the webkitgtk-testing-dependencies metamodule. This will help people
691         that use systems that don't yet provide libgcrypt >= 1.7.0.
692
693 2017-04-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
694
695         [GTK] Improve an unit test for the JHBuild wrapper.
696         https://bugs.webkit.org/show_bug.cgi?id=168036
697
698         Unreviewed follow-up patch after r215727
699
700         * Scripts/webkitpy/port/base_unittest.py:
701         (test_jhbuild_wrapper): Improve the unit test by ensuring the directory
702         wasn't there before calling MockFileSystem.maybe_make_directory(), and
703         also that it exists after calling it.
704
705 2017-04-25  Carlos Alberto Lopez Perez  <clopez@igalia.com>
706
707         [GTK] ImageDiff should be run by jhbuild-wrapper in case of using jhbuild
708         https://bugs.webkit.org/show_bug.cgi?id=168036
709
710         Reviewed by Michael Catanzaro.
711
712         Call ImageDiff with the JHBuild wrapper if we should use it.
713         Also add some unit tests for the JHBuild wrapper feature.
714
715         * Scripts/webkitpy/port/base.py:
716         (Port._should_use_jhbuild): Use self._filesystem instead of os.path to allow mock testing.
717         * Scripts/webkitpy/port/base_unittest.py:
718         (test_jhbuild_wrapper): Add a test for port._should_use_jhbuild()
719         * Scripts/webkitpy/port/image_diff.py:
720         (ImageDiffer._start): The actual fix, use the wrapper if we should.
721         * Scripts/webkitpy/port/image_diff_unittest.py: Removed. This two tests are now integrated in port_testcase
722         * Scripts/webkitpy/port/port_testcase.py:
723         (PortTestCase):
724         (PortTestCase.test_diff_image): Test the command with wrapper and without it.
725         (PortTestCase.test_diff_image_passed): Moved from image_diff_unittest.py
726         (PortTestCase.test_diff_image_failed): Moved from image_diff_unittest.py
727
728 2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
729
730         Support reading NSURL titles from the pasteboard when performing data interaction
731         https://bugs.webkit.org/show_bug.cgi?id=171156
732         <rdar://problem/31356937>
733
734         Reviewed by Tim Horton.
735
736         Adds a new unit test, DataInteractionTests.ExternalSourceTitledNSURL.
737
738         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
739         (TestWebKitAPI::TEST):
740
741 2017-04-24  Wenson Hsieh  <wenson_hsieh@apple.com>
742
743         Respect fidelity order when reading web content from item providers
744         https://bugs.webkit.org/show_bug.cgi?id=171155
745         <rdar://problem/31356937>
746
747         Reviewed by Tim Horton.
748
749         Adds a new unit test (DataInteractionTests.RespectsExternalSourceFidelityRankings). See WebCore ChangeLog for
750         more details.
751
752         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
753         (TestWebKitAPI::TEST):
754
755 2017-04-24  Carlos Alberto Lopez Perez  <clopez@igalia.com>
756
757         SyntaxError fix after r215702.
758         https://bugs.webkit.org/show_bug.cgi?id=168944
759
760         Unreviewed "build" fix.
761
762         * BuildSlaveSupport/built-product-archive:
763         (archiveBuiltProduct):
764
765 2017-04-24  Jonathan Bedard  <jbedard@apple.com>
766
767         Package ImageDiff built with host SDK
768         https://bugs.webkit.org/show_bug.cgi?id=168944
769         <rdar://problem/30745642>
770
771         Reviewed by David Kilzer.
772
773         iOS Simulator and iOS device should archive the ImageDiff built for the host
774         machine.
775
776         * BuildSlaveSupport/built-product-archive:
777         (determineWebKitBuildDirectories): Add _hostBuildDirectory for iOS.
778         (archiveBuiltProduct): Archive Mac products for iOS so that ImageDiff is included.
779
780 2017-04-24  Keith Miller  <keith_miller@apple.com>
781
782         ThreadMessage API tests failing on release bots
783         https://bugs.webkit.org/show_bug.cgi?id=171246
784
785         Reviewed by Saam Barati.
786
787         Need to make sure that C++ doesn't optimize away our spin loop.
788
789         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
790         (runThreadMessageTest):
791         (TEST):
792
793 2017-04-24  Alex Christensen  <achristensen@webkit.org>
794
795         Reduce copies and allocations in SharedBuffer::append
796         https://bugs.webkit.org/show_bug.cgi?id=170956
797
798         Reviewed by Andreas Kling.
799
800         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
801         (TestWebKitAPI::TEST_F):
802
803 2017-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
804
805         [GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector
806         https://bugs.webkit.org/show_bug.cgi?id=166680
807
808         Reviewed by Michael Catanzaro.
809
810         Update remote inspector unit tests.
811
812         * TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp:
813         (main):
814         * TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
815         (connectToInspectorServer):
816         (waitUntilInspectorServerIsReady):
817         (startTestServer):
818         (testInspectorServerPageList):
819         (beforeAll):
820
821 2017-04-23  Youenn Fablet  <youenn@apple.com>
822
823         Add a tool to update expected.txt files from EWS bot results
824         https://bugs.webkit.org/show_bug.cgi?id=169538
825
826         Reviewed by Ryosuke Niwa.
827
828         This script updates expected-txt files from bugzilla posted EWS results.
829         It uses mac-wk2 as the generic baseline and adds platform-specific results if other ports
830         have results different from the generic baseline.
831
832         * Scripts/update-test-expectations-from-bugzilla: Added.
833         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Added.
834         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Added.
835         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Adding helper routines.
836
837 2017-04-22  Youenn Fablet  <youenn@apple.com>
838
839         Add an option to import tip-of-tree WPT tests
840         https://bugs.webkit.org/show_bug.cgi?id=171152
841
842         Reviewed by Joseph Pecoraro.
843
844         Adding a '-t' option to import tip of tree WPT tests.
845         Updating importer based on the fact that csswg-test is no longer a thing. 
846
847         * Scripts/webkitpy/w3c/test_downloader.py:
848         (TestDownloader.download_tests):
849         * Scripts/webkitpy/w3c/test_importer.py:
850         (configure_logging):
851         (TestImporter.do_import):
852         (TestImporter.write_import_log):
853
854 2017-04-22  Wenson Hsieh  <wenson_hsieh@apple.com>
855
856         File inputs only accept UTI types that can be inserted into contenteditable areas when dropping
857         https://bugs.webkit.org/show_bug.cgi?id=171177
858         <rdar://problem/31765379>
859
860         Reviewed by Andy Estes.
861
862         Tests uploading a JSON file to a file input.
863
864         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
865         (TestWebKitAPI::TEST):
866
867 2017-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
868
869         Support writing link titles to the pasteboard when beginning data interaction on a link
870         https://bugs.webkit.org/show_bug.cgi?id=171154
871         <rdar://problem/31356937>
872
873         Reviewed by Andy Estes.
874
875         Augments an existing unit test, DataInteractionTests.LinkToInput, to also check that the fetching the NSURL from
876         the source UIItemProvider generated by performing data interaction results in an NSURL with the _title attribute
877         matching the title of the link.
878
879         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
880         (TestWebKitAPI::TEST):
881
882 2017-04-21  Michael Catanzaro  <mcatanzaro@igalia.com>
883
884         Unreviewed, rolling out r215608.
885
886         Hundreds of test failures on GTK bot
887
888         Reverted changeset:
889
890         "Reduce copies and allocations in SharedBuffer::append"
891         https://bugs.webkit.org/show_bug.cgi?id=170956
892         http://trac.webkit.org/changeset/215608
893
894 2017-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
895
896         [WK2] Add delegate hooks for overriding unhanded data interaction operations
897         https://bugs.webkit.org/show_bug.cgi?id=171005
898         <rdar://problem/31669646>
899
900         Reviewed by Tim Horton.
901
902         Adds a new API test checking that normal WebKit behavior when vending updated data interaction operations may
903         be overridden, resulting in a data interaction operation being performed when it otherwise would not have. Also
904         adjusts for some changes in WebKit2 (See WebKit2 ChangeLog for more details).
905
906         New API test:
907         DataInteractionTests.OverrideDataInteractionOperation
908
909         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
910         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
911         (TestWebKitAPI::TEST):
912         * TestWebKitAPI/ios/DataInteractionSimulator.h:
913         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
914         (-[DataInteractionSimulator initWithWebView:]):
915         (-[DataInteractionSimulator dealloc]):
916         (-[DataInteractionSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
917         (-[DataInteractionSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
918         (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]): Deleted.
919
920 2017-04-21  Ryan Haddad  <ryanhaddad@apple.com>
921
922         Temporarily disable two flaky API tests.
923
924         Unreviewed test gardening.
925
926         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
927         (TEST):
928         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
929         (TEST):
930
931 2017-04-21  Keith Miller  <keith_miller@apple.com>
932
933         Unreviewed, rolling out r215634.
934
935         underlying build issues should have been fixed
936
937         Reverted changeset:
938
939         "Unreviewed, rolling out r215620 and r215623."
940         https://bugs.webkit.org/show_bug.cgi?id=171139
941         http://trac.webkit.org/changeset/215634
942
943 2017-04-21  Aakash Jain  <aakash_jain@apple.com>
944
945         Bubbles on dashboard doesn't turn red for test262 failures
946         https://bugs.webkit.org/show_bug.cgi?id=171129
947
948         Reviewed by Alexey Proskuryakov.
949
950         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Added test262-test.
951
952 2017-04-21  Commit Queue  <commit-queue@webkit.org>
953
954         Unreviewed, rolling out r215620 and r215623.
955         https://bugs.webkit.org/show_bug.cgi?id=171139
956
957         broke arm64 build (Requested by keith_miller on #webkit).
958
959         Reverted changesets:
960
961         "Add signaling API"
962         https://bugs.webkit.org/show_bug.cgi?id=170976
963         http://trac.webkit.org/changeset/215620
964
965         "Unreviewed, fix Cloop build."
966         http://trac.webkit.org/changeset/215623
967
968 2017-04-20  Keith Miller  <keith_miller@apple.com>
969
970         Add signaling API
971         https://bugs.webkit.org/show_bug.cgi?id=170976
972
973         Reviewed by Filip Pizlo.
974
975         Add tests for ThreadMessages.
976
977         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
978         * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: Added.
979         (runThreadMessageTest):
980         (TEST):
981
982 2017-04-20  Conrad Shultz  <conrad_shultz@apple.com>
983
984         commit-log-editor should respect the git editor if one is set
985         https://bugs.webkit.org/show_bug.cgi?id=171085
986         <rdar://problem/31745506>
987
988         Reviewed by Daniel Bates.
989
990         * Scripts/commit-log-editor:
991         If Git is available, consider GIT_LOG_EDITOR and any global Git editor preference when
992         deciding which editor to present. We examine the global editor preference since that may be
993         set automatically by installers or third-party tools.
994
995 2017-04-21  Alex Christensen  <achristensen@webkit.org>
996
997         Reduce copies and allocations in SharedBuffer::append
998         https://bugs.webkit.org/show_bug.cgi?id=170956
999
1000         Reviewed by Andreas Kling.
1001
1002         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
1003         (TestWebKitAPI::TEST_F):
1004
1005 2017-04-20  Konstantin Tokarev  <annulen@yandex.ru>
1006
1007         [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere
1008         https://bugs.webkit.org/show_bug.cgi?id=171071
1009
1010         Reviewed by Michael Catanzaro.
1011
1012         "${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the
1013         build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should
1014         be available for all ports.
1015
1016         * DumpRenderTree/PlatformMac.cmake:
1017         * MiniBrowser/mac/CMakeLists.txt:
1018         * MiniBrowser/win/CMakeLists.txt:
1019         * TestWebKitAPI/PlatformJSCOnly.cmake:
1020         * TestWebKitAPI/PlatformMac.cmake:
1021         * TestWebKitAPI/PlatformWin.cmake:
1022         * WebKitTestRunner/PlatformMac.cmake:
1023
1024 2017-04-20  Joseph Pecoraro  <pecoraro@apple.com>
1025
1026         Test262 bot does not go red with failures
1027         https://bugs.webkit.org/show_bug.cgi?id=171044
1028
1029         Reviewed by Aakash Jain.
1030
1031         The piped output of run-jsc-stress-tests is different from
1032         its non-piped output. Switch to parsing the correct output.
1033
1034         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
1035         (RunTest262Tests.countFailures):
1036         Just count the number of lines that start with "FAIL:".
1037
1038         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1039         (RunTest262TestsTest.test_no_regressions_output):
1040         (test_failure_output):
1041         (test_failures_output):
1042         Updated tests with new sample output produced partially from bots and
1043         locally. In cases of failure the return code of run-jsc-stress-tests
1044         is still 0 so update the expected return code in the tests.
1045
1046 2017-04-20  Brady Eidson  <beidson@apple.com>
1047
1048         WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:...
1049         <rdar://problem/31739023> and https://bugs.webkit.org/show_bug.cgi?id=171090
1050
1051         Reviewed by Andy Estes.
1052
1053         * TestWebKitAPI/Tests/WebKit2/open-and-close-window.html:
1054         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
1055         (resetToConsistentState):
1056         (-[OpenAndCloseWindowUIDelegate webViewDidClose:]):
1057         (-[OpenAndCloseWindowUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1058         (TEST):
1059         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
1060
1061 2017-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1062
1063         [ios-simulator] PositionInformationTests API tests are timing out
1064         https://bugs.webkit.org/show_bug.cgi?id=171089
1065
1066         Rubber-stamped by Tim Horton.
1067
1068         Addresses failures observed in the new position information tests added in r215573 by only running them if the
1069         DATA_INTERACTION feature flag is enabled.
1070
1071         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
1072
1073 2017-04-20  Brady Eidson  <beidson@apple.com>
1074
1075         Skip WebKit2.OpenAndCloseWindowAsyncCallbackException for now.
1076         https://bugs.webkit.org/show_bug.cgi?id=171083
1077
1078         Unreviewed.
1079
1080         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
1081
1082 2017-04-20  Brady Eidson  <beidson@apple.com>
1083
1084         Add CompletionHandlerCallChecker to SPI added in r215545.
1085         https://bugs.webkit.org/show_bug.cgi?id=171067
1086
1087         Reviewed by Dan Bernstein.
1088
1089         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
1090         (TEST):
1091         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
1092
1093 2017-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1094
1095         [WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy
1096         https://bugs.webkit.org/show_bug.cgi?id=170922
1097         <rdar://problem/31634990>
1098
1099         Reviewed by Tim Horton.
1100
1101         Adds six new unit tests for retrieving interaction information at a given position in the UI process. See
1102         WebKit2 ChangeLog for more details.
1103
1104         * TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
1105         (-[_WKDraggableElementInfo expectToBeLink:image:atPoint:]):
1106         (TestWebKitAPI::TEST):
1107         (TestWebKitAPI::expectCGPointsToBeEqual): Deleted.
1108
1109 2017-04-20  Xan Lopez  <xlopez@igalia.com>
1110
1111         [GTK][jhbuild] Update glib and glib-networking to the latest stable versions
1112         https://bugs.webkit.org/show_bug.cgi?id=170942
1113
1114         Reviewed by Carlos Garcia Campos.
1115
1116         Update glib and glib-networking to the last stable releases. This
1117         is needed to get working TLS certificate verification at all at
1118         least in Fedora.
1119
1120         * gtk/install-dependencies: add libmount, needed for newer glib.
1121         * gtk/jhbuild.modules: update glib and glib-networking to last
1122         stable releases.
1123
1124 2017-04-20  Joanmarie Diggs  <jdiggs@igalia.com>
1125
1126         [ATK] Implement support for DPub ARIA roles
1127         https://bugs.webkit.org/show_bug.cgi?id=170679
1128
1129         Reviewed by Chris Fleizach.
1130
1131         Add DPub ARIA landmark roles to roleToString().
1132
1133         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
1134
1135 2017-04-19  Joseph Pecoraro  <pecoraro@apple.com>
1136
1137         Remove WebKitTestRunner code for enabling features that are already enabled by default
1138         https://bugs.webkit.org/show_bug.cgi?id=171033
1139
1140         Reviewed by Ryosuke Niwa.
1141
1142         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1143         (WTR::InjectedBundle::beginTesting):
1144         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1145         (WTR::TestRunner::setShadowDOMEnabled): Deleted.
1146         (WTR::TestRunner::setCustomElementsEnabled): Deleted.
1147         (WTR::TestRunner::setFetchAPIEnabled): Deleted.
1148         (WTR::TestRunner::setDownloadAttributeEnabled): Deleted.
1149         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1150
1151 2017-04-19  Youenn Fablet  <youenn@apple.com>
1152
1153         [Mac] Allow customizing H264 encoder
1154         https://bugs.webkit.org/show_bug.cgi?id=170829
1155
1156         Reviewed by Alex Christensen.
1157
1158         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1159
1160 2017-04-19  Brady Eidson  <beidson@apple.com>
1161
1162         Add asynchronous equivalent of -[<WKUIDelegate> webView:createWebViewWithConfiguration:...].
1163         <rdar://problem/30699851> and https://bugs.webkit.org/show_bug.cgi?id=171018
1164
1165         Reviewed by Tim Horton.
1166
1167         * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
1168         (TEST):
1169         (-[OpenAndCloseWindowUIDelegateAsync webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1170         (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
1171
1172 2017-04-19  Brady Eidson  <beidson@apple.com>
1173
1174         REGRESSION (r213168): An extra Web Content process is spun up on launch and is never closed.
1175         <rdar://problem/30774839> and https://bugs.webkit.org/show_bug.cgi?id=171002
1176
1177         Reviewed by Alex Christensen.
1178
1179         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1180         * TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Added.
1181
1182 2017-04-19  Brent Fulgham  <bfulgham@apple.com>
1183
1184         [WK2] Run tests with ResourceLoadStatistics enabled
1185         https://bugs.webkit.org/show_bug.cgi?id=170952
1186
1187         Reviewed by Andy Estes.
1188
1189         Excercise the load statistics code during tests.
1190
1191         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1192         (WTR::initializeWebViewConfiguration):
1193
1194 2017-04-19  Bill Ming  <mbbill@gmail.com>
1195
1196         close_fds should be set to False on Windows.
1197         https://bugs.webkit.org/show_bug.cgi?id=170838
1198
1199         Reviewed by Brent Fulgham.
1200
1201         * Scripts/webkitpy/common/system/executive.py:
1202         (Executive._should_close_fds):
1203
1204 2017-04-19  David Kilzer  <ddkilzer@apple.com>
1205
1206         Stop using strcpy() in WebKit::EnvironmentUtilities::stripValuesEndingWithString()
1207         <https://webkit.org/b/170994>
1208         <rdar://problem/29889932>
1209
1210         Reviewed by Brent Fulgham.
1211
1212         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1213         (EnvironmentUtilitiesTest.cpp): Add to TestWebKitAPILibrary
1214         target.
1215         * TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Add.
1216         (TestWebKitAPI::strip): Helper method to set/get environment
1217         variable for testing.
1218         (TestWebKitAPI::WebKit2_StripValuesEndingWithString_Test): Add
1219         tests.
1220
1221 2017-04-19  JF Bastien  <jfbastien@apple.com>
1222
1223         WebAssembly: add script which can import GCC torture tests
1224         https://bugs.webkit.org/show_bug.cgi?id=170740
1225
1226         Reviewed by Saam Barati.
1227
1228         Add a script which can import the GCC torture tests and create a
1229         yaml file to run them as part of jsc's WebAssembly regression
1230         tests.
1231
1232         This patch doesn't commit the tests themselves because they're
1233         licensed differently.
1234
1235         * Scripts/run-jsc-stress-tests: learn how to run
1236         Emscripten-generated .js+.wasm files, and do a bit of cleanup on
1237         the options because WebAssembly is enabled by default.
1238         * Scripts/update-wasm-gcc-torture.py: Added.
1239         (parse_args):
1240         (update_lkgr):
1241         (untar_torture):
1242         (list_js_files):
1243         (waterfall_known_failures):
1244         (create_yaml):
1245         (main):
1246
1247 2017-04-19  Youenn Fablet  <youenn@apple.com>
1248
1249         Import web-platform-tests/tools
1250         https://bugs.webkit.org/show_bug.cgi?id=170718
1251
1252         Reviewed by Alex Christensen.
1253
1254         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
1255         (main):
1256         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1257         (WebPlatformTestServer.ports_to_forward):
1258         (WebPlatformTestServer._prepare_config):
1259         (WebPlatformTestServer._install_modules): Deleted.
1260         * Scripts/webkitpy/w3c/test_importer.py:
1261         (TestImporter.write_html_files_for_templated_js_tests):
1262
1263 2017-04-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1264
1265         [WK2] Add infrastructure and unit tests for file uploads using data interaction
1266         https://bugs.webkit.org/show_bug.cgi?id=170903
1267         <rdar://problem/31314689>
1268
1269         Reviewed by Tim Horton.
1270
1271         Adds 5 new unit tests covering different cases of uploading files through data interaction, as well as
1272         infrastructure for simulating UIItemProviders that load file data. Makes a few adjustments to the
1273         DataInteractionSimulator along the way, detailed in the per-method annotations below. See
1274         <https://bugs.webkit.org/show_bug.cgi?id=170880> for more details about the change this patch is testing.
1275
1276         New tests:
1277         DataInteractionTests.ExternalSourceImageToFileInput
1278         DataInteractionTests.ExternalSourceHTMLToUploadArea
1279         DataInteractionTests.ExternalSourceImageAndHTMLToSingleFileInput
1280         DataInteractionTests.ExternalSourceImageAndHTMLToMultipleFileInput
1281         DataInteractionTests.ExternalSourceImageAndHTMLToUploadArea
1282
1283         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1284         (testIconImage):
1285         (temporaryURLForDataInteractionFileLoad):
1286         (cleanUpDataInteractionTemporaryPath):
1287
1288         Creates and tears down temporary file directories for testing data interaction.
1289
1290         (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]):
1291         (TestWebKitAPI::TEST):
1292         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1293         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1294
1295         Make necessary changes to be able to test what happens when data interaction ends over an element with no
1296         operation. Previously, we would always simulate performing a data interaction operation when ending the
1297         simulation, but this causes us to wait indefinitely for a data operation response to arrive in the UI process.
1298         Instead, we need to note whether or not the content view is allowing data interaction, and only perform an
1299         operation and wait for the -didPerform call if the operation was allowed. Otherwise, we immediately transition
1300         the phase to Cancelled and end the run.
1301
1302         (-[DataInteractionSimulator _resetSimulatedState]):
1303         (-[DataInteractionSimulator runFrom:to:]):
1304         (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
1305         (-[DataInteractionSimulator _advanceProgress]):
1306         (-[DataInteractionSimulator externalItemProviders]):
1307         (-[DataInteractionSimulator setExternalItemProviders:]):
1308
1309         Previously, we hard-coded DataInteractionSimulator to only support a single external item provider. In order to
1310         test the scenario where multiple files are being "data interacted" into a file-type input, we generalize this to
1311         take multiple item providers.
1312
1313         (-[DataInteractionSimulator externalItemProvider]): Deleted.
1314         (-[DataInteractionSimulator setExternalItemProvider:]): Deleted.
1315
1316 2017-04-18  John Wilander  <wilander@apple.com>
1317
1318         Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost
1319         https://bugs.webkit.org/show_bug.cgi?id=170798
1320         <rdar://problem/31595108>
1321
1322         Reviewed by Alex Christensen.
1323
1324         * TestWebKitAPI/Tests/mac/PublicSuffix.mm:
1325         (TestWebKitAPI::TEST_F):
1326             Added two negative test cases for WebCore::isPublicSuffix().
1327             Added test cases with mixed case domains, localhost, and
1328             non-ASCII for WebCore::topPrivatelyControlledDomain().
1329
1330 2017-04-18  Jonathan Bedard  <jbedard@apple.com>
1331
1332         Unreviewed, rolling out r215346 and 215361.
1333
1334         The problem these changes were fixing was addressed in
1335         <https://trac.webkit.org/changeset/215416/webkit>.
1336
1337         Reverted changesets:
1338
1339         "webkitpy: Ignore previously launched pid when system is under
1340         stress"
1341         https://bugs.webkit.org/show_bug.cgi?id=170741
1342         http://trac.webkit.org/changeset/215346
1343         http://trac.webkit.org/changeset/215361
1344
1345 2017-04-17  Alex Christensen  <achristensen@webkit.org>
1346
1347         Allow Variants of RetainPtrs
1348         https://bugs.webkit.org/show_bug.cgi?id=170923
1349
1350         Reviewed by Tim Horton and Sam Weinig.
1351
1352         * TestWebKitAPI/Tests/WTF/Variant.cpp:
1353         (TestWebKitAPI::TEST):
1354         Add tests for RetainPtr and for another class with overloaded operator& to verify such classes can
1355         work in Variants.
1356
1357 2017-04-17  Brady Eidson  <beidson@apple.com>
1358
1359         Make WKHTTPCookieStore public.
1360         <rdar://problem/31024691> and https://bugs.webkit.org/show_bug.cgi?id=170920
1361
1362         Reviewed by Geoffrey Garen.
1363
1364         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
1365         (TEST):
1366
1367 2017-04-17  Youenn Fablet  <youenn@apple.com>
1368
1369         Disable outdated WritableStream API
1370         https://bugs.webkit.org/show_bug.cgi?id=170749
1371         <rdar://problem/31446233>
1372
1373         Reviewed by Alex Christensen.
1374
1375         Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by:
1376         - A STREAMS_API compilation flag.
1377         - A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT.
1378
1379         * DumpRenderTree/mac/DumpRenderTree.mm:
1380         (enableExperimentalFeatures):
1381         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1382         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1383         (WTR::InjectedBundle::beginTesting):
1384         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1385         (WTR::TestRunner::setFetchAPIEnabled):
1386         (WTR::TestRunner::setWritableStreamAPIEnabled):
1387         (WTR::TestRunner::setReadableByteStreamAPIEnabled):
1388         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1389
1390 2017-04-17  Tim Horton  <timothy_horton@apple.com>
1391
1392         Provide a viewport parameter to disable clipping to the safe area
1393         https://bugs.webkit.org/show_bug.cgi?id=170766
1394         <rdar://problem/31564634>
1395
1396         Reviewed by Beth Dakin.
1397
1398         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1399         (WTR::UIScriptController::setObscuredInsets):
1400         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1401         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1402         (WTR::UIScriptController::setObscuredInsets):
1403         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1404         * WebKitTestRunner/ios/TestControllerIOS.mm:
1405         (WTR::TestController::platformResetStateToConsistentValues):
1406         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1407         (WTR::UIScriptController::setObscuredInsets):
1408         Add a UIScriptController mechanism to install obscured insets
1409         on the web view.
1410
1411 2017-04-17  Dan Bernstein  <mitz@apple.com>
1412
1413         [Cocoa] Move isNullFunctionPointer down into WTF
1414         https://bugs.webkit.org/show_bug.cgi?id=170892
1415
1416         Reviewed by Sam Weinig.
1417
1418         * TestWebKitAPI/Configurations/TestWTF.xcconfig:
1419         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1420         * TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: Added.
1421         (TestWebKitAPI::TEST):
1422         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Added.
1423         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd: Added.
1424         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd: Added.
1425         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd: Added.
1426
1427 2017-04-17  Jonathan Bedard  <jbedard@apple.com>
1428
1429         webkitpy: Correct poll when killing ServerProcess
1430
1431         Unreviewed infrastructure fix.
1432
1433         * Scripts/webkitpy/port/server_process.py:
1434         (ServerProcess._kill): A polled process equaling 'None' means the process is running.
1435
1436 2017-04-17  Eric Carlson  <eric.carlson@apple.com>
1437
1438         [MediaStream] Enable getUserMedia API test
1439         https://bugs.webkit.org/show_bug.cgi?id=170901
1440         <rdar://problem/31656594>
1441
1442         Reviewed by Youenn Fablet.
1443
1444         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
1445
1446         * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
1447         (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
1448         (TestWebKitAPI::TEST): Enable capture with mock devices.
1449         * TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Update to mediaDevices.getUserMedia
1450
1451 2017-04-17  Xan Lopez  <xan@igalia.com>
1452
1453         [GTK] Update the Fedora dependencies for WebKitGTK+
1454         https://bugs.webkit.org/show_bug.cgi?id=170590
1455
1456         Reviewed by Carlos Alberto Lopez Perez.
1457
1458         * gtk/install-dependencies: add a bunch of modules necessary to
1459         get a proper set of GStreamer codecs for WebRTC.
1460
1461 2017-04-16  Sam Weinig  <sam@webkit.org>
1462
1463         [WebIDL] Switch IDLAttributes.txt over to a more structured format so that more information can be added for each attribute
1464         https://bugs.webkit.org/show_bug.cgi?id=170843
1465
1466         Reviewed by Chris Dumez.
1467
1468         * DumpRenderTree/DerivedSources.make:
1469         * WebKitTestRunner/DerivedSources.make:
1470         * Scripts/webkitpy/bindings/main.py:
1471         (BindingsTests.generate_from_idl):
1472         Pass IDLAttributes.json, as it is now mandatory to have one.
1473
1474 2017-04-14  Mark Lam  <mark.lam@apple.com>
1475
1476         Update architectures in xcconfig files.
1477         https://bugs.webkit.org/show_bug.cgi?id=170867
1478         <rdar://problem/31628104>
1479
1480         Reviewed by Joseph Pecoraro.
1481
1482         * DumpRenderTree/mac/Configurations/Base.xcconfig:
1483         * MobileMiniBrowser/Configurations/Base.xcconfig:
1484         * TestWebKitAPI/Configurations/Base.xcconfig:
1485         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1486         * WebKitTestRunner/Configurations/Base.xcconfig:
1487
1488 2017-04-14  Brady Eidson  <beidson@apple.com>
1489
1490         Fix basic WKURLSchemeHandler bugs.
1491         <rdar://problem/30647559> and https://bugs.webkit.org/show_bug.cgi?id=170862
1492
1493         Reviewed by Andy Estes.
1494
1495         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1496         * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Added.
1497         (-[SchemeHandler initWithData:mimeType:]):
1498         (-[SchemeHandler dealloc]):
1499         (-[SchemeHandler webView:startTask:]):
1500         (-[SchemeHandler webView:stopTask:]):
1501         (TEST):
1502
1503 2017-04-14  Bill Ming  <mbbill@gmail.com>
1504
1505         webkit-patch failed to detect git repository
1506         https://bugs.webkit.org/show_bug.cgi?id=170859
1507
1508         Reviewed by Daniel Bates.
1509
1510         Windows cmd does not accept single quoted path. So, using
1511         double quotes here will provide better platform compatibility.
1512
1513         * Scripts/VCSUtils.pm:
1514         (isGitDirectory):
1515         (isGitSVNDirectory):
1516         (svnRevisionForDirectory):
1517         (svnInfoForPath):
1518
1519 2017-04-14  Ryan Haddad  <ryanhaddad@apple.com>
1520
1521         Unreviewed, rolling out r215374.
1522
1523         This change causes LayoutTests to exit early with crashes on
1524         Sierra.
1525
1526         Reverted changeset:
1527
1528         "webkitpy: Ignore previously launched pid when system is under
1529         stress"
1530         https://bugs.webkit.org/show_bug.cgi?id=170741
1531         http://trac.webkit.org/changeset/215374
1532
1533 2017-04-14  Dan Bernstein  <mitz@apple.com>
1534
1535         [ios-simulator] API test WebKit2.AdditionalReadAccessAllowedURLs is failing
1536         https://bugs.webkit.org/show_bug.cgi?id=170856
1537
1538         Disabled the newly-added test in the Simulator, which doesn’t enforce sandboxing.
1539
1540         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
1541
1542 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
1543
1544         webkitpy: Ignore previously launched pid when system is under stress
1545         https://bugs.webkit.org/show_bug.cgi?id=170741
1546
1547         Unreviewed infrastructure fix.
1548
1549         Drivers are destroyed between failing layout tests, which is not necessary and
1550         prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
1551
1552         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1553         (Worker._kill_driver): Do not destroy drivers when they are stopped.
1554         * Scripts/webkitpy/port/driver.py:
1555         (Driver.stop): Reset driver values set in initializer.
1556
1557 2017-04-14  Andy Estes  <aestes@apple.com>
1558
1559         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
1560         https://bugs.webkit.org/show_bug.cgi?id=167594
1561
1562         Re-enabled this API test now that webkit.org/b/161967 is fixed.
1563
1564         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
1565         (TEST):
1566
1567 2017-04-14  Andy Estes  <aestes@apple.com>
1568
1569         [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
1570         https://bugs.webkit.org/show_bug.cgi?id=161967
1571
1572         Reviewed by Alexey Proskuryakov.
1573
1574         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
1575         (TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
1576
1577 2017-04-14  Ryan Haddad  <ryanhaddad@apple.com>
1578
1579         Unreviewed, rolling out r215363.
1580
1581         This change causes LayoutTests to exit early with crashes.
1582
1583         Reverted changeset:
1584
1585         "webkitpy: Ignore previously launched pid when system is under
1586         stress"
1587         https://bugs.webkit.org/show_bug.cgi?id=170741
1588         http://trac.webkit.org/changeset/215363
1589
1590 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
1591
1592         webkitpy: Ignore previously launched pid when system is under stress
1593         https://bugs.webkit.org/show_bug.cgi?id=170741
1594
1595         Unreviewed infrastructure fix.
1596
1597         Drivers are destroyed between failing layout tests, which is not necessary and
1598         prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
1599
1600         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1601         (Worker._kill_driver): Do not destroy drivers when they are stopped.
1602
1603 2017-04-14  Jonathan Bedard  <jbedard@apple.com>
1604
1605         webkitpy: Ignore previously launched pid when system is under stress
1606         https://bugs.webkit.org/show_bug.cgi?id=170741
1607
1608         Unreviewed infrastructure fix.
1609
1610         Server processes are destroyed in the driver, which is not necessary and prevents
1611         the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
1612
1613         * Scripts/webkitpy/port/driver.py:
1614         (Driver.run_test): Do not destroy server process.
1615         (Driver._start): Only create the server process if it is None.
1616         (Driver.stop): Do not destroy server process.
1617
1618 2017-04-13  Dan Bernstein  <mitz@apple.com>
1619
1620         [Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions
1621         https://bugs.webkit.org/show_bug.cgi?id=170387
1622
1623         Reviewed by Sam Weinig.
1624
1625         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1626         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Added.
1627         (TEST):
1628         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Added.
1629         (-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
1630         (-[AdditionalReadAccessAllowedURLsPlugIn dealloc]):
1631         (-[AdditionalReadAccessAllowedURLsPlugIn readStringFromURL:completionHandler:]):
1632         * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Added.
1633
1634 2017-04-13  Jonathan Bedard  <jbedard@apple.com>
1635
1636         webkitpy: Ignore previously launched pid when system is under stress
1637         https://bugs.webkit.org/show_bug.cgi?id=170741
1638
1639         Reviewed by David Kilzer.
1640
1641         We have seen cases where xcrun simctl launch will return a pid of a previous
1642         process and the process will appear to be running even though it is crashing.
1643         Ensure that the PID that simulator_process is receiving is not the pid of the
1644         previously run process.
1645
1646         * Scripts/webkitpy/port/simulator_process.py:
1647         (SimulatorProcess._start): Check to make sure we aren't receiving an old PID.
1648
1649 2017-04-13  Jonathan Bedard  <jbedard@apple.com>
1650
1651         Build ImageDiff with host SDK
1652         https://bugs.webkit.org/show_bug.cgi?id=168531
1653
1654         Reviewed by David Kilzer.
1655
1656         ImageDiff should be built and run with the host SDK, not the target SDK.
1657         Build ImageDiff twice, once for the target SDK and once for the host
1658         as an intermediate step towards building for only the host SDK.
1659
1660         * ImageDiff/Makefile: Added.
1661         * Makefile: Add ImageDiff to list of targets.
1662         * Scripts/build-imagediff: Build bmalloc and WTF for the host.
1663         * Scripts/build-webkit: Build ImageDiff for host.
1664         * Scripts/webkitdirs.pm: Export extractNonMacOSHostConfiguration.
1665         (extractNonMacOSHostConfiguration): Remove non-host configuration data from the array.
1666         * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Added.
1667         * Scripts/webkitpy/port/base.py:
1668         (Port.check_build): Attempt to build image diff if not found.
1669         (Port.check_image_diff): Enable logging flag.
1670         (Port._build_image_diff): Allow webkitpy to build image-diff during testing.
1671
1672 2017-04-12  Alex Christensen  <achristensen@webkit.org>
1673
1674         Clean up SharedBuffer public functions
1675         https://bugs.webkit.org/show_bug.cgi?id=170795
1676
1677         Reviewed by Andreas Kling.
1678
1679         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1680         (TestWebKitAPI::TEST_F):
1681
1682 2017-04-12  Dan Bernstein  <mitz@apple.com>
1683
1684         [Mac] Future-proof .xcconfig files
1685         https://bugs.webkit.org/show_bug.cgi?id=170802
1686
1687         Reviewed by Tim Horton.
1688
1689         * DumpRenderTree/mac/Configurations/Base.xcconfig:
1690         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
1691         * MiniBrowser/Configurations/Base.xcconfig:
1692         * MiniBrowser/Configurations/DebugRelease.xcconfig:
1693         * TestWebKitAPI/Configurations/Base.xcconfig:
1694         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
1695         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1696         * WebKitTestRunner/Configurations/Base.xcconfig:
1697         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
1698
1699 2017-04-12  Alex Christensen  <achristensen@webkit.org>
1700
1701         Remove unused SharedBuffer::wrapCFDataArray
1702         https://bugs.webkit.org/show_bug.cgi?id=170794
1703
1704         Reviewed by Brady Eidson.
1705
1706         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
1707         (TestWebKitAPI::TEST_F):
1708
1709 2017-04-12  Yusuke Suzuki  <utatane.tea@gmail.com>
1710
1711         [WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one
1712         https://bugs.webkit.org/show_bug.cgi?id=170502
1713
1714         Reviewed by Mark Lam.
1715
1716         Mechanical change. Use Thread:: APIs.
1717
1718         * DumpRenderTree/JavaScriptThreading.cpp:
1719         (runJavaScriptThread):
1720         (startJavaScriptThreads):
1721         (stopJavaScriptThreads):
1722         * DumpRenderTree/mac/DumpRenderTree.mm:
1723         (testThreadIdentifierMap):
1724         * TestWebKitAPI/Tests/WTF/Condition.cpp:
1725         * TestWebKitAPI/Tests/WTF/Lock.cpp:
1726         (TestWebKitAPI::runLockTest):
1727         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
1728
1729 2017-04-12  Alex Christensen  <achristensen@webkit.org>
1730
1731         Modernize vector adoption
1732         https://bugs.webkit.org/show_bug.cgi?id=170758
1733
1734         Reviewed by Geoffrey Garen.
1735
1736         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1737         (TestWebKitAPI::TEST_F):
1738
1739 2017-04-11  Dean Jackson  <dino@apple.com>
1740
1741         Disable outdated WritableStream API
1742         https://bugs.webkit.org/show_bug.cgi?id=170749
1743         <rdar://problem/31446233>
1744
1745         Reviewed by Tim Horton.
1746
1747         The API we implement is no longer accurate. Disable it until we
1748         are compatible with the new specification
1749
1750         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1751
1752 2017-04-11  David Quesada  <david_quesada@apple.com>
1753
1754         Add SPI for handling geolocation authorization requests
1755         https://bugs.webkit.org/show_bug.cgi?id=170362
1756         rdar://problem/17508627
1757
1758         Reviewed by Alex Christensen.
1759
1760         Add API tests for the new WKUIDelegate SPI for allowing or denying websites permission
1761         to use geolocation. Adopt the new WKProcessPool._coreLocationProvider property to
1762         provide a stub object to simulate the various configurations of geolocation permissions:
1763         1. The app doesn't have permission to use geolocation.
1764         2. The app is allowed to use geolocation, but the UI delegate denies the web view permission.
1765         3. The app is allowed to use geolocation, and the UI delegate allows the web view permission.
1766
1767         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1768         * TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Added.
1769         (-[TestCoreLocationProvider setListener:]):
1770         (-[TestCoreLocationProvider requestGeolocationAuthorization]):
1771         (-[TestCoreLocationProvider start]):
1772         (-[TestCoreLocationProvider stop]):
1773         (-[TestCoreLocationProvider setEnableHighAccuracy:]):
1774         (expectException):
1775         (-[GeolocationTestUIDelegate _webView:requestGeolocationAuthorizationForURL:frame:decisionHandler:]):
1776         (-[GeolocationTestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1777         (TestWebKitAPI::TEST):
1778         * TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Added.
1779
1780 2017-04-10  Matt Rajca  <mrajca@apple.com>
1781
1782         Change autoplay state to "prevented" when media is paused due to restrictions.
1783         https://bugs.webkit.org/show_bug.cgi?id=170686
1784
1785         Reviewed by Alex Christensen.
1786
1787         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1788         * TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Added test.
1789         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1790         (TEST):
1791
1792 2017-04-11  Yusuke Suzuki  <utatane.tea@gmail.com>
1793
1794         [WebCore][JSC] ResourceUsageData.{timeOfNextEdenCollection,timeOfNextFullCollection} should be MonotonicTime
1795         https://bugs.webkit.org/show_bug.cgi?id=170725
1796
1797         Reviewed by Sam Weinig.
1798
1799         * TestWebKitAPI/Tests/WTF/Time.cpp:
1800         (TestWebKitAPI::TEST):
1801
1802 2017-04-10  Alex Christensen  <achristensen@webkit.org>
1803
1804         Revert r215217
1805         https://bugs.webkit.org/show_bug.cgi?id=170703
1806
1807         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1808
1809 2017-04-10  Alex Christensen  <achristensen@webkit.org>
1810
1811         Continue enabling WebRTC
1812         https://bugs.webkit.org/show_bug.cgi?id=170703
1813
1814         Reviewed by Youenn Fablet.
1815
1816         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1817
1818 2017-04-10  Kocsen Chung  <kocsen_chung@apple.com>
1819
1820         Have parseRevisionProperty use default repo name as the Buildbot key.
1821         https://bugs.webkit.org/show_bug.cgi?id=170696
1822
1823         Reviewed by Daniel Bates.
1824
1825         Previously, we needed to set a key and a fallbackKey when addressing
1826         Buildbot data for Internal. That is no longer necessary as we can make a safe assumption
1827         that the repo name maps exactly to that key for every repository other
1828         than WebKit.
1829
1830         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
1831         Set `key = repositoryName` and only use fallback keys when dealing with WebKit.
1832
1833 2017-04-10  Aakash Jain  <aakash_jain@apple.com>
1834
1835         Add test262 JavaScriptCore tests to dashboard
1836         https://bugs.webkit.org/show_bug.cgi?id=170711
1837
1838         Rubber-stamped by Joseph Pecoraro.
1839
1840         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1841         (WebKitBuildbot): Added test262 JSC tests to dashboard.
1842
1843 2017-04-10  Alex Christensen  <achristensen@webkit.org>
1844
1845         REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
1846         https://bugs.webkit.org/show_bug.cgi?id=170707
1847         <rdar://problem/27788755>
1848
1849         Reviewed by Tim Horton.
1850
1851         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
1852         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1853         (TEST_F):
1854         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1855         (-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1856         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1857         (TEST):
1858
1859 2017-04-10  Alex Christensen  <achristensen@webkit.org>
1860
1861         Add API to get available content extension identifiers in a WKContentExtensionStore
1862         https://bugs.webkit.org/show_bug.cgi?id=170093
1863
1864         Reviewed by Geoffrey Garen.
1865
1866         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
1867         (TEST_F):
1868
1869 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1870
1871         Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval
1872         https://bugs.webkit.org/show_bug.cgi?id=170658
1873
1874         Reviewed by Tim Horton.
1875
1876         Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction
1877         preparation is synchronous, or passes if it is asynchronous.
1878
1879         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1880         (TestWebKitAPI::TEST):
1881         * TestWebKitAPI/cocoa/TestWKWebView.h:
1882         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1883         (-[TestWKWebView initWithFrame:]):
1884         (-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
1885         (-[TestWKWebView _setUpTestWindow:]):
1886
1887 2017-04-10  Brent Fulgham  <bfulgham@apple.com>
1888
1889         [WK2][macOS] Block access to Apple Events before launch.
1890         https://bugs.webkit.org/show_bug.cgi?id=170626
1891         <rdar://problem/16079334>
1892
1893         Reviewed by Alexey Proskuryakov.
1894
1895         Add a new TestWebKitAPI test that fails if Apple Events are sent.
1896
1897         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
1898         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added.
1899         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
1900         (TestWebKitAPI::didFinishLoadForFrame):
1901         (TestWebKitAPI::TEST):
1902         * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added.
1903         (TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest):
1904         (TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage):
1905
1906 2017-04-10  Guillaume Emont  <guijemont@igalia.com>
1907
1908         [JSC] Do not run FTL stress tests on MIPS
1909         https://bugs.webkit.org/show_bug.cgi?id=170684
1910
1911         Reviewed by Carlos Alberto Lopez Perez.
1912
1913         run-jsc-stress-tests does not correctly detect MIPS platforms, and its
1914         logic to detect if the platform supports FTL ignores that MIPS does
1915         not support FTL. This adds detection of MIPS (with the magic number
1916         determined empirically) and fixes the determination of whether we
1917         support FTL.
1918
1919         * Scripts/run-jsc-stress-tests:
1920
1921 2017-04-10  Jonathan Bedard  <jbedard@apple.com>
1922
1923         webkitpy: Increase estimate for processes run by iOS Simulators
1924         https://bugs.webkit.org/show_bug.cgi?id=170678
1925         <rdar://problem/31534061>
1926
1927         Reviewed by Aakash Jain.
1928
1929         Previously, it was estimated that each simulated iOS device would run about 100
1930         processes.  With newer versions of iOS, this is closer to 125.
1931
1932         * Scripts/webkitpy/port/ios_simulator.py:
1933         (IOSSimulatorPort): Increase process estimate from 100 to 125.
1934
1935 2017-04-10  Adrian Perez de Castro  <aperez@igalia.com>
1936
1937         [GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
1938         https://bugs.webkit.org/show_bug.cgi?id=170553
1939
1940         Reviewed by Michael Catanzaro.
1941
1942         Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when
1943         building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend
1944         to properly position popup menus, and also avoids using functions
1945         which were deprecated starting at that GTK+ release.
1946
1947         * MiniBrowser/gtk/BrowserSearchBar.c:
1948         (searchEntryMenuIconPressedCallback):
1949         Update MiniBrowser to use gtk_menu_popup_at_pointer().
1950
1951 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1952
1953         REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
1954         https://bugs.webkit.org/show_bug.cgi?id=170677
1955         <rdar://problem/31512633>
1956
1957         Reviewed by Tim Horton.
1958
1959         Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad)
1960         to allow dropping URLs to trigger page navigation.
1961
1962         * DumpRenderTree/TestOptions.h:
1963         * DumpRenderTree/TestOptions.mm:
1964         (TestOptions::TestOptions):
1965         * DumpRenderTree/mac/DumpRenderTree.mm:
1966         (resetWebViewToConsistentStateBeforeTesting):
1967         * DumpRenderTree/mac/UIDelegate.h:
1968         * DumpRenderTree/mac/UIDelegate.mm:
1969         (-[UIDelegate resetToConsistentStateBeforeTesting:]):
1970         (-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
1971
1972 2017-04-10  Fujii Hironori  <Hironori.Fujii@sony.com>
1973
1974         update-webkit-dependency should report $response->message for diagnose
1975         https://bugs.webkit.org/show_bug.cgi?id=170666
1976
1977         Reviewed by Alex Christensen.
1978
1979         * Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens.
1980
1981 2017-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1982
1983         Data interaction on an image enclosed by an anchor should vend the anchor's URL
1984         https://bugs.webkit.org/show_bug.cgi?id=170660
1985         <rdar://problem/31043220>
1986
1987         Reviewed by Tim Horton.
1988
1989         Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an
1990         anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we
1991         should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection
1992         rects, but should not be.
1993
1994         See WebCore ChangeLog for more details.
1995
1996         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1997         * TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added.
1998         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1999         (TestWebKitAPI::TEST):
2000
2001 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2002
2003         [GTK] Remove the GDK dependency from ImageDiff
2004         https://bugs.webkit.org/show_bug.cgi?id=85299
2005
2006         Reviewed by Žan Doberšek.
2007
2008         Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the
2009         Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is
2010         actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the
2011         ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo
2012         implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation
2013         and also add CG implementation.
2014
2015         * ImageDiff/CMakeLists.txt:
2016         * ImageDiff/Cairo.cmake: Added.
2017         * ImageDiff/ImageDiff.cpp: Added.
2018         (main):
2019         * ImageDiff/PlatformGTK.cmake:
2020         * ImageDiff/PlatformImage.cpp: Added.
2021         (ImageDiff::PlatformImage::isCompatible):
2022         (ImageDiff::PlatformImage::difference):
2023         * ImageDiff/PlatformImage.h: Added.
2024         * ImageDiff/cairo/PlatformImageCairo.cpp: Added.
2025         (ImageDiff::PlatformImage::createFromStdin):
2026         (ImageDiff::PlatformImage::createFromDiffData):
2027         (ImageDiff::PlatformImage::PlatformImage):
2028         (ImageDiff::PlatformImage::~PlatformImage):
2029         (ImageDiff::PlatformImage::width):
2030         (ImageDiff::PlatformImage::height):
2031         (ImageDiff::PlatformImage::rowBytes):
2032         (ImageDiff::PlatformImage::hasAlpha):
2033         (ImageDiff::PlatformImage::pixels):
2034         (ImageDiff::PlatformImage::writeAsPNGToStdout):
2035         * ImageDiff/gtk/ImageDiff.cpp: Removed.
2036
2037 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2038
2039         REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
2040         https://bugs.webkit.org/show_bug.cgi?id=170667
2041
2042         Reviewed by Žan Doberšek.
2043
2044         In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override
2045         that value.
2046
2047         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2048         (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls.
2049
2050 2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2051
2052         WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results
2053         https://bugs.webkit.org/show_bug.cgi?id=170653
2054
2055         Reviewed by Tim Horton.
2056
2057         When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage,
2058         which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the
2059         platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web
2060         snapshot from TestInvocation::dumpPixelsAndCompareWithExpected().
2061
2062         * WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage().
2063         * WebKitTestRunner/TestInvocation.cpp:
2064         (WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel
2065         results were created in the web process.
2066         * WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected().
2067         * WebKitTestRunner/cairo/TestInvocationCairo.cpp:
2068         (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case
2069         of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
2070         * WebKitTestRunner/cg/TestInvocationCG.cpp:
2071         (WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed.
2072         (WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage().
2073         (WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage.
2074         (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web
2075         contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
2076         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2077         (WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use
2078         RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque).
2079         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2080         (WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage.
2081         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2082         (WTR::PlatformWebView::windowSnapshotImage): Ditto.
2083
2084 2017-04-10  Chris Dumez  <cdumez@apple.com>
2085
2086         Drop Timer::startOneShot() overload taking a double
2087         https://bugs.webkit.org/show_bug.cgi?id=170659
2088
2089         Reviewed by Yusuke Suzuki.
2090
2091         Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
2092
2093         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
2094         (TestWebKitAPI::TEST):
2095         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2096         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2097
2098 2017-04-09  Wenson Hsieh  <wenson_hsieh@apple.com>
2099
2100         [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
2101         https://bugs.webkit.org/show_bug.cgi?id=170658
2102         <rdar://problem/31431450>
2103
2104         Reviewed by Tim Horton.
2105
2106         Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction
2107         does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it
2108         should complete before the unresponsiveness timeout is triggered.
2109
2110         See WebKit2 ChangeLog for more details.
2111
2112         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2113         (TestWebKitAPI::TEST):
2114
2115 2017-04-09  Chris Dumez  <cdumez@apple.com>
2116
2117         Drop Timer::startRepeating() overload taking a double
2118         https://bugs.webkit.org/show_bug.cgi?id=170656
2119
2120         Reviewed by Yusuke Suzuki.
2121
2122         Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.
2123
2124         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
2125         (TestWebKitAPI::TEST):
2126
2127 2017-04-09  Youenn Fablet  <youenn@apple.com>
2128
2129         Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
2130         https://bugs.webkit.org/show_bug.cgi?id=170647
2131
2132         Reviewed by Sam Weinig.
2133
2134         * Scripts/webkitpy/common/checkout/scm/git.py:
2135         (Git.fetch): Fetching origin remote in case there is more than one.
2136
2137 2017-04-08  Simon Fraser  <simon.fraser@apple.com>
2138
2139         Update CSSProperties.json with correct fill-and-stroke status, and other cleanup
2140         https://bugs.webkit.org/show_bug.cgi?id=170643
2141
2142         Reviewed by Chris Dumez.
2143         
2144         Update the CSSProperties.json style checker to allow:
2145             - comments in codegen_properties
2146             - obsolete-category and obsolete-url in specification blocks
2147             - renamed "done" to "supported"
2148             
2149         Fix some references to codegen_properties to be codegen-properties.
2150
2151         * Scripts/webkitpy/style/checkers/jsonchecker.py:
2152         (JSONCSSPropertiesChecker.validate_status_type):
2153         (JSONCSSPropertiesChecker.validate_property_specification):
2154         (JSONCSSPropertiesChecker.check_codegen_properties):
2155
2156 2017-04-08  Youenn Fablet  <youenn@apple.com>
2157
2158         WebRTC tests gardening
2159         https://bugs.webkit.org/show_bug.cgi?id=170508
2160
2161         Reviewed by Eric Carlson.
2162
2163         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2164
2165 2017-04-07  Keith Miller  <keith_miller@apple.com>
2166
2167         Add a PriorityQueue class
2168         https://bugs.webkit.org/show_bug.cgi?id=170579
2169
2170         Reviewed by Saam Barati.
2171
2172         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2173         * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: Added.
2174         (operator  _z ):
2175         (enqueue):
2176         (dequeue):
2177         (TEST):
2178         (compareMove):
2179
2180 2017-04-07  Ryosuke Niwa  <rniwa@webkit.org>
2181
2182         Replace ES6SampleBench by ARES-6 in run-benchmark
2183         https://bugs.webkit.org/show_bug.cgi?id=170585
2184
2185         Reviewed by Saam Barati.
2186
2187         Updated the plan file for ES6SampleBench to run ARES-6 instead. Also increased the number of iterations
2188         from 4 to 8 to match teh default, and reduced the number of browser instances to use from 5 to 3.
2189
2190         * Scripts/webkitpy/benchmark_runner/data/patches/ARES-6.patch: Renamed from ES6SampleBench.patch.
2191         * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan: Renamed from es6bench.plan.
2192
2193 2017-04-07  Myles C. Maxfield  <mmaxfield@apple.com>
2194
2195         REGRESSION(r211382): Complex text with justification erroneously overflows containers
2196         https://bugs.webkit.org/show_bug.cgi?id=170399
2197         <rdar://problem/31442008>
2198
2199         Reviewed by Simon Fraser.
2200
2201         Check for the invariant that the sum of the advances is equal to m_totalWidth.
2202
2203         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
2204         (TestWebKitAPI::TEST_F):
2205
2206 2017-04-07  Ryan Haddad  <ryanhaddad@apple.com>
2207
2208         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
2209         https://bugs.webkit.org/show_bug.cgi?id=167594
2210
2211         Unreviewed test gardening.
2212
2213         Disable this test because it is still timing out on the bots.
2214
2215         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
2216         (TEST):
2217
2218 2017-04-07  Jonathan Bedard  <jbedard@apple.com>
2219
2220         REGRESSION (r214553): Allow layout-tests to be run from Xcode without re-directing stdout, stdin and stderr
2221         https://bugs.webkit.org/show_bug.cgi?id=170601
2222         <rdar://problem/31492696>
2223
2224         Reviewed by Simon Fraser.
2225
2226         * TestRunnerShared/IOSLayoutTestCommunication.cpp:
2227         (setUpIOSLayoutTestCommunication): Skip TCP setup if no port is in the environment.
2228         (tearDownIOSLayoutTestCommunication): Only teardown if TCP was used.
2229
2230 2017-04-07  Aakash Jain  <aakash_jain@apple.com>
2231
2232         Add support for test262 JavaScriptCore tests
2233         https://bugs.webkit.org/show_bug.cgi?id=170523
2234
2235         Reviewed by Daniel Bates.
2236
2237         * BuildSlaveSupport/build.webkit.org-config/config.json: Added bot433 and bot434.
2238         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2239         (RunTest262Tests): Added class to run Test262 tests.
2240         (RunTest262Tests.start): Added.
2241         (RunTest262Tests.countFailures): Method to count the failures.
2242         (Test262Factory): Added Test262 factory class.
2243         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2244         (RunTest262TestsTest): Added unit tests.
2245         (RunTest262TestsTest.assertResults): Helper method.
2246         (RunTest262TestsTest.test_no_regressions_output): Added test case.
2247         (test_failure_output): Same. 
2248         (test_failures_output): Same.
2249
2250 2017-04-07  Caio Lima  <ticaiolima@gmail.com>
2251
2252         [JSC] Change --debug option to --debugger
2253         https://bugs.webkit.org/show_bug.cgi?id=170587
2254
2255         Reviewed by Keith Miller.
2256
2257         * Scripts/run-jsc:
2258
2259         This patch is changing the new debugger flag for Tools/Scripts/run-jsc
2260         to --debugger to avoid shadowing --debug flag used to run JSC with
2261         Debug build.
2262
2263 2017-04-07  Brent Fulgham  <bfulgham@apple.com>
2264
2265         WebKit should percent encode single quotes in query strings
2266         https://bugs.webkit.org/show_bug.cgi?id=170561
2267         <rdar://problem/7415154>
2268
2269         Reviewed by Alex Christensen.
2270
2271         Add a test case for single-quote in the URL query string.
2272
2273         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2274
2275 2017-04-06  Myles C. Maxfield  <mmaxfield@apple.com>
2276
2277         Make FontWithFeatures test font pass OTS
2278         https://bugs.webkit.org/show_bug.cgi?id=169788
2279
2280         Reviewed by Tim Horton.
2281
2282         OTS, or the OpenType Sanitizer, is a check which tells if fonts are properly formed.
2283         Previously, our FontWithFeatures test font did not pass this check. This patch updates
2284         the font to pass the checks. Now, we can use this font on other platforms, and
2285         contribute the font to the W3C for testing the CSS Fonts level 3 spec.
2286
2287         * FontWithFeatures/FontWithFeatures/FontCreator.cpp:
2288         (Generator::appendCFFTable):
2289         (Generator::Feature::operator<):
2290         (Generator::appendGSUBTable):
2291         (Generator::appendOS2Table):
2292         (Generator::appendFormat4CMAPTable):
2293         (Generator::appendHEADTable):
2294         (Generator::appendHHEATable):
2295         (Generator::NameRecord::operator<):
2296         (Generator::appendNameSubtable):
2297         (Generator::appendNAMETable):
2298
2299 2017-04-06  Alexey Proskuryakov  <ap@apple.com>
2300
2301         Disable flaky WebKit2.ResizeWithHiddenContentDoesNotHang
2302         for https://bugs.webkit.org/show_bug.cgi?id=170195
2303
2304         * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
2305
2306 2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>
2307
2308         Unreviewed, rolling out r215046.
2309
2310         This change broke internal builds.
2311
2312         Reverted changeset:
2313
2314         "WebRTC tests gardening"
2315         https://bugs.webkit.org/show_bug.cgi?id=170508
2316         http://trac.webkit.org/changeset/215046
2317
2318 2017-04-06  Youenn Fablet  <youenn@apple.com>
2319
2320         WebRTC tests gardening
2321         https://bugs.webkit.org/show_bug.cgi?id=170508
2322
2323         Reviewed by Eric Carlson.
2324
2325         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2326
2327 2017-04-06  Jonathan Bedard  <jbedard@apple.com>
2328
2329         REGRESSION: Simulators failing to install after launch_app times out
2330         <rdar://problem/31478107>
2331
2332         Unreviewed infrastructure fix.
2333
2334         * Scripts/webkitpy/xcode/simulated_device.py:
2335         (SimulatedDevice.launch_app._install_timeout): Raise RuntimeError, not Exception.
2336
2337 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
2338
2339         test262: module test progressions need updated expectations (@@iterator changes)
2340         https://bugs.webkit.org/show_bug.cgi?id=170535
2341
2342         Reviewed by Saam Barati.
2343
2344         * Scripts/run-jsc-stress-tests:
2345         Add :failDueToOutdatedOrBadTest to distinguish between a test failure
2346         in JavaScriptCore or an outdated or incorrect test262 test.
2347
2348 2017-04-05  Joseph Pecoraro  <pecoraro@apple.com>
2349
2350         Remove run-jsc-stress-tests benign warning about otool '-S' switch
2351         https://bugs.webkit.org/show_bug.cgi?id=170527
2352
2353         Reviewed by Aakash Jain.
2354
2355         * Scripts/run-jsc-stress-tests:
2356         The switch is not necessary and produces an error.
2357
2358 2017-04-05  Jonathan Bedard  <jbedard@apple.com>
2359
2360         webkitpy: Add pid logging for simulator processes
2361         https://bugs.webkit.org/show_bug.cgi?id=170505
2362
2363         Reviewed by Alexey Proskuryakov.
2364
2365         * Scripts/webkitpy/port/simulator_process.py:
2366         (SimulatorProcess._start.handler): Add pid to exception.
2367         (SimulatorProcess._start): Ditto.
2368         * Scripts/webkitpy/xcode/simulated_device.py:
2369         (SimulatedDevice.launch_app): Log pid when the process fails to launch and when
2370         a pid is successfully returned.
2371
2372 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
2373
2374         Unreviewed, rolling out r214932.
2375
2376         This change broke an internal build.
2377
2378         Reverted changeset:
2379
2380         "[ios-simulator] API test WebKit2.DataDetectionReferenceDate
2381         timing out"
2382         https://bugs.webkit.org/show_bug.cgi?id=161967
2383         http://trac.webkit.org/changeset/214932
2384
2385 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
2386
2387         Unreviewed, rolling out r214962.
2388
2389         Roll r214937 back in because it wasn't at fault for the build
2390         breakage.
2391
2392         Reverted changeset:
2393
2394         "Unreviewed, rolling out r214937."
2395         https://bugs.webkit.org/show_bug.cgi?id=170365
2396         http://trac.webkit.org/changeset/214962
2397
2398 2017-04-05  Ryan Haddad  <ryanhaddad@apple.com>
2399
2400         Unreviewed, rolling out r214937.
2401
2402         This change broke an internal build.
2403
2404         Reverted changeset:
2405
2406         "REGRESSION (r202472): Data Detection overwrites existing
2407         links in detected ranges"
2408         https://bugs.webkit.org/show_bug.cgi?id=170365
2409         http://trac.webkit.org/changeset/214937
2410
2411 2017-04-05  Jonathan Bedard  <jbedard@apple.com>
2412
2413         Increase timeouts for simulator testing
2414         Unreviewed infrastructure fix.
2415
2416         r214895 was not sufficient, increasing timeouts again.
2417
2418         * Scripts/webkitpy/xcode/simulated_device.py:
2419         (SimulatedDevice.install_app): Increase timeout from 3 to 10 seconds.
2420
2421 2017-04-05  Aakash Jain  <aakash_jain@apple.com>
2422
2423         Formatting fix to remove extra space.
2424
2425         Unreviewed formatting fix.
2426
2427         * Scripts/webkitdirs.pm:
2428         (isEmbeddedWebKit): Remove extra space.
2429
2430 2017-04-05  Aakash Jain  <aakash_jain@apple.com>
2431
2432         Rename isIOSLikeWebKit to isEmbeddedWebKit.
2433
2434         Rubber-stamped by Alexey Proskuryakov. 
2435
2436         * Scripts/webkitdirs.pm:
2437         (isEmbeddedWebKit): Added
2438         (isIOSLikeWebKit): Deleted.
2439
2440 2017-04-05  Alex Christensen  <achristensen@webkit.org>
2441
2442         Fix CMake build.
2443
2444         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
2445         * TestRunnerShared/spi/CoreGraphicsSPI.h: Removed.
2446         * TestRunnerShared/spi/CoreGraphicsTestSPI.h: Copied from Tools/TestRunnerShared/spi/CoreGraphicsSPI.h.
2447         There is a CoreGraphicsSPI.h in WebCore and the CMake build was finding the wrong one.
2448         Since we just inherit the include paths from WebCore in the CMake build and since this SPI is only used for testing,
2449         I just renamed CoreGraphicsSPI.h to CoreGraphicsTestSPI.h to avoid any name collisions.
2450         * WebKitTestRunner/PlatformMac.cmake:
2451         Add some missing files.
2452         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2453
2454 2017-04-05  Keith Miller  <keith_miller@apple.com>
2455
2456         Add debug option to run-jsc script
2457         https://bugs.webkit.org/show_bug.cgi?id=170503
2458
2459         Reviewed by Yusuke Suzuki.
2460
2461         Adds a new option to the run-jsc script so that when passed
2462         "--debug" it will wrap the jsc call with an lldb invocation. If
2463         someone wishes to use a different debugger they can set the
2464         DEBUGGER environment variable. Additionally, run-jsc now exits
2465         with the exit status of the jsc call.
2466
2467         * Scripts/run-jsc:
2468
2469 2017-04-05  Andy Estes  <aestes@apple.com>
2470
2471         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
2472         https://bugs.webkit.org/show_bug.cgi?id=170365
2473         <rdar://problem/29205721>
2474
2475         Reviewed by Tim Horton.
2476
2477         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
2478         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
2479         (TEST): Re-enabled the test, which now passes.
2480
2481 2017-04-05  Andy Estes  <aestes@apple.com>
2482
2483         [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
2484         https://bugs.webkit.org/show_bug.cgi?id=167594
2485
2486         Re-enabled this API test now that webkit.org/b/161967 is fixed.
2487
2488         * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
2489         (TEST):
2490
2491 2017-04-05  Andy Estes  <aestes@apple.com>
2492
2493         [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
2494         https://bugs.webkit.org/show_bug.cgi?id=161967
2495
2496         Reviewed by Alexey Proskuryakov.
2497
2498         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
2499         (TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
2500
2501 2017-04-04  Simon Fraser  <simon.fraser@apple.com>
2502
2503         Various settings in Minibrowser are off by default, and should be on
2504         https://bugs.webkit.org/show_bug.cgi?id=170465
2505         rdar://problem/31421543
2506
2507         Reviewed by Tim Horton.
2508
2509         Explicitly set preferences that should be on by default to enabled, if they have not been
2510         set previously.
2511
2512         * MiniBrowser/mac/SettingsController.m:
2513         (-[SettingsController init]):
2514
2515 2017-04-04  JF Bastien  <jfbastien@apple.com>
2516
2517         Add JF Bastien as reviewer
2518         https://bugs.webkit.org/show_bug.cgi?id=170481
2519
2520         Reviewed by Mark Lam.
2521
2522         * Scripts/webkitpy/common/config/contributors.json:
2523
2524 2017-04-04  Jonathan Bedard  <jbedard@apple.com>
2525
2526         Increase timeouts for simulator testing
2527
2528         Unreviewed infrastructure fix.
2529
2530         * Scripts/webkitpy/port/simulator_process.py:
2531         (SimulatorProcess._start): Increase timeout from 3 to 6 seconds.
2532         * Scripts/webkitpy/xcode/simulated_device.py:
2533         (SimulatedDevice.install_app): Increase timeout from 1 to 3 seconds.
2534
2535 2017-04-04  Tim Horton  <timothy_horton@apple.com>
2536
2537         [Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps
2538         https://bugs.webkit.org/show_bug.cgi?id=165801
2539         <rdar://problem/29649535>
2540
2541         Reviewed by Wenson Hsieh.
2542
2543         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
2544         (TEST):
2545         Add some tests for wrapping finds.
2546
2547 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
2548
2549         Add some new patterns to filter-build-webkit
2550         https://bugs.webkit.org/show_bug.cgi?id=170429
2551
2552         Reviewed by Alexey Proskuryakov.
2553
2554         * Scripts/filter-build-webkit:
2555         (setOutputFormatOption):
2556
2557 2017-04-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2558
2559         Data interaction should register type identifiers in order of priority
2560         https://bugs.webkit.org/show_bug.cgi?id=170428
2561         <rdar://problem/30633296>
2562
2563         Reviewed by Tim Horton.
2564
2565         Augments existing unit tests to check for the existence and priority of type identifiers in the UIItemProviders
2566         created upon starting data interaction. Also fixes a race condition in one of the unit tests and adds a new unit
2567         test for data interaction from a textarea to an input.
2568
2569         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2570         (checkTypeIdentifierPrecedesOtherTypeIdentifier):
2571         (TestWebKitAPI::TEST):
2572         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2573         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2574         (-[DataInteractionSimulator _advanceProgress]):
2575         (-[DataInteractionSimulator sourceItemProviders]):
2576         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
2577
2578 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2579
2580         [GTK][JHBuild] Update mesa repository url for tarballs
2581         https://bugs.webkit.org/show_bug.cgi?id=170431
2582
2583         Reviewed by Michael Catanzaro.
2584
2585         * gtk/jhbuild.modules:
2586
2587 2017-04-03  Joseph Pecoraro  <pecoraro@apple.com>
2588
2589         TestWebKitAPI: Warning: Multiple build commands for Ahem.ttf
2590         https://bugs.webkit.org/show_bug.cgi?id=170430
2591
2592         Reviewed by Alexey Proskuryakov.
2593
2594         * TestWebKitAPI/Tests/mac/Ahem.ttf: Removed.
2595         Eliminate one of the copies of Ahem.ttf.
2596
2597         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2598         Once eliminated, there is now only one Ahem.ttf that is copied
2599         to the Resources bundle. Drive-by sort the project file.
2600
2601 2017-04-03  Simon Fraser  <simon.fraser@apple.com>
2602
2603         Allow MiniBrowser windows to receive local file drags again
2604         https://bugs.webkit.org/show_bug.cgi?id=170422
2605
2606         Reviewed by Wenson Hsieh.
2607
2608         Adopt the new UIDelegate SPI to allow drops.
2609
2610         * MiniBrowser/mac/WK2BrowserWindowController.m:
2611         (-[WK2BrowserWindowController _webView:dragDestinationActionMaskForDraggingInfo:]):
2612
2613 2017-04-03  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2614
2615         [GTK][JHBuild] Fetch libvpx from a release tarball instead of git
2616         https://bugs.webkit.org/show_bug.cgi?id=170426
2617
2618         Reviewed by Michael Catanzaro.
2619
2620         * gtk/jhbuild.modules:
2621
2622 2017-04-03  Nan Wang  <n_wang@apple.com>
2623
2624         AX: Expose link children when doing search predication on iOS
2625         https://bugs.webkit.org/show_bug.cgi?id=170424
2626         <rdar://problem/31413335>
2627
2628         Reviewed by Chris Fleizach.
2629
2630         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2631         (AccessibilityUIElement::uiElementForSearchPredicate):
2632         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2633         (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
2634
2635 2017-04-03  Brian Burg  <bburg@apple.com>
2636
2637         run-safari should support launching with custom language and locale
2638         https://bugs.webkit.org/show_bug.cgi?id=170397
2639
2640         Reviewed by Alexey Proskuryakov.
2641
2642         Hook up -AppleLanguages and -AppleLocale to command line options.
2643
2644         * Scripts/webkitdirs.pm:
2645         (printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
2646         (argumentsForRunAndDebugMacWebKitApp):
2647
2648 2017-04-03  Jonathan Bedard  <jbedard@apple.com>
2649
2650         webkitpy: Provide option to skip install
2651         https://bugs.webkit.org/show_bug.cgi?id=170344
2652
2653         Reviewed by Alexey Proskuryakov.
2654
2655         Installing can take time for on device testing.  Provide an option to skip install
2656         and use whatever driver is currently installed on the device or simulator.
2657
2658         * Scripts/webkitpy/port/base.py:
2659         (Port.check_build): Do not check driver if skipping install.
2660         * Scripts/webkitpy/port/factory.py:
2661         (platform_options): Add '--no-install' option.
2662         * Scripts/webkitpy/port/ios.py:
2663         (IOSPort.setup_test_run): Check install option before installing.
2664
2665 2017-04-03  Keith Miller  <keith_miller@apple.com>
2666
2667         WebAssembly: Update spec tests
2668         https://bugs.webkit.org/show_bug.cgi?id=170361
2669
2670         Rubber-stamped by Saam Barati.
2671
2672         Update the runner to know the new wasm spec test harness code.
2673
2674         * Scripts/run-jsc-stress-tests:
2675
2676 2017-04-01  Alexey Proskuryakov  <ap@apple.com>
2677
2678         Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.
2679
2680         Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
2681         https://bugs.webkit.org/show_bug.cgi?id=170365
2682
2683         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
2684
2685 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
2686
2687         Mac cmake buildfix after 214586.
2688         https://bugs.webkit.org/show_bug.cgi?id=170381
2689
2690         Unreviewed speculative buildfix.
2691
2692         * WebKitTestRunner/PlatformMac.cmake:
2693
2694 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
2695
2696         Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
2697         https://bugs.webkit.org/show_bug.cgi?id=161675
2698
2699         * WebKitTestRunner/PlatformMac.cmake:
2700
2701 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
2702
2703         webkitpy: Add target host concept
2704         https://bugs.webkit.org/show_bug.cgi?id=170186
2705         <rdar://problem/31301797>
2706
2707         Reviewed by Alexey Proskuryakov.
2708
2709         Adding the idea of a target host. Target hosts are objects conforming to the
2710         structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
2711         Target hosts are the hosts associated with a worker process.
2712
2713         * Scripts/webkitpy/common/system/filesystem.py:
2714         (FileSystem.map_base_host_path): Convert a path from an absolute path on the base
2715         host to an absolute path on this host.
2716         (FileSystem.move_to_base_host): Move file from this host to the base host.
2717         (FileSystem.move_from_base_host): Move file from the base host to this host.
2718         (FileSystem.copy_to_base_host): Copy file from this host to the base host.
2719         (FileSystem.copy_from_base_host): Copy file from the base host to this host.
2720         * Scripts/webkitpy/common/system/filesystem_mock.py:
2721         (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
2722         host to an absolute path on this host.
2723         (MockFileSystem.move_to_base_host): Move file from this host to the base host.
2724         (MockFileSystem.move_from_base_host): Move file from the base host to this host.
2725         (MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
2726         (MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
2727         * Scripts/webkitpy/port/base.py:
2728         (Port.target_host): Return host determined by worker number.
2729         (Port.abspath_for_test): Accept optional target_host argument to return location
2730         of test on a target host.
2731         (Port._driver_tempdir): Accept optional target_host argument to return a temporary
2732         directory on a target host.
2733         (Port.sample_process): Accept optional target_host argument to sample process on
2734         a target host.
2735         * Scripts/webkitpy/port/darwin.py:
2736         (DarwinPort.sample_process): Run sample process on target host.
2737         (DarwinPort.sample_file_path): Accept directory for file.
2738         (DarwinPort.spindump_file_path): Ditto.
2739         * Scripts/webkitpy/port/darwin_testcase.py:
2740         (DarwinTest.test_spindump): Check file movement.
2741         (DarwinTest.test_sample_process): Ditto.
2742         (DarwinTest.test_sample_process_exception):
2743         * Scripts/webkitpy/port/driver.py:
2744         (Driver.__init__): Add and set self._target_host variable.
2745         (Driver._start): Pass target host to _driver_tempdir().
2746         (Driver.stop): Call the target host's rmtree.
2747         (Driver._check_for_driver_timeout): Pass target host to sample_process.
2748         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
2749         (Driver._command_from_driver_input): Pass target host to abspath_for_test and map
2750         layout test directory to target host.
2751         * Scripts/webkitpy/port/ios.py:
2752         (IOSPort):
2753         (IOSPort.target_host): Replaced device_for_worker_number.
2754         (IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
2755         (IOSPort.device_for_worker_number): Replaced with target_host.
2756         * Scripts/webkitpy/port/server_process.py:
2757         (ServerProcess.__init__): Accept target_host instead of worker_number.
2758         (ServerProcess._start): Replace _host with _target_host.
2759         (ServerProcess._handle_timeout): Ditto.
2760         (ServerProcess._kill): Ditto.
2761         * Scripts/webkitpy/port/simulator_process.py:
2762         (SimulatorProcess.__init__): Accept target_host instead of worker_number.
2763         (SimulatorProcess._start): Replace _device with _target_host.
2764         (SimulatorProcess.stop): Ditto.
2765         (SimulatorProcess._kill): Deleted.
2766
2767 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
2768
2769         Unreviewed fix after r214569
2770         https://bugs.webkit.org/show_bug.cgi?id=170255
2771
2772         Unreviewed infrastructure fix.
2773
2774         * Scripts/webkitpy/port/ios.py:
2775         (IOSPort.clean_up_test_run): Check if the device is defined before teardown.
2776
2777 2017-03-31  Andy Estes  <aestes@apple.com>
2778
2779         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
2780         https://bugs.webkit.org/show_bug.cgi?id=170365
2781         <rdar://problem/29205721>
2782
2783         Reviewed by Tim Horton.
2784
2785         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
2786         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
2787         (TEST): Re-enabled the test, which now passes.
2788
2789 2017-03-31  Tim Horton  <timothy_horton@apple.com>
2790
2791         Mail can get stuck underneath FindController::findStringMatches after searching in a long message
2792         https://bugs.webkit.org/show_bug.cgi?id=170326
2793         <rdar://problem/30330395>
2794
2795         Reviewed by Simon Fraser.
2796
2797         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
2798         (TEST):
2799
2800 2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2801
2802         Unreviewed. Fix WTR crashes in GTK+ port after r214413.
2803
2804         Fixes: http/tests/ssl/upgrade-origin-usage.html
2805                http/tests/websocket/tests/hybi/network-process-crash-error.html
2806                http/tests/websocket/tests/hybi/simple-wss.html
2807
2808         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2809         (WTR::TestController::platformContext): Return the context.
2810
2811 2017-03-30  Sam Weinig  <sam@webkit.org>
2812
2813         Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
2814         https://bugs.webkit.org/show_bug.cgi?id=170315
2815
2816         Reviewed by Simon Fraser.
2817
2818         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2819         * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
2820         Add test showing the completion handler is called.
2821
2822 2017-03-30  Filip Pizlo  <fpizlo@apple.com>
2823
2824         Air should support linear scan for optLevel<2
2825         https://bugs.webkit.org/show_bug.cgi?id=170161
2826
2827         Reviewed by Saam Barati.
2828         
2829         This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
2830         pipeline.
2831
2832         * Scripts/run-jsc-stress-tests:
2833
2834 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
2835
2836         Support tvOS and watchOS in webkitdirs.pm
2837         https://bugs.webkit.org/show_bug.cgi?id=170267
2838
2839         Reviewed by Alexey Proskuryakov.
2840
2841         * Scripts/webkitdirs.pm:
2842         (determineXcodeSDK): Evaluate sdk for tvos and watchos.
2843         (xcodeSDKPlatformName): Added support for tvos and watchos.
2844         (determinePortName): Same.
2845         (isAppleCocoaWebKit): Same.
2846         (willUseAppleTVDeviceSDK): Added.
2847         (willUseAppleTVSimulatorSDK): Added.
2848         (willUseWatchDeviceSDK): Added.
2849         (willUseWatchSimulatorSDK): Added.
2850         (isTVOSWebKit): Added.
2851         (isWATCHOSWebKit): Added.
2852         (isIOSLikeWebKit): Added.
2853
2854 2017-03-30  Wenson Hsieh  <wenson_hsieh@apple.com>
2855
2856         [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active
2857         https://bugs.webkit.org/show_bug.cgi?id=170291
2858         <rdar://problem/31301388>
2859
2860         Reviewed by Tim Horton.
2861
2862         Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as
2863         well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the
2864         shared UIApplication, and verify that data interaction completes successfully.
2865
2866         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2867         (TestWebKitAPI::TEST):
2868         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2869         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2870         (-[DataInteractionSimulatorApplication _cancelAllTouches]):
2871         (-[DataInteractionSimulator initWithWebView:]):
2872         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
2873         (-[DataInteractionSimulator runFrom:to:]):
2874         (-[DataInteractionSimulator _advanceProgress]):
2875         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
2876
2877 2017-03-30  Per Arne Vollan  <pvollan@apple.com>
2878
2879         [Win] Pass close_fds = True in Python popen call.
2880         https://bugs.webkit.org/show_bug.cgi?id=170172
2881
2882         Reviewed by Brent Fulgham.
2883
2884         This was previously not supported on Windows, but in Python 2.7.10 it is.
2885
2886         * Scripts/webkitpy/common/system/executive.py:
2887         (Executive._should_close_fds):
2888         * Scripts/webkitpy/port/server_process.py:
2889         (ServerProcess._start):
2890
2891 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
2892
2893         Change my status to be a WebKit reviewer.
2894
2895         Unreviewed status update edit.
2896
2897         * Scripts/webkitpy/common/config/contributors.json:
2898
2899 2017-03-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2900
2901         Change my status to be a WebKit reviewer.
2902
2903         Unreviewed status update edit.
2904
2905         * Scripts/webkitpy/common/config/contributors.json:
2906
2907 2017-03-29  Tim Horton  <timothy_horton@apple.com>
2908
2909         Swipe gesture tests don't work on macOS Sierra
2910         https://bugs.webkit.org/show_bug.cgi?id=161675
2911         <rdar://problem/23379930>
2912
2913         Reviewed by Darin Adler.
2914
2915         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2916         (WTR::UIScriptController::platformPlayBackEventStream):
2917         (WTR::UIScriptController::beginBackSwipe):
2918         (WTR::UIScriptController::completeBackSwipe):
2919         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
2920         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
2921         (eventIsOfType):
2922         (eventIsOfTypes):
2923         (eventIsOfGestureType):
2924         (eventIsOfGestureTypes):
2925         (+[EventSerializer dictionaryForEvent:relativeToTime:]):
2926         (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
2927         (+[EventSerializer playEventStream:inWindow:completionHandler:]):
2928         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
2929         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
2930         (beginSwipeBackEventStream):
2931         (completeSwipeBackEventStream):
2932         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2933         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2934         (WTR::UIScriptController::playBackEventStream):
2935         (WTR::UIScriptController::beginBackSwipe):
2936         (WTR::UIScriptController::completeBackSwipe):
2937         (WTR::UIScriptController::platformPlayBackEventStream):
2938         (WTR::UIScriptController::platformClearAllCallbacks): Deleted.
2939         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2940         * TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
2941         * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
2942         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2943         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2944         (WTR::playBackEvents):
2945         (WTR::UIScriptController::beginBackSwipe):
2946         (WTR::UIScriptController::completeBackSwipe):
2947         (WTR::UIScriptController::platformPlayBackEventStream):
2948
2949 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
2950
2951         webkitpy: Robust test clean-up
2952         https://bugs.webkit.org/show_bug.cgi?id=170255
2953
2954         Reviewed by Alexey Proskuryakov.
2955
2956         On-device testing is the motivation for this change.  Failure to run clean-up functions can
2957         result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
2958         test run.  Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
2959
2960         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2961         (Manager._set_up_run): Clean up test run if set-up fails.
2962         * Scripts/webkitpy/port/ios.py:
2963         (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
2964
2965 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
2966
2967         Simulator testing stops after the first crash
2968         <rdar://problem/31325362>
2969
2970         Unreviewed infrastructure fix.
2971
2972         * Scripts/webkitpy/xcode/simulated_device.py:
2973         (SimulatedDevice):
2974         (SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
2975
2976 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
2977
2978         webkitpy: Standardize web-server port definitions
2979         https://bugs.webkit.org/show_bug.cgi?id=170144
2980         <rdar://problem/31284026>
2981
2982         Reviewed by Daniel Bates.
2983
2984         Default web-server ports should be declared in global variables.
2985         Add functions to web-servers which return the ports these servers
2986         are using so that other tools can forward them.
2987
2988         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2989         (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
2990         * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
2991         (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
2992         * Scripts/webkitpy/layout_tests/servers/http_server.py:
2993         (Lighttpd.__init__): Use shared constants in http_server_base.py.
2994         (Lighttpd._prepare_config): Ditto.
2995         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
2996         (HttpServerBase): Add default port constants.
2997         (HttpServerBase.ports_to_forward): Add function to return ports used for http server.
2998         * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
2999         (TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
3000         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
3001          (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
3002         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
3003         (PyWebSocket): Make default port values public.
3004         (PyWebSocket.__init__): Use public default port.
3005         (PyWebSocket.ports_to_forward): Return port used in an array.
3006         * Scripts/webkitpy/port/base.py:
3007         (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
3008         (Port.to.start_websocket_server): Use PyWebSocket port constants.
3009
3010 2017-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3011
3012         Links with empty hrefs should not be drag sources
3013         https://bugs.webkit.org/show_bug.cgi?id=170241
3014         <rdar://problem/31305505>
3015
3016         Reviewed by Tim Horton.
3017
3018         Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
3019
3020         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3021         (TestWebKitAPI::TEST):
3022         * TestWebKitAPI/ios/DataInteractionSimulator.h:
3023
3024         Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
3025
3026         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3027         (-[DataInteractionSimulator phase]):
3028
3029 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
3030
3031         Use TCP instead of FIFOs for Simulator/Device communication
3032         https://bugs.webkit.org/show_bug.cgi?id=169419
3033         <rdar://problem/30949615>
3034
3035         Reviewed by Alexey Proskuryakov.
3036
3037         Using TCP instead of FIFOs when communicating with devices allows the device being tested
3038         to be on a different machine then the one handling the management of the test run.
3039
3040         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
3041         * DumpRenderTree/mac/DumpRenderTree.mm:
3042         (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
3043         * Scripts/webkitpy/port/device.py:
3044         (Device.__init__): Initialize the listening_socket.
3045         (Device.listening_port): Return port of listening socket.
3046         (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
3047         fro testing.
3048         (Device.finished_testing): Close listening socket associated with this device, call the
3049         platform device's finished_testing function if it exists.
3050         * Scripts/webkitpy/port/ios.py:
3051         (IOSPort.setup_test_run): Prepare each device for testing.
3052         (IOSPort.clean_up_test_run): Notify each device that testing has completed.
3053         * Scripts/webkitpy/port/ios_simulator.py:
3054         (IOSSimulatorPort): Work around device persistence bug.
3055         (IOSSimulatorPort.__init__): Ditto.
3056         * Scripts/webkitpy/port/simulator_process.py:
3057         (SimulatorProcess):
3058         (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
3059         Python 2’s makefile.
3060         (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
3061         (SimulatorProcess.ReadFileSocket.close): Close file and then socket;
3062         (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
3063         (SimulatorProcess.__getattr__): Expose all file attributes.
3064         (SimulatorProcess._accept_connection_create_file): Wait for connection from server and
3065         create and return a file-like object from the incoming connection.
3066         (SimulatorProcess._start): Use TCP connections instead of FIFOs.
3067         (SimulatorProcess._start.handler): Output server port in timeout exception.
3068         (SimulatorProcess._reset): Deleted.
3069         * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
3070         (connectToServer): Return socket connected to the provided server address.
3071         (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
3072         TCP server running on localhost.
3073         (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
3074         * TestRunnerShared/IOSLayoutTestCommunication.h: Added.
3075         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3076         * WebKitTestRunner/ios/TestControllerIOS.mm:
3077         (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
3078         instead of using FIFOs.
3079         (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
3080
3081 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
3082
3083         webkitpy: Add IOSDevicePort and IOSPort tests
3084         https://bugs.webkit.org/show_bug.cgi?id=170206
3085         <rdar://problem/31308364>
3086
3087         Reviewed by Alexey Proskuryakov.
3088
3089         * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
3090         * Scripts/webkitpy/port/ios_device_unittest.py: Added.
3091         (iosDeviceTest): Contains tests for the IOSDevicePort.
3092         (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
3093         (iosDeviceTest.test_operating_system): Check for the correct operating system.
3094         * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
3095         (iosSimulatorTest): Inherit from ios_testcase.
3096         (iosSimulatorTest.make_port): Ditto.
3097         (iosSimulatorTest.test_get_crash_log): Ditto.
3098         * Scripts/webkitpy/port/ios_testcase.py: Added.
3099         (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
3100         (iOSTest.test_driver_name): Tests for iOS app driver.
3101         (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
3102         * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
3103         * Scripts/webkitpy/port/port_testcase.py:
3104         (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
3105         (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
3106         (PortTestCase.test_diff_image_crashed): Ditto.
3107
3108 2017-03-28  Jason Marcell  <jmarcell@apple.com>
3109
3110         Fix `index-expected.txt` for dashboard test results.
3111         https://bugs.webkit.org/show_bug.cgi?id=170214
3112
3113         Reviewed by Alexey Proskuryakov.
3114
3115         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
3116
3117 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
3118
3119         Bot watcher's dashboard has separate settings for "mac" and "macos"
3120         https://bugs.webkit.org/show_bug.cgi?id=170164
3121
3122         Reviewed by Tim Horton.
3123
3124         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
3125         (Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
3126
3127 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
3128
3129         Fix dashboard test results on the dashboard
3130         https://bugs.webkit.org/show_bug.cgi?id=170158
3131
3132         Reviewed by Tim Horton.
3133
3134         Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
3135         further improved, as it's not super readable, but stdio is entirely useless in this context.
3136
3137         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
3138         (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
3139
3140         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
3141         Fixed a typo in step name, so that it's actually treated as productive.
3142
3143         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
3144         (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
3145         (BuildbotTesterQueueView.prototype.update):
3146         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
3147         Added special handling for dashboard test results.
3148
3149 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
3150
3151         Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
3152         https://bugs.webkit.org/show_bug.cgi?id=170193
3153
3154         Reviewed by Alexey Proskuryakov.
3155
3156         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
3157         Fixed the order of arguments.
3158
3159 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
3160
3161         Dashboard tests fails to fetch the revision from commits
3162         https://bugs.webkit.org/show_bug.cgi?id=170191
3163
3164         Reviewed by Alexey Proskuryakov.
3165
3166         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
3167         Added recordedCommitIndicesByRevisionNumber.
3168         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
3169         (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
3170
3171 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
3172
3173         Safari crashes when attempting to close tab that is displaying PDF
3174         https://bugs.webkit.org/show_bug.cgi?id=170201
3175         <rdar://problem/31242019>
3176
3177         Reviewed by Wenson Hsieh.
3178
3179         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
3180         (TEST):
3181         Add a test for doAfterNextStablePresentationUpdate just like the existing
3182         non-stable one.
3183
3184 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
3185
3186         webkitpy: Use host pattern for devices
3187         https://bugs.webkit.org/show_bug.cgi?id=170121
3188
3189         Reviewed by Daniel Bates.
3190
3191         Devices should be treated like hosts throughout webkitpy
3192         so that more code can be re-used.  Add the needed properties
3193         and use executive over custom implemented polling/killing
3194         functions.
3195
3196         * Scripts/webkitpy/port/device.py:
3197         (Device):
3198         (Device.executive): Add optional executive property.
3199         (Device.filesystem): Add optional filesystem property.
3200         (Device.user): Add optional user property.
3201         (Device.platform): Add optional platform property.
3202         (Device.workspace): Add optional workspace property.
3203         (Device.poll): Deleted.
3204         * Scripts/webkitpy/port/simulator_process.py:
3205         (SimulatorProcess.Popen.poll): Use the devices executive.
3206         (SimulatorProcess.stop): Ditto.
3207         (SimulatorProcess._kill): Ditto.
3208         * Scripts/webkitpy/xcode/simulated_device.py:
3209         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
3210         and workspace to the platform device.
3211         (SimulatedDevice.poll): Deleted.
3212
3213 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
3214
3215         Dashboard test fails with error: latestIterationGetter is not a function
3216         https://bugs.webkit.org/show_bug.cgi?id=170167
3217
3218         Reviewed by Alexey Proskuryakov.
3219
3220         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
3221         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
3222
3223 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3224
3225         Another test v8.
3226
3227 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3228
3229         Another test v7.
3230
3231 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3232
3233         Another test v6.
3234
3235 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3236
3237         Another test v5.
3238
3239 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3240
3241         Another test v4.
3242
3243 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3244
3245         Another test v3.
3246
3247 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3248
3249         Another test v2.
3250
3251 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3252
3253         Another test.
3254
3255 2017-03-27  Lucas Forschler  <lforschler@apple.com>
3256
3257         <rdar://problem/30949128>
3258         Update build.webkit.org to use port 16000 for PBChangeSource.
3259         
3260         Reviewed by Alexey Proskuryakov.
3261
3262         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3263
3264 2017-03-27  Jason Marcell  <jmarcell@apple.com>
3265
3266         Bots should run the dashboard tests
3267         https://bugs.webkit.org/show_bug.cgi?id=168994
3268
3269         Reviewed by Daniel Bates and David Kilzer.
3270
3271         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
3272
3273         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3274         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
3275         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
3276         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
3277         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
3278         (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.
3279         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
3280         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
3281         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
3282
3283 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
3284
3285         webkitpy: Look for 'ios' test expectations for IOSPorts
3286         https://bugs.webkit.org/show_bug.cgi?id=169413
3287
3288         Reviewed by Alexey Proskuryakov.
3289
3290         Test expectations for iOS tests should include the 'ios' folder.  Modify
3291         default_baseline_search_path to include 'ios' folder and derivatives for
3292         IOSPort.
3293
3294         * Scripts/webkitpy/port/ios.py:
3295         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
3296         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
3297         (IOSPort.test_expectations_file_position): Added for testing.
3298         * Scripts/webkitpy/port/ios_simulator.py:
3299         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
3300         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
3301
3302 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
3303
3304         REGRESSION: Reseting _device_map on each child process
3305         <rdar://problem/31274476>
3306
3307         Unreviewed infrastructure fix.
3308
3309         * Scripts/webkitpy/port/ios_simulator.py:
3310         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
3311         (IOSSimulatorPort.__init__): Use shared class variable
3312         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
3313         (IOSSimulatorPort._create_devices): Ditto.
3314         (IOSSimulatorPort._quit_ios_simulator): Ditto.
3315         (IOSSimulatorPort.clean_up_test_run): Ditto.
3316
3317 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
3318
3319         REGRESSION: Failing to iterate over Simulator.managed_devices map
3320         <rdar://problem/31274476>
3321
3322         Unreviewed infrastructure fix.
3323
3324         * Scripts/webkitpy/port/ios_simulator.py:
3325         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
3326
3327 2017-03-27  Alex Christensen  <achristensen@webkit.org>
3328
3329         Make WebSockets work in network process
3330         https://bugs.webkit.org/show_bug.cgi?id=169930
3331
3332         Reviewed by Youenn Fablet.
3333
3334         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3335         Add terminateNetworkProcess for the new test
3336         http/tests/websocket/tests/hybi/network-process-crash-error.html
3337         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3338         (WTR::TestRunner::setAllowsAnySSLCertificate):
3339         (WTR::TestRunner::terminateNetworkProcess):
3340         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3341         * WebKitTestRunner/TestController.cpp:
3342         (WTR::TestController::setAllowsAnySSLCertificate):
3343         (WTR::TestController::terminateNetworkProcess):
3344         * WebKitTestRunner/TestController.h:
3345         * WebKitTestRunner/TestInvocation.cpp:
3346         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3347         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3348         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3349         (WTR::TestController::platformContext):
3350         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
3351         (WTR::TestController::platformContext):
3352         (WTR::TestController::platformLibraryPathForTesting):
3353         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
3354         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
3355         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
3356         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
3357         which tests that wss works, but our test certificate has an invalid certificate chain.
3358         We want production software to not have the ability to have its security weakened, so this
3359         is a test code path that is only implemented in WebKitTestRunner.
3360
3361 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
3362
3363         webkitpy: Use generalized device instead of platform specific one
3364         https://bugs.webkit.org/show_bug.cgi?id=170078
3365
3366         Reviewed by Daniel Bates.
3367
3368         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
3369         should remain persistent.  Changing Device to a more explicit interface.
3370         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
3371         wrapping SimulatedDevices.
3372
3373         * Scripts/webkitpy/port/device.py: Added.
3374         (Device):
3375         (Device.__init__): Construct with platform device.
3376         (Device.install_app): Install app at app path on platform device.
3377         (Device.launch_app): Launch app with bundle ID on platform device.
3378         (Device.poll): Poll platform device.
3379         (Device.udid): Access platform device UDID.
3380         (Device.__nonzero__): Check if instantiated with a valid platform device.
3381         (Device.__eq__): Compare by udid.
3382         (Device.__ne__): Ditto.
3383         (Device.__repr__): Print out platform_device representation.
3384         * Scripts/webkitpy/port/ios_simulator.py:
3385         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
3386         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
3387         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
3388         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
3389         device map.
3390         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
3391         * Scripts/webkitpy/xcode/device.py: Removed.
3392         * Scripts/webkitpy/xcode/simulated_device.py:
3393         (SimulatedDevice):
3394         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
3395         (SimulatedDevice.__eq__): Compare two simulated devices.
3396         (SimulatedDevice.__ne__): Ditto.
3397         (SimulatedDevice.__repr__): Print name and udid.
3398
3399 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
3400
3401         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
3402         https://bugs.webkit.org/show_bug.cgi?id=170059
3403
3404         Reviewed by Carlos Garcia Campos.
3405
3406         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
3407         the only use of the method in this same file ignores the returned value anyway.
3408
3409 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
3410
3411         webkitpy should be able to run API tests
3412         https://bugs.webkit.org/show_bug.cgi?id=170028
3413
3414         Reviewed by Alexey Proskuryakov.
3415
3416         * Scripts/webkitpy/common/config/ports.py:
3417         (DeprecatedPort.run_api_tests_command): Added.
3418         * Scripts/webkitpy/port/base.py:
3419         (Port.api_results_directory): Added.
3420         * Scripts/webkitpy/tool/steps/runtests.py:
3421         (RunTests.run): Check if we should be running API tests.
3422         (RunTests._run_api_tests): Generate script to run API tests with json output.
3423         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
3424
3425 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
3426
3427         Add JSON results for API tests
3428         https://bugs.webkit.org/show_bug.cgi?id=170021
3429
3430         Reviewed by Alexey Proskuryakov.
3431
3432         * Scripts/run-api-tests:
3433         (runTestsBySuite): Appends failures and timeouts to JSON data.
3434         (writeJsonDataIfApplicable): Writes JSON data to a file.
3435
3436 2017-03-24  Lucas Forschler  <lforschler@apple.com>
3437
3438         update committer_auth.py to be python 2.7 compliant
3439         https://bugs.webkit.org/show_bug.cgi?id=170063
3440         
3441         Reviewed by Alexey Proskuryakov.
3442
3443         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
3444         (CommitterAuth.authenticate):
3445             convert e.message to e.args[0]
3446
3447 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
3448
3449         webkitpy: Parse JSON results from run-api-tests
3450         https://bugs.webkit.org/show_bug.cgi?id=170062
3451
3452         Reviewed by Alexey Proskuryakov.
3453
3454         * Scripts/webkitpy/common/net/apitestresults.py: Added.
3455         (APITestResults): Structure to represent API test results.
3456         (APITestResults.__init__):
3457         (APITestResults.intersection): Return the failures common to both sets of results.
3458         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
3459         (APITestResults.equals): Return True if both results were the same.
3460         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
3461         (APITestResults.all_passed): Return True if everything passed.
3462         (APITestResults.failing_tests): List of tests that didn't pass.
3463         (APITestResults.did_exceed_test_failure_limit): Always False.
3464         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
3465         (APITestResultsTest): Unit tests.
3466         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
3467         (APITestResultsReader): Read contents of JSON results file.
3468
3469 2017-03-24  Alex Christensen  <achristensen@webkit.org>
3470
3471         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
3472         https://bugs.webkit.org/show_bug.cgi?id=169167
3473
3474         Reviewed by Simon Fraser.
3475
3476         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
3477         (TestWebKitAPI::TEST_F):
3478         Test an example of a selector that was incorrectly determined to be invalid.
3479
3480 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
3481
3482         Increase timeout for booting simulators.
3483         <rdar://problem/31080009>
3484
3485         Unreviewed infrastructure fix.
3486
3487         * Scripts/webkitpy/xcode/simulator.py:
3488         (Simulator.wait_until_device_is_booted): Increase timeout.
3489         (Simulator.wait_until_device_is_in_state): Increase timeout.
3490
3491 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3492
3493         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
3494
3495         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
3496         in our unit tests to work.
3497
3498         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
3499         (testWebViewJavaScriptDialogs):
3500
3501 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3502
3503         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
3504         https://bugs.webkit.org/show_bug.cgi?id=170001
3505
3506         Reviewed by Michael Catanzaro.
3507
3508         Ignore style of xdgmime sources.
3509
3510         * Scripts/webkitpy/tool/steps/checkstyle.py:
3511
3512 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
3513
3514         Dragging on a large image should not revert to a file icon if data interaction is enabled
3515         https://bugs.webkit.org/show_bug.cgi?id=170018
3516         <rdar://problem/31184508>
3517
3518         Reviewed by Tim Horton.
3519
3520         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
3521         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
3522
3523         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3524         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
3525         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3526         (TestWebKitAPI::TEST):
3527
3528 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
3529
3530         Update WinCairoRequirements.zip
3531         https://bugs.webkit.org/show_bug.cgi?id=169950
3532
3533         Reviewed by Alex Christensen.
3534
3535         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
3536
3537 == Rolled over to ChangeLog-2017-03-23 ==