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