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