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