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