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