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