[LFC][Floats] Remove redundant intersecting logic
[WebKit-https.git] / Tools / ChangeLog-2017-03-23
1 2017-03-23  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2
3         buildbot: Fix mixing of tabs and spaces after r214172
4         https://bugs.webkit.org/show_bug.cgi?id=169793
5
6         Unreviewed.
7
8         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
9         (RunWebKitTests.evaluateCommand):
10
11 2017-03-22  Andy Estes  <aestes@apple.com>
12
13         [Cocoa] Add an option to exclude overflow when snapshotting a WKWebProcessPlugInNodeHandle
14         https://bugs.webkit.org/show_bug.cgi?id=169991
15         <rdar://problem/30141083>
16
17         Reviewed by Tim Horton.
18
19         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
20         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Added.
21         (-[RenderedImageWithOptionsObject didRenderImageWithSize:]):
22         (TEST):
23         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Added.
24         (-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
25         (-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
26         * TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Added.
27         * TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Added.
28
29 2017-03-22  Matt Rajca  <mrajca@apple.com>
30
31         Only run volume-related autoplay policy tests on Mac.
32         https://bugs.webkit.org/show_bug.cgi?id=169969
33
34         Reviewed by Alex Christensen.
35
36         iOS does not support volume changes to media elements so these tests are timing out.
37
38         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
39         (TEST):
40
41 2017-03-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
42
43         [Linux] determineArchitecture is not cross-compile aware
44         https://bugs.webkit.org/show_bug.cgi?id=169886
45
46         Reviewed by Michael Catanzaro.
47
48         Try to detect the target architecture name from the GCC triplet
49         when cross-building.
50
51         The aarch64 architecture is renamed to arm64 (this is coherent with
52         the rest of the perl tooling that consults the architecture determined
53         in determineArchitecture(), the check for this arch is always done
54         with the arm64 name).
55
56         * Scripts/webkitdirs.pm: Remove the isARM() function: its dead code
57         and not cross-build aware.
58         (determineArchitecture): When crossbuilding, try to detect the target
59         architecture name from the GCC triplet.
60         Remove also the fallback option to run the arch command, because this
61         command doesn't print the expected on Mac/BSD, and on Linux is the
62         same than uname -m. See https://bugs.webkit.org/show_bug.cgi?id=152958#c6
63         (isCrossCompilation): Some cross-compilers (buildroot one for example)
64         don't define the --host option. Add another option to detect that
65         we are cross-building by building a dummy program and checking if
66         we can run it.
67
68 2017-03-22  Carlos Garcia Campos  <cgarcia@igalia.com>
69
70         [GTK] Several WPT tests are failing since they were added in the last update in r213882
71         https://bugs.webkit.org/show_bug.cgi?id=169915
72
73         Reviewed by Michael Catanzaro.
74
75         Add libsoup patch to not fail loads when there's no empty line after the headers in responses with no body.
76
77         * gtk/jhbuild.modules:
78         * gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Added.
79
80 2017-03-20  Matt Rajca  <mrajca@apple.com>
81
82         Loosen audio playback restrictions when the volume is 0.
83         https://bugs.webkit.org/show_bug.cgi?id=169897
84
85         Reviewed by Eric Carlson.
86
87         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
88         * TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Added.
89         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
90         (TEST):
91
92 2017-03-21  Aakash Jain  <aakash_jain@apple.com>
93
94         EWS fails to parse_bug_id_from_attachment_page after bugzilla upgrade
95         https://bugs.webkit.org/show_bug.cgi?id=169937
96         <rdar://problem/31181859>
97
98         Reviewed by Alexey Proskuryakov.
99
100         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
101         (Bugzilla._parse_bug_id_from_attachment_page): Since rel tag is no longer present, parsing the bug id from bug_title. 
102         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Fixed unit test.
103
104 2017-03-21  Aakash Jain  <aakash_jain@apple.com>
105
106         ews should indicate in logs when it fails to parse_bug_id_from_attachment_page
107         https://bugs.webkit.org/show_bug.cgi?id=169927
108
109         Reviewed by  Alexey Proskuryakov.
110
111         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
112         (Bugzilla._parse_bug_id_from_attachment_page): Added log statement.
113
114 2017-03-20  Simon Fraser  <simon.fraser@apple.com>
115
116         Add a system trace point for memory warning handling
117         https://bugs.webkit.org/show_bug.cgi?id=169893
118
119         Reviewed by Zalan Bujtas.
120
121         Describe the new trace points.
122
123         * Tracing/SystemTracePoints.plist:
124
125 2017-03-20  Alex Christensen  <achristensen@webkit.org>
126
127         WebPageProxy DecidePolicyForNavigationAction and DecidePolicyForResponseSync should be Delayed reply messages
128         https://bugs.webkit.org/show_bug.cgi?id=167183
129         <rdar://problem/30203539>
130
131         Reviewed by Andy Estes.
132
133         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
134         (-[WebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
135
136 2017-03-20  Jonathan Bedard  <jbedard@apple.com>
137
138         webkitpy: Work around simctl launch returning dead processes
139         https://bugs.webkit.org/show_bug.cgi?id=169878
140
141         Reviewed by Daniel Bates.
142
143         simctl launch will sometimes give the PID of a process which has just been terminated.
144         To work around this, we will always check if the returned PID is of a process which is
145         still running.
146
147         * Scripts/webkitpy/port/simulator_process.py:
148         (SimulatorProcess.Popen.__init__): Accept device argument.
149         (SimulatorProcess.Popen.poll): Call device.poll().
150         (SimulatorProcess._start): Pass device into Popen object.
151         * Scripts/webkitpy/xcode/device.py:
152         (Device.poll): Added.
153         * Scripts/webkitpy/xcode/simulated_device.py:
154         (SimulatedDevice.install_app): Change attempts to timeout.
155         (SimulatedDevice.launch_app): Check that the process being returned is active, use a
156         timeout instead of attempts.
157         (SimulatedDevice):
158         (SimulatedDevice.poll): Added.
159
160 2017-03-20  Jonathan Bedard  <jbedard@apple.com>
161
162         buildbot: run-webkit-tests should display test failures and run exceptions differently
163         https://bugs.webkit.org/show_bug.cgi?id=169793
164         <rdar://problem/30987863>
165
166         Reviewed by Alexey Proskuryakov.
167
168         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
169         (RunWebKitTests.evaluateCommand): Return EXCEPTION when run-webkit-tests returns with a code of 254.
170
171 2017-03-17  Michael Saboff  <msaboff@apple.com>
172
173         Use USE_INTERNAL_SDK to compute ENABLE_FAST_JIT_PERMISSIONS instead of HAVE_INTERNAL_SDK
174         https://bugs.webkit.org/show_bug.cgi?id=169817
175
176         Reviewed by Filip Pizlo.
177
178         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
179
180 2017-03-16  Simon Fraser  <simon.fraser@apple.com>
181
182         Improve the system tracing points
183         https://bugs.webkit.org/show_bug.cgi?id=169790
184
185         Reviewed by Zalan Bujtas.
186
187         Use a more cohesive set of system trace points that give a good overview of what
188         WebKit is doing. Added points for resource loading, render tree building, sync messages
189         to the web process, async image decode, WASM and fetching cookies.
190
191         * Tracing/SystemTracePoints.plist:
192
193 2017-03-16  Youenn Fablet  <youenn@apple.com>
194
195         Wrap legacy WebRTC API in runtime flag
196         https://bugs.webkit.org/show_bug.cgi?id=169646
197
198         Reviewed by Alex Christensen.
199
200         * DumpRenderTree/mac/DumpRenderTree.mm:
201         (enableExperimentalFeatures):
202         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
203         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
204         (WTR::InjectedBundle::beginTesting):
205         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
206         (WTR::TestRunner::setWebRTCLegacyAPIEnabled):
207         * WebKitTestRunner/InjectedBundle/TestRunner.h:
208
209 2017-03-16  Brady Eidson  <beidson@apple.com>
210
211         Update the WKHTTPCookieStore API to be simpler and add observers.
212         <rdar://problem/31096000> and https://bugs.webkit.org/show_bug.cgi?id=169776
213
214         Reviewed by Alex Christensen.
215
216         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
217         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStorage.mm.
218         (-[CookieObserver cookiesDidChangeInCookieStore:]):
219         (TEST): Also test delete and observers.
220
221 2017-03-16  Kocsen Chung  <kocsen_chung@apple.com>
222
223         Fix quotes around --pretty format git flag.
224         https://bugs.webkit.org/show_bug.cgi?id=169712
225
226         Reviewed by Ryosuke Niwa.
227
228         Remove double quotes from command list element '--pretty="format:%ct"' since it will cause
229         subprocess to not work as expected.
230         Additionally, take advantage of `git -C` flag.
231
232         * Scripts/webkitpy/common/checkout/scm/git.py:
233         (Git.native_revision):
234         Take advantage of `git -C` flag.
235         (Git.timestamp_of_native_revision):
236         Take advantage of `git -C` flag and remove double quotes from git formatter.
237         We know this works from `committer_email_for_revision()` function.
238
239 2017-03-16  Alex Christensen  <achristensen@webkit.org>
240
241         Clean up WKContentExtension API
242         https://bugs.webkit.org/show_bug.cgi?id=169772
243
244         Reviewed by Geoffrey Garen.
245
246         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
247         (TEST_F):
248         (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
249
250 2017-03-16  Jonathan Bedard  <jbedard@apple.com>
251
252         webktpy: Fix device regular expression for parsing simctl output
253         https://bugs.webkit.org/show_bug.cgi?id=169757
254
255         Reviewed by Alex Christensen.
256
257         If a device is unavailable, the changes in r213164 mean that the
258         name of the device will consume the UDID and return the state as
259         the device UDID and the availability string as the device state.
260
261         * Scripts/webkitpy/xcode/simulator.py:
262         (Simulator): Make UDID regular expression more strict.
263         * Scripts/webkitpy/xcode/simulator_unittest.py: Test an unavailable device.
264
265 2017-03-15  Tim Horton  <timothy_horton@apple.com>
266
267         Null deref under callAfterNextPresentationUpdate
268         https://bugs.webkit.org/show_bug.cgi?id=169710
269         <rdar://problem/30987863>
270
271         Reviewed by Simon Fraser.
272
273         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
274         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Added.
275         (TEST):
276
277 2017-03-15  Chris Dumez  <cdumez@apple.com>
278
279         Document state (e.g. form data) is lost after a tab is terminated in the background for power reasons
280         https://bugs.webkit.org/show_bug.cgi?id=169635
281         <rdar://problem/31046729>
282
283         Reviewed by Andreas Kling.
284
285         Add API test coverage.
286
287         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
288         * TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Added.
289         (TestWebKitAPI::runJavaScriptAlert):
290         (TestWebKitAPI::didFinishLoad):
291         (TestWebKitAPI::didCrash):
292         (TestWebKitAPI::TEST):
293         * TestWebKitAPI/Tests/WebKit2/simple-form.html:
294
295 2017-03-15  Alex Christensen  <achristensen@webkit.org>
296
297         Compiled content extensions should include the JSON source
298         https://bugs.webkit.org/show_bug.cgi?id=169643
299
300         Reviewed by Geoffrey Garen.
301
302         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
303         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
304         (TEST_F):
305
306 2017-03-15  Kocsen Chung  <kocsen_chung@apple.com>
307
308         Use git's -C flag when possible in VCSUtils.pm
309         https://bugs.webkit.org/show_bug.cgi?id=169003
310
311         Reviewed by Sam Weinig.
312
313         Use the git -C flag where appropriate to perform the
314         operation on a target directory and avoid unnecessary logic
315         to `cd` in and out of the target directory.
316
317         * Scripts/VCSUtils.pm:
318         (isGitDirectory):
319         (isGitSVNDirectory):
320         (svnRevisionForDirectory):
321         (svnInfoForPath):
322         For all four subroutines, use git's -C flag and strip `cd` logic.
323
324 2017-03-14  Aakash Jain  <aakash_jain@apple.com>
325
326         start-queue-mac.sh should create logs directory if it doesn't exist
327         https://bugs.webkit.org/show_bug.cgi?id=169634
328
329         Reviewed by Alexey Proskuryakov.
330
331         * EWSTools/start-queue-mac.sh: Creating logs directory if it doesn't exist.
332
333 2017-03-14  Andy Estes  <aestes@apple.com>
334
335         [iOS] -[WKWebView _dataForDisplayedPDF] returns nil when called before an encrypted PDF has been unlocked
336         https://bugs.webkit.org/show_bug.cgi?id=169653
337         <rdar://problem/24137675>
338
339         Reviewed by Tim Horton.
340
341         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
342         * TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Added.
343         * TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Added.
344         (runTest):
345         (TEST):
346
347 2017-03-14  Brady Eidson  <beidson@apple.com>
348
349         Rename WKHTTPCookieStorage to WKHTTPCookieStore.
350         https://bugs.webkit.org/show_bug.cgi?id=169630
351
352         Reviewed by Tim Horton.
353
354         * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStorage.mm:
355         (TEST):
356
357 2017-03-14  Jonathan Bedard  <jbedard@apple.com>
358
359         webkitpy: Efficient app installation for device testing
360         https://bugs.webkit.org/show_bug.cgi?id=169054
361         <rdar://problem/30790207>
362
363         Reviewed by Daniel Bates.
364
365         We should only install an app on a device once, not every time the app is run.
366         Move app installation to setup.
367
368         * Scripts/webkitpy/port/ios.py:
369         (IOSPort.setup_test_run): Install app to device.
370         * Scripts/webkitpy/port/simulator_process.py:
371         (SimulatorProcess.__init__): Remove app installation.
372
373 2017-03-14  Fujii Hironori  <Hironori.Fujii@sony.com>
374
375         Nwtr ignores ImageDiff's errors for ref tests
376         https://bugs.webkit.org/show_bug.cgi?id=168033
377
378         Reviewed by Alexey Proskuryakov.
379
380         Nwtr checks ImageDiff's errors only for pixel tests, but for ref
381         tests. Those errors of ref tests also should be checked.
382
383         In the current implementation of expected mismatch ref tests,
384         diff_image was called if the image hashes match. This is useless
385         because two images are ensured identical in that case. Calling
386         image_hash is considered unnecessary for expected mismatch ref
387         tests. Do not call diff_image for them.
388
389         As the result, check the error only for expected match ref tests.
390
391         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
392         (SingleTestRunner._compare_image): Rename a variable 'err_str' to 'error_string'.
393         (SingleTestRunner._compare_output_with_reference): Do not call
394         diff_image for expected mismatch ref tests. Check the error and
395         marked the test failed for expected match ref tests.
396
397 2017-03-14  Brady Eidson  <beidson@apple.com>
398
399         REGRESSION (r213877): WebKit2.CookieManager fails.
400         https://bugs.webkit.org/show_bug.cgi?id=169581
401
402         Reviewed by Tim Horton.
403
404         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Reenable the test.
405
406 2017-03-14  Wenson Hsieh  <wenson_hsieh@apple.com>
407
408         [WK2] Data interaction tests occasionally hit assertions in debug builds
409         https://bugs.webkit.org/show_bug.cgi?id=169002
410         <rdar://problem/30994806>
411
412         Reviewed by Tim Horton.
413
414         Reenables and refactors data interaction tests.
415
416         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
417         * TestWebKitAPI/ios/DataInteractionSimulator.h:
418         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
419         (-[DataInteractionSimulator _resetSimulatedState]):
420         (-[DataInteractionSimulator runFrom:to:]):
421         (-[DataInteractionSimulator _advanceProgress]):
422
423 2017-03-13  Brady Eidson  <beidson@apple.com>
424
425         REGRESSION (r213877): WebKit2.CookieManager fails.
426         https://bugs.webkit.org/show_bug.cgi?id=169581
427
428         Unreviewed gardening
429
430         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Skip for now until I can fix.
431
432 2017-03-14  Yusuke Suzuki  <utatane.tea@gmail.com>
433
434         [WTF] Clean up RunLoop and WorkQueue with Seconds and Function
435         https://bugs.webkit.org/show_bug.cgi?id=169537
436
437         Reviewed by Carlos Garcia Campos.
438
439         * TestWebKitAPI/Tests/WTF/Time.cpp:
440         (TestWebKitAPI::TEST):
441
442 2017-03-13  Brady Eidson  <beidson@apple.com>
443
444         WKWebView provides no access to cookies.
445         https://bugs.webkit.org/show_bug.cgi?id=140191
446
447         Reviewed by Tim Horton.
448
449         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
450
451 2017-03-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
452
453         [GTK] install-dependencies needs to install Perl CGI modules on Debian based distros
454         https://bugs.webkit.org/show_bug.cgi?id=169563
455
456         Reviewed by Michael Catanzaro.
457
458         * gtk/install-dependencies:
459
460 2017-03-13  Devin Rousso  <webkit@devinrousso.com>
461
462         Unreviewed, fix accidental comma.
463
464         * Scripts/webkitpy/common/config/contributors.json:
465
466 2017-03-13  Devin Rousso  <webkit@devinrousso.com>
467
468         Unreviewed, change my email.
469
470         * Scripts/webkitpy/common/config/contributors.json:
471
472 2017-03-13  Anders Carlsson  <andersca@apple.com>
473
474         Fix build warnings.
475
476         * MiniBrowser/mac/AppDelegate.m:
477         (-[BrowserAppDelegate openDocument:]):
478         * MiniBrowser/mac/ExtensionManagerWindowController.m:
479         (-[ExtensionManagerWindowController add:]):
480         * MiniBrowser/mac/WK2BrowserWindowController.m:
481         (-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
482
483 2017-03-13  Martin Robinson  <mrobinson@igalia.com>
484
485         Remove my email from some of the watchlists
486         https://bugs.webkit.org/show_bug.cgi?id=169541
487
488         Reviewed by Manuel Rego Casasnovas.
489
490         * Scripts/webkitpy/common/config/watchlist: Remove my name from some lists.
491
492 2017-03-13  Yusuke Suzuki  <utatane.tea@gmail.com>
493
494         [WTF] Clean up RunLoop and WorkQueue with Seconds and Function
495         https://bugs.webkit.org/show_bug.cgi?id=169537
496
497         Reviewed by Sam Weinig.
498
499         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
500         (TestWebKitAPI::TEST):
501
502 2017-03-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
503
504         [GTK] Remove dead code from previous autotools build in build-jsc
505         https://bugs.webkit.org/show_bug.cgi?id=169555
506
507         Reviewed by Carlos Garcia Campos.
508
509         * Scripts/build-jsc:
510         (buildMyProject):
511
512 2017-03-13  Carlos Garcia Campos  <cgarcia@igalia.com>
513
514         MiniBrowser: a tab closed from javascript always closes the window
515         https://bugs.webkit.org/show_bug.cgi?id=169415
516
517         Reviewed by Michael Catanzaro.
518
519         When I implemented tabs support in MiniBrowser I forgot about web view close. We connect to the signal (only for
520         the active tab) and close the window. That worked when we didn't have tabs, but now we should close the tab, or
521         the window if it's the last tab.
522
523         * MiniBrowser/gtk/BrowserWindow.c:
524         (webViewClose): Destroy the window if therte's only one tab, otherwise search for the tab corresponding to the web
525         view and destroy it.
526         (browserWindowSwitchTab): Re-connect to close signal, we want to handle close on all tabs.
527
528 2017-03-11  Said Abou-Hallawa  <sabouhallawa@apple.com>
529
530         Enable async image decoding for large images
531         https://bugs.webkit.org/show_bug.cgi?id=165039
532
533         Reviewed by Simon Fraser.
534
535         Disable LargeImageAsyncDecoding for DRT/WTR.
536
537         * DumpRenderTree/mac/DumpRenderTree.mm:
538         (resetWebPreferencesToConsistentValues):
539         * WebKitTestRunner/TestController.cpp:
540         (WTR::TestController::resetPreferencesToConsistentValues):
541
542 2017-03-10  Alex Christensen  <achristensen@webkit.org>
543
544         Fix watch and tv builds after r213294
545         https://bugs.webkit.org/show_bug.cgi?id=169508
546
547         Reviewed by Dan Bernstein.
548
549         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
550
551 2017-03-10  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
552
553         checkpatchrelevance: Exception message is printed twice due to ScriptError handler
554         https://bugs.webkit.org/show_bug.cgi?id=169496
555
556         Unreviewed fix.
557
558         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Add --quiet flag to expected logs.
559
560 2017-03-10  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
561
562         checkpatchrelevance: Exception message is printed twice due to ScriptError handler
563         https://bugs.webkit.org/show_bug.cgi?id=169496
564
565         Reviewed by Alexey Proskuryakov.
566
567         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
568         (PatchAnalysisTask._check_patch_relevance): Pass --quiet flag.
569         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
570         (CheckPatchRelevance.options): Accept options.quiet to prevent duplicate output to stdout.
571
572 2017-03-10  Ryan Haddad  <ryanhaddad@apple.com>
573
574         Add new EWS queues to bot watcher's dashboard.
575         https://bugs.webkit.org/show_bug.cgi?id=169485
576
577         Reviewed by Alexey Proskuryakov.
578
579         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
580         (BubbleQueueServer): Add Bindings and JSC EWS queues.
581
582 2017-03-10  Andy Estes  <aestes@apple.com>
583
584         Skip an API test that isn't expected to pass on iOS 10.
585
586         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
587
588 2017-03-10  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
589
590         Add bindings-ews to queue status server
591         https://bugs.webkit.org/show_bug.cgi?id=169307
592
593         Reviewed by Alexey Proskuryakov.
594
595         * QueueStatusServer/config/queues.py: Add "bindings-ews" to the list of ewses.
596
597 2017-03-10  Andy Estes  <aestes@apple.com>
598
599         [QuickLook] Add WKNavigationDelegate SPI to notify when a password is requested
600         https://bugs.webkit.org/show_bug.cgi?id=169459
601         <rdar://problem/30621913>
602
603         Reviewed by Alex Christensen.
604
605         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
606         * TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
607         (runTest):
608         (TEST):
609         (-[QuickLookPasswordNavigationDelegate _webViewDidRequestPasswordForQuickLookDocument:]):
610
611 2017-03-10  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
612
613         Add support for Bindings EWS
614         https://bugs.webkit.org/show_bug.cgi?id=169308
615
616         Reviewed by Alexey Proskuryakov.
617
618         * Scripts/webkitpy/common/config/ews.json: Add bindings-ews. Can test without building; should_build = False.
619         * Scripts/webkitpy/common/net/bindingstestresults.py:
620         (BindingsTestResults.__init__): Removed 'errors'.
621         (BindingsTestResults.results_from_string): Ditto.
622         (BindingsTestResults.is_subset): Ditto.
623         (BindingsTestResults.equals): Ditto.
624         (BindingsTestResults.all_passed): Ditto.
625         (BindingsTestResults.failing_tests): Ditto.
626         * Scripts/webkitpy/common/net/bindingstestresults_unittest.py:
627         (BindingsTestResultsTest.test_results_from_string): Removed 'errors'.
628         (BindingsTestResultsTest.test_results_from_string_success): Removed 'errors'.
629         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
630         (EarlyWarningSystemTask.__init__): Add should_build parameter.
631         (EarlyWarningSystemTask.run): Check should_build before calling self._build().
632         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Renamed from Tools/Scripts/webkitpy/tool/bot/jscews_unittest.py.
633         (MockBindingsEarlyWarningSystem): Based of MockJSCEarlyWarningSystem. Mocked so we can provide test results.
634         (MockBindingsEarlyWarningSystem.__init__): Sets attributes.
635         (MockBindingsEarlyWarningSystem.test_results): Returns test results provided by us, instead of JSON output.
636         (BindingsEarlyWarningSystemTest): Class to test retry logic in below situations.
637         (BindingsEarlyWarningSystemTest._results_indicate_all_passed): False if None or or has failures, else True.
638         (BindingsEarlyWarningSystemTest._create_task):
639         (BindingsEarlyWarningSystemTest.test_success_case): Clean patch on clean tree.
640         (BindingsEarlyWarningSystemTest.test_test_failure): Red patch on clean tree.
641         (BindingsEarlyWarningSystemTest.test_fix): Clean patch on red tree.
642         (BindingsEarlyWarningSystemTest.test_ineffective_patch): Red patch on red tree.
643         (BindingsEarlyWarningSystemTest.test_partially_effective_patch): Red patch on redder tree.
644         (BindingsEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Red patch on red tree.
645         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
646         (PatchAnalysisTask._build_and_test_without_patch): Don't build if should_build is False (eg. on Bindings EWS).
647         (PatchAnalysisTask._retry_bindings_tests): Retry logic for Bindings tests.
648         (PatchAnalysisTask._test_patch): If tests failed on Bindings EWS, and call _retry_bindings_tests.
649         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
650         (AbstractEarlyWarningSystem.begin_work_queue): Use BindingsTestResultsReader on Bindings EWS.
651         (AbstractEarlyWarningSystem._create_task): Pass should_build argument.
652         (AbstractEarlyWarningSystem.load_ews_classes): Add should_build argument (True by default).
653         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
654         (TestBindingsEWS): Bindings EWS class, derived from AbstractEarlyWarningSystem.
655         (AbstractEarlyWarningSystemTest.test_failing_bindings_tests_message): Unit test message posted to Bugzilla.
656         (EarlyWarningSystemTest._default_expected_logs): Not building on all ewses anymore; make build line optional.
657         (EarlyWarningSystemTest.test_ews_name): Add bindings-ews.
658         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
659         (CheckPatchRelevance): Add bindings paths.
660         (CheckPatchRelevance._changes_are_relevant): Cleaner way to check if we should perform this step.
661         * Scripts/webkitpy/tool/steps/steps_unittest.py: Add unit tests for Bindings EWS patch relevance.
662         (test_patch_relevant_bindings): Test for patch relevant to bindings.
663         (test_patch_not_relevant_bindings): Test for patch not relevant to bindings.
664
665 2017-03-09  Simon Fraser  <simon.fraser@apple.com>
666
667         [iOS WK2] Layer content blurry with nested perspective and transforms
668         https://bugs.webkit.org/show_bug.cgi?id=169457
669         rdar://problem/29879484
670
671         Reviewed by Tim Horton.
672
673         We set rasterizationScale on CALayers to the same values as contentsScale, to
674         avoid blurry layers when CA rasterizes, which often happens with nested perspective
675         transforms.
676
677         However, in UI-side compositing, if the page is not zoomed, we never applied the
678         rasterizationScale in the UI process. This happened because the PlatformCALayerRemote
679         constructor set m_properties.contentsScale, but did not set the dirty bit that
680         triggers the application of contentsScale and rasterizationScale in RemoteLayerTreePropertyApplier.
681         The fix is to set this dirty bit.
682
683         The rest of the changes are for testing. Internals now exposes layerIDForElement()
684         for returns an internal (non-stable-across-loads) layerID, which can be passed
685         to UIScriptController.propertiesOfLayerWithID() in the UI process, which inspects
686         the built layer (UIView) hierarchy. propertiesOfLayerWithID() returns a dictionary
687         which the test can dump as JSON, or pull values out of.
688
689         A few #pragma once cleanups also.
690
691         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
692         (WTR::UIScriptController::propertiesOfLayerWithID):
693         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
694         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
695         (WTR::UIScriptController::propertiesOfLayerWithID):
696         * TestRunnerShared/UIScriptContext/UIScriptController.h:
697         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
698         (WTR::UIScriptController::propertiesOfLayerWithID):
699
700 2017-03-10  Commit Queue  <commit-queue@webkit.org>
701
702         Unreviewed, rolling out r213618.
703         https://bugs.webkit.org/show_bug.cgi?id=169475
704
705         Suspect this is the cause of a large memory regression
706         (Requested by jonlee_ on #webkit).
707
708         Reverted changeset:
709
710         "Enable async image decoding for large images"
711         https://bugs.webkit.org/show_bug.cgi?id=165039
712         http://trac.webkit.org/changeset/213618
713
714 2017-03-09  Brian Nicholson  <bnicholson@mozilla.com> and Alex Christensen  <achristensen@webkit.org>
715
716         Expose public APIs for content filters
717         https://bugs.webkit.org/show_bug.cgi?id=150479
718
719         Reviewed by Brady Eidson and Geoff Garen.
720
721         Keep the existing tests to verify that I made the wrapper classes for the old SPI work correctly.
722         Add new identical tests for the new API are added with the new names.
723         We should keep both until we migrate from and remove the old SPI.
724         Enum error code values and strings have changed, but the API is source compatible.
725
726         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
727         * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm.
728         (WKUserContentExtensionStoreTest::SetUp):
729         (TEST_F):
730         (checkDomain):
731         (_WKUserContentExtensionStoreTest::SetUp): Deleted.
732         * TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm:
733         (checkDomain):
734
735 2017-03-09  Daniel Bates  <dabates@apple.com>
736
737         Attempt to fix the WebKit2 test bots following <https://trac.webkit.org/changeset/213676>
738         (https://bugs.webkit.org/show_bug.cgi?id=169364)
739
740         Create new WebView with Credential Management enabled when the enableCredentialManagement
741         WebKitTestRunner option is specified.
742
743         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
744         (WTR::PlatformWebView::viewSupportsOptions):
745         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
746         (WTR::PlatformWebView::viewSupportsOptions):
747
748 2017-03-09  John Wilander  <wilander@apple.com>
749
750         Resource Load Statistics: Remove statistics data as part of full website data removal
751         https://bugs.webkit.org/show_bug.cgi?id=169448
752
753         Reviewed by Alex Christensen.
754
755         This patch adds infrastructure for the new TestRunner function
756         statisticsClearInMemoryAndPersistentStore().
757
758         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
759         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
760         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
761         * WebKitTestRunner/InjectedBundle/TestRunner.h:
762         * WebKitTestRunner/TestController.cpp:
763         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
764         * WebKitTestRunner/TestController.h:
765         * WebKitTestRunner/TestInvocation.cpp:
766         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
767
768 2017-03-09  Dean Jackson  <dino@apple.com>
769
770         WebGPU: Backend - Buffers
771         https://bugs.webkit.org/show_bug.cgi?id=169451
772         <rdar://problem/30959168>
773
774         Reviewed by Tim Horton.
775
776         Test for GPUBuffer object.
777
778         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
779         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: Added.
780         (TestWebKitAPI::TEST_F):
781         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
782         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
783
784 2017-03-09  Daniel Bates  <dabates@apple.com>
785
786         Guard Credential Management implementation behind a runtime enabled feature flag
787         https://bugs.webkit.org/show_bug.cgi?id=169364
788         <rdar://problem/30957425>
789
790         Reviewed by Brent Fulgham.
791
792         Add a new test option header, enableCredentialManagement, to DumpRenderTree/WebKitTestRunner
793         to enable Credential Management.
794
795         * DumpRenderTree/TestOptions.h:
796         * DumpRenderTree/TestOptions.mm:
797         (TestOptions::TestOptions):
798         * DumpRenderTree/mac/DumpRenderTree.mm:
799         (enableExperimentalFeatures):
800         (setWebPreferencesForTestOptions):
801         * WebKitTestRunner/TestController.cpp:
802         (WTR::TestController::resetPreferencesToConsistentValues):
803         (WTR::updateTestOptionsFromTestHeader):
804         * WebKitTestRunner/TestOptions.h:
805
806 2017-03-09  Anders Carlsson  <andersca@apple.com>
807
808         Add delegate support to WebCore
809         https://bugs.webkit.org/show_bug.cgi?id=169427
810         Part of rdar://problem/28880714.
811
812         Reviewed by Geoffrey Garen.
813
814         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
815
816 2017-03-09  Alex Christensen  <achristensen@webkit.org>
817
818         [Content Extensions] Introduce if-top-url and unless-top-url
819         https://bugs.webkit.org/show_bug.cgi?id=169433
820
821         Reviewed by Brady Eidson.
822
823         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
824         (TestWebKitAPI::TEST_F):
825         Add tests for new functionality and new failure types.
826
827 2017-03-09  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
828
829         JSC EWS repeat the log message thrice about patch not being relevant
830         https://bugs.webkit.org/show_bug.cgi?id=169330
831
832         Reviewed by Chris Dumez.
833
834         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
835         (CheckPatchRelevance.run): Change log level to 'debug' to reduce stdout traffic.
836
837 2017-03-08  Matt Rajca  <mrajca@apple.com>
838
839         Let clients control autoplay quirks with website policies.
840         https://bugs.webkit.org/show_bug.cgi?id=169390
841
842         Reviewed by Wenson Hsieh.
843
844         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html:
845         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
846         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
847         (TEST):
848
849 2017-03-09  Devin Rousso  <dcrousso+webkit@gmail.com>
850
851         Unreviewed, change my status to be a WebKit reviewer
852
853         * Scripts/webkitpy/common/config/contributors.json:
854
855 2017-03-09  Jonathan Bedard  <jbedard@apple.com>
856
857         Standardize device/simulator naming conventions
858         https://bugs.webkit.org/show_bug.cgi?id=169083
859         <rdar://problem/30810466>
860
861         Reviewed by Alexey Proskuryakov.
862
863         * Scripts/build-webkit: Document --ios-device and --simulator options.
864         * Scripts/package-root:
865         (usage): Ditto.
866         * Scripts/run-api-tests: Document --simulator option.
867         * Scripts/webkitdirs.pm:
868         (argumentsForConfiguration): Use --ios-device by default rather than --device.
869         (determineXcodeSDK): Parse --ios-device and --simulator options.
870         * Scripts/webkitpy/common/config/ews.json: Change port name from ios to ios-device.
871         * Scripts/webkitpy/common/config/ports.py: Ditto.
872         (DeprecatedPort.port):
873         (IOSPort): Change port name from ios to ios-device. 
874         * Scripts/webkitpy/port/factory.py:
875         (platform_options): Add --simulator option.
876         (PortFactory): Update comment.
877         * Scripts/webkitpy/port/ios_device.py:
878         (IOSDevicePort): Change port name from ios to ios-device.
879         (IOSDevicePort.operating_system): Ditto.
880
881 2017-03-09  Jonathan Bedard  <jbedard@apple.com>
882
883         webkitpy: Add unit test to prevent breakage of EWS
884         https://bugs.webkit.org/show_bug.cgi?id=169385
885
886         Reviewed by Alexey Proskuryakov.
887
888         Prevent <http://trac.webkit.org/changeset/213545> from happening in the future.
889
890         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
891         (test_ews_name): Added.
892
893 2017-03-08  Dean Jackson  <dino@apple.com>
894
895         WebGPU: Backend - Library and Functions
896         https://bugs.webkit.org/show_bug.cgi?id=169371
897         <rdar://problem/30928792>
898
899         Reviewed by Tim Horton.
900
901         Add tests for GPULibrary and GPUFunction.
902
903         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
904         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
905         (TestWebKitAPI::TEST_F):
906         (TestWebKitAPI::TEST): Deleted.
907         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
908         (TestWebKitAPI::TEST_F):
909         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
910         (TestWebKitAPI::TEST_F):
911         * TestWebKitAPI/Tests/WebCore/mac/GPUTest.h: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
912         (TestWebKitAPI::GPU::librarySourceCode):
913
914 2017-03-08  Filip Pizlo  <fpizlo@apple.com>
915
916         WTF should make it super easy to do ARM concurrency tricks
917         https://bugs.webkit.org/show_bug.cgi?id=169300
918
919         Reviewed by Mark Lam.
920         
921         This vastly simplifies the consume API. The new API is thoroughly tested by being used
922         in the GC's guts. I think that unit tests are a pain to maintain, so we shouldn't have
923         them unless we are legitimately worried about coverage. We're not in this case.
924
925         * TestWebKitAPI/CMakeLists.txt:
926         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
927         * TestWebKitAPI/Tests/WTF/Consume.cpp: Removed.
928
929 2017-03-08  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
930
931         Fix error/warning duplication in JSON bindings results
932         https://bugs.webkit.org/show_bug.cgi?id=169305
933
934         Reviewed by Alexey Proskuryakov.
935
936         The distinction between failures and errors is not meaningful, since all errors will also be failures.
937         As a result, we only need to keep track of failures.
938         
939         * Scripts/webkitpy/bindings/main.py:
940         (BindingsTests.__init__): Remove errors.
941         (BindingsTests.detect_changes): Remove errors.
942         (BindingsTests.main): Remove errors.
943
944 2017-03-08  Yusuke Suzuki  <utatane.tea@gmail.com>
945
946         [JSC] Add helpers to run Six Speed to run-jsc-benchmarks
947         https://bugs.webkit.org/show_bug.cgi?id=169351
948
949         Reviewed by Saam Barati.
950
951         This patch adds an ability to run six-speed microbenchmarks
952         from run-jsc-benchmarks by specifying six-speed directory in
953         arewefastyet repository.
954
955         While it is a collection of microbenchmarks, it is useful
956         to ensure that our ES6 optimization covers major use cases.
957         For the macrobenchmark, we already have ARES-6.
958
959         * Scripts/run-jsc-benchmarks:
960
961 2017-03-08  Sam Weinig  <sam@webkit.org>
962
963         import-w3c-tests doesn't work with svn repositories.
964         https://bugs.webkit.org/show_bug.cgi?id=169190
965
966         Reviewed by Tim Horton.
967
968         The script assumed you had WebKit checked-out as a git repository, but
969         there was no reason for that.
970
971         * Scripts/webkitpy/common/checkout/scm/git.py:
972         (Git.clone):
973         Add a class method to clone a repository which does not require 
974         an existing checkout.
975
976         (Git.fetch):
977         (Git.checkout):
978         Add methods needed for test_downloader.py, so it doesn't have to use
979         the internal _run_git 
980
981         * Scripts/webkitpy/w3c/test_downloader.py:
982         (TestDownloader.checkout_test_repository):
983         Switch to using Git.clone(), which doesn't require an existing git
984         directory, and then also adopt non private methods to fetch/checkout.
985
986 2017-03-08  John Wilander  <wilander@apple.com>
987
988         Resource Load Statistics: Communicate to the network process which domains to partition
989         https://bugs.webkit.org/show_bug.cgi?id=169322
990         <rdar://problem/30768921>
991
992         Reviewed by Alex Christensen.
993
994         These changes add support for two new TestRunner functions:
995         - setCookieStoragePartitioningEnabled()
996         - statisticsFireShouldPartitionCookiesHandler()
997
998         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
999         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1000         (WTR::TestRunner::setCookieStoragePartitioningEnabled):
1001         (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler):
1002         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1003         * WebKitTestRunner/TestController.cpp:
1004         (WTR::TestController::statisticsFireShouldPartitionCookiesHandler):
1005         * WebKitTestRunner/TestController.h:
1006         * WebKitTestRunner/TestInvocation.cpp:
1007         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1008
1009 2017-03-08  Said Abou-Hallawa  <sabouhallawa@apple.com>
1010
1011         Enable async image decoding for large images
1012         https://bugs.webkit.org/show_bug.cgi?id=165039
1013
1014         Reviewed by Simon Fraser.
1015
1016         Disable LargeImageAsyncDecoding for DRT/WTR.
1017
1018         * DumpRenderTree/mac/DumpRenderTree.mm:
1019         (resetWebPreferencesToConsistentValues):
1020         * WebKitTestRunner/TestController.cpp:
1021         (WTR::TestController::resetPreferencesToConsistentValues):
1022
1023 2017-03-08  Matt Rajca  <mrajca@apple.com>
1024
1025         Add support for updating autoplay policies after a page has been loaded.
1026         https://bugs.webkit.org/show_bug.cgi?id=169360
1027
1028         Reviewed by Alex Christensen.
1029
1030         * TestWebKitAPI/Tests/WebKit2/autoplay-check.html:
1031         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1032         (TEST):
1033
1034 2017-03-08  Jonathan Bedard  <jbedard@apple.com>
1035
1036         Unreviewed, rolling out r213545.
1037
1038         iOS EWS broken by this change
1039
1040         Reverted changeset:
1041
1042         "Standardize device/simulator naming conventions"
1043         https://bugs.webkit.org/show_bug.cgi?id=169083
1044         http://trac.webkit.org/changeset/213545
1045
1046 2017-03-07  Kocsen Chung  <kocsen_chung@apple.com>
1047
1048         Perf and layout test results should report using correct scm revision.
1049         https://bugs.webkit.org/show_bug.cgi?id=169171
1050
1051         Reviewed by Ryosuke Niwa.
1052
1053         For accurate record keeping, perf test and layout test results should
1054         report using the native scm revision as an identifier.
1055         To do so we introduce a new scm functions:
1056             `native_revision()` and `timestamp_of_native_revision()`.
1057         The former is responsible for returning a git hash if scm.git or an
1058         svn revision if scm.svn. The latter is responsible for retrieving the correct timestamp.
1059         We also add the corresponding tests and a helper function `_most_recent_log_for_revision`.
1060
1061         * Scripts/webkitpy/common/checkout/scm/scm.py:
1062         (SCM.run):
1063         Drive-by indentation fix to adhere to WebKit style conventions.
1064         (SCM.svn_revision):
1065         Remove superfluous comment.
1066         (SCM.native_revision):
1067         Add new abstract function `native_revision` and make it a `_subclass_must_implement()`
1068         as we want to closely mimic `svn_revision()` function due to their similar behavior.
1069         (SCM.timestamp_of_native_revision):
1070         Add new abstract function `timestamp_of_native_revision` to closely mimic `timestamp_of_revision`.
1071
1072         * Scripts/webkitpy/common/checkout/scm/git.py:
1073         (Git._most_recent_log_for_revision):
1074         New helper function similar to `_most_recent_log_matching` that is git hash friendly.
1075         (Git.native_revision):
1076         Implement new function `native_revision()`. Get the native_revision by running:
1077
1078             `git log -1 --pretty=format:%H`
1079
1080         and thus returning the latest git hash (in long format).
1081         (Git.timestamp_of_native_revision):
1082         Since perftestrunner and layout_test.controllers.manager use the new native_revision
1083         function, we create a new native_revision timestamp retriever.
1084         You will notice this uses a far more simplified way to retrieve UTC strict-ISO timestamp
1085         than its non-native counterpart: `timestamp_of_revision()`.
1086         * Scripts/webkitpy/common/checkout/scm/svn.py:
1087         (SVN.native_revision):
1088         Implement native_revision for SVN: simply return self.svn_revision()
1089         (SVN.timestamp_of_native_revision):
1090         Implement timestamp_of_native_revision for SVN: simply return self.timestamp_of_revision()
1091
1092         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1093         (test_native_revision):
1094         [SVN] Confirm that svn_revision == native_revision. And that native_revision returns 5.
1095         Use '.' as the path parameter instead of svn_checkout_path to avoid violating pylint/E1101
1096         and since we are guaranteed by test setUp to be in the correct SVN dir.
1097         (GitTest.test_native_revision):
1098         [Git] Confirm that `git rev-parse HEAD` is equal to newly implemented native_revision().
1099         (GitSVNTest.test_native_revision):
1100         [Git] Confirm that `git rev-parse HEAD` is equal to newly implemented native_revision().
1101         (test_timestamp_of_native_revision):
1102         Test new function `timestamp_of_native_revision`. Very similar fashion to
1103         `test_timestamp_of_revision`.
1104
1105         * Scripts/webkitpy/common/checkout/scm/scm_mock.py:
1106         (MockSCM.native_revision):
1107         Add MockSCM.native_revision to behave like svn.py (default).
1108         (MockSCM.test_native_revision):
1109         Add MockSCM.test_native_revision to behave like its non-native counterpart.
1110
1111         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1112         (Manager.upload_results):
1113         When iterating through a list of projects, make sure we use the project's new native revision.
1114         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1115         (_generate_results_dict):
1116         As per the FIXME in manager.py, we have duplicate code in perftestsrunner.py.
1117         So make the same exact change here.
1118
1119 2017-03-07  Tim Horton  <timothy_horton@apple.com>
1120
1121         Fix the TestWebKitAPI build
1122
1123         Rubber-stamped by Anders Carlsson.
1124
1125         * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
1126         (TestWebKitAPI::TEST_F):
1127         Fix a new warning about default argument promotion and va_start by
1128         making this a enum class.
1129
1130 2017-03-07  Dean Jackson  <dino@apple.com>
1131
1132         Some platforms won't be able to create a GPUDevice
1133         https://bugs.webkit.org/show_bug.cgi?id=169314
1134         <rdar://problems/30907521>
1135
1136         Reviewed by Jon Lee.
1137
1138         Protect for the case where the hardware doesn't support Metal.
1139
1140         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1141         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
1142         (TestWebKitAPI::TEST):
1143
1144 2017-03-07  Maureen Daum  <mdaum@apple.com>
1145
1146         Correctly check for an empty database file.
1147         <rdar://problem/30542242> Removing Website Data not working (WebSQL directories being left behind)
1148         https://bugs.webkit.org/show_bug.cgi?id=169256
1149
1150         Reviewed by Brady Eidson.
1151
1152         Add a test for DatabaseTracker::deleteDatabaseFileIfEmpty that verifies
1153         that if we pass in an empty file it actually gets deleted.
1154
1155         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1156         Add TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp.
1157         * TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Added.
1158         (TestWebKitAPI::TEST):
1159
1160 2017-03-07  Alex Christensen  <achristensen@webkit.org>
1161
1162         [URLParser] Fix file URLs that are just file:// and a Windows drive letter
1163         https://bugs.webkit.org/show_bug.cgi?id=169242
1164
1165         Reviewed by Tim Horton.
1166
1167         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1168         (TestWebKitAPI::TEST_F):
1169
1170 2017-03-07  Jonathan Bedard  <jbedard@apple.com>
1171
1172         Standardize device/simulator naming conventions
1173         https://bugs.webkit.org/show_bug.cgi?id=169083
1174         <rdar://problem/30810466>
1175
1176         Reviewed by Alexey Proskuryakov.
1177
1178         * Scripts/build-webkit: Document --ios-device and --simulator options.
1179         * Scripts/package-root:
1180         (usage): Ditto.
1181         * Scripts/run-api-tests: Document --simulator option.
1182         * Scripts/webkitdirs.pm:
1183         (argumentsForConfiguration): Use --ios-device by default rather than --device.
1184         (determineXcodeSDK): Parse --ios-device and --simulator options.
1185         * Scripts/webkitpy/common/config/ews.json: Change port name from ios to ios-device.
1186         * Scripts/webkitpy/common/config/ports.py: Ditto.
1187         (DeprecatedPort.port):
1188         (IOSPort): Change port name from ios to ios-device. 
1189         * Scripts/webkitpy/port/factory.py:
1190         (platform_options): Add --simulator option.
1191         (PortFactory): Update comment.
1192         * Scripts/webkitpy/port/ios_device.py:
1193         (IOSDevicePort): Change port name from ios to ios-device.
1194         (IOSDevicePort.operating_system): Ditto.
1195
1196 2017-03-07  Dean Jackson  <dino@apple.com>
1197
1198         Add GPUDevice implementation and WebGPULayer
1199         https://bugs.webkit.org/show_bug.cgi?id=169219
1200         <rdar://problem/30879048>
1201
1202         Reviewed by Sam Weinig.
1203
1204         Test for WebCore's GPUDevice class.
1205
1206         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1207         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm: Added.
1208         (TestWebKitAPI::TEST):
1209
1210 2017-03-07  Alex Christensen  <achristensen@webkit.org>
1211
1212         [Content Extensions] Rename "Domain" to "Condition" where appropriate
1213         https://bugs.webkit.org/show_bug.cgi?id=169297
1214
1215         Reviewed by Brady Eidson.
1216
1217         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1218         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
1219         (TestWebKitAPI::TEST_F):
1220
1221 2017-03-07  Jonathan Bedard  <jbedard@apple.com>
1222
1223         webkitpy: Refactor setup_test_run for IOSPort and IOSSimulator
1224         https://bugs.webkit.org/show_bug.cgi?id=169220
1225         <rdar://problem/30879645>
1226
1227         Reviewed by Daniel Bates.
1228
1229         Provide more specific port setup functions for iOS ports to allow more sharing of common code.
1230
1231         * Scripts/webkitpy/port/ios.py:
1232         (IOSPort):
1233         (IOSPort._create_devices): Added.
1234         (IOSPort.setup_test_run): Shared iOS device setup code.
1235         * Scripts/webkitpy/port/ios_simulator.py:
1236         (IOSSimulatorPort._create_devices): Renamed from setup_test_run.
1237         (IOSSimulatorPort.setup_test_run): Renamed as _create_devices.
1238
1239 2017-03-07  Anders Carlsson  <andersca@apple.com>
1240
1241         Rewrite the DRT Pasteboard implementation to use UTIs and WTF types
1242         https://bugs.webkit.org/show_bug.cgi?id=169289
1243
1244         Reviewed by Tim Horton.
1245
1246         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1247         (-[LocalPasteboard initWithName:]):
1248         (-[LocalPasteboard name]):
1249         (-[LocalPasteboard declareTypes:owner:]):
1250         (isUTI):
1251         (toUTI):
1252         (-[LocalPasteboard addTypes:owner:]):
1253         (-[LocalPasteboard changeCount]):
1254         (-[LocalPasteboard types]):
1255         (-[LocalPasteboard availableTypeFromArray:]):
1256         (-[LocalPasteboard setData:forType:]):
1257         (-[LocalPasteboard dataForType:]):
1258         (-[LocalPasteboard writeObjects:]):
1259         (-[LocalPasteboard dealloc]): Deleted.
1260
1261 2017-03-07  Myles C. Maxfield  <mmaxfield@apple.com>
1262
1263         Add David Jonathan Ross to contributors.json
1264         https://bugs.webkit.org/show_bug.cgi?id=169265
1265
1266         Unreviewed.
1267
1268         David Jonathan Ross very kindly offered to create and contribute his Boxis font in r211060,
1269         which is used for testing font variations.
1270
1271         * Scripts/webkitpy/common/config/contributors.json:
1272
1273 2017-03-07  Youenn Fablet  <youennf@gmail.com>
1274
1275         W3C importer should be able to update the import expectations file
1276         https://bugs.webkit.org/show_bug.cgi?id=168037
1277
1278         Reviewed by Ryosuke Niwa.
1279
1280         Changing import expectations from an array to a map.
1281         Marking all test paths as import and updating import expectations file accordingly.
1282
1283         * Scripts/webkitpy/w3c/test_downloader.py:
1284         (TestDownloader.__init__):
1285         (TestDownloader._init_paths_from_expectations):
1286         (TestDownloader):
1287         (TestDownloader.update_import_expectations):
1288         * Scripts/webkitpy/w3c/test_importer.py:
1289         (TestImporter.do_import):
1290         * Scripts/webkitpy/w3c/test_importer_unittest.py:
1291
1292 2017-03-07  Philip Rogers  <pdr@google.com>
1293
1294         Add pdr to the rendering watchlist
1295         https://bugs.webkit.org/show_bug.cgi?id=167298
1296
1297         Reviewed by Andreas Kling.
1298
1299         * Scripts/webkitpy/common/config/contributors.json: Switch to pdr+autocc@chromium.org
1300         * Scripts/webkitpy/common/config/watchlist: Add pdr to the rendering watchlist.
1301
1302 2017-03-07  Mario Sanchez Prada  <mario@webkit.org>
1303
1304         Unreviewed. Removed myself from the Accessibility watch list
1305
1306         * Scripts/webkitpy/common/config/watchlist: Removed myself.
1307
1308 2017-03-06  Fujii Hironori  <Hironori.Fujii@sony.com>
1309
1310         Add Fujii Hironori to contributor's list
1311         https://bugs.webkit.org/show_bug.cgi?id=169261
1312
1313         Reviewed by Yusuke Suzuki.
1314
1315         Add myself to the contributor's lists so that my e-mail autocompletes for CC
1316
1317         * Scripts/webkitpy/common/config/contributors.json:
1318
1319 2017-03-06  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1320
1321         [GTK] Mark WTF_Lock.ContendedLongSection and WTF_WordLock.ContendedLongSection as slow.
1322
1323         Unreviewed test gardening.
1324
1325         The ContendedShortSection version of this tests were already marked as slow.
1326         And the ContendedLongSection version takes more or less the same time to run.
1327         They cause time outs on the bot sometimes.
1328
1329         * Scripts/run-gtk-tests:
1330         (TestRunner):
1331
1332 2017-03-06  Michael Saboff  <msaboff@apple.com>
1333
1334         Take advantage of fast permissions switching of JIT memory for devices that support it
1335         https://bugs.webkit.org/show_bug.cgi?id=169155
1336
1337         Reviewed by Saam Barati.
1338
1339         Updated the Xcode config files to match what is in the JavaScriptCore ones.
1340
1341         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1342
1343 2017-03-06  Lucas Forschler  <lforschler@apple.com>
1344
1345         https://bugs.webkit.org/show_bug.cgi?id=169234
1346         torchmobile.com.cn is no longer a registered domain. These email addresses will bounce, so clean them up.
1347
1348         Reviewed by Alexey Proskuryakov.
1349
1350         * Scripts/webkitpy/common/config/contributors.json:
1351
1352 2017-03-03  Matt Rajca  <mrajca@apple.com>
1353
1354         Media: notify clients when the user never plays a media element that was prevented from auto-playing
1355         https://bugs.webkit.org/show_bug.cgi?id=169150
1356
1357         Reviewed by Alex Christensen.
1358
1359         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1360         (TEST): Added.
1361
1362 2017-03-06  Alex Christensen  <achristensen@webkit.org>
1363
1364         Fix URLs relative to file URLs with paths beginning with Windows drive letters
1365         https://bugs.webkit.org/show_bug.cgi?id=169178
1366
1367         Reviewed by Tim Horton.
1368
1369         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1370         (TestWebKitAPI::TEST_F):
1371
1372 2017-03-06  Myles C. Maxfield  <mmaxfield@apple.com>
1373
1374         Expand font-weight and font-stretch to take any number
1375         https://bugs.webkit.org/show_bug.cgi?id=168889
1376
1377         Reviewed by Simon Fraser.
1378
1379         Migrate off old enum types.
1380
1381         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
1382         (TestWebKitAPI::createPlatformFont):
1383         (TestWebKitAPI::compareFonts):
1384         (TestWebKitAPI::TEST_F):
1385
1386 2017-03-06  Yusuke Suzuki  <utatane.tea@gmail.com>
1387
1388         [GTK][JSCOnly] Enable WebAssembly on Linux environment
1389         https://bugs.webkit.org/show_bug.cgi?id=164032
1390
1391         Reviewed by Michael Catanzaro.
1392
1393         * Scripts/run-jsc-stress-tests:
1394         Enable WASM tests.
1395
1396         * Scripts/webkitperl/FeatureList.pm:
1397         Enable WebAssembly.
1398
1399 2017-03-04  Lucas Forschler  <lforschler@apple.com>
1400
1401         Test commit against svn.webkit.org after SHA-1 cleanup.
1402         
1403         Unreviewed.
1404
1405 2017-03-03  Dean Jackson  <dino@apple.com>
1406
1407         Add WebGPU compile flag and experimental feature flag
1408         https://bugs.webkit.org/show_bug.cgi?id=169161
1409         <rdar://problem/30846689>
1410
1411         Reviewed by Tim Horton.
1412
1413         Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
1414         and an InternalSetting.
1415
1416         * DumpRenderTree/mac/DumpRenderTree.mm:
1417         (enableExperimentalFeatures):
1418         (resetWebPreferencesToConsistentValues):
1419         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1420         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1421         (WTR::InjectedBundle::beginTesting):
1422         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1423         (WTR::TestRunner::setWebGL2Enabled):
1424         (WTR::TestRunner::setWebGPUEnabled):
1425         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1426
1427 2017-03-03  Dean Jackson  <dino@apple.com>
1428
1429         Add a script to synchronize FeatureDefines.xcconfig files
1430         https://bugs.webkit.org/show_bug.cgi?id=169151
1431         <rdar://problem/30841856>
1432
1433         Reviewed by Simon Fraser.
1434
1435         I got sick of manually copying the FeatureDefines.xcconfig
1436         files, so I added a script to do it. As long as you
1437         run this after you've edited one, it will take the most
1438         recently updated and copy it to all the others.
1439
1440         * Scripts/sync-feature-defines: Added.
1441         * Scripts/webkitpy/style/checkers/featuredefines.py:
1442         (FeatureDefinesChecker.check): Export the list of files,
1443         and give a suggestion to use the sync script.
1444
1445 2017-03-03  Alex Christensen  <achristensen@webkit.org>
1446
1447         [URLParser] Fix file: as a relative file URL
1448         https://bugs.webkit.org/show_bug.cgi?id=169122
1449
1450         Reviewed by Tim Horton.
1451
1452         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1453         (TestWebKitAPI::TEST_F):
1454
1455 2017-03-02  Myles C. Maxfield  <mmaxfield@apple.com>
1456
1457         Migrate font-stretch to use fixed-point values
1458         https://bugs.webkit.org/show_bug.cgi?id=169107
1459
1460         Reviewed by Dean Jackson.
1461
1462         Update to new types.
1463
1464         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
1465         (TestWebKitAPI::createPlatformFont):
1466
1467 2017-03-02  Brady Eidson  <beidson@apple.com>
1468
1469         Update WKWebsiteDatastoreConfiguration SPI.
1470         https://bugs.webkit.org/show_bug.cgi?id=169102
1471
1472         Reviewed by Tim Horton.
1473
1474         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
1475         (-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
1476         (TEST):
1477
1478 2017-03-02  Jer Noble  <jer.noble@apple.com>
1479
1480         Sufficently large timeValue and timeScale arguments to MediaTime will cause wrapping in toTimeScale().
1481         https://bugs.webkit.org/show_bug.cgi?id=169098
1482
1483         Reviewed by Keith Miller.
1484
1485         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
1486         (TestWebKitAPI::TEST):
1487
1488 2017-03-02  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1489
1490         Add ability to read bindings test results
1491         https://bugs.webkit.org/show_bug.cgi?id=169063
1492
1493         Reviewed by Alexey Proskuryakov.
1494
1495         * Scripts/webkitpy/common/net/bindingstestresults.py: Added.
1496         (BindingsTestResults): Conforms to the AbstractTestResults interface.
1497         (BindingsTestResults.__init__): Constructor.
1498         (BindingsTestResults.results_from_string): Generates BindingsTestResults object from JSON string.
1499         (BindingsTestResults.is_subset): Compare failing tests in two BindingsTestResults objects.
1500         (BindingsTestResults.equals): Checks if two BindingsTestResults objects contain the same failing test names.
1501         (BindingsTestResults.all_passed): Return True if all bindings tests passed.
1502         (BindingsTestResults.failing_tests): Returns a list of failing tests.
1503         (BindingsTestResults.did_exceed_test_failure_limit): Always returns False, exists to conform to the interface.
1504         * Scripts/webkitpy/common/net/bindingstestresults_unittest.py: Added.
1505         (BindingsTestResultsTest): Class to test BindingsTestResults.
1506         (BindingsTestResultsTest.test_results_from_string): Unit tests string -> BindingsTestResults conversion.
1507         (BindingsTestResultsTest.test_results_from_string_success): Ditto, for success cases.
1508         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Added.
1509         (BindingsTestResultsReader): Conforms to the AbstractTestResultsReader interface.
1510         (BindingsTestResultsReader.results): Reads the results file and returns a BindingsTestResults object.
1511
1512 2017-03-02  Aakash Jain  <aakash_jain@apple.com>
1513
1514         Move stringMatchesWildcardString from WebKit2 to WebCore
1515         https://bugs.webkit.org/show_bug.cgi?id=169065
1516
1517         Reviewed by Alexey Proskuryakov.
1518
1519         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Moved StringUtilities.mm
1520         * TestWebKitAPI/Tests/WebCore/StringUtilities.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm.
1521         (TestWebKitAPI::TEST):
1522         * TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm: Removed.
1523
1524 2017-02-28  Matt Rajca  <mrajca@apple.com>
1525
1526         Media: send "did interfere with playback" events when the user pauses an autoplaying element
1527         https://bugs.webkit.org/show_bug.cgi?id=169006
1528
1529         Reviewed by Alex Christensen.
1530
1531         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
1532         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1533         (TEST): Added.
1534
1535 2017-03-02  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1536
1537         Refactor test results classes in webkitpy to enable faster EWS iteration
1538         https://bugs.webkit.org/show_bug.cgi?id=169053
1539
1540         Reviewed by Alexey Proskuryakov.
1541
1542         * Scripts/webkitpy/common/net/abstracttestresults.py:
1543         (AbstractTestResults): Import json for parse_json_string().
1544         (AbstractTestResults.parse_json_string): Abstracted out from JSCTestResults.results_from_string().
1545         * Scripts/webkitpy/common/net/abstracttestresults_unittest.py: Added.
1546         (AbstractTestResultsTest): Class that tests AbstractTestResults.
1547         (AbstractTestResultsTest.test_parse_json_string_invalid_inputs): Move unit tests from JSCTestResultsTest.
1548         (AbstractTestResultsTest.test_parse_json_string_valid_input): Add a unit test for a success case.
1549         * Scripts/webkitpy/common/net/jsctestresults.py:
1550         (JSCTestResults.results_from_string): Call parse_json_string because it was abstracted out.
1551         * Scripts/webkitpy/common/net/jsctestresults_unittest.py:
1552         (JSCTestResultsTest.test_results_from_string): Remove JSON parsing unit tests, because they were moved.
1553         * Scripts/webkitpy/tool/bot/abstracttestresultsreader.py: Added.
1554         (AbstractTestResultsReader): Generic TestResultsReader with functions common to jsc, bindings etc.
1555         (AbstractTestResultsReader.__init__): Moved from JSCTestResultsReader.__init__().
1556         (AbstractTestResultsReader._read_file_contents): Moved from JSCTestResultsReader._read_file_contents().
1557         (AbstractTestResultsReader.results): Stub.
1558         * Scripts/webkitpy/tool/bot/jsctestresultsreader.py:
1559         (JSCTestResultsReader): Now inherits from AbstractTestResultsReader.
1560         (JSCTestResultsReader.__init__): Deleted.
1561         (JSCTestResultsReader._read_file_contents): Deleted.
1562         * Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
1563         (LayoutTestResultsReader): Now inherits from AbstractTestResultsReader.
1564
1565 2017-03-02  Alex Christensen  <achristensen@webkit.org>
1566
1567         Continue enabling WebRTC
1568         https://bugs.webkit.org/show_bug.cgi?id=169056
1569
1570         Reviewed by Jon Lee.
1571
1572         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1573
1574 2017-03-02  Ryan Haddad  <ryanhaddad@apple.com>
1575
1576         Unreviewed, rolling out r213281.
1577
1578         This change caused API test WebKit2.UserMediaBasic to time
1579         out.
1580
1581         Reverted changeset:
1582
1583         "[MediaStream] UIClient may not be notified of capture state
1584         change when leaving a page"
1585         https://bugs.webkit.org/show_bug.cgi?id=169014
1586         http://trac.webkit.org/changeset/213281
1587
1588 2017-03-02  Tomas Popela  <tpopela@redhat.com>
1589
1590         [WK2] Keyboard menu key should show context menu
1591         https://bugs.webkit.org/show_bug.cgi?id=72099
1592
1593         Show the context menu when the GtkWidget::popup-menu signal is
1594         emitted. This signal is triggered by pressing a key (usually
1595         the Menu key or the Shift + F10 shortcut) or it could be emitted on
1596         WebKitWebView.
1597
1598         Reviewed by Carlos Garcia Campos.
1599
1600         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
1601         (testContextMenuDefaultMenu):
1602         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
1603         (WebViewTest::emitPopupMenuSignal):
1604         * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
1605
1606 2017-03-01  Wenson Hsieh  <wenson_hsieh@apple.com>
1607
1608         Replace -[WKWebView adjustedDataInteractionItemProviders:] with a UI delegate method
1609         https://bugs.webkit.org/show_bug.cgi?id=169013
1610
1611         Reviewed by Dan Bernstein.
1612
1613         Adjusts TestWebKitAPI for changes in WebKit2. See Source/WebKit2/ChangeLog for more details.
1614
1615         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1616         (TestWebKitAPI::TEST):
1617         (-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]): Deleted.
1618         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1619         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1620         (-[DataInteractionSimulator initWithWebView:]):
1621         (-[DataInteractionSimulator dealloc]):
1622         (-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]):
1623
1624 2017-03-01  Per Arne Vollan  <pvollan@apple.com>
1625
1626         [Win] DRT should not dispatch messages after test is done.
1627         https://bugs.webkit.org/show_bug.cgi?id=169026
1628
1629         Reviewed by Brent Fulgham.
1630
1631         Exiting the message loop with PostQuitMessage will leave room for
1632         a few messages to be dispatched after the test is done.
1633
1634         * DumpRenderTree/win/DumpRenderTree.cpp:
1635         (dump):
1636         (runTest):
1637
1638 2017-03-01  Myles C. Maxfield  <mmaxfield@apple.com>
1639
1640         Implement font-stretch for installed fonts
1641         https://bugs.webkit.org/show_bug.cgi?id=168888
1642
1643         Reviewed by Darin Adler and Dave Hyatt.
1644
1645         Update TestWebKitAPI tests to test font-stretch too.
1646
1647         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
1648         (TestWebKitAPI::createPlatformFont):
1649         (TestWebKitAPI::compareFonts):
1650         (TestWebKitAPI::TEST_F):
1651
1652 2017-03-01  Alex Christensen  <achristensen@webkit.org>
1653
1654         Unreviewed, rolling out r213259.
1655
1656         Broke an internal build
1657
1658         Reverted changeset:
1659
1660         "Continue enabling WebRTC"
1661         https://bugs.webkit.org/show_bug.cgi?id=169056
1662         http://trac.webkit.org/changeset/213259
1663
1664 2017-03-01  Alex Christensen  <achristensen@webkit.org>
1665
1666         Continue enabling WebRTC
1667         https://bugs.webkit.org/show_bug.cgi?id=169056
1668
1669         Reviewed by Jon Lee.
1670
1671         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1672
1673 2017-02-28  Matt Rajca  <mrajca@apple.com>
1674
1675         Media: notify clients when autoplayed media is muted
1676         https://bugs.webkit.org/show_bug.cgi?id=168987
1677
1678         Reviewed by Alex Christensen.
1679
1680         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
1681         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1682         (TEST): Added.
1683
1684 2017-03-01  Brady Eidson  <beidson@apple.com>
1685
1686         Add SPI to create WebsiteDataStore objects pointing to custom paths.
1687         https://bugs.webkit.org/show_bug.cgi?id=169044
1688
1689         Reviewed by Tim Horton.
1690
1691         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1692         
1693         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Added.
1694         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Added.
1695         (-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
1696         (getNextMessage):
1697         (TEST):
1698
1699 2017-03-01  Simon Fraser  <simon.fraser@apple.com>
1700
1701         Add a way to watch the CSSProperties.json file, and add me and Dan Bates to watch it.
1702
1703         * Scripts/webkitpy/common/config/watchlist:
1704
1705 2017-03-01  Jonathan Bedard  <jbedard@apple.com>
1706
1707         webkitpy: Move some device management from iOSSimulatorPort to iOSPort class
1708         https://bugs.webkit.org/show_bug.cgi?id=168681
1709
1710         Reviewed by Daniel Bates.
1711
1712         This patch moves high-level device management into iOSPort and adds a new iOSDevicePort class
1713         which inherits from iOSPort.  Additionally, this change renames device_id_for_worker_number to
1714         device_for_worker_number and manages devices by object instead of by UDID.
1715
1716         * Scripts/webkitpy/port/factory.py:
1717         (PortFactory): Correct import path for IOSSimulatorPort and IOSDevicePort.
1718         * Scripts/webkitpy/port/ios.py:
1719         (IOSPort.__init__): Define variables shared between iOS ports.
1720         (IOSPort.driver_cmd_line_for_logging): From IOSSimulatorPort.
1721         (IOSPort.driver_name): From IOSSimulatorPort.
1722         (IOSPort.using_multiple_devices): Check if this port supports multiple devices.
1723         (IOSPort._testing_device): Map worker number to device.
1724         (IOSPort.device_for_worker_number): Return _testing_device() or _current_device based on using_multiple_devices. 
1725         (IOSSimulatorPort): Moved to ios_simulator.py
1726         * Scripts/webkitpy/port/ios_device.py: Added.
1727         (IOSDevicePort): Moved functionality from IOSPort.
1728         (IOSDevicePort.determine_full_port_name): Moved from IOSPort.
1729         (IOSDevicePort._build_driver_flags): Ditto.
1730         (IOSDevicePort.operating_system): Ditto.
1731         * Scripts/webkitpy/port/ios_simulator.py: Added.
1732         (IOSSimulatorPort): Moved from ios.py.
1733         (IOSSimulatorPort.__init__): Init parent class, setup device map.
1734         (IOSSimulatorPort._create_simulators): Use object over unbound methods.
1735         (IOSSimulatorPort.setup_test_run): Ditto.
1736         (IOSSimulatorPort.using_multiple_devices): True if we are managing the simulators.
1737         (IOSSimulatorPort._create_device): Use object over unbound methods.
1738         (IOSSimulatorPort._remove_device): Ditto.
1739         (IOSSimulatorPort.driver_name): Moved to parent class.
1740         (IOSSimulatorPort.driver_cmd_line_for_logging): Ditto.
1741         (IOSSimulatorPort.child_processes): Ditto.
1742         (IOSSimulatorPort._testing_device): Ditto.
1743         (IOSSimulatorPort.device_id_for_worker_number): Renamed as device_for_worker_number.
1744         (SimulatorProcess.__init__): Call find_device_by_udid, device_id_for_worker_number has been removed.
1745         * Scripts/webkitpy/xcode/simulator.py:
1746         (Simulator): Make _managed_devices public.
1747         (Simulator.create_device): Ditto.
1748         (Simulator.remove_device): Ditto.
1749         (Simulator.device_number): Ditto.
1750
1751 2017-03-01  Alexey Proskuryakov  <ap@apple.com>
1752
1753         IndexedDB.IndexedDBMultiProcess is a flaky timeout
1754         https://bugs.webkit.org/show_bug.cgi?id=160780
1755
1756         Reviewed by Brady Eidson.
1757
1758         * TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Releasing the object
1759         once doesn't necessarily deallocate the object, there can be other references.
1760         We can use -[WKWebView _close] or -[WKWebView _killWebContentProcessAndResetState].
1761         The latter seems more appropriate, because "kill" is what the comment says.
1762
1763 2017-02-28  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1764
1765         Add ability for webkitpy to run bindings tests
1766         https://bugs.webkit.org/show_bug.cgi?id=168979
1767
1768         Reviewed by Alexey Proskuryakov.
1769
1770         This allows the below command to run bindings tests with json output, and is a required part
1771         of adding an EWS for bindings tests. (Note: this won't build because --build is not passed).
1772         webkit-patch build-and-test --no-clean --no-update  --test --non-interactive --group="bindings"
1773
1774         * Scripts/webkitpy/port/base.py:
1775         (Port.bindings_results_directory): Return the directory to place JSON results for bindings tests.
1776         * Scripts/webkitpy/tool/steps/runtests.py:
1777         (RunTests.run): Checks if we should be running bindings tests.
1778         (RunTests._run_bindings_tests): Generates the command for bindings tests, and executes it.
1779         * Scripts/webkitpy/tool/steps/steps_unittest.py:
1780         (test_runtests_bindings): Unit test for the generated run-bindings-tests command.
1781
1782 2017-02-28  Myles C. Maxfield  <mmaxfield@apple.com>
1783
1784         Test fix after r213163
1785         https://bugs.webkit.org/show_bug.cgi?id=168678
1786
1787         Unreviewed.
1788
1789         Tests and builds are timing out because this file is gigantic.
1790
1791         * TestWebKitAPI/Tests/WebCore/FontCache.cpp:
1792         (TestWebKitAPI::TEST_F):
1793
1794 2017-02-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1795
1796         Data interaction should support attachment elements
1797         https://bugs.webkit.org/show_bug.cgi?id=168916
1798         <rdar://problem/30664519>
1799
1800         Reviewed by Ryosuke Niwa.
1801
1802         Adds a new unit test verifying that a client injected bundle is able to augment UIItemProvider data vended to
1803         the UI process.
1804
1805         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1806         * TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Added.
1807         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1808         (-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]):
1809         (TestWebKitAPI::TEST):
1810
1811 2017-02-28  Chris Dumez  <cdumez@apple.com>
1812
1813         [iOS] Throttle requestAnimationFrame to 30fps in low power mode
1814         https://bugs.webkit.org/show_bug.cgi?id=168837
1815         <rdar://problem/30700929>
1816
1817         Reviewed by Simon Fraser.
1818
1819         Add unit test for -= operator on WTF::OptionSet.
1820
1821         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1822         (TestWebKitAPI::TEST):
1823
1824 2017-02-28  Jonathan Bedard  <jbedard@apple.com>
1825
1826         webkitpy: Regular expression for parsing simctl device information is wrong for iPad Pro
1827         https://bugs.webkit.org/show_bug.cgi?id=168394
1828
1829         Reviewed by Daniel Bates.
1830
1831         * Scripts/webkitpy/xcode/simulator.py:
1832         (Simulator): Allow for parenthesis in device name.
1833         * Scripts/webkitpy/xcode/simulator_unittest.py: Add iPad Pro to test.
1834
1835 2017-02-28  Myles C. Maxfield  <mmaxfield@apple.com>
1836
1837         [macOS] Migrate off of CTFontCreateForCSS
1838         https://bugs.webkit.org/show_bug.cgi?id=168678
1839
1840         Reviewed by David Hyatt.
1841
1842         Exhaustively test the font matching algorithm on Sierra.
1843
1844         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1845         * TestWebKitAPI/Tests/WebCore/FontCache.cpp: Added.
1846         (TestWebKitAPI::FontCacheTest::SetUp):
1847         (TestWebKitAPI::createPlatformFont):
1848         (TestWebKitAPI::compareFonts):
1849         (TestWebKitAPI::TEST_F):
1850
1851 2017-02-28  Basuke Suzuki  <Basuke.Suzuki@am.sony.com>
1852
1853         Windows build doesn't start build if the git branch is not master
1854         https://bugs.webkit.org/show_bug.cgi?id=168843
1855
1856         Reviewed by Myles C. Maxfield.
1857
1858         Use correct value for product base dir.
1859
1860         * Scripts/build-webkit:
1861
1862 2017-02-24  Matt Rajca  <mrajca@apple.com>
1863
1864         Media: notify clients when autoplayed media ends without being paused
1865         https://bugs.webkit.org/show_bug.cgi?id=168852
1866
1867         Reviewed by Alex Christensen.
1868
1869         * TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
1870         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
1871         (TEST): Added.
1872
1873 2017-02-28  Jonathan Bedard  <jbedard@apple.com>
1874
1875         webkitpy: jsc-ews should run when Makefiles and build scripts are changed
1876         https://bugs.webkit.org/show_bug.cgi?id=168950
1877
1878         Reviewed by Alexey Proskuryakov.
1879
1880         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
1881         (CheckPatchRelevance): Add makefiles and build scripts to jsc_paths.
1882
1883 2017-02-27  Alex Christensen  <achristensen@webkit.org>
1884
1885         Begin enabling WebRTC on 64-bit
1886         https://bugs.webkit.org/show_bug.cgi?id=168915
1887
1888         Reviewed by Eric Carlson.
1889
1890         * Scripts/build-webkit:
1891         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1892
1893 2017-02-27  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1894
1895         Windows regression: webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_jsc[_debug]
1896         https://bugs.webkit.org/show_bug.cgi?id=168628
1897
1898         Reviewed by Alexey Proskuryakov.
1899
1900         * Scripts/webkitpy/tool/steps/runtests.py:
1901         (RunTests._run_javascriptcore_tests): Pass options to the Base instance.
1902         * Scripts/webkitpy/tool/steps/steps_unittest.py:
1903         (StepsTest._step_options): Add a new 'root' option that's passed through to the Base instance.
1904         (test_runtests_jsc): Not running webkit-build-directory anymore, and changed json output directory.
1905         (test_runtests_jsc_debug): Ditto
1906
1907 2017-02-27  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
1908
1909         Add machine-readable results for bindings tests
1910         https://bugs.webkit.org/show_bug.cgi?id=168626
1911
1912         Reviewed by Alexey Proskuryakov.
1913
1914         * Scripts/run-bindings-tests:
1915         (main): Add optional --json-output command-line parameter.
1916         * Scripts/webkitpy/bindings/main.py:
1917         (BindingsTests.__init__): Add variables to store machine-readable results.
1918         (BindingsTests.detect_changes): Store results in machine-readable form if applicable.
1919         (BindingsTests.main): Write data to JSON file if applicable.
1920
1921 2017-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1922
1923         Unreviewed, roll out r213065.
1924
1925         We need these temporary fixes to keep the perf bots running.
1926
1927         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1928         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1929         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1930         (-[DataInteractionSimulator _advanceProgress]):
1931
1932 2017-02-27  Simon Fraser  <simon.fraser@apple.com>
1933
1934         Add specification and status metadata to CSSProperties.json, and validate it
1935         https://bugs.webkit.org/show_bug.cgi?id=168901
1936
1937         Reviewed by Darin Adler.
1938
1939         Enhance check-webkit-style to validate the status and spec data in CSSProperties.json.
1940         
1941         Current validation is basic type validation and some cross-referencing, but could be
1942         enhanced.
1943
1944         * Scripts/webkitpy/style/checkers/jsonchecker.py:
1945         (JSONCSSPropertiesChecker.check):
1946         (JSONCSSPropertiesChecker.check_category):
1947         (JSONCSSPropertiesChecker):
1948         (JSONCSSPropertiesChecker.check_categories):
1949         (JSONCSSPropertiesChecker.validate_url):
1950         (JSONCSSPropertiesChecker.validate_status_type):
1951         (JSONCSSPropertiesChecker.validate_comment):
1952         (JSONCSSPropertiesChecker.validate_status):
1953         (JSONCSSPropertiesChecker.validate_property_category):
1954         (JSONCSSPropertiesChecker.validate_property_specification):
1955         (JSONCSSPropertiesChecker.check_property):
1956
1957 2017-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1958
1959         Unreviewed. Fix two GTK+ unit tests failing after r213062.
1960
1961         We were building wrong Content-Disposition headers that libsoup doesn't parse correctly.
1962
1963         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
1964         (addContentDispositionHTTPHeaderToResponse):
1965         * TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
1966         (serverCallback):
1967
1968 2017-02-24  Jer Noble  <jer.noble@apple.com>
1969
1970         Add public method to MediaTime for doing timeScale conversion.
1971         https://bugs.webkit.org/show_bug.cgi?id=168860
1972
1973         Reviewed by Eric Carlson.
1974
1975         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
1976         (TestWebKitAPI::TEST):
1977
1978 2017-02-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1979
1980         Unreviewed, revert all temporary build fixes for data interaction
1981
1982         Rolls out r212990, r212988 and r212984.
1983
1984         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
1985         * TestWebKitAPI/ios/DataInteractionSimulator.h:
1986         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
1987         (-[DataInteractionSimulator _advanceProgress]):
1988
1989 2017-02-27  Alex Christensen  <achristensen@webkit.org>
1990
1991         [libwebrtc] Enable WebRTC in some Production Builds
1992         https://bugs.webkit.org/show_bug.cgi?id=168858
1993
1994         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1995
1996 2017-02-27  Andy Estes  <aestes@apple.com>
1997
1998         Add a way to test file input without relying on drag and drop
1999         https://bugs.webkit.org/show_bug.cgi?id=168848
2000         <rdar://problem/22258242>
2001
2002         Reviewed by Tim Horton.
2003
2004         Existing layout tests relied on drag and drop support in EventSender to configure a file
2005         input element for testing. This had several problems:
2006
2007         1. WebKitTestRunner has no support for beginDragWithFiles(), and DumpRenderTree doesn't
2008            support it on iOS.
2009         2. We have no test coverage for selecting files via the runOpenPanel UI delegate, leading to
2010            bugs like webkit.org/b/159686.
2011
2012         Even if we fixed (1), we'd still have a test coverage gap due to (2), so this patch
2013         introduces a way for a test to specify the list of files that should be selected by the
2014         runOpenPanel UI delegate: TestRunner.setOpenPanelFiles(). It also creates versions of a
2015         number of existing file input tests using TestRunner.setOpenPanelFiles() instead of
2016         EventSender.beginDragWithFiles().
2017
2018         * DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
2019         (-[DumpRenderTreeBrowserView webView:runOpenPanelForFileButtonWithResultListener:configuration:]):
2020         Overrode to call the corresponding method on UIDelegate.
2021         * DumpRenderTree/TestRunner.cpp:
2022         (setOpenPanelFilesCallback): Added to call TestRunner::setOpenPanelFiles().
2023         (TestRunner::staticFunctions): Registered setOpenPanelFiles.
2024         (TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to a
2025         std::vector of std::strings.
2026         * DumpRenderTree/TestRunner.h:
2027         (TestRunner::openPanelFiles):
2028         * DumpRenderTree/mac/UIDelegate.mm:
2029         (-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
2030         Added. Converts the array of file paths to an NSArray of NSURLs, resolving the file paths
2031         relative to the current test URL. Returns either the first item or all items depending on
2032         the value of allowMultipleFiles.
2033         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Defined setOpenPanelFiles.
2034         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2035         (WTR::TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to
2036         a WKArray of WKURLs, resolving the file paths relative to the current test URL, and sends
2037         the WKArray to the UI process with the "SetOpenPanelFileURLs" message.
2038         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2039         * WebKitTestRunner/TestController.cpp:
2040         (WTR::runOpenPanel): Calls the WKOpenPanelResultListener with either the first item or all
2041         items, depending on the value of WKOpenPanelParametersGetAllowsMultipleFiles().
2042         (WTR::TestController::resetStateToConsistentValues): Clear m_openPanelFileURLs.
2043         * WebKitTestRunner/TestController.h:
2044         (WTR::TestController::openPanelFileURLs):
2045         (WTR::TestController::setOpenPanelFileURLs):
2046         * WebKitTestRunner/TestInvocation.cpp:
2047         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Added code to handle the
2048         "SetOpenPanelFileURLs" message.
2049
2050 2017-02-26  Wenson Hsieh  <wenson_hsieh@apple.com>
2051
2052         REGRESSION (r211312): Double-clicking a word selects it along with the space that follows it
2053         https://bugs.webkit.org/show_bug.cgi?id=168821
2054         <rdar://problem/30690431>
2055
2056         Reviewed by Tim Horton.
2057
2058         Adds the ability for TestWKWebView to send a sequence of clicks to its window, and uses this capability to
2059         verify that double clicking to select a word in a WKWebView on Mac selects just the word, and not a trailing
2060         space along with it.
2061
2062         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2063         * TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Added.
2064         * TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm: Copied from Tools/TestWebKitAPI/cocoa/TestWKWebView.h.
2065         (TEST):
2066         * TestWebKitAPI/cocoa/TestWKWebView.h:
2067         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2068         (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
2069         (-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:]):
2070         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
2071         (-[TestWKWebView mouseUpAtPoint:]):
2072         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
2073         (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:]): Deleted.
2074         (-[TestWKWebViewHostWindow _mouseUpAtPoint:]): Deleted.
2075
2076 2017-02-25  Simon Fraser  <simon.fraser@apple.com>
2077
2078         Make check-webkit-style do some basic validation for CSSProperties.json
2079         https://bugs.webkit.org/show_bug.cgi?id=168874
2080
2081         Reviewed by Zalan Bujtas.
2082
2083         Do checking of the keys and the value types.
2084         
2085         Print exceptions if they occur; previously, coding errors caused silent failure.
2086
2087         * Scripts/webkitpy/style/checker.py:
2088         (CheckerDispatcher._create_checker):
2089         * Scripts/webkitpy/style/checkers/jsonchecker.py:
2090         (JSONFeaturesChecker.check):
2091         (JSONCSSPropertiesChecker):
2092         (JSONCSSPropertiesChecker.check):
2093         (JSONCSSPropertiesChecker.validate_comment):
2094         (JSONCSSPropertiesChecker.validate_type):
2095         (JSONCSSPropertiesChecker.validate_boolean):
2096         (JSONCSSPropertiesChecker.validate_string):
2097         (JSONCSSPropertiesChecker.validate_array):
2098         (JSONCSSPropertiesChecker.validate_codegen_properties):
2099         (JSONCSSPropertiesChecker.check_property):
2100         (JSONCSSPropertiesChecker.check_codegen_properties):
2101
2102 2017-02-26  Chris Dumez  <cdumez@apple.com>
2103
2104         HitTestResult's linkSuggestedFilename should sanitize download attribute
2105         https://bugs.webkit.org/show_bug.cgi?id=168856
2106         <rdar://problem/30683109>
2107
2108         Reviewed by Antti Koivisto.
2109
2110         Add test coverage.
2111
2112         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2113         * TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Added.
2114         * TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm:
2115         (TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
2116         (TestWebKitAPI::TEST):
2117
2118 2017-02-24  Joseph Pecoraro  <pecoraro@apple.com>
2119
2120         [Resource Timing] Media elements initiated loads should set the initiatorType to their element name (video/audio)
2121         https://bugs.webkit.org/show_bug.cgi?id=168680
2122
2123         Reviewed by Youenn Fablet.
2124
2125         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
2126         (TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
2127         Include a dummy HTMLVideoElement.
2128
2129 2017-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2130
2131         Unreviewed, temporarily disable all data interaction tests.
2132
2133         They will be reenabled once the bots are ready to build and run them.
2134
2135         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2136         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2137         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2138
2139 2017-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2140
2141         Unreviewed, fix the internal build.
2142
2143         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2144         (-[DataInteractionSimulator _advanceProgress]):
2145
2146 2017-02-24  Matt Rajca  <mrajca@apple.com>
2147
2148         Media: notify clients when autoplay is denied
2149         https://bugs.webkit.org/show_bug.cgi?id=168840
2150
2151         Reviewed by Alex Christensen.
2152
2153         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
2154         (handleAutoplayEvent):
2155         (runUntilReceivesAutoplayEvent):
2156         (TEST): Added.
2157
2158 2017-02-23  Matt Rajca  <mrajca@apple.com>
2159
2160         API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay is timing out
2161         https://bugs.webkit.org/show_bug.cgi?id=167466
2162
2163         Reviewed by Alex Christensen.
2164
2165         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
2166         (TEST): Use the correct API version.
2167
2168 2017-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
2169
2170         Refactor data interaction to use new WKDataInteraction SPI
2171         https://bugs.webkit.org/show_bug.cgi?id=168602
2172         Work towards <rdar://problem/30313681>
2173
2174         Reviewed by Tim Horton.
2175
2176         Update DataInteractionSimulator to simulate data interaction using updated SPI. See changes in WebKit2 for more details.
2177
2178         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2179         (TestWebKitAPI::TEST):
2180         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2181         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2182         (-[DataInteractionSimulator _resetSimulatedState]):
2183         (-[DataInteractionSimulator runFrom:to:]):
2184         (-[DataInteractionSimulator _advanceProgress]):
2185         (-[DataInteractionSimulator _currentLocation]):
2186         (-[DataInteractionSimulator _finishDataInteraction]): Deleted.
2187         (-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]): Deleted.
2188         (-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]): Deleted.
2189
2190 2017-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
2191
2192         Remove the data interaction gesture recognizer
2193         https://bugs.webkit.org/show_bug.cgi?id=168600
2194         <rdar://problem/30313681>
2195
2196         Reviewed by Anders Carlsson.
2197
2198         Adjust TestWebKitAPI for changes in WebKit2.
2199
2200         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2201         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2202         (-[DataInteractionSimulator initWithWebView:]):
2203         (-[DataInteractionSimulator runFrom:to:]):
2204         (-[DataInteractionSimulator _advanceProgress]):
2205         (-[DataInteractionSimulator _finishDataInteraction]):
2206         (-[MockLongPressGestureRecognizer initWithWindow:]): Deleted.
2207         (-[MockLongPressGestureRecognizer locationInView:]): Deleted.
2208         (-[MockLongPressGestureRecognizer state]): Deleted.
2209         (-[MockLongPressGestureRecognizer numberOfTouches]): Deleted.
2210         (-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]): Deleted.
2211         (-[DataInteractionSimulator dataInteractionGestureRecognizer]): Deleted.
2212         (-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]): Deleted.
2213
2214 2017-02-24  John Wilander  <wilander@apple.com>
2215
2216         Resource Load Statistics: Add alternate classification method
2217         https://bugs.webkit.org/show_bug.cgi?id=168347
2218         <rdar://problem/30352793>
2219         <rdar://problem/30646710>
2220         <rdar://problem/30660708>
2221
2222         Reviewed by Alex Christensen.
2223
2224         Added three testRunner functions to facilitate layout tests:
2225         - setStatisticsSubframeUnderTopFrameOrigin()
2226         - setStatisticsSubresourceUnderTopFrameOrigin()
2227         - setStatisticsSubresourceUniqueRedirectTo()
2228
2229         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2230         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2231         (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
2232         (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
2233         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
2234         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2235         * WebKitTestRunner/TestController.cpp:
2236         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2237         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2238         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2239         * WebKitTestRunner/TestController.h:
2240         * WebKitTestRunner/TestInvocation.cpp:
2241         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2242
2243 2017-02-23  Joseph Pecoraro  <pecoraro@apple.com>
2244
2245         [Resource Timing] Add Experimental Feature Flag
2246         https://bugs.webkit.org/show_bug.cgi?id=167147
2247
2248         Reviewed by Ryosuke Niwa.
2249
2250         * DumpRenderTree/mac/DumpRenderTree.mm:
2251         (enableExperimentalFeatures):
2252         (resetWebPreferencesToConsistentValues):
2253         * DumpRenderTree/win/DumpRenderTree.cpp:
2254         (enableExperimentalFeatures):
2255         (resetWebPreferencesToConsistentValues):
2256         Put experimental flags in the experimental section.
2257
2258 2017-02-23  Beth Dakin  <bdakin@apple.com> + Dan Saunders  <dasau@microsoft.com>
2259
2260         No reliable way to get a snapshot of WKWebView (macOS)
2261         https://bugs.webkit.org/show_bug.cgi?id=161450
2262         -and corresponding-
2263         <rdar://problem/23846039>
2264
2265         Reviewed by Tim Horton.
2266
2267         Test for WKWebView’s new API takeSnapshotWithConfiguration:completionHandler:
2268
2269         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2270         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Added.
2271         (convertToCGImage):
2272         (getPixelIndex):
2273         (TEST):
2274
2275 2017-02-23  Saam Barati  <sbarati@apple.com>
2276
2277         Speculative fix for jsc timing out tests
2278         https://bugs.webkit.org/show_bug.cgi?id=168791
2279
2280         Rubber Stamped by Keith Miller.
2281
2282         Play musical chairs with IRC and Briggs options on
2283         ftl-eager and ftl-eager-no-cjit.
2284
2285         * Scripts/run-jsc-stress-tests:
2286
2287 2017-02-23  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2288
2289         Improve error message when the WPT server fails to start.
2290         https://bugs.webkit.org/show_bug.cgi?id=168759
2291
2292         Reviewed by Ryosuke Niwa.
2293
2294         Check if the WPT server is running after 1 second, and if is not
2295         print useful information for helping the user to debug the issue.
2296
2297         Using check_running_pid() to check if the process is still running
2298         doesn't work. A process started via subprocess popen that has ended
2299         will be in a zombie state until a call to wait/communicate/poll
2300         is done, or until the object is deleted or garbage collected.
2301
2302         This adds also support for testing the behaviour of subprocess
2303         poll() on the unit tests that use MockProcess.
2304
2305         A new test is added also for the battery of tests for the WPT
2306         server.
2307
2308         * Scripts/webkitpy/common/system/executive_mock.py:
2309         (MockProcess.__init__):
2310         (MockProcess.wait):
2311         (MockProcess.communicate):
2312         (MockProcess.poll):
2313         (MockExecutive.popen):
2314         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
2315         (WebPlatformTestServer.__init__):
2316         (WebPlatformTestServer._prepare_config):
2317         (WebPlatformTestServer._spawn_process):
2318         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
2319         (TestWebPlatformTestServer.test_corrupted_subserver_files):
2320         (TestWebPlatformTestServer):
2321         (TestWebPlatformTestServer.test_server_fails_to_start_throws_exception):
2322
2323 2017-02-23  Wenson Hsieh  <wenson_hsieh@apple.com>
2324
2325         Unreviewed, temporarily disable DataInteractionTests in TestWebKitAPI.
2326
2327         These will be reenabled in https://bugs.webkit.org/show_bug.cgi?id=168602.
2328
2329         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2330
2331 2017-02-22  Wenson Hsieh  <wenson_hsieh@apple.com>
2332
2333         Data interaction causes selection to fall out of sync between web/UI processes
2334         https://bugs.webkit.org/show_bug.cgi?id=168735
2335         <rdar://problem/30657817>
2336
2337         Reviewed by Tim Horton.
2338
2339         Adds a new method to TestWKWebView for querying selection view rects from the UI process and augments data
2340         interaction unit tests to check for selection rects using this new hook.
2341
2342         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2343         (makeCGRectValue):
2344         (TestWebKitAPI::TEST):
2345         * TestWebKitAPI/cocoa/TestWKWebView.h:
2346         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2347         (-[TestWKWebView selectionRectsAfterPresentationUpdate]):
2348         * TestWebKitAPI/ios/DataInteractionSimulator.h:
2349         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
2350         (-[DataInteractionSimulator _resetSimulatedState]):
2351         (-[DataInteractionSimulator runFrom:to:]):
2352         (-[DataInteractionSimulator finalSelectionRects]):
2353
2354 2017-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2355
2356         Better handle Thread and RunLoop initialization
2357         https://bugs.webkit.org/show_bug.cgi?id=167828
2358
2359         Reviewed by Yusuke Suzuki.
2360
2361         Remove unnecessary calls to WTF::initializeMainThread().
2362
2363         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
2364         (TestWebKitAPI::ComplexTextControllerTest::SetUp):
2365         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2366         (TestWebKitAPI::ContentExtensionTest::SetUp):
2367         * WebKitTestRunner/TestController.cpp:
2368         (WTR::TestController::initialize):
2369
2370 2017-02-22  Myles C. Maxfield  <mmaxfield@apple.com>
2371
2372         [Cocoa] Remove Yosemite-specific font lookup code
2373         https://bugs.webkit.org/show_bug.cgi?id=168682
2374
2375         Reviewed by Zalan Bujtas.
2376
2377         * DumpRenderTree/mac/DumpRenderTree.mm:
2378         (fontWhitelist):
2379         (adjustFonts):
2380         (createWebViewAndOffscreenWindow):
2381         (drt_NSFontManager_availableFontFamilies): Deleted.
2382         (drt_NSFontManager_availableFonts): Deleted.
2383         (swizzleNSFontManagerMethods): Deleted.
2384         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
2385         (WTR::activateFonts):
2386         (WTR::allowedFontFamilySet): Deleted.
2387         (WTR::systemHiddenFontFamilySet): Deleted.
2388         (WTR::wtr_NSFontManager_availableFontFamilies): Deleted.
2389         (WTR::wtr_NSFontManager_availableFonts): Deleted.
2390         (WTR::swizzleNSFontManagerMethods): Deleted.
2391         * WebKitTestRunner/mac/TestControllerMac.mm:
2392         (WTR::generateWhitelist):
2393         (WTR::TestController::platformInitializeContext):
2394
2395 2017-02-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2396
2397         AutoInstaller should not skip the install step if the package is downloaded but not installed
2398         https://bugs.webkit.org/show_bug.cgi?id=168737
2399
2400         Reviewed by Ryosuke Niwa.
2401
2402         Don't skip the install step if the package target path don't exists.
2403         Fix the description for "should_refresh" optional argument.
2404
2405         * Scripts/webkitpy/common/system/autoinstall.py:
2406         (AutoInstaller.install):
2407
2408 2017-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2409
2410         [GTK] Do not use g_return_if_fail in EventSenderProxy::continuousMouseScrollBy
2411         https://bugs.webkit.org/show_bug.cgi?id=168721
2412
2413         Reviewed by Michael Catanzaro.
2414
2415         Use WTFLogAlways instead. It's still shown in stderr, but it won't crash if we ever run tests with fatal
2416         criticals.
2417
2418         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2419         (WTR::EventSenderProxy::continuousMouseScrollBy):
2420
2421 2017-02-21  Youenn Fablet  <youenn@apple.com>
2422
2423         [WebRTC][Mac] Activate libwebrtc
2424         https://bugs.webkit.org/show_bug.cgi?id=167293
2425         <rdar://problem/30401864>
2426
2427         Reviewed by Alex Christensen.
2428
2429         Fixing paths to allow loading libwebrtc.dylib successfully.
2430
2431         * Scripts/build-webkit:
2432         * Scripts/webkitdirs.pm:
2433         (setupMacWebKitEnvironment):
2434         (setupIOSWebKitEnvironment):
2435         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2436
2437 2017-02-21  Saam Barati  <sbarati@apple.com>
2438
2439         Add the Briggs optimistic allocator to run on ARM64
2440         https://bugs.webkit.org/show_bug.cgi?id=168454
2441
2442         Reviewed by Filip Pizlo.
2443
2444         * Scripts/run-jsc-stress-tests:
2445
2446 2017-02-20  Filip Pizlo  <fpizlo@apple.com>
2447
2448         The collector thread should only start when the mutator doesn't have heap access
2449         https://bugs.webkit.org/show_bug.cgi?id=167737
2450
2451         Reviewed by Keith Miller.
2452         
2453         Make more tests collect continuously.
2454
2455         * Scripts/run-jsc-stress-tests:
2456
2457 2017-02-20  Simon Fraser  <simon.fraser@apple.com>
2458
2459         Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
2460         https://bugs.webkit.org/show_bug.cgi?id=168620
2461         <rdar://problem/30617772>
2462
2463         Reviewed by Tim Horton.
2464         
2465         Add a setting that allows one to toggle subpixel-antialiased layer text on and off.
2466
2467         * DumpRenderTree/mac/DumpRenderTree.mm:
2468         (resetWebPreferencesToConsistentValues):
2469         * MiniBrowser/mac/SettingsController.h:
2470         * MiniBrowser/mac/SettingsController.m:
2471         (-[SettingsController _populateMenu]):
2472         (-[SettingsController validateMenuItem:]):
2473         (-[SettingsController toggleSubpixelAntialiasedLayerTextEnabled:]):
2474         (-[SettingsController subpixelAntialiasedLayerTextEnabled]):
2475         * MiniBrowser/mac/WK1BrowserWindowController.m:
2476         (-[WK1BrowserWindowController didChangeSettings]):
2477         * MiniBrowser/mac/WK2BrowserWindowController.m:
2478         (-[WK2BrowserWindowController didChangeSettings]):
2479         * WebKitTestRunner/TestController.cpp:
2480         (WTR::TestController::resetPreferencesToConsistentValues):
2481
2482 2017-02-21  Jonathan Bedard  <jbedard@apple.com>
2483
2484         webkitpy: Refactor Device class
2485         https://bugs.webkit.org/show_bug.cgi?id=168332
2486
2487         Reviewed by Alexey Proskuryakov.
2488
2489         Separate the more specific SimulatedDevice from the abstract
2490         idea of a device.
2491
2492         * Scripts/webkitpy/xcode/device.py: Added.
2493         (Device):  Base device class.
2494         (Device.__init__): Initialize _host, name and udid.
2495         (Device.install_app): Function declaration.
2496         (Device.launch_app): Ditto.
2497         (Device.__eq__): Compare two devices by udid.
2498         (Device.__ne__): Ditto.
2499         (Device.__repr__): Return device name and udid in formatted string.
2500         * Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/simulator.py.
2501         (SimulatedDevice):
2502         (SimulatedDevice.__init__): Call Device.__init__ first.
2503         (SimulatedDevice.delete): Device -> SimulatedDevice.
2504         (SimulatedDevice.reset): Ditto.
2505         (SimulatedDevice.__eq__): Moved to device.py.
2506         (SimulatedDevice.__ne__): Ditto.
2507         (SimulatedDevice.__repr__): Call Device __repr__ first.
2508         (DeviceType): Kept in Scripts/webkitpy/xcode/simulator.py.
2509         (Runtime): Kept in Scripts/webkitpy/xcode/simulator.py.
2510         (Device): Renamed SimulatedDevice.
2511         (Simulator): Kept in Scripts/webkitpy/xcode/simulator.py.
2512         * Scripts/webkitpy/xcode/simulator.py:
2513         (Simulator): Define Simulator.Device class as None.
2514         (Simulator.__init__): Import SimulatedDevice as Simulator.Device.
2515         (Simulator.delete_device): Use Simulator.Device.
2516         (Simulator.reset_device): Ditto.
2517         (Simulator._parse_devices): Ditto.
2518         (Simulator.lookup_or_create_device): Make 
2519         (Device): Moved to simulated_device as SimulatedDevice.
2520
2521 2017-02-21  JF Bastien  <jfbastien@apple.com>
2522
2523         Fix cmake build
2524         https://bugs.webkit.org/show_bug.cgi?id=168665
2525
2526         Reviewed by Mark Lam.
2527
2528         It was broken by r212555 and r212681.
2529
2530         * DumpRenderTree/PlatformMac.cmake:
2531
2532 2017-02-21  Alexey Proskuryakov  <ap@apple.com>
2533
2534         Improve bot watcher's dashboard performance
2535         https://bugs.webkit.org/show_bug.cgi?id=168624
2536         <rdar://problem/30190109>
2537
2538         Reviewed by Daniel Bates.
2539
2540         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
2541         There was an unnecessary linear complexity algorithm in indexOfRevision().
2542
2543 2017-02-21  Alex Christensen  <achristensen@webkit.org>
2544
2545         Unreviewed, rolling out r212699.
2546
2547         Internal build not ready
2548
2549         Reverted changeset:
2550
2551         "[WebRTC][Mac] Activate libwebrtc"
2552         https://bugs.webkit.org/show_bug.cgi?id=167293
2553         http://trac.webkit.org/changeset/212699
2554
2555 2017-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2556
2557         Remove ENABLE_THREADED_COMPOSITOR build option
2558         https://bugs.webkit.org/show_bug.cgi?id=168606
2559
2560         Reviewed by Michael Catanzaro.
2561
2562         * Scripts/webkitperl/FeatureList.pm:
2563
2564 2017-02-20  Youenn Fablet  <youenn@apple.com>
2565
2566         [WebRTC][Mac] Activate libwebrtc
2567         https://bugs.webkit.org/show_bug.cgi?id=167293
2568         <rdar://problem/30401864>
2569
2570         Reviewed by Alex Christensen.
2571
2572         Fixing paths to allow loading libwebrtc.dylib successfully.
2573
2574         * Scripts/build-webkit:
2575         * Scripts/webkitdirs.pm:
2576         (setupMacWebKitEnvironment):
2577         (setupIOSWebKitEnvironment):
2578
2579 2017-02-20  Ryan Haddad  <ryanhaddad@apple.com>
2580
2581         Unreviewed, rolling out r212685.
2582
2583         This change broke the 32-bit Sierra build.
2584
2585         Reverted changeset:
2586
2587         "Resource Load Statistics: Add alternate classification
2588         method"
2589         https://bugs.webkit.org/show_bug.cgi?id=168347
2590         http://trac.webkit.org/changeset/212685
2591
2592 2017-02-20  John Wilander  <wilander@apple.com>
2593
2594         Resource Load Statistics: Add alternate classification method
2595         https://bugs.webkit.org/show_bug.cgi?id=168347
2596         <rdar://problem/30352793>
2597
2598         Reviewed by Alex Christensen.
2599
2600         Added three testRunner functions to facilitate layout tests:
2601         - setStatisticsSubframeUnderTopFrameOrigin()
2602         - setStatisticsSubresourceUnderTopFrameOrigin()
2603         - setStatisticsSubresourceUniqueRedirectTo()
2604
2605         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2606         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2607         (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
2608         (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
2609         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
2610         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2611         * WebKitTestRunner/TestController.cpp:
2612         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
2613         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
2614         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
2615         * WebKitTestRunner/TestController.h:
2616         * WebKitTestRunner/TestInvocation.cpp:
2617         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2618
2619 2017-02-20  Anders Carlsson  <andersca@apple.com>
2620
2621         Use the new drag code path when dragging links
2622         https://bugs.webkit.org/show_bug.cgi?id=168612
2623
2624         Reviewed by Tim Horton.
2625
2626         If a type is not dynamic, just use the static UTI.
2627
2628         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2629         (-[LocalPasteboard writeObjects:]):
2630
2631 2017-02-17  Anders Carlsson  <andersca@apple.com>
2632
2633         Add a new drag code path and use it for dragging plain text
2634         https://bugs.webkit.org/show_bug.cgi?id=168534
2635
2636         Reviewed by Geoffrey Garen.
2637
2638         Update the testing infrastructure to handle NSDraggingSession.
2639
2640         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2641         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm: Renamed from Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m.
2642         (-[LocalPasteboard writeObjects:]):
2643         Implement this in terms of the legacy pasteboard API.
2644
2645         * DumpRenderTree/mac/EventSendingController.mm:
2646         (drt_WebHTMLView_beginDraggingSessionWithItemsEventSource):
2647         (+[EventSendingController initialize]):
2648         Swizzle the drag method instead of adding a delegate method (like the old code does).
2649
2650 2017-02-20  Florian Bruhin  <git@the-compiler.org>
2651
2652         Handle EINTR during webkitpy server process select()
2653         https://bugs.webkit.org/show_bug.cgi?id=168361
2654
2655         Reviewed by Michael Catanzaro.
2656
2657         Otherwise, on my machine, resizing the terminal run-webkit-tests is running in
2658         makes it die.
2659
2660         * Scripts/webkitpy/port/server_process.py:
2661         (ServerProcess._wait_for_data_and_update_buffers_using_select):
2662
2663 2017-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2664
2665         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/default-menu.
2666
2667         It can happen that the window onload event is dispatched after the load finished is received in the UI
2668         process. Move the script to select the text to the body instead of using a window onload handler.
2669
2670         * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
2671         (testContextMenuDefaultMenu):
2672
2673 2017-02-20  Manuel Rego Casasnovas  <rego@igalia.com>
2674
2675         [css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
2676         https://bugs.webkit.org/show_bug.cgi?id=167693
2677
2678         Reviewed by Sergio Villar Senin.
2679
2680         * Scripts/webkitperl/FeatureList.pm:
2681         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2682         * TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
2683         (TestWebKitAPI::computeNumberOfTracks):
2684         (TestWebKitAPI::TEST):
2685         * TestWebKitAPI/Tests/WebCore/GridPosition.cpp:
2686         (TestWebKitAPI::TEST):
2687
2688 2017-02-19  Commit Queue  <commit-queue@webkit.org>
2689
2690         Unreviewed, rolling out r212466.
2691         https://bugs.webkit.org/show_bug.cgi?id=168577
2692
2693         causes crashes on AArch64 on linux, maybe it's causing crashes
2694         on iOS too (Requested by pizlo on #webkit).
2695
2696         Reverted changeset:
2697
2698         "The collector thread should only start when the mutator
2699         doesn't have heap access"
2700         https://bugs.webkit.org/show_bug.cgi?id=167737
2701         http://trac.webkit.org/changeset/212466
2702
2703 2017-02-17  Aakash Jain  <aakash_jain@apple.com>
2704
2705         Fix failure from r212579.
2706
2707         Unreviewed build-fix.
2708
2709         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
2710         (CheckPatchRelevance._changes_are_relevant): Return true for all groups others than jsc for now.
2711
2712 2017-02-17  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
2713
2714         EWS should run JavaScriptCore tests
2715         https://bugs.webkit.org/show_bug.cgi?id=162458
2716
2717         Reviewed by Alexey Proskuryakov.
2718
2719         * QueueStatusServer/config/queues.py: Add jsc-ews queue.
2720         * QueueStatusServer/model/queuestatus.py:
2721         (QueueStatus.did_skip): Returns whether patch was skipped, based on status.
2722         * QueueStatusServer/handlers/statusbubble.py:
2723         (StatusBubble._should_show_bubble_for): Add logic to hide jsc-ews bubble if the patch does not touch jsc.
2724         * Scripts/webkitpy/common/checkout/scm/scm_mock.py:
2725         (MockSCM.__init__): Add _mockChangedFiles variable.
2726         (MockSCM.changed_files): Change to use _mockChangedFiles variables.
2727         * Scripts/webkitpy/common/config/ews.json: Add config info for JSC EWS.
2728         * Scripts/webkitpy/common/config/ports.py: Add support for JSC EWS in Mac Port.
2729         (DeprecatedPort._append_build_style_flag): Helper function to append build_style to a command.
2730         (DeprecatedPort.build_jsc_command): Added - command to build JSC only (quicker than building all of WebKit).
2731         (DeprecatedPort.run_javascriptcore_tests_command): Allow JSC EWS to only run JSC tests.
2732         (MacPort.run_webkit_tests_command): Check for JSC.
2733         * Scripts/webkitpy/common/config/ports_mock.py:
2734         (MockPort.run_javascriptcore_tests_command): Add build_style argument.
2735         * Scripts/webkitpy/common/config/ports_unittest.py:
2736         (DeprecatedPortTest.test_mac_port): Add unit tests for build-jsc shell command.
2737         * Scripts/webkitpy/common/net/abstracttestresults.py: Added.
2738         (AbstractTestResults): Abstract superclass of JSCTestResults and JSCTestResults.
2739         (AbstractTestResults.test_results): Stub.
2740         (AbstractTestResults.failing_tests): Stub.
2741         (AbstractTestResults.did_exceed_test_failure_limit): Stub.
2742         * Scripts/webkitpy/common/net/jsctestresults.py: Added.
2743         (JSCTestResults): Added.
2744         (JSCTestResults.intersection): Return a JSCTestResults object with failures common to both input objects.
2745         (JSCTestResults.results_from_string): Use json library to parse results.
2746         (JSCTestResults.__init__): Initialize members.
2747         (JSCTestResults.equals): This enables unit testing.
2748         (JSCTestResults.is_subset): Checks if one set of failures is a subset of another.
2749         (JSCTestResults.all_passed): Getter.
2750         (JSCTestResults.failing_tests): Getter.
2751         (JSCTestResults.did_exceed_test_failure_limit): Getter.
2752         * Scripts/webkitpy/common/net/jsctestresults_unittest.py: Added.
2753         (JSCTestResultsTest): Class to test JSCTestResults.
2754         (JSCTestResultsTest.test_results_from_string): Tests parsing.
2755         (JSCTestResultsTest.test_intersection_api_tests): Unit test for intersection() class method.
2756         (JSCTestResultsTest.test_intersection_stress_tests): Unit test for intersection() class method.
2757         (JSCTestResultsTest.test_intersection_general_case): Unit test for intersection() class method.
2758         * Scripts/webkitpy/port/base.py:
2759         (Port.jsc_results_directory): Returns the directory for the JSC test results JSON file.
2760         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
2761         (EarlyWarningSystemTask.run): Add check_patch_relevance step.
2762         * Scripts/webkitpy/tool/bot/jscews_unittest.py: Added.
2763         (MockPatchAnalysisTask): Mocked-out version of PatchAnalysisTask that doesn't run commands.
2764         (MockPatchAnalysisTask.__init__): Sets attributes.
2765         (MockPatchAnalysisTask._test): Override to not run command.
2766         (MockPatchAnalysisTask._build_and_test_without_patch): Override to not run command.
2767         (MockPatchAnalysisTask.validate): Assume mocked patch is valid for purposes of testing retry logic.
2768         (MockPatchAnalysisTask.test_run_count): Specific to the mocked version, to test retry logic.
2769         (MockJSCEarlyWarningSystem): Mocked-out version of AbstarctEarlyWarningSystem so we can provide test results.
2770         (MockJSCEarlyWarningSystem.__init__): Sets attributes, also sets group to jsc.
2771         (MockJSCEarlyWarningSystem.test_results): Returns test results provided by us, instead of using a JSON reader.
2772         (JSCEarlyWarningSystemTest): Class to test retry logic in below situations.
2773         (JSCEarlyWarningSystemTest._create_task): Helper function to abstract out common code.
2774         (JSCEarlyWarningSystemTest._results_indicate_all_passed): False if input is None or has failures, else True.
2775         (JSCEarlyWarningSystemTest.test_success_case): Clean patch on clean tree.
2776         (JSCEarlyWarningSystemTest.test_test_failure): Failed patch on clean tree.
2777         (JSCEarlyWarningSystemTest.test_fix): Patch that fixes all tree redness.
2778         (JSCEarlyWarningSystemTest.test_ineffective_patch): Patch that has same failures as tree.
2779         (JSCEarlyWarningSystemTest.test_partially_effective_patch): Patch fixes some failures but adds no new failures.
2780         (JSCEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Patch has some failures not in tree.
2781         (JSCEarlyWarningSystemTest.test_first_results_could_not_be_read): Patch results not readable.
2782         (JSCEarlyWarningSystemTest.test_second_results_could_not_be_read): Patch results not readable on second run.
2783         (JSCEarlyWarningSystemTest.test_clean_results_could_not_be_read): Results from clean tree not readable.
2784         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass): Patch has one flake and no failures.
2785         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass_v2): Patch has one flake and no failures.
2786         (JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_failure): Patch has flakes and failed tests.
2787         (JSCEarlyWarningSystemTest.test_flaky_results_on_red_tree_pass): Patch has same failures as tree, plus a flake.
2788         * Scripts/webkitpy/tool/bot/jsctestresultsreader.py: Added.
2789         (JSCTestResultsReader): Reads results file.
2790         (JSCTestResultsReader.__init__): Sets attributes.
2791         (JSCTestResultsReader._read_file_contents): Reads file.
2792         (JSCTestResultsReader.results): Reads the results file and returns a JSCTestResults object.
2793         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
2794         (PatchIsNotApplicable): Exception for when patch doesn't have relevant changes.
2795         (PatchAnalysisTask._check_patch_relevance): Added.
2796         (PatchAnalysisTask._build): Check for JSC.
2797         (PatchAnalysisTask._build_without_patch): Check for JSC.
2798         (PatchAnalysisTask._test): Check for JSC.
2799         (PatchAnalysisTask._build_and_test_without_patch): Check for JSC.
2800         (PatchAnalysisTask._retry_jsc_tests): Retry logic for JSC EWS.
2801         (PatchAnalysisTask._retry_layout_tests): Retry logic for layout tests EWS.
2802         (PatchAnalysisTask._test_patch): Add retry logic for JSC.
2803         * Scripts/webkitpy/tool/commands/download.py:
2804         (CheckPatchRelevance): Add check-patch-relevance command.
2805         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
2806         (AbstractEarlyWarningSystem._create_task): Abstract out to enable mocking.
2807         (AbstractEarlyWarningSystem.begin_work_queue): Use JSCTestResultsReader not LayoutTestResultsReader in JSC EWS.
2808         (AbstractEarlyWarningSystem.review_patch): Handle PatchIsApplicable.
2809         (AbstractEarlyWarningSystem.test_results): _layout_test_results_reader -> _test_results_reader.
2810         (AbstractEarlyWarningSystem.archive_last_test_results): _layout_test_results_reader -> _test_results_reader.
2811         (AbstractEarlyWarningSystem.group): This attribute determines the type of EWS (eg. JSC).
2812         (AbstractEarlyWarningSystem.load_ews_classes): Add _group, and make classes of type cls to enable mocking.
2813         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
2814         (TestEWS): Sample layout test EWS class used for unit testing.
2815         (TestJSCEWS): Sample JSC EWS class used for unit testing.
2816         (AbstractEarlyWarningSystemTest.test_failing_tests_message.TestEWS): Add _group.
2817         (AbstractEarlyWarningSystemTest.test_failing_jsc_tests_message.TestEWS): Added test for jsc failures message.
2818         (AbstractEarlyWarningSystemTest): Add _group variable.
2819         (EarlyWarningSystemTest._default_expected_logs): Add check-patch-relevance step, inconclusive logs, and group.
2820         (EarlyWarningSystemTest._test_ews): Add logs_are_conclusive option to pass through to default_expected_logs().
2821         (EarlyWarningSystemTest.test_inconclusive_test_results): Test not removing patch from queue if not conclusive.
2822         (MockAbstractEarlyWarningSystemForInconclusiveJSCResults): Added.
2823         (MockAbstractEarlyWarningSystemForInconclusiveJSCResults._test_patch): Simulates running tests but not getting a conclusive result.
2824         (MockEarlyWarningSystemTaskForInconclusiveJSCResults): Added.
2825         (MockEarlyWarningSystemTaskForInconclusiveJSCResults._create_task): Use MockEarlyWarningSystemTask (not EarlyWarningSystemTask).
2826         * Scripts/webkitpy/tool/steps/__init__.py: Add CheckPatchRelevance import.
2827         * Scripts/webkitpy/tool/steps/build.py:
2828         (Build.options): Check for JSC.
2829         (Build.build): Check for JSC.
2830         (Build.run): Check for JSC.
2831         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Added.
2832         (CheckPatchRelevance): Added.
2833         (CheckPatchRelevance._does_contain_change_in_paths): Abstract function to perform regex matching.
2834         (CheckPatchRelevance.run): Check if changed files in patch belong in certain folders.
2835         * Scripts/webkitpy/tool/steps/options.py:
2836         (Options): Add --group command line option.
2837         * Scripts/webkitpy/tool/steps/runtests.py:
2838         (RunTests.options): Add group.
2839         (RunTests.run): Check for JSC.
2840         (RunTests._run_webkit_tests): Check for JSC.
2841         (RunTests): Add _group attribute.
2842         (RunTests._run_javascriptcore_tests): New.
2843         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
2844
2845 2017-02-17  Aakash Jain  <aakash_jain@apple.com>
2846
2847         Fix tools that were broken by Efl removal
2848         https://bugs.webkit.org/show_bug.cgi?id=168496
2849
2850         Reviewed by Alexey Proskuryakov.
2851
2852         * QueueStatusServer/config/queues.py:
2853         * Scripts/webkitpy/common/config/ews.json:
2854         * TestResultServer/static-dashboards/builders.jsonp:
2855         * TestResultServer/static-dashboards/flakiness_dashboard.js:
2856         * TestResultServer/static-dashboards/loader_unittests.js:
2857
2858 2017-02-16  Lucas Forschler  <lforschler@apple.com>
2859
2860         https://bugs.webkit.org/show_bug.cgi?id=168442
2861         Move the SVN checkout from http -> https.
2862         Update unit tests.
2863
2864         Reviewed by Alexey Proskuryakov.
2865
2866         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2867         (CheckOutSource.__init__):
2868         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2869         (SVNMirrorTest.get_SVNMirrorFromConfig):
2870         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
2871
2872 2017-02-16  Commit Queue  <commit-queue@webkit.org>
2873
2874         Unreviewed, rolling out r212514.
2875         https://bugs.webkit.org/show_bug.cgi?id=168489
2876
2877         broke test runner (Requested by alexchristensen on #webkit).
2878
2879         Reverted changeset:
2880
2881         "Remove EFL-specific files in Tools."
2882         http://trac.webkit.org/changeset/212514
2883
2884 2017-02-16  Alex Christensen  <achristensen@webkit.org>
2885
2886         Remove EFL-specific files in Tools.
2887
2888         Rubber-stamped by Anders Carlsson.
2889
2890         * ImageDiff/efl: Removed.
2891         * ImageDiff/efl/ImageDiff.cpp: Removed.
2892         * MiniBrowser/efl: Removed.
2893         * MiniBrowser/efl/CMakeLists.txt: Removed.
2894         * MiniBrowser/efl/main.c: Removed.
2895         * Scripts/run-efl-tests: Removed.
2896         * Scripts/update-webkitefl-libs: Removed.
2897         * Scripts/webkitpy/port/efl.py: Removed.
2898         * Scripts/webkitpy/port/efl_unittest.py: Removed.
2899         * TestWebKitAPI/Tests/WebKit2/efl: Removed.
2900         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed.
2901         * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed.
2902         * TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed.
2903         * TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed.
2904         * TestWebKitAPI/efl: Removed.
2905         * TestWebKitAPI/efl/InjectedBundleController.cpp: Removed.
2906         * TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
2907         * TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
2908         * TestWebKitAPI/efl/main.cpp: Removed.
2909         * WebKitTestRunner/InjectedBundle/efl: Removed.
2910         * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed.
2911         * WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed.
2912         * WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed.
2913         * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
2914         * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed.
2915         * WebKitTestRunner/efl: Removed.
2916         * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
2917         * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
2918         * WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
2919         * WebKitTestRunner/efl/main.cpp: Removed.
2920         * efl: Removed.
2921         * efl/install-dependencies: Removed.
2922         * efl/jhbuild-optional.modules: Removed.
2923         * efl/jhbuild.modules: Removed.
2924         * efl/jhbuildrc: Removed.
2925         * efl/patches: Removed.
2926         * efl/patches/evas-fix-build-with-giflib5.patch: Removed.
2927         * efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed.
2928         * efl/patches/gst-libav.patch: Removed.
2929         * efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
2930         * efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
2931         * efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
2932         * efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed.
2933
2934 2017-02-16  Myles C. Maxfield  <mmaxfield@apple.com>
2935
2936         font-weight in @font-face can cause a font to be downloaded even when it's not used
2937         https://bugs.webkit.org/show_bug.cgi?id=168114
2938         <rdar://problem/30301317>
2939
2940         Reviewed by Darin Adler.
2941
2942         LastResort needs to be usable in tests.
2943
2944         * DumpRenderTree/mac/DumpRenderTree.mm:
2945         (allowedFontFamilySet):
2946         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
2947         (WTR::allowedFontFamilySet):
2948         * WebKitTestRunner/mac/TestControllerMac.mm:
2949         (WTR::allowedFontFamilySet):
2950
2951 2017-02-16  Alex Christensen  <achristensen@webkit.org>
2952
2953         Remove old URL parser
2954         https://bugs.webkit.org/show_bug.cgi?id=168483
2955
2956         Reviewed by Tim Horton.
2957
2958         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2959         (TestWebKitAPI::checkURL):
2960         (TestWebKitAPI::checkRelativeURL):
2961         (TestWebKitAPI::checkURLDifferences):
2962         (TestWebKitAPI::checkRelativeURLDifferences):
2963
2964 2017-02-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2965
2966         [WK2] Add additional test infrastructure and unit tests for data interaction
2967         https://bugs.webkit.org/show_bug.cgi?id=168439
2968         <rdar://problem/30557942>
2969
2970         Reviewed by Tim Horton.
2971
2972         Adds test support for additional data interaction scenarios that we currently cannot test, and also adds 7 new
2973         test cases to DataInteractionTests. Most of the changes here refactor and augment DataInteractionSimulator to
2974         support data interaction from  See per-method descriptions below for more details.
2975
2976         * Configurations/TestWebKitAPI.xcconfig:
2977
2978         Add MobileCoreServices to the list of additional frameworks to link against on iOS.
2979
2980         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2981
2982         Add a new build phase that copies additional resources from WebKitAdditions/Resources/TestWebKitAPI and dumps
2983         them into TestWebKitAPI.resources/ in the build directory, if the WebKitAdditions folder exists.
2984
2985         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2986         (-[TestWKWebView editorContainsImageElement]):
2987         (-[TestWKWebView editorValue]):
2988
2989         New helper methods for querying information from the "editor" element in a test page.
2990
2991         (TestWebKitAPI::TEST):
2992         (TestWebKitAPI::runTestsExpectingToObserveEvents): Deleted.
2993
2994         Moves logic for capturing events during a simulated data interaction run from the test file to
2995         DataInteractionSimulator. See -[DataInteractionSimulator observedEventNames].
2996
2997         * TestWebKitAPI/cocoa/TestWKWebView.h:
2998         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2999         (-[TestMessageHandler removeMessage:]):
3000         (-[TestWKWebView clearMessageHandlers:]):
3001
3002         Add the ability to clear message handlers from the TestWKWebView.
3003
3004         * TestWebKitAPI/ios/DataInteractionSimulator.h:
3005         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3006         (dataInteractionEventNames):
3007         (-[DataInteractionSimulator initWithWebView:]):
3008         (-[DataInteractionSimulator _resetSimulatedState]):
3009
3010         Moves logic to clear test harness state from any previous runs into a helper. Called at the beginning when
3011         simulating data interaction.
3012
3013         (-[DataInteractionSimulator observedEventNames]):
3014
3015         Returns a list of the names of events relevant to data interaction that were observed over the course of the
3016         most recent run.
3017
3018         (-[DataInteractionSimulator runFrom:to:]):
3019
3020         Changes -run to -runFrom:to:, which takes window-relative start and end locations. This allows the test harness
3021         to run the same data interaction for multiple simulated gestures.
3022
3023         (-[DataInteractionSimulator _advanceProgress]):
3024         (-[DataInteractionSimulator _finishDataInteraction]):
3025         (-[DataInteractionSimulator externalItemProvider]):
3026         (-[DataInteractionSimulator setExternalItemProvider:]):
3027
3028         Adds the -externalItemProvider property to DataInteractionSimulator. Setting this skips the gesture recognition
3029         phase of a test run.
3030
3031         (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
3032         (-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):
3033         (-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]):
3034         (-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]):
3035
3036         While a request to start data interaction is in flight, put the remainder of the test on hold until the web
3037         process returns. Then continue the test by scheduling a progress advance call. This addresses a race condition
3038         wherein the the web process might take longer than usual to process the request to start data interaction, and
3039         in the meantime, DataInteractionSimulator would end up completing the rest of the test before a response from
3040         the web process is received, which then causes no simulated delegate methods to be fired.
3041
3042         (-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]): Deleted.
3043         (-[DataInteractionSimulator run]): Deleted.
3044
3045 2017-02-16  Wenson Hsieh  <wenson_hsieh@apple.com>
3046
3047         Remove unused test pages in TestWebKitAPI
3048         https://bugs.webkit.org/show_bug.cgi?id=168462
3049
3050         Reviewed by Anders Carlsson.
3051
3052         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3053         * TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
3054         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
3055         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
3056         * TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
3057         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
3058
3059 2017-02-16  Alex Christensen  <achristensen@webkit.org>
3060
3061         Special URLs without a host are invalid
3062         https://bugs.webkit.org/show_bug.cgi?id=168461
3063
3064         Reviewed by Tim Horton.
3065
3066         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3067         (TestWebKitAPI::TEST_F):
3068
3069 2017-02-10  Filip Pizlo  <fpizlo@apple.com>
3070
3071         The collector thread should only start when the mutator doesn't have heap access
3072         https://bugs.webkit.org/show_bug.cgi?id=167737
3073
3074         Reviewed by Keith Miller.
3075         
3076         Make more tests collect continuously.
3077
3078         * Scripts/run-jsc-stress-tests:
3079
3080 2017-02-16  Tim Horton  <timothy_horton@apple.com>
3081
3082         WKWebView inside a UICollectionView flashes when items are inserted above it
3083         https://bugs.webkit.org/show_bug.cgi?id=168376
3084         <rdar://problem/29322051>
3085
3086         Reviewed by Simon Fraser.
3087
3088         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3089         (-[TestRunnerWKWebView _setStableStateOverride:]):
3090         Update the one external caller of this internal method...
3091
3092         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3093         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
3094         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3095         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
3096         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3097         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3098         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
3099         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3100         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3101         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
3102         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3103         (WTR::UIScriptController::doAfterVisibleContentRectUpdate):
3104         Expose doAfterVisibleContentRectUpdate to DRT and WKTR. It is called
3105         back after we dispatch a visible content rect update from the UI process
3106         to the Web Content process, so any messages sent from the block will arrive
3107         after the visible content rect update.
3108
3109 2017-02-16  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3110
3111         [GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS.
3112         https://bugs.webkit.org/show_bug.cgi?id=168321
3113
3114         This bots should be added to the trunk build scheduler.
3115         Unreviewed fix after r212429.
3116
3117         * BuildSlaveSupport/build.webkit.org-config/config.json:
3118
3119 2017-02-16  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3120
3121         [GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS
3122         https://bugs.webkit.org/show_bug.cgi?id=168321
3123
3124         Reviewed by Michael Catanzaro.
3125
3126         The additionalArgument --default-cmake-features is used both to
3127         skip the JHBuild (InstallGtkDependencies) build step and to build
3128         with the default features from the CMake config.
3129
3130         * BuildSlaveSupport/build.webkit.org-config/config.json:
3131         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3132         (Factory.__init__):
3133         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
3134
3135 2017-02-15  Lucas Forschler  <lforschler@apple.com>
3136
3137         https://bugs.webkit.org/show_bug.cgi?id=168386
3138         Remove EFL from build.webkit.org
3139
3140         Reviewed by Alex Christensen
3141
3142         * BuildSlaveSupport/build.webkit.org-config/config.json:
3143         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3144         (DeleteStaleBuildFiles.start):
3145         (appendCustomBuildFlags):
3146         (RunWebKitTests.start):
3147         (RunBuiltinsTests):
3148         (Factory.__init__):
3149         (TestFactory.__init__):
3150         (loadBuilderConfig):
3151         (InstallEflDependencies): Deleted.
3152         (RunEflAPITests): Deleted.
3153         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
3154         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
3155         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
3156         (BubbleQueueServer):
3157         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
3158         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
3159         (Analyzer.prototype._triggeringQueue):
3160         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
3161         (WebKitBuildbot):
3162         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
3163         (table.queue-grid tr.platform.linux-efl img.logo): Deleted.
3164         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
3165         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
3166         (_should_file_trigger_build):
3167
3168 2017-02-15  Alex Christensen  <achristensen@webkit.org>
3169
3170         Unreviewed, rolling out r212169.
3171
3172         Broke iOS WebInspector
3173
3174         Reverted changeset:
3175
3176         "WebInspector: refactor RemoteInspector to move cocoa specific
3177         code to their own files"
3178         https://bugs.webkit.org/show_bug.cgi?id=166681
3179         http://trac.webkit.org/changeset/212169
3180
3181 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
3182
3183         webkitpy: Fix DarwinPort._get_crash_log()
3184         https://bugs.webkit.org/show_bug.cgi?id=168372
3185         <rdar://problem/30535156>
3186
3187         Reviewed by Daniel Bates.
3188
3189         Callers of _get_crash_log expect a pair to be returned and do not check it's return value.  
3190         DarwinPort should return the expected return value for _get_crash_log.
3191
3192         * Scripts/webkitpy/port/darwin.py:
3193         (DarwinPort._get_crash_log): Call parent class's implementation of _get_crash_log.
3194
3195 2017-02-15  Chris Dumez  <cdumez@apple.com>
3196
3197         [iOS] Form Validation Bubble should be sensitive to Dynamic Type
3198         https://bugs.webkit.org/show_bug.cgi?id=168291
3199         <rdar://problem/30508593>
3200
3201         Reviewed by Tim Horton.
3202
3203         Drop overridePreference() implementation in iOS's UIScriptController
3204         as it was only used for the minimum font size setting and this setting
3205         is not exposed on iOS.
3206
3207         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3208         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3209         (WTR::UIScriptController::overridePreference):
3210         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3211
3212 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
3213
3214         webkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for _get_crash_log
3215         https://bugs.webkit.org/show_bug.cgi?id=168329
3216         <rdar://problem/30518832>
3217
3218         Reviewed by Daniel Bates.
3219
3220         When testing on device, app_identifier_from_bundle is repeatedly called but the return value will
3221         never change given the same input arguments.  Memoize function for efficiency.
3222
3223         * Scripts/webkitpy/port/darwin.py: Add memoized import.
3224         (DarwinPort):
3225         (DarwinPort.app_identifier_from_bundle): Memoize to avoid extra executions of PlistBuddy.
3226         
3227
3228 2017-02-15  Jonathan Bedard  <jbedard@apple.com>
3229
3230         webkitpy: Remove unused import from darwin.py
3231         https://bugs.webkit.org/show_bug.cgi?id=168371
3232
3233         Reviewed by Alex Christensen.
3234
3235         * Scripts/webkitpy/port/darwin.py: Remove unused 'time' module.
3236
3237 2017-02-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3238
3239         [SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotAllowStoredCredentials
3240         https://bugs.webkit.org/show_bug.cgi?id=168364
3241
3242         Reviewed by Michael Catanzaro.
3243
3244         This can happen if a previous load with allowed to use stored credentials authenticated successfully, saving the
3245         credentials in libsoup. It's actually a libsoup bug, but since it's causing layout test failures and we have
3246         patches for them, let's patch out jhbuild until we have a new libsoup version to depend on.
3247
3248         Fixes: http/tests/security/credentials-from-different-domains.html
3249                http/tests/xmlhttprequest/cross-origin-no-authorization.html
3250
3251         * gtk/jhbuild.modules:
3252         * gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Added.
3253         * gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Added.
3254
3255 2017-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3256
3257         [GTK] Update cookie manager API to properly work with ephemeral sessions
3258         https://bugs.webkit.org/show_bug.cgi?id=168230
3259
3260         Reviewed by Michael Catanzaro.
3261
3262         Update unit tests and add new cases for the new API.
3263
3264         * MiniBrowser/gtk/main.c:
3265         (gotWebsiteDataCallback):
3266         * TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
3267         (testCookieManagerEphemeral):
3268         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
3269         (testWebContextEphemeral):
3270         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
3271         (testWebViewEphemeral):
3272         * TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
3273         (serverCallback):
3274         (testWebsiteDataEphemeral):
3275         (testWebsiteDataCookies):
3276         (beforeAll):
3277
3278 2017-02-14  Wenson Hsieh  <wenson_hsieh@apple.com>
3279
3280         [WK2] Support data interaction on links
3281         https://bugs.webkit.org/show_bug.cgi?id=168331
3282         <rdar://problem/30200837>
3283
3284         Reviewed by Tim Horton.
3285
3286         Adds 2 unit tests checking that data interaction from a link (with or without a background image) into an
3287         editable area results in the link URL being inserted.
3288
3289         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3290         * TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
3291         * TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
3292         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3293         (TestWebKitAPI::TEST):
3294
3295 2017-02-14  Jason Rinn  <jrinn@apple.com>
3296
3297         Add a test for new WebKit Cocoa API, _getContentsAsString.
3298         https://bugs.webkit.org/show_bug.cgi?id=168147
3299         <rdar://problem/30502539>
3300
3301         Reviewed by Tim Horton.
3302
3303         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3304         * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Added.
3305         (TEST):
3306
3307 2017-02-14  Matt Rajca  <mrajca@apple.com>
3308
3309         Website policies: iframes should respect the autoplay policy of the top-level document
3310         https://bugs.webkit.org/show_bug.cgi?id=168333
3311
3312         Reviewed by Alex Christensen.
3313
3314         * TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Added.
3315         * TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Added.
3316         * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
3317         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
3318         (TEST):
3319
3320 2017-02-14  Chris Dumez  <cdumez@apple.com>
3321
3322         HTML Form Validation bubble should take minimum font size setting into consideration
3323         https://bugs.webkit.org/show_bug.cgi?id=168271
3324         <rdar://problem/29869869>
3325
3326         Reviewed by Simon Fraser.
3327
3328         Extend UIScriptController's contentsOfUserInterfaceItem() to also return the
3329         font size of the validation bubble.
3330
3331         Add an overridePreference() method to UIScriptController. This is currently
3332         used to override the value of the minimumFontSize setting. testRunner's
3333         overridePreference() is not usable on WK2 because it does not update the
3334         value of the preference on the UIProcess side.
3335
3336         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3337         (WTR::UIScriptController::overridePreference):
3338         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3339         (WTR::UIScriptController::overridePreference):
3340         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3341         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3342         * WebKitTestRunner/TestController.cpp:
3343         (WTR::TestController::resetPreferencesToConsistentValues):
3344         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3345         (WTR::UIScriptController::overridePreference):
3346         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3347         (WTR::UIScriptController::contentsOfUserInterfaceItem):
3348         (WTR::UIScriptController::overridePreference):
3349
3350 2017-02-14  Florian Bruhin  <git@the-compiler.org>
3351
3352         Use a set instead of a list for tests when parsing expectations
3353         https://bugs.webkit.org/show_bug.cgi?id=168304
3354
3355         In _collect_matching_tests, a lot of membership tests are done on a giant list
3356         of strings. By making it a set instead, we can make those much faster, and
3357         there's no reason for it to be a list.
3358
3359         With ~45k tests and some 1000 expectations, this reduces the parse time from 34s
3360         to 3s on my machine.
3361
3362         Reviewed by Ryosuke Niwa.
3363
3364         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3365         (TestExpectationParser.__init__):
3366         (TestExpectationParser._collect_matching_tests):
3367
3368 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
3369
3370         Unreviewed build-fix after r212297.
3371
3372         * Scripts/webkitpy/port/simulator_process.py:
3373         (SimulatorProcess.stop): Should return value of the ServerProcess's stop.
3374
3375 2017-02-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3376
3377         [CMake] build-webkit should allow building with the default cmake configuration
3378         https://bugs.webkit.org/show_bug.cgi?id=168323
3379
3380         Reviewed by Michael Catanzaro.
3381
3382         Add a --default-cmake-features switch that makes the script pass
3383         no value for any of the features defined by build-webkit, that
3384         way the default values from the port cmake config will be used.
3385
3386         * Scripts/build-webkit:
3387         (cMakeArgsFromFeatures):
3388
3389 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
3390
3391         Unreviewed build-fix after r212297.
3392
3393         * Scripts/webkitpy/port/simulator_process.py:
3394         (SimulatorProcess.stop): Handle case where there is no process to kill.
3395
3396 2017-02-14  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3397
3398         [CMake] build-webkit should print the cmake command executed
3399         https://bugs.webkit.org/show_bug.cgi?id=168318
3400
3401         Reviewed by Michael Catanzaro.
3402
3403         Run the cmake commands to configure or start the build through
3404         a wrapper that prints the command before executing it.
3405
3406         * Scripts/webkitdirs.pm:
3407         (systemVerbose):
3408         (generateBuildSystemFromCMakeProject):
3409         (buildCMakeGeneratedProject):
3410         (cleanCMakeGeneratedProject):
3411
3412 2017-02-14  Jonathan Bedard  <jbedard@apple.com>
3413
3414         run-webkit-tests for iOS Simulator always complains that stopping WebKitTestRunnerApp.app times out
3415         https://bugs.webkit.org/show_bug.cgi?id=168150
3416
3417         Reviewed by Alexey Proskuryakov.
3418
3419         * Scripts/webkitpy/port/simulator_process.py:
3420         (SimulatorProcess.stop): Close app before calling ServerProcess's stop.
3421         (SimulatorProcess._kill): Move closing of app into stop().
3422         * Scripts/webkitpy/xcode/simulator.py:
3423         (Device.launch_app):
3424         (Device.terminate_app): Deleted.
3425
3426 2017-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3427
3428         REGRESSION(r212192): [GTK] Broke downloads API tests
3429         https://bugs.webkit.org/show_bug.cgi?id=168193
3430
3431         Unreviewed. Update test expectations after r212192.
3432
3433         The suggested filename now includes a file extensions if the MIME type is known.
3434
3435         * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
3436         (testDownloadRemoteFile):
3437         (testDownloadMIMEType):
3438
3439 2017-02-14  Commit Queue  <commit-queue@webkit.org>
3440
3441         Unreviewed, rolling out r212237.
3442         https://bugs.webkit.org/show_bug.cgi?id=168298
3443
3444         This was a wrong fix (Requested by rniwa on #webkit).
3445
3446         Reverted changeset:
3447
3448         "Nwtr unexpectedly passes mismatch ref test if the hashes
3449         doesn't match but no diff"
3450         https://bugs.webkit.org/show_bug.cgi?id=168221
3451         http://trac.webkit.org/changeset/212237
3452
3453 2017-02-13  Alex Christensen  <achristensen@webkit.org>
3454
3455         URLs with an invalid IPv4 address should be invalid
3456         https://bugs.webkit.org/show_bug.cgi?id=168260
3457
3458         Reviewed by Tim Horton.
3459
3460         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3461         (TestWebKitAPI::TEST_F):
3462         Update tests to reflect new correct behavior.
3463
3464 2017-02-13  Don Olmstead  <don.olmstead@am.sony.com>
3465
3466         [WinCairo] Add Build Slave
3467         https://bugs.webkit.org/show_bug.cgi?id=168263
3468
3469         Reviewed by Lucas Forschler.
3470
3471         * BuildSlaveSupport/build.webkit.org-config/config.json:
3472
3473 2017-02-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3474
3475         Fix the build after r212254
3476
3477         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
3478         (-[DataInteractionSimulator _currentLocation]):
3479
3480 2017-02-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3481
3482         [WK2] Add test infrastructure and unit tests for data interaction
3483         https://bugs.webkit.org/show_bug.cgi?id=168159
3484         <rdar://problem/30477634>
3485
3486         Reviewed by Tim Horton.
3487
3488         Uses the testing delegate introduced in WebKit2 to override the gesture recognizer used to initiate data
3489         interaction. Instead of being driven by UIKit, the DataInteractionSimulator drives this overridden gesture
3490         recognizer by making the WKContentView call its dataInteractionGestureRecognized method. To simulate an actual
3491         gesture being performed, we fire the gesture recognizer (or call the data interaction delegate methods, if the
3492         gesture has already been recognized) at regular intervals over the course of&n