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