b5367f8a3d1ff402a05a19dbb23fcb157d7df86a
[WebKit-https.git] / Tools / ChangeLog
1 2017-12-19  Daniel Bates  <dabates@apple.com>
2
3         Implement InlineTextBox painting using marker subranges
4         https://bugs.webkit.org/show_bug.cgi?id=180984
5         <rdar://problem/36139364>
6
7         Reviewed by David Hyatt.
8
9         Update unit tests now that we use subranges for the painting of dragged content.
10
11         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
12         (WebCore::operator<<):
13         (WebCore::operator==): Deleted; moved to class MarkerSubrange.
14
15 2017-12-19  Daniel Bates  <dabates@apple.com>
16
17         Add support for computing the frontmost longest effective marker subrange
18         https://bugs.webkit.org/show_bug.cgi?id=180985
19
20         Reviewed by Dave Hyatt.
21
22         Adds a test case to ensure that we compute the minimum list of maximal length non-
23         overlapping subranges when using strategy OverlapStrategy::FrontmostWithLongestEffectiveRange.
24
25         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
26         (TestWebKitAPI::TEST):
27
28 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
29
30         [Attachment Support] The 'webkitattachmentbloburl' attribute should not persist after markup serialization
31         https://bugs.webkit.org/show_bug.cgi?id=180924
32         <rdar://problem/36099093>
33
34         Reviewed by Tim Horton.
35
36         Tweaks some existing tests to check that temporary attachment serialization attributes don't stick around on the
37         attachment elements.
38
39         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
40         (-[TestWKWebView hasAttribute:forQuerySelector:]):
41         (TestWebKitAPI::TEST):
42
43 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
44
45         [Attachment Support] Support representing pasted or dropped content using attachment elements
46         https://bugs.webkit.org/show_bug.cgi?id=180892
47         <rdar://problem/36064210>
48
49         Reviewed by Tim Horton.
50
51         Adds a new API test to exercise pasting an attributed string with multiple attachments of different types.
52
53         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
54         (testZIPData):
55         (platformCopyRichTextWithMultipleAttachments):
56         (TestWebKitAPI::TEST):
57
58 2017-12-18  Brady Eidson  <beidson@apple.com>
59
60         Add ability to API test Service Workers via a custom protocol.
61         https://bugs.webkit.org/show_bug.cgi?id=180911
62
63         Reviewed by Chris Dumez.
64
65         Adds a very basic SW test:
66         - Verify WebsiteDataStore can wipe all SW registration data.
67         - Fire up a web page with a service worker
68         - Verify SW registration data for that page exists in the WebsiteDataStore.
69
70         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
71         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Added.
72
73 2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
74
75         [Attachment Support] Insert images as inline attachments when pasting and dropping
76         https://bugs.webkit.org/show_bug.cgi?id=180853
77         <rdar://problem/35756268>
78
79         Reviewed by Tim Horton.
80
81         Adds new WKAttachment API tests and test support. See comments below for more detail.
82
83         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
84
85         Tweak the editing test page markup, such that document.body.innerHTML doesn't additionally contain the contents
86         of the script tag.
87
88         (webViewForTestingAttachments):
89         (testImageFileURL):
90         (testImageData):
91         (testPDFFileURL):
92         (testPDFData):
93         (platformCopyRichTextWithAttachment):
94         (platformCopyPNG):
95         (platformImageWithData):
96
97         Add some platform helper functions, which some of the platform-agnostic tests below use to resolve differences
98         between iOS and macOS when writing to the pasteboard and creating an image from data.
99
100         (TestWebKitAPI::TEST):
101
102         Add new API tests to exercise drag and drop/copy and paste of rich content (namely, images and files) on iOS and
103         macOS. iOS attachment tests use DataInteractionSimulator to simulate UIKit drag and drop coordination. On macOS,
104         handling of dropped content is much closer to handling of pasted content (they use the same codepaths to read
105         from the platform pasteboard), so exercising paste codepaths on Mac is sufficient.
106
107         * TestWebKitAPI/ios/DataInteractionSimulator.h:
108         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
109         (-[DataInteractionSimulator _resetSimulatedState]):
110         (-[DataInteractionSimulator insertedAttachments]):
111         (-[DataInteractionSimulator removedAttachments]):
112
113         Teach the iOS drag and drop simulator to keep track of attachment elements that are inserted during a drop. We
114         also keep track of removed attachments here too, though no default drop handling scenario should trigger
115         attachment removal, so we simply use this to check that no _WKAttachments were removed during a drop.
116
117         (-[DataInteractionSimulator _webView:didInsertAttachment:]):
118         (-[DataInteractionSimulator _webView:didRemoveAttachment:]):
119
120 2017-12-18  Fujii Hironori  <Hironori.Fujii@sony.com>
121
122         [WinCairo] Move the destination of WinCairoRequirements.zip into WebKitLibraries and register it and related files as git ignore files.
123         https://bugs.webkit.org/show_bug.cgi?id=180875
124         <rdar://problem/36091434>
125
126         Reviewed by Darin Adler.
127
128         update-webkit-wincairo-libs.py gets broken by r226002. Downloaded
129         WinCairoRequirements.zip can not be found to unzip because the
130         destination was changed.
131
132         * Scripts/update-webkit-wincairo-libs.py: Specify the correct zip path to unzip.
133
134 2017-12-18  Alexey Proskuryakov  <ap@apple.com>
135
136         BitVector::OutOfLineBits is always reported as a leak
137         https://bugs.webkit.org/show_bug.cgi?id=121662
138
139         Adding one more signature to ignore list.
140
141         * Scripts/webkitpy/port/leakdetector.py:
142         (LeakDetector._callstacks_to_exclude_from_leaks):
143
144 2017-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
145
146         [GTK][WPE] Add WebKitWebView::web-process-terminated signal and deprecate web-process-crashed
147         https://bugs.webkit.org/show_bug.cgi?id=180862
148
149         Reviewed by Michael Catanzaro.
150
151         Use WebKitWebView::web-process-terminated instead of web-process-crashed in tests. I'm not adding a test for
152         WEBKIT_WEB_PROCESS_EXCEEDED_MEMORY_LIMIT because we would need to allocate more than 1GB in the test and wait
153         30 seconds, and we don't want to do either in unit tests.
154
155         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
156         (webProcessTerminatedCallback):
157         (testWebKitWebViewProcessCrashed):
158         (webProcessCrashedCallback): Deleted.
159         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
160         (WebViewTest::initializeWebView):
161         (WebViewTest::webProcessTerminated):
162         (WebViewTest::webProcessCrashed): Deleted.
163         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
164
165 2017-12-17  Mark Lam  <mark.lam@apple.com>
166
167         Enhance Ref and RefPtr to be able to work with smart pointers.
168         https://bugs.webkit.org/show_bug.cgi?id=180762
169         <rdar://problem/36027122>
170
171         Reviewed by JF Bastien and Darin Adler.
172
173         * TestWebKitAPI/CMakeLists.txt:
174         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
175         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
176         (TestWebKitAPI::TEST):
177         * TestWebKitAPI/Tests/WTF/Poisoned.cpp:
178         (TestWebKitAPI::TEST):
179         * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added.
180         (TestWebKitAPI::TEST):
181         (TestWebKitAPI::passWithRef):
182         (TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger):
183         (TestWebKitAPI::PoisonedRefCheckingRefLogger::ref):
184         (TestWebKitAPI::PoisonedRefCheckingRefLogger::deref):
185         (TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger):
186         * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added.
187         (TestWebKitAPI::TEST):
188         (TestWebKitAPI::f1):
189         (TestWebKitAPI::ConstRefCounted::create):
190         (TestWebKitAPI::returnConstRefCountedRef):
191         (TestWebKitAPI::returnRefCountedRef):
192         (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger):
193         (TestWebKitAPI::loggerName):
194         (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref):
195         (TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref):
196
197 2017-12-16  Youenn Fablet  <youenn@apple.com>
198
199         Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
200         https://bugs.webkit.org/show_bug.cgi?id=169462
201
202         Reviewed by Darin Adler.
203
204         Adding some git helper routines used by WPT exporter.
205         Copying WPT github utility files from Chromium.
206         Updating web.py/web_mock.py to cope with these new files.
207
208         Implementing test exporter in test_exporter.py.
209         This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
210         It will then push the commit to a public GitHub repository identified by a username parameter.
211         This parameter is passed through the command line or searched through git config/environment variables.
212
213         The script can optionally create a pull request to the official WPT GitHub repository.
214         User must provide a GitHub token to allow the script to make the PR on behalf of the user.
215         In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
216         to easily link the pull request with the bugzilla bug.
217
218         * Scripts/export-w3c-test-changes: Added.
219         * Scripts/webkitpy/common/checkout/scm/git.py:
220         (Git.reset_hard):
221         (Git):
222         (Git.am):
223         (Git.commit):
224         (Git.format_patch):
225         (Git.request_pull):
226         (Git.remote):
227         (Git.push):
228         (Git.checkout_new_branch):
229         * Scripts/webkitpy/common/net/web.py:
230         (Web.request): Copied from Chromium.
231         * Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
232         * Scripts/webkitpy/w3c/test_exporter.py: Added.
233         (TestExporter):
234         (TestExporter.__init__):
235         (TestExporter._init_repository):
236         (TestExporter.download_and_commit_patch):
237         (TestExporter.clean):
238         (TestExporter.create_branch_with_patch):
239         (TestExporter.push_to_public_repository):
240         (TestExporter.make_pull_request):
241         (TestExporter.delete_local_branch):
242         (TestExporter.create_git_patch):
243         (TestExporter.create_upload_remote_if_needed):
244         (TestExporter.do_export):
245         (parse_args):
246         (configure_logging):
247         (configure_logging.LogHandler):
248         (configure_logging.LogHandler.format):
249         (main):
250         * Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
251         (TestExporterTest):
252         (TestExporterTest.MockBugzilla):
253         (TestExporterTest.MockBugzilla.__init__):
254         (TestExporterTest.MockBugzilla.fetch_bug_dictionary):
255         (TestExporterTest.MockBugzilla.post_comment_to_bug):
256         (TestExporterTest.MockGit):
257         (TestExporterTest.MockGit.clone):
258         (TestExporterTest.MockGit.__init__):
259         (TestExporterTest.MockGit.fetch):
260         (TestExporterTest.MockGit.checkout):
261         (TestExporterTest.MockGit.reset_hard):
262         (TestExporterTest.MockGit.push):
263         (TestExporterTest.MockGit.format_patch):
264         (TestExporterTest.MockGit.delete_branch):
265         (TestExporterTest.MockGit.checkout_new_branch):
266         (TestExporterTest.MockGit.am):
267         (TestExporterTest.MockGit.commit):
268         (TestExporterTest.MockGit.remote):
269         (TestExporterTest.test_export):
270         * Scripts/webkitpy/w3c/common.py: Copied from chromium.
271         * Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
272         * Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
273         * Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
274
275 2017-12-16  Dan Bernstein  <mitz@apple.com>
276
277         WKWebView has no equivalent of -[WebView setAlwaysShowVerticalScroller:]
278         https://bugs.webkit.org/show_bug.cgi?id=180613
279         <rdar://problem/35946124>
280
281         Reviewed by Geoff Garen.
282
283         * MiniBrowser/mac/MainMenu.xib: Added Always Show {Horizontal,Vertical} Scroller menu items
284           to the View menu.
285
286         * MiniBrowser/mac/WK1BrowserWindowController.m:
287         (-[WK1BrowserWindowController validateMenuItem:]): Set the state of the new menu items based
288           on -alwaysShow{Horizontal,Vertical}Scroller.
289         (-[WK1BrowserWindowController toggleAlwaysShowsHorizontalScroller:]): Toggle the value.
290         (-[WK1BrowserWindowController toggleAlwaysShowsVerticalScroller:]): Ditto.
291
292         * MiniBrowser/mac/WK2BrowserWindowController.m:
293         (-[WK2BrowserWindowController validateMenuItem:]): Set the state of the new menu items based
294           on the new property.
295         (-[WK2BrowserWindowController toggleAlwaysShowsHorizontalScroller:]): Toggle the property.
296         (-[WK2BrowserWindowController toggleAlwaysShowsVerticalScroller:]): Ditto.
297
298         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
299         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewAlwaysShowsScroller.mm: Added.
300         (TEST):
301
302 2017-12-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
303
304         [WinCairo] Move the destination of WinCairoRequirements.zip into WebKitLibraries and register it and related files as git ignore files.
305         https://bugs.webkit.org/show_bug.cgi?id=180875
306
307         Reviewed by Alex Christensen.
308
309         Bug fix. Specify the download destination correctly.
310
311         * Scripts/update-webkit-wincairo-libs.py:
312
313 2017-12-16  Brent Fulgham  <bfulgham@apple.com>
314
315         Plugin processes are repeatedly spun up to do nothing
316         https://bugs.webkit.org/show_bug.cgi?id=180885
317         <rdar://problem/36082564>
318
319         Reviewed by Geoffrey Garen.
320
321         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
322         (runTestWithWebsiteDataStore): Check that deleting website data did not
323         trigger any plugin processes to start up.
324
325 2017-12-16  Yusuke Suzuki  <utatane.tea@gmail.com>
326
327         Remove unnecessary boolean result of start() functions
328         https://bugs.webkit.org/show_bug.cgi?id=180856
329
330         Reviewed by Darin Adler.
331
332         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
333
334 2017-12-15  David Quesada  <david_quesada@apple.com>
335
336         Unreviewed, adding myself to contributors.json
337
338         * Scripts/webkitpy/common/config/contributors.json:
339
340 2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
341
342         Unreviewed, rolling out r225941.
343
344         This change introduced LayoutTest crashes and assertion
345         failures.
346
347         Reverted changeset:
348
349         "Web Inspector: replace HTMLCanvasElement with
350         CanvasRenderingContext for instrumentation logic"
351         https://bugs.webkit.org/show_bug.cgi?id=180770
352         https://trac.webkit.org/changeset/225941
353
354 2017-12-15  Alex Christensen  <achristensen@webkit.org>
355
356         Introduce SPI _WKWebsitePolicies.websiteDataStore
357         https://bugs.webkit.org/show_bug.cgi?id=180880
358         <rdar://problem/35535328>
359
360         Reviewed by Andy Estes.
361
362         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
363         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
364         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
365         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:stopURLSchemeTask:]):
366         (TEST):
367
368 2017-12-15  Nael Ouedraogo  <nael.ouedraogo@crf.canon.fr>
369
370         [GTK] Add proxy option to Minibrowser
371         https://bugs.webkit.org/show_bug.cgi?id=180750
372
373         Reviewed by Michael Catanzaro.
374
375         Add command line option to set proxy settings in GTK minibrowser.
376
377         * MiniBrowser/gtk/main.c:
378         (main):
379
380 2017-12-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
381
382         [webkitpy, Windows] Remove unnecessary debug message
383         https://bugs.webkit.org/show_bug.cgi?id=180844
384
385         Reviewed by Ryosuke Niwa.
386
387         * Scripts/webkitpy/common/system/crashlogs.py:
388         (CrashLogs._find_newest_log_win): Delete debug print
389
390 2017-12-14  David Kilzer  <ddkilzer@apple.com>
391
392         check-webkit-style: Stop warning about underscores in webrtc source
393         <https://webkit.org/b/180848>
394
395         Reviewed by Joseph Pecoraro.
396
397         * Scripts/webkitpy/style/checker.py:
398         (_PATH_RULES_SPECIFIER): Suppress readability/naming/underscores
399         warnings under Source/ThirdParty/libwebrtc/Source/webrtc.
400
401 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
402
403         webkitpy: Replace Version.contained_in with Version.__contains__
404         https://bugs.webkit.org/show_bug.cgi?id=180772
405         <rdar://problem/36033555>
406
407         Reviewed by David Kilzer.
408
409         Using __contains__ instead of contained_in allows for the more
410         Pythonic 'in' operator to be used.
411
412         * Scripts/webkitpy/common/version.py:
413         (Version):
414         (Version.__contains__): Replace contained_in. Note that self is now
415         the container.
416         (Version.contained_in): Deleted.
417         * Scripts/webkitpy/common/version_name_map.py:
418         (VersionNameMap.to_name):
419         * Scripts/webkitpy/common/version_unittest.py:
420         (VersionTestCase.test_contained_in):
421
422 2017-12-14  Ryan Haddad  <ryanhaddad@apple.com>
423
424         Unreviewed, rolling out r225931.
425
426         Breaks internal builds.
427
428         Reverted changeset:
429
430         "Fix Mac CMake build"
431         https://bugs.webkit.org/show_bug.cgi?id=180835
432         https://trac.webkit.org/changeset/225931
433
434 2017-12-14  Devin Rousso  <webkit@devinrousso.com>
435
436         Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
437         https://bugs.webkit.org/show_bug.cgi?id=180770
438
439         Reviewed by Joseph Pecoraro.
440
441         * Scripts/webkitpy/common/config/watchlist:
442
443 2017-12-14  Alexey Proskuryakov  <ap@apple.com>
444
445         Improve leaks detector output
446         https://bugs.webkit.org/show_bug.cgi?id=180828
447
448         Reviewed by Joseph Pecoraro.
449
450         Fixing two issues:
451         1. run-leaks omits many lines from leaks tool output, making it incompatible with
452         other tools. Notably, symbolication cannot be performed.
453         2. run-leaks output goes to "run-webkit-tests --debug-rwt-logging" output. This
454         makes it much longer than needed, sometimes even overloading buildbot. We don't
455         need full output in test log, as separate files are created for each of these.
456
457         * Scripts/run-leaks: Represent each line in leaks output when parsing, and print
458         everything except for explicitly excluded leaks. From my testing and reading
459         the code, it looks like none of our tools should be broken by this change.
460
461         * Scripts/webkitpy/port/leakdetector.py: I couldn't find a way to run a helper tool
462         without dumping all of its output to debug log, so switched to using a file for leaks.
463
464         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl:
465         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl:
466         * Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl:
467         * Scripts/webkitpy/port/leakdetector_unittest.py:
468         Updated tests for new behavior.
469
470 2017-12-14  Brady Eidson  <beidson@apple.com>
471
472         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
473         https://bugs.webkit.org/show_bug.cgi?id=180722
474
475         Reviewed by Chris Dumez.
476
477         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
478         (TEST):
479
480 2017-12-14  Alex Christensen  <achristensen@webkit.org>
481
482         Fix Mac CMake build
483         https://bugs.webkit.org/show_bug.cgi?id=180835
484
485         Reviewed by Andy Estes.
486
487         * DumpRenderTree/mac/DumpRenderTree.mm:
488         * MiniBrowser/mac/WK1BrowserWindowController.m:
489
490 2017-12-14  Jonathan Bedard  <jbedard@apple.com>
491
492         webkitpy: Better name-version mapping (Follow-up fix)
493         https://bugs.webkit.org/show_bug.cgi?id=179621
494         <rdar://problem/35589585>
495
496         Unreviewed infrastructure fix.
497
498         r225856 caused some undesired logging on Linux and Windows.
499
500         * Scripts/webkitpy/port/mac.py:
501         (MacPort.__init__): Use most recent OS release if not on a Mac.
502         (MacPort.default_baseline_search_path): Make platform explicit.
503         (MacPort.configuration_specifier_macros): Ditto.
504
505 2017-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
506
507         WebDriver: add a common way to run tests with pytest
508         https://bugs.webkit.org/show_bug.cgi?id=180800
509
510         Reviewed by Carlos Alberto Lopez Perez.
511
512         We currently use pytestrunner from wpt for w3c tests and our own code for selenium tests. Using the same code
513         for both would simplify everything, but also allows us to have a custom results recorder to support other test
514         expectations like TIMEOUT. The code to run selenium tests with pytest has been moved to a new file
515         pytest_runner.py and made generic to be used also for w3c tests.
516
517         * Scripts/webkitpy/webdriver_tests/pytest_runner.py: Added.
518         (TemporaryDirectory):
519         (TemporaryDirectory.__enter__):
520         (TemporaryDirectory.__exit__):
521         (CollectRecorder):
522         (CollectRecorder.__init__):
523         (CollectRecorder.pytest_collectreport):
524         (HarnessResultRecorder):
525         (HarnessResultRecorder.__init__):
526         (HarnessResultRecorder.pytest_collectreport):
527         (SubtestResultRecorder):
528         (SubtestResultRecorder.__init__):
529         (SubtestResultRecorder.pytest_runtest_logreport):
530         (SubtestResultRecorder._was_timeout):
531         (SubtestResultRecorder.record_pass):
532         (SubtestResultRecorder.record_fail):
533         (SubtestResultRecorder.record_error):
534         (SubtestResultRecorder.record_skip):
535         (SubtestResultRecorder.record):
536         (collect):
537         (run):
538         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
539         (do_delayed_imports): Import pytest_runner here to avoid cycles.
540         (WebDriverSeleniumExecutor.__init__): Save the driver parameter as args member and call do_delayed_imports() if
541         needed.
542         (WebDriverSeleniumExecutor.collect): Use pytest_runner.
543         (WebDriverSeleniumExecutor.run): Ditto.
544         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
545         (WebDriverTestRunner.print_results): Handle all possible tests results.
546         (WebDriverTestRunner.print_results.report): Helper to dump test results.
547         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
548         (WebDriverTestRunnerSelenium.run):
549         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
550         (WebDriverTestRunnerW3C.__init__): Do not set PYTEST_TIMEOUT env var.
551         (WebDriverTestRunnerW3C._is_test): Fix check for support files.
552         (WebDriverTestRunnerW3C.run): Pass the timeout as parameter to WebDriverW3CExecutor.run().
553         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
554         (do_delayed_imports): Import pytest_runner here to avoid cycles.
555         (WebDriverW3CExecutor.__init__): Call do_delayed_imports() if needed.
556         (WebDriverW3CExecutor.run): Use pytest_runner.
557
558 2017-12-13  Matt Lewis  <jlewis3@apple.com>
559
560         Unreviewed, rolling out r225864.
561
562         This caused the Layout test step to crash out on Debug testers
563
564         Reverted changeset:
565
566         "REGRESSION (r225789): API tests
567         WKProcessPool.InitialWarmedProcessUsed and
568         WebKit.WebsiteDataStoreCustomPaths are failing."
569         https://bugs.webkit.org/show_bug.cgi?id=180722
570         https://trac.webkit.org/changeset/225864
571
572 2017-12-13  Youenn Fablet  <youenn@apple.com>
573
574         Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
575         https://bugs.webkit.org/show_bug.cgi?id=180713
576         <rdar://problem/36003031>
577
578         Reviewed by Andy Estes.
579
580         Reenable the check for non High Sierra builds.
581
582         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
583         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
584
585 2017-12-13  Brady Eidson  <beidson@apple.com>
586
587         REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
588         https://bugs.webkit.org/show_bug.cgi?id=180722
589
590         Reviewed by Chris Dumez.
591
592         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
593         (TEST): Call a new SPI to get the count of WebProcesses hosting WebPages.
594
595 2017-12-13  Mark Lam  <mark.lam@apple.com>
596
597         Fill out some Poisoned APIs, fix some bugs, and add some tests.
598         https://bugs.webkit.org/show_bug.cgi?id=180724
599         <rdar://problem/36006884>
600
601         Reviewed by JF Bastien.
602
603         * TestWebKitAPI/CMakeLists.txt:
604         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
605         * TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Added.
606         (TestWebKitAPI::TEST):
607         * TestWebKitAPI/Tests/WTF/Poisoned.cpp: Added.
608         (TestWebKitAPI::initializeTestPoison):
609         (TestWebKitAPI::TEST):
610
611 2017-12-13  Jonathan Bedard  <jbedard@apple.com>
612
613         webkitpy: Better name-version mapping (Part 2)
614         https://bugs.webkit.org/show_bug.cgi?id=179621
615         <rdar://problem/35589585>
616
617         Reviewed by David Kilzer.
618
619         Now that we have a central mapping of version numbers to version names, this
620         mapping should be used to compute version names. This patch treats passes versions
621         as objects, only mapping them to names when strings are needed.
622
623         * Scripts/webkitpy/common/system/platforminfo.py:
624         (PlatformInfo.__init__): Store os_version as a version object instead of a string.
625         (PlatformInfo.os_version_name): Convert os_version to a string through the VersionNameMap.
626         * Scripts/webkitpy/common/system/platforminfo_mock.py:
627         (MockPlatformInfo.__init__): Store os_version as a version object.
628         (MockPlatformInfo.os_version_name): Mirror PlatformInfo.
629         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
630         (TestPlatformInfo.test_real_code): Only Mac and Windows have defined version objects.
631         (TestPlatformInfo.test_os_version): Deleted, this behavior is now managed by VersionNameMap.
632         * Scripts/webkitpy/common/version.py:
633         (Version.__cmp__): Allow a version object to be compared with 'None'.
634         * Scripts/webkitpy/common/version_name_map.py:
635         (VersionNameMap.map): Check for the apple_additions VersionNameMap.
636         (VersionNameMap.__init__): Add a wincairo mapping, the same as the win mapping.
637         * Scripts/webkitpy/common/version_unittest.py:
638         (VersionTestCase.test_compare_versions): Test comparing a version object to 'None'.
639         * Scripts/webkitpy/layout_tests/models/test_configuration.py:
640         (TestConfiguration.__init__): Strip formatting from version name. Note that this object still
641         accepts a string because the version string implicitly contains the platform as well.
642         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Win7 should be 7SP0 as
643         it is in the VersionNameMap.
644         * Scripts/webkitpy/port/apple.py:
645         (ApplePort): Replace VERSION_FALLBACK_ORDER with a minimum and maximum version. This is required
646         because it may be the case that scripts are aware of more versions than the port actually supports.
647         (ApplePort.determine_full_port_name): Use the host operating system to compute the full port name.
648         (ApplePort._allowed_versions): Return a list of valid port versions by iterating through the
649         VersionNameMap.
650         (ApplePort._generate_all_test_configurations): Compute a list of configurations by iterating through
651         _allowed_versions and converting each version to a string.
652         (ApplePort._apple_baseline_path): Return a layout test expectation directory inside apple_additions.
653         (ApplePort._skipped_file_search_paths): Deleted.
654         (ApplePort._allowed_port_names): Deleted.
655         (ApplePort._future_port_name): Deleted.
656         * Scripts/webkitpy/port/base.py:
657         (Port.__init__): Replace _version string with _os_version object.
658         (Port.version_name): Convert version object to string.
659         (Port.test_configuration): Pass version string to TestConfiguration.
660         (Port.version): Deleted.
661         * Scripts/webkitpy/port/darwin_testcase.py:
662         (DarwinTest.assert_name): Convert an os_version_string to a version object and construct a port.
663         * Scripts/webkitpy/port/factory_unittest.py:
664         (FactoryTest.test_mac): Replace version strings with version objects.
665         (FactoryTest.test_win): Ditto.
666         * Scripts/webkitpy/port/gtk.py:
667         (GtkPort._generate_all_test_configurations): Replace _version with version_name().
668         * Scripts/webkitpy/port/ios.py:
669         (IOSPort.version_name): Both Simulator and device share the same version-name convention.
670         (IOSPort._generate_all_test_configurations): Replace _version with version_name().
671         (IOSPort.default_baseline_search_path): Use the internal mapping of version names to construct
672         apple_additions expectations.
673         (IOSPort._apple_additions_path): Deleted.
674         * Scripts/webkitpy/port/ios_device.py:
675         (IOSDevicePort.ios_version): Return None if no version is defined.
676         * Scripts/webkitpy/port/ios_device_unittest.py:
677         (IOSDeviceTest):
678         (IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Conform with the new mock
679         apple_additions.
680         (IOSDeviceTest.make_port): Deleted.
681         * Scripts/webkitpy/port/ios_simulator.py:
682         (IOSSimulatorPort._create_devices): Use Version object over list of version strings.
683         * Scripts/webkitpy/port/ios_simulator_unittest.py:
684         (IOSSimulatorTest):
685         (IOSSimulatorTest.make_port): Use iOS 11 as the default version for testing.
686         (IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Conform with the new
687         mock apple_additions.
688         * Scripts/webkitpy/port/ios_testcase.py:
689         (IOSTest.make_port): Use iOS 11 as the default version for testing.
690         * Scripts/webkitpy/port/mac.py:
691         (MacPort):
692         (MacPort.__init__): Use Version object for _os_version.
693         (MacPort.default_baseline_search_path): Use the internal mapping of version names to construct
694         apple_additions expectations.
695         (MacPort.configuration_specifier_macros): Automatically construct macros based on VersionNameMap.
696         (MacPort._apple_additions_path): Deleted.
697         * Scripts/webkitpy/port/mac_unittest.py:
698         (MacTest): Use Version object instead of version string.
699         (MacTest.test_version):
700         * Scripts/webkitpy/port/port_testcase.py:
701         (bind_mock_apple_additions): Add a mock VersionNameMap to mock apple_additions.
702         (bind_mock_apple_additions.MockAppleAdditions):
703         (bind_mock_apple_additions.MockAppleAdditions.version_name_mapping):
704         * Scripts/webkitpy/port/test.py:
705         (TestPort):
706         (TestPort.__init__): Use VersionNameMap to compute the correct Version from a port name.
707         (TestPort.version_name): Mirror Port object.
708         (TestPort.baseline_search_path): Replace win7 with 7sp0.
709         (TestPort._all_systems): Ditto.
710         (TestPort.configuration_specifier_macros): Ditto.
711         * Scripts/webkitpy/port/win.py:
712         (WinPort):
713         (WinPort.__init__): Construct Version object from port name.
714         (WinPort.default_baseline_search_path): Use the internal mapping of version names to construct
715         apple_additions expectations.
716         (WinCairoPort):
717         (WinCairoPort.default_baseline_search_path): Use MIN/MAX instead of the VERSION_FALLBACK_ORDER.
718         (WinCairoPort._future_port_name): Deleted.
719         * Scripts/webkitpy/port/win_unittest.py:
720         (WinPortTest.test_baseline_search_path): Add new Windows versions not previously included.
721         (WinPortTest._assert_version): Handle expected_version as a Version object.
722         (WinPortTest.test_versions): Pass Version objects instead of version strings.
723         * Scripts/webkitpy/port/wpe.py:
724         (WPEPort._generate_all_test_configurations): Replace _version with version_name().
725         * Scripts/webkitpy/tool/commands/queries_unittest.py:
726         (PrintExpectationsTest.test_multiple): Replace win7 with 7sp0.
727         (PrintBaselinesTest.test_multiple): Ditto.
728         * Scripts/webkitpy/tool/commands/queues.py:
729         (PatchProcessingQueue._new_port_name_from_old): Use os_version_name() instead of Version object.
730
731 2017-12-12  Daniel Bates  <dabates@apple.com>
732
733         [WK] Add modern WebKit SPI to set auto fill button type and query if the auto fill button is enabled
734         https://bugs.webkit.org/show_bug.cgi?id=180686
735
736         Reviewed by Alex Christensen.
737
738         * TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm:
739         (-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
740
741 2017-12-12  Alex Christensen  <achristensen@webkit.org>
742
743         Fix possible out-of-bounds read in protocolIsInHTTPFamily
744         https://bugs.webkit.org/show_bug.cgi?id=180688
745
746         Reviewed by Daniel Bates.
747
748         * TestWebKitAPI/Tests/WebCore/URL.cpp:
749         (TestWebKitAPI::TEST_F):
750
751 2017-12-12  JF Bastien  <jfbastien@apple.com>
752
753         makeString: support more integral types
754         https://bugs.webkit.org/show_bug.cgi?id=180720
755
756         Reviewed by Sam Weinig.
757
758         Test a few more types can be made string'd.
759
760         * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
761         (TestWebKitAPI::TEST):
762
763 2017-12-12  Alicia Boya García  <aboya@igalia.com>
764
765         Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
766         https://bugs.webkit.org/show_bug.cgi?id=178782
767
768         Reviewed by Michael Catanzaro.
769
770         * TestResultServer/static-dashboards/flakiness_dashboard.js:
771
772 2017-12-12  Jonathan Bedard  <jbedard@apple.com>
773
774         MobileMiniBrowser using the wrong toolchain
775         https://bugs.webkit.org/show_bug.cgi?id=180716
776         <rdar://problem/36002951>
777
778         Reviewed by Tim Horton.
779
780         Move Debug/Release configurations from xcodeproj into Base.xcconfig.
781
782         * MobileMiniBrowser/Configurations/Base.xcconfig:
783         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
784
785 2017-12-12  Youenn Fablet  <youenn@apple.com>
786
787         Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
788         https://bugs.webkit.org/show_bug.cgi?id=180713
789
790         Reviewed by Andy Estes.
791
792         Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.
793
794         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
795         (-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
796
797 2017-12-12  Caio Lima  <ticaiolima@gmail.com>
798
799         [ESNext][BigInt] Implement BigInt literals and JSBigInt
800         https://bugs.webkit.org/show_bug.cgi?id=179000
801
802         Reviewed by Darin Adler and Yusuke Suzuki.
803
804         * Scripts/run-jsc-stress-tests:
805
806 2017-12-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
807
808         [GTK][WPE] Bump GStreamer version to 1.12 in jhbuild
809         https://bugs.webkit.org/show_bug.cgi?id=171677
810
811         Reviewed by Carlos Garcia Campos.
812
813         Bump gstreamer related modules and rebase patches still needed and not merged
814
815         * gstreamer/jhbuild.modules:
816         * gstreamer/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Removed. This was needed for OpenWebRTC. Not longer supported.
817         * gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Rebased.
818         * gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Rebased.
819         * gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Rebased.
820         * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added a note about merge commit not still in 1.12.4.
821
822 2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
823
824         [WTF] Thread::create should have Thread::tryCreate
825         https://bugs.webkit.org/show_bug.cgi?id=180333
826
827         Reviewed by Darin Adler.
828
829         * TestWebKitAPI/Tests/WTF/Condition.cpp:
830         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
831         * TestWebKitAPI/Tests/WTF/Signals.cpp:
832         (TEST):
833         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
834         (TestWebKitAPI::testThreadGroup):
835         (TestWebKitAPI::TEST):
836
837 2017-12-11  Basuke Suzuki  <Basuke.Suzuki@sony.com>
838
839         [WinCairo] Enable running sharded tests
840         https://bugs.webkit.org/show_bug.cgi?id=180660
841
842         Reviewed by Alex Christensen.
843
844         The sharder splits the test inputs into groups of test based on the directory, 
845         but separation of base name and directory name was wrong because of this bug.
846         Once sharded correctly, the execution of layout test on native Windows environment
847         is in parallel and much less time to run.
848
849         * Scripts/webkitpy/port/win.py:
850         (WinCairoPort):
851
852 2017-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
853
854         [WinCairo] DLLLauncherMain should use SetDllDirectory
855         https://bugs.webkit.org/show_bug.cgi?id=180642
856
857         Reviewed by Alex Christensen.
858
859         Windows have icuuc.dll in the system directory. WebKit should find
860         one in WebKitLibraries directory, not one in the system directory.
861
862         * win/DLLLauncher/DLLLauncherMain.cpp:
863         (modifyPath): Use SetDllDirectory for WebKitLibraries directory instead of modifying path.
864         Do not add a path for GStreamer because nobody is using now.
865
866 2017-12-11  David Quesada  <david_quesada@apple.com>
867
868         Turn on ENABLE_APPLICATION_MANIFEST
869         https://bugs.webkit.org/show_bug.cgi?id=180562
870         rdar://problem/35924737
871
872         Reviewed by Geoffrey Garen.
873
874         * Configurations/FeatureDefines.xcconfig:
875
876 2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
877
878         Unreviewed, rolling out r225737.
879
880         Breaks Git clones of the repository, including EWSs and webkitbot.
881
882         Reverted changeset:
883
884         "Add a script to automate W3c web-platform-tests pull request
885         creations from WebKit commits"
886         https://bugs.webkit.org/show_bug.cgi?id=169462
887         https://trac.webkit.org/changeset/225737
888
889 2017-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
890
891         [GTK] WebDriver: run-webdriver-tests is leaking a DumpRenderTree directory in tmp
892         https://bugs.webkit.org/show_bug.cgi?id=180426
893
894         Reviewed by Michael Catanzaro.
895
896         This happens when running the tests with Xvfb driver, because _setup_environ_for_test() is called twice and the
897         DTR temp directory is created there every time. Only the last directory created is cleaned up by the driver
898         destructor. The DRT temp directory is only needed for layout tests, so we could even avoid its creation by
899         moving it to the start() method like other drivers do (included the base driver implementation). Since API and
900         WebDriver tests don't call start(), the directory is not even created, and the required env vars are not set
901         either in that case. Weston driver was behaving differently for some reason, it's now consistent with all other
902         drivers.
903
904         * Scripts/webkitpy/port/headlessdriver.py:
905         (HeadlessDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
906         (HeadlessDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
907         * Scripts/webkitpy/port/waylanddriver.py:
908         (WaylandDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
909         (WaylandDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
910         * Scripts/webkitpy/port/westondriver.py:
911         (WestonDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
912         (WestonDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
913         (WestonDriver.stop): Do not delete the temp directory, it's done by the parent class.
914         (WestonDriver._ensure_driver_tmpdir_subdirectory): Deleted.
915         * Scripts/webkitpy/port/westondriver_unittest.py:
916         (WestonDriverTest.make_driver):
917         (WestonDriverTest.test_stop):
918         * Scripts/webkitpy/port/xorgdriver.py:
919         (XorgDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
920         (XorgDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
921         * Scripts/webkitpy/port/xvfbdriver.py:
922         (XvfbDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
923         (XvfbDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
924
925 2017-12-10  Zan Dobersek  <zdobersek@igalia.com>
926
927         Unreviewed webkitpy fix on Linux platforms after r225721.
928
929         Add an empty 'linux' entry to the PUBLIC_TABLE mapping in the
930         VersionNameMap class. This avoids asserting in this class's
931         mapping_for_platform() method when the code is evaluated on a Linux
932         system, which happens when the static VERSION_FALLBACK_ORDER member in
933         the WinCairoPort class is constructed. This can occur during a
934         test-webkitpy run or when trying to construct a WPEPort instance in
935         PortFactory, which isn't possible because again the WinCairoPort
936         instance is constructed first, leading to the same assert in both cases.
937
938         * Scripts/webkitpy/common/version_name_map.py:
939         (VersionNameMap.__init__):
940
941 2017-12-10  Youenn Fablet  <youenn@apple.com>
942
943         Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
944         https://bugs.webkit.org/show_bug.cgi?id=169462
945
946         Reviewed by Darin Adler.
947
948         Adding some git helper routines used by WPT exporter.
949         Copying WPT github utility files from Chromium.
950         Updating web.py/web_mock.py to cope with these new files.
951
952         Implementing test exporter in test_exporter.py.
953         This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
954         It will then push the commit to a public GitHub repository identified by a username parameter.
955         This parameter is passed through the command line or searched through git config/environment variables.
956
957         The script can optionally create a pull request to the official WPT GitHub repository.
958         User must provide a GitHub token to allow the script to make the PR on behalf of the user.
959         In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
960         to easily link the pull request with the bugzilla bug.
961
962         * Scripts/export-w3c-test-changes: Added.
963         * Scripts/webkitpy/common/checkout/scm/git.py:
964         (Git.reset_hard):
965         (Git):
966         (Git.am):
967         (Git.commit):
968         (Git.format_patch):
969         (Git.request_pull):
970         (Git.remote):
971         (Git.push):
972         (Git.checkout_new_branch):
973         * Scripts/webkitpy/common/net/web.py:
974         (Web.request): Copied from Chromium.
975         * Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
976         * Scripts/webkitpy/w3c/test_exporter.py: Added.
977         (TestExporter):
978         (TestExporter.__init__):
979         (TestExporter._init_repository):
980         (TestExporter.download_and_commit_patch):
981         (TestExporter.clean):
982         (TestExporter.create_branch_with_patch):
983         (TestExporter.push_to_public_repository):
984         (TestExporter.make_pull_request):
985         (TestExporter.delete_local_branch):
986         (TestExporter.create_git_patch):
987         (TestExporter.create_upload_remote_if_needed):
988         (TestExporter.do_export):
989         (parse_args):
990         (configure_logging):
991         (configure_logging.LogHandler):
992         (configure_logging.LogHandler.format):
993         (main):
994         * Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
995         (TestExporterTest):
996         (TestExporterTest.MockBugzilla):
997         (TestExporterTest.MockBugzilla.__init__):
998         (TestExporterTest.MockBugzilla.fetch_bug_dictionary):
999         (TestExporterTest.MockBugzilla.post_comment_to_bug):
1000         (TestExporterTest.MockGit):
1001         (TestExporterTest.MockGit.clone):
1002         (TestExporterTest.MockGit.__init__):
1003         (TestExporterTest.MockGit.fetch):
1004         (TestExporterTest.MockGit.checkout):
1005         (TestExporterTest.MockGit.reset_hard):
1006         (TestExporterTest.MockGit.push):
1007         (TestExporterTest.MockGit.format_patch):
1008         (TestExporterTest.MockGit.delete_branch):
1009         (TestExporterTest.MockGit.checkout_new_branch):
1010         (TestExporterTest.MockGit.am):
1011         (TestExporterTest.MockGit.commit):
1012         (TestExporterTest.MockGit.remote):
1013         (TestExporterTest.test_export):
1014         * Scripts/webkitpy/w3c/common.py: Copied from chromium.
1015         * Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
1016         * Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
1017         * Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
1018
1019 2017-12-10  Konstantin Tokarev  <annulen@yandex.ru>
1020
1021         [python] Modernize "except" usage for python3 compatibility
1022         https://bugs.webkit.org/show_bug.cgi?id=180612
1023
1024         Reviewed by Michael Catanzaro.
1025
1026         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
1027         (CommitterAuth.auth_json):
1028         (CommitterAuth.authenticate):
1029         (CommitterAuth.is_webkit_committer):
1030         (CommitterAuth.is_webkit_trac_user):
1031         * BuildSlaveSupport/wait-for-SVN-server.py:
1032         (getLatestSVNRevision):
1033         * QueueStatusServer/handlers/updatebase.py:
1034         (UpdateBase._int_from_request):
1035         * Scripts/webkitpy/bindings/main.py:
1036         (BindingsTests.generate_from_idl):
1037         (BindingsTests.generate_supplemental_dependency):
1038         (BindingsTests.detect_changes):
1039         * Scripts/webkitpy/codegen/main.py:
1040         (BuiltinsGeneratorTests.generate_from_js_builtins):
1041         (BuiltinsGeneratorTests.detect_changes):
1042         * Scripts/webkitpy/common/checkout/changelog.py:
1043         (ChangeLog.parse_latest_entry_from_file):
1044         * Scripts/webkitpy/common/checkout/checkout.py:
1045         (Checkout.bug_id_for_this_commit):
1046         * Scripts/webkitpy/common/checkout/scm/git.py:
1047         (Git.in_working_directory):
1048         (Git.clone):
1049         (Git._string_to_int_or_none):
1050         (Git._commit_on_branch):
1051         * Scripts/webkitpy/common/checkout/scm/svn.py:
1052         (SVN.revisions_changing_file):
1053         * Scripts/webkitpy/common/config/committers.py:
1054         (CommitterList.load_json):
1055         * Scripts/webkitpy/common/message_pool.py:
1056         (_Worker.run):
1057         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
1058         (Builder.force_build.predicate):
1059         (Builder._fetch_revision_to_build_map):
1060         (BuildBot._fetch_build_dictionary):
1061         * Scripts/webkitpy/common/net/credentials.py:
1062         (Credentials._credentials_from_git):
1063         * Scripts/webkitpy/common/net/networktransaction.py:
1064         (NetworkTransaction.run):
1065         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
1066         (NetworkTransactionTest.test_exception):
1067         (NetworkTransactionTest.test_timeout):
1068         * Scripts/webkitpy/common/net/statusserver.py:
1069         (StatusServer._fetch_url):
1070         * Scripts/webkitpy/common/net/unittestresults.py:
1071         (UnitTestResults.results_from_string):
1072         * Scripts/webkitpy/common/prettypatch.py:
1073         (PrettyPatch.check_pretty_patch):
1074         (PrettyPatch.pretty_patch_text):
1075         * Scripts/webkitpy/common/prettypatch_unittest.py:
1076         (PrettyPatchTest.check_ruby):
1077         * Scripts/webkitpy/common/system/autoinstall.py:
1078         (AutoInstaller._extract_tar):
1079         (AutoInstaller._unzip):
1080         (AutoInstaller._replace_domain_with_next_mirror):
1081         (AutoInstaller._download_to_stream):
1082         (AutoInstaller.install):
1083         * Scripts/webkitpy/common/system/crashlogs.py:
1084         (CrashLogs._find_newest_log_darwin):
1085         (CrashLogs._find_newest_log_win):
1086         (CrashLogs._find_all_logs_darwin):
1087         * Scripts/webkitpy/common/system/executive.py:
1088         (Executive.kill_process):
1089         (Executive.running_pids):
1090         * Scripts/webkitpy/common/system/filesystem.py:
1091         (FileSystem.maybe_make_directory):
1092         (FileSystem.remove):
1093         * Scripts/webkitpy/common/system/user.py:
1094         (User._wait_on_list_response):
1095         (User.edit):
1096         (User.page):
1097         (User.can_open_url):
1098         * Scripts/webkitpy/common/system/workspace.py:
1099         (Workspace.create_zip):
1100         * Scripts/webkitpy/common/watchlist/watchlistparser.py:
1101         (WatchListParser._parse_definition_section):
1102         * Scripts/webkitpy/common/webkitunittest.py:
1103         (TestCase._assertRaisesRegexp):
1104         * Scripts/webkitpy/inspector/main.py:
1105         (InspectorGeneratorTests.generate_from_json):
1106         (InspectorGeneratorTests.detect_changes):
1107         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
1108         (LayoutTestFinder._read_test_names_from_file):
1109         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1110         (LayoutTestRunner.run_tests):
1111         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1112         (Manager.upload_results):
1113         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
1114         (JSONResultsGenerator.upload_json_files):
1115         (JSONResultsGenerator._get_archived_json_results):
1116         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1117         (MiscTests.test_parse_warning):
1118         (SemanticTests.test_bad_bugid):
1119         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
1120         (summarize_results):
1121         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1122         (main):
1123         * Scripts/webkitpy/layout_tests/servers/http_server.py:
1124         (Lighttpd._remove_stale_logs):
1125         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
1126         (HttpServerBase._is_running_on_port):
1127         (HttpServerBase._check_that_all_ports_are_available):
1128         * Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
1129         (BaseTest.assert_servers_are_down):
1130         (BaseTest.assert_servers_are_up):
1131         (BaseTest.integration_test_server__fails):
1132         (BaseTest.maybe_make_dir):
1133         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1134         (run_server):
1135         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
1136         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
1137         (PyWebSocket.is_running):
1138         (PyWebSocket._remove_stale_logs):
1139         * Scripts/webkitpy/performance_tests/perftestsrunner.py:
1140         (_merge_slave_config_json):
1141         (_merge_outputs_if_needed):
1142         (_upload_json):
1143         * Scripts/webkitpy/port/base.py:
1144         (Port._build_driver):
1145         (Port._build_image_diff):
1146         (Port._symbols_string):
1147         * Scripts/webkitpy/port/leakdetector.py:
1148         (LeakDetector.count_total_bytes_and_unique_leaks):
1149         (LeakDetector.check_for_leaks):
1150         * Scripts/webkitpy/port/leakdetector_valgrind.py:
1151         (LeakDetectorValgrind._parse_leaks_output):
1152         * Scripts/webkitpy/port/mac.py:
1153         (MacPort.reset_preferences):
1154         (MacPort.stop_helper):
1155         * Scripts/webkitpy/port/port_testcase.py:
1156         (PortTestCase.assert_servers_are_down):
1157         (PortTestCase.assert_servers_are_up):
1158         (PortTestCase.integration_test_http_server__fails):
1159         (PortTestCase.integration_test_websocket_server__fails):
1160         * Scripts/webkitpy/port/server_process.py:
1161         (ServerProcess.write):
1162         (ServerProcess._wait_for_data_and_update_buffers_using_select):
1163         (ServerProcess._non_blocking_read_win32):
1164         * Scripts/webkitpy/port/win.py:
1165         (WinPort._runtime_feature_list):
1166         * Scripts/webkitpy/port/xvfbdriver.py:
1167         (XvfbDriver._xvfb_read_display_id):
1168         * Scripts/webkitpy/style/checkers/jsonchecker.py:
1169         (JSONChecker.check):
1170         * Scripts/webkitpy/style/checkers/xml.py:
1171         (XMLChecker.check):
1172         * Scripts/webkitpy/style/filereader.py:
1173         (TextFileReader.process_file):
1174         * Scripts/webkitpy/style/filereader_unittest.py:
1175         (TextFileReaderTest.test_process_file__does_not_exist):
1176         * Scripts/webkitpy/style/optparser.py:
1177         (ArgumentParser.parse):
1178         * Scripts/webkitpy/tool/bot/irc_command.py:
1179         (CreateBug.execute):
1180         (Rollout.execute):
1181         * Scripts/webkitpy/tool/bot/ircbot.py:
1182         (IRCBot.process_message):
1183         * Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
1184         (LayoutTestResultsReader._read_file_contents):
1185         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
1186         (PatchAnalysisTask._run_command):
1187         * Scripts/webkitpy/tool/bot/queueengine.py:
1188         (QueueEngine.run):
1189         * Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
1190         (AbstractSequencedCommand.execute):
1191         * Scripts/webkitpy/tool/commands/download.py:
1192         (AbstractPatchSequencingCommand._prepare_to_process):
1193         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1194         (AbstractEarlyWarningSystem.review_patch):
1195         * Scripts/webkitpy/tool/commands/queries.py:
1196         (FailureReason._blame_line_for_revision):
1197         * Scripts/webkitpy/tool/commands/queues.py:
1198         (AbstractQueue._cc_watchers):
1199         (AbstractQueue.run_webkit_patch):
1200         (CommitQueue.process_work_item):
1201         (StyleQueue.review_patch):
1202         * Scripts/webkitpy/tool/commands/rebaseline.py:
1203         (AbstractParallelRebaselineCommand._run_webkit_patch):
1204         * Scripts/webkitpy/tool/commands/stepsequence.py:
1205         (StepSequence.run_and_handle_errors):
1206         * Scripts/webkitpy/tool/commands/suggestnominations.py:
1207         (SuggestNominations._count_recent_patches):
1208         * Scripts/webkitpy/tool/multicommandtool.py:
1209         (MultiCommandTool.main):
1210         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
1211         (_rebaseline_test):
1212         (_move_test_baselines):
1213         * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
1214         (AddSvnMimetypeForPngTest.test_run):
1215         * Scripts/webkitpy/tool/steps/checkstyle.py:
1216         (CheckStyle.run):
1217         * Scripts/webkitpy/tool/steps/commit.py:
1218         (Commit._check_test_expectations):
1219         (Commit.run):
1220         * Scripts/webkitpy/tool/steps/confirmdiff.py:
1221         (ConfirmDiff._show_pretty_diff):
1222         * Scripts/webkitpy/tool/steps/haslanded.py:
1223         (HasLanded.diff_diff):
1224         * Scripts/webkitpy/tool/steps/preparechangelog.py:
1225         (PrepareChangeLog.run):
1226         * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
1227         (PromptForBugOrTitle.run):
1228         * Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:
1229         (SortXcodeProjectFiles.run):
1230         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
1231         (WebDriverW3CWebServer._wait_for_server.check_port):
1232         * TestResultServer/model/datastorefile.py:
1233         (DataStoreFile.save_data):
1234         * jhbuild/jhbuildutils.py:
1235         (enter_jhbuild_environment_if_available):
1236
1237 2017-12-09  Yusuke Suzuki  <utatane.tea@gmail.com>
1238
1239         Fix WTF::Hasher tuple expansion with variadic args
1240         https://bugs.webkit.org/show_bug.cgi?id=180623
1241
1242         Reviewed by JF Bastien.
1243
1244         * TestWebKitAPI/Tests/WTF/Hasher.cpp:
1245         (TestWebKitAPI::TEST):
1246
1247 2017-12-09  Konstantin Tokarev  <annulen@yandex.ru>
1248
1249         [python] Replace print >> operator with print() function for python3 compatibility
1250         https://bugs.webkit.org/show_bug.cgi?id=180611
1251
1252         Reviewed by Michael Catanzaro.
1253
1254         * CygwinDownloader/cygwin-downloader.py:
1255         (download_url_to_file):
1256         * Scripts/webkitpy/common/system/profiler.py:
1257         (Perf.profile_after_exit):
1258         * Scripts/webkitpy/common/version_check.py:
1259         * Scripts/webkitpy/layout_tests/lint_test_expectations.py:
1260         (main):
1261         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1262         (main):
1263         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1264         (run_server):
1265         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
1266         (ChangeLogAnalyzer._print_status):
1267         * Scripts/webkitpy/tool/commands/queries.py:
1268         (BugsToCommit.execute):
1269         (PatchesInCommitQueue.execute):
1270         (PatchesToCommitQueue.execute):
1271         (PatchesToReview._print_report):
1272         (WhatBroke._print_builder_line):
1273         (WhatBroke._print_blame_information_for_builder):
1274         (WhatBroke.execute):
1275         (ResultsFor._print_layout_test_results):
1276         (ResultsFor.execute):
1277         (FailureReason._print_blame_information_for_transition):
1278         (FailureReason._explain_failures_for_builder):
1279         (FailureReason._builder_to_explain):
1280         (FailureReason.execute):
1281         (FindFlakyTests._find_failures):
1282         (FindFlakyTests._print_statistics):
1283         (FindFlakyTests._walk_backwards_from):
1284         (execute):
1285         (PrintExpectations.execute):
1286         (PrintBaselines.execute):
1287         (PrintBaselines._print_baselines):
1288         (FindResolvedBugs.execute):
1289         * Scripts/webkitpy/tool/commands/rebaseline.py:
1290         (AbstractParallelRebaselineCommand._run_webkit_patch):
1291         (AbstractParallelRebaselineCommand._rebaseline):
1292         * Scripts/webkitpy/tool/servers/gardeningserver.py:
1293         (GardeningHTTPRequestHandler.rebaselineall):
1294         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1295         (GardeningServerTest.disabled_test_rebaselineall.run_command):
1296         (GardeningServerTest):
1297
1298 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1299
1300         [Win] The way to detect Windows 10 is wrong
1301         https://bugs.webkit.org/show_bug.cgi?id=179344
1302         <rdar://problem/35562264>
1303
1304         Reviewed by Alex Christensen.
1305
1306         Python2.7 doesn't return correct information on Windows 10.
1307         Use platform.win32_ver() instead of sys.getwindowsversion().
1308
1309         * Scripts/webkitpy/common/system/platforminfo.py:
1310         (PlatformInfo._win_version):
1311         (PlatformInfo._win_version_str):
1312         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
1313         (fake_sys):
1314         (fake_sys.FakeSysModule):
1315         (fake_platform):
1316         (fake_platform.FakePlatformModule.win32_ver):
1317         (TestPlatformInfo.test_os_name_and_wrappers):
1318         (TestPlatformInfo.test_os_version):
1319         (TestPlatformInfo.test_display_name):
1320         (TestPlatformInfo.test_total_bytes_memory):
1321
1322 2017-12-08  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1323
1324         [WinCairo] Fix runtime error after r225229
1325         https://bugs.webkit.org/show_bug.cgi?id=180614
1326
1327         Reviewed by Alex Christensen.
1328
1329         The list of fallback versions doesn't match with version name mapping introduced recently.
1330         It should be safe by creating the list automatically from the name map for consistency.
1331  
1332         * Scripts/webkitpy/common/version_name_map.py:
1333         (VersionNameMap.__init__):
1334         (VersionNameMap.to_name):
1335         (VersionNameMap.from_name):
1336         (VersionNameMap):
1337         (VersionNameMap.names):
1338         (VersionNameMap.mapping_for_platform):
1339         * Scripts/webkitpy/port/win.py:
1340         (WinCairoPort):
1341         (WinCairoPort.default_baseline_search_path):
1342
1343 2017-12-08  David Quesada  <david_quesada@apple.com>
1344
1345         ApplicationManifestParser should strip whitespace from the raw input
1346         https://bugs.webkit.org/show_bug.cgi?id=180539
1347         rdar://problem/35915075
1348
1349         Reviewed by Joseph Pecoraro.
1350
1351         Added an API test for parsing manifests with surrounding whitespace.
1352
1353         Also drive-by fix ApplicationManifestParserTest.Display. Earlier versions of the
1354         manifest spec explicitly stated that the "display" value should be treated as if
1355         it were run through String.prototype.trim(), which allowed for the really weird
1356         edge case of an array containing one string. This behavior was lost when I changed
1357         ApplicationManifestParser's JSON parsing from using JavaScriptCore to WTF's JSON
1358         parsing. Update the unit test accordingly.
1359
1360         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1361         (TEST_F):
1362
1363 2017-12-08  Konstantin Tokarev  <annulen@yandex.ru>
1364
1365         [python] Replace print operator with print() function for python3 compatibility
1366         https://bugs.webkit.org/show_bug.cgi?id=180592
1367
1368         Reviewed by Michael Catanzaro.
1369
1370         * BuildSlaveSupport/wait-for-SVN-server.py:
1371         (getLatestSVNRevision):
1372         (waitForSVNRevision):
1373         * Scripts/download-latest-github-release.py:
1374         (find_latest_release):
1375         (main):
1376         * Scripts/update-wasm-gcc-torture.py:
1377         (update_lkgr):
1378         (untar_torture):
1379         (list_js_files):
1380         (waterfall_known_failures):
1381         * Scripts/update-webkit-wincairo-libs.py:
1382         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1383         (BenchmarkRunner.show_results):
1384         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
1385         (SimpleHTTPServerDriver.fetch_result):
1386         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1387         (list_benchmark_plans):
1388         * Scripts/webkitpy/bindings/main.py:
1389         (BindingsTests.generate_from_idl):
1390         (BindingsTests.generate_supplemental_dependency):
1391         (BindingsTests.detect_changes):
1392         (BindingsTests.run_tests):
1393         (BindingsTests.main):
1394         * Scripts/webkitpy/codegen/main.py:
1395         (BuiltinsGeneratorTests.generate_from_js_builtins):
1396         (BuiltinsGeneratorTests.detect_changes):
1397         (BuiltinsGeneratorTests.single_builtin_test):
1398         (BuiltinsGeneratorTests.run_test):
1399         (BuiltinsGeneratorTests.run_tests):
1400         (BuiltinsGeneratorTests.main):
1401         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
1402         (MockBugzilla.fetch_attachment):
1403         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
1404         (Builder._fetch_revision_to_build_map):
1405         * Scripts/webkitpy/common/system/crashlogs.py:
1406         (CrashLogs._find_newest_log_win):
1407         * Scripts/webkitpy/common/system/outputcapture_unittest.py:
1408         (OutputCaptureTest.test_output_capture_scope):
1409         * Scripts/webkitpy/common/system/profiler.py:
1410         (GooglePProf.profile_after_exit):
1411         (Perf.profile_after_exit):
1412         * Scripts/webkitpy/common/system/user.py:
1413         (User.prompt_with_multiple_lists):
1414         (User.prompt_with_list):
1415         (User._warn_if_application_is_xcode):
1416         (User.edit_changelog):
1417         * Scripts/webkitpy/inspector/main.py:
1418         (InspectorGeneratorTests.generate_from_json):
1419         (InspectorGeneratorTests.detect_changes):
1420         (InspectorGeneratorTests.run_tests):
1421         (InspectorGeneratorTests.main):
1422         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1423         (Manager._print_expectation_line_for_test):
1424         (Manager._print_expectations_for_subset):
1425         (Manager._print_expectations_for_subset.if):
1426         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1427         (run_server):
1428         * Scripts/webkitpy/port/config_standalone.py:
1429         (main):
1430         * Scripts/webkitpy/port/darwin_testcase.py:
1431         (DarwinTest.test_spindump.logging_run_command):
1432         (DarwinTest.test_sample_process.logging_run_command):
1433         * Scripts/webkitpy/port/ios.py:
1434         (IOSPort.clean_up_test_run):
1435         * Scripts/webkitpy/port/ios_device_unittest.py:
1436         (IOSDeviceTest.test_spindump.logging_run_command):
1437         (IOSDeviceTest.test_sample_process.logging_run_command):
1438         * Scripts/webkitpy/port/ios_simulator_unittest.py:
1439         (IOSSimulatorTest.test_xcrun.throwing_run_command):
1440         * Scripts/webkitpy/port/leakdetector_unittest.py:
1441         (test_count_total_bytes_and_unique_leaks.mock_run_script):
1442         * Scripts/webkitpy/port/mac_unittest.py:
1443         (MacTest.test_xcrun.throwing_run_command):
1444         * Scripts/webkitpy/style/checkers/contributors.py:
1445         (ContributorsChecker.check):
1446         * Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
1447         (AbstractLocalServerCommand.execute):
1448         * Scripts/webkitpy/tool/commands/adduserstogroups.py:
1449         (AddUsersToGroups.execute):
1450         * Scripts/webkitpy/tool/commands/analyzechangelog.py:
1451         (AnalyzeChangeLog._generate_jsons):
1452         (AnalyzeChangeLog.execute):
1453         (ChangeLogAnalyzer._set_filename):
1454         (ChangeLogAnalyzer.analyze):
1455         * Scripts/webkitpy/tool/commands/bugfortest.py:
1456         (BugForTest.execute):
1457         * Scripts/webkitpy/tool/commands/bugsearch.py:
1458         (execute):
1459         * Scripts/webkitpy/tool/commands/findusers.py:
1460         (FindUsers.execute):
1461         * Scripts/webkitpy/tool/commands/gardenomatic.py:
1462         (GardenOMatic.execute):
1463         * Scripts/webkitpy/tool/commands/rebaseline.py:
1464         (RebaselineTest.execute):
1465         * Scripts/webkitpy/tool/commands/rebaselineserver.py:
1466         (RebaselineServer._prepare_config):
1467         * Scripts/webkitpy/tool/commands/setupgitclone.py:
1468         (SetupGitClone.execute):
1469         (SetupGitClone._get_username_and_email):
1470         * Scripts/webkitpy/tool/commands/suggestnominations.py:
1471         (SuggestNominations._print_nominations):
1472         (SuggestNominations._print_counts):
1473         * Scripts/webkitpy/tool/commands/upload.py:
1474         (CommitMessageForCurrentDiff.execute):
1475         (CreateBug.prompt_for_bug_title_and_comment):
1476         * Scripts/webkitpy/tool/multicommandtool.py:
1477         (HelpCommand.execute):
1478         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1479         (TestGardeningHTTPRequestHandler._serve_text):
1480         (TestGardeningHTTPRequestHandler._serve_json):
1481         * Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py:
1482         (AddSvnMimetypeForPng.run):
1483         * Scripts/webkitpy/tool/steps/suggestreviewers.py:
1484         (SuggestReviewers.run):
1485         * Scripts/webkitpy/w3c/test_importer.py:
1486         (TestImporter.update_tests_options):
1487         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
1488         (WebDriverTestRunnerSelenium.run):
1489         * TestResultServer/model/jsonresults_unittest.py:
1490         * gtk/ycm_extra_conf.py:
1491         (FlagsForFile):
1492         * lldb/lldb_webkit.py:
1493         (btjs):
1494
1495 2017-12-08  Eric Carlson  <eric.carlson@apple.com>
1496
1497         Move Logger from PAL to WTF so it can be used outside of WebCore
1498         https://bugs.webkit.org/show_bug.cgi?id=180561
1499
1500         Reviewed by Alex Christensen.
1501
1502         * TestWebKitAPI/Tests/WebCore/Logging.cpp:
1503         (TestWebKitAPI::TEST_F):
1504
1505 2017-12-08  Chris Dumez  <cdumez@apple.com>
1506
1507         Different WebKitTestRunner instances should use different service worker registrations databases
1508         https://bugs.webkit.org/show_bug.cgi?id=180589
1509
1510         Reviewed by Brady Eidson.
1511
1512         * WebKitTestRunner/TestController.cpp:
1513         (WTR::TestController::generateContextConfiguration const):
1514
1515 2017-12-08  Fujii Hironori  <Hironori.Fujii@sony.com>
1516
1517         Tools/ImageDiff/cg/PlatformImageCG.cpp doesn't need to include <wtf/MathExtras.h>
1518         https://bugs.webkit.org/show_bug.cgi?id=180578
1519
1520         Reviewed by Konstantin Tokarev.
1521
1522         * ImageDiff/cg/PlatformImageCG.cpp: Removed unnecessary #include <wtf/MathExtras.h>.
1523
1524 2017-12-08  Zan Dobersek  <zdobersek@igalia.com>
1525
1526         Unreviewed WPE build fix after r225671.
1527
1528         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1529         Include the ActivateFonts.h header to have a usable
1530         WTR::installFakeHelvetica() function declaration.
1531
1532 2017-12-07  Zan Dobersek  <zdobersek@igalia.com>
1533
1534         Unreviewed GTK+ and WPE build fix.
1535
1536         Add TestRunner::installFakeHelvetica(), WTR::installFakeHelvetica()
1537         and WTF::uninstallFakeHelvetica() definitions, filling out the
1538         declarations added in r225641. This fills up missing symbols in the
1539         WKTR's InjectedBundle library, unbreaking layout tests for both
1540         configurations.
1541
1542         * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
1543         (WTR::installFakeHelvetica):
1544         (WTR::uninstallFakeHelvetica):
1545         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1546         (WTR::TestRunner::inspectorTestStubURL):
1547         (WTR::TestRunner::installFakeHelvetica):
1548         * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp:
1549         (WTR::installFakeHelvetica):
1550         (WTR::uninstallFakeHelvetica):
1551         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1552         (WTR::TestRunner::installFakeHelvetica):
1553
1554 2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
1555
1556         Use StaticLock instead of NeverDestroyed<Lock>
1557         https://bugs.webkit.org/show_bug.cgi?id=180507
1558
1559         Reviewed by Saam Barati.
1560
1561         * DumpRenderTree/JavaScriptThreading.cpp:
1562         (javaScriptThreads):
1563         (runJavaScriptThread):
1564         (startJavaScriptThreads):
1565         (stopJavaScriptThreads):
1566         (javaScriptThreadsMutex): Deleted.
1567
1568 2017-12-07  Alex Christensen  <achristensen@webkit.org>
1569
1570         Always synchronously continue with fragment navigations
1571         https://bugs.webkit.org/show_bug.cgi?id=180544
1572         <rdar://problem/34815986> and <rdar://problem/35126690>
1573
1574         Reviewed by Geoffrey Garen.
1575
1576         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
1577         (-[DecidePolicyForNavigationActionFragmentDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1578         (TEST):
1579         Add a test that verifies that decidePolicyForNavigationAction is called for fragment navigations.
1580
1581 2017-12-07  Myles C. Maxfield  <mmaxfield@apple.com>
1582
1583         [Cocoa] Add SPI to disallow user-installed fonts
1584         https://bugs.webkit.org/show_bug.cgi?id=180062
1585         <rdar://problem/35042408>
1586
1587         Reviewed by Simon Fraser.
1588
1589         * WebKitTestRunner/InjectedBundle/ActivateFonts.h:
1590         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1591         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1592         (WTR::InjectedBundlePage::resetAfterTest):
1593         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1594         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
1595         (WTR::resourcesDirectoryURL):
1596         (WTR::activateFonts):
1597         (WTR::installFakeHelvetica):
1598         (WTR::uninstallFakeHelvetica):
1599         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1600         (WTR::TestRunner::installFakeHelvetica):
1601         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1602         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica-400.ttf: Added.
1603         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica-500.ttf: Added.
1604         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-400.ttf: Added.
1605         * WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-500.ttf: Added.
1606
1607 2017-12-07  David Quesada  <david_quesada@apple.com>
1608
1609         [Web App Manifest] Support display-mode media feature
1610         https://bugs.webkit.org/show_bug.cgi?id=180376
1611         rdar://problem/35837993
1612
1613         Reviewed by Geoffrey Garen.
1614
1615         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1616         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1617         (WebCore::operator<<):
1618         (ApplicationManifestParserTest::testDisplay):
1619         (TEST_F):
1620             Add unit tests for the parsing of the 'display' manifest property.
1621
1622         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
1623         (TestWebKitAPI::TEST):
1624         * TestWebKitAPI/Tests/WebKitCocoa/display-mode.html: Added.
1625             Update API tests to include _WKApplicationManifest.displayMode.
1626
1627         * WebKitTestRunner/TestController.cpp:
1628         (WTR::parseStringTestHeaderValueAsRelativePath):
1629         (WTR::updateTestOptionsFromTestHeader):
1630         * WebKitTestRunner/TestOptions.h:
1631         (WTR::TestOptions::hasSameInitializationOptions const):
1632         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1633         (WTR::TestController::platformCreateWebView):
1634             Teach WKTR to look for and apply an app manifest. A new <!--webkit-test-runner-->
1635             directive 'applicationManifest' can specify a path (relative to the test file itself)
1636             to a JSON app manifest to be applied to the web view before running the test.
1637
1638 2017-12-07  Eric Carlson  <eric.carlson@apple.com>
1639
1640         Add WebRTC watchlist rule, update MediaStream rule
1641         https://bugs.webkit.org/show_bug.cgi?id=180536
1642         <rdar://problem/35914066>
1643
1644         Reviewed by Youenn Fablet.
1645
1646         * Scripts/webkitpy/common/config/watchlist:
1647
1648 2017-12-06  Chris Dumez  <cdumez@apple.com>
1649
1650         We should be able to recover after a Service Worker process crash
1651         https://bugs.webkit.org/show_bug.cgi?id=180477
1652
1653         Reviewed by Brady Eidson and Youenn Fablet.
1654
1655         Add testRunner API to terminate the Service Worker process.
1656
1657         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1658         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1659         (WTR::TestRunner::terminateServiceWorkerProcess):
1660         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1661         * WebKitTestRunner/TestController.cpp:
1662         (WTR::TestController::terminateServiceWorkerProcess):
1663         * WebKitTestRunner/TestController.h:
1664         * WebKitTestRunner/TestInvocation.cpp:
1665         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1666
1667 2017-12-02  Darin Adler  <darin@apple.com>
1668
1669         Modernize some aspects of text codecs, eliminate WebKit use of strcasecmp
1670         https://bugs.webkit.org/show_bug.cgi?id=180009
1671
1672         Reviewed by Alex Christensen.
1673
1674         * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Removed include of StringExtras.h.
1675
1676         * TestWebKitAPI/CMakeLists.txt: Added LineEnding.cpp.
1677         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
1678         * TestWebKitAPI/Tests/WTF/LineEnding.cpp: Added. Has tests for the LineEnding
1679         functions rewritten in this patch.
1680
1681         * TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Updated test now that the decode
1682         function doesn't have defaults for as many arguments any more. Also changed so
1683         that the tests log the fact that the decode function returns an error and updated
1684         expected results to expect all the errors.
1685
1686         * WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
1687
1688 2017-12-06  Alexey Proskuryakov  <ap@apple.com>
1689
1690         Exclude another leak callstack.
1691
1692         * Scripts/webkitpy/port/leakdetector.py: (LeakDetector._callstacks_to_exclude_from_leaks):
1693
1694 2017-12-06  Jeff Miller  <jeffm@apple.com>
1695
1696         -[WKWebViewConfiguration copyWithZone] doesn't copy _groupIdentifier
1697         https://bugs.webkit.org/show_bug.cgi?id=180504
1698
1699         Reviewed by Geoffrey Garen.
1700
1701         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
1702         Add a test to verify that the _groupIdentifier is copied.
1703
1704 2017-12-06  David Quesada  <david_quesada@apple.com>
1705
1706         [Web App Manifest] Add SPI for fetching the manifest
1707         https://bugs.webkit.org/show_bug.cgi?id=180294
1708         rdar://problem/34747968
1709
1710         Reviewed by Geoffrey Garen.
1711
1712         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1713         * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Added.
1714             Added two API tests for _WKApplicationManifest:
1715             - Testing _WKApplicationManifest's conformance to NSCoding.
1716             - Testing -[WKWebView _getApplicationManifestWithCompletionHandler:], verifying the
1717               values of the resulting _WKApplicationManifest.
1718         (TestWebKitAPI::TEST):
1719
1720         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1721             Added a new testRunner method getApplicationManifestThen(), used by the LayoutTests
1722             to request the document load its associated manifest. The layout tests formerly called
1723             an unimplemented function getManifestThen(), but I added 'Application' to somewhat
1724             differentiate this from the app cache manifest.
1725
1726         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1727         (WTR::InjectedBundle::didReceiveMessageToPage):
1728         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1729         (WTR::TestRunner::getApplicationManifestThen):
1730         (WTR::TestRunner::didGetApplicationManifest):
1731         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1732         * WebKitTestRunner/TestInvocation.cpp:
1733         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1734
1735 2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
1736
1737         Switch windows build to Visual Studio 2017
1738         https://bugs.webkit.org/show_bug.cgi?id=172412
1739
1740         Reviewed by Per Arne Vollan.
1741
1742         * Scripts/build-webkit:
1743         * Scripts/webkitdirs.pm:
1744         (visualStudioInstallDir):
1745         (visualStudioInstallDirFallback):
1746         (msBuildInstallDir):
1747         (setupAppleWinEnv):
1748         (setupCygwinEnv):
1749         (generateBuildSystemFromCMakeProject):
1750         (pickLegacyVisualStudioInstallation): Deleted.
1751         (visualStudioInstallDirLegacy): Deleted.
1752         (visualStudioVersion): Deleted.
1753         (visualStudioVersionFromInstallDir): Deleted.
1754
1755 2017-12-05  Alex Christensen  <achristensen@webkit.org>
1756
1757         Fix crash when loading a file URL that does not have a fileSystemPath representation
1758         https://bugs.webkit.org/show_bug.cgi?id=180448
1759         <rdar://problem/22805921>
1760
1761         Reviewed by Chris Dumez.
1762
1763         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
1764         (TEST):
1765         Test opening a URL that used to crash WebKit.
1766
1767 2017-12-05  Michael Saboff  <msaboff@apple.com>
1768
1769         Make WebKit build for ARM64_32
1770         https://bugs.webkit.org/show_bug.cgi?id=180447
1771
1772         Reviewed by Mark Lam.
1773
1774         Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.
1775
1776         * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
1777
1778 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1779
1780         [build.webkit.org] Rename mastercfg_unittest to steps_unittest
1781         https://bugs.webkit.org/show_bug.cgi?id=180432
1782
1783         Rubber-stamped by Alexey Proskuryakov.
1784
1785         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Removed.
1786         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Copied from BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py.
1787
1788 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1789
1790         [build.webkit.org] Fix style issues in mastercfg_unittest.py
1791         https://bugs.webkit.org/show_bug.cgi?id=180439
1792
1793         Reviewed by Alexey Proskuryakov.
1794
1795         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Added imports directly instead of relying
1796         on imports from other files. We will try to import minimum required modules. Currently we are importing
1797         everything from master.cfg, loadConfig.py, factories.py and steps.py
1798
1799 2017-12-05  Aakash Jain  <aakash_jain@apple.com>
1800
1801         [build.webkit.org] Rename MasterCfgTest to RunWebKitTestsTest
1802         https://bugs.webkit.org/show_bug.cgi?id=180391
1803
1804         Rubber-stamped by Alexey Proskuryakov.
1805
1806         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
1807         (RunWebKitTestsTest): Renamed from MasterCfgTest.
1808
1809 2017-12-01  Filip Pizlo  <fpizlo@apple.com>
1810
1811         GC constraint solving should be parallel
1812         https://bugs.webkit.org/show_bug.cgi?id=179934
1813
1814         Reviewed by JF Bastien.
1815
1816         * Scripts/run-jsc-benchmarks: Add splay-latency test, since this change needed to be carefully validated with that benchmark.
1817         * TestWebKitAPI/CMakeLists.txt:
1818         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1819         * TestWebKitAPI/Tests/WTF/ConcurrentPtrHashSet.cpp: Added. This has unit tests of the new concurrent data structure. The tests focus on correctness under serial execution, which appears to be enough for now (it's so easy to catch a concurrency bug by just running the GC).
1820         (TestWebKitAPI::TEST):
1821
1822 2017-12-04  Nan Wang  <n_wang@apple.com>
1823
1824         AX: AOM: Implement relation type properties
1825         https://bugs.webkit.org/show_bug.cgi?id=179500
1826
1827         Reviewed by Ryosuke Niwa.
1828
1829         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
1830         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
1831         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
1832         (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
1833         (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
1834         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1835         (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
1836         (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
1837
1838 2017-12-04  Simon Fraser  <simon.fraser@apple.com>
1839
1840         Minor DisplayRefreshMonitor-related cleanup
1841         https://bugs.webkit.org/show_bug.cgi?id=179802
1842
1843         Reviewed by Sam Weinig.
1844
1845         New trace point for when the CVDisplayLink fires on its own thread.
1846
1847         * Tracing/SystemTracePoints.plist:
1848
1849 2017-12-04  David Quesada  <david_quesada@apple.com>
1850
1851         Add a class for parsing application manifests
1852         https://bugs.webkit.org/show_bug.cgi?id=177973
1853         rdar://problem/34747949
1854
1855         Reviewed by Geoffrey Garen.
1856
1857         Add basic unit tests for ApplicationManifestParser. For each of the implemented top-level properties,
1858         attempt to parse manifests with varying types of valid and invalid data to ensure the resulting
1859         ApplicationManifest is configured with the appropriate values per the spec.
1860
1861         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add ENABLE_APPLICATION_MANIFEST feature flag.
1862         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1863         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: Added.
1864         (ApplicationManifestParserTest::SetUp):
1865         (ApplicationManifestParserTest::parseString):
1866         (ApplicationManifestParserTest::parseTopLevelProperty):
1867         (ApplicationManifestParserTest::testStartURL):
1868         (ApplicationManifestParserTest::testName):
1869         (ApplicationManifestParserTest::testDescription):
1870         (ApplicationManifestParserTest::testShortName):
1871         (ApplicationManifestParserTest::testScope):
1872         (assertManifestHasDefaultValues):
1873         (TEST_F):
1874
1875 2017-12-04  Aakash Jain  <aakash_jain@apple.com>
1876
1877         Add docstring in EarlyWarningSystemTask to explain return values
1878         https://bugs.webkit.org/show_bug.cgi?id=180303
1879
1880         Reviewed by Daniel Bates.
1881
1882         * Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
1883         (EarlyWarningSystemTask.run): Added docstring to explain return values.
1884         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
1885         (AbstractEarlyWarningSystem.review_patch): Added comment to explain the result of unlocking a patch.
1886
1887 2017-12-04  JF Bastien  <jfbastien@apple.com>
1888
1889         Update std::expected to match libc++ coding style
1890         https://bugs.webkit.org/show_bug.cgi?id=180264
1891
1892         Reviewed by Alex Christensen.
1893
1894         Update tests according to name changes as well as removal of
1895         now-gone APIs.
1896
1897         * TestWebKitAPI/Tests/WTF/Expected.cpp:
1898         (std::experimental::fundamentals_v3::operator<<):
1899         (TestWebKitAPI::TEST):
1900         (WTF::operator<<): Deleted.
1901         * TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
1902         (TestWebKitAPI::testParseHTMLInteger):
1903         (TestWebKitAPI::testParseHTMLNonNegativeInteger):
1904
1905 2017-12-04  Ross Kirsling  <ross.kirsling@sony.com>
1906
1907         download-latest-github-release.py should use existing release ANY time latest is not found
1908         https://bugs.webkit.org/show_bug.cgi?id=180293
1909
1910         Reviewed by Per Arne Vollan.
1911
1912         * Scripts/download-latest-github-release.py:
1913         (find_latest_release):
1914         Handle all URLErrors, not just HTTPErrors. Stop special-casing 404s.
1915
1916         (main):
1917         Rearrange logic so any failure to detect a latest release falls back to an existing release. Improve logging.
1918
1919         (Status):
1920         (download_release):
1921         (load_version_info): Renamed from existing_version info.
1922         (has_latest_release): Deleted.
1923         Cleanup.
1924
1925 2017-12-04  Joseph Pecoraro  <pecoraro@apple.com>
1926
1927         Exclude some more leak callstacks
1928         https://bugs.webkit.org/show_bug.cgi?id=180379
1929
1930         Reviewed by Alexey Proskuryakov.
1931
1932         * Scripts/webkitpy/port/leakdetector.py:
1933         (LeakDetector._types_to_exclude_from_leaks):
1934         (LeakDetector._callstacks_to_exclude_from_leaks):
1935         (LeakDetector._leaks_args):
1936         (LeakDetector._types_to_exlude_from_leaks): Deleted.
1937         * Scripts/webkitpy/port/leakdetector_unittest.py:
1938         (LeakDetectorTest.test_leaks_args):
1939
1940 2017-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
1941
1942         WTF shouldn't have both Thread and ThreadIdentifier
1943         https://bugs.webkit.org/show_bug.cgi?id=180308
1944
1945         Reviewed by Darin Adler.
1946
1947         * DumpRenderTree/mac/DumpRenderTree.mm:
1948         (dumpRenderTree):
1949         (runThread): Deleted.
1950         (runPthread): Deleted.
1951         (testThreadIdentifierMap): Deleted.
1952         * TestWebKitAPI/CMakeLists.txt:
1953         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1954         * TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
1955         * TestWebKitAPI/Tests/WTF/Threading.cpp: Added.
1956         (TestWebKitAPI::TEST):
1957
1958 2017-12-03  Aakash Jain  <aakash_jain@apple.com>
1959
1960         webkitpy EWS keeps retrying a failing patch
1961         https://bugs.webkit.org/show_bug.cgi?id=180302
1962
1963         Reviewed by Alexey Proskuryakov.
1964
1965         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
1966         (PatchAnalysisTask._test_patch): Instead of returning false, call report_failure() 
1967         which raises an exception, this exception is catched by earlywarningsystem.py and
1968         it posts a comment on bugzilla. Returning false simply unlocks the patch and returns
1969         it to the queue.
1970
1971 2017-12-03  Darin Adler  <darin@apple.com>
1972
1973         Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
1974         https://bugs.webkit.org/show_bug.cgi?id=180318
1975
1976         Reviewed by JF Bastien.
1977
1978         * TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
1979         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
1980
1981         * TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
1982         WTF::Hasher class.
1983
1984         * TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
1985         Hasher.h.
1986
1987 2017-12-01  Carlos Garcia Campos  <cgarcia@igalia.com>
1988
1989         WebDriver: auto-install pytest instead of importing it from wpt tools directory
1990         https://bugs.webkit.org/show_bug.cgi?id=180243
1991
1992         Reviewed by Brian Burg.
1993
1994         We don't really need the (old) version included in wpt tools dir, so we can simply remove it and use autoinstall
1995         instead.
1996
1997         * Scripts/webkitpy/thirdparty/__init__.py:
1998         (AutoinstallImportHook.find_module): Check pytest.
1999         (AutoinstallImportHook._install_pytest): Install pytest.
2000         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Import autoinstalled pytest.
2001         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2002         (WebDriverTestRunnerW3C.run): Update the subtest path since the new pytest uses a different strategy for
2003         rootdir.
2004         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Import autoinstalled pytest.
2005
2006 2017-12-01  Dewei Zhu  <dewei_zhu@apple.com>
2007
2008         Hardcoded python path is not compatible with virtual environment.
2009         https://bugs.webkit.org/show_bug.cgi?id=180300
2010
2011         Reviewed by Stephanie Lewis.
2012
2013         Hardcoding '/usr/bin/python' does not work with python virtual environment.
2014         Use 'python' instead.
2015
2016         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
2017         (SimpleHTTPServerDriver.serve):
2018
2019 2017-12-01  Aakash Jain  <aakash_jain@apple.com>
2020
2021         [build.webkit.org] Move python code to load config from master.cfg in separate file
2022         https://bugs.webkit.org/show_bug.cgi?id=180278
2023
2024         Reviewed by Daniel Bates.
2025
2026         * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved appropriate code to loadConfig.py
2027         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.
2028         * BuildSlaveSupport/build.webkit.org-config/steps.py: Removed extra import.
2029
2030 2017-12-01  Brian Burg  <bburg@apple.com>
2031
2032         Web Inspector: move Inspector::Protocol::Array<T> to JSON namespace
2033         https://bugs.webkit.org/show_bug.cgi?id=173662
2034
2035         Reviewed by Joseph Pecoraro.
2036
2037         Add duplicate test cases for JSON::ArrayOf<T> based on JSON::Array.
2038
2039         * TestWebKitAPI/Tests/WTF/JSONValue.cpp:
2040         (TestWebKitAPI::TEST):
2041
2042 2017-12-01  Wenson Hsieh  <wenson_hsieh@apple.com>
2043
2044         [Attachment Support] Implement SPI for clients to update a given attachment's data
2045         https://bugs.webkit.org/show_bug.cgi?id=180184
2046         <rdar://problem/35355731>
2047
2048         Reviewed by Tim Horton.
2049
2050         Adds two new API tests to exercise the attachment data update flow.
2051
2052         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2053         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
2054         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
2055         (-[_WKAttachment synchronouslyRequestData:]):
2056         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
2057         (TestWebKitAPI::TEST):
2058
2059 2017-12-01  Alicia Boya García  <aboya@igalia.com>
2060
2061         [GTK] Add SampleMap.cpp API tests to CMake
2062         https://bugs.webkit.org/show_bug.cgi?id=180252
2063
2064         Reviewed by Žan Doberšek.
2065
2066         * TestWebKitAPI/PlatformGTK.cmake:
2067
2068 2017-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2069
2070         WebDriver: add support for importing and running selenium tests
2071         https://bugs.webkit.org/show_bug.cgi?id=180145
2072
2073         Reviewed by Brian Burg.
2074
2075         We currently import and run W3C tests, which are the best ones to ensure our implementation is spec
2076         compliant. However, the selenium API is what user will actually use in the end, so it's important to ensure that
2077         we don't break the selenium support. This patch adds webdriver_test_runner_selenium.py and
2078         webdriver_selenium_executor.py to run selenium tests. The script import-w3c-webdriver-tests has been renamed as
2079         import-webdriver-tests and it can now import selenium tests too.
2080
2081         * Scripts/import-w3c-webdriver-tests: Removed.
2082         * Scripts/import-webdriver-tests: Added.
2083         (Importer):
2084         (Importer.__init__):
2085         (Importer.download_tests):
2086         (Importer.import_tests):
2087         (Importer.import_tests.should_skip_file):
2088         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
2089         (WebDriver.browser_path):
2090         (WebDriver):
2091         (WebDriver.browser_args):
2092         (WebDriver.selenium_name):
2093         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
2094         (WebDriverGtk.browser_path):
2095         (WebDriverGtk):
2096         (WebDriverGtk.browser_args):
2097         (WebDriverGtk.capabilities):
2098         (WebDriverGtk.selenium_name):
2099         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
2100         (WebDriverWPE.browser_args):
2101         (WebDriverWPE.capabilities):
2102         * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Added.
2103         (_ensure_directory_in_path):
2104         (CollectRecorder):
2105         (CollectRecorder.__init__):
2106         (CollectRecorder.pytest_collectreport):
2107         (WebDriverSeleniumExecutor):
2108         (WebDriverSeleniumExecutor.__init__):
2109         (WebDriverSeleniumExecutor.collect):
2110         (WebDriverSeleniumExecutor.run):
2111         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
2112         (WebDriverTestRunner):
2113         (WebDriverTestRunner.__init__):
2114         (WebDriverTestRunner.run):
2115         (WebDriverTestRunner.print_results):
2116         (WebDriverTestRunner.dump_results_to_json_file):
2117         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: Added.
2118         (WebDriverTestRunnerSelenium):
2119         (WebDriverTestRunnerSelenium.__init__):
2120         (WebDriverTestRunnerSelenium._tests_dir):
2121         (WebDriverTestRunnerSelenium.collect_tests):
2122         (WebDriverTestRunnerSelenium.run):
2123         (WebDriverTestRunnerSelenium.results):
2124         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2125         (WebDriverTestRunnerW3C.__init__):
2126         (WebDriverTestRunnerW3C.run):
2127         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2128
2129 2017-11-30  Alex Christensen  <achristensen@webkit.org>
2130
2131         REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
2132         https://bugs.webkit.org/show_bug.cgi?id=180235
2133
2134         Reviewed by Joseph Pecoraro.
2135
2136         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2137         * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
2138         (-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2139         (TEST):
2140
2141 2017-11-30  Stephan Szabo  <stephan.szabo@sony.com>
2142
2143         Make LegacyCustomProtocolManager optional for network process
2144         https://bugs.webkit.org/show_bug.cgi?id=176230
2145
2146         Reviewed by Alex Christensen.
2147
2148         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2149
2150 2017-11-30  Dewei Zhu  <dewei_zhu@apple.com>
2151
2152         HTTP server driver is responsible for ensuring the dependencies of HTTP server.
2153         https://bugs.webkit.org/show_bug.cgi?id=180231
2154
2155         Reviewed by Stephanie Lewis.
2156
2157         Added the logic to ensure system environment meet the requirments of launching the http server.
2158
2159         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
2160         (SimpleHTTPServerDriver.serve):
2161         (SimpleHTTPServerDriver.set_device_id):
2162         (SimpleHTTPServerDriver):
2163         (SimpleHTTPServerDriver._ensure_http_server_dependencies):
2164
2165 2017-11-30  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2166
2167         [WinCairo] Cannot build without Internet connection
2168         https://bugs.webkit.org/show_bug.cgi?id=180068
2169
2170         Reviewed by Alex Christensen
2171
2172         With no Internet connection, if libraries has been downloaded
2173         before, trust that version and keep building.
2174
2175         * Scripts/download-latest-github-release.py:
2176         (Status):
2177         (current_release):
2178         (has_latest_release):
2179         (main):
2180
2181 2017-11-30  Alex Christensen  <achristensen@webkit.org>
2182
2183         WKURLSchemeHandler.request should include HTTPBody
2184         https://bugs.webkit.org/show_bug.cgi?id=180220
2185
2186         Reviewed by Brady Eidson.
2187
2188         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
2189         (-[FormSubmissionDelegate webView:startURLSchemeTask:]):
2190
2191 2017-11-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2192
2193         Add a script for automatically running the buildbot configurations on a test environment.
2194         https://bugs.webkit.org/show_bug.cgi?id=169084
2195
2196         Reviewed by Michael Catanzaro.
2197
2198         This new script does the following:
2199         - Creates a temporal workingdir.
2200         - Installs buildbot and its dependencies there (very same version used by the webkit.org buildbot master https://build.webkit.org/about ).
2201           This is important as there are problems that that may not be detected if you don't test with the same version that will be used on production.
2202         - Copies the buildmaster config files to the temporal workingdir.
2203         - Performs the required steps to start a buildmaster.
2204         - Creates the required config for each slave and starts all of them.
2205
2206         The test buildmaster should be accessible at http://localhost:8710/ allowing to trigger manual builds.
2207         This allows to test any configuration changes on this test environment that is pretty much identical to the production one.
2208
2209         * BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Added.
2210         (check_tcp_port_open):
2211         (upgrade_db_needed):
2212         (create_tempdir):
2213         (print_if_error_stdout_stderr):
2214         (setup_master_workdir):
2215         (wait_for_master_ready):
2216         (start_master):
2217         (get_list_workers):
2218         (start_worker):
2219         (clean):
2220         (cmd_exists):
2221         (check_buildbot_installed):
2222         (setup_virtualenv):
2223         (configdir_is_valid):
2224         (main):
2225
2226 2017-11-30  Aakash Jain  <aakash_jain@apple.com>
2227
2228         [build.webkit.org] Move python code from master.cfg in separate files
2229         https://bugs.webkit.org/show_bug.cgi?id=180180
2230
2231         Reviewed by Alexey Proskuryakov.
2232
2233         * BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved code to steps.py and master.cfg appropriately.
2234         * BuildSlaveSupport/build.webkit.org-config/factories.py: Moved all factory related code from master.cfg.
2235         * BuildSlaveSupport/build.webkit.org-config/steps.py: Moved all steps related code from master.cfg
2236
2237 2017-11-30  Wenson Hsieh  <wenson_hsieh@apple.com>
2238
2239         WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
2240         https://bugs.webkit.org/show_bug.cgi?id=180200
2241
2242         Reviewed by Alexey Proskuryakov.
2243
2244         Rewrites an API test to avoid checking against the hard-coded platform-dependent size of an attachment element.
2245         Instead, first insert the attachment element as an icon and compute its size, and then check that the size of
2246         the element is restored to this original value after toggling the display mode to in-place mode and back.
2247
2248         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2249         (-[TestWKWebView attachmentElementSize]):
2250         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
2251         (TestWebKitAPI::TEST):
2252         (platformAttachmentIconElementSize): Deleted.
2253
2254 2017-11-30  Michael Catanzaro  <mcatanzaro@igalia.com>
2255
2256         [WPE] Stop building Wayland in JHBuild moduleset
2257         https://bugs.webkit.org/show_bug.cgi?id=179951
2258
2259         Reviewed by Žan Doberšek.
2260
2261         Since Wayland is not used for running tests, and since it does not seem to depend on
2262         anything in the JHBuild moduleset, I think we can remove it safely without having to worry
2263         that the system version of Wayland might use libraries in the JHBuild environment (which
2264         would be unsafe).
2265
2266         * wpe/install-dependencies: Install Wayland.
2267         * wpe/jhbuild.modules: Stop building Wayland.
2268
2269 2017-11-30  Alexey Proskuryakov  <ap@apple.com>
2270
2271         Silence the BitVector leak for
2272         https://bugs.webkit.org/show_bug.cgi?id=121662
2273
2274         The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
2275
2276         * Scripts/webkitpy/port/leakdetector.py:
2277         (LeakDetector._callstacks_to_exclude_from_leaks):
2278
2279 2017-11-29  Aakash Jain  <aakash_jain@apple.com>
2280
2281         Fix build.webkit.org broken unit-test after r225080
2282         https://bugs.webkit.org/show_bug.cgi?id=180176
2283
2284         Reviewed by Carlos Garcia Campos.
2285
2286         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
2287
2288 2017-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
2289
2290         [Attachment Support] Implement SPI for clients to make an attachment element display in-place
2291         https://bugs.webkit.org/show_bug.cgi?id=180153
2292         <rdar://problem/35735252>
2293
2294         Reviewed by Tim Horton.
2295
2296         Adds new API tests to cover inserting in-place attachments and updating the display mode of existing attachments,
2297         as well as performing a few editing operations (paragraph insertion, cut/paste, list insertion) on attachment
2298         elements.
2299
2300         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2301         (platformAttachmentIconElementSize):
2302         (testVideoData):
2303         (testPDFData):
2304         (displayOptionsWithMode):
2305         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
2306         (-[_WKAttachment synchronouslySetDisplayOptions:error:]):
2307         (TestWebKitAPI::TEST):
2308
2309 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2310
2311         API test fix after r225288.
2312
2313         Make the test work on iOS.
2314
2315         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
2316         (-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]):
2317         (TestWebKitAPI::TEST):
2318
2319 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2320
2321         REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string
2322         https://bugs.webkit.org/show_bug.cgi?id=180155
2323         rdar://problem/34220827
2324
2325         Reviewed by Zalan Bujtas.
2326
2327         API test that loads a page with a relative anchor, and simulates a click to scroll to it.
2328
2329         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2330         * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
2331         (TestWebKitAPI::TEST):
2332         * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added.
2333         (-[DidScrollToFragmentDelegate _webViewDidScroll:]):
2334         (TestWebKitAPI::TEST):
2335         * TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added.
2336
2337 2017-11-29  Ryan Haddad  <ryanhaddad@apple.com>
2338
2339         webkitpy EWS should be present on the dashboard.
2340         https://bugs.webkit.org/show_bug.cgi?id=179801
2341
2342         Reviewed by Aakash Jain.
2343
2344         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2345         (BubbleQueueServer): Add Webkitpy EWS.
2346
2347 2017-11-29  Simon Fraser  <simon.fraser@apple.com>
2348
2349         Viewport unit values affected by Comand-+ zoom
2350         https://bugs.webkit.org/show_bug.cgi?id=145614
2351
2352         Reviewed by Zalan Bujtas.
2353         
2354         Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied
2355         to editing commands.
2356
2357         * MiniBrowser/mac/MainMenu.xib:
2358
2359 2017-11-29  Alex Christensen  <achristensen@webkit.org>
2360
2361         Add test for _WKVisitedLinkStore.addVisitedLinkWithString
2362         https://bugs.webkit.org/show_bug.cgi?id=180152
2363
2364         Reviewed by Chris Dumez.
2365
2366         * TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm:
2367         (TestWebKitAPI::TEST):
2368
2369 2017-11-29  Jonathan Bedard  <jbedard@apple.com>
2370
2371         webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense
2372         https://bugs.webkit.org/show_bug.cgi?id=179534
2373         <rdar://problem/35469509>
2374
2375         Reviewed by Brent Fulgham.
2376
2377         Provide more specific information in builders.py so that machines do not try and calculate
2378         an iOS SDK version while running tests.
2379
2380         * Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator.
2381         * Scripts/webkitpy/port/ios_simulator.py:
2382         (IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name
2383         of the port.
2384         (IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in
2385         in the provided name string (just like Mac).
2386
2387 2017-11-29  Robin Morisset  <rmorisset@apple.com>
2388
2389         The recursive tail call optimisation is wrong on closures
2390         https://bugs.webkit.org/show_bug.cgi?id=179835
2391
2392         Reviewed by Saam Barati.
2393
2394         This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench
2395
2396         * Scripts/run-jsc-benchmarks:
2397
2398 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2399
2400         WebDriver: add an option to dump test results to a json file
2401         https://bugs.webkit.org/show_bug.cgi?id=180082
2402
2403         Reviewed by Brian Burg.
2404
2405         Add --json-output command line option to run-webdriver-tests to dump test results to a json file in a format
2406         compatible with the W3C report. WebDriverTestResult now represents a test file and contains a list of
2407         subtests, instead of having one WebDriverTestResult per subtest. This way we can store also the harness result
2408         and dump the results to different formats.
2409
2410         * Scripts/run-webdriver-tests:
2411         * Scripts/webkitpy/webdriver_tests/webdriver_test_result.py:
2412         (WebDriverTestResult.__init__):
2413         (WebDriverTestResult):
2414         (WebDriverTestResult.add_subtest_results):
2415         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
2416         (WebDriverTestRunner.print_results):
2417         (WebDriverTestRunner):
2418         (WebDriverTestRunner.dump_results_to_json_file):
2419         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2420         (WebDriverTestRunnerW3C.run):
2421
2422 2017-11-28  Alexey Proskuryakov  <ap@apple.com>
2423
2424         Stop silencing leaks in TextCodecICU::registerCodecs, as the problem was fixed a while ago.
2425         https://bugs.webkit.org/show_bug.cgi?id=118505
2426
2427         Reviewed by Joseph Pecoraro.
2428
2429         * Scripts/valgrind/suppressions.txt:
2430         * Scripts/webkitpy/port/leakdetector.py:
2431         (LeakDetector._callstacks_to_exclude_from_leaks):
2432
2433 2017-11-28  Ms2ger  <Ms2ger@igalia.com>
2434
2435         Stop modifying self.expectations in TestExpectationLine.expected_behavior.
2436         https://bugs.webkit.org/show_bug.cgi?id=180074
2437
2438         Reviewed by Simon Fraser.
2439
2440         In particular, getting the property multiple times on a skipped test
2441         expectation line (which happens when using
2442         `Tools/Scripts/run-webkit-tests --print-expectations` if a directory
2443         containing multiple tests is skipped) would yield [pass, skip], then
2444         [pass, skip, skip], then [pass, skip, skip, skip], and so on.
2445
2446         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2447         (TestExpectationLine.expected_behavior): copy self.expectations before modifying it.
2448
2449 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2450
2451         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
2452         https://bugs.webkit.org/show_bug.cgi?id=173793
2453
2454         Reviewed by Joseph Pecoraro.
2455
2456         * TestWebKitAPI/CMakeLists.txt:
2457         * TestWebKitAPI/PlatformGTK.cmake:
2458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2459         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
2460         (TestWebKitAPI::TEST):
2461
2462 2017-11-28  Ryan Haddad  <ryanhaddad@apple.com>
2463
2464         Bugs filed from the flakiness dashboard should include a link to the dashboard
2465         https://bugs.webkit.org/show_bug.cgi?id=180090
2466
2467         Reviewed by Aakash Jain.
2468
2469         * TestResultServer/static-dashboards/flakiness_dashboard.js:
2470         (createBugHTML):
2471         Open the bug compose page in a new tab and include a link
2472         to the flakiness dashboard results for the selected test.
2473
2474 2017-11-28  Jonathan Bedard  <jbedard@apple.com>
2475
2476         webkitpy: Standardize Version representation
2477         https://bugs.webkit.org/show_bug.cgi?id=179677
2478         <rdar://problem/35711277>
2479
2480         Reviewed by Alex Christensen.
2481
2482         Standardize a single method of representing versions in the Version object
2483         constructor. Provide static methods for converting string and lists/tuples
2484         to Version objects.
2485
2486         * Scripts/webkitpy/common/system/platforminfo.py:
2487         (PlatformInfo.__init__): Parse Version object from string instead of using
2488         the constructor.
2489         (PlatformInfo.xcode_sdk_version): Ditto.
2490         (PlatformInfo.xcode_version): Ditto.
2491         (PlatformInfo._win_version): Construct Version object from list.
2492         * Scripts/webkitpy/common/system/platforminfo_mock.py:
2493         (MockPlatformInfo.xcode_sdk_version):
2494         (MockPlatformInfo.xcode_version):
2495         * Scripts/webkitpy/common/version.py:
2496         (Version):
2497         (Version.from_string): Parse string of the form 'x.x.x'.
2498         (Version.from_iterable): Construct a version object from a list, tuple or
2499         other indexable object.
2500         (Version.__init__): Construct a Version object from integers.
2501         * Scripts/webkitpy/common/version_name_map.py:
2502         (VersionNameMap.__init__): Use integer Version constructor.
2503         (VersionNameMap._automap_to_major_version): Ditto.
2504         (VersionNameMap.to_name):
2505         (VersionNameMap.strip_name_formatting): Construct Version from string.
2506         * Scripts/webkitpy/common/version_name_map_unittest.py:
2507         (VersionMapTestCase.test_mac_version_by_name): Use integer Version constructor.
2508         (VersionMapTestCase.test_mac_name_by_version): Ditto.
2509         (VersionMapTestCase.test_ios_name_by_version): Ditto.
2510         * Scripts/webkitpy/common/version_unittest.py:
2511         (VersionTestCase.test_string_constructor):
2512         (VersionTestCase.test_from_list):
2513         (VersionTestCase.test_from_tuple):
2514         (VersionTestCase.test_int_constructor):
2515         (VersionTestCase.test_len):
2516         (VersionTestCase.test_set_by_int):
2517         (VersionTestCase.test_set_by_string):
2518         (VersionTestCase.test_get_by_int):
2519         (VersionTestCase.test_get_by_string):
2520         (VersionTestCase.test_string):
2521         (VersionTestCase.test_contained_in):
2522         (VersionTestCase.test_compare_versions):
2523         (VersionTestCase.test_list_constructor): Deleted.
2524         (VersionTestCase.test_tuple_constructor): Deleted.
2525         (VersionTestCase.test_copy_constructor): Deleted.
2526         (VersionTestCase.test_none_constructor): Deleted.
2527         * Scripts/webkitpy/port/ios.py:
2528         (IOSPort.default_baseline_search_path): Handle case where ios_version is None.
2529         * Scripts/webkitpy/port/ios_device.py:
2530         (IOSDevicePort.ios_version): Return None rather than an empty version.
2531         * Scripts/webkitpy/port/ios_simulator.py:
2532         (IOSSimulatorPort.simulator_runtime): Parse Version object from string instead
2533         of using the constructor.
2534         (IOSSimulatorPort.ios_version): Return None rather than an empty version.
2535         * Scripts/webkitpy/xcode/simulator.py:
2536         (Simulator._parse_runtimes): Parse Version object from string instead of using
2537         the constructor.
2538         (Simulator._parse_devices): Ditto.
2539         * Scripts/webkitpy/xcode/simulator_unittest.py:
2540
2541 2017-11-28  Daniel Bates  <dabates@apple.com>
2542
2543         [Cocoa] First pass at implementing alternative presentation button element
2544         https://bugs.webkit.org/show_bug.cgi?id=179785
2545         Part of <rdar://problem/34917108>
2546
2547         Reviewed by Brent Fulgham.
2548
2549         Add a test that substitutes the alternative presentation button for an element in
2550         the page and clicks it.
2551
2552         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
2553         * TestWebKitAPI/Tests/WebKitCocoa/ClickAlternativePresentationButton.mm: Added.
2554         (didClickAlternativePresentationButton):
2555         (-[ClickAlternativePresentationButton webProcessPlugIn:didCreateBrowserContextController:]):
2556         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2557         (TEST):
2558         (-[AlternativePresentationButtonDelegate _webView:didClickAlternativePresentationButtonWithUserInfo:]):
2559         (-[AlternativePresentationButtonDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2560
2561 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2562
2563         REGRESSION(r225166): [GTK] Skipped unit tests are considered failures after glib upgrade
2564         https://bugs.webkit.org/show_bug.cgi?id=180072
2565
2566         Reviewed by Michael Catanzaro.
2567
2568         This is a bug in GLib that has already been fixed. Backport the patch to fix it until there's a new GLib release
2569         we can depend on.
2570
2571         * gtk/jhbuild.modules:
2572         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Added.
2573
2574 2017-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
2575
2576         webkitpy: PlatformInfo raises AssertionError "assert self.os_version is not None" in Cygwin since Bug 179621
2577         https://bugs.webkit.org/show_bug.cgi?id=180069
2578
2579         Reviewed by Daniel Bates.
2580
2581         "Version 10.0.16299" was interpreted as 0.0.16299. Fix the wrong
2582         regexp for 'ver' command.
2583
2584         * Scripts/webkitpy/common/system/platforminfo.py:
2585         (PlatformInfo._win_version_from_cmd): Replace \d with \d+.
2586
2587 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2588
2589         [GTK] WebDriver: disable XSS auditor when running WebDriver tests
2590         https://bugs.webkit.org/show_bug.cgi?id=180075
2591
2592         Reviewed by Carlos Alberto Lopez Perez.
2593
2594         Some tests are now doing inline('<script>window.alert()</script>') which is rejected by the XSS auditor because
2595         the script source is part of the request URL.
2596
2597         * Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
2598         (WebDriverGtk.capabilities): Disable XSS auditor.
2599
2600 2017-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2601
2602         WebDriver: add timeout option to run-webdriver-tests script
2603         https://bugs.webkit.org/show_bug.cgi?id=179940
2604
2605         Reviewed by Carlos Alberto Lopez Perez.
2606
2607         We need to handle timeouts to be able to run the tests in the bots. pytest doesn't support timeouts, but there's
2608         a plugin pytest_timeout that can be used for that.
2609
2610         * Scripts/run-webdriver-tests: Add --timeout command line option.
2611         * Scripts/webkitpy/thirdparty/__init__.py:
2612         (AutoinstallImportHook.find_module): Check if pytest_timeout is imported to install it.
2613         (AutoinstallImportHook._install_pytest_timeout): Install pytest_timeout from pypi.
2614         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2615         (WebDriverTestRunnerW3C.__init__): Set PYTEST_TIMEOUT env var with the timeout given.
2616         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2617         (WebDriverW3CExecutor.run): Clarify that the timeout received by do_wdspec() is ignored, and pass 0 instead of 25.
2618
2619 2017-11-27  Aakash Jain  <aakash_jain@apple.com>
2620
2621         Do not run webkitpy tests on multiple EWSes
2622         https://bugs.webkit.org/show_bug.cgi?id=179834
2623
2624         Reviewed by Alexey Proskuryakov.
2625
2626         Do not run webkitpy tests in every EWS. We now have
2627         a dedicated webkitpy test EWS.
2628
2629         * Scripts/webkitpy/tool/steps/runtests.py:
2630         (RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run
2631         when --non-interactive option is not passed. 
2632
2633 2017-11-27  Jonathan Bedard  <jbedard@apple.com>
2634
2635         webkitpy: Better name-version mapping (Part 1)
2636         https://bugs.webkit.org/show_bug.cgi?id=179621
2637         <rdar://problem/35589585>
2638
2639         Reviewed by David Kilzer.
2640
2641         Mapping version numbers to version names should occur in a central location.
2642         This has a few advantages. First, it makes iterating through versions easier.
2643         Second, it allows for apple_additions to define an additional set of name
2644         mappings. Lastly, it will allow, in a future patch, for us to track version
2645         instead of version name, only mapping version to version name when required.
2646
2647         * Scripts/webkitpy/common/system/platforminfo.py:
2648         (PlatformInfo.__init__):
2649         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
2650         mapping version to name.
2651         (PlatformInfo._determine_linux_version): Deleted.
2652         (PlatformInfo._determine_mac_version): Deleted.
2653         (PlatformInfo._determine_win_version): Deleted.
2654         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
2655         (TestPlatformInfo.test_os_name_and_wrappers):
2656         (TestPlatformInfo.test_os_version):
2657         (TestPlatformInfo.test_display_name):
2658         (TestPlatformInfo.test_total_bytes_memory):
2659         * Scripts/webkitpy/common/version.py:
2660         (Version.contained_in): Add partial version mapping.
2661         * Scripts/webkitpy/common/version_name_map.py: Added.
2662         (VersionNameMap): Holds a mapping of version name to version object.
2663         (VersionNameMap.map): Don't re-create VersionNameMap every time.
2664         (VersionNameMap.__init__): Initialize mapping, use platform to
2665         define the default system platform.
2666         (VersionNameMap._automap_to_major_version): Some operating systems, such
2667         as iOS, have a naming scheme based on their major version and os name.
2668         Automatically generate such mappings.
2669         (VersionNameMap.to_name): Given a version object, platform name and
2670         table, find the closest matching version name.
2671         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
2672         if a version string is included in the name.
2673         (VersionNameMap.from_name): Return an os name and version given a version name.
2674         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
2675         (VersionMapTestCase):
2676         (VersionMapTestCase.test_default_system_platform):
2677         (VersionMapTestCase.test_mac_version_by_name):
2678         (VersionMapTestCase.test_ios_version_by_name):
2679         (VersionMapTestCase.test_mac_name_by_version):
2680         (VersionMapTestCase.test_ios_name_by_version):
2681         * Scripts/webkitpy/common/version_unittest.py:
2682         (VersionTestCase.test_contained_in):
2683         * Scripts/webkitpy/port/ios_device.py:
2684         (IOSDevicePort.ios_version): Map os_version name to version number.
2685
2686 2017-11-27  Don Olmstead  <don.olmstead@sony.com>
2687
2688         [CMake][Win] Conditionally select DLL CRT or static CRT
2689         https://bugs.webkit.org/show_bug.cgi?id=170594
2690
2691         Reviewed by Alex Christensen.
2692
2693         * DumpRenderTree/PlatformWin.cmake:
2694         * MiniBrowser/win/CMakeLists.txt:
2695
2696 2017-11-27  Yacine Bandou  <yacine.bandou_ext@softathome.com>
2697
2698         [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
2699         https://bugs.webkit.org/show_bug.cgi?id=18005
2700
2701         Reviewed by Michael Catanzaro.
2702
2703         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
2704         (testWebKitSettings):
2705
2706 2017-11-27  Tim Horton  <timothy_horton@apple.com>
2707
2708         One too many zeroes in macOS version number in FeatureDefines
2709         https://bugs.webkit.org/show_bug.cgi?id=180011
2710
2711         Reviewed by Dan Bernstein.
2712
2713         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2714
2715 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
2716
2717         [Win] The number of webkit-patch iterations on EWS should be configurable.
2718         https://bugs.webkit.org/show_bug.cgi?id=178517
2719
2720         Reviewed by Darin Adler.
2721
2722         Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
2723
2724         * EWSTools/start-queue-win.sh:
2725
2726 2017-11-27  Per Arne Vollan  <pvollan@apple.com>
2727
2728         [Win] Switch to VS2017 on EWS bots.
2729         https://bugs.webkit.org/show_bug.cgi?id=178516
2730
2731         Reviewed by Darin Adler.
2732
2733         * EWSTools/start-queue-win.sh:
2734
2735 2017-11-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2736
2737         [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
2738         https://bugs.webkit.org/show_bug.cgi?id=176806
2739
2740         Reviewed by Carlos Alberto Lopez Perez.
2741
2742         This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
2743
2744         * gtk/jhbuild.modules:
2745         * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
2746
2747 2017-11-24  Darin Adler  <darin@apple.com>
2748
2749         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
2750         (TestWebKitAPI::TEST): Added a test for OptionSet operator|.
2751
2752 2017-11-24  Mark Lam  <mark.lam@apple.com>
2753
2754         Move unsafe jsc shell test functions to the $vm object.
2755         https://bugs.webkit.org/show_bug.cgi?id=179980
2756
2757         Reviewed by Yusuke Suzuki.
2758
2759         Always set --useDollarVM=true for jsc runs of benchmarks.  This is needed because
2760         some microbenchmarks relies on createBuiltin().
2761
2762         Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
2763
2764         * Scripts/run-jsc-benchmarks:
2765         * Scripts/run-jsc-stress-tests:
2766
2767 2017-11-23  Darin Adler  <darin@apple.com>
2768
2769         Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
2770         https://bugs.webkit.org/show_bug.cgi?id=179907
2771
2772         Reviewed by Sam Weinig.
2773
2774         * DumpRenderTree/mac/DumpRenderTree.mm:
2775         (changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
2776         * WebKitTestRunner/TestInvocation.cpp:
2777         (WTR::TestInvocation::urlContains const): Ditto.
2778
2779 2017-11-22  Ali Juma  <ajuma@chromium.org>
2780
2781         Implement VisualViewport API attributes
2782         https://bugs.webkit.org/show_bug.cgi?id=179385
2783
2784         Reviewed by Frédéric Wang.
2785
2786         Enable the VisualViewportAPI in layout tests.
2787
2788         * DumpRenderTree/mac/DumpRenderTree.mm:
2789         (enableExperimentalFeatures):
2790         * DumpRenderTree/win/DumpRenderTree.cpp:
2791         (enableExperimentalFeatures):
2792
2793 2017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
2794
2795         Remove build-webkit's notion of feature flags having a default value
2796         https://bugs.webkit.org/show_bug.cgi?id=177338
2797
2798         Reviewed by Carlos Alberto Lopez Perez.
2799
2800         Delegate feature flag default values to the build system.
2801         (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
2802
2803         * BuildSlaveSupport/build.webkit.org-config/config.json:
2804         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2805         (Factory.__init__):
2806         Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
2807         bots instead of --default-cmake-features.
2808  
2809         * Scripts/build-webkit:
2810         (cMakeArgsFromFeatures): Deleted.
2811         Default feature values to 'undef'.
2812         Remove the --default-cmake-features argument; it is now the default.
2813         Add --no-experimental-features to replace it.
2814         Stop printing the default feature flag value in the help.
2815         Avoid propagating undefined values to the build system;
2816         only mention flags that are overridden on the command line.
2817
2818         This has the nice side effect of using the default CMake features
2819         for CMake builds, but still allowing toggling of them using the
2820         prettier --FEATURE and --no-FEATURE arguments.
2821
2822         * Scripts/webkitdirs.pm:
2823         (generateBuildSystemFromCMakeProject):
2824         No longer need to suppress CMake warnings about unused arguments.
2825
2826         * Scripts/webkitperl/FeatureList.pm:
2827         Remove the default values from the feature list.
2828
2829 2017-11-22  Mark Lam  <mark.lam@apple.com>
2830
2831         [Re-landing] Pass --useDollarVM=true to all JSC tests.
2832         https://bugs.webkit.org/show_bug.cgi?id=179647
2833
2834         Reviewed by Saam Barati.
2835
2836         * Scripts/run-jsc-stress-tests:
2837
2838 2017-11-22  Commit Queue  <commit-queue@webkit.org>
2839
2840         Unreviewed, rolling out r225093.
2841         https://bugs.webkit.org/show_bug.cgi?id=179938
2842
2843         Compilation failed on WinCairo 64-bit Release (Requested by
2844         fredw on #webkit).
2845
2846         Reverted changeset:
2847
2848         "Implement VisualViewport API attributes"
2849         https://bugs.webkit.org/show_bug.cgi?id=179385
2850         https://trac.webkit.org/changeset/225093
2851
2852 2017-11-21  Ali Juma  <ajuma@chromium.org>
2853
2854         Implement VisualViewport API attributes
2855         https://bugs.webkit.org/show_bug.cgi?id=179385
2856
2857         Reviewed by Frédéric Wang.
2858
2859         Enable the VisualViewportAPI in layout tests.
2860
2861         * DumpRenderTree/mac/DumpRenderTree.mm:
2862         (enableExperimentalFeatures):
2863         * DumpRenderTree/win/DumpRenderTree.cpp:
2864         (enableExperimentalFeatures):
2865
2866 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2867
2868         [WPE] Run unit tests in the bots
2869         https://bugs.webkit.org/show_bug.cgi?id=179910
2870
2871         Reviewed by Michael Catanzaro.
2872
2873         Add a step to run unit tests in WPE test bots.
2874
2875         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
2876         (RunGLibAPITests):
2877         (RunGtkAPITests):
2878         (RunWPEAPITests):
2879         (TestFactory.__init__):
2880         (RunGtkAPITests.start): Deleted.
2881         (RunGtkAPITests.commandComplete): Deleted.
2882         (RunGtkAPITests.evaluateCommand): Deleted.
2883         (RunGtkAPITests.getText): Deleted.
2884         (RunGtkAPITests.getText2): Deleted.
2885         * wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
2886
2887 2017-11-21  Tomas Popela  <tpopela@redhat.com>
2888
2889         Fix WebKitGTK+ compilation
2890
2891         Reviewed by Carlos Garcia Campos.
2892
2893         File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
2894         import common
2895         ImportError: No module named common
2896
2897         * gtk/manifest.txt.in:
2898         Add Tools/glib/common.py to the tarball.
2899
2900 2017-11-21  Ms2ger  <Ms2ger@igalia.com>
2901
2902         [GTK] Avoid warning in jhbuildrc.
2903         https://bugs.webkit.org/show_bug.cgi?id=179913
2904
2905         Reviewed by Carlos Garcia Campos.
2906
2907         Apparently this is not quite a real python file; this declaration causes
2908         warnings like
2909           I: unknown keys defined in configuration file: top_level_directory
2910         which break run-webkit-tests.
2911
2912         * gtk/jhbuildrc:
2913
2914 2017-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2915
2916         Unreviewed. Fix WPE make distcheck.
2917
2918         * wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2919
2920 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2921
2922         Unreviewed. Fix GTK+ make distcheck.
2923
2924         * gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2925
2926 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2927
2928         [WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
2929         https://bugs.webkit.org/show_bug.cgi?id=179889
2930
2931         Reviewed by Darin Adler.
2932
2933         * Scripts/webkitperl/FeatureList.pm:
2934
2935 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2936
2937         Unreviewed, speculative attempt to fix run-gtk-tests after r225047
2938         https://bugs.webkit.org/show_bug.cgi?id=173772
2939
2940         * jhbuild/jhbuildutils.py:
2941         (enter_jhbuild_environment_if_available):
2942
2943 2017-11-20  Mario Sanchez Prada  <mario@endlessm.com>
2944
2945         [GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
2946         https://bugs.webkit.org/show_bug.cgi?id=177932
2947
2948         Reviewed by Carlos Garcia Campos.
2949
2950         Added new test cases to cover the newly added API for WebKitCookieManager:
2951         webkit_cookie_manager_add_cookie, webkit_cookie_manager_get_cookies and
2952         webkit_cookie_manager_delete_cookie.
2953
2954         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2955         (testCookieManagerAddCookie): Added.
2956         (testCookieManagerGetCookies): Added.
2957         (testCookieManagerDeleteCookie): Added.
2958         (serverCallback): Small update to avoid hardcoding strings we reuse.
2959         (beforeAll): Added the new test cases to the test suite.
2960
2961 2017-11-20  Stephan Szabo  <stephan.szabo@sony.com>
2962
2963         [Win] Update ruby JSC test writer for gigacage changes
2964         https://bugs.webkit.org/show_bug.cgi?id=178757
2965
2966         Reviewed by Keith Miller.
2967
2968         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2969         Add additionalEnv to ruby test writer Plan
2970
2971 2017-11-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2972
2973         Remove ENABLE_ALLINONE_BUILD option
2974         https://bugs.webkit.org/show_bug.cgi?id=179823
2975
2976         Reviewed by Darin Adler.
2977
2978         * Scripts/webkitperl/FeatureList.pm:
2979
2980 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2981
2982         Unreviewed. Fix WPE build after r225047.
2983
2984         Remove changes from an old patch committed by mistake in r225047.
2985
2986         * WebKitTestRunner/PlatformWebView.h:
2987         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2988         (WTR::PlatformWebView::windowSnapshotImage):
2989
2990 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2991
2992         [WPE] Add run-wpe-tests script to run WPE glib API tests
2993         https://bugs.webkit.org/show_bug.cgi?id=173772
2994
2995         Reviewed by Michael Catanzaro.
2996
2997         Move common code from run-gtk-tests to api_test_runner.py, to be shared by both run-gtk-tests and un-wpe-tests.
2998
2999         * Scripts/run-gtk-tests:
3000         (GtkTestRunner):
3001         (GtkTestRunner.__init__):
3002         (GtkTestRunner._start_accessibility_daemons):
3003         (GtkTestRunner._setup_testing_environment):
3004         (GtkTestRunner._tear_down_testing_environment):
3005         (GtkTestRunner.is_glib_test):
3006         (GtkTestRunner.is_google_test):
3007         * Scripts/run-wpe-tests: Added.
3008         (WPETestRunner):
3009         (WPETestRunner.__init__):
3010         (WPETestRunner.is_glib_test):
3011         (WPETestRunner.is_google_test):
3012         * Scripts/webkitpy/port/headlessdriver.py: Added.
3013         (HeadlessDriver):
3014         (HeadlessDriver._setup_environ_for_test):
3015         (HeadlessDriver._start):
3016         * Scripts/webkitpy/port/headlessdriver_unittest.py: Added.
3017         (HeadlessDriverTest):
3018         (HeadlessDriverTest.make_driver):
3019         (HeadlessDriverTest.make_environment):
3020         (HeadlessDriverTest.test_environment_needed_variables):
3021         (HeadlessDriverTest.test_environment_forbidden_variables):
3022         * Scripts/webkitpy/port/wpe.py:
3023         (WPEPort._driver_class):
3024         * WebKitTestRunner/PlatformWebView.h:
3025         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3026         (WTR::PlatformWebView::windowSnapshotImage):
3027         * glib/api_test_runner.py: Copied from Tools/Scripts/run-gtk-tests.
3028         (SkippedTest):
3029         (SkippedTest.__init__):
3030         (SkippedTest.__str__):
3031         (SkippedTest.skip_entire_suite):
3032         (SkippedTest.skip_for_build_type):
3033         (TestTimeout):
3034         (TestRunner):
3035         (TestRunner.__init__):
3036         (TestRunner._test_programs_base_dir):
3037         (TestRunner._get_tests_from_dir):
3038         (TestRunner._get_tests):
3039         (TestRunner._create_driver):
3040         (TestRunner._setup_testing_environment):
3041         (TestRunner._tear_down_testing_environment):
3042         (TestRunner._test_cases_to_skip):
3043         (TestRunner._should_run_test_program):
3044         (TestRunner._kill_process):
3045         (TestRunner._start_timeout):
3046         (TestRunner._start_timeout._alarm_handler):
3047         (TestRunner._stop_timeout):
3048         (TestRunner._waitpid):
3049         (TestRunner._run_test_glib):
3050         (TestRunner._run_test_glib.parse_line):
3051         (TestRunner._run_test_glib.parse_line.set_test_result):
3052         (TestRunner._get_tests_from_google_test_suite):
3053         (TestRunner._run_google_test):
3054         (TestRunner._run_google_test_suite):
3055         (TestRunner.is_glib_test):
3056         (TestRunner.is_google_test):
3057         (TestRunner._run_test):
3058         (TestRunner.run_tests):
3059         (add_options):
3060         * glib/common.py: Renamed from Tools/gtk/common.py.
3061         (get_build_path.is_valid_build_directory):
3062         * gtk/generate-gtkdoc:
3063         * gtk/jhbuildrc:
3064         * gtk/ycm_extra_conf.py:
3065
3066 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3067
3068         [WPE] Build C API tests
3069         https://bugs.webkit.org/show_bug.cgi?id=179817
3070
3071         Reviewed by Michael Catanzaro.
3072
3073         * TestWebKitAPI/CMakeLists.txt:
3074         * TestWebKitAPI/PlatformGTK.cmake:
3075         * TestWebKitAPI/PlatformWPE.cmake:
3076         * TestWebKitAPI/PlatformWebView.h:
3077         * TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
3078         (TestWebKitAPI::Util::URLForNonExistentResource):
3079         (TestWebKitAPI::Util::isKeyDown):
3080         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
3081         (TestWebKitAPI::PlatformWebView::PlatformWebView):
3082         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
3083         (TestWebKitAPI::PlatformWebView::initialize):
3084         (TestWebKitAPI::PlatformWebView::page const):
3085         (TestWebKitAPI::PlatformWebView::resizeTo):
3086         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
3087         (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
3088         (TestWebKitAPI::PlatformWebView::simulateRightClick):
3089         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
3090
3091 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3092
3093         [WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
3094         https://bugs.webkit.org/show_bug.cgi?id=173770
3095
3096         Reviewed by Michael Catanzaro.
3097
3098         Move HeadlessViewBackend implementation to a common place and build it as a private static library to be used by
3099         WTR, GLib API tests and eventually C API tests too. WTR uses the HeadlessViewBackend unconditionally, but GLib
3100         API tests use it only when WPE_USE_HEADLESS_VIEW_BACKEND environment variable is present and not "0".
3101
3102         * CMakeLists.txt: Include wpe/HeadlessViewBackend directory for developer builds.
3103         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
3104         (testAutomationSessionRequestSession):
3105         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
3106         (testCookieManagerEphemeral):
3107         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
3108         (testPrivateBrowsing):
3109         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
3110         (testWebContextProxySettings):
3111         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
3112         (testWebViewWebContext):
3113         (testWebViewEphemeral):
3114         * TestWebKitAPI/glib/PlatformWPE.cmake:
3115         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3116         (Test::createWebViewBackend):
3117         (Test::createWebView):
3118         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3119         (WebViewTest::initializeWebView):
3120         * WebKitTestRunner/PlatformWPE.cmake:
3121         * wpe/HeadlessViewBackend/CMakeLists.txt: Added.
3122         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.cpp.
3123         (HeadlessViewBackend::HeadlessViewBackend):
3124         * wpe/HeadlessViewBackend/HeadlessViewBackend.h: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.h.
3125
3126 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3127
3128         [WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
3129         https://bugs.webkit.org/show_bug.cgi?id=178655
3130
3131         Reviewed by Michael Catanzaro.
3132
3133         Update unit tests to create web views using helper methods that have a different implementation for GTK and
3134         WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
3135         WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
3136
3137         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
3138         (testAutomationSessionRequestSession):
3139         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
3140         (testWebKitWebViewSessionState):
3141         (testWebKitWebViewSessionStateWithFormData):
3142         (testWebKitWebViewNavigationAfterSessionRestore):
3143         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
3144         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3145         (testWebResourceGetDataError):
3146         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
3147         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
3148         (testWebViewNewWithUserContentManager):
3149         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
3150         (testWebContextEphemeral):
3151         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
3152         (testWebViewWebContext):
3153         (testWebViewWebContextLifetime):
3154         (testWebViewWebBackend):
3155         (testWebViewSettings):
3156         (beforeAll):
3157         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
3158         (testWebsiteDataEphemeral):
3159         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
3160         (Test::createWebView):
3161         * WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
3162         (HeadlessViewBackend::~HeadlessViewBackend):
3163         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3164         (WTR::PlatformWebView::PlatformWebView):
3165
3166 2017-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3167
3168         [GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
3169         https://bugs.webkit.org/show_bug.cgi?id=175265
3170
3171         Reviewed by Michael Catanzaro.
3172
3173         Add test case.
3174
3175         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
3176         (testCookieManagerPersistentStorageDeleteAll):
3177         (serverCallback):
3178         (beforeAll):
3179
3180 2017-11-19  Tim Horton  <timothy_horton@apple.com>
3181
3182         Remove unused TOUCH_ICON_LOADING feature flag
3183         https://bugs.webkit.org/show_bug.cgi?id=179873
3184
3185         Reviewed by Simon Fraser.
3186
3187         * Scripts/webkitperl/FeatureList.pm:
3188         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3189
3190 2017-11-19  Tim Horton  <timothy_horton@apple.com>
3191
3192         Remove unused LEGACY_VENDOR_PREFIXES feature flag
3193         https://bugs.webkit.org/show_bug.cgi?id=179872
3194
3195         Reviewed by Darin Adler.
3196
3197         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3198
3199 2017-11-19  Yusuke Suzuki  <utatane.tea@gmail.com>
3200
3201         Unreviewed, rolling out r225016.
3202
3203         Break webkit-patch on Ubuntu and Debian Linux
3204
3205         Reverted changeset:
3206
3207         "webkitpy: Better name-version mapping (Part 1)"
3208         https://bugs.webkit.org/show_bug.cgi?id=179621
3209         https://trac.webkit.org/changeset/225016
3210
3211 2017-11-18  Jonathan Bedard  <jbedard@apple.com>
3212
3213         webkitpy: Better name-version mapping (Part 1)
3214         https://bugs.webkit.org/show_bug.cgi?id=179621
3215         <rdar://problem/35589585>
3216
3217         Reviewed by David Kilzer.
3218
3219         Mapping version numbers to version names should occur in a central location.
3220         This has a few advantages. First, it makes iterating through versions easier.
3221         Second, it allows for apple_additions to define an additional set of name
3222         mappings. Lastly, it will allow, in a future patch, for us to track version
3223         instead of version name, only mapping version to version name when required.
3224
3225         * Scripts/webkitpy/common/system/platforminfo.py:
3226         (PlatformInfo.__init__):
3227         (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
3228         mapping version to name.
3229         (PlatformInfo._determine_linux_version): Deleted.
3230         (PlatformInfo._determine_mac_version): Deleted.
3231         (PlatformInfo._determine_win_version): Deleted.
3232         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
3233         (TestPlatformInfo.test_os_name_and_wrappers):
3234         (TestPlatformInfo.test_os_version):
3235         (TestPlatformInfo.test_display_name):
3236         (TestPlatformInfo.test_total_bytes_memory):
3237         * Scripts/webkitpy/common/version.py:
3238         (Version.contained_in): Add partial version mapping.
3239         * Scripts/webkitpy/common/version_name_map.py: Added.
3240         (VersionNameMap): Holds a mapping of version name to version object.
3241         (VersionNameMap.map): Don't re-create VersionNameMap every time.
3242         (VersionNameMap.__init__): Initialize mapping, use platform to
3243         define the default system platform.
3244         (VersionNameMap._automap_to_major_version): Some operating systems, such
3245         as iOS, have a naming scheme based on their major version and os name.
3246         Automatically generate such mappings.
3247         (VersionNameMap.to_name): Given a version object, platform name and
3248         table, find the closest matching version name.
3249         (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
3250         if a version string is included in the name.
3251         (VersionNameMap.from_name): Return an os name and version given a version name.
3252         * Scripts/webkitpy/common/version_name_map_unittest.py: Added.
3253         (VersionMapTestCase):
3254         (VersionMapTestCase.test_default_system_platform):
3255         (VersionMapTestCase.test_mac_version_by_name):
3256         (VersionMapTestCase.test_ios_version_by_name):
3257         (VersionMapTestCase.test_mac_name_by_version):
3258         (VersionMapTestCase.test_ios_name_by_version):
3259         * Scripts/webkitpy/common/version_unittest.py:
3260         (VersionTestCase.test_contained_in):
3261
3262 2017-11-17  John Wilander  <wilander@apple.com>
3263
3264         Storage Access API: UI process should update network process about granted access
3265         https://bugs.webkit.org/show_bug.cgi?id=176943
3266         <rdar://problem/34440612>
3267
3268         Reviewed by Alex Christensen.
3269
3270         This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
3271         which enables testing of prevalent resources with user interaction outside the
3272         24 hour window.
3273
3274         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3275         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3276         (WTR::TestRunner::setStorageAccessAPIEnabled):
3277         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
3278         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3279         * WebKitTestRunner/TestController.cpp:
3280         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
3281         * WebKitTestRunner/TestController.h:
3282         * WebKitTestRunner/TestInvocation.cpp:
3283         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3284         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3285         (WTR::initializeWebViewConfiguration):
3286         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
3287
3288 2017-11-17  Ryan Haddad  <ryanhaddad@apple.com>
3289
3290         Disable failing API tests for rdar://problem/35344202.
3291
3292         Unreviewed test gardening.
3293
3294         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
3295
3296 2017-11-17  Joanmarie Diggs  <jdiggs@igalia.com>
3297
3298         AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
3299         https://bugs.webkit.org/show_bug.cgi?id=179837
3300
3301         Reviewed by Chris Fleizach.
3302
3303         Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
3304         and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
3305         to getTableRowHeaders() and getTableColumnHeaders() respectively.
3306
3307         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3308         (WTR::AccessibilityUIElement::rowHeaders const):
3309         (WTR::AccessibilityUIElement::columnHeaders const):
3310         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
3311         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
3312
3313 2017-11-16  Don Olmstead  <don.olmstead@sony.com>
3314
3315         [WinCairo] Update WinCairoRequirements
3316         https://bugs.webkit.org/show_bug.cgi?id=179790
3317
3318         Reviewed by Alex Christensen.
3319
3320         * TestWebKitAPI/PlatformWin.cmake:
3321
3322 2017-11-16  Daniel Bates  <dabates@apple.com>
3323
3324         Add feature define for alternative presentation button element
3325         https://bugs.webkit.org/show_bug.cgi?id=179692
3326         Part of <rdar://problem/34917108>
3327
3328         Reviewed by Andy Estes.
3329
3330         Only enabled on Cocoa platforms by default.
3331
3332         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3333
3334 2017-11-16  Per Arne Vollan  <pvollan@apple.com>
3335
3336         Win EWS bots should reboot after N webkit-patch iterations.
3337         https://bugs.webkit.org/show_bug.cgi?id=177970
3338
3339         Reviewed by Brent Fulgham.
3340
3341         * EWSTools/start-queue-win.sh:
3342
3343 2017-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
3344
3345         [WPE] Add initial support for WebDriver
3346         https://bugs.webkit.org/show_bug.cgi?id=179727
3347
3348         Reviewed by Michael Catanzaro.
3349
3350         Make it possible to run WebDriver tests with WPE.
3351
3352         * Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
3353         * Scripts/webkitpy/port/wpe.py:
3354         (WPEPort.__init__): Initialize _display_server from options.
3355         (WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
3356         * Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
3357         (WebDriver.browser_env): Add virtual method to get the environment that should be used.
3358         * Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
3359         (WebDriverWPE):
3360         (WebDriverWPE.__init__):
3361         (WebDriverWPE.binary_path):
3362         (WebDriverWPE.browser_name):
3363         (WebDriverWPE.capabilities):
3364         (WebDriverWPE.browser_env):
3365         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
3366         (WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
3367         * wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
3368
3369 2017-11-15  Alex Christensen  <achristensen@webkit.org>
3370
3371         WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
3372         https://bugs.webkit.org/show_bug.cgi?id=179742
3373         <rdar://problem/35519421>
3374
3375         Reviewed by Jer Noble.
3376
3377         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
3378         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
3379         (TestWebKitAPI::TEST):
3380         Load more than one scheduled WebView to test work that typically takes more than 50 ms.
3381
3382 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3383
3384         Unreviewed, rolling out r223781.
3385
3386         The test is now returning false, so the FIXME is not needed
3387         anymore.
3388
3389         Reverted changeset:
3390
3391         "WebsiteDataStoreCustomPaths.mm is failing after r223718"
3392         https://bugs.webkit.org/show_bug.cgi?id=178596
3393         https://trac.webkit.org/changeset/223781
3394
3395 2017-11-15  Ryan Haddad  <ryanhaddad@apple.com>
3396
3397         Unreviewed, rolling out r224863.
3398
3399         Introduced LayoutTest crashes on iOS Simulator.
3400
3401         Reverted changeset:
3402
3403         "Move JSONValues to WTF and convert uses of InspectorValues.h
3404         to JSONValues.h"
3405         https://bugs.webkit.org/show_bug.cgi?id=173793
3406         https://trac.webkit.org/changeset/224863
3407
3408 2017-11-15  Michael Catanzaro  <mcatanzaro@igalia.com>
3409
3410         Remove GTK web inspector images
3411         https://bugs.webkit.org/show_bug.cgi?id=179716
3412
3413         Reviewed by Carlos Garcia Campos.
3414
3415         * Scripts/webkitdirs.pm:
3416         (shouldRemoveCMakeCache):
3417         * glib/generate-inspector-gresource-manifest.py:
3418         (get_filenames.should_ignore_resource):
3419         * gtk/manifest.txt.in:
3420         * wpe/manifest.txt.in:
3421
3422 2017-11-15  Jonathan Bedard  <jbedard@apple.com>
3423
3424         REGRESSION(r221877): 'future' handled incorrectly for mac
3425         https://bugs.webkit.org/show_bug.cgi?id=179711
3426         <rdar://problem/35546604>
3427
3428         Reviewed by Alex Christensen.
3429
3430         * Scripts/webkitpy/port/mac.py:
3431         (MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
3432         platform/<version> as the baseline search path.
3433
3434 2017-11-14  Nan Wang  <n_wang@apple.com>
3435
3436         AX: AOM: Implement AccessibleNode class and support label and role attributes
3437         https://bugs.webkit.org/show_bug.cgi?id=179494
3438
3439         Reviewed by Ryosuke Niwa.
3440
3441         * DumpRenderTree/mac/DumpRenderTree.mm:
3442         (enableExperimentalFeatures):
3443         * WebKitTestRunner/TestController.cpp:
3444         (WTR::TestController::resetPreferencesToConsistentValues):
3445
3446 2017-11-14  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3447
3448         [Windows] Fix error while launching subprocess on Windows Python
3449         https://bugs.webkit.org/show_bug.cgi?id=179637
3450
3451         Reviewed by Alex Christensen.
3452
3453         To pass environment variables to subprocess.popen on Windows Python 2,
3454         the dict values must be str not unicode.
3455         Also is_native_win() method is added to port.
3456
3457         * Scripts/webkitpy/common/system/platforminfo.py:
3458         (PlatformInfo.is_native_win):
3459         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3460         (MockPlatformInfo.is_native_win):
3461         * Scripts/webkitpy/common/system/platforminfo_unittest.py:
3462         (TestPlatformInfo.test_os_name_and_wrappers):
3463         * Scripts/webkitpy/port/server_process.py:
3464         (ServerProcess.__init__):
3465
3466 2017-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3467
3468         Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
3469         https://bugs.webkit.org/show_bug.cgi?id=173793
3470
3471         Reviewed by Brian Burg.
3472
3473         * TestWebKitAPI/CMakeLists.txt:
3474         * TestWebKitAPI/PlatformGTK.cmake:
3475         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3476         * TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
3477         (TestWebKitAPI::TEST):
3478
3479 2017-11-14  Jonathan Bedard  <jbedard@apple.com>
3480
3481         webkitpy: Use more verbose version info from simctl
3482         https://bugs.webkit.org/show_bug.cgi?id=179687
3483         <rdar://problem/35539392>
3484
3485         Reviewed by Tim Horton.
3486
3487         * Scripts/webkitpy/xcode/simulator.py:
3488         (Simulator): Address FIXME, use more verbose version.
3489         (Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
3490         string instead.
3491         * Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
3492         8.4.1, not iOS 8.4.
3493
3494 2017-11-14  Daniel Bates  <dabates@apple.com>
3495
3496         Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
3497         for feature defines
3498
3499         Following r195498 and r201917 the Visual Studio property files for feature defines have
3500         moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
3501         Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
3502         files.
3503
3504         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3505
3506 2017-11-14  Jer Noble  <jer.noble@apple.com>
3507
3508         Enable Modern EME tests in DumpRenderTree
3509         https://bugs.webkit.org/show_bug.cgi?id=179544
3510
3511         Reviewed by Alex Christensen.
3512
3513         * DumpRenderTree/mac/DumpRenderTree.mm:
3514         (enableExperimentalFeatures):
3515
3516 2017-11-14  Commit Queue  <commit-queue@webkit.org>
3517
3518         Unreviewed, rolling out r224800.
3519         https://bugs.webkit.org/show_bug.cgi?id=179684
3520
3521         "Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
3522         (Requested by mlam on #webkit).
3523
3524         Reverted changeset:
3525
3526         "Pass --useDollarVM=true to all JSC tests."
3527         https://bugs.webkit.org/show_bug.cgi?id=179647
3528         https://trac.webkit.org/changeset/224800
3529
3530 2017-11-14  Antti Koivisto  <antti@apple.com>
3531
3532         Enable display:contents by default
3533         https://bugs.webkit.org/show_bug.cgi?id=179655
3534
3535         Reviewed by Sam Weinig.
3536
3537         No need to enable this specifically for tests anymore.
3538
3539         * DumpRenderTree/mac/DumpRenderTree.mm:
3540         (enableExperimentalFeatures):
3541         * WebKitTestRunner/TestController.cpp:
3542         (WTR::TestController::resetPreferencesToConsistentValues):
3543
3544 2017-11-14  Tim Horton  <timothy_horton@apple.com>
3545
3546         Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
3547         https://bugs.webkit.org/show_bug.cgi?id=179646
3548         <rdar://problem/35337288>
3549
3550         Reviewed by Simon Fraser.
3551
3552         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3553         (-[ActionSheetObserver _dataDetectionContextForWebView:]):
3554         (TestWebKitAPI::TEST):
3555         Add a test that ensures that a phone number with spaces in it
3556         invokes a data detectors sheet, not a normal link sheet.
3557
3558 2017-11-14  Emilio Cobos Álvarez  <emilio@crisal.io>
3559
3560         Add committer status for Emilio Cobos Álvarez.
3561         https://bugs.webkit.org/show_bug.cgi?id=179667
3562
3563         Unreviewed.
3564
3565         * Scripts/webkitpy/common/config/contributors.json:
3566
3567 2017-11-13  Mark Lam  <mark.lam@apple.com>
3568
3569         Pass --useDollarVM=true to all JSC tests.
3570         https://bugs.webkit.org/show_bug.cgi?id=179647
3571
3572         Reviewed by Saam Barati.
3573
3574         * Scripts/run-jsc-stress-tests:
3575
3576 2017-11-13  Simon Fraser  <simon.fraser@apple.com>
3577
3578         When navigating back to a page, compositing layers may not use accelerated drawing
3579         https://bugs.webkit.org/show_bug.cgi?id=178749
3580         rdar://problem/35158946
3581
3582         Reviewed by Dean Jackson.
3583
3584         Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
3585         and use it to set the state of the web view.
3586
3587         * DumpRenderTree/TestOptions.h:
3588         * DumpRenderTree/TestOptions.mm:
3589         (TestOptions::TestOptions):
3590         * DumpRenderTree/mac/DumpRenderTree.mm:
3591         (setWebPreferencesForTestOptions):
3592         * WebKitTestRunner/TestController.cpp:
3593         (WTR::TestController::resetPreferencesToConsistentValues):
3594         (WTR::updateTestOptionsFromTestHeader):
3595         * WebKitTestRunner/TestOptions.h:
3596         (WTR::TestOptions::hasSameInitializationOptions const):
3597
3598 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3599
3600         [Windows] Fix Python error for subprocess.popen with close_fds
3601         https://bugs.webkit.org/show_bug.cgi?id=179553
3602
3603         Reviewed by Per Arne Vollan.
3604
3605         * Scripts/webkitpy/port/server_process.py:
3606         (ServerProcess._start):
3607         (ServerProcess._should_close_fds):
3608
3609 2017-11-13  Michael Catanzaro  <mcatanzaro@igalia.com>
3610
3611         [GTK] Require woff2 1.0.2 and drop direct brotli dependency
3612         https://bugs.webkit.org/show_bug.cgi?id=179630
3613
3614         Reviewed by Frédéric Wang.
3615
3616         * gtk/jhbuild.modules:
3617
3618 2017-11-08  Keith Miller  <keith_miller@apple.com>
3619
3620         Async iteration should only fetch the next method once and add feature flag
3621         https://bugs.webkit.org/show_bug.cgi?id=179451
3622
3623         Reviewed by Geoffrey Garen.
3624
3625         Add feature flag for Async iteration.
3626
3627         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3628
3629 2017-11-13  Gabriel Ivascu  <givascu@igalia.com>
3630
3631         [GTK] Automatically adjust font size when gtk-xft-dpi changes
3632         https://bugs.webkit.org/show_bug.cgi?id=142673
3633
3634         Reviewed by Michael Catanzaro.
3635
3636         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3637         (testWebKitSettings):
3638
3639 2017-11-13  Jonathan Bedard  <jbedard@apple.com>
3640
3641         check-webkit-style cannot construct valid iOS version without an iOS SDK
3642         https://bugs.webkit.org/show_bug.cgi?id=179616
3643         <rdar://problem/35507018>
3644
3645         Reviewed by David Kilzer.
3646
3647         Instead of throwing an exception when we ask for an unavailable SDK on Mac,
3648         we should return None.
3649
3650         * Scripts/webkitpy/common/system/platforminfo.py:
3651         (PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
3652         have the requested SDK.
3653
3654 2017-11-13  Keith Miller  <keith_miller@apple.com>
3655
3656         Uninitialized variable in sort-Xcode-project-file
3657         https://bugs.webkit.org/show_bug.cgi?id=179581
3658
3659         Reviewed by Simon Fraser.
3660
3661         Previously all the unified source files were named
3662         UnifiedSource<some-number>.mm. This was changed to
3663         UnifiedSource<some-number>-mm.mm to stop Xcode from creating
3664         hashes for mm and cpp unified source files with the same
3665         number. This broke the expectations in sort-Xcode-project-file.
3666
3667         * Scripts/sort-Xcode-project-file:
3668         (sortChildrenByFileName):
3669         (sortFilesByFileName):
3670
3671 2017-11-13  JF Bastien  <jfbastien@apple.com>
3672
3673         std::expected: fix and test move
3674         https://bugs.webkit.org/show_bug.cgi?id=179617
3675
3676         Reviewed by Alex Christensen.
3677
3678         Test that unique_ptr can be moved around properly, both has a
3679         value and an error (and in a <void, unique> specialization).
3680
3681         * TestWebKitAPI/Tests/WTF/Expected.cpp:
3682         (TestWebKitAPI::snowflake::reset):
3683         (TestWebKitAPI::snowflake::snowflake):
3684         (TestWebKitAPI::snowflake::~snowflake):
3685         (TestWebKitAPI::TEST):
3686
3687 2017-11-13  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3688
3689         [Windows] Make the port's normalize_test_name() method platform independent.
3690         https://bugs.webkit.org/show_bug.cgi?id=179572
3691
3692         Reviewed by Alexey Proskuryakov.
3693
3694         * Scripts/webkitpy/port/base.py:
3695         (Port.normalize_test_name):
3696
3697 2017-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3698
3699         [Attachment Support] Implement SPI for clients to request data for a given attachment
3700         https://bugs.webkit.org/show_bug.cgi?id=179586
3701         <rdar://problem/35355720>
3702
3703         Reviewed by Darin Adler.
3704
3705         Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
3706         result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
3707         inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
3708         the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
3709         yields an empty NSData result.
3710
3711         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3712         (-[NSData shortDescription]):
3713         (-[_WKAttachment synchronouslyRequestData:]):
3714         (-[_WKAttachment expectRequestedDataToBe:]):
3715         (TestWebKitAPI::TEST):
3716
3717 2017-11-12  Gabriel Ivascu  <givascu@igalia.com>
3718
3719         [GTK] Add functionality to handle font sizes in points
3720         https://bugs.webkit.org/show_bug.cgi?id=179285
3721
3722         Reviewed by Carlos Garcia Campos and Michael Catanzaro.
3723
3724         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3725         (testWebKitSettings):
3726
3727 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
3728
3729         check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
3730         https://bugs.webkit.org/show_bug.cgi?id=179522
3731
3732         Reviewed by Aakash Jain.
3733
3734         IOSSimulatorPort.ios_version should return a Version object.
3735
3736         * Scripts/webkitpy/port/ios_simulator.py:
3737         (IOSSimulatorPort.ios_version): Return a Version object.
3738
3739 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3740
3741         [Win] The way to detect Windows 10 is wrong
3742         https://bugs.webkit.org/show_bug.cgi?id=179344
3743
3744         Reviewed by Alex Christensen.
3745
3746         * Scripts/webkitpy/common/system/platforminfo.py:
3747         (PlatformInfo._determine_win_version):
3748
3749 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3750
3751         [WinCairo] LayoutTests doesn't read TextExpectations files correctly
3752         https://bugs.webkit.org/show_bug.cgi?id=179219
3753
3754         Reviewed by Alex Christensen.
3755
3756         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3757         (TestExpectationParser._parse_line):
3758         * Scripts/webkitpy/port/apple.py:
3759         (ApplePort.__init__):
3760         (ApplePort._allowed_port_names):
3761         (ApplePort):
3762         (ApplePort._future_port_name):
3763         (ApplePort._generate_all_test_configurations):
3764         * Scripts/webkitpy/port/win.py:
3765         (WinCairoPort.default_baseline_search_path):
3766         (WinCairoPort):
3767         (WinCairoPort._future_port_name):
3768
3769 2017-11-10  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3770
3771         [WinCairo] Treat 'future' version correctly
3772         https://bugs.webkit.org/show_bug.cgi?id=179345
3773
3774         Reviewed by Alex Christensen.
3775
3776         * Scripts/webkitpy/port/win.py:
3777         (WinCairoPort.default_baseline_search_path):
3778
3779 2017-11-10  Wenson Hsieh  <wenson_hsieh@apple.com>
3780
3781         Finish rolling out r224544
3782
3783         Rubber-stamped by Tim Horton.
3784
3785         Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
3786         tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
3787         style with a selected attachment element.
3788
3789         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3790         (TestWebKitAPI::TEST):
3791
3792 2017-11-10  Alex Christensen  <achristensen@webkit.org>
3793
3794         _WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
3795         https://bugs.webkit.org/show_bug.cgi?id=179537
3796         <rdar://problem/35275219>
3797
3798         Reviewed by Darin Adler.
3799
3800         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3801         (-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
3802         (TestWebKitAPI::TEST):
3803
3804 2017-11-10  Jonathan Bedard  <jbedard@apple.com>
3805
3806         webkitpy: Remove find_system_pid from port classes
3807         https://bugs.webkit.org/show_bug.cgi?id=179514
3808         <rdar://problem/35456900>
3809
3810         Reviewed by David Kilzer.
3811
3812         Removing dead code.
3813
3814         * Scripts/webkitpy/port/base.py:
3815         (Port.find_system_pid): Deleted.
3816         * Scripts/webkitpy/port/server_process.py:
3817         (ServerProcess._start):
3818         * Scripts/webkitpy/port/win.py:
3819         (WinPort.find_system_pid): Deleted.
3820
3821 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
3822
3823         fix style failures in webkitpy: multiple statements on one line (semicolon)
3824         https://bugs.webkit.org/show_bug.cgi?id=179530
3825
3826         Reviewed by Alex Christensen.
3827
3828         * Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
3829         * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
3830         * Scripts/webkitpy/tool/steps/runtests.py: Ditto.
3831
3832 2017-11-10  Aakash Jain  <aakash_jain@apple.com>
3833
3834         fix style failures in webkitpy: expected 2 blank lines found 1
3835         https://bugs.webkit.org/show_bug.cgi?id=179529
3836
3837         Reviewed by Alex Christensen.
3838
3839         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
3840         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
3841         * Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
3842         * Scripts/webkitpy/common/version.py: Ditto.
3843         * Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
3844         * Scripts/webkitpy/port/mac_unittest.py: Ditto.
3845         * Scripts/webkitpy/port/simulator_process.py: Ditto.
3846
3847 2017-11-10  Alex Christensen  <achristensen@webkit.org>
3848
3849         REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
3850         https://bugs.webkit.org/show_bug.cgi?id=179515
3851
3852         Reviewed by Andy Estes.
3853
3854         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3855         * TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
3856         (-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
3857         (TestWebKitAPI::TEST):
3858
3859 2017-11-10  Fujii Hironori  <Hironori.Fujii@sony.com>
3860
3861         [webkitpy] Fix PlatformInfo._win_version since r224657
3862         https://bugs.webkit.org/show_bug.cgi?id=179520
3863
3864         Reviewed by Aakash Jain.
3865
3866         There are two problems.
3867
3868         The return value of sys.getwindowsversion() doesn't match with
3869         Version.__init__ expects. Truncate the 4th and 5th of it.
3870
3871         _win_version_tuple_from_cmd was deleted in r224657. But, it is
3872         still needed for Cygwin Python.
3873
3874         * Scripts/webkitpy/common/system/platforminfo.py:
3875         (PlatformInfo._win_version): Return [0:3] of getwindowsversion().
3876         Call _win_version_from_cmd for Cygwin Python.
3877         (PlatformInfo._win_version_from_cmd): Restored.
3878
3879 2017-11-10  Guillaume Emont  <guijemont@igalia.com>
3880
3881         build-jsc: build testmasm for all platforms using cmake
3882         https://bugs.webkit.org/show_bug.cgi?id=179512
3883
3884         Reviewed by Michael Catanzaro.
3885
3886         * Scripts/build-jsc:
3887
3888 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
3889
3890         webkitpy: Unify version parsing code
3891         https://bugs.webkit.org/show_bug.cgi?id=179426
3892         <rdar://problem/35415191>
3893
3894         Unreviewed fix to r224657.
3895
3896         * Scripts/webkitpy/common/version.py:
3897         (Version.__init__): Check if an object is iterable.
3898
3899 2017-11-09  Jonathan Bedard  <jbedard@apple.com>
3900
3901         webkitpy: Unify version parsing code
3902         https://bugs.webkit.org/show_bug.cgi?id=179426
3903         <rdar://problem/35415191>
3904
3905         Reviewed by David Kilzer.
3906
3907         webkitpy needs to parse version strings or version lists frequently. Rather than
3908         duplicate this code each time it's needed, unify it in a Version class.
3909
3910         * Scripts/webkitpy/common/system/platforminfo.py:
3911         (PlatformInfo.__init__): Convert mac version string to version object and
3912         use _win_version instead of _win_version_tuple.
3913         (PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
3914         before returning it.
3915         (PlatformInfo.xcode_version): Return Version object instead of version string.
3916         (PlatformInfo._determine_mac_version): Accept Version object instead of string,
3917         eliminate parsing.
3918         (PlatformInfo._determine_win_version): Accept Version object instead of tuple.
3919         (PlatformInfo._win_version): Return Version object instead of tuple, have Version
3920         object own version string parsing.
3921         (PlatformInfo._win_version_tuple): Renamed to _win_version().
3922         (PlatformInfo._win_version_tuple_from_cmd): Deleted.
3923         * Scripts/webkitpy/common/system/platforminfo_mock.py:
3924         (MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
3925         (MockPlatformInfo.xcode_version): Dittio.
3926         * Scripts/webkitpy/common/version.py: Added.
3927         (Version): Version object.
3928         (Version.__init__): Initialize the Version object with a string, integer,
3929         tuple of integers, list of integers or another Version object.
3930         (Version.__len__): Return 5 so that the Version object can be treated as
3931         a list or tuple.
3932         (Version.__getitem__): Get item in Version object by index or string.
3933         (Version.__setitem__): Set item in Version object by index or string.
3934         (Version.__str__): Convert version to printable string, omitting trailing 0's.
3935         (Version.__cmp__): Compare two version strings, major taking precedence over
3936         minor, minor taking precedence over build.
3937         * Scripts/webkitpy/common/version_unittest.py: Added.
3938         (VersionTestCase): Test behavior of Version object.
3939         * Scripts/webkitpy/port/ios.py:
3940         (IOSPort.default_baseline_search_path): ios_version now returns a Version object.
3941         (IOSPort._is_valid_ios_version): Deleted.
3942         (IOSPort.get_option): Deleted.
3943         * Scripts/webkitpy/port/ios_device.py:
3944         (IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
3945         (IOSDevicePort.ios_version): Return Version object instead of string.
3946         * Scripts/webkitpy/port/ios_simulator.py:
3947         (IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
3948         (IOSSimulatorPort.ios_version): Return Version object instead of string.
3949         (IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
3950         * Scripts/webkitpy/xcode/simulator.py:
3951         (Runtime.from_version): Accept Version object instead of string.
3952         (Runtime.from_version_string): Replaced by from_version.
3953         (Runtime.__repr__): When printing, a runtime's version will be a Version object instead
3954         of a tuple.
3955         (Simulator._parse_runtimes): Use Version object instead of tuple.
3956         (Simulator._parse_devices): Ditto.
3957         * Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
3958
3959 2017-11-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3960
3961         [WinCairo] Cannot find ImageDiff executable
3962         https://bugs.webkit.org/show_bug.cgi?id=179508
3963
3964         Reviewed by Per Arne Vollan.
3965
3966         * Scripts/webkitpy/port/win.py:
3967         (WinPort.is_cygwin):
3968         (WinPort._path_to_image_diff):
3969         (WinPort.find_system_pid):
3970
3971 2017-11-09  Fujii Hironori  <Hironori.Fujii@sony.com>
3972
3973         [WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
3974         https://bugs.webkit.org/show_bug.cgi?id=179469
3975
3976         Reviewed by Per Arne Vollan.
3977
3978         WinCairo EWS bots haven't installed Cygwin.
3979
3980         * Scripts/svn-apply:
3981         (scmCopy): Use 'copy' function instead of 'cp' command.
3982
3983 2017-11-09  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3984
3985         [WPE] Update dyz (WPE MiniBrowser)
3986         https://bugs.webkit.org/show_bug.cgi?id=179492
3987
3988         Reviewed by Michael Catanzaro.
3989
3990         Update it to the last version as of today.
3991         This version not longer uses the C API.
3992
3993         * wpe/jhbuild.modules:
3994
3995 2017-11-09  Christopher Reid  <chris.reid@sony.com>
3996
3997         Use enum classes within FileSystem
3998         https://bugs.webkit.org/show_bug.cgi?id=175172
3999
4000         Reviewed by Darin Adler.
4001
4002         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
4003         * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
4004
4005 2017-11-09  Brent Fulgham  <bfulgham@apple.com>
4006
4007         Test fix after r224609
4008         https://bugs.webkit.org/show_bug.cgi?id=178565
4009         <rdar://problem/11115901>
4010
4011         Unreviewed test fix after r224609.
4012
4013         Correct two test cases that attempt to push local file URLs in violation of our
4014         same origin policies. The fix is to grant universal file access, as we do for similar
4015         LayoutTests.
4016
4017         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
4018         (TestWebKitAPI::TEST):
4019         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
4020         (TestWebKitAPI::TEST):
4021
4022 2017-11-09  Michael Catanzaro  <mcatanzaro@igalia.com>
4023
4024         Unreviewed, remove Dan from the soup network watchlist
4025
4026         Per his request. It's not Hotel California; we should probably let him leave.
4027
4028         * Scripts/webkitpy/common/config/watchlist:
4029
4030 2017-11-08  Don Olmstead  <don.olmstead@sony.com>
4031
4032         Add Windows powershell EWS script
4033         https://bugs.webkit.org/show_bug.cgi?id=179453
4034
4035         Reviewed by Brent Fulgham.
4036
4037         * EWSTools/Start-Queue.ps1: Added.
4038
4039 2017-11-08  Jeremy Jones  <jeremyj@apple.com>
4040
4041         HTMLMediaElement should not use element fullscreen on iOS
4042         https://bugs.webkit.org/show_bug.cgi?id=179418
4043         rdar://problem/35409277
4044
4045         Reviewed by Eric Carlson.
4046
4047         Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
4048
4049         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4050
4051 2017-11-08  Tim Horton  <timothy_horton@apple.com>
4052
4053         [ios-simulator] API test WebKit.BundleParameters is a flaky failure
4054         https://bugs.webkit.org/show_bug.cgi?id=178363
4055         <rdar://problem/35043144>
4056
4057         Reviewed by Brent Fulgham.
4058
4059         * TestWebKitAPI/Tests/WTF/RefCounter.cpp:
4060         (TestWebKitAPI::TEST):
4061         Add a test.
4062
4063 2017-11-08  Wenson Hsieh  <wenson_hsieh@apple.com>
4064
4065         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
4066         https://bugs.webkit.org/show_bug.cgi?id=179016
4067         <rdar://problem/35250890>
4068
4069         Reviewed by Tim Horton.
4070
4071         See WebCore/ChangeLog for more details.
4072
4073         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4074         (-[AttachmentUpdateObserver init]):
4075         (-[AttachmentUpdateObserver inserted]):
4076         (-[AttachmentUpdateObserver removed]):
4077         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
4078         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
4079         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
4080         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
4081         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
4082         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
4083         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
4084         (-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
4085         (TestWebKitAPI::TEST):
4086
4087 2017-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
4088
4089         Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
4090         https://bugs.webkit.org/show_bug.cgi?id=173619
4091
4092         Reviewed by Brian Burg.
4093
4094         Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
4095
4096         * TestWebKitAPI/PlatformGTK.cmake:
4097         * TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
4098         (TestWebKitAPI::TEST):
4099
4100 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
4101
4102         REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
4103         https://bugs.webkit.org/show_bug.cgi?id=179366
4104
4105         Reviewed by Michael Catanzaro.
4106
4107         Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
4108         state.
4109
4110         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
4111
4112 2017-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
4113
4114         [GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
4115         https://bugs.webkit.org/show_bug.cgi?id=179317
4116
4117         Reviewed by Michael Catanzaro.
4118
4119         Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
4120         receive an input directory instead of a list of patterns.
4121         File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
4122
4123         * glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
4124         (get_filenames):
4125         (get_filenames.should_ignore_resource):
4126         * gtk/install-dependencies:
4127         * wpe/generate-inspector-gresource-manifest.py: Removed.
4128         * wpe/install-dependencies:
4129
4130 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
4131
4132         Fix webkitpy tests after rev 224549.
4133
4134         Unreviewed build fix.
4135
4136         * Scripts/webkitpy/common/config/ports.py:
4137         (WinCairoPort.run_webkit_tests_command):
4138         * Scripts/webkitpy/common/config/ports_unittest.py:
4139         (DeprecatedPortTest.test_wincairo_port):
4140
4141 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4142
4143         Enable webkitpy EWS bubbles
4144         https://bugs.webkit.org/show_bug.cgi?id=178539
4145
4146         Reviewed by Alexey Proskuryakov.
4147
4148         * QueueStatusServer/config/queues.py: Added webkitpy EWS.
4149
4150 2017-11-07  Don Olmstead  <don.olmstead@sony.com>
4151
4152         Add a WinCairo EWS queue
4153         https://bugs.webkit.org/show_bug.cgi?id=179390
4154
4155         Reviewed by Lucas Forschler.
4156
4157         * QueueStatusServer/config/queues.py:
4158         * QueueStatusServer/model/queues.py:
4159         * Scripts/webkitpy/common/config/ews.json:
4160         * Scripts/webkitpy/common/config/ports.py:
4161         * Scripts/webkitpy/common/config/ports_unittest.py:
4162         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
4163
4164 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4165
4166         fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
4167         https://bugs.webkit.org/show_bug.cgi?id=171506
4168
4169         Reviewed by Alexey Proskuryakov.
4170
4171         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
4172         (SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
4173         (test_create_patch_is_full_patch): Ditto.
4174         * Scripts/webkitpy/common/thread/messagepump.py:
4175         (MessagePump): Ditto.
4176         * Scripts/webkitpy/layout_tests/servers/http_server.py:
4177         (Lighttpd._prepare_config): Ditto.
4178         * Scripts/webkitpy/style/checker.py: Ditto.
4179         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
4180         (OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
4181
4182 2017-11-07  Aakash Jain  <aakash_jain@apple.com>
4183
4184         Add support for webkitpy tests EWS
4185         https://bugs.webkit.org/show_bug.cgi?id=178480
4186
4187         Reviewed by Alexey Proskuryakov.
4188
4189         * Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
4190         * Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
4191         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
4192         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
4193         (PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
4194         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
4195         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
4196         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
4197         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
4198         (AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
4199         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
4200         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
4201         * Scripts/webkitpy/tool/steps/runtests.py:
4202         (RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
4203         (RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
4204         * Scripts/webkitpy/tool/steps/steps_unittest.py:
4205         (test_runtests_webkitpy): Added unit-test.
4206
4207 2017-11-07  Commit Queue  <commit-queue@webkit.org>
4208
4209         Unreviewed, rolling out r224512 and r224521.
4210         https://bugs.webkit.org/show_bug.cgi?id=179388
4211
4212         An API test added with this change is failing an assertion on
4213         the bots. (Requested by ryanhaddad on #webkit).
4214
4215         Reverted changesets:
4216
4217         "[Attachment Support] Implement delegate hooks for attachment
4218         element insertion and removal"
4219         https://bugs.webkit.org/show_bug.cgi?id=179016
4220         https://trac.webkit.org/changeset/224512
4221
4222         "Remove stray logging from a newly added API test"
4223         https://trac.webkit.org/changeset/224521
4224
4225 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4226
4227         Remove stray logging from a newly added API test
4228
4229         This was only for debugging purposes, and should have been removed before landing.
4230
4231         Rubber-stamped by Tim Horton.
4232
4233         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4234         (TestWebKitAPI::TEST):
4235
4236 2017-11-06  Jonathan Bedard  <jbedard@apple.com>
4237
4238         Only build ImageDiff for mac
4239         https://bugs.webkit.org/show_bug.cgi?id=179349
4240         <rdar://problem/35376237>
4241
4242         Reviewed by Tim Horton.
4243
4244         * ImageDiff/Makefile:
4245
4246 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4247
4248         Unreviewed, fix the internal build after updating to a newer SDK
4249
4250         There shouldn't be any need to include and implement these method stubs anymore,
4251         even when building against the shipping iOS 11 SDK.
4252
4253         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
4254         (-[MockDropSession session]): Deleted.
4255
4256 2017-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
4257
4258         [Attachment Support] Implement delegate hooks for attachment element insertion and removal
4259         https://bugs.webkit.org/show_bug.cgi?id=179016
4260         <rdar://problem/35250890>
4261
4262         Reviewed by Tim Horton.
4263
4264         Introduces new API tests to check that various editing operations will or won't result in the new attachment
4265         insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
4266         attachments insertion and removal is observable by the UI delegate.
4267
4268         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4269         (-[AttachmentUpdateObserver init]):
4270         (-[AttachmentUpdateObserver inserted]):
4271         (-[AttachmentUpdateObserver removed]):
4272         (-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
4273         (-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
4274         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
4275         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
4276         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
4277
4278         Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
4279         removed attachments over the course of a particular scope. The API tests use this mechanism to check&nbs