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