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