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