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